视频数据处理系统的制作方法

文档序号:9924095阅读:371来源:国知局
视频数据处理系统的制作方法
【技术领域】
[0001]本发明涉及视频数据处理。更具体而言,本发明涉及对视频图像数据进行编码的方法和装置。
【背景技术】
[0002]在现有技术中,已知可以根据预定的视频编码格式(例如由运动图像专家组定义的格式(一般统称为MPEG格式))对视频图像数据(例如RGB或YUV值)进行编码。诸如MPEG之类的视频编码格式能够在图像质量不会受到显著可见损失的情况下使得视频图像数据的文件大小大幅减小。
[0003]现有技术中已知,通常,在对视频数据进行编码时,各个视频帧被划分为该帧的多个像素块(例如,在MPEG编码的情况下,为16X 16个像素块),并且各块分别编码。
[0004]在例如MPEG、H.264等视频编码标准中,通常相对于来自当前帧(例如当前帧中的先前编码像素块)或先前帧(例如先前帧中相应的编码像素块)的先前编码数据(例如,基准块),对视频像素数据中的各个像素块(在MPEG编码的情况下为16X16个像素块)进行编码。因此,每个数据块包括指向先前编码数据的向量值(所谓的“运动向量”)以及描述当前数据块与该先前编码数据之间的差异的数据(“残余数据”)。(由此,使得能够从该运动向量所指向的编码视频数据以及描述(当前)帧区域与当前视频帧的区域之间差异的差异数据,来构建该(当前)帧区域的视频数据。)
[0005]数据块随后例如可以通过(例如使用近似离散余弦变换(DCT))将残余数据变换为随后被量化的一组系数来进行编码。量化步骤通常涉及将各个系数值除以整数值,然后将结果限制为值的有限集合中的一个值。
[0006]通过量化参数(QP)对量化的程度进行调整,并因此而调整在对数据进行压缩时所实现的压缩量。量化参数通常是用于表示在量化步骤期间使用的缩放矩阵(scalingmatrix)的索引。编码器可以基于例如期望比特率和待编码数据的复杂程度来选择和设置量化参数。
[0007]为了使解码器能够从编码数据(尽可能精确地)重建原始的视频图像数据,必须向解码器指示出用于对在编码过程期间代表原始视频图像数据的参数进行量化的QP值。在许多系统中,通过将表示用于对所涉及的数据块进行编码的QP值的信息包含在编码数据块中,来实现这一目的。
[0008]QP值可以被编码为绝对值。然而,通常给定块的QP值被依从(dependently)编码,亦即,该块的QP值被定义为针对前续(preceding)块(通常按光栅扫描顺序)的相对值,通常是针对前续块表示的QP值的相对值。这样做的有利之处在于,如果待编码的差异相对较小,则可以实现数据大小的减少,亦即,存储QP值所需存储器减少。
[0009]在现有技术中,还已知可以将包括多个子任务的数据处理任务并行处理。例如,已知的是,可以通过将单独组的未编码像素块在若干个编码单元之间进行分配,而将一个典型的编码处理在这些编码单元之间进行划分。如果这些组可以由多个编码单元并行地进行编码,则编码处理的并行化就意味着,借助彼此并行工作的多个编码单元,可以极大地减少执行编码处理所需的时间。
[0010]然而,由于编码在本质上是顺序进行的,亦即,块序列中的每一个块要求前续块(特别是前续块的QP值)被编码从而依赖于此才能对自身进行编码,数据块的量化参数(QP)值相对于先前数据块(通常是光栅扫描顺序)的这些值进行编码的这种视频编码格式并不容易适用于这种并行处理。
[0011]因而,希望提供一种改进技术对视频图像数据进行编码,能够同时实现依从QP编码的数据大小减少的上述优点和数据处理并行化的上述优点。

【发明内容】

[0012]根据本发明的第一方面,提供了一种视频图像数据编码方法,该方法包括以下步骤:将视频图像数据的未编码块的序列编码为视频编码格式的编码数据块序列,其中
[0013]在对未编码数据块进行编码时,所述视频编码格式使用编码参数;
[0014]该方法包括针对所述未编码数据块的序列的至少一对第一组未编码数据块和第二组未编码数据块,所述第一组未编码数据块和所述第二组未编码数据块包括所述视频图像数据的比特流顺序的连续(contiguous)数据块,所述第二组的第一块在比特流顺序上紧跟在所述第一组的最末块之后;
[0015]分别对所述第一组未编码数据块和第二组未编码数据块进行编码,以生成第一组编码数据块和第二组编码数据块;
[0016]其中,对所述第一组未编码数据块和第二组未编码数据块进行编码的步骤包括:
[0017]在完成对所述第一组中的所有数据块的编码之前,确定要用于对所述第二组中的未编码数据块进行编码的编码参数值;
[0018]使用所确定的编码参数值对所述第二组中的所述未编码数据块进行编码;以及
[0019]确保所述第一组中的编码数据块指示如下的编码参数值,该编码参数值使得解码器在使用所述第一组中的编码数据块的所指示的编码参数值来确定用于对所述第二组中的数据块进行解码的编码参数值时,导出针对所述第二组中的编码数据块的所确定的编码参数值。
[0020]根据本发明的第二方面,提供了一种视频图像数据编码装置,其中,对视频图像数据的编码包括将视频图像数据的未编码块的序列编码为视频编码格式的编码数据块序列,其中
[0021]在对未编码数据块进行编码时,所述视频编码格式使用编码参数;
[0022]该视频图像数据编码装置包括处理电路,该处理电路被构造成:针对所述未编码数据块的序列的至少一对第一组未编码数据块和第二组未编码数据块,所述第一组未编码数据块和所述第二组未编码数据块包括所述视频图像数据的比特流顺序的连续数据块,所述第二组的第一块在比特流顺序上紧跟在所述第一组的最末块之后;
[0023]分别对所述第一组未编码数据块和第二组未编码数据块进行编码,以生成第一组编码数据块和第二组编码数据块;
[0024]其中,对所述第一组未编码数据块和第二组未编码数据块进行编码的步骤包括:
[0025]在完成对所述第一组中的所有数据块的编码之前,确定要用于对所述第二组中的未编码数据块进行编码的编码参数值;
[0026]使用所确定的编码参数值对所述第二组中的所述未编码数据块进行编码;以及
[0027]确保所述第一组中的编码数据块指示如下的编码参数值,该编码参数值使得解码器在使用所述第一组中的编码数据块的所指示的编码参数值来确定用于对所述第二组中的数据块进行解码的编码参数值时,导出针对所述第二组中的编码数据块的所确定的编码参数值。
[0028]本发明涉及有利于依从编码和数据处理并行化的对视频图像数据进行编码的方法和装置。
[0029]待编码视频图像数据包括未编码数据块序列。
[0030]所使用的视频编码格式是如下格式,其中使用编码参数(例如,优选地,量化参数,QP)对未编码数据块进行编码,并且其中,编码数据块可以(向解码器)指示在对未编码数据块执行编码处理中使用的编码参数值。此外,解码器参照编码数据块序列中前续编码数据块的编码参数值,确定针对至少一个数据块的编码参数值。
[0031]换言之,本发明涉及在对未编码数据块进行编码时使用编码参数的视频编码格式,并且其中,可以通过将参照编码数据块序列中前续编码数据块的编码参数值而限定的相对编码参数值包含在编码数据块中,向解码器(优选地)指示在对数据块进行编码时使用的编码参数值。
[0032]如上所述,虽然数据块的依从编码(S卩,参照前一块确定给定块的编码参数值)有利于编码效率,但是对于编码处理的并行化却是一个巨大阻碍,因为依从性在本质上是顺序的。
[0033]然而,申请人认识到,虽然编码数据块必须被构造成,使得解码器能够基于正确块序列顺序中前续块的编码参数值而正确地导出编码数据块的编码参数值,但编码处理本身不一定要限制为按照该相同的序列顺序对数据块进行编码。
[0034]另外,申请人认识到,可以通过对依从编码的顺序本质进行分解来实现编码处理的并行化。
[0035]在本发明中,对来自待编码的未编码数据块序列的成对多组块进行编码,以生产第一组编码数据块和第二组编码数据块。该第一组编码数据块和该第二组编码数据块包括视频数据的比特流顺序的连续数据块。第二组在比特流顺序上跟在第一组之后(并且优选地在比特流顺序上紧跟在第一组之后),并且,解码器参照第一组中数据块的编码参数值来确定第二组中数据块的编码参数值。
[0036]第一组块和第二组块的编码参数值之间的依从性在先前意味着,在开始对第二组未编码数据块的编码处理之前,必须对第一组未编码数据块进行编码。然而,在本发明中,在完成对第一组中的所有数据块的编码之前,确定在对第二组中的数据块进行编码要使用的编码参数值。
[0037]因此,本发明在不参照第一组中最末数据块的编码参数值的情况下,(例如在编码参数值确定操作中)确定例如第二组中的第一数据块的编码参数值。
[0038]然后,这使得能够在完成对第一组未编码数据块的编码之前,对第二组未编码数据块进行编码,由此有利于并行地对各组未编码数据块进行编码。
[0039]因此,由于打破了第一组块和第二组块之间的编码依从性,能够实现编码处理的并行化。
[0040]然而,虽然第一组块和第二组块之间的编码依从性被打破以便于并行编码,但申请人认识到,例如MPEG的视频编码格式仍要求参照前续块定义依从编码数据块的编码参数值。
[0041]这是因为,相应的解码器仍基于按照数据块原始序列顺序(而不是对数据块进行编码的顺序)的前续数据块的编码参数值,获取给定(已依从编码)数据块的编码参数值。例如,优选地,在本发明的编码处理使用所确定的编码参数值(绝对值形式)对第二组数据块中的第一数据块进行编码时,所得到的编码数据块将包括相对编码参数值,该相对编码参数值与第一组中的最末数据块的编码参数值一起,用来确定用于第二组块中第一数据块的编码参数值。
[0042]因此,本发明的一个重要特征是将“打破(broken)”的第一组数据块与第二组数据块之间的编码参数依从性基本上“修复(repaired)”以用于解码处理。换言之,“恢复”例如第二组中的第一数据块对第一组中最末数据块(特别是第二组中第一数据块的编码参数值对第一组中最末数据块的编码参数值)的依从性,使得解码器能够正确地重建编码数据。
[0043]然而,由于是在对第一组中最末数据块的编码结束之前确定第二组中数据块的编码参数值,因此当例如对第一组中的最末数据块进行编码时,系统不一定会对该数据块进行编码以包含如下的编码参数值,该编码参数值将使得解码器在对第二组中的数据块进行解码时针对第二组中的编码数据块使用所确定的编码参数值。
[0044]为了克服这一问题,本发明确保第一组数据块中的编码数据块指示如下的编码参数值,该编码参数值将使得解码器在对第二组中的数据块进行解码时,使用针对第二组中编码数据块的所确定的编码参数值。下面更详细地描述实现这一目的的多种技术。
[0045]要进行编码的未编码数据块序列可以是任何适当的和期望的这种序列,例如其代表待编码的一些或全部视频帧。在一个优选实施方式中,未编码数据块序列是代表待编码的整个帧的块序列。
[0046]为了确定编码参数值的目的,这些块被排序为待编码视频图像数据的比特流顺序(即,按照这些块在所使用的视频编码标准(格式)定义的比特流中出现的顺序)。(视频编码标准将定义如何参照编码比特流中较早块的编码参数值来导出编码参数值。)其可以是解码器对编码块进行处理的顺序(并且在一个优选实施方式中,数据块在数据块序列中的顺序是解码器对这些块进行处理的顺序),虽然这不是必须的,例如,解码器可以使用不同的解码顺序。因此,典型情况是,并且在一个优选实施方式中,该顺序是光栅(raster)扫描顺序。然而,可以根据需要使用其他的序列顺序。
[0047]在结束第一组中最末数据块的编码之前被确定了编码参数值的第二组数据块中的数据块优选地是第二组中的第一数据块。
[0048]在本发明中所考虑的数据块可以分别代表被处理视频图像(帧)的任何适当和期望的部分。(例如依赖于所使用的视频编码格式)它们优选地分别对应于被处理帧的给定区域(范围)。
[0049]因而,每个块优选地代表被处理帧的适当(优选地,不同)区域(范围),例如该帧中的多个像素和/或采样点。因此,各个数据块优选地是像素块(其中,特别地,每个像素块包括代表适当像素颜色值(例如,RGBA或YUV颜色值)的数据)。适当的数据块大小例如可以是每帧8 X8、16 X 16或32 X 32个像素。在一个特别优选实施方式中,数据块是包括例如一帧的多个16 X 16采样(像素)的所谓“宏块(macroblock)”。
[0050]正在编码的未编码数据块序列可以被简单划分为单对两组未编码数据块,随后可以按照本发明的方式对该对未编码数据块组进行处理。另选地,可以从整个未编码数据块序列中的一些但非全部未编码数据块,合成将按照本发明的方式处理的两组未编码数据块。
[0051]然而,在一个特别优选实施方式中,将整个未编码数据块序列
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1