公开/公告号CN101945270A
专利类型发明专利
公开/公告日2011-01-12
原文格式PDF
申请/专利权人 联发科技(新加坡)私人有限公司;
申请/专利号CN200910177838.7
发明设计人 张凯;
申请日2009-09-25
分类号H04N7/26(20060101);H04N7/50(20060101);
代理机构11127 北京三友知识产权代理有限公司;
代理人任默闻
地址 新加坡亚逸拉惹弯
入库时间 2023-12-18 01:22:20
法律状态公告日
法律状态信息
法律状态
2013-06-19
授权
授权
2011-03-09
实质审查的生效 IPC(主分类):H04N7/26 申请日:20090925
实质审查的生效
2011-01-12
公开
公开
技术领域
本发明涉及视频处理领域,尤其涉及视频数据编码。
背景技术
视频数据包括一系列的画面(frame),每一画面都是一张图片且被分割为多个区块(block)以供各自分别进行编码处理。一视频区块可由内部预测模式(intra-mode)或外部预测模式(inter-mode)进行编码。在内部预测模式下,一视频区块的像素被与邻近区块的像素相比较,以减少用以编码的数据量。在外部预测模式下,目前画面的一视频区块的像素被与一参考画面的对应位置区块的像素相比较,以减少用以编码的数据量。
图1A为依据内部预测模式进行视频编码的视频编码器(Video encoder)100的区块图。视频编码器100包括内部预测模块102、减除模块104、转换模块106、以及量化器108。视频区块首先被送至内部预测模块102。内部预测模块102对视频区块进行内部预测,以便依据该视频区块的邻近像素产生一预测区块。内部预测模块102依据多种内部预测模式中的其中一种模式以对视频区块进行内部预测。图2显示符合VCEG-N54规格的九种内部预测模式0~8。每一种内部预测模式依据不同的邻近像素产生预测区块的预测像素值。减除模块104接着将预测区块的预测像素值自视频区块的原始像素值减除,以得到该视频区块的预测残余值。转换模块106接着进行视频数据压缩以将视频区块的预测残余值转换为数据量较少的转换值。举例来说,转换模块106可能对预测残余值进行离散余弦转换(discrete cosine transform,DCT)或Karhunen-Loeve转换(KLT)以得到转换值。量化器108最后将转换质量化为数据量更少而适于数据储存或传输的量化值。
图1B为依据内部预测模式解码视频数据的视频解码器150的区块图。在一实施例中,视频解码器150包括反转换模块152、反内部预测模块154、以及相加模块156。反转换模块152对视频数据进行解压缩以将视频区块的量化值转换为预测残余值。反内部预测模块154依据内部预测模式进行内部预测以产生一预测区块。相加模块156将预测残余值与预测区块相加以产生一重建区块。视频解码器150接着输出重建区块。
然而,图1A的视频编码器100仍旧有缺点。首先,当进行内部预测时,内部预测模块102依据邻近区块的像素产生对应于一目前区块的一预测区块。预测区块的像素值因此与邻近区块的像素值相关联。然而,目前区块与邻近区块的内部预测模式是各自独立决定而无关联。因此,邻近区块的预测区块与目前区块的预测区块通常依据不同的内部预测模式而产生,导致邻近区块的预测区块与目前区块的预测区块的像素值之间发生不连续。因此,需要一种进行内部预测的方法,可以依据邻近区块的内部预测模式对目前区块进行内部预测。此外,转换模块106仅依据一组固定的转换系数进行视频数据压缩。然而,依据不同内部预测模式产生的预测残余值需要不同的转换系数以达到最佳的转换效果。因此,需要一种进行视频数据压缩的方法,可依据视频数据不同的内部预测模式运用不同的转换系数以进行数据压缩。
发明内容
有鉴于此,本发明的目的在于提供一种进行内部预测(intra-prediction)的方法,以解决现有技术存在的问题。首先,决定一左方区块的第一内部预测模式,一上方区块的第二内部预测模式,以及一目前区块的第三内部预测模式,其中该左方区块位于该目前区块的左方,而该上方区块位于该目前区块的上方。接着,自目前区块的多个像素选取一目标像素。接着,依据该第一内部预测模式计算该目标像素的一第一预测值,依据该第二内部预测模式计算该目标像素的一第二预测值,依据该第三内部预测模式计算该目标像素的一第三预测值。最后,平均该第一预测值、该第二预测值、以及该第三预测值,以得到一加权平均预测值。
本发明提供一种进行视频数据压缩的方法。首先,决定一目标区块的一内部预测模式。接着,自多个转换型式选取对应于该内部预测模式的一目标转换型式。取得该目标区块的多个预测残余值,并依据该目标转换型式将多个预测残余值转换为多个转换值。其中对应于该内部预测模式的多个转换型式依据预测残余值的变异数大小被分类。
本发明提供一种视频编码器(Video encoder)。在一实施例中,该视频编码器接收一目前区块,其中一左方区块位于该目前区块的左方,而一上方区块位于该目前区块的上方。在一实施例中,该视频编码器包括一内部预测(Intra-prediction)模块以及一减除模块。该内部预测模块决定该左方区块的第一内部预测模式、该上方区块的第二内部预测模式,以及该目前区块的第三内部预测模式,自该目前区块的多个像素选取一目标像素,依据该第一内部预测模式计算该目标像素的一第一预测值,依据该第二内部预测模式计算该目标像素的一第二预测值,依据该第三内部预测模式计算该目标像素的一第三预测值,以及平均该第一预测值、该第二预测值、以及该第三预测值,以得到该目标像素的一加权平均预测值。该减除模块自该目标像素减去该加权平均预测值以得到该目标像素的一预测残余值。
本发明提供一种视频编码器(Video encoder)。在一实施例中,该视频编码器包括一内部预测(Intra-prediction)模块、一减除模块以及一转换模块。该内部预测(Intra-prediction)模块计算一目标区块的多个预测像素值。该减除模块自该目标区块的多个原始像素值减去预测像素值,以得到该目标像素的多个预测残余值。该转换模块决定该目标区块的一内部预测模式,自多个转换型式选取对应于该内部预测模式的一目标转换型式,以及依据该目标转换型式将多个预测残余值转换为多个转换值。其中对应于该内部预测模式的多个转换型式依据预测残余值的变异数大小被分类。
通过本发明实施例的内部预测方法、视频数据压缩的方法以及视频编码器,可以实现依据邻近区块的内部预测模式对目前区块进行内部预测,并且可依据视频数据不同的内部预测模式运用不同的转换系数以进行数据压缩。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1A为依据内部预测模式进行视频编码的视频编码器的区块图;
图1B为依据内部预测模式解码视频数据的视频解码器的区块图;
图2显示符合VCEG-N54规格的九种内部预测模式0~8;
图3为依据本发明的一实施例的被依内部预测模块所处理的目前区块及两邻近区块;
图4为依据本发明的一实施例的用以进行内部预测的方法的流程图;
图5为依据本发明的一实施例的加权参数表;
图6为依据本发明的一实施例的对视频数据进行数据压缩的方法的流程图;
图7为依据本发明一实施例的储存多组转换系数的转换系数表。
附图标号:
(图1A)
100~视频编码器;
102~内部预测模块;
104~减除模块;
106~转换模块;
108~量化器;
(图1B)
150~视频解码器;
152~反转换模块;
154~反内部预测模块;
156~相加模块;
(图3)
301~左方区块;
302~上方区块;
303~目前区块。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
图3为依据本发明的一实施例的被依内部预测模块所处理的目前区块303及两邻近区块301与302。两邻近区块包括一左方区块301及一上方区块302。左方区块301、上方区块302、目前区块303都是位于一视频数据的同一画面(frame)中。在画面中,左方区块301位于目前区块303的左方,而上方区块302位于目前区块303的上方。左方区块301、上方区块302、目前区块303皆包括固定数目的像素(pixel),每一像素具有一像素值以表示该像素的颜色。在一实施例中,目前区块303包括16(4×4)个像素,位置分别为(0,0)~(3,3)。
图4为依据本发明的一实施例的用以进行内部预测(intra-prediction)的方法400的流程图。方法400被称为重叠区块内部预测(overlapped blockintra-prediction;OBIP)。假设一内部预测模块接收到图3中的目前区块303以进行内部预测。一左方区块301位于目前区块303的左方,而一上方区块302位于目前区块303的上方。左方区块301、上方区块302、目前区块303的内部预测模式可能是各自不同的。内部预测模块因此先决定左方区块301的第一内部预测模式,上方区块302的第二内部预测模式,以及目前区块303的第三内部预测模式(步骤402)。
目前区块303包括多个像素。内部预测模块接着自目前区块303的多个像素中选取一目标像素(步骤404)。内部预测模块首先依据左方区块301的第一内部预测模式计算该目标像素的第一预测值P1(步骤406)。内部预测模块接着依据上方区块302的第二内部预测模式计算该目标像素的第二预测值P2(步骤408)。内部预测模块接着依据目前区块303的第三内部预测模式计算该目标像素的第三预测值P3(步骤410)。因此,第一预测值P1、第二预测值P2、第三预测值P3分别对应左方区块301的第一内部预测模式、上方区块302的第二内部预测模式、目前区块303的第三内部预测模式。
内部预测模块接着将第一预测值P1、第二预测值P2、第三预测值P3平均以得到一平均值以作为该目标像素的内部预测值。在一实施例中,内部预测模块首先决定一组目标加权参数W1、W2、W3以供对第一预测值P1、第二预测值P2、第三预测值P3进行加权平均(步骤412)。在一实施例中,目标加权参数W1、W2、W3是依据目前区块303的第三预测模式P3以及该目标像素位于目前区块303内的位置而决定。在一实施例中,内部预测模块包括一存储器以储存一加权参数表以供纪录多组加权参数,而内部预测模块搜寻该加权参数表以决定目标加权参数W1、W2、W3。图5为依据本发明的一实施例的加权参数表500,其中加权参数表500纪录了多组加权参数。加权参数表500中的多组加权参数以目前区块303的内部预测模式以及目标像素位于目前区块303内的位置作为索引。加权参数表500中储存的多组加权参数是由非在线的训练(off-line training)程序中经由线性回归(linear regression)而决定。
举例来说,若目标像素的位置为(0,2),而目前区块303的内部预测模式为垂直模式0,则目标加权参数W1、W2、W3被决定为W10(0,2),W20(0,2),W30(0,2)。若目标像素的位置为(3,3),而目前区块303的内部预测模式为水平上偏模式8,则目标加权参数W1、W2、W3被决定为W18(3,3),W28(3,3),W38(3,3)。当目标加权参数W1、W2、W3被决定后,内部预测模块接着依据该目标加权参数W1、W2、W3对第一预测值P1、第二预测值P2、第三预测值P3进行加权平均,以得到该目标像素的一内部预测值[W1×P1+W2×P2+W3×P3](步骤414)。内部预测模块接着重复执行内部预测值的计算步骤404~414,直到目前区块303的所有像素的内部预测值皆已计算得到(步骤416)。目前区块的所有像素的内部预测值接着被收集以得到一预测区块,而内部预测模块将该预测区块输出至一减除模块,该减除模块将预测区块的像素预测值自目前区块303的像素值减除,以得到预测残余值,如图1A所示。预测区块的像素预测值因此为分别依据左方区块301、上方区块302、目前区块303的内部预测模式所产生的预测值P1、P2、P3的加权平均值。
在步骤412中,供平均预测值P1、P2、P3的加权参数W1、W2、W3是依据目前区块303的第三预测模式P3以及该目标像素位于目前区块303内的位置而决定。然而,加权参数表500中包含有9种类的预定加权参数分别对应于内部预测模式0~8,而对应于其它内部预测模式的此等预定加权参数可能较对应于目前区块303的预测模式P3的加权参数产生带有较少的影像失真的预测平均值。因此,在一实施例中,目标加权参数W1、W2、W3是依据对应于多个预定加权参数的位元率-失真最佳化(rate-distortion optimization)成本而自对应于多个内部预测模式的该等预定加权参数选出。举例来说,内部预测模块可在步骤412产生分别对应9个内部预测模式的9组加权参数,接着在步骤414依据9组加权参数分别对第一预测值P1、第二预测值P2、第三预测值P3进行加权平均以得到该目标像素的9个内部预测值。内部预测模块接着分别收集所有像素的9种内部预测值以产生9个预测区块,并计算9个区块的位元率-失真最佳化成本,最后选取具有最低的位元率-失真最佳化成本的预测区块作为输出。视频数据的数个位元可用以储存目标区块的被选取的内部预测模式,以便传递至解码器时指示解码器目标区块依据何内部预测模式编码。
图4的方法400产生包括多个加权平均预测值的预测区块。然而,包括多个加权平均预测值的预测区块可能较仅仅依据目标区块的单一内部预测模式所产生的预测区块具有较高的位元率-失真最佳化成本。因此,在一实施例中,内部预测模块具有一机制,以自动决定是否依据方法400产生包括多个加权平均预测值的预测区块。也就是说,内部预测模块可自动的在宏区块(macroblock)的层次决定是否启动或关闭重叠区块内部预测功能400。在一实施例中,当目前区块的所有像素的加权平均预测值均计算完毕后,内部预测模块收集所有的加权平均预测值以得到一第一预测区块,并收集所有依据目标区块的内部预测模式所产生的第三预测值P3得到一第二预测区块。接着,内部预测模块分别计算第一预测区块及第二区块的位元率-失真最佳化成本。当第一预测区块的位元率-失真最佳化成本高于第二预测区块的位元率-失真最佳化成本,依据目标区块的内部预测模式所产生的第二预测区块将被选取以作为内部预测模块的输出。在一实施例中,视频数据的一位元被用以纪录重叠区块内部预测功能(OBIP)开或关,以通知解码器对解码流程进行对应的调整。
当一减除模块自目前区块减除预测区块以得到预测残余值后,预测残余值会被送至一转换模块进行数据压缩。图6为依据本发明的一实施例对视频数据进行数据压缩的方法600的流程图。假设视频编码器的转换模块支持多种转换型式,其中每一转换型式对应于预测残余值的一变异数(variance)大小层级。转换模块首先接收包含欲进行压缩的预测残余值的一目标区块,并决定该目标区块的内部预测模式(步骤602)。接着,转换模块自多个转换型式中选取对应于目标区块的内部预测模式的目标转换型式(步骤608)。在另一实施例中,转换模块分别计算对应于多个转换型式的多个位元率-失真最佳化成本,并选取对应于最低的位元率-失真最佳化成本的转换型式作为目标转换型式。
在部分实施例中,不同的转换型式表示以不同组的转换系数进行转换。常用在视频编码过程中的转换方法包括离散余弦转换(discrete cosine transform,DCT)以及Karhunen Loeve转换(KLT)。转换系数组依据不同的内部预测模式及变异数大小排序,其中各组转换系数是由多个预定转换系数所组成的。在一实施例中,转换模块以一转换系数表储存多组预定转换系数。图7为依据本发明一实施利的储存多组转换系数的转换系数表700。转换系数表700中的多组转换系数依据不同的内部预测模式0~8及变异数大小层级A、B、C储存。举例来说,转换系数组C0A对应于垂直内部预测模式0及最低的变异数大小层级A,而转换系数组C8C对应于水平偏上的内部预测模式8及最高的变异数大小层级C。
转换模块接着依据对应于目标转换型式的内部预测模式及变异数大小决定一组目标转换系数。在一实施例中,转换模块依据对应于目标转换型式的内部预测模式及变异数大小搜寻转换系数表700,以得到目标转换系数。接着,转换模块扫描该目标区块的多个像素以取得目标区块的多个预测残余值(步骤609),并依据目标转换型式所对应的目标转换系数转换该等预测残余值为多个转换值(步骤610)。在一实施例中,转换模块依据目标转换型式决定一特定的扫描顺序,并依该扫描顺序扫描该目标区块的多个像素以得到多个预测残余值。转换模块接着重复步骤604~612,直到目标区块的所有预测残余值均已被转换为转换值为止(步骤612)。因此,针对不同内部预测模式的宏区块,本发明的转换模块可依据其内部预测模式所对应的不同转换型式进行转换处理。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何熟知此项技术者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的保护范围当视权利要求范围所界定者为准。
机译: 视频编码器和用于进行帧内预测和视频数据压缩的方法
机译: 基于多层的视频编码方法,通过对视频帧的块进行编码以在块和预测块之间存在差异来生成位序列的方法,存储平均值,预测视频帧的当前块的解码方法块,从预测块解码视频帧的当前块的方法,基于多层的视频解码方法,基于多层的视频编码器和视频解码器多层视频
机译: 用于对视频编码器和解码器的大块进行内部预测的信号的方法和装置