CN102474618A - 图像处理装置和方法 - Google Patents

图像处理装置和方法 Download PDF

Info

Publication number
CN102474618A
CN102474618A CN2010800311072A CN201080031107A CN102474618A CN 102474618 A CN102474618 A CN 102474618A CN 2010800311072 A CN2010800311072 A CN 2010800311072A CN 201080031107 A CN201080031107 A CN 201080031107A CN 102474618 A CN102474618 A CN 102474618A
Authority
CN
China
Prior art keywords
quantization parameter
unit
coding
situation
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2010800311072A
Other languages
English (en)
Inventor
佐藤数史
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of CN102474618A publication Critical patent/CN102474618A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明提供了能够改善VLC系统编码中的编码效率的图像处理装置和方法。VLC表切换单元根据低于预定阈值的量化参数来选择k=0的表,并且根据高于预定阈值的量化参数来选择k=1的表。代码编号分配单元根据低于预定阈值的量化参数将帧间16×16模式分配给代码编号“0”,并且根据高于预定阈值的量化参数将跳跃(或直接)模式分配给代码编号“0”。本发明例如可应用到使用H.264/AVC系统进行编码的图像编码装置。

Description

图像处理装置和方法
技术领域
本发明涉及图像处理装置和方法,具体地说涉及改善可变长度编码(VLC)格式编码的编码效率的图像处理装置和方法。
背景技术
近些年来,下述装置得到广泛使用:该装置通过利用将图像信息处理为数字信号的编码系统,将图像进行压缩编码,并且此时利用作为图像信息的特征的冗余、通过诸如离散余弦变换等正交变换和运动补偿来压缩图像,以便进行对信息的高效发送和存储。这种编码方法的示例包括MPEG(运动图像专家组)等。
具体地说,MPEG2(ISO/IEC 13818-2)被定义为通用的图像编码系统,并且是涵盖隔行扫描图像和逐行扫描图像与标准分辨率图像和高清晰度图像的标准。例如,MPEG2现在已经被大量的应用广泛地用于专业用途和消费者使用。例如,通过使用MPEG2压缩系统,在具有720×480像素的标准分辨率的隔行扫描图像的情况下,分配4至8Mbps的代码量(比特速率)。例如,通过使用MPEG2压缩系统,在具有1920×1088像素的标高分辨率的隔行扫描图像的情况下,分配18至22Mbps的代码量(比特速率)。因此,可以实现高压缩率和良好的图像质量。
MPGE2主要针对适用于广播使用的高图像质量编码,但是并不处理比MPEG1的代码量低的代码量(比特速率),即,具有较高压缩率的编码系统。因为个人数字助理的普及,预期从现在起对这种编码系统需求会增加,并且响应于这一点,已经进行了MPEG4编码系统的标准化。关于图像编码系统,其规范在1998年12月被确认作为ISO/IEC 14496-2的国际标准。
而且,近些年来,被称为H.26L(ITU-T Q6/16 VCEG)的标准的标准化已经以电视会议使用为目标在图像编码上有了进展。对于H.26L,已知的是,尽管其与诸如MPEG2或MPEG4等常规编码系统相比需要更大的计算量用于其编码和解码,但是实现了较高的编码效率。而且,当前,作为MPGE4的活动的一部分,已经进行了用于以H.26L为基础利用H.26L不支持的功能来实现较高的编码效率的标准化,作为增强压缩视频编码的联合模型。作为标准化的日程,H.264和MPEG-4第10部分(高级视频编码,以下称为H.264/AVC)在2003年10月变为国际标准。
而且,作为其扩展,已经在2005年2月完成FRExt(保真度范围扩展,Fidelity Range Extension)的标准化,FRExt包括:操作所需的编码工具,诸如RGB、4:2:2、4:4:4等;以及MPEG-2规定的8x8DCT和量化矩阵。因此,获得能够使用H.264/AVC来良好表达电影中所包括的影片噪声的编码格式,并且将其应用于各种的应用,如Blu-Ray Disc(注册商标,蓝光盘)等。
然而,近来,对更高的压缩编码的需求正在增加,以例如压缩大约4000×2000像素(为Hi-Vision图像的四倍)的图像,或例如在诸如因特网等传输容量有限的环境中分发Hi-Vision图像。因此,如上所述的ITU-T下的VCEG(=视频编码专家组,Video Coding Expert Group)是与改善的编码效率相关的继续研究。
H.264/AVC格式已经标准化了NPL 1中描述的用于无损编码格式的两种格式,这两种格式为CAVLC(上下文自适应可变长度编码,Context-Adaptive Variable Length Coding)和CABAC(上下文自适应二进制算术编码,Context-Adaptive Binary Arithmetic Coding)。
首先,将描述CAVLC格式。对于CAVLC,根据出现在邻近的块中的正交变换系数而切换的VLC表被用于正交变换系数的编码。图1中所示的指数哥伦布(Exponential Golumb)编码用于其他句法元素(syntaxelement)的编码。
对于图1中的指数哥伦布编码,例如,代码编号(Code Number)0和代码字(Code Word)1彼此对应,代码编号1和代码字010彼此对应,并且代码编号2和代码字011彼此对应。而且,代码编号3和代码字00100彼此对应,代码编号4和代码字00101彼此对应,代码编号5和代码字00110彼此对应,并且代码编号6和代码字彼此00111对应。
而且,关于诸如运动向量等句法元素,有可能会出现负值。因此,在有关有可能出现负值的句法元素的情况下,这些被替换为基于图2中所示的相关性而没有符号的代码编号,并且在已被替换为没有符号的代码编号之后,图1中的指数哥伦布编码被用于其编码。
图2图示了代码编号和句法元素v之间的相关性。即,例如,通过基于这个相关性,将句法元素v=0替换为代码编号0,将句法元素v=1替换为代码编号1,并且将句法元素v=-1替换为代码编号2。而且,将句法元素v=2替换为代码编号3,将句法元素v=-2替换为代码编号4,并且将句法元素v=3替换为代码编号5。
接下来,将描述CABAC格式。
图3图示了进行CABAC编码的无损编码单元的配置的示例。在图3所示的示例中,无损编码单元包括下述部分:上下文建模单元11;二进制化单元12;以及自适应二进制算术编码单元13,该自适应二进制算术编码单元13包括概率估计单元21和编码引擎22。
与压缩图像的任意句法元素相关,上下文建模单元11首先根据过去的历史将句法元素的符号(symbol)转换为适当的上下文模型。在CABAC编码中,使用不同的上下文来编码不同的句法元素。而且,甚至根据邻近块或宏块的编码信息使用不同的上下文来编码相同的句法元素。
例如,将参考图4描述flag mb_skip_frag,作为示例,但是,这对于有关其他句法元素的处理也是相同的。
在图4的示例中,示出还没有编码的目标宏块C与已经被编码并且与目标宏块C相邻的相邻宏块A和B。可以说,标记mb_skip_frag是针对宏块X(X=A,B,C)中的每一个宏块来定义的,并且该标记为下面的表达式(1)。
[数学表达式1]
Figure BDA0000129821010000031
即,在宏块X是使用在空间上对应位置处的参考帧中的像素的跳跃(skipped)宏块的情况下,设置f(X)=1,否则,设置f(X)=0。
此时,如下面的表达式(2)中那样,计算用于当前宏块C的上下文Context(C),作为左相邻宏块A的f(A)和上相邻宏块B的f(B)的和。
Context(C)=f(A)+f(B)   ...(2)
即,根据相邻的宏块A和B的标记mb_skip_frag,有关目标宏块C的上下文Context(C)的值为0、1和2中的一个。即,使用对0、1和2中的一个不同的编码引擎22来编码有关目标宏块C的标记mb_skip_frag。
例如,与内预测模式一样,二进制化单元12使用图5中所示的表进行作为关于句法的非二进制数据的元素的符号的转换。
图5的表中示出在代码符号是0的情况下代码符号被二进制化为0,如果代码符号是1,则被二进制化为10,并且如果代码符号是2,则被二进制化为110。而且,在代码符号是3的情况下,这被二进制化为1110,如果代码符号是4,则被二进制化为11110,并且如果代码符号是5,被二进制化为11110。
然而,关于宏块类型,基于图6至图8中所示的针对I片(slice)、P片和B片中的每一个而单独规定的不规则表(而不是使用这个表)来进行二进制化处理。
图6图示了在I和SI片的情况下宏块类型的二进制化表。在图6的表中,示出宏块类型0至25的值(mb_type的值(名称))和与其对应的二进制串(Bin串)。
图7图示在P、SP和B片的情况下的宏块类型的二进制化表。在图7的表中示出在P和SP片的情况下的宏块类型0至30的值和与其对应的二进制串与在B片的情况下的宏块类型0至48的值和与其对应的二进制串。
图8图示了在P、SP和B片的情况下的子宏块类型的二进制化表。在图8中的表中示出在P和SP片(slice)的情况下的宏块类型0至3的值和与其对应的二进制串与在B片的情况下的宏块类型0至12的值和与其对应的二进制串。
通过下游的自适应二进制算术编码单元13来编码通过诸如如上所述的二进制化表而二进制化的句法元素。
返回图3,在自适应二进制算术编码单元13处,概率估计单元21进行关于二进制化的符号的概率估计,并通过编码引擎22基于概率估计来进行二进制算法编码。此时,在片的开始处,初始化“0”和“1”的概率,并且在每次进行1Bin的时间编码时更新其概率表。即,在进行二进制算术编码处理之后来更新相关的模型,因此,每一个模型可以进行与实际图像压缩信息的统计对应的编码处理。
接下来,将参考图9来描述二进制算法编码的操作。现在,我们考虑在“1”的发生概率(出现)为0.2并且“0”的发生概率是0.8的情况下对作为输入信号的比特串“010”进行编码。
首先,在步骤S1中,编码“0”。作为其结果,附图的初始部分的下侧的0.8的部分(0.0-0.8)是更新部分。在步骤S2,编码“1”。作为其结果,附图中当前部分(0.0-0.8)上侧的0.2的部分是新更新的部分(0.64-0.8)。
在步骤S3,编码“0”。作为其结果,附图中当前部分(0.64-0.8)的0.8下侧的的部分是新更新的部分(0.64-0.768)。
算法编码中的代码字(code word)是用于标识最后部分的真实值的二进制表达,并且在该情况下,0.64-0.768是最后部分,因此。可以将0.75作为其中适配的实数。实数0.75的二进制表达是0.11,因此,在步骤S4中,将通过从其二进制表达(0.11)中去除总为0的第一数字而得到的“11”作为代码字,并且最后,输出信号“11”。
现在,图9中用于保存诸如“0.64”等部分间隔的寄存器的数字数量实际上是有限的。因此,利用自适应二进制算术编码单元13处的处理,应用被称为再归一化(Renormalization)的技术,其中,当完成要输出的部分的上一级比特时,及时地向图9中的二进制算法编码输出所完成的比特,由此扩展该部分的宽度。
接着,参考图10来描述再归一化。注意,在图10的示例中,与图9相同的步骤编号指示相同的步骤。
在步骤S2中,编码“1”。作为其结果,附图的当前部分(0.0-0.8)上侧的0.2的部分是新更新的部分(0.64-0.8)。在步骤S3中,该部分(0.64-0.8)已经超过0.5,因此在这个点处,输出“1”,并且在0.5至1.0之间扩展(再归一化)到在0.0至1.0之间。因此,归一化的部分是(0.28-0.6)。
在步骤S3’,编码“0”。作为其结果,附图下侧处的当前部分(0.28-0.6)中的0.8的部分是新更新的部分(0.28-0.536)。
在这个示例的情况下,0.28-0.536是最后部分,因此可以将0.5作为其中适配的实数。实数0.5的二进制表达是0.1,因此在步骤S4’中,将通过从其二进制表达(0.1)去除总是0的第一数字而获得的“1”作为代码字,并且最后,输出信号“1”。
这种再归一化使得寄存器的精度能够被有效使用。
另一方面,对于这个H.264/AVC格式,预测模式的适当选择对于实现更高的编码效率也是重要的。
用于预测模式的选择方法的示例包括NPL2中所公开的、被称为JM(Joint Model,联合模型)的参考软件(reference software)中实现的方法。
在JM中,可以选择下文将描述的两种模式确定方法:高复杂度模式和低复杂度模式。
在高复杂度模式中,下面的表达式(3)中所表示的成本函数用于计算每一预测模式的成本函数值。计算得到的成本函数的最小值的预测模式被选择为用于当前块(或宏块)的最佳预测模式。
Cost(Mode∈Ω)=D+λ·R  ...(3)
在此,Ω表示用于编码当前块(或宏块)的完整的一组候选模式。D表示在使用预测模式(Prediction Mode)编码的情况下原始图像和解码图像之间的差(噪声)能量。R表示在使用预测模式(Prediction Mode)编码的情况下的总代码量(包括直到正交变换系数)。λ表示根据量化参数QP而得到的拉格朗日乘子。
即,为了使用高复杂度模式来进行模式确定,需要计算上述的参数D和R,因此,针对所有的候选预测模式,尝试性地进行直到编码处理,因此,计算精度高,但是需要更大量的计算。
另一方面,对于低复杂度模式,使用利用下面的表达式(4)表示的成本函数来计算预测模式的成本函数值。然后将产生所计算的成本函数值的最小值的预测模式选择作用于当前块(或宏块)的最佳预测模式。
Cost(Mode∈Ω)=D+QPtoQuant(QP)·HeaderBit  ...(4)
在此,与高复杂度模式的情况不同,D是预测图像和输入图像之间的差(噪声)能量。HeaderBit是与头部信息相关的代码量,如不包括正交变换系数的运动向量和预测模式等。QPtoQuant是基于量化参数QP而获得的函数。
即,在低复杂度模式中,针对所有的预测模式仅产生一个预测图像,因此不需要解码的图像,并且不必进行编码处理和解码处理。因此,计算精度小于高复杂度模式的情况,而是可以使用较小的计算量来实现。
现在,参考图11来描述关于当利用上述参考软件、利用两种类型的量化参数、使用CABAC和CAVLC中的每一个来编码特定序列时的预测模式的分布。
图11的上侧示出使用低量化参数QP=22的、使用CABAC和CAVLC中的每一个编码的情况下每一预测模式的出现频率的图。而且,图11的下侧示出使用低量化参数QP=37的、使用CABAC和CAVLC中的每一个编码的情况下每一个预测模式的出现频率的图。
图中的垂直轴表示每一预测模式的出现频率,并且水平轴表示预测预测模式的类型:模式0至模式7。在此,模式0(复制)表示跳跃模式(skipmode)或直接模式(direct mode),模式1(16×16)表示帧间16×16(像素)模式。模式2(16×8)表示帧间16×8(像素)模式,并且模式3(8×16)表示帧间8×16(像素)模式。模式4(8×8)表示帧间8×8(像素)或更小的块大小的所有模式。模式5(帧内4×4)表示帧内4×4(像素)模式,模式6(帧内8×8)表示帧内8×8(像素)模式,并且,模式7(帧内16×16)表示帧内16×16(像素)模式。
即,在图中,与帧间相关的模式是以从左起的块大小的降序排列的模式0至模式4,并且与帧内相关的模式是以从左起的块大小的升序排列的模式5至模式7。
现在,可以从两个图中看出,预测模式的分布对于低量化参数(QP=22)和高量化参数(QP=37)是不同的。
即,第一差别是,对于低量化参数,由模式4表示的帧间8×8或更小的块大小的所有模式的出现频率在某种程度上是存在的,但是对于高量化参数,这几乎是不存在的。
而且,第二差别是,对于低量化参数,由模式1表示的帧间16×16模式的出现频率最高,但是对于高量化参数,由模式0表示的跳跃模式或直接模式的出现频率高。
这是由于基于上述高复杂度模式和低复杂度模式的模式确定中的下述趋势这一事实。该事实为下述趋势:对于低量化参数(高比特速率),即使诸如运动向量等头部比特的数量增加,也趋向于选择较高的预测效率。该事实也为下述趋势:对于高量化参数(低比特速率),相反地,即使预测效率在一定程度上较低,但也趋向于向头部比特的数量较小的模式提供优先级。
注意,用于上面描述的附图在下文中在适当时也被用于描述本发明的附图。
引用文献列表
非专利文献
NPL 1:″7.4.2.2 Picture parameter set RBSP semantics″,″ITU-TRecommendation H.264 Advanced video coding for generic audiovisual″,P162-P164 November 2007
NPL 2:H.264/AVC Software Coordination.InstitutNachrichtentechnik Heinrich-Hertz-Institut,[Searched July 10,2009],Internet<URL:http://iphome.hhi.de/suehring/tml/index.htm>
发明内容
技术问题
上文参考图11描述的出现频率上的差别由于上文参考图2描述的根据与CABAC对应的上下文模型而进行的概率表的更新以及与每一量化参数对应的编码处理而导致的。
然而,对于CAVLC,使用单个表来进行编码处理,而不未考虑由于量化参数而导致的出现频率上的差别,因此难以实现与独立的量化参数对应的高编码效率。
鉴于这样的情况而作出了本发明,并且本发明要改善VLC格式编码的编码效率。
针对所述问题的解决方案
根据本发明的第一图像处理装置包括:量化参数解码部件,被配置为解码在作为解码处理的对象的当前块中的量化参数;切换部件,被配置为根据所述量化参数来切换与有关所述当前块的预测模式相关的信息的解码方法;以及预测模式解码部件,被配置为使用由所述切换部件切换的解码方法来解码与预测模式相关的所述信息。
所述切换部件可以根据所述量化参数、通过切换与所述预测模式相关的VLC(可变长度编码)表来切换解码方法。
与预测模式相关的信息可以是宏块类型的信息。
与预测模式相关的信息可以是帧内预测模式的信息。
在值大于预定阈值的量化参数的情况下,所述切换部件可以切换到相对于代码编号小的情况而言比特长度短的表。
在值小于预定阈值的量化参数的情况下,所述切换部件可以切换到比特长度增大即使在代码编号增加的情况下也平缓的表。
所述编码部件可以使用哥伦布编码(Golumb Coding)用于所述VLC表。
所述编码部件可以使用霍夫曼编码(Huffman Coding)用于所述VLC表。
所述切换部件可以根据所述量化参数、通过切换与预测模式相关的信息的代码编号的分配来切换解码方法。
与预测模式相关的信息可以是帧间宏块类型的信息。
在值比预定阈值大的量化参数的情况下,所述切换部件可以将跳跃或直接模式的分配切换到最小代码编号。
在值小于预定阈值的量化参数的情况下,所述切换部件可以将帧间16×16预测模式的分配切换到最小代码编号。
与预测模式相关的信息可以是帧内预测模式的信息。
根据本发明的第一方面的一种图像处理方法包括以下步骤:图像处理装置解码在作为解码处理的对象的当前块中的量化参数;根据所述量化参数来切换与有关所述当前块的预测模式相关的信息的解码方法;以及使用所切换的解码方法来解码与预测模式相关的所述信息。
根据本发明的第二方面的一种图像处理装置包括:量化参数获得部件,被配置为获得在作为编码处理的对象的当前块中的量化参数;切换部件,被配置为根据所述量化参数来切换与有关所述当前块的预测模式相关的信息的编码方法;以及预测模式编码部件,被配置为使用由所述切换部件切换的编码方法来编码与预测模式相关的所述信息。
所述切换部件可以根据所述量化参数、通过切换与所述预测模式相关的VLC(可变长度编码)表来切换所述编码方法。
在值大于预定阈值的量化参数的情况下,所述切换部件可以切换到相对于代码编号小的情况而言比特长度短的表。
在值小于预定阈值的量化参数的情况下,所述切换部件可以切换到比特长度增大即使在代码编号增加的情况下也平缓的表。
所述切换部件可以根据所述量化参数通过切换与预测模式相关的信息的代码编号的分配来切换解码方法。
根据本发明的第二方面的一种图像处理方法包括步骤:图像处理装置获得在作为编码处理的对象的当前块中的量化参数;根据所述量化参数来切换与对于所述当前块的预测模式相关的信息的编码方法;以及,使用所切换的编码方法来编码与预测模式相关的信息。
对于本发明的第一方面,解码在作为解码处理的对象的当前块中的量化参数;根据所述量化参数来切换与有关所述当前块的预测模式相关的信息的解码方法;以及使用所切换的解码方法来解码与预测模式相关的所述信息。
对于本发明的第二方面,获得在作为编码处理的对象的当前块中的量化参数;根据所述量化参数来切换与有关所述当前块的预测模式相关的信息的编码方法;以及使用所切换的编码方法来编码与预测模式相关的所述信息。
注意,上述的图像处理装置中的每一种均可以是独立的装置,或可以是构成图像编码装置或图像解码装置的内部模块。
本发明的有益效果
根据本发明的第一方面,可以解码图像。而且,根据本发明的第一方面,可以改善VLC格式编码的编码效率。
根据本发明的第二方面,可以编码图像。而且,根据本发明的第二方面,可以改善VLC格式编码的编码效率。
附图说明
图1是用于描述指数哥伦布编码的图。
图2是用于描述句法元素和没有符号的代码编号之间的相关性的图。
图3是用于表示进行CABAC编码的无损编码单元的配置示例的框图。
图4是用于描述CABAC编码的框图。
图5是图示二进制表的图。
图6是图示I和SI片的情况下宏块类型的二进制化表的图。
图7是图示在P、SP和B片的情况下宏块类型的二进制化表的图。
图8是图示在P、SP和B片的情况下子宏块类型的二进制化表的图。
图9是用于描述二进制算术编码的操作的图。
图10是用于描述再归一化的图。
图11是图示当使用不同的量化参数、使用CABAC和CAVLC编码时预测模式的分布的图。
图12是图示已经被应用本发明的图像编码装置的实施例的配置的框图。
图13是用于描述可变块大小运动预测/补偿处理的图。
图14是用于描述运动向量信息产生方法的示例的图。
图15是用于描述时间直接模式(time direct mode)的图。
图16是图示模式表切换单元的配置示例的图。
图17是图示图16中的VTC表切换单元所具有的表的图。
图18是用于描述图12中的图像编码装置的编码处理的流程图。
图19是用于描述图18中的步骤S21中的预测处理的流程图。
图20是用于描述在16×16像素帧内预测模式的情况下处理序列的图。
图21是图示用于亮度信号的4×4像素帧内预测模式的种类的图。
图22是图示用于亮度信号的4×4像素帧内预测模式的种类的图。
图23是用于描述4×4像素帧内预测的方向的图。
图24是用于描述4×4像素帧内预测的图。
图25是图示用于亮度信号的8×8像素帧内预测模式的种类的图。
图26是图示用于亮度信号的8×8像素帧内预测模式的种类的图。
图27是图示用于亮度信号的16×16像素帧内预测模式的种类的图。
图28是图示用于亮度信号的16×16像素帧内预测模式的种类的图。
图29是用于描述16×16像素帧内预测的图。
图30是图示用于色差信号的帧内预测模式的种类的图。
图31是用于描述图19中的步骤S31中的帧内预测处理的流程图。
图32是用于描述图19中的步骤S32中的帧间运动预测处理的流程图。
图33是用于描述图18中的步骤S23中的无损编码处理的流程图。
图34是用于描述通过CAVLC的正交变换系数的编码处理的图。
图35是用于描述CAVLC的操作原理的具体示例的图。
图36是用于描述在图33中的步骤S83中的宏块类型的编码处理的流程图。
图37是图示已经被应用本发明的图像解码装置的实施例的配置示例的框图。
图38是图示图37中的无损编码单元和模式表切换单元的配置示例的框图。
图39是用于描述图37中的图像解码装置的解码处理的流程图。
图40是用于描述图39中的步骤S132中的无损解码处理的流程图。
图41是用于描述图40中的步骤S153中的宏块类型的解码处理的流程图。
图42是用于描述图39中的步骤S138中的预测处理的流程图。
图43是图示已经被应用本发明的学习装置的实施例的配置的框图。
图44是用于描述霍夫曼编码的图。
图45是用于描述图43中的学习装置的学习流程的流程图。
图46是图示计算机的硬件的配置示例的框图。
具体实施方式
以下将参考附图来描述本发明的实施例。
[图像编码装置的配置示例]
图12表示作为已经被应用本发明的图像处理装置的图像编码装置的实施例的配置。
这个图像编码装置51使用例如H.264和MPEG-4第10部分(高级视频编码)(以下称为264/AVC)格式对图像进行压缩编码。
对于图12中的示例,图像编码装置51包括下述部分:A/D转换单元61、屏幕重置缓冲器62、计算单元63、正交变换单元64、量化单元65、无损编码单元66、存储缓冲器67、逆量化单元68、逆正交变换单元69、计算单元70、解块单元71、帧存储器72、开关73、帧内预测单元74、运动预测/压缩单元75、预测图像选择单元76、速率控制单元77和模式表切换单元78。
A/D转换单元61将输入图像从模拟转换为数字,并且输出到屏幕重置缓冲器62进行存储。屏幕重置缓冲器62将用于显示的、存储顺序的图像帧重新布置为用于根据GOP(Group of Picture,图像组)编码的帧的顺序。
计算单元63将从自屏幕重置缓冲器62读出的图像减去由预测图像选择单元76选择的来自帧内预测单元74的预测图像或来自运动预测/压缩单元75的预测图像,并且向正交变换单元64输出其差信息。正交变换单元64将来自计算单元63的差信息进行正交变换,如进行离散预先变换、Karhunen-Loéve变换等,并且输出其变换系数。量化单元65量化正交变换单元64输出的变换系数。
作为量化单元65的输出的量化的变换系数被输入到无损编码单元66,并且进行无损编码,如进行可变长度编码、算术编码等,并且被压缩。在无损编码单元66处,根据使用H.264/AVC格式来规定的CAVLC(Context-Adaptive Variable Length Coding,上下文自适应可变长度编码)进行可变长度编码,作为无损编码格式。
无损编码单元66编码量化的变换系数,并且还编码句法元素(syntaxelement),并且将这些作为压缩图像中的头部信息(header information)的一部分。此时,在句法元素中,无损编码单元66使用由模式表切换单元78切换的编码方法来编码与预测模式相关的信息。无损编码单元66将编码的数据提供到存储缓冲器67以存储。
句法元素包括:与从帧内预测单元74或运动预测/压缩单元75获得的预测模式相关的信息;从速率控制单元77获得的量化参数;从运动预测/压缩单元75获得运动向量信息和参考帧信息,等等。而且,与预测模式相关的信息的示例包括宏块类型信息、与帧内预测模式相关的信息(以下称为帧内预测模式信息)。
从运动预测/压缩单元75或帧内预测单元74获得宏块类型信息。在必要时从帧内预测单元74获得帧内预测模式信息。
存储缓冲器67向例如附图中未示出的位于下游的存储装置或传输路径等输出从无损编码单元66提供的数据,作为用H.264/AVC格式来编码的压缩图像。
而且,从运动预测/压缩单元75输出的量化的变换系数也被输入到无损编码单元66,进行逆量化,然后在逆正交变换单元69处进行进一步的逆正交变换。经过逆正交变换的输出被加到由计算单元70从预测图像选择单元76提供的预测图像,并且被变为局部解码的图像。解块单元71从解码的图像中去除块噪声,然后提供到帧存储器72以存储。解块单元71进行解块滤波处理之前的图像也被提供到帧存储器72以存储。
开关73向运动预测/压缩单元75或帧内预测单元74输出帧存储器72中存储的参考图像。
对于该图像编码装置51,来自屏幕重置缓冲器62的I画面(I Picture)、B画面(B Picture)和P画面(P Picture)被提供到帧内预测单元74,例如作为要进行帧内预测(也称为帧内处理)的图像。而且,从屏幕重置缓冲器62读出的B画面和P画面被提供到运动预测/压缩单元75,作为要进行帧间预测(也称为帧间处理)的图像。
帧内预测单元74基于从屏幕重置缓冲器62读出的要进行帧内预测的图像和从帧存储器72提供的参考图像,针对作为候选者的所有帧内预测模式进行帧内预测处理,以产生预测图像。此时,帧内预测单元74计算关于所有的候选帧内预测模式的成本函数值,并且将所计算的成本函数值为最小值的帧内预测模式选择作为最佳帧内预测模式。
帧内预测单元74向预测图像选择单元76提供在最佳帧内预测模式下产生的预测图像及其成本函数值。在最佳帧内预测模式下产生的预测图像已被预测图像选择单元76选择的情况下,帧内预测单元74向无损编码单元66提供用于指示最佳帧内预测模式的信息以及对应的宏块类型信息。无损编码单元66将该信息编码为句法元素,以便被用作压缩图像中的头部信息的一部分。
运动预测/压缩单元75针对作为候选者的所有帧间预测模式进行运动预测和压缩处理。具体地说,从屏幕重置缓冲器62读出的要进行帧间处理的图像被提供到运动预测/压缩单元75,并且从帧存储器72经由开关73向其提供参考图像。运动预测/压缩单元75基于要进行帧间处理的图像和参考图像来检测作为候选者的所有帧间预测模式的运动向量,基于运动向量对参考图像进行补偿处理,并且产生预测图像。
而且,运动预测/压缩单元75计算所有候选帧间预测模式的成本函数值。在所计算的成本函数值中,运动预测/压缩单元75将产生最小值的预测模式确定为最佳帧间预测模式。
运动预测/压缩单元75向预测图像选择单元76提供在最佳帧间预测模式下产生的预测图像及其成本函数值。在预测图像选择单元76选择了在最佳帧间预测模式下产生的预测图像的情况下,运动预测/压缩单元75向无损编码单元66输出与最佳帧间预测模式对应的宏块类型的信息。
此时,还向无损编码单元66输出运动向量信息、标记、参考帧信息等。无损编码单元66对于作为句法元素的、来自运动预测/压缩单元75的信息进行无损编码处理,并且将其插入压缩图像的头部(Header)部分。
预测图像选择单元76基于从帧内预测单元74或运动预测/压缩单元75输出的成本函数值,从最佳帧内预测模式和最佳帧间预测模式中确定最佳预测模式。预测图像选择单元76然后选择所确定的最佳预测模式下的预测图像,并且提供到计算单元63和70。此时,预测图像选择单元76向帧内预测单元74或运动预测/压缩单元75提供预测图像的选择信息。
速率控制单元77基于存储缓冲器67中存储的压缩图像,使用对应的量化参数来控制量化单元65的量化操作的速率,以便不引起溢出或下溢。用于速率控制的量化单元65的量化参数被提供到模式表切换单元78和无损编码单元66。
模式表切换单元78根据来自速率控制单元77的量化参数来切换与预测模式相关的信息的编码方法,并且向无损编码单元66提供切换的编码方法的信息。例如,切换用于与预测模式相关的信息的VLC表。
注意对于本实施例,对于与预测模式相关的信息,描述根据宏块类型来切换VLC表的示例。
[对H.264/AVC格式的描述]
图13是图示根据H.264/AVC格式的运动预测和补偿的块大小的示例的图。对于H.264/AVC格式,使用可变的块大小来进行运动预测和补偿。
在图13的上层以从左起的顺序示出由被划分为16×16像素、16×8像素、8×16像素和8×8像素分区的16×16像素构成的宏块。在图13的下层以从左起的顺序示出被划分为8×8像素、8×4像素、4×8像素和4×4像素子分区的8×8像素分区。
具体地说,使用H.264/AVC格式,一个宏块可以被划分为16×16像素、16×8像素、8×16像素和8×8像素分区,每一个分区(partition)具有独立的运动向量信息。而且,一个8×8像素分区可以被划分为8×8像素、8×4像素、4×8像素和4×4像素子分区,每一个子分区(subpartition)具有独立的运动向量信息。
使用H.264/AVC格式,通过进行上文参考图13所述的运动预测/补偿处理,产生了大量的运动向量信息,并且如果在没有改变的情况下对这些编码,则会导致编码效率变差。响应于此,使用H.264/AVC格式,根据图14中的方法,已实现了运动向量编码信息的减少。
图14是用于描述根据H.264/AVC格式产生的运动向量信息的图。
对于图14中的示例,示出从现在起要编码的当前块E(例如,16×16像素)和与当前块E相邻的已编码的块A至D。
具体地说,块D与当前块E的左上相邻,块B与当前块E的上方相邻,块C与当前块E的右上相邻,并且块A与当前块E的左方相邻。注意,未分割块A至D的原因在于:这些块中的每一个均代表具有上文参考图13描述的16×16像素至4×4像素的一个结构的块。
例如,假设使用mvx来表示关于X(=A,B,C,D,E)的运动向量信息。首先,通过使用关于块A、B和C的运动向量信息的中值预测,利用下面的表达式(5)来产生关于当前块E的预测运动向量信息pmvE
pmvE=med(mvA,mvB,mvC)  ...(5)
由于诸如图像帧的边缘、编码前等原因,有关块C的运动向量信息可能不可使用(可能不可获得)。在该情况下,使用关于块D的运动向量信息来取代关于块C的运动向量信息。
如下面的表达式(6)中那样,使用pmvE产生要加到压缩图像的头部部分的数据mvdE,作为关于当前块E的运动向量信息。
mvdE=mvE-pmvE    ...(6)
注意,事实上,对运动向量信息的水平方向和垂直方向中的分量,进行单独的处理。
以这种方式,产生预测运动向量信息,将数据mvdE加到压缩图像的头部部分,由此,可以减小运动向量信息,数据mvdE为基于与向量块的相关性而产生的预测运动向量信息与运动向量信息之间的差。
现在,尽管B画面中的运动向量信息的信息量较大,但是提供H.264/AVC格式的被称为直接模式(direct mode)的模式。对于直接模式,不将运动向量信息存储在压缩图像中。
具体地说,在解码方,对于当前块周围的运动向量信息或参考图像,从作为具有与当前块相同坐标的块的共处块(co-located block)的运动向量信息中提取当前块的运动向量信息。因此,不必向解码方发送运动向量信息。
这种直接模式包括空间直接模式(Spatial Direct Mode)和时间直接模式(Temporal Direct Mode)两种。空间直接模式是用于利用主要在空间方向(在画面内的水平和垂直二维空间)上的运动信息的相关性的模式,并且通常在包括其运动速度改变的类似运动的图像的情况下具有优势。另一方面,时间直接模式是用于利用主要在时间方向上的运动信息的相关性的模式,并且通常在包括其运动速度不变的不同运动的图像的情况下具有优势。
针对每一片,可以切换使用所述空间直接模式和时间直接模式中。
将参考图14再一次描述根据H.264/AVC格式的空间直接模式。对于图14中的示例,如上所述,示出从现在起要编码的当前块E(例如,16×16像素)和与当前块E相邻的已编码块A至D。例如,使用mvx来表示关于X(=A,B,C,D,E)的运动向量信息。
使用与块A、B和C相关的运动向量信息,象上述的表达式(5)中那样,通过中值预测来产生关于当前块E的预测运动向量信息pmvE。象下面的表达式(7)那样表示空间直接模式下关于当前块E的运动向量信息mvE
mvE=pmvE    ...(7)
具体地说,在空间直接模式中,中值预测所产生的预测运动向量信息被作为当前块的运动向量信息。即,使用已编码块的运动向量信息来产生当前块的运动向量信息。因此,可以甚至在解码方产生根据空间直接模式的运动向量,因此,不必向解码方发送运动向量信息。
接下来,将参考图15来描述根据H.264/AVC格式的时间直接模式。
对于图15中的示例,时间轴t表示时间的过去,以从左起的顺序示出L0(List0)参考图像、要从现在起编码的当前画面和L1(List1)参考图像。注意,对于H.264/AVC系统,L0参考图像、当前画面和L1参考图像的行排列不限于这个顺序。
例如B片中包括当前画面的当前块。因此,关于当前画面的当前块,针对L0参考图像和L1参考图像,计算基于时间直接模式的L0运动向量信息mvL0和L1运动向量信息mvL1
而且,针对L0参考图像,基于L0参考图像和L1参考图像,来计算共处块中的运动向量信息mvcol,所述共处块为与从现在起要编码的当前块位于相同空间地址(坐标)的块。
现在,假设当前画面和L0参考图像之间的时间轴上的距离是TDB,并且L0参考图像和L1参考图像之间的时间轴上的距离是TDD。在该情况下,可以使用下面的表达式(8)来计算当前画面中的L0运动向量信息mvL0在当前画面中的L1运动向量信息mvL1
[数学表达式2]
mv L 0 = TD B TD D mv col
mv L 1 = TD D - TD B TD D mv col &CenterDot; &CenterDot; &CenterDot; ( 8 )
注意,利用H.264/AVC格式,对于压缩图像中的当前画面,没有与时间轴t上的距离TDB和TDD等同的信息。因此,POC(Picture OrderCount,画面顺序计数)被用作距离TDB和TDD的实际值,所述POC为用于指示画面的输出序列的信息。
而且,利用H.264/AVC格式,还存在作为模式的跳跃模式,该模式也是不必发送运动向量信息的模式。在与运动向量相关的编码数据是0的(在H.264/AVC格式的情况下,上述表达式(7)成立的情况)并且所有的DCT系数也是0的情况下,当前块的模式是跳跃模式。而且,在B画面的情况下,在直接模式和DCT系数是0的情况下,当前块的模式是跳跃模式。
[模式表切换单元的配置示例]
图16是图示模式表切换单元的配置示例的框图。
在图16的示例中,模式表切换单元78由VLC(可变长度编码)表切换单元81和代码编号(Code Number)分配单元82构成。
来自速率控制单元77的量化参数被提供到VLC表切换单元81和代码编号分配单元82。该量化参数也被提供到无损编码单元66。
VLC表切换单元81具有与宏块类型对应的至少两种类型的VLC表。VLC表切换单元81根据来自速率控制单元77的量化参数来选择两种类型的VLC表中与宏块类型对应的一个。VLC表切换单元81向所选择的与宏块类型对应的VLC表的信息添加从代码编号分配单元82分配的信息,并且将其提供到无损编码单元66。
代码编号分配单元82根据来自速率控制单元77的量化参数,向代码编号0分配预定的块类型,并且向VLC表切换单元81提供所分配的信息。
无损编码单元66基于H.264/AVC格式规定,来编码除宏块类型(包括来自速率控制单元77的量化参数)之外的正交变换系数和句法元素。与此相比,无损编码单元66使用由VLC表切换单元81选择的VLC表来进行关于宏块类型的编码。
[模式表切换处理的描述]
接下来,将描述模式表切换单元78进行的模式表切换处理。
图17的示例中示出了k=0的表(左),而无损编码处理中经常使用的哥伦布编码的k=1的表(右)是VLC表切换单元81所具有的表。该表由与代码编号(Code Number)对应的代码字(Code Word)构成。注意,在k=0的情况下,这就是图5中所示的一元代码。
例如,在k=0的表中,代码编号0和代码字1彼此对应,代码编号1和代码字01彼此对应,代码编号2和代码字彼此001对应,并且代码编号3和代码字0001彼此对应。而且,代码编号4和代码字00001彼此对应,代码编号5和代码字000001彼此对应,并且代码编号6和代码字0000001彼此对应。
例如,在k=1的表中,代码编号0和代码字10彼此对应,代码编号1和代码字11彼此对应,代码编号2和代码字010彼此对应,并且代码编号3和代码字011彼此对应。而且,代码编号4和代码字0010彼此对应,代码编号5和代码字0011彼此对应,并且代码编号6和代码字00010彼此对应。
因此,对于图17中的示例,在k=0的表中,代码编号“0”用1比特来表达,但是在k=1的表中则需要2比特。然而,在k=0的表中,代码编号“6”用7个比特表达,而在k=1的表中则需要5比特。
即,将k=0的表和k=1的表相比,对于k=0表,较小(较低)的代码编号具有比k=1的表短的代码数量。而且,当考虑关于代码编号和代码字比特长度的函数时,k=0的表和k=1的表的函数的斜率是不同的。k=0的表的函数的斜率比k=1的表大(陡)。因此,对于k=0的表,小的代码编号具有比k=1的表短的代码数量,但是大的代码编号具有比k=1的表大的代码数量。
注意,对于k≥2的表,斜率比k=1的表更小(平缓),有当k变大时函数的斜率越来越小的趋势。注意,哥伦布编码的产生原理如下。
在以k作为用于产生代码的参数的情况下,当k>0时,将要编码的整数x(≥0)除以k得到商q和余数m。商q被编码为一元代码,并且如下所述的那样按照log2k来编码余数m。
在该值是整数值的情况下,即,在k是2的幂的情况下,通过log2k的二进制编码来编码m。否则,如果b=[log2k],通过直到b-1比特的二进制编码来编码直到m=2b-k1的编号,并且,一旦向其添加了了2b-k,则通过b字节二进制编码来编码余数。
现在,如上文参考图11所述的,与QP=37相比,在诸如QP=22的预测模式分布的情况下,模式2至模式4的出现频率高。即,与QP=37相比,块大小小于帧间16×16模式的块大小的模式的出现频率更高。
在QP=22的情况下,VLC表切换单元81使用诸如k=1的、函数的斜率小的表来使用代码。因此,可以缩短块大小小于帧间16×16模式的块大小的模式的代码数量,因此,可以使平均代码长度更短。
相反,在诸如QP=37的预测模式分布的情况下,模式2至模式4的出现频率很低。模式4基本上不出现。即,与QP=22相比,块大小小于帧间16×16模式的块大小的模式的出现频率很低。
在QP=37的情况下,VLC表切换单元81使用诸如k=0的、代码编号的代码长度短的表来使用代码。因此,可以缩短作为块大小较大的模式的跳跃(或直接)模式或帧间16×16模式的代码数量,因此,可以使平均代码长度更短。
而且,对于如上所述的图11,出现概率最高的预测模式对于QP=22是帧间16×16模式,但是对于QP=37则为跳跃(或直接)模式。
因此,对于较高的比特速率(即,较低的量化参数),代码编号分配单元82向可以使用最小比特长度表达的代码编号“0”分配帧间16×16模式。
相反,代码编号分配单元82向用于较低比特速率(即,较高量化参数)的代码编号“0”分配跳跃(或直接)模式。因此,可以使平均代码长度更短。
即,具体地说,在图像编码装置51处,VLC表切换单元81例如具有k=0表和k=1表,相对于上述的小(低)预测图像和斜率中的至少一个,k=0表和k=1表是不同的。
VLC表切换单元81将预定阈值与量化参数值相比,并且从多个表中切换要用于根据量化参数来编码宏块类型的表。而且,代码编号分配单元82根据量化参数来切换代码编号“1”的分配。注意,该预定阈值是在利用图43等描述的VLC表学习时获得的。
因此,在具有低比特速率和高比特速率的输出压缩图像中,可以缩短相对于宏块类型的平均代码长度,并且可以实现较高的编码效率。
现在,已经在上文中描述了与帧间宏块相关的宏块类型的示例,在上面的描述中,VLC表的切换对于帧内宏块也是相同的。
即,在使用较高量化参数进行编码的情况下,可以利用根据诸如k=0的VLC表的代码,来缩短相对于出现频率较高的较低代码编号的、帧内宏块类型的代码长度。另一方面,在使用较低量化参数编码的情况下,可以利用根据诸如k=1的VLC表的代码,来缩短相对于出现频率达到特定程度的、代码编号不低的帧内宏块类型的代码长度。
因此,还可以使用帧内宏块类型来改善编码效率。
而且,对于上面的说明,已经描述了例如k=0的具有哥伦布编码的表,作为关于诸如QP=37等的较高量化参数的VLC表,但是VLC表并不限于此。即,对于关于较高量化参数的VLC表,如果象哥伦布编码的k=0表那样,相对于代码编号小的事件,表的比特长度那样短,则该表是足够的,即使所产生的比特长度相对于代码编号大的事件长也是如此。
而且,已描述了例如k=1的具有哥伦布编码的表,作为关于诸如QP=22等的较低量化参数的VLC表,但是VLC表并不限于此。即,对于关于较低量化参数的VLC表,如果象哥伦布编码k=1表那样比特长度不象k=0那样大,则该表是足够的,即使相对于具有小代码编号的事件、比特长度不像k=0那样短以及即使代码编号增大也是如此。
而且,虽然上文已经描述了哥伦布编码的示例,但是可以使用基于霍夫曼编码而产生的VLC表。注意,在该情况下,需要通过利用训练信号进行学习来准备相对于每一量化参数、基于霍夫曼编码而产生的VLC表。将利用图43等附图来详细描述VLC表的学习。
而且,虽然已经在上面的描述中描述了关于两种类型的VLC表之间的切换的示例,但是该数量并不限于2,并且如果存在多个VLC表,则其也是足够的。
[对图像编码装置的编码处理的描述]
接下来,将参考图18中的流程图来描述图12中的图像编码装置51的编码处理。
在步骤S11中,A/D转换单元61进行输入图像的A/D转换。在步骤S12中,屏幕重置缓冲器62存储从A/D转换单元61提供的图像,并且将画面从显示顺序重新布置为编码顺序。
在步骤S13中,计算单元63计算步骤S12中重新布置的图像和预测图像之间的差。在进行帧间预测的情况下从运动预测/压缩单元75经由预测图像选择单元76向计算单元63提供预测图像,并且在进行帧内预测的情况下从帧内预测单元74经由预测图像选择单元76向计算单元63提供预测图像。
与原始图像数据相比,该差数据的数据量较小。因此,与原样进行图像的编码相比较,可以压缩数据量。
在步骤S14中,正交变换单元64对从计算单元63提供的差信息进行正交变换。具体地说,进行正交变换,诸如进行离散余弦变换、Karhunen-Loève变换等,并且输出变换系数。在步骤S15中,量化单元65进行变换系数的量化。如下面在步骤S25中的处理中所述的,针对该量化,对速率进行控制。
如上所述经过量化的差信息以下面的方式进行本地解码。即,在步骤S16中,逆量化单元68使用与量化单元65的属性对应的属性对由量化单元65量化的变换系数进行逆量化。在步骤S17中,逆正交变换单元69使用与正交变换单元64的属性对应的属性,对在无损编码单元66处进行了逆量化的变换系数进行逆正交变换。
在步骤S18中,计算单元70将本地解码的差信息加上经由预测图像选择单元76输入的预测图像,并且产生本地解码的图像(与向计算单元63的输入对应的图像)。在步骤S19中,解块单元71进行对于从计算单元70输出的图像的滤波。因此,去除块噪声。在步骤S20中,帧存储器72存储滤波的图像。注意,未进行由解块单元71的滤波处理的图像也从计算单元70被提供到帧存储器72,并且被存储。
在步骤S21中,帧内预测单元74和运动预测/压缩单元75进行它们各自的图像预测处理。即,在步骤S21中,帧内预测单元74在帧内预测模式中进行帧内预测处理,并且运动预测/压缩单元75在帧间预测模式中进行运动预测/补偿处理。
将在下面参考图19详细描述在步骤S21中的预测处理的细节,对于这个处理,在所有的候选帧内预测模式下进行预测处理,并且计算所有的候选帧内预测模式中每一个的成本函数值。基于所计算的成本函数值来选择最佳帧内预测模式,并且,最佳帧内预测模式下通过帧内预测产生的预测图像和成本函数值被提供到预测图像选择单元76。
而且,对于这个处理,在所有候选帧间预测模式下进行预测处理,并且计算所有候选帧间预测模式中每一个的成本函数值。基于所计算的成本函数值从帧间预测模式中确定最佳帧间预测模式,并且使用最佳帧间预测模式及其成本函数值产生的预测图像被提供到预测图像选择单元76。
在步骤S22中,预测图像选择单元76基于从帧内预测单元74和运动预测/压缩单元75输出的相应的成本函数值,将最佳帧内预测模式和最佳帧间预测模式中的一个确定为最佳预测模式。预测图像选择单元76然后选择所确定的最佳预测模式的预测图像,并且将其提供到计算单元63和70。预测图像用于如上所述的步骤S13和S18中的计算。
注意,预测图像的选择信息被提供到帧内预测单元74或运动预测/压缩单元75。在选择最佳帧内预测模式的预测图像的情况下,帧内预测单元74向无损编码单元66提供与最佳帧内预测模式相关的信息以及对应的宏块类型信息。
在选择最佳帧间预测模式的预测图像的情况下,运动预测/压缩单元75向无损编码单元66输出与最佳帧间预测模式相关的宏块类型信息和所需的与最佳帧间预测模式对应的信息。与最佳帧间预测模式对应的信息的示例包括运动向量信息、标记、参考帧信息等。
在步骤S23中,无损编码单元66进行无损编码处理。下面将参考图33来描述这种无损编码处理。
由于步骤S23中的处理,从量化单元65输出的量化变换系数被无损编码和压缩。此时,在步骤S22中向无损编码单元66输入的、诸如宏块类型和运动向量信息等句法元素与用于步骤S25中的控制的量化参数的句法元素也被编码并添加到头部信息。注意在句法元素中,宏块类型根据量化参数选择的VLC表来编码,并且被加到头部信息。
在步骤S24中,存储缓冲器67将差图像存储为压缩图像。存储缓冲器67中存储的压缩图像被适当地读出,并且经由传输路径被发送到解码方。
在步骤S25中,速率控制单元77基于存储缓冲器67中存储的压缩图像来使用对应的量化参数来控制无损编码单元66的量化操作的速率,使得不出现溢出或下溢。用于无损编码单元66的速率的控制的量化参数被提供到模式表切换单元78,并且用于步骤S23中的无损编码处理。而且,量化参数在步骤S23中被编码,并且被加到头部。
[预测处理的说明]
接下来,将参考图19中的流程图来描述图18的步骤S21中的预测处理。
在从屏幕重置缓冲器62提供的要处理的图像是用于帧内预测的块图像的情况下,要被参考的解码图像被从帧存储器72读出,并且经由开关73被提供到帧内预测单元74。基于这些图像,在步骤S31中,对于所有的候选帧内预测模式,帧内预测单元74进行要处理的块的像素的帧内预测。注意,对于要参考的解码像素,使用没有被解块单元71解块滤波的像素。
下文将参考图31描述步骤S31中的帧内预测处理的细节,由于这个处理,在所有的候选帧内预测模式下进行帧内预测,并且计算所有的候选帧内预测模式的成本函数值。然后基于所计算的成本函数值来选择最佳帧内预测模式,并且向预测图像选择单元76提供在最佳帧内预测模式下进行帧内预测产生的预测图像及其成本函数值。
在从屏幕重置缓冲器62提供的要处理的图像是用于帧间处理的图像的情况下,要参考的图像被从帧存储器72读出,并且经由开关73被提供到运动预测/压缩单元75。在步骤S32中,运动预测/压缩单元75基于这些图像来进行帧间运动预测处理。即,运动预测/压缩单元75参考从帧存储器72提供的图像来进行所有候选帧间预测模式的运动预测处理。
下文将参考图32来描述步骤S32中的帧间运动预测处理的细节。由于这个处理,对于所有的候选帧间预测模式进行运动预测处理,并且计算所有候选帧间预测模式的成本函数值。
在步骤S33中,运动预测/压缩单元75比较步骤S32中计算的帧间预测模式的成本函数值。运动预测/压缩单元75将成本函数值为最小值的预测模式确定为最佳帧间预测模式,并且向预测图像选择单元76提供在最佳帧间预测模式下产生的预测图像及其成本函数值。
[对H.264/AVC格式中的帧内预测处理的描述]
接下来将描述H.264/AVC格式下规定的用于帧内预测的模式。
首先,将描述关于亮度信号的帧内预测模式。对于用于亮度信号的帧内预测模式,设置三个模式:帧内4×4预测模式、帧内8×8预测模式和帧内16×16预测模式。这些是用于确定块单元的模式,并且针对每一个宏块来设置。而且,可以将帧内预测模式设置为与每一宏块的亮度信号无关的色差信号。
而且,在帧内4×4预测模式的情况下,可以从九种预测模式中为每一4×4像素当前块设置一种预测模式。在帧内8×8预测模式的情况下,可以从九种预测模式中为每一个8×8像素当前块设置一种预测模式。而且,在帧内16×16预测模式的情况下,可以从四种预测模式中为每一个16×16像素当前块设置一种预测模式。
注意,下文中,帧内4×4预测模式、帧内8×8预测模式和帧内16×16预测模式也分别被适当地称为4×4像素帧内预测模式、8×8像素帧内预测模式和16×16帧内预测模式。
对于图20中的示例,附加到块的编号-1至25表示其块的比特流序列(解码方的处理序列)。注意,关于亮度信号,将宏块划分为4×4像素,并且进行4×4像素的DCT。如-1的块中所示,仅在帧内16×16预测模式的情况下,收集块的DC分量,产生4×4矩阵,并且对其进一步进行正交变换。
另一方面,关于色差信号,如块16和17中所示,在宏块被划分为4×4像素并且进行4×4像素的DCT后,收集块的DC分量,产生2×2矩阵,并且对其进一步进行正交变换。
注意,关于帧内8×8预测模式,这可以仅被应用到使用高端类(highprofile)或除此之外的端类将当前宏块进行8×8正交变换的情况。
图21和图22是图示九种类型的亮度信号4×4像素帧内预测模式(Intra_4x4_pred_mode)的图。除了指示平均值(DC)预测的模式2之外,8种类型的模式中每一个对应于由图23中的编号0、1和3至8所指示的方向。
将参考图24来描述九种类型的Intra_4x4_pred_mode。在图24的示例中,像素a至p表示要进行帧内处理的当前块的像素,并且像素值A至M表示属于相邻块的像素的像素值。即,像素a至p是已经从屏幕重置缓冲器62中读出的要处理的图像,并且像素值A至M是已经从帧存储器72读出的要参考的解码图像的像素值。
在图21和图22中的每一帧内预测模式的情况下,如下所述,使用属于向量块的像素的像素值A至M来产生像素a至p的预测像素值。注意,在像素值“可获得”的情况下,这表示该像素是可获得的,而不存在诸如位于图像帧的边缘处或仍然未编码等任何原因,并且在像素值“不可获得”的情况下,这表示由于诸如位于图像帧的边缘处或仍然未编码等原因而不可获得该像素。
模式0是垂直预测模式,并且仅适用于像素值A至D“可获得”的情况下。在该情况下,如下面的表达式(9)中那样产生像素a至p的预测像素值。
像素a、e、i、m的预测像素值=A
像素b、f、j、n的预测像素值=B
像素c、g、k、o的预测像素值=C
像素d、h、l、p的预测像素值=D       (9)
模式1是水平预测模式,并且仅适用于像素值I至L“可获得”的情况。在该情况下,如下面的表达式(10)中那样产生像素a至p的预测像素值。
像素a、b、c、d的预测像素值=I
像素e、f、g、h的预测像素值=J
像素i、j、k、l的预测像素值=K
像素m、n、o、p的预测像素值=L       (10)
模式2是DC预测模式,并且在像素值A、B、C、D、I、J、K、L全部“可获得”的情况下,如表达式(11)中那样产生预测像素值。
(A+B+C+D+I+J+K+L+4)>>3     ...(11)
而且,在像素值A、B、C、D全部“不可获得”的情况下,如表达式(12)中那样产生预测像素值。
(I+J+K+L+2)>>2     ...(12)
而且,在像素值I、J、K、L全部“不可获得”的情况下,如表达式(13)中那样产生预测像素值。
(A+B+C+D+2)>>2  ...(13)
而且,在像素值A、B、C、D、I、J、K、L全部“不可获得”的情况下,128被产生作为预测像素值。
模式3是Diagonal_Down_Left(对角向左下)预测模式,并且仅适用于像素值A、B、C、D、I、J、K、L、M“可获得”的情况。在该情况下,如下面的表达式(14)中那样产生像素a至p的预测像素值。
像素a的预测像素值=(A+2B+C+2)>>2
像素b、e的预测像素值=(B+2C+D+2)>>2
像素c、f、i的预测像素值=(C+2D+E+2)>>2
像素d、g、j、m的预测像素值=(D+2E+F+2)>>2
像素h、k、n的预测像素值=(E+2F+G+2)>>2
像素l、o的预测像素值=(F+2G+H+2)>>2
像素p的预测像素值=(G+3H+2)>>2
                                ...(14)
模式4是Diagonal_Down_Right(对角向右下)预测模式,并且仅适用于像素值A、B、C、D、I、J、K、L、M“可获得”的情况。在该情况下,如下面的表达式(15)中那样产生像素a至p的预测像素值。
像素m的预测像素值=(J+2K+L+2)>>2
像素i、n的预测像素值=(I+2J+K+2)>>2
像素e、j、o的预测像素值=(M+2I+J+2)>>2
像素a、f、k、p的预测像素值=(A+2M+I+2)>>2
像素b、g、l的预测像素值=(M+2A+B+2)>>2
像素c、h的预测像素值=(A+2B+C+2)>>2
像素d的预测像素值=(B+2C+D+2)>>2
                                  ...(15)
模式5是Diagonal_Vertical_Right(对角垂直向右)预测模式,并且仅适用于像素值A、B、C、D、I、J、K、L、M“可获得”的情况。在该情况下,象下面的表达式(16)中那样产生像素a至p的预测像素值。
Figure BDA0000129821010000281
模式6是Horizontal_Down(水平向下)预测模式,并且仅适用于像素值A、B、C、D、I、J、K、L、M“可获得”的情况。在该情况下,如下面的表达式(17)中那样产生像素a至p的预测像素值。
Figure BDA0000129821010000282
模式7是Vertical_Lef(垂直向左)预测模式,并且仅适用于像素值A、B、C、D、I、J、K、L、M“可获得”的情况。在该情况下,如在下面的表达式(18)中那样产生像素a至p的预测像素值。
Figure BDA0000129821010000292
模式8是Horizontal_Up(水平向上)预测模式,并且仅适用于像素值A、B、C、D、I、J、K、L、M“可获得”的情况。在该情况下,如下面的表达式(19)中那样产生像素a至p的预测像素值。
接下来,将再一次参考图4来描述4×4像素亮度信号的帧内预测模式(Intra_4x4_pred_mode)编码方法。在图4的示例中,示出由4×4像素构成的要编码的当前块C,并且示出由4×4像素构成并且与当前块C向量的块A和块B。
在该情况下,当前块C中的Intra_4x4_pred_mode以及块A和块B中的Intra_4x4_pred_mode被认为具有高相关度。使用该相关度来进行下面的编码处理使得能够实现较高的编码效率。
即,在图4的示例中,块A和块B中的Intra_4x4_pred_mode分别作为Intra_4x4_pred_modeA和Intra_4x4_pred_modeB,如下面的表达式(20)中那样定义MostProbableMode(最可能的模式)。
MostProbableMode=Min(Intra_4x4_pred_modeA,
Intra_4x4_pred_modeB)  ...(20)
即,在块A和块B中,被分配有较小的mode_number(模式编号)的模式被作为MostProbableMode。
存在被定义为有关比特流中的当前块C的参数的两个值prev_intra4x4_pred_mode_flag[luma4x4BlkIdx]和rem_intra4x4_pred_mode[luma4x4BlkIdx],并且通过基于下面的表达式(21)中所示的伪代码的处理来进行解码处理,因此,可以获得有关当前块C的Intra_4x4_pred_mode、Intra4x4PredMode[luma4x4BlkIdx]的值。
Figure BDA0000129821010000301
接下来,将描述8×8像素帧内预测模式。图25和图26是示出用于亮度信号的九种8×8帧内预测模式(intra_8×8_pred_mode)的图。
假设当前8×8块中的像素值作为p[x、y](0≤x≤7;0≤y≤7),并且使用p[-1,-1]、...、p[-1,15]、p[-1,0]、...、[p-,7]表示相邻块的像素值。
关于8×8像素帧内预测模式,在产生预测值之前,将相邻的像素进行低通滤波处理。现在,假设使用p[-1,-1]、...、p[-1,15]、p[-1,0]、...、p[-1,7]表示低通滤波处理之前的像素值,并且使用p′[-1,-1]、...、p′[-1,15]、p′[-,0]、...、p′[-1,7]表示在该处理后的像素值。
首先,在p[-,-1]“可获得”的情况下,使用下面的表达式(25)来计算p′[0,-1],并且在“不可获得”的情况下,使用下面的表达式(23)来计算p′[0,-1]。
p′[0,-1]=(p[-1,-1]+2*p[0,-1]+p[1,-1]+2)>>2 ...(22)
p′[0,-1]=(3*p[0,-1]+p[1,-1]+2)>>2 ...(23)
使用下面的表达式(24)来计算p′[x,-1](x=0,...,7)。
p′[x,-1]=(p[x-1,-1]+2*p[x,-1]+p[x+1,-1]+2)>>2 ...(24)
在p[x,-1](x=8,...,15)“可获得”的情况下,使用下面的表达式(25)来计算p′[x,-1](x=8,...,15)。
p′[x,-1]=(p[x-1,-1]+2*p[x,-1]+p[x+1,-1]+2)>>2
p′[15,-1]=(p[14,-1]+3*p[15,-1]+2)>>2 ...(25)
在“可获得”的情况下,如下所述地计算p′[-1,-1]。具体地说,在p[0,-1]和p[-1,0]两者“可获得”的情况下,使用表达式(26)来计算p′[-1,-1],并且在p[-1,0]“不可获得”的情况下,使用表达式(27)来计算p′[-1,-1]。而且在p[0,-1]“不可获得”的情况下,使用表达式(28)来计算p′[-1,-1]。
p′[-1,-1]=(p[0,-1]+2*p[-1,-1]+p[-1,0]+2)>>2 ...(26)
p′[-1,-1]=(3*p[-1,-1]+p[0,-1]+2)>>2 ...(27)
p′[-1,-1]=(3*p[-1,-1]+p[-1,0]+2)>>2 ...(28)
当p[-1,y](y=0,...,7)“可获得”时,如下所述地计算p′[-1,y](y=0,...,7)。具体地说,在p[-1,-1]“可获得”的情况下,使用下面的表达式(29)来计算p′[-1,0],并且在“不可获得”的情况下,使用表达式(30)来计算p′[-1,0]。
p′[-1,0]=(p[-1,-1]+2*p[-1,0]+p[-1,1]+2)>>2 ...(29)
p′[-1,0]=(3*p[-1,0]+p[-1,1]+2)>>2 ...(30)
而且,使用下面的表达式(31)来计算p′[-1,y](y=1,...,6),并且使用表达式(32)来计算p′[-1,7]。
p[-1,y]=(p[-1,y-1]+2*p[-1,y]+p[-1,y+1]+2)>>2 ...(31)
p′[-1,7]=(p[-1,6]+3*p[-1,7]+2)>>2 ...(32)
如下所述的那样,使用如此计算的p′来产生图25和图26中所示的帧内预测模式下的预测值。
模式0是垂直预测模式,并且仅适用于当p[x,-1](x=0,...,7)“可获得”时。使用下面的表达式(33)来产生预测值pred8×8L[x,y]。
pred8×8L[x,y]=p′[x,-1]x,y=0,...,7...(33)
模式1是水平预测模式,并且仅适用于当p[-1,y](y=0,...,7)“可获得”时。使用下面的表达式(34)来产生预测值pred8×8L[x,y]。
pred8×8L[x,y]=p′[-1,y]x,y=0,...,7...(34)
模式2是DC预测模式,并且如下所述地产生预测值pred8×8L[x,y]。具体地说,在p[x,-1](x=0,...,7)和p[-1,y](y=0,...,7)两者“可获得”的情况下,使用下面的表达式(35)来产生预测值pred8×8L[x,y]。
[数学表达式3]
Pred 8 x 8 L [ x , y ] = ( &Sigma; x &prime; = 0 7 P &prime; [ x &prime; , - 1 ] + &Sigma; y &prime; = 0 7 P &prime; [ - 1 , y ] + 8 ) > > 4 &CenterDot; &CenterDot; &CenterDot; ( 35 )
在p[x,-1](x=0,...,7)“可获得”但是p[-1,y](y=0,...,7)“不可获得”的情况下,使用下面的表达式(36)来产生预测值pred8×8L[x,y]。
[数学表达式4]
Pred 8 x 8 L [ x , y ] = ( &Sigma; x &prime; = 0 7 P &prime; [ x &prime; , - 1 ] + 4 ) > > 3 &CenterDot; &CenterDot; &CenterDot; ( 36 )
在p[x,-1](x=0,...,7)“不可获得”但是p[-1,y](y=0,...,7)“可获得”的情况下,使用下面的表达式(37)来产生预测值pred8×8L[x,y]。
[数学表达式5]
Pred 8 x 8 L [ x , y ] = ( &Sigma; y &prime; = 0 7 P &prime; [ - 1 , y ] + 4 ) > > 3 &CenterDot; &CenterDot; &CenterDot; ( 37 )
在p[x,-1](x=0,...,7)和p[-1,y](y=0,...,7)两者“不可获得”的情况下,使用下面的表达式(38)来产生预测值pred8×8L[x,y]。
pred8×8L[x,y]=128 ...(38)
在此,表达式(38)表示8比特输入的情况。
模式3是对角向左下预测模式,并且如下所述地产生预测值pred8×8L[x,y]。具体地说,对角向左下预测模式仅适用于当p[x,-1],x=0,...,15“可获得”时,并且,使用下面的表达式(39)来产生具有x=7并且y=7的预测像素值,并且使用下面的表达式(40)来产生其他预测像素值。
pred8×8L[x,y]=(p′[14,-1]+3*p[15,-1]+2)>>2 ...(39)
pred8×8L[x,y]=(p′[x+y,-1]+2*p′[x+y+1,-1]+p′[x+y+2,-1]+2)>>2...(40)
模式4是对角向右下预测模式,并且如下所述地产生预测值pred8×8L[x,y]。具体地说,对角向右下预测模式仅适用于当p[x,-1],x=0,...,7并且p[-1,y],y=0,...,7“可获得”时,使用下面的表达式(41)来产生在x>y的情况下的预测像素值,并且使用下面的表达式(42)来产生在x<y的情况下的预测像素值。而且,使用下面的表达式(43)来产生在x=y的情况下的预测像素值。
pred8×8L[x,y]=(p′[x-y-2,-1]+2*p′[x-y-1,-1]+p′[x-y,-1]+2)>>2...(41)
pred8×8L[x,y]=(p′[-1,y-x-2]+2*p′[-1,y-x-1]+p′[-1,y-x]+2)>>2...(42)
pred8×8L[x,y]=(p′[0,-1]+2*p′[-1,-1]+p′[-1,0]+2)>>2 ...(43)
模式5是垂直向右预测模式,并且如下所述地产生预测值pred8×8L[x,y]。具体地说,垂直向右预测模式仅适用于当p[x,-1],x=0,...,7和p[-1,y],y=-1,...,7“可获得”时。现在,使用下面的表达式(44)来定义zVR。
zVR=2*x-y ...(44)
此时,在zVR是0,2,4,6,8,10,12或14的情况下,使用下面的表达式(45)来产生像素预测值,并且在zVR是的1,3,5,7,9,11或13情况下,使用下面的表达式(46)来产生像素预测值。
pred8×8L[x,y]=(p′[x-(y>>1)-1,-1]+p′[x-(y>>1),-1]+1)>>1 ...(45)
pred8×8L[x,y]=(p′[x-(y>>1)-2,-1]+2*p′[x-(y>>1)-1,-1]+p′[x-(y>>1),-1]+2)>>2 ...(46)
而且,在zVR是-1的情况下,使用下面的表达式(47)来产生像素预测值,并且在除此之外的情况下,具体地说,在zVR是-2,-3,-4,-5,-6或-7的情况下,使用下面的表达式(48)来产生像素预测值。
pred8×8L[x,y]=(p′[-1,0]+2*p′[-1,-1]+p′[0,-1]+2)>>2 ...(47)
pred8×8L[x,y]=(p′[-1,y-2*x-1]+2*p′[-1,y-2*x-2]+p′[-1,y-2*x-3]+2)>>2 ...(48)
模式6是水平向下预测模式,并且如下所述地产生预测值pred8×8L[x,y]。具体地说,水平向下预测模式仅适用于当p[x,-1],x=0,...,7和p[-1,y],y=-1,...,7“可获得”时。现在,使用下面的表达式(49)来定义zVR。
zHD=2*y-x ...(49)
此时,在zHD是0,2,4,6,8,10,12或14的情况下,使用下面的表达式(50)来产生预测像素值,并且在zHD是1,3,5,7,9,11或13的情况下,使用下面的表达式(51)来产生预测像素值。
pred8×8L[x,y]=(p′[-1,y-(x>>1)-1]+p′[-1,y-(x>>1)+1]>>1 ...(50)
pred8×8L[x,y]=(p′[-1,y-(x>>1)-2]+2*p′[-1,y-(x>>1)-1]+p′[-1,y-(x>>1)]+2)>>2 ...(51)
而且,在zHD是-1的情况下,使用下面的表达式(52)来产生预测像素值,并且在zHD是除此之外的值,具体地,在zHD是-2,-3,-4,-5,-6或-7的情况下,使用下面的表达式(53)来输出预测像素值。
pred8×8L[x,y]=(p′[-1,0]+2*p[-1,-1]+p′[0,-1]+2)>>2 ...(52)
pred8×8L[x,y]=(p′[x-2*y-1,-1]+2*p′[x-2*y-2,-1]+p′[x-2*y-3,-1]+2)>>2 ...(53)
模式7是垂直向左预测模式,并且如下所述地产生预测值pred8×8L[x,y]。具体地说,垂直向左预测模式仅适用于当p[x,-1],x=0,...,15“可获得”时,在y=0,2,4或6的情况下,使用下面的表达式(54)来产生预测像素值,并且在除此之外的情况下,即在y=1,3,5或7的情况下,使用下面的表达式(55)来产生预测像素值。
pred8×8L[x,y]=(p′[x+(y>>1),-1]+p′[x+(y>>1)+1,-1]+1)>>1 ...(54)
pred8×8L[x,y]=(p′[x+(y>>1),-1]+2*p′[x+(y>>1)+1,-1]+p′[x+(y>>1)+2,-1]+2)>>2 ...(55)
模式8是水平向上预测模式,并且如下所述地产生预测值pred8×8L[x,y]。具体地说,水平向上预测模式仅适用于当p[-1,y],y=0,...,7“可获得”时。以下,使用下面的表达式(56)来定义zHU。
zHU=x+2*y ...(56)
在zHU的值是0,2,4,6,8,10或12的情况下,使用下面的表达式(57)来产生预测像素值,并且在zHU的值是1,3,5,7,9或11的情况下,使用下面的表达式(58)来产生预测像素值。
pred8×8L[x,y]=(p′[-1,y+(x>>1)]+p′[-1,y+(x>>1)+1]+1)>>1 ...(57)
pred8×8L[x,y]=(p′[-1,y+(x>>1)] ...(58)
而且,在zHu是13的情况下,使用下面的表达式(59)来产生预测像素值,并且在除此之外的情况下,即在zHU的值大于13的情况下,使用下面的表达式(60)来产生预测像素值。
pred8×8L[x,y]=(p′[-1,6]+3*p′[-1,7]+2)>>2 ...(59)
pred8×8L[x,y]=p′[-1,7]...(60)
接下来,将描述16×16像素帧内预测模式。图27和图28是图示四种类型的16×16像素亮度信号帧内预测模式(Intra_16x16_pred_mode)的图。
将参考图29来描述该四种类型的帧内预测模式。在图29的示例中,示出要进行帧内处理的当前宏块A,并且P(x,y);x,y=-1,0,...,15表示与当前宏块A相邻的像素的像素值。
模式0是垂直预测模式,并且仅适用于P(x,-1);x,y=-1,0,...,1“可获得”的情况下。在该情况下,如下面的表达式(61)中那样产生当前宏块A中的像素的每一个的预测像素值Pred(x,y)。
Pred(x,y)=P(x,-1);x,y=0,...,15  ...(61)
模式1是水平预测模式,并且仅适用于P(-1,y);x,y=-1,0,...,15“可获得”的情况下。在该情况下,如下面的表达式(62)中那样产生在当前宏块A中的像素的每一个的预测像素值Pred(x,y)。
Pred(x,y)=P(-1,y);x,y=0,...,15  ...(62)
模式2是DC预测模式,并且仅适用于P(x,-1)和P(-1,y);x,y=-1,0,...,15都“可获得”的情况下。在该情况下,如下面的表达式(63)中那样产生在当前宏块A中的像素的每一个的预测像素值Pred(x,y)。
[数学表达式6]
Pred [ x , y ] = [ &Sigma; x &prime; = 0 15 P ( x &prime; , - 1 ) + &Sigma; y &prime; = 0 15 P ( - 1 , y &prime; ) + 16 ] > > 5
x , y = - 1,0 , . . . , 15 &CenterDot; &CenterDot; &CenterDot; ( 63 )
而且,在P(x,-1);x,y=-1,0,...,15“不可获得”的情况下,如下面的表达式(64)中产生在当前宏块A中的像素的每一个的预测像素值Pred(x,y)。
[数学表达式7]
Pred [ x , y ] = [ &Sigma; y &prime; = 0 15 P ( - 1 , y &prime; ) + 8 ] > > 4 , x , y = - 1,0 , . . . , 15 &CenterDot; &CenterDot; &CenterDot; ( 64 )
在P(-1,y);x,y=-1,0,...,15“不可获得”的情况下,如下面的表达式(65)中产生在当前宏块A中的像素的每一个的预测像素值Pred(x,y)。
[数学表达式8]
Pred [ x , y ] = [ &Sigma; y &prime; = 0 15 P ( x &prime; , - 1 ) + 8 ] > > 4 , x , y = - 1,0 , . . . , 15 &CenterDot; &CenterDot; &CenterDot; ( 65 )
在P(x,-1)和P(-1,y);x,y=-1,0,...,15全部“不可获得”的情况下,128被用作预测像素值。
模式3是平面预测模式,并且仅适用于P(x,-1)和P(-1,y);x,y=-1,0,...,15全部“可获得”的情况下。在该情况下,如下面的表达式(66)中产生在当前宏块A中的像素的每一个的预测像素值Pred(x,y)。
[数学表达式9]
Pred(x,y)=Clip1((a+b·(x-7)+c·(y-7)+16)>>5)
a=16·(P(-1,15)+P(15,-1))
b=(5·H+32)>>6
c=(5·V+32)>>6
H = &Sigma; x = 1 8 x &CenterDot; ( P ( 7 + x , - 1 ) - P ( 7 - x , - 1 ) )
V = &Sigma; y = 1 8 y &CenterDot; ( P ( - 1,7 + y ) - P ( - 1,7 - y ) ) &CenterDot; &CenterDot; &CenterDot; ( 66 )
接下来,将描述关于色差信号的帧内预测模式。图23是图示四种类型的色差信号帧内预测模式(Intra_chroma_pred_mode)的图。可以用独立于亮度信号帧内预测模式来设置色差信号帧内预测模式。色差信号的帧间预测模式符合上述的亮度信号16×16像素帧内预测模式。
然而,注意,亮度信号16×16像素帧间预测模式用于处理16×16像素块,而色差信号的帧内预测模式用于处理8×8像素块。而且在两者之间模式编号不对应,可以在如上所述的图27和图30中看到这一点。
现在,这符合上文参考图29所述的作为亮度信号16×16像素帧内预测模式的对象的当前宏块A的像素值和相邻的像素值的定义。用于帧内处理的、与当前宏块A相邻的像素值(在色差信号的情况下的8×8像素)将被作为P(x,y);x,y=-1,0,...,7。
模式0是DC预测模式,并且在P(x,-1)和P(-1,y);x,y=-1,0,...,7全部“可获得”的情况下,如下面的表达式(67)中产生在当前宏块A中的像素的每一个的预测像素值Pred(x,y)。
[数学表达式10]
Pred ( x , y ) = ( ( &Sigma; n = 0 7 ( P ( - 1 , n ) + P ( n , - 1 ) ) ) + 8 ) > > 4
x , y = - 1,0 , . . . , 7 &CenterDot; &CenterDot; &CenterDot; ( 67 )
而且,在P(-1,y);x,y=-1,0,...,7“不可获得”的情况下,如下面的表达式(68)中那样产生当前宏块A的像素的每一个的预测像素值Pred(x,y)。
[数学表达式11]
Pred ( x , y ) = [ ( &Sigma; n = 0 7 P ( n , - 1 ) ) + 4 ] > > 3 , x , y = - 1,0 , . . . , 7 &CenterDot; &CenterDot; &CenterDot; ( 68 )
而且,在P(x,-1);x,y=-1,0,...,7“不可获得”的情况下,如下面的表达式(69)中那样产生当前宏块A的像素的每一个的预测像素值Pred(x,y)。
[数学表达式12]
Pred ( x , y ) = [ ( &Sigma; n = 0 7 P ( - 1 , n ) ) + 4 ] > > 3 , x , y = - 1,0 , . . . , 7 &CenterDot; &CenterDot; &CenterDot; ( 69 )
模式1是水平预测模式,并且仅适用于P(-1,y);x,y=-1,0,...,7“可获得”的情况。在该情况下,如下面的表达式(70)中那样产生当前宏块A的像素的每一个的预测像素值Pred(x,y)。
Pred(x,y)=P(-1,y);x,y=0,...,7...(70)
模式2是垂直预测模式,并且仅适用于P(x,-1);x,y=-1,0,...,7“可获得”的情况。在该情况下,如下面的表达式(71)中那样产生当前宏块A的像素的每一个的预测像素值Pred(x,y)。
Pred(x,y)=P(x,-1);x,y=0,...,7...(71)
模式3是平面预测模式,并且仅适用于P(x,-1)和P(-1,y);x,y=-1,0,...,7“可获得”的情况。在该情况下,如下面的表达式(72)中那样产生当前宏块A的像素的每一个的预测像素值Pred(x,y)。
[数学表达式13]
Pred(x,y)=Clip1(a+b·(x-3)+c·(y-3)+16)>>5;x,y=0,...,7
a=16·(P(-1,7)+P(7,-1))
b=(17·H+16)>>5
c=(17·V+16)>>5
H = &Sigma; x = 1 4 x &CenterDot; [ P ( 3 + x , - 1 ) - P ( 3 - x , - 1 ) ]
V = &Sigma; y = 1 4 y &CenterDot; [ P ( - 1,3 + y ) - P ( - 1,3 - y ) ] &CenterDot; &CenterDot; &CenterDot; ( 72 )
如上所述,对于块递增中的亮度信号帧内预测模式,存在9种类型的4×4像素和8×8像素块递增和4种类型的16×16像素宏块递增预测模式,并且存在用于色差信号帧内预测模式的四种类型的8×8像素块递增预测模式。可以独立于亮度信号帧内预测模式来设置色差信号帧内预测模式。
而且,对于亮度信号4×4像素帧内预测模式(帧间4×4预测模式)和8×8像素帧内预测模式(帧内8×8预测模式),对于每一个4×4像素和8×8像素亮度信号块,定义一个帧内预测模式。对于亮度信号16×16像素帧内预测模式(帧内16×16预测模式)和色差信号帧内预测模式,对于每一个宏块,定义一个预测模式。
注意,预测模式的类型对应于如上所述的图23中的编号0,1,3至8所指示的方向。预测模式2是平均值预测。
[帧内预测处理的描述]
接下来,将参考图31中的流程图来描述图19的步骤S31中的帧内预测处理,作为针对这些预测模式进行的处理。注意,在图31的示例中,将描述亮度信号的情况,作为示例。
在步骤S41中,帧内预测单元74针对4×4像素、8×8像素和16×16像素的每一个帧内预测模式进行帧内预测。
具体地说,帧内预测单元74参考已经从帧存储器72读出并且经由开关73向帧内预测单元74提供的解码图像,并且对于要处理的块的像素进行帧内预测。在每一个帧内预测模式下进行这个帧内预测处理导致产生每一个帧内预测模式下的预测图像。注意,没有进行解块单元71的解块滤波的像素被用作要参考的解码像素。
在步骤S42中,帧内预测单元74使用上述表达式(3)或表达式(4)中描述的成本函数值,来计算4×4像素、8×8像素和16×16像素的每一个帧内预测模式的成本函数值。
在步骤S43中,帧内预测单元7针对4×4像素、8×8像素和16×16像素的每一个帧内预测模式,确定最佳模式。即如上所述,存在用于帧内4×4预测模式和帧内8×8预测模式的9种类型的预测模式,并且存在用于帧内16×16预测模式的四种类型的预测模式。因此,帧内预测单元74基于步骤S42中计算的成本函数值,从这些模式中确定最佳的帧内4×4预测模式、最佳帧内8×8预测模式和最佳帧内16×16预测模式。
在步骤S44中,帧内预测单元74基于步骤S42中计算的成本函数值,从针对4×4像素、8×8像素和16×16像素的每一个帧内预测模式而确定的最佳模式中选择一个最佳帧内预测模式。即,从针对4×4像素、8×8像素和16×16像素的每一个而确定的最佳模式中选择成本函数值最小的最佳帧内预测模式。帧内预测单元74然后向预测图像选择单元76提供在最佳帧内预测模式下产生的预测图像及其成本函数值。
[对帧间运动预测处理的描述]
接下来,将参考图32中的流程图来描述在图19中的步骤S32中的帧间运动预测处理。
在步骤S61中,运动预测/压缩单元75针对如上参考图13所述的由16×16像素至4×4像素构成的8种帧间预测模式的每一个来确定运动向量和参考图像。即,在帧间预测模式的每一个中,对于要处理的块,确定运动向量和参考图像的每一个。
在步骤S62中,运动预测/压缩单元75基于关于由16×16像素至4×4像素构成的8种帧间预测模式中的每一个的、在步骤S61中所确定的运动向量,对参考图像进行运动预测和补偿处理。根据这个运动预测和补偿处理,产生在帧间预测模式的每一个中的预测图像。
在步骤S63中,运动预测/压缩单元75产生关于针对由16×16像素至4×4像素构成的8种帧间预测模式的每一个而确定的运动向量的、要加到压缩图像的运动向量信息。此时,使用上文参考图14描述的运动向量产生方法。
所产生的运动向量信息也被用于下一步骤S64中的成本函数值的计算,并且在对应的预测图像已经最后被预测图像选择单元76选择的情况下与预测模式信息和参考帧信息一起被输出到无损编码单元66。
在步骤S64中,运动预测/压缩单元75针对由16×16像素至4×4像素构成的8种帧间预测模式的每一个,计算上述表达式(3)或表达式(4)中所示的成本函数值。在如上所述的图19的步骤S33中确定最佳帧间预测模式时,使用在此所计算的成本函数值。
[对无损编码处理的描述]
接下来,将参考图33中的流程图来描述图18中的步骤S23的无损编码处理。
无损编码单元66被提供有在图18的步骤S15中量化的正交变换系数。在步骤S81中,无损编码单元66使用以H.264/AVC格式规定的CAVLC表来编码在量化单元65处量化的正交变换系数。下面参考图24和图35来描述这个正交变换系数编码处理的细节。
在步骤S82中,无损编码单元66使用通过H.264/AVC格式规定的CAVLC表来编码除宏块类型之外的句法元素。在步骤S82中,还编码诸如来自速率控制单元25的量化参数等句法元素。具体地说,在已经进行帧间预测的情况下,编码诸如运动向量信息、参考帧信息、标记等句法元素。
即,在此使用上述图1中的指数哥伦布编码来编码句法元素。而且基于图2中所示的关系相关度,利用图1中的指数Golumb编码来编码诸如编码运动向量等、存在可出现负值的可能性的句法元素,然后替换为没有符号的代码编号。
在步骤S83中,无损编码单元66进行宏块类型编码处理。下面参考图36描述这个宏块类型编码处理。
由于步骤S83,使用根据来自速率控制单元25的量化参数而选择的VLC表来编码宏块类型信息。
在步骤S84中,无损编码单元66然后将步骤S82和S83中编码的句法元素加到步骤S81中编码的压缩图像的头部。头部被加上句法元素的压缩图像在图18的步骤S24中被存储于存储缓冲器67中。
接下来,将参考图34来描述使用图33的步骤S81的CAVLC的正交变换系数编码处理。注意,在图34的示例中,示出4×4像素块的示例,并且向每一个像素提供用于表示扫描顺序的编号。
对于H.264/AVC格式,通过正交变换来将4×4像素块转换为等效于频率分量的4×4二维数据。根据要进行编码处理的当前块是否已经被帧编码或场编码,使用格式将这个二维数据进一步转换为一维数据。
即,在已经将当前块帧编码的情况下,通过图34的A中所示的Z形扫描格式来将4×4二维数据转换为一维数据。相反,在已经将当前块场编码的情况下,通过图34的B所示的场扫描格式将4×4二维数据转换为一维数据。
首先,无损编码单元66以从高频向低频的方式进行如上所述被转换为一维数据的正交变换系数的逆扫描。其次,无损编码单元66进行NumCoef(非0系数的数量)和T1s(当从高频向低频扫描时为±1的系数的数量,最大为3)的编码。
例如,再一次参考图4,在图4的示例中,示出了要进行编码处理的当前块C和作为已经编码的块并且与当前块C相邻的相邻块A和B。
此时,无损编码单元66根据相邻块A和B中的NumCoef来切换VLC表。
第三,无损编码单元66进行层级(Level,DCT系数值)的编码。例如,关于T1s,仅编码正/负。其他系数被分配有代码编号(Code Number)并且被编码。此时,无损编码单元66根据帧内/帧间、量化参数QP和最后编码的层级来切换VLC表。
第四,无损编码单元66进行Run的编码。此时,无损编码单元66根据NumCoef,切换TotalZero的编码中的VLC表。而且,无损编码单元66根据ZerosLeft(剩余的非零系数的数量)在Run_before(非零系数之前的连续的0的数量)的编码中进行VLC表的切换。在ZerosLeft=0时,编码处理结束。
接下来,将参考图35来描述CAVLC的操作原理的具体示例。在图35的示例中,在进行逆扫描后,以下面的顺序进行编码处理。
TotalCoef(非零系数的数量)=7
TrailingOnes(在结尾连续的绝对值1的系数的数量)=2
Trailing_ones_sign_flag(在结尾连续的绝对值1的系数的符号)=-
Trailing_ones_sign_flag(在结尾连续的绝对值1的系数的符号=+
Level(DCT系数)=-3
Level=+8
Level=+11
Level=-4
Level=+23
TotalZeros(最后的非零系数之前的0系数的数量)=5(ZerosLeft=6)
run_before(系数值之前连续的0的数量=1(ZerosLeft=5)
run_before=2(ZerosLeft=4)
run_before=0(ZerosLeft=3)
run_before=2(ZerosLeft=2)
run_before=0(ZerosLeft=1)
run_before=0(ZerosLeft=0)
注意,如上所述,这些数值根据编码状态(诸如周围的块等)而切换的表VLC来编码。
[对宏块类型的编码处理的描述]
接下来,将参考图36中的流程图来描述图33的步骤S83中的宏块类型的编码处理。
从速率控制单元77向VLC表切换单元81和代码编号分配单元82提供量化参数QP(图18中的步骤S25)。
VLC表切换单元81和代码编号分配单元82在步骤S91中从速率控制单元77获得量化参数QP。
在步骤S92中,VLC表切换单元81根据来自速率控制单元77的量化参数将例如两种类型的表之一选择作为用于宏块类型的VLC表。例如,VLC表切换单元81选择与比预定阈值低的量化参数(例如,QP=22)对应的、图17中的k=0表,并且选择与比预定阈值大的量化参数(例如,QP=37)对应的k=1表。
在步骤S93中,代码编号分配单元82根据来自速率控制单元77的量化参数来分配代码编号“0”。即,代码编号分配单元82根据比预定阈值小的量化参数来向代码编号“0”分配帧间16×16模式。而且,代码编号分配单元82根据比预定阈值大的量化参数来向代码编号“0”分配跳跃(或直接)模式。
这个分配信息被提供到VLC表切换单元81,并且与关于宏块类型的VLC表信息一起被提供到无损编码单元66。
在步骤S94中,无损编码单元66使用由VLC表切换单元81选择的VLC表来编码宏块类型。
在步骤S84中,将编码的宏块类型与图33的步骤S82中编码的其他句法元素一起加到步骤S81中编码的压缩图像的头部。
以这种方式编码的压缩图像通过预定传输路径被发送,并且被图像解码装置解码。
[图像解码装置的配置示例]
图37表示作为本发明已经被应用到的图像处理装置的图像解码装置的实施例的配置。
图像解码装置101包括下述部分:存储缓冲器111、无损解码单元112、逆量化单元113、逆正交变换单元114、计算单元115、解块滤波器116、屏幕重置缓冲器117、D/A转换单元118、帧存储器119、开关120、帧内预测单元121、运动预测/补偿单元122、开关123和模式表切换单元124。
存储缓冲器111存储发送的压缩图像。无损解码单元112使用与无损编码单元66的编码格式对应的格式来解码从存储缓冲器111提供并且由图12中的无损编码单元66编码的信息。
即,无损解码单元112解码由图12中的无损编码单元66编码的图像,并且还解码句法元素(如和等)。所解码的宏块类型被提供到逆量化单元113。而且,量化参数也被提供到模式表切换单元124。
而且,无损解码单元112还使用与这个量化参数对应的、由模式表切换单元124选择的解码方法(具体地说,VLC表信息)来解码宏块类型。解码图像和量化参数被提供到运动预测/补偿单元122或帧内预测单元121。
逆量化单元113参考由无损解码单元112解码的量化参数,使用与图12中的量化单元65的量化格式对应的格式,对由无损解码单元112解码的图像进行逆量化。逆正交变换单元114使用与图12中的正交变换单元64的正交变换格式对应的格式对逆量化单元113的输出进行逆正交变换。
经过逆正交变换的输出通过由计算单元115加上从开关123提供的预测图像而被解码。解块滤波器116去除解码图像的块噪声,然后提供其到帧存储器119以存储,并且还输出到屏幕重置缓冲器117。
屏幕重置缓冲器117进行图像的重新布置。具体地说,以原始显示顺序来重新布置由图12中的屏幕重置缓冲器62重新布置为编码序列的帧的序列。D/A转换单元118将从屏幕重置缓冲器117提供的图像从数字转换为模拟,并且输出到未示出的显示器用于显示。
开关120从帧存储器119读出要进行帧间处理的图像和要参考的图像,输出到运动预测/补偿单元122,并且还从帧存储器119读出要用于帧内预测的图像,并且提供到帧内预测单元121。
从无损解码单元112向帧内预测单元121提供宏块类型信息和用于指示通过解码头部信息而获得的帧内预测模式的信息。帧内预测单元121基于这个信息来产生预测图像,并且向开关123输出所产生的预测图像。
在通过解码头部信息而获得的信息中,从无损解码单元112向运动预测/补偿单元122提供宏块类型信息、运动向量信息、参考帧信息等。运动预测/补偿单元122基于运动向量信息和参考帧信息,对图像进行运动预测和补偿处理,并且产生预测图像。即,使用通过运动向量而与当前块相关的参考帧中的参考块的像素值来产生当前块的预测图像。运动预测/补偿单元122向开关123输出所产生的预测图像。
开关123选择由运动预测/补偿单元122或帧内预测单元121产生的预测图像,并且提供到计算单元115。
模式表切换单元124根据由无损解码单元112解码的量化参数来切换用于宏块类型(即,VLC表)的解码方法,并且向无损解码单元112提供切换的VLC表信息。
即,除了从无损解码单元112而不是从速率控制单元77获得量化参数之外,模式表切换单元124进行与图12中的模式表切换单元78基本上相同的处理。
[无损解码单元和模式表切换单元的配置示例]
图38是图示无损解码单元和模式表切换单元的详细配置示例的框图。
在图38的示例中,无损解码单元112被配置为包括量化参数解码单元131和宏块类型解码单元132。即,无损解码单元112实际上还被配置为包括用于解码来自图像编码装置51的压缩图像和诸如运动向量信息(除了量化参数和宏块类型之外)等其他句法元素的部分,但是对于图38中的示例,省略对其的说明。
模式表切换单元124包括VLC表切换单元141和代码编号分配单元142。
量化参数解码单元131解码添加到压缩图像头部的量化参数,并且向逆量化单元113、VLC表切换单元141和代码编号分配单元142提供解码的量化参数。
宏块类型解码单元132使用由VLC表切换单元141选择的VLC表来解码宏块类型,并且向运动预测/补偿单元122提供解码的宏块类型。注意,在宏块类型与帧间相关并且宏块类型不是跳跃或直接模式的情况下,运动向量信息和参考帧信息等也在无损解码单元112处被分别地解码,并且被提供到运动预测/补偿单元122。
注意,虽然附图中省略了图示,但是在宏块类型与帧间相关的情况下,向帧内预测单元121提供宏块类型。在该情况下,帧内预测模式信息也在无损解码单元112处被独立地解码,并且被提供到帧内预测单元121。
VLC表切换单元141具有用于宏块类型的至少两种VLC表。VLC表切换单元141根据来自量化参数解码单元131的量化参数选择将两种类型的VLC表的哪个用于宏块类型。VLC表切换单元141向已经选择的用于宏块类型的VLC表的信息加上从代码编号分配单元142分配的信息,并且将其提供到宏块类型解码单元132。
代码编号分配单元142根据来自量化参数解码单元131的量化参数向代码编号0分配预定宏块类型,并且向VLC表切换单元141提供所分配的信息。
[对图像解码装置的解码处理的描述]
接下来,将参考图39中的流程图来描述图像解码装置101进行的解码处理。
在步骤S131中,存储缓冲器111存储所发送的图像。在步骤S132中,无损解码单元112进行无损解码处理,以解码从存储缓冲器111提供的压缩图像。下面参考图40来描述这个无损解码处理的细节。
由于步骤S132的处理,图12中的无损编码单元66所编码的I画面、P画面和B画面被解码。而且,量化参数、宏块类型以及(如果此时被编码的情况下)运动向量信息、参考帧信息、用于指示帧内预测模式的信息等也被解码。
在步骤S133中,逆量化单元113使用与图12中的量化单元65的属性对应的属性来逆量化由无损解码单元112解码的变换系数。在步骤S134中,逆正交变换单元114使用与图12中的正交变换单元64的属性对应的属性,对由逆量化单元113逆量化的变换系数进行逆正交变换。这意味着与图12中的正交变换单元64的输入(计算单元63的输出)对应的差信息已经被解码。
在步骤S135中,计算单元115将在后述的步骤S141的处理中被选择并且经由开关123被输入的预测图像加到差信息。从而,解码原始图像。在步骤S136中,解块滤波器116对从计算单元115输出的图像进行滤波。因此,去除块噪声。在步骤S137中,帧存储器119存储经过滤波的图像。
在步骤S138中,帧内预测单元121或运动预测/补偿单元122中每一个响应于从无损解码单元112提供的预测模式信息来进行对应的图像预测处理。
即,在宏块类型与帧内相关的情况下,向帧内预测单元121提供用于指示宏块类型和帧间预测模式等信息。在已经从无损解码单元112提供了宏块类型和帧内预测模式的情况下,帧内预测单元121在帧内预测模式下进行帧内预测处理。
在宏块类型与帧间相关的情况下,宏块类型以及(如果需要)运动向量信息和参考帧信息等被提供到运动预测/补偿单元122。在已经从无损解码单元112提供宏块类型等的情况下,运动预测/补偿单元122基于宏块类型来进行帧间预测模式下的运动预测/补偿处理。
下面参考图42来描述步骤S138中的预测处理的细节。根据这个处理,由帧内预测单元121产生的预测图像或由运动预测/补偿单元122产生的预测图像被提供到开关123。
在步骤S139中,开关123选择预测图像。具体地说,由帧内预测单元121产生的预测图像或由运动预测/补偿单元122产生的预测图像被提供。因此,所提供的预测图像被选择,被提供到计算单元115,并且在步骤S134中,如上所述的那样被加到逆正交变换单元114的输出。
在步骤S140中,屏幕重置缓冲器117进行重新布置。具体地说,以原始显示序列来重新布置由图像编码装置51的屏幕重置缓冲器62重新布置用于编码的帧的序列。
在步骤S141中,D/A转换单元118将来自屏幕重置缓冲器117的图像从数字转换为模拟。该图像被输出到未示出的显示器,并且该图像被显示。
[对无损解码处理的描述]
接下来,将参考图40中的流程图来描述图39中的步骤S132的无损解码处理。
被发送的图像被存储在存储缓冲器111中。在步骤S151中,无损解码单元112使用与图33中的步骤S81的编码方法对应的解码方法来解码从存储缓冲器111提供的压缩图像,并且向逆量化单元113提供解码的图像。
在步骤S112中,无损解码单元112使用与图33中的步骤S82的编码方法对应的解码方法来解码除宏块类型之外的句法元素。具体地说,量化参数在量化参数解码单元131处被解码,并且被提供到逆量化单元113、VLC表切换单元141和代码编号分配单元142。
在步骤S153中,宏块类型解码单元132进行宏块类型的解码处理。下面参考图41来描述这个宏块类型解码处理的细节。
由于步骤S153中的处理,宏块类型的信息使用根据来自量化参数解码单元131的量化参数而选择的预测像素值而被解码。
[对宏块类型的解码处理的描述]
接下来,将参考图41中的流程图来描述图40中的步骤S153中的宏块类型的解码处理。
从量化参数解码单元131向VLC表切换单元141和代码编号分配单元142提供量化参数QP(图40中的步骤S152)。
在步骤S161中,VLC表切换单元141和代码编号分配单元142从量化参数解码单元131获得量化参数QP。
在步骤S162中,VLC表切换单元141根据来自量化参数解码单元131的量化参数将例如两种类型的表之一选择作为用于宏块类型的VLC表。即,VLC表切换单元141根据比预定阈值小的量化参数(例如,QP=22)来选择图17中的k=0表,并且根据比预定阈值高的量化参数(例如,QP=37)来选择k=1表。
注意,例如如图43等所示,这个预定阈值与使用VLC表切换单元81设置的预定阈值相同,并且在VLC表的学习时被获得。
在步骤S163中,代码编号分配单元142根据来自量化参数解码单元131的量化参数来分配代码编号“0”。即,代码编号分配单元142根据比预定阈值小的量化参数来向代码编号“0”分配帧间16×16模式。而且,代码编号分配单元142根据比预定阈值大的量化参数向代码编号“0”分配跳跃(或直接)模式。
这个分配信息被提供到VLC表切换单元141,并且与用于宏块类型的VLC表信息一起被提供到宏块类型解码单元132。
在步骤S164中,宏块类型解码单元132使用由VLC表切换单元141选择的VLC表来解码宏块类型。
解码的宏块类型与在图40的步骤S152中编码的其他句法元素一起被用于图39的步骤S138中的预测处理。
[对预测处理的描述]
接下来,将参考图42中的流程图来描述图39中的步骤S138的预测处理。
在步骤S171中,无损解码单元112参考在图41的步骤S164中解码的宏块类型来确定当前块是否已经进行了帧内编码。
在步骤S171中确定当前块已经进行帧内编码的情况下,无损解码单元112将在图40的步骤S152中解码的帧内预测模式信息与宏块类型一起提供到帧内预测单元121。
因此,在步骤S172中,帧内预测单元121获得宏块类型和帧内预测模式信息,并且在步骤S173中进行帧内预测。
具体地说,在要处理的图像是要进行帧内处理的图像的情况下,从帧存储器119读出所需图像,并且将其经由开关120提供到帧内预测单元121。在步骤S173中,帧内预测单元121使用在步骤S172中获得的宏块类型,按照帧内预测模式信息来进行帧内预测,以产生预测图像。所产生的预测图像被输出到开关123。
另一方面,在步骤S171中确定还没有进行帧内预测的情况下,无损解码单元112向运动预测/补偿单元122提供宏块类型。此时,除非宏块类型指示的模式是跳跃(直接)模式,那么,参考帧信息和运动向量信息等也在图40中的步骤S152中被解码,因此被提供到运动预测/补偿单元122。
在步骤S175,运动预测/补偿单元122进行正常的帧间预测。即,在要处理的图像是要进行帧间预测处理的图像的情况下,从帧存储器169读出所需图像,并且将其经由开关170提供运动预测/补偿单元173。在步骤S175,运动预测/补偿单元173基于在步骤S174中获得的宏块类型,在帧间预测模式下进行运动预测,并且产生预测图像。所产生的预测图像被输出到开关123。
因此,根据量化参数,在图像编码装置51和图像解码装置101处切换宏块类型的VLC表,因此,可以缩短有关宏块类型的代码长度。因此,可以缩短平均代码长度。
图43表示本发明已经被应用到的学习装置的实施例的配置。这个学习装置201是用于使用训练图像信号、基于霍夫曼编码来产生VLC表的学习装置。
注意,训练图像信号是用于获得滤波系数的测试图像,并且例如可以使用可在www.vqeg.org获得的用于图像压缩编码的标准化的标准序列。替代地,可以使用对应于每一个应用的输入图像。例如,在输入是相机信号的情况下,可以使用利用CCD或CMOS传感器成像的基带信号来进行训练。
图43的学习装置201与图12的图像编码装置51共同地具有下述方面:具有A/D转换单元61、屏幕重置缓冲器62、计算单元63、正交变换单元64、量化单元65、无损编码单元66、存储缓冲器67、逆量化单元68、逆正交变换单元69、计算单元70、解块单元71、帧存储器72、开关73、帧内预测单元74、运动预测/压缩单元75、预测图像选择单元76和速率控制单元77。
而且,学习装置201与图12的图像编码装置51的不同之处在于下述方面:使用用于训练的图像信号作为使用的信号,并且使得模式表计算单元211来替换模式表切换单元78。
即,对于学习装置201,使用由速率控制单元77固定的量化参数在模式表计算单元211的控制下编码训练图像信号。注意,除了基于H.264/AVC格式来规定进行对于宏块类型的编码之外,学习装置201进行与图12的图像编码装置51基本上相同的编码处理。
与预测图像选择单元76的预测图像的选择相对应地,从帧内预测单元74或运动预测/压缩单元75向无损编码单元66提供宏块类型的信息,使得信息被提供到模式表计算单元211。
模式表计算单元211控制速率控制单元77使用固定的量化参数来控制量化单元65的速率。模式表计算单元211使用来自无损编码单元66的量化参数的信息和宏块类型的信息来计算每一个量化参数的宏块类型的出现概率。
学习装置201根据所计算的出现概率通过霍夫曼编码来确定与每一个量化参数对应的VLC表。注意,此时,还获得量化参数的阈值。
现在,将描述霍夫曼编码。霍夫曼编码被作为用于在事件概率预先已知的情况下向事件分配比特速率使得平均代码长度最小的方法。
为了使用霍夫曼来描述代码配置方法,在第一步骤中,建立与信息源符号对应的叶。在此每一叶已经描述了信息源符号出现的概率。以下,这将被称为该叶的概率。
在第二步骤中,对于具有最小概率的两个叶,建立一个节点,并且通过分支来连接该节点和该两个叶。两个分支之一被分配0,并且另一个被分配1。而且,描述两个叶的概率的和,并且这个节点被当作新的叶。即,认为来自这个节点的分支已经被去除。
在第三步骤中,如果仅剩余一个叶,则代码配置方法在此结束。否则,处理返回到第二步骤。
对于这种配置方法,代码树具有与所有的信息源符号对应的叶。将参考图44来描述其具体示例。
对于图44中的示例,针对出现事件A、B、C和D的概率分别是0.6、0.25、0.1和0.05的情况示出了霍夫曼代码配置。首先,作为第一步骤,建立与A、B、C和D对应的叶。在图44的示例中,在括号()中示出每一个事件的概率。
具有最小概率的两个叶是C和D,因此,作为第二步骤,建立节点E,并且C和D连接到节点E。此时E的概率是0.1+0.05=0.15。
接下来,也以节点E作为叶,对于A、B和E进行相同处理。即,两个最小叶是B和F,因此建立节点F,并且B和E连接到节点E。此时F的概率是0.25+0.15=0.4。
而且,也以节点F作为叶,对于两个剩余的叶A和F进行相同的处理。即,建立A和F的节点G,并且A和F连接到节点G。此时的G的概率是0.6+0.4=1。也以节点G作为叶,仅剩余一个叶,因此完成符号树。
从这个符号树获得的代码字对于相应的事件A、B、C和D为0、10、110和111,并且平均代码长度为来自下面的表达式(73)的1.55(比特)。
0.6*1+0.25*2+0.1*3+0.05*3...(73)
接下来,将参考图45中的流程图来描述图43中的学习装置201的学习处理。
模式表计算单元211控制速率控制单元77固定量化参数。对应地,在步骤S201中,学习装置201进行训练图像信号的编码。注意,除了也基于用于宏块类型的H.264/AVC格式规定来进行并且也是使用固定量化参数而被速率控制之外,这个编码处理是与上文参考图18描述的编码处理基本上相同的处理。因此,将省略对这个编码处理的描述。
因此,与无损编码单元66的预测图像的选择对应地,从帧内预测单元74或运动预测/压缩单元75向无损编码单元66提供宏块类型信息,无损编码单元66向模式表计算单元211提供其信息。
针对各种量化参数的每一个进行这个步骤S201的处理。
在步骤S202中,模式表计算单元211使用量化参数的信息和来自无损编码单元66的宏块类型的信息来计算每一个量化参数的宏块类型的出现概率。
在步骤S203中,模式表计算单元211根据所计算的出现概率,通过上文参考图44描述的霍夫曼编码,确定与每一个量化参数对应的VLC表。
注意,虽然已经示出了与图像编码装置一体地形成的学习装置201的示例,但是在图43中,可以建立下述布置:其中,学习装置包括至少包括模式表计算单元211的计算机,并且使得图12中的图像编码装置51使用量化参数来进行编码处理。然后使用学习装置以在线或离线的方式从图像编码装置51获得的、作为编码处理的结果而获得的宏块类型的信息来确定与每一个量化参数对应的VLC表。
通过如上所述的确定而产生的VLC表被存储在图像编码装置51的VLC表切换单元81或图像解码装置101的VLC表切换单元141中,并且用于上述的编码。
注意,虽然已经将与预测模式相关的信息中的宏块类型用于上面的描述,但是关于相对于宏块类型的量化参数和预测模式分布的倾向对于上文参考图11描述的帧内4×4预测模式也成立。
即,关于上文参考图21描述的九种帧内预测模式,当模式0至模式8之一的信息被附加到压缩图像的头部并且以块的形式被发送时,所发送的模式的数量越大,则模式比特越大。
因此,对于较低的量化参数,即较高的比特速率,选择较大编号的模式以便提高预测效率,即使模式比特增多到特定程度也是如此。相反,对于较高的量化参数,即较低的比特速率,趋向于选择较低编号的模式,从而保持模式比特不增多。
即,如果使用高量化参数来进行编码处理,则诸如垂直、水平、DC等被分配了较低代码编号的帧内预测模式的出现概率高,并且其他预测模式的出现概率趋向于较低。
另一方面,如果使用低量化参数来进行编码处理,则具有较低的代码编号的帧内预测模式的出现概率减小,并且其他预测模式的出现概率趋向于增大。
因此,在使用较高量化参数来编码的情况下,利用诸如k=0等VLC表的代码也用于帧内预测模式的情况。因此,可以缩短出现概率较高的、代码编号低的帧内预测模式的代码长度。另一方面,在使用较低量化参数来编码的情况下,利用诸如k=1等VLC表的代码被使用。相应地,用于出现概率到了一定程度、代码编号不低的帧内预测模式的代码长度可以被缩短。
而且,对于帧内预测模式的情况,也可以根据量化参数来切换代码编号“1”的分配。
如上所述,本发明不限于宏块类型的编码,并且也可以被应用到帧内预测模式编码。当然,本发明不限于帧内4×4预测模式,并且也可以被应用到帧内8×8预测模式、帧内16×16预测模式和色差信号的帧内预测模式等。
而且,虽然已经基于H.264/AVC格式描述了上面的说明,但是本发明不限于此,并且适用于通过VLC进行多个宏块类型或帧内预测模式的编码的所有编码装置和解码装置。
注意,本发明可以被应用到下述图像编码装置和图像解码装置:该图像编码装置和图像解码装置用于经由诸如卫星广播、有线电视、因特网、蜂窝电话等网络媒体来接收如同MPEG、H.26x等那样、通过诸如离散余弦变换等正交变换和运动补偿压缩的信息(比特流)。而且,本发明可以被应用到用于在诸如光盘、磁盘、闪存等存储媒体上处理的图像编码装置和图像解码装置。
上述的一系列处理可以通过硬件进行或可以通过软件进行。在通过软件来进行系列处理的情况下,构成其软件的程序被安装在计算机中。在此,计算机的示例包括专用硬件内置的计算机和通用个人计算机,由此可以通过向其安装的各种类型的程序来进行各种功能。
图46是图示使用程序来进行上述一系列处理的计算机的硬件的配置示例的框图。
对于计算机,CPU(中央处理单元)301、ROM(只读存储器)302和RAM(随机存取存储器)303通过总线304相互连接。
而且,输入/输出接口305连接到总线304。输入单元306、输出单元307、存储单元308、通信单元309和驱动器310。
输入单元306由键盘、鼠标、麦克风等构成。输出单元307由显示器、扬声器等构成。存储单元308由硬盘、非易失性存储器等构成。通信单元309由网络接口等构成。驱动器310驱动可拆卸介质311,诸如磁盘、光盘、磁光盘、半导体存储器等。
对于如此工作的计算机,例如,CPU 301经由输入/输出接口305和总线304向RAM 303安装存储单元308中存储的程序,并且执行该程序,从而进行上述的系列处理。
计算机(CPU 301)执行的程序可以通过被记录于例如作为封装介质等可拆卸介质311而被提供。而且,可以经由诸如局域网、因特网或数字广播的线缆或无线传输介质来提供程序。
对于计算机,程序可以通过将可拆卸介质311安装在驱动器310上而经由输入/输出接口305被安装在存储单元308中。而且,程序经由线缆或无线传输介质被通信单元309接收,并且被安装在存储单元308中。另外,程序可以预先被安装在ROM 302或存储单元308中。
注意,计算机执行的程序可以是按照本说明书中描述的序列以时间顺序进行处理的程序,或者可以是并行地或在诸如进行呼叫时等所需定时进行处理的程序。
本发明的实施例不限于上述实施例,并且在不偏离本发明的实质的情况下可以进行各种修改。
附图标记列表
51 图像编码装置
66 无损编码单元
74 帧内预测单元
75 运动预测/补偿单元
77 速率控制单元
78 模式表切换单元
81 VLC表切换单元
82 代码编号分配单元
101 图像解码装置
112 无损解码单元
121 帧内预测单元
122 运动预测/补偿单元
124 模式表切换单元
131 量化参数解码单元
132 宏块类型解码单元
141 VLC表切换单元
142 代码编号分配单元
201 学习装置
211 模式表计算单元

Claims (20)

1.一种图像处理装置,包括:
量化参数解码部件,被配置为解码在作为解码处理的对象的当前块中的量化参数;
切换部件,被配置为根据所述量化参数来切换与关于所述当前块的预测模式相关的信息的解码方法;以及
预测模式解码部件,被配置为利用由所述切换部件切换的解码方法,来解码与预测模式相关的所述信息。
2.根据权利要求1所述的图像处理装置,其中,所述切换部件根据所述量化参数通过切换与所述预测模式相关的可变长度编码表来切换所述解码方法。
3.根据权利要求2所述的图像处理装置,其中,与预测模式相关的所述信息是宏块类型的信息。
4.根据权利要求2所述的图像处理装置,其中,与预测模式相关的所述信息是帧内预测模式的信息。
5.根据权利要求2所述的图像处理装置,其中,在值大于预定阈值的量化参数的情况下,所述切换部件切换到相对于代码编号小的情况比特长度短的表。
6.根据权利要求2所述的图像处理装置,其中,在值小于预定阈值的量化参数的情况下,所述切换部件切换到即使在代码编号增加的情况下比特长度增大也平缓的表。
7.根据权利要求2所述的图像处理装置,其中,所述编码部件使用哥伦布编码用于所述可变长度编码表。
8.根据权利要求2所述的图像处理装置,其中,所述编码部件使用霍夫曼编码用于所述可变长度编码表。
9.根据权利要求1所述的图像处理装置,其中,所述切换部件根据所述量化参数通过切换与预测模式相关的信息的代码编号的分配来切换所述解码方法。
10.根据权利要求9所述的图像处理装置,其中,与预测模式相关的所述信息是帧间宏块类型的信息。
11.根据权利要求10所述的图像处理装置,其中,在值比预定阈值大的量化参数的情况下,所述切换部件将跳跃或直接模式的分配切换到最小代码编号。
12.根据权利要求10所述的图像处理装置,其中,在值小于预定阈值的量化参数的情况下,所述切换部件将帧间16×16预测模式的分配切换到最小代码编号。
13.根据权利要求9所述的图像处理装置,其中,与预测模式相关的所述信息是帧内预测模式的信息。
14.一种图像处理方法,包括以下步骤:
图像处理装置解码在作为解码处理的对象的当前块中的量化参数;
根据所述量化参数来切换与关于所述当前块的预测模式相关的信息的解码方法;以及
使用所切换的解码方法来解码与预测模式相关的所述信息。
15.一种图像处理装置,包括:
量化参数获得部件,被配置为获得在作为编码处理的对象的当前块中的量化参数;
切换部件,被配置为根据所述量化参数来切换与关于所述当前块的预测模式相关的信息的编码方法;以及
预测模式编码部件,被配置为使用由所述切换部件切换的所述编码方法来编码与预测模式相关的所述信息。
16.根据权利要求15所述的图像处理装置,其中,所述切换部件根据所述量化参数通过切换与所述预测模式相关的可变长度编码表来切换所述编码方法。
17.根据权利要求16所述的图像处理装置,其中,在值大于预定阈值的量化参数的情况下,所述切换部件切换到相对于代码编号小的情况比特长度短的表。
18.根据权利要求16所述的图像处理装置,其中,在值小于预定阈值的量化参数的情况下,所述切换部件切换到即使在代码编号增加的情况下比特长度增大也平缓的表。
19.根据权利要求15所述的图像处理装置,其中,所述切换部件根据所述量化参数通过切换与预测模式相关的所述信息的代码编号的分配来切换所述解码方法。
20.一种图像处理方法,包括以下步骤:
图像处理装置获得在作为编码处理的对象的当前块中的量化参数;
根据所述量化参数来切换与关于所述当前块的预测模式相关的信息的编码方法;以及
使用所切换的编码方法来编码与预测模式相关的所述信息。
CN2010800311072A 2009-07-17 2010-07-09 图像处理装置和方法 Pending CN102474618A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009168499A JP2011024066A (ja) 2009-07-17 2009-07-17 画像処理装置および方法
JP2009-168499 2009-07-17
PCT/JP2010/061658 WO2011007719A1 (ja) 2009-07-17 2010-07-09 画像処理装置および方法

Publications (1)

Publication Number Publication Date
CN102474618A true CN102474618A (zh) 2012-05-23

Family

ID=43449328

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010800311072A Pending CN102474618A (zh) 2009-07-17 2010-07-09 图像处理装置和方法

Country Status (8)

Country Link
US (1) US20120128064A1 (zh)
EP (1) EP2456205A1 (zh)
JP (1) JP2011024066A (zh)
KR (1) KR20120051639A (zh)
CN (1) CN102474618A (zh)
BR (1) BR112012000618A2 (zh)
RU (1) RU2012100264A (zh)
WO (1) WO2011007719A1 (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101824241B1 (ko) * 2011-01-11 2018-03-14 에스케이 텔레콤주식회사 인트라 부가정보 부호화/복호화 장치 및 방법
WO2012165886A2 (ko) * 2011-05-31 2012-12-06 (주)휴맥스 화면 간 예측 방법에서 움직임 예측 관련 정보 저장 방법 및 화면 간 예측 방법에서 움직임 예측 관련 정보 산출 방법
WO2013001717A1 (ja) * 2011-06-30 2013-01-03 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
JP5768565B2 (ja) * 2011-07-28 2015-08-26 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
US20130188691A1 (en) 2012-01-20 2013-07-25 Sony Corporation Quantization matrix design for hevc standard
US11039138B1 (en) * 2012-03-08 2021-06-15 Google Llc Adaptive coding of prediction modes using probability distributions
WO2013162283A1 (ko) * 2012-04-24 2013-10-31 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
CN104380733B (zh) * 2012-06-28 2017-09-05 日本电气株式会社 视频量化参数编码方法、视频量化参数解码方法、设备
US10904551B2 (en) * 2013-04-05 2021-01-26 Texas Instruments Incorporated Video coding using intra block copy
WO2015058397A1 (en) 2013-10-25 2015-04-30 Microsoft Technology Licensing, Llc Representing blocks with hash values in video and image coding and decoding
US10567754B2 (en) 2014-03-04 2020-02-18 Microsoft Technology Licensing, Llc Hash table construction and availability checking for hash-based block matching
KR102287779B1 (ko) * 2014-06-23 2021-08-06 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 해시 기반의 블록 매칭의 결과에 기초한 인코더 결정
KR102490706B1 (ko) 2014-09-30 2023-01-19 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비디오 코딩을 위한 해시 기반 인코더 결정
GB2533155B (en) * 2014-12-12 2021-09-15 Advanced Risc Mach Ltd Video data processing system
KR20170007665A (ko) * 2015-07-10 2017-01-19 삼성전자주식회사 스킵 모드 정보를 이용한 레이트 조절 인코딩 방법 및 그에 따른 인코딩 장치
JP6727011B2 (ja) * 2016-04-14 2020-07-22 キヤノン株式会社 画像符号化装置及びその制御方法
WO2018030293A1 (ja) * 2016-08-10 2018-02-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
US10366698B2 (en) * 2016-08-30 2019-07-30 Dts, Inc. Variable length coding of indices and bit scheduling in a pyramid vector quantizer
CN106341689B (zh) * 2016-09-07 2019-04-23 中山大学 一种avs2量化模块和反量化模块的优化方法及系统
US11095877B2 (en) 2016-11-30 2021-08-17 Microsoft Technology Licensing, Llc Local hash-based motion estimation for screen remoting scenarios
US10506258B2 (en) * 2017-07-13 2019-12-10 Google Llc Coding video syntax elements using a context tree
US10848775B2 (en) 2018-11-02 2020-11-24 Fungible, Inc. Memory layout for JPEG accelerator
US10931958B2 (en) 2018-11-02 2021-02-23 Fungible, Inc. JPEG accelerator using last-non-zero (LNZ) syntax element
US10827191B2 (en) 2018-11-02 2020-11-03 Fungible, Inc. Parallel coding of syntax elements for JPEG accelerator
US10827192B2 (en) * 2018-11-02 2020-11-03 Fungible, Inc. Work allocation for JPEG accelerator
WO2021032112A1 (en) * 2019-08-19 2021-02-25 Beijing Bytedance Network Technology Co., Ltd. Initialization for counter-based intra prediction mode
US11202085B1 (en) 2020-06-12 2021-12-14 Microsoft Technology Licensing, Llc Low-cost hash table construction and hash-based block matching for variable-size blocks
US12020461B2 (en) 2021-03-10 2024-06-25 Tencent America LLC Method and apparatus for Haar-based point cloud coding

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004135252A (ja) * 2002-10-09 2004-04-30 Sony Corp 符号化処理方法、符号化装置及び復号化装置
WO2004039083A1 (ja) * 2002-04-26 2004-05-06 Ntt Docomo, Inc. 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム及び画像復号プログラム
JP2005516497A (ja) * 2002-01-22 2005-06-02 ノキア コーポレイション イメージ/ビデオ符号器及び/又は復号器における変換係数の符号化
CN1946186A (zh) * 2001-11-22 2007-04-11 松下电器产业株式会社 可变长度编码方法以及可变长度解码方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2794951B2 (ja) * 1990-12-17 1998-09-10 村田機械株式会社 Mr符号の復号化方法
US5995148A (en) * 1997-02-14 1999-11-30 At&T Corp Video coder having scalar dependent variable length coder
SE522261C2 (sv) * 2000-05-10 2004-01-27 Global Ip Sound Ab Kodning och avkodning av en digital signal
US6633242B2 (en) * 2001-02-08 2003-10-14 Sun Microsystems, Inc. Entropy coding using adaptable prefix codes
JP4492777B2 (ja) * 2001-08-28 2010-06-30 日本電気株式会社 動画像符号化装置
CN1297148C (zh) * 2001-08-28 2007-01-24 株式会社Ntt都科摩 动画图像编码传送系统、动画图像编码传送方法、该系统和方法使用的适合的编码装置、译码装置、编码方法、译码方法以及程序
JP4100552B2 (ja) * 2001-11-22 2008-06-11 松下電器産業株式会社 復号化方法
JP2004007563A (ja) * 2002-04-19 2004-01-08 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
US7170937B2 (en) * 2002-05-01 2007-01-30 Texas Instruments Incorporated Complexity-scalable intra-frame prediction technique
US20090198500A1 (en) * 2007-08-24 2009-08-06 Qualcomm Incorporated Temporal masking in audio coding based on spectral dynamics in frequency sub-bands

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1946186A (zh) * 2001-11-22 2007-04-11 松下电器产业株式会社 可变长度编码方法以及可变长度解码方法
JP2005516497A (ja) * 2002-01-22 2005-06-02 ノキア コーポレイション イメージ/ビデオ符号器及び/又は復号器における変換係数の符号化
WO2004039083A1 (ja) * 2002-04-26 2004-05-06 Ntt Docomo, Inc. 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム及び画像復号プログラム
JP2004135252A (ja) * 2002-10-09 2004-04-30 Sony Corp 符号化処理方法、符号化装置及び復号化装置

Also Published As

Publication number Publication date
JP2011024066A (ja) 2011-02-03
EP2456205A1 (en) 2012-05-23
RU2012100264A (ru) 2013-07-20
KR20120051639A (ko) 2012-05-22
BR112012000618A2 (pt) 2019-09-24
WO2011007719A1 (ja) 2011-01-20
US20120128064A1 (en) 2012-05-24

Similar Documents

Publication Publication Date Title
CN102474618A (zh) 图像处理装置和方法
KR101979681B1 (ko) 영상 부호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체
JP6164660B2 (ja) ビデオ符号化での分割ブロック符号化方法、ビデオ復号化での分割ブロック復号化方法及びこれを実現する記録媒体
US9294768B2 (en) Moving-picture encoding apparatus and moving-picture decoding apparatus
RU2584498C2 (ru) Видеокодирование интра-режима
CN104969552B (zh) 存储减少的帧内预测模式决策
JP5922244B2 (ja) ビデオコーディングにおいて適応ループフィルタとマージされたサンプル適応オフセット
CN104094601B (zh) 用于采样自适应偏移编码和/或信令的装置和方法
CN104320665B (zh) 图像处理设备和方法
US7711196B2 (en) Apparatus and method for generating coded block pattern for alpha channel image and alpha channel image encoding/decoding apparatus and method using the same
JP7012809B2 (ja) 画像符号化装置、動画像復号装置、動画像符号化データ及び記録媒体
CN102415098B (zh) 图像处理设备和方法
EP4175184A1 (en) Methods and apparatus for unified significance map coding
CN102422643A (zh) 图像处理装置、方法和程序
JP7398368B2 (ja) 符号化及び復号化方法並びに対応デバイス
WO2013056097A1 (en) Coding non-symmetric distributions of data
CN104025591A (zh) 运动图像编码装置、运动图像解码装置、运动图像编码方法以及运动图像解码方法
CN104041039A (zh) 用于编码和解码图像的方法、编码和解码设备、以及相应的计算机程序
CN102939759A (zh) 图像处理设备和方法
CN111684810A (zh) 数据编码和解码
JP2010045853A (ja) 動画像符号化装置および動画像符号化方法
JP2010258739A (ja) 画像処理装置および方法、並びにプログラム
CN102396231A (zh) 图像处理设备及方法
US11570440B2 (en) Image encoding/decoding method and apparatus, and recording medium storing bitstream
JP7441638B2 (ja) 符号化装置、復号装置、及びプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120523