视频编码方法与视频编码装置制造方法

文档序号:7981749阅读:157来源:国知局
视频编码方法与视频编码装置制造方法
【专利摘要】一种视频编码的方法,用于视频编码装置。此方法包括:取得目前影像与参考影像,其中目前影像包括一个第一方块;取得多个动作向量,其中每一个动作向量是指向参考影像的一个参考方块;针对每一个动作向量,根据所指向的参考方块与第一方块执行滤波器运算以产生一个第一滤波方块,并且根据所指向的参考方块与对应的第一滤波方块计算一个误差值。此方法还包括:取得上述误差值中最小的第一误差值,并且取得对应于第一误差值的第二滤波方块;以及根据第二滤波方块编码第一方块。藉此,可以增加压缩比与视频质量。
【专利说明】视频编码方法与视频编码装置
【技术领域】
[0001 ] 本发明是有关于一种视频编码的方法与装置。
【背景技术】
[0002]在视频编码中,通常会把一张影像划分为多个巨方块(macro block),并且一个巨方块可以包括一或多个方块。如果想要找到视频中的时间冗余(temporal redundancy),会搜寻一个方块的动作向量(motion vector)。搜寻动作向量的过程又称为动作估测(motionestimation) 0 一个动作向量是从目前影像的一个方块指向参考影像的一个方块。编码器会利用参考影像上的方块来预测目前影像的方块,并且产生预测后的剩余值(residual)。编码器会对产生的剩余值进行转换、量化、和熵值编码(entropy coding)等运算。
[0003]然而,在影像中通常都会有噪声。这些噪声可以经过滤波器运算来消除。而滤波器的种类又可分为空间上与时间上的滤波器(temporal filter)。若为时间上的滤波器,同样会参考一个参考影像。因此,如何在视频编码时,同时进行滤波器运算,为本领域技术人员所关心的议题。

【发明内容】

[0004]本发明的实施例提出一种视频编码方法与视频编码系统,可以在编码时同时进行滤波器运算。
[0005]本发明一实施例提出一种视频编码的方法,用于视频编码装置。此方法包括:取得目前影像与参考影像,其中目前影像包括一个第一方块;取得多个动作向量,其中每一个动作向量是指向参考影像的一个参考方块;针对每一个动作向量,根据所指向的参考方块与第一方块执行滤波器运算以产生一个第一滤波方块,并且根据所指向的参考方块与对应的第一滤波方块计算误差值。此方法还包括:取得上述误差值中最小的第一误差值,并且取得对应于第一误差值的第二滤波方块;以及根据第二滤波方块编码第一方块。
[0006]在一实施例中,上述针对每一个动作向量,根据所指向的参考方块与对应的第一滤波方块计算误差值的步骤包括:根据对应的第一滤波方块与第一方块执行细节保留运算以取得细节保留方块;以及,计算细节保留方块与所指向的参考方块之间的误差值。上述根据第二滤波方块编码第一方块的步骤包括:取得对应于第二滤波方块的第一参考方块;取得对应第二滤波方块的细节保留方块;以及编码细节保留方块与第一参考方块之间的剩余值。
[0007]在一实施例中,上述根据第二滤波方块编码第一方块的步骤包括:取得参考影像中的零参考方块,其中零参考方块在参考影像的坐标等于第一方块在目前影像的坐标;根据零参考方块与第一方块执行滤波器运算以取得第三滤波方块;根据第二滤波方块与第三滤波方块执行滤波器运算以取得第四滤波方块;取得在目前影像中相邻于第一方块的第二方块;以及根据第二方块预测第四滤波方块以取得一个剩余值,并且编码此剩余值。
[0008]在一实施例中,上述根据第二滤波方块编码第一方块的步骤包括:取得参考影像中的零参考方块,其中零参考方块在参考影像的坐标等于第一方块在目前影像的坐标;根据零参考方块与第一方块执行滤波器运算以取得第三滤波方块;根据第二滤波方块与第三滤波方块执行滤波器运算以取得第四滤波方块;取得对应于第二滤波方块的第一参考方块;以及编码第一参考方块与第四滤波方块之间的剩余值。
[0009]在一实施例中,在取得动作向量的步骤之前,上述的方法还包括:取得多个粗动作向量,其中每一个粗动作向量是指向参考画面的一个第二参考方块;针对每一个粗动作向量,计算所指向的第二参考方块与第一方块之间的第三误差值;取得第三误差值中最小的第四误差值,并且取得对应于第四误差值的第一粗动作向量;取得多个细动作向量;并且根据这些细动作向量与第一粗动作向量产生上述的动作向量。
[0010]在一实施例中,上述的每一个粗动作向量的水平分量与垂直分量为整数,并且每一个细动作向量的水平方量与垂直分量为小于I的小数。
[0011]在一实施例中,上述的视频编码方法还包括:取得一个粗动作向量与目前画面中的第四方块,其中粗动作向量是指向参考影像的第一参考方块;根据第一参考方块与第四方块执行滤波器运算以取得第二滤波方块;根据第二滤波方块与第四方块执行细节保留运算以取得一个细节保留方块;根据此粗动作向量产生多个第一动作向量,其中每一个第一动作向量是指向参考影像的一个第二参考方块;计算每一个第二参考方块与细节保留方块之间的第三误差值;取得第三误差值中最小的第四误差值;取得对应于第四误差值的第一细节保留方块;根据第一细节保留方块编码第四方块。
[0012]在一实施例中,上述的第一方块属于多个方块类型的其中之一。在取得动作向量的步骤之前,此方法还包括:取得每一个方块类型的多个第一动作向量,其中每一个第一动作向量是指向参考影像的一个第一参考方块;针对每一个类型的每一个第一动作向量,根据所指向的第一参考方块与第一方块计算第一误差值;以及针对每一个类型,取得第一误差值中最小的第二误差值,并取得对应第二误差值的第二动作向量。其中这些第二动作向量为上述的动作向量。
[0013]以另外一个角度来说,本发明一实施例提出一种视频编码装置,包括:动作估测电路、滤波器运算电路与编码电路。动作估测电路是用以取得目前影像与参考影像,其中目前影像包括第一方块。滤波器运算电路是耦接至动作估测电路,用以执行滤波器运算。编码电路是耦接至动作估测电路与滤波器运算电路。动作估测电路用以取得多个动作向量,其中每一个动作向量是指向参考影像的一个参考方块。针对每一个动作向量,滤波器运算电路用以根据所指向的参考方块与第一方块执行滤波器运算以产生一个第一滤波方块,并且动作估测电路用以根据所指向的参考方块与对应的第一滤波方块计算一个误差值。动作估测电路用以取得这些误差值中最小的第一误差值,并且滤波器运算电路用以取得对应于第一误差值的第二滤波方块。编码电路用以根据第二滤波方块编码第一方块。
[0014]在一实施例中,针对每一个动作向量,滤波器运算电路还用以根据对应的第一滤波方块与第一方块执行细节保留运算以取得一个细节保留方块;并且动作估测电路还用以计算细节保留方块与所指向的参考方块之间的误差值。编码电路还用以取得对应于第二滤波方块的第一参考方块,取得对应第二滤波方块的细节保留方块,并且编码细节保留方块与第一参考方块之间的剩余值。
[0015]在一实施例中,上述的滤波器运算电路还用以取得参考影像中的零参考方块。零参考方块在参考影像的坐标等于第一方块在目前影像的坐标。滤波器运算电路还用以根据零参考方块与第一方块执行滤波器运算以取得第三滤波方块,并且根据第二滤波方块与第三滤波方块执行滤波器运算以取得第四滤波方块。编码电路还用以取得在目前影像中相邻于第一方块的第二方块,根据第二方块预测第四滤波方块以取得一个剩余值,并且编码此剩余值。
[0016]在一实施例中,上述的滤波器运算电路还用以取得参考影像中的零参考方块,其中零参考方块在参考影像的坐标等于第一方块在目前影像的坐标。滤波器运算电路还用以根据零参考方块与第一方块执行滤波器运算以取得第三滤波方块,根据第二滤波方块与第三滤波方块执行滤波器运算以取得第四滤波方块。其中编码电路还用以取得参考方块中对应于第二滤波方块的第一参考方块并且编码第一参考方块与第四滤波方块之间的一剩余值。
[0017]在一实施例中,上述的动作估测电路还用以取得多个粗动作向量,其中每一个粗动作向量是从第一方块指向参考画面的第二参考方块。针对每一个粗动作向量,动作估测电路还用以计算所指向的第二参考方块与第一方块之间的第三误差值。动作估测电路还用以取得这些第三误差值中最小的第四误差值,取得对应于第四误差值的第一粗动作向量,取得多个细动作向量,并且根据这些细动作向量与第一粗动作向量产生上述的动作向量。
[0018]在一实施例中,上述的每一个粗动作向量的水平分量与垂直分量为整数,并且每一个细动作向量的水平方量与垂直分量为小于I的小数。
[0019]在一实施例中,上述的动作估测电路还用以取得一个粗动作向量与目前画面中的第四方块。此粗动作向量是指向参考影像的第一参考方块。滤波器运算电路还用以根据第一参考方块与第四方块执行滤波器运算以取得第二滤波方块,并且根据第二滤波方块与第四方块执行细节保留运算以取得一个细节保留方块。动作估测电路还用以根据粗动作向量产生多个第一动作向量,其中每一个第一动作向量是指向参考影像的一个第二参考方块。动作估测电路还用以计算每一个第二参考方块与细节保留方块之间的一个第三误差值,并且取得这些第三误差值中最小的第四误差值。编码电路还用以取得对应于第四误差值的第一细节保留方块,并且根据第一细节保留方块编码第四方块。
[0020]在一实施例中,上述的第一方块属于多个方块类型的其中之一。动作估测电路还用以取得每一个方块类型的多个第一动作向量,其中每一个第一动作向量是指向参考影像的一个第一参考方块。针对每一个类型的每一个第一动作向量,动作估测电路还用以根据所指向的第一参考方块与第一方块计算一个第一误差值。针对每一个类型,动作估测电路还用以取得这些第一误差值中最小的第二误差值,并取得对应第二误差值的第二动作向量。这些第二动作向量为上述的动作向量。
[0021]基于上述,本发明实施例所提出的视频编码方法与视频编码装置,可以根据滤波器运算的结果来搜寻动作向量。藉此,可以增加压缩比与视频质量。
[0022]为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
【专利附图】

【附图说明】
[0023]图1是根据一实施例说明视频编码装置的方块图。[0024]图2是根据一实施例说明方块类型的示意图。
[0025]图3是根据一实施例说明动作估测的示意图。
[0026]图4是根据一实施例说明内部预测的示意图。
[0027]图5是根据第一实施例说明视频编码方法的流程图。
[0028]图6A是根据一实施例说明根据零参考方块来编码一个方块的示意图。
[0029]图6B是根据第二实施例说明内部预测的示意图。
[0030]图7是根据第三实施例说明视频编码方法的流程图。
[0031]图8是根据第四实施例说明视频编码方法的流程图。
[0032]图9是根据一实施例说明粗动作向量与细动作向量的示意图。
[0033]图10是根据第五实施例说明视频编码方法的流程图。
[0034]图11是根据第六实施例说明视频编码方法的流程图。
[0035][主要元件标号说明]
[0036]100:视频编码装置112:动作估测电路
[0037]114:滤波器运算电路120:动作补偿电路
[0038]130:内部预测与补偿电路 140:多工器
[0039]150:剩余值计算电路160:转换与量化电路
[0040]170:熵值编码电路180:重建电路
[0041]182:去方块电路190:存储器
[0042]SlOl:目前影像S102:参考影像
[0043]S103:动作向量S104、S105:巨方块
[0044]S106:剩余值S107:系数
[0045]S108:位串S109:重建影像
[0046]Slll:影像301~303:方块类型
[0047]311、312、201、214、401 ~403:方块
[0048]211 ~213、912、913:参考方块 221 ~223、931:动作向量
[0049]231、601、602:滤波方块
[0050]S502、S504、S506、S508、S510、S702、S704、S706、S708、S710、S712、S714、S716、S718、S720、S802、S804、S806、S808、S810、S812、S814、S818、S820、S822、S824、S1002、S1004、S1006、S1008、S1010、S1012、S1014、S1016、S1018、S1020、S1022、S1102、S1104、S1106、S1108、S1110、S1112、S1114、S1116、S1118、S1120、S1122:视频编码方法的步骤
[0051]603:剩余值901~903:粗动作向量
[0052]921、922:细动作向量
【具体实施方式】
[0053][第一实施例]
[0054]图1是根据一实施例说明视频编码装置的方块图。
[0055]请参照图1, 视频编码装置100是用以编码一段视频以产生此视频的位串(bitstream)。视频编码装置100包括动作估测电路112、滤波器运算电路114、动作补偿电路120、内部预测与补偿电路130、多工器140、剩余值计算电路150、转换与量化电路160、熵值编码电路170、重建电路180、去方块电路182与存储器190。视频编码装置100可以被配置在计算机、智能型手机、数字摄影机、数字相机或是服务器上,本发明并不在此限。其中动作补偿电路120、内部预测与补偿电路130、多工器140、剩余值计算电路150、转换与量化电路160、熵值编码电路170、重建电路180与去方块电路182亦可被合称为编码电路122。
[0056]动作估测电路112会接收一段影片中的目前影像S101,并且从存储器190中取得参考影像S102。对一个目前要编码的巨方块(亦称目前巨方块)来说,动作估测电路112会以方块为单位,根据目前影像SlOl与参考影像S102执行动作估测并且取得动作向量S103。换言之,当一个巨方块被分为多个方块时,动作向量S103的数目会大于I。
[0057]滤波器运算电路114会根据目前影像SlOl与参考影像S102执行一个滤波器运算。特别的是,此滤波器运算的结果会传送给动作估测电路112,影响动作估测的结果,以下将详细说明。
[0058]动作补偿电路120会根据动作向量S103执行动作补偿(motion compensation),以产生一个预测的巨方块S104。巨方块S104是用以去除时间冗余。
[0059]内部预测与补偿电路130是根据目前影像SlOl自身的信息来产生一个预测的巨方块S105。巨方块S105是用以去除空间的冗余(spatial redundancy)。
[0060]多工器140会从巨方块S104与巨方块S105中选择一个并且传送给剩余值计算电路 150。
[0061]由于巨方块S104与巨方块S105都是用以预测目前巨方块的像素值,剩余值计算电路150会根据预测的结果来产生目前巨方块的剩余值。例如,剩余值计算电路150会将目前巨方块中所有的像素值减去预测的巨方块中对应位置的像素值,而相减后的结果便是剩余值S106。
[0062]转换与量化电路160会对剩余值S106进行转换与量化的运算。例如,此转换为离散余弦转换(discrete cosine transform)。执行完转换与量化的运算后,转换与量化电路160会产生系数S107。
[0063]熵值编码电路170会对系数S107执行熵值编码。例如,此熵值编码包括行程长度编码(run-length coding)、霍夫曼(huffman)编码或算术编码(arithmetic coding),本发明并不在此限。最后,熵值编码电路170会产生目前巨方块的位串S108。
[0064]然而,视频编码装置100为了与一个解码装置同步,在编码完目前影像SlOl以后也会重建出一张影像。具体来说,重建电路180会根据预测的巨方块S104或S105,以及系数S107产生重建影像S109。重建影像S109与目前影像SlOl中每一个像素值会很接近但可能有一误差,此误差便是量化的结果。
[0065]去方块电路182会对重建影像S109执行去方块(deblocking)运算。由于重建影像S109是以巨方块为单位重建的,因此相邻的巨方块之间可能会发生视觉上不连续的情形。经过去方块运算以后,此不连续的情形便可以减轻。最后去方块电路182会产生影像Slll并且储存在存储器190中。当视频编码装置100编码完目前影像SlOl以后,会接收下一张影像,此时影像Slll便可以作为下一张影像的参考影像。
[0066]在本实施例中,目前影像S101、参考影像S102与影像Slll都是指一个图帧(frame)。然而,在其它实施例中,目前影像S101、参考影像S102与影像Slll也可以是一个图场(field),此外,一个巨方块所包括的像素值可以是代表亮度或是彩度的像素值,本发明并不在此限。
[0067]图2是根据一实施例说明方块类型的示意图。
[0068]请参照图2,一个巨方块可以被分为方块类型301?304。在不同方块类型中,一个巨方块会被切割为不同数目与大小的方块。在本实施例中,一个巨方块的宽度与高度都是16个像素值。在其它实施例中,一个巨方块的宽度与高度也可是32或64个像素值,在本发明并不在此限。
[0069]在方块类型301中,一个巨分块只被分为一个方块,即此方块的宽度与高度都是16个像素值。
[0070]在方块类型302中,一个巨方块会被分为方块311与方块312。方块311与方块312的宽度都为16个像素值,但高度为8个像素值。当进行动作估测时,动作估测电路112会产生属于方块311的多个动作向量,并且会产生属于方块312的多个动作向量。
[0071]在方块类型303中,一个方块会被分为两个方块,并且这两个方块的宽度为8个像素值,高度为16个像素值。
[0072]在方块类型304中,一个方块会被分为4个方块,这四个方块的高度与宽度都是8个像素值。
[0073]动作估测电路112会从方块类型301?304中选择一个方块类型来编码一个巨方块。此选择的依据可以是挑选出有压缩比最高的方块类型,但本发明并不在此限。具体来说,当进行动作估测时,动作估测电路112会对每一个方块类型的每一个方块都产生多个动作向量,并且根据这些动作向量计算出多个误差值。动作估测电路112会根据这些误差值来挑出一个方块类型以及对应的一或多个动作向量。举例来说,当一个方块中所有的像素值都很类似时,方块类型301被选中的机率较大;当一个方块有一个水平的边界时,则方块类型302被选中的机率较大。然而,在其它实施例中,动作估测电路112也可以设定其它方块类型,本发明并不在此限。
[0074]图3是根据一实施例说明动作估测的示意图。
[0075]请参照图3,动作估测电路112会先取得目前影像SlOl与参考影像S102。目前影像SlOl包括了目前要编码的方块201 (亦称第一方块),参考影像S102包括参考方块214。方块201在目前影像SlOl的坐标会等于参考方块214在参考影像S102中的坐标。方块201与参考方块214的大小(即,宽度与高度)会相同,并且参考方块214亦可被称为零参考方块。值得注意的是,方块201会属于一个巨方块,而此巨方块的方块类型可以是方块类型301?304中的任何一个。图3仅是说明计算某一个方块类型时的动作估测。
[0076]动作估测电路112会取得动作向量221?223。其中,动作向量221是从参考方块214指向参考影像S102上的参考方块211 ;动作向量222是从参考方块214指向参考方块212 ;动作向量223是从参考方块214指向参考方块213。动作估测电路112是要从参考方块211?213中找到与方块201最相似的一个。
[0077]每个动作向量221?223都包括一个水平分量与一个垂直方量。参考方块214是对应至一个水平分量与垂直方量皆为O的动作向量。动作向量221?223的产生可以是根据任意的动作估测算法(例如,钻石搜寻算法),本发明并不限制如何产生动作向量221?223。并且,动作估测电路112也可以产生数目更多或更少的动作向量,本发明并不在此限。或者,在另一实施例中,动作估测电路112也可以使用多个参考影像,动作估测电路112会在每个参考影像中产生多个动作向量。本发明也不限制参考影像的数目。
[0078]对于每一个动作向量,滤波器运算电路114都会根据所指向的参考方块与方块201来执行一个滤波器运算。以动作向量221为例,假设方块201中一个像素值被表不为C,而参考方块211中对应的像素值被表示为R。滤波器运算电路114会根据以下方程序(I)来执行滤波器运算。
[0079]C,=W1IHW2C...(I)
[0080]其中,W1与W2为实数,表示滤波器运算中的权重。在一实施例中,W1与W2的和为I,但本发明并不限制W1与W2的值。或者,滤波器运算电路114也可以用C及C周围的8个像素值和R及R周围的8个像素值组成C’,本发明并不限制滤波器所需的像素数目。当方块201与参考方块211中的每一个像素值都经过方程式(I)的运算以后,所有的像素值C’便会组成滤波方块231 (亦称第一滤波方块)。动作估测电路112会根据参考方块211与滤波方块231计算一个误差值。例如,动作估测电路112可以计算参考方块211与滤波方块231之间的绝对误差和(sum of absolute difference, SAD)。然而,动作估测电路112也可以使用绝对转换误差和(Sum of absolute transformed differences, SATD)来计算误差值,本发明并不在此限。在此称动作向量221、参考方块221、滤波方块231以及所产生的误差值相互对应。在本说明书中,当称一个误差值对应于一个参考方块时,是表示此误差值是根据此参考方块所计算出,以下不再赘述。
[0081]类似地,对于动作向量222,滤波器运算电路114会根据参考方块212与方块201执行如方程式(I)的滤波器运算,藉此产生一个滤波方块(亦称第一滤波方块)。并且,动作估测电路112会根据参考方块212与此滤波方块产生一个误差值。
[0082]对于动作向量223,滤波器运算电路114会根据参考方块213与方块201执行如方程式(I)的滤波器运算,藉此产生一个滤波方块(亦称第一滤波方块)。并且,动作估测电路112会根据参考方块213与此滤波方块产生一个误差值。
[0083]对于每一个方块类型,动作估测电路112都会依照上述方式产生多个误差值。动作估测电路112会从所产生的误差值中,找到最小的一个(亦称第一误差值)。在此假设动作向量221所对应的误差值为第一误差值。动作估测电路112会取得此第一误差值对应的滤波方块231 (此时亦被称为第二滤波方块)。接下来,编码电路122会根据滤波方块213来编码方块201。
[0084]具体来说,动作补偿电路120会根据动作向量221取得参考方块211 (亦称第一参考方块)。多工器140会将参考方块211传送给剩余值计算电路150。剩余值计算电路150会计算参考方块211与滤波方块231之间的剩余值,而转换与量化电路160与熵值编码电路170会编码此剩余值。
[0085]此外,重建电路180会根据方块201的编码结果(例如,图1所示的系数S107)重建出一个方块并储存在存储器190中。
[0086]图4是根据一实施例说明内部预测的示意图。
[0087]请参照图4,滤波方块231的位置即是方块201的位置。当要用内部预测的方式来编码方块201时,内部预测与补偿电路130会取得相邻于方块201的方块401与402。方块401与方块402是已经编码过并且被重建出的方块。内部预测与补偿电路130会根据方块401与402产生一个预测方块。剩余值计算电路150会计算此预测方块与滤波方块231之间的剩余值。接下来,转换与量化电路160与熵值编码电路170会编码这些剩余值。
[0088]图5是根据第一实施例说明视频编码方法的流程图。
[0089]请参照图5,在步骤S502中,动作估测电路110会取得目前影像与参考影像,其中目前影像包括一个第一方块。
[0090]在步骤S504中,动作估测电路110会取得多个动作向量,其中每一个动作向量是指向参考影像的一个参考方块。
[0091]在步骤S506中,针对每一个动作向量,滤波器运算电路114会根据所指向的参考方块与第一方块执行滤波器运算以产生一个第一滤波方块;并且动作估测电路112会根据所指向的参考方块与对应的第一滤波方块产生一个误差值。
[0092]在步骤S508中,动作估测电路110会取得这些误差值中最小的一个第一误差值,并且取得对应于第一误差值的第二滤波方块。
[0093]在步骤S510中,编码电路122会根据第二滤波方块编码第一方块。值得注意的是,在此所指的是根据第二滤波方块来产生代表第一方块的位串,并不一定是编码第一方块中的像素值。例如,编码电路122是编码第二滤波方块与一个参考方块之间的剩余值来产生代表第一方块的位串。
[0094]然而,图5中各步骤已详细说明如上,在此便不再赘述。
[0095][第二实施例]
[0096]第二实施例与第一实施例类似,在此仅描述不同之处。在第二实施例中,当做完动作估测以后,视频编码装置100还会使用零参考方块来编码一个方块。
[0097]图6A是根据一实施例说明根据零参考方块来编码一个方块的示意图。
[0098]请参考图3与图6A,在此假设做完动作估测以后,动作向量221所对应的误差值最小。当滤波器运算电路114根据参考方块211与方块201执行上述方程式(I)的滤波器运算以取得滤波方块231以后,还会取得零参考方块214。滤波器运算电路114会根据方块201与零参考方块再执行一次滤波器运算,以得到滤波方块601 (亦称第三滤波方块)。并且,滤波器运算电路114会根据滤波方块231与滤波方块601再执行一次滤波器运算,以得到滤波方块602 (亦称第四滤波方块)。接下来,剩余值计算电路150会计算参考方块211与滤波方块602之间的剩余值603。而转换与量化电路160与熵值编码电路170会编码剩余值603。
[0099]值得注意的是,图6A所示的实施例中共执行了三次滤波器运算,然而每一次滤波器运算中的权重W1与W2都可以不同,本发明并不在此限。
[0100]图6B是根据第二实施例说明内部预测的示意图。
[0101]请参照图6B,滤波方块602的位置就是方块201的位置。当要用内部预测的方式来编码方块201时,内部预测与补偿电路130会取得相邻于方块201的方块401与402。内部预测与补偿电路130会根据方块401与402产生一个预测方块。剩余值计算电路150会计算此预测方块与滤波方块602之间的剩余值。接下来,转换与量化电路160与熵值编码电路170会编码这些剩余值。
[0102][第三实施例]
[0103]第三实施例与第一实施例类似,在此仅描述不同之处。在第三实施例中,在做动作估测时,不仅会使用滤波器运算,也会使用一个细节保留运算,藉此增加影像的锐利度。[0104]如图3的实施例所示,以动作向量221为例,动作估测电路112会取得对应动作向量211的滤波方块231。此外,滤波器运算电路114会根据滤波方块231与方块201执行细节保留运算以产生一个细节保留方块。
[0105]举例来说,滤波器运算电路114会先对方块201执行一个边缘检测以取得在边缘的像素值。滤波器运算电路114可以根据方程式(2),将这些边缘的像素值与滤波方块231中的像素值合成出细节保留方块。
[0106]…(2)
[0107]其中,C为方块201中的一个像素值。C’为滤波方块231中的一个像素值。C,,为
细节保留方块中的一个像素值。
[0108]然而,在其它实施例中,滤波器运算电路114也可以使用其它算法来将方块201的细节加入至滤波方块231,本发明并不在此限。
[0109]取得细节保留方块以后,动作估测电路112会计算此细节保留方块与参考方块211之间的误差值。此外,对于动作向量222与223,动作估测电路112与滤波器运算电路114也会根据上述方式取得对应的误差值。
[0110]图7是根据第三实施例说明视频编码方法的流程图。
[0111]请参照图7,在步骤S702中,动作估测电路112会先取得一个动作向量。
[0112]在步骤S704中,滤波器运算电路114会根据目前影像SlOl的一个方块与上述动作向量所指向的参考方块来执行滤波器运算,藉此产生一个滤波方块。
[0113]在步骤S706中,滤波器运算电路114会根据此滤波方块与目前影像SlOl的方块来执行细节保留运算,藉此产生一个细节保留方块。
[0114]在步骤S708中,动作估测电路112会计算参考方块与细节保留方块之间的误差值。
[0115]在步骤S710,动作估测电路112会判断在一个方块类型中,是否还有其它的动作向量要计算。若是,则动作估测电路112会回到步骤S702。若否,则动作估测电路112会进行步骤S712。
[0116]在步骤S712中,动作估测电路112会判断是否还有其它的方块类型要计算。若是,则动作估测电路112会回到步骤S702。若否,则动作估测电路112会进行步骤S714。
[0117]在步骤S714中,动作估测电路112会从所计算的多个误差值中,取得最小的第一
误差值。
[0118]在步骤S716中,滤波器运算电路114会取得对应第一误差值的滤波方块。在本实施例中,滤波器运算电路114会根据参考影像S102与目前影像SlOl重新计算滤波方块。然而,在其它实施例中,滤波器运算电路114也可以在先前的步骤S704中将滤波方块储存在存储器190中,如此一来,在步骤S716中便可以从存储器190中读取所需要的滤波方块。
[0119]在步骤S718中,滤波器运算电路114会根据滤波方块与目前的方块(例如,方块201)来执行细节保留运算,以取得一个细节保留方块。
[0120]在步骤S720中,编码电路122会根据细节保留方块来编码目前的方块。例如,剩余值计算电路150会计算对应的参考方块(例如,参考方块211)与细节保留方块之间的剩余值。而转换与量化电路160与熵值编码电路170会编码此剩余值。或者,编码电路122也可以依照第二实施例的方式,再使用一个零参考方块来编码目前的方块,本发明并不在此限。[0121]图7中各步骤的细节已详细说明如上,在此便不再重复赘述。
[0122][第四实施例]
[0123]第四实施例与第一实施例相似,在此仅描述不同之处。在第一范例实施例中,滤波器运算电路114对于每一个方块类型的每一个动作向都会执行滤波器运算。然而,在第四实施例中,滤波器运算电路114仅会对每一个方块类型执行一次滤波器运算。
[0124]图8是根据第四实施例说明视频编码方法的流程图。
[0125]请参照图8,在步骤S802中,动作估测电路112会取得一个动作向量(亦称第一动作向量)。
[0126]在步骤S804中,动作估测电路112会根据此动作向量,计算所指向的参考方块(亦称第一参考方块)与目前的方块之间的误差值(亦称第一误差值)。
[0127]在步骤S806,动作估测电路112会判断是否还有其它的动作向量。若是,则动作估测电路112会回到步骤S802。若否,则动作估测电路112会执行步骤S808。
[0128]在步骤S808中,动作估测电路112会从目前产生的误差值中选出最小的误差值(亦称第二误差值),并且取得对应此最小误差值的动作向量(亦称第二动作向量)。
[0129]在步骤S810中,滤波器运算电路114会根据步骤S808中取得的动作向量取得一个参考方块,并根据此参考方块与目前要编码的方块执行滤波器运算,藉此产生一个滤波方块。
[0130]在步骤S812中,滤波器运算电路114会根据此滤波方块与目前要编码的方块执行细节保留运算,藉此产生一个细节保留方块。
[0131]在步骤S814中,滤波器运算电路114会根据此细节保留方块与对应的参考方块之间的误差值。
[0132]在步骤S816中,动作估测电路112会判断是否还有其它的方块类型要计算。若是,则动作估测电路112会回到步骤S802。若否,则动作估测电路112会进行步骤S818。
[0133]在步骤S818中,动作估测电路112会从所产生的误差值(其数目等于方块类型的数目)中,取得最小的一个。在步骤S820中,滤波器运算电路114会取得最小误差值所对应的滤波方块。在步骤S822中,滤波器运算电路114会取得对应最小误差值的细节保留方块。在步骤S824中,编码电路122会根据此细节保留方块来编码目前的方块。
[0134]图8中各步骤的细节已详细说明如上,在此便不再重复赘述。
[0135][第五实施例]
[0136]第五实施例与第一实施例类似,在此仅说明不同之处。在第五实施例中,一个动作向量可以被分为粗动作向量(coarse motion vector)与细动作向量(fined motionvector)。动作估测电路112会在搜寻完粗动作向量以后执行滤波器运算,接着再搜寻细动作向量。
[0137]图9是根据一实施例说明粗动作向量与细动作向量的示意图。
[0138]请参照图9,在动作估测的运算中,动作估测电路112会先产生粗动作向量901?903。每一个粗动作向量都会指向一个参考方块(亦称第二参考方块),例如方块912与913。动作估测电路112会计算粗动作向量所指向的参考方块与目前的方块(B卩,方块201)之间的误差值(亦称第三误差值)。动作估测电路112会从这些误差值中找到最小的一个(亦称第四误差值)。在此假设此最小误差值所对应的是粗动作向量901 (此时亦称第一粗动作向量)。动作估测电路112会再产生细动作向量921与922,并根据这些细动作向量921?922与粗动作向量901产生多个动作向量。例如,动作估测电路112会将细动作向量921与粗动作向量901相加,以产生动作向量931。换言之,动作估测电路112是先用粗动作向量做大范围的搜寻。接着再用细动作向量做小范围的搜寻。
[0139]例如,粗动作向量901的水平分量与垂直分量都为整数,而细动作向量902的水平分量与垂直分量都为小于I的小数。然而,在另一实施例中,粗动作向量901的水平分量与垂直分量都大于一个临界值(例如,3个像素值),而细动作向量902的水平分量与垂直分量都小于此临界值,本发明并不在此限。或者,一个动作向量可以由多个粗动作向量与多个细动作向量组成,本发明并不在此限。
[0140]图10是根据第五实施例说明视频编码方法的流程图。
[0141]请参考图10,在步骤S1002中,动作估测电路112会先取得一个粗动作向量。
[0142]在步骤S1004中,动作估测电路112会根据此粗动向量,计算所指向的参考方块与目前编码的方块(亦称第四方块)之间的误差值。
[0143]在步骤S1006中,动作估测电路112会判断是否还有其它的粗动作向量。若是,则动作估测电路112会回到步骤S1002。若否,则动作估测电路112会进行步骤S1008。
[0144]在步骤S1008中,动作估测电路112会从多个粗动作向量产生的误差值中取得最小的误差值,并且取得所对应的粗动作向量。
[0145]在步骤S1010中,滤波器运算电路114会根据步骤S1008中所取得的粗动作向量所指向的参考方块(亦称第一参考方块),并根据此参考方块与目前编码的方块执行滤波器运算,藉此取得一个滤波方块(亦称第二滤波方块)。
[0146]在步骤S1012中,滤波器运算电路114会根据所取得的滤波方块与目前的方块执行细节保留运算,藉此产生一个细节保留方块。
[0147]在步骤S1014中,动作估测电路112会取得一个细动作向量,并将此细动作向量加入步骤S1008所取得的粗动作向量,藉此取得一个新的动作向量(亦称第一动作向量)。
[0148]在步骤S1016中,动作估测电路112会取得此新动作向量所指向的参考方块(亦称第二参考方块),并根据此参考方块与目前的方块计算出一个误差值(亦称第三误差值)。
[0149]在步骤S1018中,动作估测电路112会判断是否有其它的细动作向量。若是,动作估测电路112会回到步骤S1014。若否,动作估测电路112会进行步骤S1020。
[0150]在步骤S1020中,动作估测电路112会判断是否有其它方块类型。若是,动作估测电路112会回到步骤S1002。若否,则会进行步骤S1022。
[0151]在步骤S1022中,动作估测电路112会从多个误差值(其数目等于方块类型的数目乘上一个方块类型中细动作向量的数目)中取得最小的一个(亦称第四误差值),并且取得对应的一个动作向量。此动作向量是指向一个参考方块。滤波器运算电路114会根据此参考方块与目前的方块执行滤波器运算以产生滤波方块,并且根据此滤波方块与前的方块产生一个细节保留方块(亦称第一细节保留方块),最后会根据此第一细节保留方块编码目前的方块。
[0152]然而,图10中各步骤的细节已详细说明如上,在此便不再重复赘述。
[0153][第六实施例][0154]第六实施例与第五实施例类似,在此仅说明不同之处。
[0155]图11是根据第六实施例说明视频编码方法的流程图。
[0156]请参照图11,在步骤SI 102,动作估测电路112会取得一个粗动作向量。
[0157]在步骤S1104中,动作估测电路112会根据此粗动作向量计算一个误差值。
[0158]在步骤S1106中,动作估测电路112会判断是否有其它粗动作向量。若是,则动作估测电路112会回到步骤S1102。若否,则动作估测电路112会进行步骤S1108。
[0159]在步骤S1108中,动作估测电路112会从所产生的误差值中取得最小的一个,并且取得对应的粗动作向量。
[0160]在步骤SlllO中,动作估测电路112会取得一个细动作向量,并且加入至步骤S1108所取得的粗动作向量,藉此产生一个新的动作向量。
[0161]在步骤S1112,滤波器运算电路114会根据新的动作向量执行滤波器运算以产生一个滤波方块。
[0162]在步骤S1114,滤波器运算电路114会根据上述的滤波器方块与目前要编码的方块执行细节保留运算,藉此产生一个细节保留方块。
[0163]在步骤S1116中,动作估测电路112会根据此新的动作向量取得一个参考方块,并计算此参考方块与细节保留方块之间的误差值。
[0164]在步骤S118中,动作估测电路112会判断是否还有其它细动作向量。若是,则动作估测电路112会回到步骤SI 110。若否,则动作估测电路112会进行步骤SI 120。
[0165]在步骤S1120中,动作估测电路112会判断是否有其它的方块类型。若是,则动作估测电路112会回到步骤S1102。若否,则动作估测电路112会进行步骤S1122。
[0166]在步骤SI 122中,动作估测电路112会从所产生的误差值(其数目等于方块类型的数目乘上每个方块类型中细动作向量的数目)中取得最小的一个。滤波器运算电路114会取得所对应的滤波方块与细节保留方块。最后,编码电路122会根据细节保留方块编码目前的方块。
[0167]然而,图11中各步骤的细节已详细说明如上,在此便不再重复赘述。
[0168]在另一实施例中,上述视频编码装置100中各个电路的功能可以被实作为多个程序码。这些程序码被储存在一个存储器中,由一个处理器来执行。本发明并不限制要用硬件或软件来实作。
[0169]综上所述,本发明实施例所提出的视频编码方法与视频编码系统,可以在动作估测的过程中同时加入滤波器运算。藉此,动作估测所找到是经过滤波器运算且压缩比最高的动作向量。如此一来,可以增加视频质量与压缩比。
[0170]虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属【技术领域】中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视所附的权利要求范围所界定者为准。
【权利要求】
1.一种视频编码的方法,用于一视频编码装置,包括: 取得一目前影像与一参考影像,其中该目前影像包括一第一方块; 取得多个动作向量,其中每一该些动作向量是指向该参考影像的一参考方块; 针对每一该些动作向量,根据所指向的该参考方块与该第一方块执行一滤波器运算以产生一第一滤波方块,并且根据所指向的该参考方块与对应的该第一滤波方块计算一误差值; 取得该些误差值中最小的一第一误差值,并且取得该些第一滤波方块中对应于该第一误差值的一第二滤波方块;以及 根据该第二滤波方块编码该第一方块。
2.根据权利要求1所述的视频编码方法, 其中针对每一该些动作向量,根据所指向的该参考方块与对应的该第一滤波方块计算该误差值的步骤包括: 根据对应的该第一滤波方块与该第一方块执行一细节保留运算,以取得一细节保留方块;以及 计算该细节保留方块与所指向的该参考方块之间的该误差值, 其中在根据该第二滤波方块编码该第一方块的步骤包括: 取得该些参考方块中对应于该第二滤波方块的一第一参考方块; 取得对应该第二滤波方块的该细节保留方块;以及 编码该细节保留方块与该第一参考方块之间的一剩余值。
3.根据权利要求1所述的视频编码方法,其中根据该第二滤波方块编码该第一方块的步骤包括: 取得该参考影像中的一零参考方块,其中该零参考方块在该参考影像的坐标等于该第一方块在该目前影像的坐标; 根据该零参考方块与该第一方块执行该滤波器运算以取得一第三滤波方块; 根据该第二滤波方块与该第三滤波方块执行该滤波器运算以取得一第四滤波方块; 取得该些参考方块中对应于该第二滤波方块的一第一参考方块;以及 编码该第一参考方块与该第四滤波方块之间的一剩余值。
4.根据权利要求1所述的视频编码方法,其中根据该第二滤波方块编码该第一方块的步骤包括: 取得该参考影像中的一零参考方块,其中该零参考方块在该参考影像的坐标等于该第一方块在该目前影像的坐标; 根据该零参考方块与该第一方块执行该滤波器运算以取得一第三滤波方块; 根据该第二滤波方块与该第三滤波方块执行该滤波器运算以取得一第四滤波方块; 取得在该目前影像中相邻于该第一方块的一第二方块;以及 根据该第二方块预测该第四滤波方块以取得一剩余值,并且编码该剩余值。
5.根据权利要求1所述的视频编码方法,其中在取得该些动作向量的步骤之前,还包括: 取得多个粗动作向量,其中每一该些粗动作向量是指向该参考画面的一第二参考方块;针对每一该些粗动作向量,计算所指向的该第二参考方块与该第一方块之间的一第三误差值; 取得该些第三误差值中最小的一第四误差值,并且取得该些粗动作向量中对应于该第四误差值的一第一粗动作向量;以及 取得多个细动作向量,并且根据该些细动作向量与该第一粗动作向量产生该些动作向量。
6.根据权利要求5所述的视频编码方法,其中每一该些粗动作向量的一水平分量与一垂直分量为整数,并且每一该些细动作向量的一水平方量与一垂直分量为小于I的小数。
7.根据权利要求1所述的视频编码方法,还包括: 取得一粗动作向量与该目前画面中的一第四方块,其中该粗动作向量是指向该参考影像的一第一参考方块; 根据该第一参考方块与该第四方块执行该滤波器运算以取得一第二滤波方块; 根据该第二滤波方块与该第四方块执行一细节保留运算以取得一细节保留方块;根据该粗动作向量产生多个第一动作向量,其中每一该些第一动作向量是指向该参考影像的一第二参考方块; 计算每一该些第二参考方块与该细节保留方块之间的一第三误差值; 取得该些第三误差值中最小的一第四误差值,并且取得对应于该第四误差值的一第一细节保留方块;以及 根据该第一细节保留方块编码该第四方块。
8.根据权利要求1所述的视频编码方法,其中该第一方块属于多个方块类型的其中之一,其中在取得该些动作向量的步骤之前,该视频编码方法还包括: 取得每一该些方块类型的多个第一动作向量,其中每一该些第一动作向量是指向该参考影像的一第一参考方块; 针对每一该些类型的每一该些第一动作向量,根据所指向的该第一参考方块与该第一方块计算一第一误差值;以及 针对每一该些类型,取得该些第一误差值中最小的一第二误差值,并取得该些第一动作向量中对应该第二误差值的一第二动作向量, 其中该些第二动作向量为该些动作向量。
9.一种视频编码装置,包括: 一动作估测电路,用以取得一目前影像与一参考影像,其中该目前影像包括一第一方块; 一滤波器运算电路,耦接至该动作估测电路,用以执行一滤波器运算;以及 一编码电路,耦接至该动作估测电路与该滤波器运算电路, 其中该动作估测电路用以取得多个动作向量,其中每一该些动作向量是指向该参考影像的一参考方块, 其中针对每一该些动作向量,该滤波器运算电路用以根据所指向的该参考方块与该第一方块执行该滤波器运算以产生一第一滤波方块,并且该动作估测电路用以根据所指向的该参考方块与对应的该第一滤波方块计算一误差值, 其中该动作估测电路用以取得该些误差值中最小的一第一误差值,并且该滤波器运算电路用以取得该些第一滤波方块中对应于该第一误差值的一第二滤波方块, 其中该编码电路用以根据该第二滤波方块编码该第一方块。
10.根据权利要求9所述的视频编码装置,其中针对每一该些动作向量,该滤波器运算电路还用以根据对应的该第一滤波方块与该第一方块执行一细节保留运算以取得一细节保留方块,并且该动作估测电路还用以计算该细节保留方块与所指向的该参考方块之间的该误差值, 其中该编码电路还用以取得该些参考方块中对应于该第二滤波方块的一第一参考方块,取得对应该第二滤波方块的该细节保留方块,并且编码该细节保留方块与该第一参考方块之间的一剩余值。
11.根据权利要求9所述的视频编码装置,其中该滤波器运算电路还用以取得该参考影像中的一零参考方块,其中该零参考方块在该参考影像的坐标等于该第一方块在该目前影像的坐标, 其中该滤波器运算电路还用以该根据该零参考方块与该第一方块执行该滤波器运算以取得一第三滤波方块,根据该第二滤波方块与该第三滤波方块执行该滤波器运算以取得一第四滤波方块, 其中该编码电路还用以取得该些参考方块中对应于该第二滤波方块的一第一参考方块并且编码该第一参考方块与该第四滤波方块之间的一剩余值。
12.根据权利要求9所述的视频编码装置,其中该滤波器运算电路还用以取得该参考影像中的一零参考方块,其中该零参考方块在该参考影像的坐标等于该第一方块在该目前影像的坐标, 其中该滤波器运算电路还用以该根据该零参考方块与该第一方块执行该滤波器运算以取得一第三滤波方块,根据该第二滤波方块与该第三滤波方块执行该滤波器运算以取得一第四滤波方块, 其中该编码电路还用以取得在该目前影像中相邻于该第一方块的一第二方块,根据该第二方块预测该第四滤波方块以取得一剩余值,并且编码该剩余值。
13.根据权利要求9所述的视频编码装置,其中该动作估测电路还用以取得多个粗动作向量,其中每一该些粗动作向量是指向该参考画面的一第二参考方块, 其中,针对每一该些粗动作向量,该动作估测电路还用以计算所指向的该第二参考方块与该第一方块之间的一第三误差值, 其中,该动作估测电路还用以取得该些第三误差值中最小的一第四误差值,取得该些粗动作向量中对应于该第四误差值的一第一粗动作向量,取得多个细动作向量,并且根据该些细动作向量与该第一粗动作向量产生该些动作向量。
14.根据权利要求13所述的视频编码装置,其中每一该些粗动作向量的一水平分量与一垂直分量为整数,并且每一该些细动作向量的一水平方量与一垂直分量为小于I的小数。`
15.根据权利要求9所述的视频编码装置,其中该动作估测电路还用以取得一粗动作向量与该目前画面中的一第四方块,其中该粗动作向量是指向该参考影像的一第一参考方块, 其中该滤波器运算电路还用以根据该第一参考方块与该第四方块执行该滤波器运算以取得一第二滤波方块,并且根据该第二滤波方块与该第四方块执行一细节保留运算以取得一细节保留方块, 其中该动作估测电路还用以根据该粗动作向量产生多个第一动作向量,其中每一该些第一动作向量是指向该参考影像的一第二参考方块, 其中该动作估测电路还用以计算每一该些第二参考方块与该细节保留方块之间的一第三误差值,取得该些第三误差值中最小的一第四误差值, 其中该编码电路还用以取得对应于该第四误差值的一第一细节保留方块,并且根据该第一细节保留方块编码该第四方块。
16.根据权利要求9所述的视频编码装置,其中该第一方块属于多个方块类型的其中之一, 其中该动作估测电路还用以取得每一该些方块类型的多个第一动作向量,其中每一该些第一动作向量是指向该参考影像的一第一参考方块, 针对每一该些类型的每一该些第一动作向量,该动作估测电路还用以根据所指向的该第一参考方块与该第一方块计算一第一误差值, 针对每一该些类型,该动作估测电路还用以取得该些第一误差值中最小的一第二误差值,并取得该些第一动作向量中对应该第二误差值的一第二动作向量, 其中该些第二动作向量为该些动作向量。
【文档编号】H04N19/513GK103581689SQ201210278309
【公开日】2014年2月12日 申请日期:2012年8月7日 优先权日:2012年8月7日
【发明者】张育玮 申请人:联咏科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1