专利名称::提高熵编码效率的方法及其视频编码器和视频解码器的制作方法
技术领域:
:与本发明一致的方法和装置涉及视频压缩技术。更具体地,本发明涉及用于提高对精细颗粒分级(FGS)层进行熵编码时的编码效率的方法和装置。
背景技术:
:随着信息和通信技术的发展,除了文本和语音通信之外的多媒体通信逐渐增长。现有的集中于文本的通信系统不够满足消费者的多种需求,因此能够容纳诸如文本、图像、音乐和其它的各种形式的信息的多媒体服务逐渐增长。由于多媒体数据较大,要求用于存储和传输它的大容量存储介质和很宽的带宽。因此,要求压缩编码技术来传输包括文本、图像和音频数据的多媒体数据。数据压缩的基本原理是消除数据冗余。能够通过消除空间冗余(诸如图像中的色彩或对象的重复)、时间冗余(诸如在运动图像的相邻帧的稍许变化或音频中连续重复的声音)、和视觉/感知冗余(其考虑人类对高频的不敏感)来压缩数据。在一般视频编码方法中,时间冗余通过基于运动补偿的时间滤波消除,空间冗余通过空间变换消除。在消除数据后,数据经过量化过程根据预定的量化步长被有损编码。最后,经过熵编码无损地编码该数据。目前,在由联合视频工作组(JVT)执行的视频编码标准化中正进行关于基于H.264标准的基于多层的编码技术的研究,所述联合视频工作组是国际标准化组织/国际电工技术委员会(ISO/正C),和国际电信联盟(ITU)的一群视频专家。具体地,能够提高帧的质量和比特率的精细颗粒分级(FGS)技术已经被采纳。图l说明构成一帧或分片(slice)10(此后叫做"分片")的多个质量层11、12、13和14的概念。质量层是在将分片划分以便支持信噪比(SNR)分级之后已经记录一个分片的数据,并且FGS层是代表性的示例,但是质量层并不局限于此。多个质量层能够由图1所示的一个基本层14和一个或多个FGS层(诸如ll、12和13)组成。在视频解码器中测量的图像质量按以下情形依次提高仅接收基本层14的情形,接收基本层14和第一FGS层13的情形,接收基本层14和第一FGS层13、第二FGS层12的情形,接收全部层11、12、13和14的情形。根据分级视频编码(SVC)草案,使用FGS层之间的关系来编码数据。换句话说,根据单独的编码途径(pass)(包括显著途径和精细途径的概念)使用一个FGS层的系数编码其它FGS层。这里,在低层的全部系数为零的情形中,当前层的系数通过显著途径编码,并且在至少一个系数不是零的情形中,当前层的系数由精细途径编码。类似地,FGS层的某些系数由不同途径编码,因为该系数的随机分布依靠低层的系数被清楚地区分
发明内容技术问题图2是说明当参照离散层的系数选择第一FGS层的编码途径时编码途径的零概率的图。在图2中,SIG表示显著途径,而REF表示精细途径。参考图2,在其中零产生于通过显著途径编码的第一FGS层的系数中(因为对应于离散层的系数是零)的概率分布不同于在其中零产生于通过精细途径编码的第一FGS层的系数中(因为对应于离散层的系数不是零)的概念分布。相似地,在零生成概率分布被清楚地区分的情形中,能够通过根据上下文模型的编码来^是高编码效率。图3是说明当参照离散层和第一FGS层的系数对第二FGS层进行编码时关于编码途径的零概率的图。参考图3,在通过精细途径编码的第二FGS层的系数和通过显著途径编码的第二FGS层的系数之间的零概率没有被分开而是被混合。换句话说,在SVC草案中公开的通过各途径的编码方法在编码第一FGS层中有效率,但是在编码第二和其它FGS层时该效率会P争低。效率之所以会降低是因为在相邻层之间有高的随机关系,但是在非相邻层之间有低的随机关系。技术方案本发明的一方面提供一种视频编码器和方法以及一种视频解码器和方法,其可以提高具有多个质量层的视频数据的熵编码和解码效率。本发明的另一方面提供一种视频编码器和方法以及一种一见频解码器和方法,其可以降低在具有多个质量层的视频数据的熵编码中的计算复杂度。根据本发明的示范实施例,提供一种视频编码器,包括帧编码单元,其从输入视频帧中产生至少一个质量层;编码途径选择单元,其参考与包括在至少一个质量层中的当前层相邻的低层的第二系数来选择编码途径,该第二系数对应于当前层的第一系数;和途径编码单元,其根据该选择的编码途径无损地编码第一系数。根据本发明的示范实施例,提供一种视频解码器,包括编码途径选择单元,其参考与当前层相邻的低层的第二系数来选择编码途径,该第二系数对应于当前质量层的第一系数,其中当前层是包括在输入比特流中的至少一个质量层之一;途径解码单元,其根据选择的编码途径无损地解码第一系数;和帧解码单元,其从无损地解码的第一系数中恢复当前层的图像。根据本发明的示范实施例,提供一种视频编码方法,包括从输入视频帧中产生至少一个质量层;参考与包括在至少一个质量层中的当前层相邻的低层的第二系数来选择编码途径,该第二系数对应于当前层的第一系数;和根据所选择的编码途径无损地编码第一系数。根据本发明的示范实施例,提供一种视频解码方法,包括参考与当前层相邻的低层的第二系数来选择编码途径,该第二系数对应于当前质量层的第一系数,其中当前层是包括在输入比特流中的至少一个质量层之一;根据选择的编码途径无损地解码第一系数;和从解码的第一系数中恢复当前层的图像。通过参照附图详细描述本发明的优选实施例,本发明的以上的和其他方面将变得明了,其中图l说明构成一帧或分片的多个质量层的概念。图2是说明当已参照离散层的系数选择第一FGS层的编码途径时编码途径的零概率的图。图3是说明当参照离散层和第一FGS层的系数编码第二FGS层时编码途径的零概率的图。图4说明将一个分片表示成一个基本层和两个FGS层的过程。图5说明在比特流中排列多个质量层的例子。图6说明在多个质量层中的空间上对应的系数。图7"i兑明在分级视频编码(SVC)草案中的编码途径确定方案。图8说明根据本发明的示范实施例的编码途径确定方案。图9说明当通过JSVM-5编码叫做FOOTBALL序列的四分之一通用中间格式(QCIF)标准测试序列时根据第二FGS层的系数的编码途径的零概率。图10说明当根据本发明的示范实施例编码该QCIFFOOTBALL序列时根据第二FGS层的系数的编码途径的零概率。图11说明经过一个循环按照扫描顺序的熵编码系数的示例。图12il明收集通过精细途径和显著途径的系^:和对该系凄丈进行熵编码的示例。图13是说明根据本发明的示范实施例的视频编码器的结构的框图。图14是说明根据本发明的示范实施例的、包括在图13中的视频编码器中的无损编码单元的详细结构的框图。图15是说明根据本发明的示范实施例的视频解码器的结构的框图。图16是说明根据本发明的示范实施例的、包括在图15中的视频解码器中的无损解码单元的详细结构的框图。图17是说明在将现有技术应用于叫做BUS序列的通用中间格式(CIF)标准测试序列时的亮度元素的峰值信噪比(PSNR)和将本发明应用于CIFBUS序列时的亮度元素的PSNR之间比较的示范图。图18是说明在将现有技术应用于叫做HARBOUR序列的四倍CIF(4CIF)标准测试序列时的亮度元素的PSNR和将本发明应用于4CIFHARBOUR序列时的亮度元素的PSNR之间比较的示范图。具体实施例方式参照附图详细描述本发明的示范实施例。通过参考附图和示范实施例的详细说明,可以更容易地理解本发明。本发明可以以多种不同形式实现,并且不应当解释为局限于在此提出的示范实施例。相反地,这些示范实施例被提供从而该公开将是全面的和完整的,且将向本领域的技术人员完全传达本发明的构思,以及本发明仅由所附权利要求限定。贯穿说明书中相似参考数字指示相似部件。图4说明将一个分片表示成一个基本层和两个FGS层的过程。原始分片由第一量化参数QP1(Sl)量化。经量化的分片22形成基本层。量化的分片22被逆量化(S2),且然后被提供给减法器24。减法器24从原始分片中减去逆量化的分片23(S3)。使用第二量化参数QP2量化该减法的结果(S4)。量化的结果25形成第一精细颗粒分级(FGS)层。下一步,经量化的分片25被逆量化(S5),并且被提供给加法器27。逆量化的分片26和逆量化的分片23由加法器27相加(S6),然后^皮^是供给减法器28。减法器28从原始分片中减去该相加结果(S6)。使用第三量化参数QP3量化该相减的结果(S7)。量化的结果29形成第二FGS层。经过如此过程,能够产生如图l所示的多个质量层。这里,第一FGS层和第二FGS层是能够在一层中截断任何任意的比特的结构。为此,在现有MPEG-4标准中使用的位平面编码技术、在SVC草案中使用的循环FGS编码技术、和其他技术能够应用于每个FGS层。如上所述,在当前SVC草案中,当确定某个FGS层的系数的编码途径时参考对应于所有层的系数。这里,"对应系数"指示在多个质量层之间处于相同空间位置的系数。例如,如图6所示,如果4x4块被表示为离散层、第一层和第二层,对应于第二FGS层的系数53的对应系数是第一FGS层的系数52和离散层的系数51。图7和图8比较在SVC草案中的编码途径确定方案61,和另一个编码途径确定方案62。在图7中,如果在与第二FGS层的系数对应的低层的系数中存在任何非零值,则第二FGS层的系数的编码途径被确定为精细途径,否则被确定为显著途径。例如,在第二FGS层的系数中的Cn人Cn+i、和Cn+2的情形下,因为低层中存在至少一个非零系数,所以编码途径被确定为精细途径,在Cn+3的情形下,因为^氐层中所有系数为零,所以编码途径-陂确定为显著途径。在图8中,仅参考正好在第二FGS层的下面的层(相邻的低层)的对应系数来确定第二FGS层的系数的编码途径。由此,如果第一FGS层(该相邻的低层)的对应系数是零,则编码途径被确定为显著途径,否则被认为是精细途径。不管离散层的系数如何都作出该确定。由此,Cn和Cn+!被编码为显著途径,而Cn+2和Cn+3:故编码为升青细途径。图9说明当在R264现有技术中通过联合分级视频模型(JSVM)-5编码叫做FOOTBALL序列的QCIF标准测试序列时才艮据第二FGS层的系数的编码途径的零概率。根据SVC草案,通过编码途径的概率分布没有被清楚地区分,因此影响熵编码的效率。根据第二FGS层的系数的编码途径的零概率。参考图10,在精细途径的情形下,零概率是差不多100%,而在显著途径的情形下,零概率是介于60%到80%之间。同样地,在通过仅参考相邻的低层的对应系数确定编码途径的情形下,概率分布通过在第二FGS层或其他层的编码途径被清楚地区分的概率很高。此外,根据SVC草案,在如图7所示确定精细途径和显著途径之后,收集对应于每个编码途径的系数,然后进行熵编码。如果包括在4x4FGS块层中的16个系数(q到d6)的扫描顺序被确定,并且在系数中,c3,c4,c5,c8,和cn是将被编码为精细途径的系数,则需要总共两个循环,如图12所示。在第一循环中,当检索到16个系数时,仅对应于精细途径的系数被熵编码,而在第二循环中,当检索到16个系数时,仅对应于显著途径的系数被熵编码。同样地,此种双途径算法能够降低视频编码器或解码器的工作速度。由此,根据本发明的示范实施例,为了减低工作次数,建议不按SVC草案中的编码途径组合该系数,而是按照图11中说明的扫描顺序经过一个循环执行该熵编码。换句话说,不管一些系数是否是精细途径还是显著途径,都按照扫描顺序对系数进行熵编码。表1是说明包括在JSVM-5中的进程的伪代码的示例,并且表2是说明根据本发明的示范实施例的进程的伪代码的示例。_表l:根据JSVM-5的进程_<table>tableseeoriginaldocumentpage10</column></row><table><table>tableseeoriginaldocumentpage11</column></row><table>表2的代码明显比表1的代码简短。此外,表l中使用两次"while"循环,但是表2中仅使用一次"while"循环。由此,很清楚通过使用表2中的算法将减少操作的数目。图13是说明根据本发明的示范实施例的视频编码器的结构的框图。视频编码器100能够包括帧编码单元110和熵编码单元120。帧编码单元110AU命入^L频帧中产生至少一个质量层。为此,帧编码单元110能够包括预测单元111、变换单元112、量化单元113和质量层生成单元114。预测单元111通过根据当前宏块中的预定的预测方法差分预测的图像获得残差信号。预测方法的一些示例是在SVC草案中公开的预测技术,如,帧间预测、定向帧间预测和帧内基本层(帧内-BL)预测。帧间预测能够包括运动估计过程,其获得用于表示在和当前帧具有相同分辨率和不同时间位置的帧与当前帧之间的相对运动的运动矢量。此外,当前帧与低层中的对应帧位于相同的时间位置,并且能够参考与当前帧具有不同分辨率的低层(基本层)的对应帧被预测,这叫做帧内基本层预测。运动估计过程在帧内基本层预测中不是必须的。变换单元112使用诸如离散余弦变换(DCT)或小波变换的空间变换技术变换获得的残差信号,并且产生变换系数。结果,产生变换系数。在使用DCT的情形下,产生DCT系数,在使用小波变换的情形下,产生小波系数。量化单元113通过量化在空间变换单元112中产生的变换系数产生量化系数。量化指的是将表示为实数的变换系数划分成一些部分,并且通过离散值指示该变换系数。此种量化方法的一些例子是标量量化和矢量量化。质量层生成单元114经过图4说明的过程产生多个质量层。该多个质量层能够由一个离散层和一个或多个FGS层组成。离散层被独立地编码和解码,但是FGS层参考其它层被编码和解码。熵编码单元120执行无损的独立编码。无损编码单元120的详细结构在才艮据本发明的示范实施例的图14中说明。参考图14,熵编码单元120能够包括编码途径选择单元121、精细途径编码单元122、显著途径编码单元123和多^各复用器(MUX)124。编码途径选择单元121仅参考质量层的相邻低层的块以便编码属于该质量层的当前块(4x4块、8x8块、或者16x16块)的系数。在本发明中,优选地但不是必须的,质量层是第二或更高的层。编码途径选择单元121确定与当前块的系数在空间上对应的系数在参考块的系数中是否是零。在该对应系数是零的情形下,编码途径选择单元121选择显著途径作为当前块的系数的编码途径,而在对应系数不是零的情形下,编码途径选择单元121选择精细途径作为编码途径。途径编码单元125无损地编码当前块的系数(熵编码)。为此,途径编码单元125包括根据精细途径编码当前块的系数的精细途径编码单元和根据显著途径编码当前块的系数的显著途径编码单元123。在SVC草案中使用的方法能够被用作根据实际真实路径或显著路径执行熵编码的特定的方法。此外,SVC建议文献JVT-P056建议关于显著路径的编码技术,如下所述。通过截止参数"m,,展示编码结果的码字。如果待编码的"C"与"m,,相同或较小,则使用Exp—Golomb代码编码该符号。如果"C"大于"m",则#4居下面等式l,将该符号划分成两部分,长度和后缀,继而进行编码。P是编码的码字,且包括长度和后缀(OO、Ol或lO)。此外,由于在精细途径产生零有着高的可能性,因此JVT-P056建议上下文适应可变长度编码(CAVLC)技术,其分配具有不同长度的码字。精细系数组指的是按预定数目的单元收集精细系数的组,如,四个精细系数可以被认为一个精细系数组。能够使用上下文适应二进制算术编码(CABAC)技术编码该精细途径。CABAC是对预定编码对象选择概率模型且执行算术编码的方法。通常,CABAC过程包括二进制编码、上下文模型选择、算术编码和概率更新。途径编码单元125能够使用单个循环在预定块单元(4x4、8x8、或者16x16)中对质量层的系数进行熵编码。换句话说,如在SVC草案中,没有分开收集选择为精细途径的系数和选择为显著途径的系数以用于编码,而是按照系数的扫描顺序执行精细途径编码或显著途径编码。MUX124多路复用精细途径编码单元122的输出和显著途径编码单元123的输出,且输出该多路复用的输出作为一个比特流。图15是说明根据本发明的示范实施例的视频解码器200的结构的框图。视频解码器200包括熵解码单元220和帧解码单元210。熵解码单元220根据本发明的示范实施例执行属于包括在输入比特流中的至少一个质量层的当前块的系数的熵解码。将参考根据本发明示范实施例的图16详细描述熵解码单元220。帧解码单元210从由熵解码单元220无损地解码的当前块的系数中恢复当前块的图像。为此,帧解码单元210包括质量层组合单元211、逆量化单元212、逆变换单元213和逆预测单元214。质量层组合单元211通过将多个质量层相加产生一组分片数据或帧数据,如图1所示。逆量化单元212逆量化由质量层组合单元211提供的数据。逆变换单元213对逆量化的结果执行逆变换。该逆变换逆向执行在图14的变换单元112中执行的变换过程。逆预测单元214通过将预测信号与由逆变换单元213提供的已恢复的残差信号相加来恢复视频帧。这里,能够通过和视频编码器中一样的帧间预测或帧内基本层预测获得预测信号。图16是说明熵解码单元220的详细结构的框图。熵解码单元220能够包括编码途径选择单元221、精细途径解码单元222、显著途径解码单元223和MUX224。编码途径选择单元221参考质量层的相邻的低层的块以便编码属于包括在输入比特流中的至少一个质量层的当前块(4x4、8x8、或16x16)的系数。编码途径选择单元221确定与当前块的系数空间上对应的系数是否是零。在该对应系数是零的情形下,编码途径选择单元221选4奪显著途径作为当前块的系数的编码途径,而在对应系数不是零的情形下,编码途径选择单元221选择精细途径作为编码途径。途径解码单元225根据选择的编码途径无损地解码当前块的系数。为此,途径解码单元225包括精细途径解码单元222和显著途径解码单元223,前者在对应系数不是零的(l或更大)的情形下根据精细途径解码当前块的系数,后者在对应系数是零的情形下根据显著途径解码当前块的系数。与途径编码单元125—样,途径解码单元225能够使用单个循环执行系数的无损解码。MUX224通过多路复用精细途径解码单元222的输出和显著途径解码单元223的输出来产生关于一个质量层的凝:据(分片或帧)。图13到16的每个部件能够用诸如任务、类、子程序、进程、对象、或程序的软件组件,或诸如现场可编程门阵列(FPGA)、或执行一定任务的专用集成电路(ASIC)硬件组件,或该类软件或硬件组件的组合来实现。各组件能够净皮存储在存储介质,或能够被部分地分布于多个计算机中。图17是说明在H,264相关技术中当将现有技术应用于叫做BUS序列的CIF标准测试序列时的亮度元素的PSNR和将本发明应用于CIFBUS序列时的亮度元素的PSNR之间比较的示范图,以及图18是说明在H,264相关技术中当将传统技术应用于叫做HARBOUR序列的4CIF标准测试序列时的亮度元素的PSNR和将本发明应用于4CIFHARBOUR序列时的亮度元素的PSNR之间比较的示范图。参考图17和18,随着比特率增加,应用本发明的效果变得明显。该效果根据视频序列会不同,但是通过应用本发明的PSNR的改进在0.25dB和0.5dB之间。工业应用本领域普通技术人员应当理解在不背离由下面的权利要求限定的本发明的精神和范围的情况下,可以对本发明在形式和细节上进行各种替代、修改和改变。因此,应当意识到以上描述的示范实施例仅是说明性的意图以及不能当作本发明的限制。本发明的方法和装置具有以下优点。第一,提高了具有多个质量层的视频数据的熵编码效率。第二,降低了具有多个质量层的视频数据的熵编码的计算复杂度。权利要求1.一种视频编码器,包括帧编码单元,其从输入视频帧中产生至少一个质量层;编码途径选择单元,其参考与包括在至少一个质量层中的当前层相邻的低层的第二系数来选择编码途径,该第二系数对应于当前层的第一系数;和途径编码单元,其根据所选择的编码途径无损地编码第一系数。2.如权利要求1所述的编码器,其中该至少一个质量层包括一个离散层和至少一个精细粒度分级FGS层。3.如权利要求2所述的编码器,如果该至少一个质量层包括两个或多个FGS层,则该当前层是较高的FGS层。4.如权利要求1所述的编码器,其中该途径编码单元包括精细途径编码单元,如果该第二系数不是零,则其根据精细途径无损地编码第一系数;和显著途径编码单元,如果该第二系数是零,则其#4居显著途径无损地编码第一系数。5.如权利要求1所述的编码器,其中该途径编码单元在当前层的块单元中使用单个循环无损地编码第一系数。6.如权利要求5所述的编码器,其中该块单元是4x4块、8x8块、或者16x16块的单元。7.—种视频解码器,包括编码途径选择单元,其参考与当前层相邻的低层的第二系数来选择编码途径,该第二系数对应于当前质量层的第一系数,其中当前层是包括在输入比特流中的至少一个质量层之一;途径解码单元,其根据选择的编码途径无损地解码第一系数;和帧解码单元,其从无损地解码的第一系数中恢复当前层的图像。8.如权利要求7所述的解码器,其中该至少一个质量层包括一个离散层和至少一个FGS层。9.如权利要求8所述的解码器,其中,如果该至少一个质量层包括两个或多个FGS层,则当前层是较高的FGS层。10.如权利要求7所述的解码器,其中该途径解码单元包括精细途径解码单元,如果该第二系数不是零,则其才艮据精细途径无损地解码第一系凄t;和显著途径解码单元,如果该第二系数是零,则其根据显著途径无损地解码第一系数。11.如权利要求7所述的解码器,其中该途径解码单元在当前层的块单元中使用单个循环无损地解码第一系数。12.如权利要求11所述的解码器,其中该块单元是4x4块、8x8块、或者16x16块的单元。13.—种视频编码方法,包括从输入^L频帧中产生至少一个质量层;参考与包括在至少一个质量层中的当前层相邻的低层的第二系数来选择编码途径,该第二系数对应于当前层的第一系数;和才艮据所选择的编码途径无损地编码第一系数。14.如权利要求13所述的视频编码方法,其中该至少一个质量层包括一个离散层和至少一个FGS层。15.如权利要求14所述的视频编码方法,其中,如果该至少一个质量层包括两个或多个FGS层,则当前质量层是第二FGS层或较高的FGS层。16.如权利要求13所述的视频编码方法,其中所述编码第一系数包括如果该第二系数不是零,则根据精细途径无损地编码第一系数;以及如果该第二系数是零,则根据显著途径无损地编码第一系数。17.如权利要求13所述的视频编码方法,其中在当前层的块单元中使用单个循环执行所述无损地编码第一系数。18.如权利要求13所述的视频编码方法,其中该块单元是4x4块、8x8块、或者16x16块的单元。19.一种视频解码方法,包括参考与当前层相邻的低层的第二系数选择编码途径,该第二系数对应于当前质量层的第一系数,其中当前层是包括在输入比特流中的至少一个质量层之一;根据选择的编码途径无损地解码第一系数;和从解码的第一系数中恢复当前层的图像。20.如权利要求18所述的视频解码方法,其中该至少一个质量层包括一个离散层和至少一个FGS层。21.如权利要求19所述的视频解码方法,其中,如果该至少一个质量层包括两个或多个FGS层,则当前质量层是第二FGS层或较高的FGS层。22.如权利要求18所述的视频解码方法,其中所述解码第一系数包括如果该第二系数不是零,则根据精细途径无损地解码第一系数;和如果该第二系数是零,则根据显著途径无损地解码第一系数。23.如权利要求18所述的视频解码方法,其中在当前层的块单元中使用单个循环执行第一系数的解码。24.如权利要求18所述的视频解码方法,其中该块单元是4x4块、8x8块、或者16x16块的单元。全文摘要提供一种视频编码器和编码方法。该编码器包括帧编码单元,其从输入视频帧中产生至少一个质量层;编码途径选择单元,其参考与包括在至少一个质量层中的当前层相邻的低层的第二系数选择编码途径,该第二系数对应于当前层的第一系数;和途径编码单元,其根据所选择的编码途径无损地编码第一系数。文档编号H04N7/24GK101411191SQ200780010540公开日2009年4月15日申请日期2007年3月27日优先权日2006年3月28日发明者李培根申请人:三星电子株式会社