具体实施方式
图1是能够处理数字编码视频流的常规视频接收器100的简化框图。接收器100包括解码器104和视频处理器124。解码器100将接收的编码视频流解码成像素值。视频处理器124向互连显示设备122提供用于显示的视频图像。解码器104和视频处理器124与主机处理器106通信。
视频处理器124包括缩放器114、去隔行扫描器(deinterlacer)120、色转换器116和视频输出接口118。视频输出接口118与显示器122互连。另外,作为例子的视频处理器124包括本地存储器110,该存储器提供用于存储将通过输出接口118来显示的帧的帧缓存器。
输出接口118通常是与形式为电视机、计算机监视器、LCD或者其它显示器等的显示设备112互连的随机存取存储器数模转换器(RAMDAC)。
缩放器114、去隔行扫描器120和色转换器116是可以用硬件或者软件来实施的功能块。输出接口118、缩放器114、去隔行扫描器120和色转换器116的工作参数是可编程的。例如,可以对色转换器116所使用的输入和输出色空间进行编程。类似地,可以对缩放比和去隔行扫描算法进行编程。例如可以通过硬件寄存器(未示出)的设置、软件变量等来实现编程。
总线126用来将解码的视频数据从解码器104传送到视频处理器124。总线126可以是存储器总线、专用串行或者并行链路等。如图所示,解码器104将数据直接传递到视频处理器124。然而,解码器104可以将解码的视频数据传递到可以形成于存储器110中或者别处的缓存器(未示出)。
视频属性数据如分辨率、色度格式和画面结构也从解码器104传送到处理器106。处理器106又设置视频处理器124的工作参数。这可以例如通过设置视频处理器124的寄存器(未示出)以调节缩放器114、色转换器116、去隔行扫描器120和输出接口118的操作来实现。
解码器104接收压缩/编码的视频流。编码视频流的来源可以是解调数字卫星或者有线电视频道、地面广播信道、本地视频存档或者计算机可读存储器(如闪存)、外设(如光驱)等。
正如将认识到的那样,编码视频流包括用于描述编码的视频数据的语法单元。MPEG-2流的格式例如分别分级组织成序列、画面组、画面、时间片(slice)、宏块和块。块包含DCT系数。宏块包括四个亮度采样块和根据像素格式或者色度格式而定的对应数目的色度块。也就是说,在4:2:2编码色度格式中,宏块具有4个Y块、2个Cr块和2个Cb块。类似地,在4:4:4编码色度格式中,宏块具有4个Y块、4个Cr块和4个Cb块。时间片是包含数个宏块的画面子集(水平带)。画面可以是场或者帧。帧可以是I帧(帧内帧)、P帧(预测帧)和B帧(双向预测帧)。例如在Jack,Keith.2005.Video Demystified:A Handbook for the digital engineer,4thed.Oxford:Elsevier中描述了MPEG-2视频语法,通过援引将其内容结合于此。
感兴趣的语法单元包括所用的垂直大小值、水平大小值、纵横比、色格式、画面结构类型和量化矩阵。针对MPEG2序列和针对单独画面(场或者帧)均定义了这些语法单元中的一些或者所有语法单元。可以从语法单元提取包括当前图像的色格式、大小和结构这些视频属性以形成视频属性数据的集合。常规解码器104可以在一组可读寄存器108中存储视频属性数据。可以定期或者更频繁地针对各帧序列更新寄存器。
在工作中,处理器106初始化视频解码器104以处理编码的视频流。解码器104通过逆转编码操作对流进行解码。也就是说,解码器104对流进行熵解码、根据它的嵌入语法来解析它、提取游程值并且执行逆离散余弦变换和运动补偿。在解析流时提取属性信息并且向寄存器加载对应属性数据。通过逆离散余弦变换(IDCT)系数来恢复像素。如果有运动补偿矢量则后续应用于解码像素以校正在参考帧与当前帧之间的任何运动。通过总线126将解码帧中的像素作为像素流传送到视频处理器124。
处理器106读取寄存器108以提取属性数据并且基于提取的属性信息来初始化视频处理器126的工作参数。
类似地处理流的后续帧,并且在显示器122上最终显示运动视频。在新属性数据变得可用时,处理器106更新视频处理器124的工作参数。
应当以合理恒定的帧速率显示视频数据。因此,在显示器122上的下一刷新循环之前向显示器供应帧数据。解码器以帧将被显示的顺序输出像素数据。
然而,通常不以预定速率更新视频解码器124的工作参数。代之以在处理器104检测到存储视频属性数据的寄存器的变化并且处理器104有机会更新对应工作参数时更新它们。
由于视频属性通常改变不频繁,对视频处理器124的工作参数的更新时机通常并不影响显示质量。然而,如果属性迅速改变,则可能看见伪像。例如,如果针对解码帧的图像属性已经不同于先前帧,但是视频处理器124的工作参数尚未用新图像属性来更新,则帧将显示有伪像。类似地,如果过早更新视频处理器124的工作参数,则可能产生伪像。
图2因此在逻辑上图示了举例说明本发明实施例的视频接收器200。可以用定制硬件或者在软件控制之下的通用计算硬件或者二者的组合来形成接收器200。示例软件可以从计算机可读介质加载到通用计算设备的存储器中。
如图所示,接收器200包括解码器234和视频处理器236。解码器234将接收的数字编码流解码成像素值流。视频处理器236使用这些像素值向显示设备提供视频。解码器234通过总线224A、224B与视频处理器236通信。
同样,到达解码器234的压缩视频数据可以来自于任何常规来源如卫星或者有线电视频道、地面广播信道、本地视频存档或者外设(如DVD播放器)。
举例说明本发明的实施例,一旦对流进行解码,解码器234向视频处理器236提供与解码像素流有限定关系的视频属性。例如可以同步地、逐帧地、以选定帧数为间隔地提供解码视频的视频属性,或者只要属性与先前帧不同就提供解码视频的视频属性。
为此,在解码器234同步视频像素数据和属性数据,并且通过分离信道224A、224B向视频处理器236提供视频像素数据和属性数据。
具体而言,图3包括视频接收器200的简化功能框图。如图所示,解码器234包括MPEG解码器202以及用来创建两个同步信道224A和224B的信道格式化器204:信道224A用于视频数据而信道224B用于属性数据。在所示实施例中,信道格式化器204包括属性格式化器220、符合ITU-R BT.1364的编码器222、符合ITU-R BT.601-4的编码器230和符合ITU-R BT.656-4的编码器232。通过援引将标题为“Format of AncillaryData signals Carried in Digital Component Studio Interfaces”的ITU-RBT.1364建议、标题为“Encoding Parameters of Digital Television ForStudios”的ITU-R BT.601-4建议和标题为“Interfaces for DigitalComponent Video Signals in 525-Line and 625-Line Television SystemsOperating at the 4:2:2 Level of Recommendation ITU-R BT.601(part A)”的ITU-R BT.656-4建议结合于此。所幸的是,在ITU-R BT.656-4中限定的4:2:2色度格式允许发送4:2:0编码视频信号。MPEG-2适应4:2:2和4:2:0色度二次采样。4:2:0色度格式用于称为‘高级主类’(MP@HL)的商用意义重大的MPEG-2类型。因此,能够使用ITU-R BT.656接口来发送4:2:0格式的信号是有利的。可以简单地复制4:2:0信号中的色度样本以符合ITU-R BT.656中限定的4:2:2格式(图4中所示)。或者,也可以仅使用为色度数据分配的带宽的一半原样发送4:2:0编码信号。
MPEG解码器202包括常规MPEG解码器中存在的并且本领域普通技术人员已知的解析器206、长度可变解码器(VLD)208、运动补偿块(MB)210、游程解码器和逆量化(RL和IQ)块212、逆离散余弦变换块(IDCT)214、画面重构块215以及用于存储帧的存储器216。
MPEG解码器202可略微不同于常规MPEG解码器之处在于它向属性格式化器220输出扩展的属性信息。也就是说,MPEG解码器202输出图像大小、色格式和画面结构。同样,属性信息可以格式化为属性数据并且存储于寄存器218、软件变量等中。
属性格式化器220从寄存器218读取所选视频属性数据,并且可选地根据下文描述的映射来格式化这些数据。用于发送的所需视频属性包括分辨率、画面结构类型(帧或者场)、色度格式等。视频属性与各帧或者场由MPEG解码器202进行同步解码,并且解码属性子集随视频数据流一起发送到视频处理器236。
在所示实施例中,属性格式化器220将格式化的属性数据输出到优选符合ITU-R BT.1364的编码器222,该编码器将属性数据转换成符合ITU-R BT.1364的流。
优选符合ITU-R BT.601-4的编码器230从帧存储器216读取与解码比特流中的帧或者场关联的像素数据,并且按照ITU-R BT.601-4对该数据进行编码。
帧属性数据和像素输出因此例如可以通过总线224上承载的两个同步信道224A、224B同步提供给视频处理器236。信道格式化器204因此还可以包括对视频像素数据流228和视频属性数据流226进行多路复用的优选符合ITU-R BT.656-4的编码器232。
视频处理器236包括缩放器250、去隔行扫描器252、色空间转换器254和输出接口256。输出接口256可以是常规RAMDAC、示例视频处理器236还包括存储器258。总线260将缩放器250、去隔行扫描器252、色转换器254、输出接口256和存储器258相互连接。
视频处理器236还包括补充信道格式化器204的信道解码器238。在所示实施例中,信道解码器238包括与符合ITU-R BT.1364的解码器242通信、充当多路解复用器的符合ITU-R BT.656-4的解码器240。
解码器242的输出提供给与缩放器250、去隔行扫描器252、色空间转换器254和输出接口256互连的属性解码器244。
在工作中,视频解码器202接收视频流。解析器206解析传入的比特流并且组装比特流中所用的编码结构,比如序列头、序列扩展头、可能的用户数据和其它扩展头。接着,读取描述画面组(GOP)的GOP头。在序列头和序列头扩展之后将解析的接下来的编码结构是画面头和画面头扩展。同样,在这些编码结构前面的是解码器为了开始组装它们而检测的开始码。在画面头和画面头扩展结构中包含的属性信息适用于解码的当前画面的特性。画面头和画面扩展头提供画面的所有必需属性。分别使用块212和214对DCT系数进行游程解码和逆量化并且变换成像素域值。然后针对下一图像重复该过程。
通过解析流,视频解码器202能够识别与重构(基于画面、宏块、块等)的当前图像对应的相关图像属性数据,并且因此可以将这些属性中的所有属性或者子集提供给寄存器218,这些属性与从存储器216读出的各帧或者帧的子集具有限定关系。换而言之,在重构存储器216中帧的解压像素之前,解码器202提取描述该帧的所有属性。属性中的所有属性或者子集然后可以适当地加以格式化并且传送到视频处理器236。
属性格式化器220可以根据表1中所示映射来格式化属性值。在从存储器216读取画面的行数据到视频像素编码器230中时,属性格式化器220也向属性数据编码器222提供用于图像的对应属性数据。属性数据和视频像素数据然后由信道编码器232进行多路复用、然后通过信道224A和224B传递到视频处理器236。
信道解码器204使用图4中描绘的由ITU-R BT.656-4建议所推荐的接口信号结构。在各行中,使用格式308来发送从符合ITU-R BT.601-4的流获得的720个亮度值(Y)302、色度值Cr 304和Cb 306。随后,有效视频结束(EAV)序列322和有效视频开始(SAV)序列318用作定时参考信号。在定时参考信号之间的数字消隐间隔320用于承载辅助信号。
图4还图示了符合ITU-R BT.1364建议的示例辅助数据包格式类型1。辅助数据包400占用EAV信号322与SAV信号318之间的间隔320。在8位运算中各字具有8位,而在10位运算中各字代表10位值。辅助数据标志(ADF)402之后是数据类型404、数据块号406、数据计数408和用户数据410、继而是校验和412。ADF 402由三个字组成,而数据id 404占用一个字。如ITU-R BT.1364中具体所述,ADF由十六进制数的三个字序列(00.0H、FF.CH和FF.CH)组成。在这一符号表示(例如FF.CH)中,整数部分代表8个最高有效位,而分数部分代表两个附加位(在10位的字中)。因此对于ADF序列(00.0H、FF.CH和FF.CH),第一个字的所有位设置为零,而接下来两个字的所有位设置为一。数据块号406和数据计数408各占用一个字。用户数据可以长达255个字。校验和412用来检错。
如图所示,用户定义的前导码422表示将传送的数据是色度格式、分辨率、画面结构类型等之一。表1示出了前导码到感兴趣的属性的简单示例映射。
用户定义的属性码424标识后续字所引用的属性类型(色度格式、分辨率、画面结构类型等)。下一个字426可以表示正被发送的特定数据,如针对色度格式属性的4:2:2。在色度格式属性码之后的值01.0H例如可以用来表示使用4:2:2色度格式。在色度格式属性码之后的值02.0H用来表示使用4:4:4像素采样格式。
对于分辨率信息,可以使用更多字。在位置424的字(属性码)表示在接下来的字中将跟随分辨率信息。在位置426的字值如表1中所示表示指定的是水平还是垂直分辨率。在分别承载分辨率的最高有效位(MSB)和最低有效位(LSB)的位置428和430指定分辨率的值。即使在8位运算中,仍可使用两个字存储16位的值,这对于任何实际分辨率值都应当是足够的。
前导码 |
第1个字 |
第2个字 |
第3个字 |
第4个字 |
注释 |
55.1H |
01.0H |
01.0H |
- |
- |
色度格式为4:2:2 |
55.1H |
01.0H |
02.0H |
- |
- |
色度格式为4:1:1 |
55.1H |
01.0H |
03.0H |
- |
- |
色度格式为4:4:4 |
55.1H |
01.0H |
04.0H |
- |
- |
色度格式为4:2:0 |
55.1H |
02.0H |
01.0H |
- |
- |
帧为场编码 |
55.1H |
02.0H |
02.0H |
- |
- |
帧为场编码 |
55.1H |
03.0H |
01.0H |
02.0H |
00.0H |
水平分辨率为512 |
55.1H |
03.0H |
02.0H |
02.0H |
00.0H |
垂直分辨率为512 |
当然,上述示例编码方案仅为举例说明。其它的属性编码方式将同样起作用。可以适当地对任何数目的附加类型的属性数据进行编码。
属性可以聚集并且可以使用辅助信道随各帧一起发送,或者取而代之可以仅在值有变化时发送它们。对应逻辑可以形成属性格式化器220的一部分。
因此可以使用在接口标准中定义的辅助信号来承载信道224B,该信道包含向视频处理器236发送的视频流的可变属性。由于与视频信号同步发送辅助信号,所以在解码器234之间使用ITU-R BT.656-4建议允许将视频属性数据(色度格式、分辨率等)随视频像素数据一起同步传送。ITU-R BT.656-4允许灵活打包和同步提供辅助数据和视频。例如,ITU-RBT.656-4经常用于将图文电视、隐藏字幕以及类似信息随视频信息一起传送。正如将认识到的那样,辅助信道224B与信道224A上承载的视频像素数据进行时分复用,并且在视频像素数据流内插入的水平消隐间隔期间发送。
承载信道224A和224B的物理链路224可以是串行或者并行链路。如上文提到的那样,链路224也可以符合ITU-R BT.656-4。正如将认识到的那样,ITU-R BT.656-4定义了用于发送数据的八个(可选十个)导体对和用于27MHz同步时钟的附加对。该接口提供在单个源与单个目的地之间的单向互连。
视频处理器236使用它的信道解码器240将总线224上接收的数据流分离成向缩放器250提供的符合ITU-R BT.601-4的流和向解码器242提供的符合ITU-R BT.1364的辅助数据流。在所示实施例中,缩放器250具有用于接收视频数据输入的符合ITU-R BT.601-4的输入接口。
属性解码器/控制块244对从解码器242接收的属性数据进行解码,并且利用与正被处理的当前帧的属性对应的适当控制位对缩放器250、去隔行扫描器252、色转换器254和输出接口256这些互连块进行编程。
正如现在可以认识到的那样,对视频信道224A和同步属性数据信道224B的使用保证了为了对缩放器250、去隔行扫描器252、色转换器254和输出接口256进行编程所需要的所有属性数据与视频处理器236中处理的帧被并行接收。
在关联帧中属性数据与视频数据的同步方便地消除了由于在向视频处理器传送视频序列中帧的新属性或者变化属性时的延迟而引入的伪像。利用对新特性的同步传送,可以在将显示受影响的帧时调节视频处理器参数。因此消除了所识别的伪像并且视频显示设备无缝地继续以增高/降低的分辨率、新色度格式等来显示帧。
正如现在将认识到的那样,可以与将显示的图像并行或者在将显示的图像之前向视频处理器236提供属性数据。也正如将认识到的那样,提供的信道的具体性质可以不同于在公开的实施例中使用的信道的具体性质。例如,并非必须使用符合ITU-R BT.1364、ITU-R BT.601-4和ITU-RBT.656-4的流。同步和多路复用视频和辅助数据的诸多方式对于本领域普通技术人员将是显然的。
当然,上述实施例本意仅在于举例说明而不以任何方式进行限制。实施本发明的所述实施例在形式、部件布置、细节和操作顺序上容易进行诸多修改。
接收器200中的各种功能块可以实施为分立部件或者实施于单个集成电路(IC)中。
在一个替代实施例中,在解码器234与视频处理器236之间的接口也可以将分离的物理连接用于视频像素信道224A和承载属性数据的信道224B,然而这两个信道共享同一时钟源以实现同步。链路224因此可以在两个设备之间、比如在计算机外设与计算机设备之间、在无线发射器与接收器之间、在视频播放器与记录器之间等。因此可以用包括电链路、光链路或者无线链路的诸多方式形成224。
本发明实际上本意在于将所有这样的修改涵盖于由权利要求限定的范围内。