alienbat's profile编程 汽车 高清gadgetsPhotosBlogLists Tools Help

Blog


    July 02

    科普贴:为什么你不该拥抱数字电视-B

    还是重申一下“标题党警告”:本贴的意思不是要你别买数字电视和别看数字电视节目,而是要你别买官方机顶盒和收看官方数字节目。要高清还有其他很多种方式。

    来聊一下视频压缩方式。目前使用很广的一种视频格式被众人称之为MPEG2。其实MPEG2包含的是一个很大的标准,包括音频视频以及传输协议等等,视频编码只是其中一部分,MPEG2视频格式其实称作为H.262. 在更高级的MPEG4标准中,还有更高级的视频压缩格式即H.264/AVC (Advanced Video Coding)。H.262和H.264标准算法被Apple和Microsoft采用,mov和wmv,但是加入了一些自己的内容。

    视频压缩的原理基于这样一种现象:连续平滑的画面,相邻帧之间的差距是微小的。所以,为了避免分别存储每一帧画面带来的巨大开销,MPEG算法在一个范围内只存储压缩一个关键帧(称之为I Frame),其他帧都仅存储与关键帧不同的部分(称之为引用帧,P或B frame)。原理简单,实现是非常复杂的:复杂到全中国没有任何一家公司有技术实力开发H.262编码器(可能有个别公司有实力照搬开源编码器FFMPEG之类,不过开源编码器是不能胜任广播级/工业级的应用的),这也就是为什么你看到的数字清宫肥皂剧画面奇差还丢帧——的部分原因。

    视频压缩的关联属性带来的问题是,画面帧之间的互相引用使得帧之间的地位不一样了。数字电视在切换频道的时候会有一个黑屏延迟,这是因为需要等待下一个关键帧传输完成,方能解码其他引用帧;和模拟信号随切随看不同,你半当中换台,往往收到的是引用帧(关键帧一般每十几帧才有一帧),这些引用帧没有办法解码,因为它们引用的关键帧已经过去了;所以只能被丢弃,在下一个关键帧到来之前你只能欣赏黑屏。

    这也解释了一个现象就是为什么观看在线视频和播放某些Real视频的时候,跳到当中的时候要等很长时间才能切换到你想看的那帧;因为为了追求压缩比,这些视频很可能只有头一帧是关键帧,剩下的都是引用帧,你要随机读取,等解码器从头开始解压吧。

    如果关键帧的某些数据丢失,这个影响会波及剩下所有的引用帧;如果关键帧坏掉了,那你就只能看静态幻灯片。让我们来解释一下这样一种怪异现象:当你看数字清宫肥皂剧的时候,往往会“嘎”一下卡住,然后以充满混乱的马赛克的画面流畅播放半秒左右;然后又是“嘎”,以此循环不已直到你把机顶盒的遥控器摔了为止。Why? 因为关键帧是单独存储的,所以往往特别大(遇到编码复杂的画面会更大,比如皇帝的充满细节的龙袍),大到可以彻底挤爆交大/清华开发出来的可怜DMB/T协议能利用的带宽范围。当然了,电视台在广播的时候往往会提高压缩比(解释了你为啥看的画面通常很破)以避免峰值帧挤爆带宽,但是由于他们的低科技编码器的比特率控制算法一般特别差,所以还是难以避免。当该现象发生的时候,部分的关键帧数据难以及时传送,接着你就该看马赛克之舞了。至于“嘎”的一声,就更好解释:是因为带宽被视频信号的挤满时候连带着音频信号也被挤掉了。

    事实上更复杂:基于“编码多贵都无所谓,解码一定要便宜”的经济学看法(因为编码器只需电视台有一台,解码器人人都要有),解码器往往只有很小的数据缓存区以节省成本;而每一帧画面的压缩大小需要由编码器仔细控制。举例来说如果编码端连续来3帧体积大的,即使它们不挤爆带宽,也可以挤爆你那低成本机顶盒的内存。当然,这是高级的问题,目前国内数字电视应该还没有达到能够发生这种高级问题的境界。其实我认为,国内数字电视最基础的传输协议能不能工作还是个问题。就好像你的Xbox360不工作,你怀疑GPU上面哪个寄存器坏了,其实根本没那么高深,真实原因只是老鼠啃断了电源线。

    所以让我们来总结一下为啥你不该买数字机顶盒的理由。你没有办法看到高质量的数字节目,是因为基础传输协议是拼起来的破烂,没法实现任何比电报所需带宽更高的应用;而即使协议能勉强工作,你也只能观赏低比特率节目外加时不时的丢帧;而即使电视台有胆子把比特率放低到连关键帧都挤不爆DMB的时候,你估计宁可去看录像带;而即使你一定要看的话,可能还是没法好好看,因为低科技编码器的比特分配算法太烂。最终最终,即使上帝降临把这一切技术问题都解决了,你还是只能看符合社会主义精神建设的东西,which is,清宫肥皂剧。

    So.

    Comments (2)

    Please wait...
    Sorry, the comment you entered is too long. Please shorten it.
    You didn't enter anything. Please try again.
    Sorry, we can't add your comment right now. Please try again later.
    To add a comment, you need permission from your parent. Ask for permission
    Your parent has turned off comments.
    Sorry, we can't delete your comment right now. Please try again later.
    You've exceeded the maximum number of comments that can be left in one day. Please try again in 24 hours.
    Your account has had the ability to leave comments disabled because our systems indicate that you may be spamming other users. If you believe that your account has been disabled in error please contact Windows Live support.
    Complete the security check below to finish leaving your comment.
    The characters you type in the security check must match the characters in the picture or audio.

    To add a comment, sign in with your Windows Live ID (if you use Hotmail, Messenger, or Xbox LIVE, you have a Windows Live ID). Sign in


    Don't have a Windows Live ID? Sign up

    俊 陆wrote:
    阅毕~
    July 9
    yi wanwrote:
    阅。
    July 3

    Trackbacks

    The trackback URL for this entry is:
    http://javing.spaces.live.com/blog/cns!A52883EEED6A4AC4!682.trak
    Weblogs that reference this entry
    • None