具有细粒度可调节性的视频编码器的制作方法

文档序号:7725901阅读:213来源:国知局
专利名称:具有细粒度可调节性的视频编码器的制作方法
这是一个非临时申请,要求享有2001年1月9日提交的题为“Providing Prediction Mode Fine Granularity Scalability”的临时申请的权益。
背景视频信号主要是一个接一个地快速演替的一系列静态图片,从而使观看者产生运动的幻觉。模拟视频信号可能需要转换或“编码”成数字形式之后,才能通过通信信道进行传输。在数字形式时,视频数据由称为“比特流”的一系列比特构成。当比特流到达接收位置时,视频数据被“解码”,即重新转换成可视形式。由于通信信道的带宽限制,视频数据在通信信道上传输之前常常“经过压缩”。压缩可能导致接收端图片质量的劣化。
一种对质量损失(劣化)进行部分补偿的压缩技术包括在传输之前将视频数据分成“基层”和一个或多个“增强层”。基层包含视频序列的粗略版本,可以用相对较小的带宽来传输。每个增强层也只需要很小的带宽,一个或多个增强层可以与基层同时传输。在接收端,在解码过程中基层可以与增强层重新组合。增强层提供对基层的校正,从而提高输出图像的质量。传输越多的增强层,就生成更好的输出图像,但是要求更多的带宽。
一些压缩方法和文件格式已经被标准化,如国际标准化组织的活动图像专家组(MPEG)标准。例如,一种广泛应用的视频压缩标准称作MPEG-2。MPEG标准中采用的压缩技术对各个图片之间的变化进行编码,而不对图片本身进行编码。该处理得到明显的带宽节省。
附图简介本发明是举例说明的,不限于附图中的各图,图中相似的参考数字表示相似的部件,其中

图1是说明视频信号的路径的功能框图。
图2是说明视频编码和压缩的框图。
图3是比特流中增强层数据的层次表示。
图4是说明服务器采取的步骤的流程图。
图5是说明视频解码的框图。
图6是说明根据一个实施例的视频编码和压缩的框图。
图7是说明根据一个实施例的视频解码的框图。
发明的详细说明图1是说明在网络上分发的视频数据所采取的一般路径的框图。输入视频信号10被馈送到编码器12,而编码器将信号10转换成机器可读的一系列比特或比特流形式的视频数据。然后,视频数据被存储在服务器14,等待对该视频数据的请求。当服务器14接收到对视频数据的请求时,它将数据发送到发射机16,由发射机沿网络上的通信信道18发送数据。接收机20接收数据,并以比特流的形式将其发送到解码器22。解码器22将接收到的比特流转换为即可观看的输出视频信号24。
编码器12所执行的编码可能包含有损压缩技术、如MPEG-4,结果产生一个基层,即,足以允许生成比源视频序列所表示的质量要差的可视视频序列的数据体。基层包含视频序列的低带宽版本。如果要进行解码和观看,感觉基层就象原始视频的劣质版本。正如下文要讨论的,接收端的增强技术对丢失的数据进行补偿,并生成平滑且较为悦目的输出视频。
增强层可以捕捉量化/删节的基层视频图片与未量化的原始输入视频图片之间的差值。增强层改进了由基层产生的可视视频序列的质量。在接收端将基层与单个增强层进行组合,产生对视频数据的校正和改善的输出视频图像。组合附加的增强层则提供附加的校正和附加的改善效果。在接收端将基层与所有增强层组合将得到质量几乎等于原始输入视频的视频输出。
通常,每个增强层就是一个“比特片”的差值数据。在此安排中,每个图片的每个增强层由一系列比特构成。增强层按如下方式排序,第一增强层包含最重要的比特,第二增强层包含第二重要的比特,依此类推。这意味着,最重要的校正由第一增强层完成。组合越多的增强层会不断提高输出质量。这样,输出视频质量可以通过将不同数量的增强层与基层组合来“调节”。利用更少或更多的增强层来调节输出视频质量的过程称为“细粒度可调节性”或FGS。可以采用FGS来产生一定质量范围的输出视频。
虽然在解码过程中组合基层和所有增强层会得到图片质量几乎等于输入视频的输出视频,但是通信信道的带宽限制可能导致这一结果难以实现。带宽限制可允许一些而非所有的增强层与基层一起传输。FGS允许将基层和增强层存储在服务器的存储器中。这样,基层就可以与适合于特定信道带宽的一定数量的增强层一起传输。一般,信道的带宽越大,越多的增强层就可以与基层一起传输,从而输出视频的质量越好。
与沿较小带宽的信道接收含较少增强层的数据的观看者相比,沿较大带宽的信道接收含较多增强层的数据的观看者将能够看到更好质量的输出视频。这里所述实施例的优点在于,视频数据可以容易地适应不同带宽的不同信道。
图2说明对一系列输入图片30进行编码和压缩的一个实施例,该实施例得到视频数据的一个基层比特流32,加上一个或多个增强层的比特流34。基层比特流32和增强层比特流34可以通过复用器(Mux)38组合成单个输出比特流36。
基层可以通过标准视频编码和压缩技术40来创建。图2所示的编码和压缩技术40仅是说明性的,并非实现编码和压缩的唯一方式。编码和压缩可以采用离散余弦变换(DCT)42、量化(Q)44以及可变长度编码(VLC)48。图2还包括对各个图片之间变化进行编码的技术,其中包括逆量化(IQ)50、离散余弦反变换(IDCT)52、利用从运动估算中获得的运动矢量({M.V.})59进行的运动补偿(MC)54、帧存储56以及从输入图片流30减去60先前图片62以分出一个图片与下一个图片的差异。
图2还说明导致增强层创建的减法运算64,这些增强层包含量化基层视频(也称为重构图片)和未量化的输入视频之间差异的各种比特。在图2中,每个图片所对应的增强层表示对各个图片之间变化的增强,而非对各图片本身的增强。当增强层数据被安排在各个增强层中,第一增强层包含最重要的增强数据比特,第二增强层包含第二重要的增强数据比特,依此类推。这些比特的安排可称为“位面”,它们可以由位面切片器70产生。在创建位面时,可以将一个或多个开始代码作为标记插入比特流。图2表示插入两个开始代码72和76。称为“视频对象平面”的一组位面可以用开始代码72来标记,开始代码76还可在位面VLC 74插入以标记每个位面的开始。插入开始代码来标记位面实际上表示比特流中增强层的标记。
开始代码在对视频数据进行解码时是有用的。开始代码可以是唯一的、字节对齐的字节序列。例如,开始代码可以由四个字节构成,前三个字节标识图片数据的开始(图片代码的开始),最后一个字节标识该数据(标识码)。通常,基层中每个图片所对应的每个增强层都可以用开始代码标记。在一个实施例中,每个增强层中的每个图片也可以用开始代码标记。字节对齐的开始代码让剖析器或其它处理器可以容易地搜索比特流,以便识别开始代码和容易地剖析比特流。利用开始代码,可以将比特流剖析为视频数据的基层和两个或两个以上增强数据层。
图3说明可以插入增强层比特流中的开始代码。虽然比特流可以具有若干开始代码以标识比特流内视频数据的存在,但是特定视频序列的开始可以用“视频对象层”(VOL)开始代码80来标识。VOL开始代码80之后是图片序列,可以称为“视频对象平面”或VOP。VOP可以表示实际的图片数据,或者它可以表示一个图片与下一个图片之间的变化。每个图片或VOP可以用VOP开始代码82标记。VOP开始代码82可以在图2中位面切片器70中插入。此外,每个图片的每个增强层称为“视频对象位面”(VOBP),可以设有其自己的VOBP开始代码84。VOBP开始代码84可以在图2中的位面VLC74中插入。
每个图片又可以由称为“切片”的更小单元构成,每个切片可以设有其自己的切片开始代码86。切片,通常为图片中的水平条形区,而切片又可以由诸如宏块之类的单元构成。宏块通常由256个按16×16的方块排布的图像元素或像素构成。每个宏块也可用开始代码标记。
若每个增强层中的每个图片没有开始代码,则各个增强层的数据可能不容易复原。计算机处理器通常无法通过检查数据的字节来判断某个特定字节是否是特定图片的第一数据字节。相比之下,字节对齐的开始代码可让计算机处理器快速判断某个特定图片的数据在何处开始以及该特定图片的数据在何处结束。由此,开始代码可让增强层容易地剖析。
所有压缩视频数据可以存储在存储装置中,如等待处理客户机对数据的请求的服务器中。通常客户机是向服务器请求诸如视频数据之类的资源的应用。
服务器可能向客户机提供视频数据的步骤如图4所示。视频数据包括基层和增强层,存储在服务器的存储器中(90)。当客户机沿通信信道向服务器发出对视频数据的请求时(92),服务器中的处理器确定客户机的通信信道上的带宽量(94)。有许多方式可供服务器确定可用带宽量。一种方式是让客户机提供带宽信息。服务器中的处理器还确定沿该信道在可用带宽内可以可靠地传输的增强层的数量(96)。
确定可以发送的增强层数量之后,服务器可准备要传送到客户机的视频数据的比特流(98)。要传输的比特流可包括基层和一个或多个增强层,具体取决于可用信道的带宽。服务器发送的增强层的数量不一定是整数。这样,根据客户机的带宽调整发送到客户机的增强层数量,从而增加视频传输的灵活性。
为了准备比特流,服务器可使用去复用器将基层数据与增强层数据分离,然后可将增强层数据剖析成适当数量的增强层的比特流。编码过程中插入的开始代码可用于剖析。增强层位面通常按照重要性最大到最小的顺序来安排,服务器将按照其重要程度发送这些增强层。被发送的增强层将代表对基层的较为重要的校正,未传送的增强层代表较次重的校正。在传输之前,基层和剖析出的增强层可以复用到单个比特流中。
图5表示对服务器通过通信信道发送并由客户机接收的视频数据进行解码和复原的方法。在接收端,解码器的输入包括视频数据100的比特流。视频数据的比特流100可以被分成基层数据的比特流102和增强层数据的比特流104。去复用器(Demux)106可以用于分离比特流。
基层和增强层可经过不同解码处理或“管线”116、118。正如基层和增强层的编码可能并不包含完全相同的步骤,在解码过程中同样可能有一些差异。
在基层解码管线118中,基层可经过可变长度解码(VLD)120、逆量化(IQ)122、逆向扫描(IS)124以及离散余弦反变换(IDCT)126。VLD120、IQ 122、IS 124和IDCT 126的操作基本是图2所示的编码过程中执行的VLC 48、Q 44、S 46和DCT 42操作的逆向操作。然后,在运动补偿器(MC)130处理解码的基层数据,运动补偿器可根据一个图片与下一个图片之间的变化来重构各个图片。前一图片或“参考”图片134的数据会存储在称为“帧缓冲器”的临时存储单元136中,并会被用作参考。来自IDCT 126的解码数据被MC 130用来确定序列中下一图片与前一图片之间的变化。因为IDCT 126可能导致无效视频数据的产生,所以采用“剪辑”功能132来调整该数据。例如,有效视频数据可能是0到255之间、包含0和255的任何数字,0表示黑色像素,而255表示白色像素。如果IDCT操作126返回无效的负数,则剪辑操作132可以将该数据设置为0,并使其有效。同样,如果IDCT操作126返回大于255的数字,则剪辑功能132可将该数据设置为255。基层管线118的输出是基层视频数据138。图5所示的解码技术是说明性的,而非实现解码的唯一方式。
增强层116的解码管线不同于基层118的解码管线。增强层比特流104还会进一步分成增强层数据108、110、112的各个比特流,一个比特流对应于一个增强层。预剖析器114可用于将增强层比特流分成增强层数据108、110、112的各个比特流。预剖析器114可以采用编码过程中插入的位面开始代码76来完成预剖析。预剖析可以使各增强层108、110、112的数据并行解码。
在图5中,可能需要解码单个图片的多个增强层108、110、112。如果传送了部分增强层,则会形成分离的到解码器的并行输入。在图5中,M个增强层将以并行方式解码。第M个或最后一层112在传输之前被服务器删节,因此不一定是完整的层。每个增强层可经过VLD处理140和IS处理142。因为在编码时量化可能并非必需的,所以解码过程中可能不需要对增强层进行IQ处理。
在IS处理142之后,这些增强层在位面累加器144中进行累加。位面累加器144将每个位面的最重要比特放置在其正确位置,然后将每个位面的次重要比特放置于其位置,依此类推。如果服务器传送的增强层比全部数量少,则位面可能未完全填充,位面中的某些数据可能是不确定的。则可采用一些填充位面的例程。例如,可以简单地以随机噪声填充最次要比特的位置。然后,位面会经过IDCT操作146的处理。
增强层管线116的输出150表示随后与基层视频138相加152的校正。加法操作156的输出会经过剪辑功能148的处理,以消除出界数据。剪辑功能148的输出154是图片的最终版本,最终版本被增强到信道带宽所允许的程度,已经可供观看。该图片会被存储在帧缓冲器136中,并且可作为下一幅图片的参考134。一般观看者从帧缓冲器136中读取数据,帧缓冲器可以为观看者提供稳定的视频图片数据流。
图5所示的解码器是示范性的。图5所示的一些操作是线形的,当然可以不同顺序进行。例如,将基层和增强层相加的操作152可以在IDCT操作126、146之前执行。再者,在替代实施例中,增强层中的许多操作可以顺序而非并行的方式进行。
在一个实施例中,利用替代FGS生成增强层。与上述FGS类似,替代FGS编码方案也将视频数据帧编码成视频质量相对较低的基层和视频质量递增的多个可随机调节的增强位面层。一个差别在于,替代FGS采用更高质量的参考(例如前一增强帧)来进行一些增强层编码,从而增加编码效率。更高质量参考可以提供更精确的运动预测。
在图6所示的实施例中,将预测模式678加到较低的增强层680。具体来讲,利用预测模式678,可以预测增强层中输入视频的子部分(例如宏块),即生成输入视频与先前根据多个参考之一处理的视频(例如量化视频)之间的差值。
在图6所示的实施例中,有三种不同的预测模式1)根据当前重构的基层预测682(利用当前重构的基层可以减少差错漂移);2)根据前一增强帧预测684(对于某些场景,更高质量的参考数据来源于运动预测的增强层,因此我们采用这种模式来降低残差以及提高编码效率);3)根据前一增强帧与当前重构的基层的组合来预测686(例如,这两个参考的平均值或这两个独立参考的其它一些组合)。
在一个实施例中,预测模式的选择是自适应地通过以下方式进行的将输入视频的子部分(例如宏块)与前一增强帧684、当前重构的基层682的子部分进行比较;和/或与前一增强帧和当前重构的基层的组合进行比较。基于这种比较,可以选择预测模式。在一个实施例中,选择最接近输入视频的参考,因为要编码的差值会较小。在一个实施例中,接近的标准是基于像素块之间的绝对差值之和。在一个实施例中,总是周期性地根据当前重构的基层来选择预测模式,以便减少差错漂移。
再者,在一个实施例中,重构数据体的选择在从编码器传送到解码器的比特流语法中予以指示。或者,可以分别从重构的基层和重构的增强层,把该预测模式下重构数据体的选择从编码器发送到解码器。再者,采用一组第一运动矢量来生成数据的第一重构体,以及还采用该组第一运动矢量来生成数据的第二重构体。
此外,如图6所示,在一个实施例中,在前一个增强帧684经过空间域重构和剪辑690(如上所述)之后,通过预测模式接收它。同样,当前重构的基层682也在经过空间域重构和剪辑688之后,通过预测模式接收它。由于利用了剪辑,可以降低编码器和解码器的复杂性。
图7所示的是具有预测模式的解码器,该预测模式确定将哪个参考添加到解码的增强层。如图所示,可以根据当前解码的基层782、解码的前一个增强帧784和/或前一个解码的增强帧与当前解码的基层的组合786来选择预测模式。
如图7所示,在一个实施例中,在解码的前一个增强帧784经过空间域重构和剪辑790(如上所述)之后,通过解码器预测模式778接收。同样,解码的当前重构的基层782也在经过空间域重构和剪辑788之后,通过该预测模式接收。
上述的方法、编码器和解码器可以作为要执行的一组指令存储在计算机系统(例如,机顶盒、录像机等)的存储器中。此外,实现上述方法、编码器和解码器的指令也可以存储在其它形式的机器可读媒体中,包括磁盘和光盘。例如,本发明的方法可以存储在机器可读媒体、如磁盘或光盘中,它们都可以通过盘驱动器(或计算机可读媒体驱动器)存取。再者,可以通过数据网将该指令以编译和链接的形式下载到计算设备中。
或者,实现上述方法、编码器和解码器的逻辑可以在以下各项中实现附加的计算机和/或机器可读媒体,诸如分立硬件部件、大规模集成电路(LSI)、专用集成电路(ASIC)、如电可擦可编程只读存储器(EEPROM)之类的固件;以及电、光、声以及其它传播信号的形式(例如,载波、红外线信号、数字信号等);等等。再者,上述编码器和解码器可以在同一个硬件部件上实现,如可以或不可以集成在芯片组装置中的图形控制器。
虽然参考具体的示范性实施例说明了本发明,但是显然在不违背本发明更为广义的精神和范围的前提下可以对这些实施例进行各种修改和更改。因此,本说明书和附图只是出于说明目的,而非限定。
权利要求
1.一种方法,它包括生成第一数据体,所述第一数据体足以允许生成比源视频序列表示的质量低的可视视频序列;以及生成第二数据体,所述第二数据体足以增强从所述第一数据体生成的所述可视视频序列的质量,所述第二数据体是通过从所述源视频序列的子部分中减去重构数据体来生成的,其中所述重构数据体是从一组的至少两个独立的重构数据体中选择的。
2.如权利要求1所述的方法,其特征在于,所述至少两个独立的重构数据体的组是从第一重构数据体、第二重构数据体或所述第一重构数据体和所述第二重构数据体的组合之中选择的,其中所述第一重构数据体足以允许生成比所述源视频序列表示的质量低的可视视频序列,所述第二重构数据体足以增强从所述第一数据体生成的可视视频序列的质量。
3.如权利要求2所述的方法,其特征在于还包括在通过从所述源视频序列的子部分中减去所述重构数据体而生成所述第二数据体之前,在空间上重构和剪辑所述第一重构数据体以及在空间上重构和剪辑所述第二重构数据体。
4.如权利要求2所述的方法,其特征在于,所述第二数据体是通过从所述源视频序列的宏块中减去重构数据体来生成的。
5.如权利要求2所述的方法,其特征在于还包括将所述至少两个独立的重构数据体与所述源视频序列进行比较,从而自适应地从所述第一重构数据体、所述第二重构数据体或者所述第一和第二重构数据体的组合中选择。
6.如权利要求2所述的方法,其特征在于,在从编码器发出的比特流的语法中指示重构数据体的选择。
7.如权利要求2所述的方法,其特征在于,采用第一组运动矢量来生成所述第一数据体,以及采用所述第一组运动矢量来生成所述第二数据体。
8.如权利要求2所述的方法,其特征在于,所述第一数据体和所述第二数据体是由单个硬件部件生成的。
9.一种包括存储计算机可执行指令的计算机可读媒体的产品,所述指令使计算机生成第一数据体,所述第一数据体足以允许生成比源视频序列表示的质量低的可视视频序列;以及生成第二数据体,所述第二数据体足以增强从所述第一数据体生成的可视视频序列的质量,所述第二数据体是通过从所述源视频序列的子部分中减去重构数据体而生成的,其中所述重构数据体是从一组的至少两个独立的重构数据体中选择的。
10.如权利要求9所述的包括计算机可读媒体的产品,其特征在于,所述至少两个独立的重构数据体的组是从第一重构数据体、第二重构数据体或者所述第一和第二重构数据体的组合之中选择的,其中所述第一重构数据体足以允许生成比所述源视频序列所表示的质量低的可视视频序列,所述第二重构数据体足以增强从所述第一数据体生成的所述可视视频序列的质量。
11.如权利要求10所述的包括计算机可读媒体的产品,其特征在于还包括附加的指令,这些指令使计算机在通过从所述源视频序列的子部分中减去所述重构数据体来生成所述第二数据体之前,在空间上重构和剪辑所述第一重构数据体以及在空间上重构和剪辑所述第二重构数据体。
12.如权利要求10所述的包括计算机可读媒体的产品,其特征在于,所述第二数据体是通过从所述源视频序列的宏块中减去重构数据体来生成的。
13.如权利要求10所述的包括计算机可读媒体的产品,其特征在于还包括附加的指令,这些指令使计算机将所述至少两个独立的重构数据体与所述源视频序列进行比较,从而自适应地从所述第一重构数据体、所述第二重构数据体或者所述第一和第二重构数据体的组合之中选择。
14.如权利要求10所述的包括计算机可读媒体的产品,其特征在于,在从编码器发送的比特流的语法中指示重构数据体的选择。
15.如权利要求10所述的包括计算机可读媒体的产品,其特征在于,采用第一组运动矢量来生成所述第一数据体,以及采用所述第一组运动矢量来生成所述第二数据体。
16.如权利要求10所述的包括计算机可读媒体的产品,其特征在于,所述第一数据体和所述第二数据体是由单个硬件部件生成的。
17.一种系统,它包括用于生成第一数据体的第一单元,所述第一数据体足以允许生成比源视频序列所表示的质量低的可视视频序列;以及用于生成第二数据体的第二单元,所述第二数据体足以增强从所述第一数据体生成的可视视频序列的质量,所述第二数据体是通过从所述源视频序列的子部分中减去重构数据体来生成的,其中所述重构数据体是从至少两个独立重构数据体的组中选择的。
18.如权利要求17所述的系统,其特征在于,所述至少两个独立重构数据体的组是从第一重构数据体、第二重构数据体或所述第一和第二重构数据体的组合之中选择的,其中所述第一重构数据体足以允许生成比所述源视频序列所表示的质量低的可视视频序列,所述第二重构数据体足以增强从所述第一数据体生成的所述可视视频序列的质量。
19.如权利要求18所述的系统,其特征在于,所述第一单元通过从所述源视频序列的子部分中减去所述重构数据体而生成所述第二数据体之前,在空间上重构和剪辑所述第一重构数据体,并且所述第二单元在空间上重构和剪辑所述第二重构数据体。
20.如权利要求18所述的系统,其特征在于,所述第二数据体是通过从所述源视频序列的宏块中减去重构数据体来生成的。
21.如权利要求18所述的系统,其特征在于,所述第二单元将所述至少两个独立重构数据体与所述源视频序列进行比较,自适应地从所述第一重构数据体、所述第二重构数据体或所述第一和第二重构数据体的组合之中选择。
22.如权利要求18所述的系统,其特征在于,在从所述系统发送的比特流的语法中指示所述重构数据体的选择。
23.如权利要求18所述的系统,其特征在于,所述第一单元采用第一组运动矢量来生成所述第一数据体,以及所述第二单元采用所述第一组运动矢量来生成所述第二数据体。
24.如权利要求18所述的系统,其特征在于,所述第一单元和所述第二单元包含于单个硬件部件上。
全文摘要
在编码过程中,视频数据被表示为量化的基层和至少两个增强层的比特流,其中每层中的每个图片由开始代码标识。在通信信道上传输基层加上按通信信道带宽能够传输的一定数量的增强层。
文档编号H04N7/50GK1515118SQ02806200
公开日2004年7月21日 申请日期2002年1月7日 优先权日2001年1月10日
发明者Y·-K·陈, Y -K 陈, W·-H·彭, づ 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1