CN103650513B - 图像处理装置和方法 - Google Patents
图像处理装置和方法 Download PDFInfo
- Publication number
- CN103650513B CN103650513B CN201280032052.6A CN201280032052A CN103650513B CN 103650513 B CN103650513 B CN 103650513B CN 201280032052 A CN201280032052 A CN 201280032052A CN 103650513 B CN103650513 B CN 103650513B
- Authority
- CN
- China
- Prior art keywords
- parameter
- coding
- adaptive
- arithmetic
- decoding
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Abstract
在本发明中,诸如slice_type和slice_qp_dalta的CABAC中的初始化所需的参数共同布置在编码流的语法中,并且诸如sao_param和alf_cu_control的要进行CABAC编码的参数布置在切片报头的末端或切片数据的开头,以使得可以消除CABAC的等待时间。
Description
技术领域
本公开涉及一种图像处理装置和方法,并且具体地,涉及一种能够以高速对图像执行编码处理或解码处理的图像处理装置和方法。
背景技术
在基于H.264/AVC标准的传统图像编码方法中,CABAC(上下文自适应二进制算术编码)和CAVLC(上下文自适应可变长度编码)被定义为熵编码。在这二者之间,CABAC是用于根据周围状况(上下文)执行自适应编码的二进制算术编码方法。
在H.264/AVC标准中,当对切片(slice)数据进行解析时,CABAC对编码处理引擎、解码处理引擎和切片数据的头部中的上下文的值进行初始化(例如,参考非专利文献1)。
目前,为了实现比H.264/AVC更高的编码效率,称为HEVC(高效视频编码)的图像编码技术正被作为ITU-T(国际电信联盟标准化部门)和ISO(国际标准化组织)/IEC(国际电工技术委员会)的联合标准化组织的JCTVC(联合协作小组-视频编码)开发作为标准。非专利文献2已被发布作为HEVC的草案。
目前,在HEVC的草案中,采用自适应环路滤波器(例如,参考非专利文献3)和自适应偏置滤波器(例如,参考非专利文献4)。在HEVC中,自适应偏置滤波器设置在解块滤波器与自适应环路滤波器之间。
引用列表
非专利文献
非专利文献1:“ITU-T Recommendation H.264 Advanced video coding forgeneric audiovisual”,2010年3月
非专利文献2:Thomas Wiegand,Woo-jin Han,Benjamin Bross,Jens-RainerOhm,Gary J.Sullivian,“WD3:Working Draft3 of High-Efficiency Video Coding”,JCTVc-E603_d5(version5),2011年5月20日
非专利文献3:Takeshi Chujoh,Goki Yasuda,Naofumi Wada,Takashi Watanabe,Tomoo Yamakage,“Block-based Adaptive Loop Filter”,VCEG-AI18,ITU-Telecommunications Standardization SectorSTUDYGROUP16Question6Video CodingExperts Group(VCEG)35th Meeting:柏林,德国,2008年7月16日至18日
非专利文献4:“CE8Subtest3:Picture Quality Adaptive Offset”,JCTVC-D122,2011年1月
发明内容
本发明要解决的问题
然而,在非专利文献2所提出的方法中,没有将当对报头进行解析时算术编码处理或算术解码处理(执行算术编码处理或算术解码处理)的定时充分纳入考虑。为此,当试图执行非专利文献2中所提出的方法时,发生由于算术编码处理或算术解码处理而导致的延迟。
本公开是鉴于这样的情形而做出的,并且其目的是以高速对图像执行编码处理或解码处理。
问题的解决方案
本公开的第一方面的图像处理装置包括:接收单元,接收编码流和进行了算术编码处理的算术编码参数,在编码流中,算术编码参数一起布置在通过以具有层级结构的单位对图像数据进行编码而获得的编码流的语法中;以及解码器,对接收单元接收的算术编码参数执行算术解码处理,并且使用进行了算术解码处理的算术编码参数对接收单元接收的编码流进行解码。
进行了可变长度编码处理或固定长度编码处理的编码参数可以一起布置在编码流的语法中,接收单元可以从编码流接收编码参数,并且解码器可以对接收单元接收的编码参数进行解码并且使用解码后的编码参数对编码流进行解码。
在编码流的语法中,算术编码参数布置在编码参数之后。
当对算术编码处理或算术解码处理进行初始化时所使用的初始化参数可以一起布置在编码流的语法中,接收单元可以从编码流接收初始化参数,并且还可以设置控制器,该控制器参考接收单元接收的初始化参数执行控制以对算术解码处理进行初始化。
算术编码参数是用于以图片级或切片级对编码处理或解码处理进行控制的参数。
算术编码参数是当执行编码处理或解码处理时所使用的滤波器的参数。
自适应环路滤波器的参数和自适应偏置滤波器的参数可以一起布置在编码流的切片数据的开头,并且接收单元可以从编码流的切片数据的开头接收自适应环路滤波器的参数和自适应偏置滤波器的参数。
自适应环路滤波器的参数和自适应偏置滤波器的参数可以一起布置在编码流的切片报头的末端,并且接收单元可以从编码流的切片报头的末端接收自适应环路滤波器的参数和自适应偏置滤波器的参数。
初始化参数可以布置在编码流的切片报头的开头附近,并且接收单元可以从编码流的切片报头的开头附近接收初始化参数。
本公开的第一方面的图像处理方法包括:使得图像处理装置从编码流接收进行了算术编码处理的算术编码参数,在该编码流中,算术编码参数一起布置在通过以具有层级结构的单位对图像数据进行编码而获得的编码流的语法中;以及使得图像处理装置对所接收的算术编码参数执行算术解码处理并且使用进行了算术解码处理的算术编码参数对所接收的编码流进行解码。
本公开的第二方面的图像处理装置包括:编码器,以具有层级结构的单位对图像数据进行编码以生成编码流;布置单元,将进行了算术编码处理的算术编码参数一起布置在编码器生成的编码流的语法中;以及传送单元,传送编码器生成的编码流和布置单元布置的算术编码参数。
布置单元可以将进行了可变长度编码处理或固定长度编码处理的编码参数布置在一起,并且传送单元可以传送布置单元布置的编码参数。
布置单元可以将算术编码参数布置在编码参数之后。
布置单元可以将当对算术编码处理或算术解码处理进行初始化时所使用的初始化参数布置在一起,并且传送单元可以传送布置单元布置的初始化参数。
算术编码参数是用于以图片级或切片级对编码处理或解码处理进行控制的参数。
算术编码参数是当执行编码处理或解码处理时所使用的滤波器的参数。
布置单元可以将自适应环路滤波器的参数和自适应偏置滤波器的参数一起布置在编码流的切片数据的开头,并且传送单元可以传送布置单元布置的自适应环路滤波器的参数和自适应偏置滤波器的参数。
布置单元可以将自适应环路滤波器的参数和自适应偏置滤波器的参数一起布置在编码流的切片报头的末端,并且传送单元可以传送布置单元布置的自适应环路滤波器的参数和自适应偏置滤波器的参数。
布置单元可以将初始化参数布置在编码流的切片报头的开头附近。
本公开的第二方面的图像处理方法包括:使得图像处理装置通过以具有层级结构的单位对图像数据进行编码来生成编码流;使得图像处理装置将进行了算术编码处理的算术编码参数一起布置在所生成的编码流的语法中;以及使得图像处理装置传送所生成的编码流和所布置的算术编码参数。
在本公开的第一方面中,接收编码流和进行了算术编码处理的算术编码参数,在该编码流中,算术编码参数一起布置在通过以具有层级结构的单位对图像数据进行编码而获得的编码流的语法中,并且使得所接收的算术编码参数进行算术解码处理。另外,使用进行了算术解码处理的算术编码参数对所接收的编码流进行解码。
在本公开的第二方面中,通过以具有层级结构的单位对图像数据进行编码来生成编码流。另外,进行了算术编码处理的算术编码参数一起布置在所生成的编码流的语法中,并且传送所生成的编码流和所布置的算术编码参数。
另外,上述图像处理装置可以是独立装置,或者可以是构成一个图像编码装置或图像解码装置的内部块。
本发明的效果
根据本公开的第一方面,可以对图像进行解码。特别地,可以以高速执行解码处理。
根据本公开的第二方面,可以对图像进行编码。特别地,可以以高速执行编码处理。
附图说明
图1是示出图像编码装置的典型示例结构的框图。
图2是示出无损编码器的配置的示例的图。
图3是示出传统流配置的示例的图。
图4是示出图像编码装置的流配置的示例的图。
图5是示出图像编码装置的流配置的另一示例的图。
图6是示出图像编码装置的流配置的又一示例的图。
图7是示出图像编码装置的流配置的另一示例的图。
图8是示出传统处理的定时的时序图。
图9是示出图像编码装置的处理的定时的示例的时序图。
图10是示出图像编码装置的处理的定时的另一示例的时序图。
图11是示出图像编码装置的处理的定时的另一示例的时序图。
图12是示出整个编码处理的流程的示例的流程图。
图13是示出无损编码器的编码处理的流程的示例的流程图。
图14是示出图像解码装置的典型示例结构的框图。
图15是示出无损解码器的配置的示例的框图。
图16是示出整个解码处理的流程的示例的流程图。
图17是示出无损解码器的解码处理的流程的示例的流程图。
图18是示出切片报头的语法的示例的图。
图19是示出sao_param()的语法的示例的图。
图20是示出切片数据的语法的示例的图。
图21是示出切片报头的语法的另一示例的图。
图22是示出切片报头的语法的又一示例的图。
图23是示出alf_cu_control_param()的语法的示例的图。
图24是示出多视图图像编码方法的示例的图。
图25是示出应用了本技术的多视图图像编码装置的主要配置的示例的图。
图26是示出应用了本技术的多视图图像解码装置的主要配置的示例的图。
图27是示出层级图像编码方法的示例的图。
图28是示出应用了本技术的层级图像编码装置的主要配置的示例的图。
图29是示出应用了本技术的层级图像解码装置的主要配置的示例的图。
图30是示出计算机的主要配置的示例的框图。
图31是示出电视设备的示意结构的一个示例的框图。
图32是示出便携式电话装置的示意结构的一个示例的框图。
图33是示出记录/再现装置的示意结构的一个示例的框图。
图34是示出成像装置的示意结构的一个示例的框图。
具体实施方式
以下将描述用于执行本公开的模式(下文中称为实施例)。将按以下顺序进行描述。
1.第一实施例(图像编码装置)
2.第二实施例(图像解码装置)
3.第三实施例(多视图图像编码装置和多视图图像解码装置)
4.第四实施例(层级图像编码装置和层级图像解码装置)
5.第五实施例(计算机)
6.第六实施例(应用示例)
<1.第一实施例>
[图像编码装置的配置的示例]
图1示出了作为应用了本公开的图像处理装置的图像编码装置的一个实施例的配置。
图1所示的图像编码装置100使用预测处理对图像数据进行编码。这里,作为编码方法的示例,使用H.264和MPEG(运动图片专家组)4Part10(AVC(高级视频编码))(下文中称为H.264/AVC)方法、HEVC(高效视频编码)方法等。
在图1所示的示例中,图像编码装置100包括A/D(模拟/数字)转换器101、帧重排缓冲器102、算术运算单元103、正交变换单元104、量化器105、无损编码器106和累积缓冲器107。图像编码装置100还包括逆量化器108、逆正交变换单元109、算术运算单元110、解块滤波器111、帧存储器112、选择器113、帧内预测单元114、运动估计器/补偿器115、预测图像选择器116和速率控制器117。
图像编码装置100还包括自适应偏置单元121和自适应环路滤波器122。
A/D转换器101对输入图像数据执行A/D转换,并且将结果输出到帧重排缓冲器102并存储。
帧重排缓冲器102将以显示顺序存储的图像的帧重排为根据GOP(图片组)结构的编码帧顺序。帧重排缓冲器102将帧已被重排的图像提供到算术运算单元103。另外,帧重排缓冲器102还将帧已被重排的图像提供到帧内预测单元114和运动估计器/补偿器115。
算术运算单元103在从帧重排缓冲器102读取的图像中减去经由预测图像选择器116从帧内预测单元114或运动估计器/补偿器115提供的预测图像,并且将所得到的差分信息输出到正交变换单元104。
例如,在对图像执行帧内编码的情况下,算术运算单元103在从帧重排缓冲器102读取的图像中减去从帧内预测单元114提供的预测图像。另外,例如,在对图像执行帧间编码的情况下,算术运算单元103在从帧重排缓冲器102读取的图像中减去从运动估计器/补偿器115提供的预测图像。
正交变换单元104对从算术运算单元103提供的差分信息执行诸如离散余弦变换或卡洛(Karhunen-Loeve)变换的正交变换,并且将变换系数提供到量化器105。
量化器105对从正交变换单元104输出的变换系数进行量化。量化器105将量化后的变换系数提供到无损编码器106。
无损编码器106对量化后的变换系数执行诸如可变长度编码和算术编码的无损编码。
无损编码器106从帧内预测单元114获取诸如指示帧内预测模式的信息的参数,并且从运动估计器/补偿器115获取诸如指示帧间预模式的信息或运动矢量信息的参数。无损编码器106从自适应偏置单元121获取自适应偏置滤波器的参数,并且从自适应环路滤波器122获取自适应环路滤波器的参数。
无损编码器106对量化后的变换系数进行编码,并且还对所获取的每个参数(语法元素)进行编码并将结果设置为编码数据的报头信息的一部分(对结果进行复用)。无损编码器106将通过编码获得的编码数据提供到累积缓冲器107并且在其中累积编码数据。
例如,在无损编码器106中,执行诸如可变长度编码或算术编码的无损编码处理。作为可变长度编码,可以涉及CAVLC(上下文自适应可变长度编码)等。作为算术编码,可以涉及CABAC(上下文自适应二进制算术编码)等。CABAC是用于根据周围状况(上下文)执行自适应编码的二进制算术编码方法。
在传送到解码侧的上述参数当中,用于以切片或图片为单位对编码处理进行控制的参数在以可变长度编码级或固定长度编码级进行传送时具有大量数据。因此,期望通过算术编码(CABAC)对参数进行压缩并且传送压缩后的数据。相比之下,期望参数(诸如if语句)进行可变长度编码或固定长度编码。
无损编码器106对参数当中需要算术编码的参数执行算术编码,并且对其它参数执行可变长度编码或固定长度编码。
累积缓冲器107暂时存储从无损编码器106提供的编码数据,并且以预定定时将所存储的编码数据作为编码图像输出到例如后级的记录装置或传送路径(未示出)。
量化器105量化后的变换系数也被提供到逆量化器108。逆量化器108使用与量化器105的量化对应的方法对量化后的变换系数执行逆量化。逆量化器108将所获得的变换系数提供到逆正交变换单元109。
逆正交变换单元109使用与正交变换单元104的正交变换处理对应的方法对所提供的变换系数执行逆正交变换。通过逆正交变换所获得的输出(所恢复的差分信息)被提供到算术运算单元110。
算术运算单元110将通过预测图像选择器116从帧内预测单元114或运动预测器/补偿器115提供的预测图像与逆正交变换结果(即,从逆正交变换单元109提供的所恢复的差分信息)相加以获得局部解码图像(解码图像)。
例如,当差分信息与对其执行帧内编码的图像对应时,算术运算单元110将从帧内预测单元114提供的预测图像与差分信息相加。另外,例如,当差分信息与对其执行帧间编码的图像对应时,算术运算单元110将从运动估计器/补偿器115提供的预测图像与差分信息相加。
加法结果被提供到解块滤波器111和帧存储器112。
解块滤波器111通过适当地执行解块滤波来去除解码图像的块失真。解块滤波器111将滤波结果提供到自适应偏置单元121。
帧存储器112以预定定时通过选择器113将所存储的参考图像输出到帧内预测单元114或运动估计器/补偿器115。
例如,在对其执行帧内编码的图像的情况下,帧存储器112通过选择器113将参考图像提供到帧内预测单元114。另外,例如,当执行帧间编码时,帧存储器112通过选择器113将参考图像提供到运动估计器/补偿器115。
当从帧存储器112提供的参考图像是对其执行帧内编码的图像时,选择器113将参考图像提供到帧内预测单元114。另外,当从帧存储器112提供的参考图像是对其执行帧间编码的图像时,选择器113将参考图像提供到运动估计器/补偿器115。
帧内预测单元114执行用于使用画面内的像素值生成预测图像的帧内预测(帧内预测)。帧内预测单元114以多种模式(帧内预测模式)执行帧内预测。
帧内预测单元114以所有帧内预测模式生成预测图像,评估每个预测图像,并且选择最优模式。一旦选择了最优帧内预测模式,帧内预测单元114通过预测图像选择器116将以最优模式生成的预测图像提供到算术运算单元103或算术运算单元110。
另外,如上所述,帧内预测单元114适当地将参数比如指示所采用的帧内预测模式的帧内预测模式信息提供到无损编码器106。
运动估计器/补偿器115通过使用通过选择器113从帧重排缓冲器102提供的输入图像和从帧存储器112提供的参考图像,对执行了帧间编码的图像执行运动估计以及根据所检测的运动矢量执行运动补偿处理来生成预测图像(帧间预测图像信息)。
运动估计器/补偿器115通过以所有候选帧间预测模式执行帧间预测处理来生成预测图像。运动估计器/补偿器115通过预测图像选择器116将所生成的预测图像提供到算术运算单元103或算术运算单元110。
另外,运动估计器/补偿器115将参数比如指示所采用的帧间预测模式的帧间预测模式信息或指示算出的运动矢量的运动矢量信息提供到无损编码器106。
预测图像选择器116在对其执行帧内编码的图像的情况下将帧内预测单元114的输出提供到算术运算单元103或算术运算单元110,并且在对其执行帧间编码的图像的情况下将运动估计器/补偿器115的输出提供到算术运算单元103或算术运算单元110。
基于累积在累积缓冲器107中的压缩图像信息,速率控制器117控制量化器105的量化操作速率以便不引起上溢或下溢。
自适应偏置单元121对来自解块滤波器111的解码图像(局部解码之后的基带信息)执行偏置滤波。即,自适应偏置单元121通过使用解码图像以四叉树(quad-tree)执行区域划分以及针对每个划分区域确定偏置的类型来确定四叉树结构。偏置的类型总共为九种类型,包括两种类型的带偏置、六种类型的边缘偏置以及无偏置。自适应偏置单元121参考四叉树结构来计算每个划分区域的偏置值。
自适应偏置单元121使用所确定的四叉树结构和偏置值对来自解块滤波器111的解码图像执行偏置处理。然后,自适应偏置单元121将偏置处理之后的图像提供到自适应环路滤波器122。另外,自适应偏置单元121将所确定的四叉树结构和算出的偏置值作为自适应偏置滤波器的参数提供到无损编码器106。
自适应环路滤波器122计算自适应环路滤波器系数以便使得与来自帧重排缓冲器102的原始图像的残差最小化,并且使用自适应环路滤波器系数对来自自适应偏置单元121的解码图像执行滤波。作为该滤波器,例如,使用维纳滤波器。自适应环路滤波器122将滤波之后的图像提供到帧存储器112。
另外,自适应环路滤波器122将算出的自适应环路滤波器系数作为自适应环路滤波器的参数传送到无损编码器106。
[无损编码器的配置的示例]
接下来,将描述图像编码装置100的各个单元。图2是示出无损编码器106的配置的示例的框图。
在图2所示的示例中,无损编码器106被配置成包括VLC(可变长度编码)编码器131、编码控制器132、设置单元133和CABAC(上下文自适应二进制算术编码)编码器134。
在构成无损编码器106的各个单元当中,VLC编码器131、编码控制器132和设置单元133通过由CPU(未示出)执行而被实现为固件141。在构成无损编码器106的各个单元当中,执行相对繁重处理的CABAC编码器134通过逻辑配置等而被实现为硬件142。
来自量化器105的变换系数被提供到VLC编码器131。用于控制编码处理的参数从帧内预测单元114、运动估计器/补偿器115、自适应偏置单元121、自适应环路滤波器122等被提供到VLC编码器131。
例如,帧内预测单元114将关于帧内预测的参数比如指示帧内预测模式的信息提供到VLC编码器131。例如,运动估计器/补偿器115将关于运动预测的参数比如指示帧间预测模式的信息、运动矢量信息、参考帧信息和标记信息提供到VLC编码器131。
例如,自适应偏置单元121将关于自适应偏置滤波器的参数比如四叉树结构或偏置值提供到VLC编码器131。例如,自适应环路滤波器122将关于自适应环路滤波器的参数比如自适应环路滤波器系数提供到VLC编码器131。另外,尽管未示出,还提供了来自量化器105的量化参数等。
在这些参数当中,关于自适应偏置滤波器的参数和关于自适应环路滤波器的参数均是滤波器的参数。另外,这些参数是应用于整个画面的参数,即,用于以切片或图片为单位对编码处理进行控制的参数。这样的参数的算术编码减少了传送到解码侧的数据量。
然后,VLC编码器131对所提供的参数当中除用于以切片或图片为单位对编码处理进行控制的参数之外的参数执行可变长度编码处理或固定长度编码处理。VLC编码器131将编码数据提供到设置单元133。
VLC编码器131将来自量化器105的量化后的变换系数提供到CABAC编码器134。VLC编码器131将所提供的参数当中用于以切片或图片为单位对编码处理进行控制的参数提供到CABAC编码器134,并且向编码控制器132通知参数被提供到CABAC编码器134。当CABAC编码器134初始化所需的参数对齐(align)时,VLC编码器131将这些参数提供到CABAC编码器134,并且向编码控制器132通知参数提供到CABAC编码器134。
编码控制器132响应于来自VLC编码器131的通知而使得CABAC编码器134开始初始化处理或编码处理。编码控制器132响应于来自CABAC编码器134的通知而使得VLC编码器131开始编码处理或使得设置单元133开始设置。
设置单元133在编码控制器132的控制之下,通过以预定顺序将VLC编码器131或CABAC编码器134所编码的参数和CABAC编码器134所编码的数据挨着彼此布置来生成切片报头和切片数据。设置单元133将所生成的切片报头和切片数据提供到累积缓冲器107。
CABAC编码器134在编码控制器132的控制之下使用来自VLC编码器131的初始化所需的参数来执行初始化。CABAC编码器134在编码控制器132的控制之下对来自VLC编码器131的每个参数和量化后的变换系数执行算术编码。CABAC编码器134将算术编码之后的数据(变换系数)和参数提供到设置单元133。
[传统流配置]
图3是示出传统流中的切片报头和切片数据的一部分的配置的示例的图。
在图3所示的示例中,指示切片的类型的slice_type布置在切片报头的开头附近。slice_qp_delta布置在切片报头的中间略下方。slice_type和slice_qp_delta是对其执行可变或固定长度编码或解码的、CABAC的初始化所需的参数(下文中也适当地称为初始化参数)。
作为自适应偏置滤波器的参数的sao_param()布置在紧挨在切片报头的中间下方的slice_qp_delta之后。作为自适应环路滤波器的参数的alf_cu_control_param()布置在切片报头的末端处。切片数据在alf_cu_control_param()和切片报头的末端之后继续。
作为自适应偏置滤波器的参数的sao_param()和作为自适应环路滤波器的参数的alf_cu_control_param()是用于控制整个画面上的开启或关闭的参数。因此,在用于以切片或图片为单位对编码处理进行控制的参数的情况下,数据量较大。因此,对这样的参数执行算术编码或算术解码。
另外,在H.264/AVC方法中,由于在切片报头中不存在对其执行算术编码和算术解码的参数,因此优选地在切片数据之前执行CABAC的初始化。
相比之下,在HEVC方法中,由于对上述参数执行算术编码和算术解码,因此应该在切片报头中的这些参数之前执行CABAC的初始化。然而,在CABAC的初始化所需的初始化参数当中,slice_type布置在切片报头的开头附近,但是slice_qp_delta布置在紧挨在作为自适应偏置滤波器的参数的sao_param()之前。因此,至少在解码侧,如果不对slice_qp_delta解码,则难以执行CABAC的初始化。为此,在现有技术中紧挨在sao_param()之前执行CABAC的初始化。
由于在执行CABAC的初始化的同时无法执行算术编码和算术解码,因此在算术编码和算术解码的处理中发生等待。另外,由于需要算术编码的、作为自适应偏置滤波器的参数的sao_param()和作为自适应环路滤波器的参数的alf_cu_control_param()在切片报头中存在于远离彼此的位置,因此用于算术编码和算术解码的交替是分散的。结果,在处理中可能发生延迟。
因此,如箭头1所指示的,设置单元133将CABAC的初始化所需的slice_qp_delta布置在切片报头的开头附近的slice_type之后。
另外,如箭头2所指示的,设置单元133将作为自适应偏置滤波器的参数的sao_param()布置在布置作为自适应环路滤波器的参数的alf_cu_control_param()的切片报头的末端处。
[本技术中的流配置的示例]
图4是示出本技术的流中的切片报头和切片数据的一部分的配置的示例的图。在图4所示的示例中,阴影指示与以上参照图3描述的现有技术相比的差别。
在图4所示的示例中,在图3所示的示例中位于切片报头的中间下方的slice_type和slice_qp_delta在切片报头的开头处挨着彼此布置(一起布置)。
因此,可以在作为CABAC的初始化参数的slice_type和slice_qp_delta在切片报头的开头之后对齐的任何地方执行CABAC的初始化。结果,不用由于参数的初始化而等待对参数的算术编码和算术解码。
另外,在图3所示的示例中,位于切片报头的中间的、作为自适应环路滤波器的参数的alf_cu_control_param()和作为自适应偏置滤波器的参数的sao_param()在切片报头的末端挨着彼此布置。
以此方式,需要算术编码和算术解码的参数一起布置在切片数据之前的切片报头的末端处。结果,可以从切片报头的末端开始对切片数据一起高效地执行算术编码和算术解码的处理。
另外,在实施例中,需要算术编码的参数(即,进行了算术编码(解码)的编码参数)在下文中被称为算术编码参数。另一方面,对其执行可变长度编码(解码)或固定长度编码(解码)的参数被简称为编码参数。另外,在图4所示的示例中,示出了需要算术编码和算术解码的算术编码参数布置在切片报头的末端处的示例。然而,需要算术编码和算术解码的算术编码参数也可如图5所示布置在切片数据的开头。
[本技术中的流配置的另一示例]
图5是示出本技术的流中的切片报头和切片数据的一部分的配置的另一示例的图。在图5所示的示例中,阴影指示与以上参照图3描述的现有技术相比的差别。
在图5所示的示例中,slice_type布置在切片报头的开头附近。另外,cabac_init_idc和在图3所示的示例中位于切片报头的中间下方的slice_qp_delta在切片报头的中间挨着彼此布置。
cabac_init_idc在H.264/AVC方法中用于设置cabac的表,但是在HEVC方法中的使用目前没有确定。当使用cabac_init_idc时,slice_qp_delta可布置在紧挨在cabac_init_idc之后,如图5所示,以便与cabac_init_idc放置在一起。另外,cabac_init_idc也可与slice_qp_delta一起布置在紧挨在图4中的slice_type之后。
另外,在该情况下,可以在slice_type、slice_qp_delta和cabac_init_idc对齐的任何地方执行CABAC的初始化。结果,不用由于参数的初始化而等待对算术编码参数的算术编码和算术解码。
在图5所示的示例中,作为自适应环路滤波器的参数的alf_cu_control_param()和作为自适应偏置滤波器的参数的sao_param()取代布置在切片报头的末端而在切片数据的开头挨着彼此布置。
alf_cu_control_param()和sao_param()均是算术编码参数。
因此,需要算术编码和算术解码的算术编码参数在切片数据中一起布置在紧挨在数据本身之前。因此,从这两个算术编码参数开始,可以对数据本身一起高效地执行算术编码和算术解码的处理。
另外,在图4和图5的示例中,示出了作为自适应偏置滤波器的参数的sao_param()布置在紧挨在作为自适应环路滤波器的参数的alf_cu_control_param()之后的示例。然而,本公开不限于此。即,算术编码参数的顺序不要紧,只要算术编码参数布置在切片报头的开头或切片数据的末端即可。因此,作为自适应环路滤波器的参数的alf_cu_control_param()可布置在紧挨在作为自适应偏置滤波器的参数的sao_param()之后。
另外,在图4和图5的示例中,示出了需要算术编码和算术解码的算术编码参数一起布置在切片报头和切片数据中的示例。然而,算术编码参数的布置位置不限于此,只要布置位置被设置为编码流的语法即可。
[本技术中的流配置的另一示例]
图6是示出本技术的流中的语法的一部分的配置的示例的图。
在图6所示的语法中,用于执行可变长度编码或固定长度编码的编码参数布置在一起。另外,在该语法中,包括作为自适应偏置滤波器的参数的sao_param()和作为自适应环路滤波器的参数的alf_cu_control_param()的算术编码参数一起布置在编码参数之后。
另外,在图6所示的情况下,由于需要算术编码和算术解码的算术编码参数一起布置在语法的预定位置处,因此可以一起高效地执行算术编码和算术解码的处理。
另外,需要算术编码和算术解码的算术编码参数不限于作为自适应偏置滤波器的参数的sao_param()和作为自适应环路滤波器的参数的alf_cu_control_param()。例如,如图7所示,作为量化矩阵的参数的qmatrix_param()可与作为自适应偏置滤波器的参数的sao_param()和作为自适应环路滤波器的参数的alf_cu_control_param()一起被布置为需要算术编码和算术解码的算术编码参数。
另外,各个算术编码参数的布置顺序不限于图6和图7的示例。
这里,将详细描述作为需要算术编码和算术解码的算术编码参数的自适应环路滤波器的参数、自适应偏置滤波器的参数和量化矩阵的参数。
首先,自适应环路滤波器是用在HEVC方法中的编码处理,并且没有用在AVC方法中。传送到解码侧的自适应环路滤波器的参数是二维滤波器的系数和CU单位的开/关控制信号并且针对每个图片进行更新,并且其大小较大。
自适应环路滤波器传送使得编码图像变为最接近原始图像的二维滤波器并且执行滤波,从而提高编码效率。然而,由于参数集非常大,因此在具有大的代码量的I图片中传送参数。相比之下,在具有小的代码量的B图片中,不能获得与传送参数的开销相当的增益。因此,在该情况下,不传送参数。
因此,自适应环路滤波器的参数随着每个图片的代码量而改变,并且其值针对每个图片而改变。另外,在自适应环路滤波器的参数的情况下,由于值本身取决于图案,因此很少重复使用相同的值。
接下来,与自适应环路滤波器类似,自适应偏置滤波器是用在HEVC方法中的编码处理并且不用在AVC方法中。传送到解码侧的自适应偏置滤波器的参数是当以特定单位划分偏置类型和图片时的开/关控制信号并且针对每个图片进行更新,并且其大小是相对较大的。
自适应偏置滤波器旨在对像素值给出偏置。由于与自适应环路滤波器的参数大小相比,自适应偏置滤波器的参数大小较小,因此可以相对地针对每个图片传送自适应偏置滤波器的参数。
然而,由于存在偏置难以随着图案改变的特性,因此自适应偏置滤波器的参数需要进行算术编码。由于自适应偏置滤波器的参数可以是在每个图片中相似的参数,因此可以认为参数可以重复使用先前的参数。
另外,在AVC方法中采用量化矩阵,但是如果块大小增加则其大小增加。传送到解码侧的量化矩阵的参数是以图片为单位的量化矩阵并且针对每个图片、每种图片类型或每个GOP来更新,并且其大小较大。
如果不存在图案改变,则量化矩阵不需要改变的可能性高。另外,量化矩阵的参数的大小较大,但是没有不传送量化矩阵的参数的选择。
另外,在量化矩阵的参数中,不同的值可用在I图片、B图片和P图片中。在该情况下,量化矩阵的参数的特征在于,当与针对每个图片改变的参数比如自适应环路滤波器或自适应偏置滤波器组合时兼容性差。
如上所述,自适应环路滤波器的参数、自适应偏置滤波器的参数和量化矩阵的参数具有独特的特性,但是由于其大小较大并且针对每个图片等传送所有参数,因此所有参数都需要进行算术编码。
[传统处理的时序图]
图8是示出当对以上参照图3描述的传统流进行处理时的时序图的图。在图8所示的示例中,例如,示出了解码处理的示例。另外,同样在解码侧,与编码侧类似,将解码处理划分为固件处理和硬件处理。左侧示出了FW(固件)的可变长度编码处理和固定长度解码处理,并且右侧示出了HW(硬件)的算术解码处理。
首先,在切片报头的开头附近,固件对作为编码参数和初始化参数的slice_type执行可变长度(或固定长度)解码,并且随后还对其它编码参数执行可变长度(或固定长度)解码。然后,固件对作为编码参数和初始化参数的slice_qp_delta进行解码,并且作为CABAC的初始化所需的初始化参数的slice_type和slice_qp_delta被最终对齐。结果,CABAC的硬件被初始化。
当等待初始化的结束并且该初始化结束时,布置作为算术编码参数和自适应偏置滤波器的参数的sao_param(),并且固件使得硬件对sao_param()执行算术解码。当算术解码结束时,硬件将解码后的sao_param()返回到固件。
然后,固件对直到正好在切片报头的末端处的alf_cu_control_param()之前的其它编码参数执行可变长度(或固定长度)解码。由于作为算术编码参数和自适应环路滤波器的参数的alf_cu_control_param()布置在切片报头的末端处,因此固件使得硬件对alf_cu_control_param()执行算术解码。当算术解码结束时,硬件将解码后的alf_cu_control_param()返回到固件。
然后,由于要对切片数据进行解码,因此固件使得硬件对切片数据执行算术解码。
因此,在传统情况下,固件和硬件的交替是分散的,并且发生了由于初始化而导致的等待时间。由于固件和硬件的交替需要诸如数据的传送和接收等的调整,因此编码处理和解码处理的效率不好。
[本技术中的处理的时序图]
图9是示出当对以上参照图4描述的本技术中的流进行处理时的时序图的图。在图9所示的示例中,例如,示出了解码处理的示例。如稍后将参照图15描述的,同样在解码侧,将解码处理划分为固件处理和硬件处理。左侧示出了FW(固件)的可变长度解码处理和固定长度解码处理,并且右侧示出了HW(硬件)的算术解码处理。
首先,在切片报头的开头附近,固件对作为初始化参数的slice_type执行可变长度(或固定长度)解码,然后对作为初始化参数的slice_qp_delta进行解码。由于作为编码参数和CABAC的初始化所需的初始化参数的slice_type和slice_qp_delta在此对齐,因此可以在此后的任何地方对CABAC的硬件进行初始化。例如,在图9所示的示例中,在slice_type和slice_qp_delta对齐时的定时对CABAC的硬件进行初始化。
在CABAC的硬件的初始化之后,固件对直到正好在切片报头的末端处的alf_cu_control_param()之前的其它编码参数执行可变长度(或固定长度)解码。
作为算术编码参数和自适应环路滤波器的参数的alf_cu_control_param()以及作为算术编码参数和自适应偏置滤波器的参数的sao_param()布置在切片报头的末端。固件使得硬件对alf_cu_control_param()执行算术解码。当算术解码结束时,硬件将解码后的alf_cu_control_param()返回到固件。
另外,类似地,固件使得硬件对sao_param()执行算术解码。当算术解码结束时,硬件将解码后的sao_param()返回到固件。
然后,由于要对切片数据进行解码,因此固件使得硬件对切片数据执行算术解码。
如上所述,由于不存在用于初始化的等待时间并且一起执行固件和硬件的交替,因此可以提高解码的处理效率。结果,可以以高速执行处理。
另外,尽管在图9所示的示例中描述了解码处理,但是对于编码处理也可以获得相同的效果。另外,尽管在图9所示的示例中示出了针对每个算术解码发出命令并且将结果(解码后的参数)返回到固件的示例,但是可一次执行sao_param()和alf_cu_control_param()的命令以及结果的返回。
图10是示出对以上参照图6描述的本技术中的流进行处理时的时序图的图。在图10所示的示例中,例如,示出了解码处理的示例。如稍后将参照图15描述的,同样在解码侧,将解码处理划分为固件处理和硬件处理。左侧示出了固件(FW)的可变长度解码处理和固定长度解码处理,并且右侧示出了HW(硬件)的算术解码处理。
在图10所示的示例的情况下,在图6所示的语法中,由于对其执行可变长度编码或固定长度编码的编码参数布置在一起,因此固件首先对编码参数进行解码。
然后,作为算术编码参数和自适应环路滤波器的参数的alf_cu_control_param()和作为算术编码参数和自适应偏置滤波器的参数的sao_param()一起布置在语法中。
因此,在固件对编码参数的解码结束之后,固件使得硬件对alf_cu_control_param()执行算术解码。当算术解码结束时,硬件将解码后的alf_cu_control_param()返回到固件。另外,固件使得硬件对sao_param()执行算术解码。当算术解码结束时,硬件将解码后的sao_param()返回到固件。
即,硬件共同对算术编码参数进行解码。
图11是示出对以上参照图7描述的本技术中的流进行处理时的时序图的图。同样适用于图7所示的语法。即,在图11所示的示例的情况下,在图7所示的语法中,由于对其执行可变长度编码或固定长度编码的编码参数布置在一起,因此固件首先对编码参数进行解码。
然后,作为自适应环路滤波器的参数的alf_cu_control_param()、作为自适应偏置滤波器的参数的sao_param()和作为量化矩阵参数的qmatrix_param()一起布置在语法中。所有参数alf_cu_control_param()、sao_param()和qmatrix_param()都是算术编码参数。
因此,在固件对编码参数的解码结束之后,固件使得硬件对alf_cu_control_param()执行算术解码。当算术解码结束时,硬件将解码后的alf_cu_control_param()返回到固件。另外,固件使得硬件对sao_param()执行算术解码。当算术解码结束时,硬件将解码后的sao_param()返回到固件。另外,固件使得硬件对作为量化矩阵参数的qmatrix_param()执行算术解码。当算术解码结束时,硬件将解码后的qmatrix_param()返回到固件。
即,硬件共同对算术编码参数进行解码。
如上所述,同样在图10和图11的示例的情况下,在语法中布置在一起的编码参数一起进行可变长度(固定长度)解码处理。类似地,在语法中布置在一起的算术编码参数一起进行算术解码处理。因此,由于一起执行固件和硬件的交替,因此可以提高解码的处理效率。结果,可以以高速执行处理。
这里,将算术编码参数布置在一起(挨着彼此)是将算术编码参数的语法布置为使得在固件(FW)处理和硬件(HW)处理中一起执行处理的交替。即,将算术编码参数(例如,alf_cu_control_param()/sao_param())布置在一起(挨着彼此)表示在对其执行算术编码或算术解码的算术编码参数之间没有布置对其执行可变长度(或固定长度)编码和解码的编码参数的状态,如图6和图7等所示。
类似地,将对其执行可变长度(或固定长度)编码和解码的编码参数布置在一起(挨着彼此)是将对其执行可变长度(或固定长度)编码和解码的编码参数的语法布置为使得在固件(FW)处理和硬件(HW)处理中一起执行处理的交替。即,将编码参数布置在一起(挨着彼此)表示在对其执行可变长度(或固定长度)编码或者可变长度(或固定长度)解码的编码参数之间没有布置对其执行算术编码和解码的算术编码参数。
因此,由于当对编码参数进行编码和解码时集中执行算术编码和解码、可变长度(固定长度)编码和可变长度(固定长度)解码的处理,因此可以缩短编码处理和解码处理的延迟。
[整个编码处理的流程]
接下来,将描述如上所述的图像编码装置100执行的处理的流程。首先,将参照图12的流程图描述图像编码装置100的整个编码处理的流程的示例。
在步骤S101中,A/D转换器101对输入图像执行A/D转换。在步骤S102中,帧重排缓冲器102存储通过A/D转换获得的图像并且将各个图片从显示顺序重排为编码顺序。
当从帧重排缓冲器102提供的要处理的图像是进行了帧内处理的块的图像时,从帧存储器112读取要参考的解码图像并且通过选择器103将其提供到帧内预测单元114。
在步骤S103中,基于这些图像,帧内预测单元114以所有候选帧内预测模式对要处理的块的像素执行帧内预测。另外,作为要参考的解码像素,使用解块滤波器111、自适应偏置单元121和自适应环路滤波器122没有滤波的像素。
在该帧内预测操作中,以所有候选帧内预测模式执行帧内预测,并且以所有候选帧内预测模式计算代价函数值。然后,基于算出的代价函数值选择最优帧内预测模式,并且将以最优帧内预测模式通过帧内预测生成的预测图像和代价函数值提供到预测图像选择器116。
当从帧重排缓冲器102提供的要处理的图像是帧间处理后的图像时,从帧存储器112读取要参考的图像并且通过选择器113将其提供到运动估计器/补偿器115。在步骤S104中,运动估计器/补偿器115基于这些图像执行运动估计/补偿处理。
通过该处理,以所有候选帧间预测模式执行运动估计处理,并且以所有候选帧间预测模式计算代价函数值。基于算出的代价函数值,确定最优帧间预测模式。然后,将以最优帧间预测模式生成的预测图像和代价函数值提供到预测图像选择器116。
在步骤S105中,预测图像选择器116基于从帧内预测单元114和运动估计器/补偿器115输出的各个代价函数值而确定最优帧内预测模式和最优帧间预测模式中的一个作为最优预测模式。然后,预测图像选择器116选择以所确定的最优预测模式预测的图像,并且将其提供到算术运算单元103和110。预测图像用在稍后要描述的步骤S106和S111的操作中。
另外,预测图像的选择信息被提供到帧内预测单元114或运动估计器/补偿器115。当选择了以最优帧内预测模式预测的图像时,帧内预测单元114将指示最优帧内预测模式的信息(即,关于帧内预测的参数)提供到无损编码器106。
当选择了以最优帧间预测模式预测的图像时,运动估计器/补偿器115将指示最优帧间预测模式的信息和与最优帧间预测模式对应的信息(即,关于运动预测的参数)输出到无损编码器106。作为与最优帧间预测模式对应的信息,可以涉及运动矢量信息、参考帧信息等。
在步骤S106中,算术运算单元103计算在步骤S102中重排的图像与在步骤S105中选择的预测图像之间的差。在帧间预测的情况下,预测图像通过预测图像选择器116从运动估计器/补偿器115提供到算术运算单元103,并且在帧内预测的情况下,预测图像通过预测图像选择器116从帧内预测单元114提供到算术运算单元103。
差分数据的数据量与原始图像数据的数据量相比较小。因此,与对图像直接进行编码的情况相比,可以使得数据量较小。
在步骤S107中,正交变换单元104对从算术运算单元103提供的差分信息执行正交变换。具体地,执行诸如离散余弦变换或卡洛变换的正交变换并且输出变换系数。
在步骤S108中,量化器105对变换系数进行量化。在该量化时,如在稍后的步骤S118的处理中所描述的,对速率进行控制。
如下对如上所述量化的差分信息进行局部解码。即,在步骤S109中,逆量化器108以与量化器105的特性对应的特性对量化器105量化的变换系数执行逆量化。在步骤S110中,逆正交变换单元109以与正交变换单元104的特性对应的特性对逆量化器108逆量化的变换系数执行逆正交变换。
在步骤S111中,算术运算单元110通过将通过预测图像选择器116输入的预测图像与局部解码的差分信息相加来生成局部解码图像(与算术运算单元103的输入对应的图像)。
在步骤S112中,解块滤波器111对从算术运算单元110输出的图像执行解块滤波。结果,去除了块失真。来自解块滤波器111的解码图像输出到自适应偏置单元121。
在步骤S113中,自适应偏置单元121执行自适应偏置处理。即,自适应偏置单元121基于来自解块滤波器111的解码图像确定四叉树结构,并且计算以四叉树划分的区域的偏置值。自适应偏置单元121对以四叉树划分的区域执行偏置滤波,并且将偏置处理之后的像素值提供到自适应环路滤波器122。
自适应偏置单元121将四叉树结构和偏置值作为自适应偏置滤波器的参数提供到无损编码器106。
在步骤S114中,自适应环路滤波器122计算自适应滤波器系数,并且使用算出的自适应滤波器系数对偏置处理之后的像素值执行自适应环路滤波。自适应滤波之后的像素值输出到帧存储器112。
自适应环路滤波器122将算出的自适应滤波器系数作为自适应环路滤波器的参数提供到无损编码器106。
在步骤S115中,帧存储器112存储滤波后的图像。另外,还将解块滤波器111、自适应偏置单元121和自适应环路滤波器122没有滤波的图像从算术运算单元110提供到帧存储器112并存储。
另一方面,在上述步骤S108中量化的变换系数也被提供到无损编码器106。在步骤S116中,无损编码器106对从量化器105输出的量化变换系数和每个所提供的参数进行编码。即,通过诸如可变长度编码或算术编码的无损编码对差分图像进行压缩。
尽管稍后将参照图13描述编码处理的细节,但是在所提供的参数当中的除了以切片或图片为单位对编码处理进行控制的算术编码参数之外的编码参数进行可变长度(或固定长度)编码并且以预定顺序被添加到报头。另一方面,在所提供的参数当中,用于以切片或图片为单位对编码处理进行控制的算术编码参数进行算术编码并且被添加到切片报头的末端或切片数据的开头。
在步骤S117中,累积缓冲器107存储作为压缩图像的编码差分图像(即,编码流)。适当地读取存储在累积缓冲器107中的压缩图像并且通过传送路径将其传送到解码侧。
在步骤S118中,速率控制器117基于存储在累积缓冲器107中的压缩图像而控制量化器105的量化操作速率,以使得不发生上溢或下溢。
当步骤S118中的处理结束时,编码处理终止。
[编码处理的流程]
接下来,将参照图13的流程图描述在图12的步骤S116中执行的无损编码器106的编码处理的流程的示例。
各种参数从图像编码装置100的各个单元提供到VLC编码器131。例如,帧内预测单元114将关于帧内预测的参数比如指示帧内预测模式的信息提供到VLC编码器131。例如,运动估计器/补偿器115将关于运动预测的参数比如指示帧间预测模式的信息、运动矢量信息、参考帧信息和标记信息提供到VLC编码器131。
例如,自适应偏置单元121将关于自适应偏置滤波器的参数比如四叉树或偏置值提供到VLC编码器131。例如,自适应环路滤波器122将关于自适应环路滤波器的参数比如自适应环路滤波器系数提供到VLC编码器131。另外,尽管未示出,但是提供了slice_type或slice_qp_delta,并且还提供了来自量化器105的量化参数等。
另外,量化器105还将量化后的变换系数提供到VLC编码器131。
在步骤S131中,VLC编码器131等待直到作为CABAC的初始化所需的初始化参数的slice_type和slice_qp_delta在所提供的参数中对齐。
当在步骤S131中确定slice_type和slice_qp_delta对齐时,VLC编码器131将参数slice_type和slice_qp_delta提供到CABAC编码器134,并且向编码控制器132通知参数被提供到CABAC编码器134。
响应于此,在步骤S132中,编码控制器132使得CABAC编码器134执行初始化。当初始化结束时,CABAC编码器134向编码控制器132通知初始化的结束。此后,可以以任何定时执行CABAC编码。
在步骤S133中,VLC编码器131从所提供的参数获取要编码的参数。在步骤S133中,VLC编码器131确定所获取的参数是否是作为自适应偏置滤波器的参数的sao_param()或作为自适应环路滤波器的参数的alf_cu_control_param()。即,在步骤S133中,确定所获取的参数是否是算术编码参数。
当在步骤S134中确定所获取的参数既不是作为自适应偏置滤波器的参数的sao_param()也不是作为自适应环路滤波器的参数的alf_cu_control_param()时(即,当确定所获取的参数不是算术编码参数时),处理进行到步骤S135。
在步骤S135中,VLC编码器131对在步骤S133中获取的参数执行VLC编码(可变长度编码或固定长度编码)。VLC编码器131将编码后的编码参数提供到设置单元133。
当在步骤S134中确定所获取的参数是作为自适应偏置滤波器的参数的sao_param()或作为自适应环路滤波器的参数的alf_cu_control_param()时(即,当确定所获取的参数是算术编码参数时),处理进行到步骤S136。VLC编码器131将在步骤S133中获取的参数提供到CABAC编码器134,并且向编码控制器132通知参数被提供到CABAC编码器134。
在步骤S136中,CABAC编码器134在编码控制器132的控制之下对在步骤S133中获取的参数执行CABAC编码(算术编码)。即,这里进行了算术编码的参数是算术编码参数,并且是自适应偏置滤波器的参数sao_param()或自适应环路滤波器的参数alf_cu_control_param()。
CABAC编码器134将编码后的算术编码参数提供到设置单元133,并且向编码控制器132通知编码结束。编码控制器132向VLC编码器131通知该结束。
在步骤S137中,VLC编码器131确定对所有参数的编码是否结束。当确定对所有参数的编码尚未结束时,处理返回到步骤S133并且重复随后的处理。
当在步骤S137中确定对所有参数的编码已结束时,处理进行到步骤S138。VLC编码器131将来自量化器105的变换系数提供到CABAC编码器134,并且通知编码控制器132。
在步骤S138中,CABAC编码器134在编码控制器132的控制之下对数据(变换系数)执行CABAC编码(算术编码),并且将编码后的数据提供到设置单元133并向编码控制器132通知编码结束。
VLC编码器131编码的编码参数、CABAC编码器134编码的算术编码参数或CABAC编码器134编码的数据被提供到设置单元133。在步骤S139中,设置单元133以图4或图5所示的顺序设置和布置编码后的参数和编码后的数据,以生成切片报头和切片数据。
设置单元133将所生成的切片报头和切片数据提供到累积缓冲器107。在步骤S139的处理之后,处理返回到图12的步骤S116。
如上所述,可以通过将用于以切片或图片为单位对编码处理进行控制的算术编码参数布置在切片报头的末端或切片数据的开头来提高编码处理的速度。
<2.第二实施例>
[图像解码装置]
图14示出了作为应用本公开的图像处理装置的图像解码装置的一个实施例的配置。图14所示的图像解码装置200是与图1所示的图像编码装置100对应的解码装置。
假设图像编码装置100编码的编码数据通过预定传送路径被传送到与图像编码装置100对应的图像解码装置200并且被解码。
如图14所示,图像解码装置200包括存储缓冲器201、无损解码器202、逆量化器203、逆正交变换单元204、算术运算单元205、解块滤波器206、帧重排缓冲器207和D/A转换器208。图像解码装置200还包括帧存储器209、选择器210、帧内预测单元211、运动估计器/补偿器212和选择器213。
另外,图像解码装置200包括自适应偏置单元221和自适应环路滤波器222。
存储缓冲器201存储所传送的编码数据。编码数据是由图像编码装置100所编码的。无损解码器202使用与图1所示的无损编码器106的编码方法对应的方法对以预定定时从存储缓冲器201读取的编码数据进行解码。无损解码器202按切片报头和切片数据的顺序对编码数据进行解码。
即,对于来自编码侧的参数当中的用于以切片或图片为单位对解码处理进行控制的算术编码参数,由于算术编码参数已进行了算术编码,因此无损解码器202执行算术解码。对于其它编码参数,由于其它编码参数已进行了固定长度编码或可变长度编码,因此无损解码器202执行可变长度解码或固定长度解码。
无损解码器202将诸如指示解码后的帧内预测模式的信息的参数提供到帧内预测单元211,并且将诸如指示帧间预测模式的信息或运动矢量信息的参数提供到运动估计器/补偿器212。无损解码器202将自适应偏置滤波器的参数提供到自适应偏置单元221,并且将自适应环路滤波器的参数提供到自适应环路滤波器222。
逆量化器203以与图1所示的量化器105的量化方法对应的方法对通过无损解码器202的解码所获得的系数数据(量化系数)执行逆量化。即,逆量化器203使用从图像编码装置100提供的量化参数、以与图1所示的逆量化器108相同的方法对量化系数执行逆量化。
逆量化器203将作为正交变换系数的逆量化后的系数数据提供到逆正交变换单元204。逆正交变换单元204以与图1所示的正交变换单元104的正交变换方法对应的方法对正交变换系数执行逆正交变换,从而获得与图像编码装置100中的正交变换之前的残留数据对应的解码残留数据。
通过逆正交变换获得的解码残留数据被提供到算术运算单元205。另外,预测图像经由选择器213从帧内预测单元211或运动估计器/补偿器212提供到算术运算单元205。
算术运算单元205将解码残留数据与预测图像相加以获得与图像编码装置100中的算术运算单元103减去预测图像之前的图像数据对应的解码图像数据。算术运算单元205将解码图像数据提供到解块滤波器206。
解块滤波器206以与图像编码装置100的解块滤波器111基本上相同的方式配置。解块滤波器206通过适当地执行解块滤波而去除解码图像的块失真。解块滤波器206将滤波结果提供到自适应偏置单元221。
帧重排缓冲器207执行图像重排。具体地,由图1中的帧重排缓冲器102重排成编码顺序的帧被重排成原始显示顺序。D/A转换器208对从帧重排缓冲器207提供的图像执行D/A转换,并且将转换后的图像输出到显示器(未示出)以显示该图像。
解块滤波器206的输出进一步被提供到帧存储器209。
帧存储器209、选择器210、帧内预测单元211、运动估计器/补偿器212和选择器213分别与图像编码装置100的帧存储器112、选择器113、帧内预测单元114、运动估计器/补偿器115和预测图像选择器116对应。
选择器210从帧存储器209读取帧间处理后的图像和要参考的图像并且将这些图像提供到运动估计器/补偿器212。另外,选择器210从帧存储器209读取用于帧内预测的图像并且将该图像提供到帧内预测单元211。
帧内预测单元211在必要时提供有来自无损解码器202的指示通过对报头信息进行解码而获得的帧内预测模式等的信息。基于该信息,帧内预测单元211根据从帧存储器209获取的参考图像生成预测图像,并且将所生成的预测图像提供到选择器213。
通过对报头信息进行解码而获得的信息(预测模式信息、运动矢量信息、参考帧信息、标记、各种参数等)从无损解码器202提供到运动估计器/补偿器212。
基于从无损解码器202提供的信息,运动估计器/补偿器212根据从帧存储器209获取的参考图像生成预测图像,并且将所生成的预测图像提供到选择器213。
选择器213选择运动估计器/补偿器212或帧内预测单元211生成的预测图像,并且将所选择的预测图像提供到算术运算单元205。
作为来自无损解码器202的自适应偏置参数的四叉树结构和偏置值被提供到自适应偏置单元221。自适应偏置单元221使用该信息对来自解块滤波器206的解码图像的像素值执行偏置滤波。自适应偏置单元221将偏置处理之后的图像提供到自适应环路滤波器222。
自适应环路滤波器222使用作为从无损解码器202提供的自适应环路滤波器的参数的自适应滤波器系数而对来自自适应偏置单元221的解码图像执行滤波。作为该滤波器,例如,使用维纳滤波器。自适应环路滤波器222将滤波之后的图像提供到帧重排缓冲器207和帧存储器209。
[无损解码器的配置的示例]
接下来,将描述图像解码装置200的各个单元。图15是示出无损解码器202的配置的示例的框图。
在图15所示的示例中,无损解码器202被配置成包括VLC(可变长度编码)解码器231、解码控制器232、获取单元233和CABAC(上下文自适应二进制算术编码)解码器234。另外,获取单元233置于VLC解码器231中。
在构成无损解码器202的各个单元当中,VLC解码器231、解码控制器232和获取单元233通过由CPU(未示出)执行而被实现为固件241。在构成无损解码器202的各个单元当中,执行相对繁重处理的CABAC解码器234通过逻辑配置等而被实现为硬件242。
从存储缓冲器201读取的编码数据以预定定时被提供到VLC解码器231。
获取单元233置于VLC解码器231中。获取单元233从编码数据获取已编码的并且要被解码的参数。VLC解码器231对获取单元233所获取的除了用于以切片或图片为单位对解码处理进行控制的算术编码参数之外的编码参数执行与图2所示的VLC编码器131的编码对应的可变长度解码处理或固定长度解码处理。
VLC解码器231将获取单元233获取的参数当中的用于以切片或图片为单位对解码处理进行控制的算术编码参数提供到CABAC解码器234,并且向解码控制器232通知参数被提供到CABAC解码器234。VLC解码器231将也是编码参数的初始化参数提供到CABAC解码器234,并且向解码控制器232通知初始化参数被提供到CABAC解码器234。
VLC解码器231接收进行了CABAC解码器234的算术解码的参数。VLC解码器231将解码参数和进行了CABAC解码器234的算术解码的参数提供到图像解码装置200的各个相应单元。
例如,当预测模式信息是帧内预测模式信息时,进行了可变长度解码或固定长度解码的预测模式信息被提供到帧内预测单元211。当预测模式信息是帧间预测模式信息时,进行了可变长度解码或固定长度解码的预测模式信息和相应运动矢量信息等被提供到运动估计器/补偿器212。
例如,进行了算术解码的关于自适应偏置滤波器的参数被提供到自适应偏置单元221。进行了算术解码的关于自适应环路滤波器的参数被提供到自适应环路滤波器222。
解码控制器232响应于来自VLC解码器231的通知而使得CABAC解码器234开始初始化处理或解码处理。解码控制器232响应于来自CABAC解码器234的通知而使得VLC解码器231开始解码处理。
CABAC解码器234在解码控制器232的控制之下使用来自VLC解码器231的初始化所需的初始化参数而执行初始化。CABAC解码器234在解码器控制器232的控制之下,对编码后的来自VLC解码器231的算术编码参数和数据(变换系数)执行与图2所示的CABAC编码器134的算术编码对应的算术解码。CABAC解码器234将进行了算术解码的参数提供到VLC解码器231。
CABAC解码器234将进行了算术解码的数据(量化后的正交变换系数)提供到逆量化器203。
[整个解码处理的流程]
接下来,将描述如上所述的图像解码装置200执行的处理的流程。首先,将参照图16的流程图描述图像解码装置200的整个解码处理的流程的示例。
当解码处理开始时,在步骤S201中,存储缓冲器201存储所传送的编码数据。在步骤S202中,无损解码器202对从存储缓冲器201提供的编码数据进行解码。尽管稍后将参照图17描述解码处理的细节,但是对图1所示的无损编码器106编码的I图片、P图片和B图片进行解码。
在图片的解码之前,还对运动矢量信息、参考帧信息、预测模式信息(帧内预测模式或帧间预测模式)和关于参数的信息比如自适应偏置滤波器的参数和自适应环路滤波器的参数进行解码。在该情况下,在添加到切片报头的参数当中,除了用于以切片或图片为单位对编码处理进行控制的算术编码参数之外的编码参数进行可变长度(或固定长度)解码。另一方面,添加到切片报头的末端或切片数据的开头的、用于以切片或图片为单位对解码处理进行控制的算术编码参数进行算术解码。如以上参照图2描述的,用于以切片或图片为单位对解码处理进行控制的算术编码参数是关于自适应偏置滤波器的参数、关于自适应环路滤波器的参数等。
当预测模式信息是帧内预测模式信息时,预测模式信息被提供到帧内预测单元211。当预测模式信息是帧间预测模式信息时,预测模式信息和相应的运动矢量信息等被提供到运动估计器/补偿器212。关于自适应偏置滤波器的参数被提供到自适应偏置单元221。关于自适应环路滤波器的参数被提供到自适应环路滤波器222。
在步骤S203中,帧内预测单元211或运动估计器/补偿器212执行与从无损解码器202提供的预测模式信息对应的预测图像生成处理。
即,当从无损解码器202提供帧内预测模式信息时,帧内预测单元211生成“最可能模式”,并且通过并行处理以帧内预测模式生成帧内预测图像。当从无损解码器202提供帧间预测模式信息时,运动估计器/补偿器212以帧间预测模式执行运动估计/补偿处理以生成帧间预测图像。
通过该处理,帧内预测单元211生成的预测图像(帧内预测图像)或运动估计器/补偿器212生成的预测图像(帧间预测图像)被提供到选择器213。
在步骤S204中,选择器213选择预测图像。即,提供帧内预测单元211生成的预测图像或运动估计器/补偿器212生成的预测图像。因此,选择所提供的预测图像并且将其提供到算术运算单元205,并且在稍后要描述的步骤S207中将其与逆正交变换单元204的输出相加。
在上述步骤S202中,无损解码器202解码的变换系数也被提供到逆量化器203。在步骤S205中,逆量化器203以与图1所示的量化器105的特性对应的特性对无损解码器202解码的变换系数执行逆量化。
在步骤S206中,逆正交变换单元109以与图1所示的正交变换单元104的特性对应的特性对逆量化器108逆量化后的变换系数执行逆正交变换。结果,对与图1所示的正交变换单元104的输入(算术运算单元103的输出)对应的差分信息进行解码。
在步骤S207中,算术运算单元205将通过上述步骤S204的处理选择的并且通过选择器213输入的预测图像与差分信息相加。以此方式,对原始图像进行解码。在步骤S208中,解块滤波器206对从算术运算单元110输出的图像执行解块滤波。结果,去除了整个画面上的块失真。滤波之后的图像被提供到自适应偏置单元221。
在步骤S209中,自适应偏置单元221执行自适应偏置处理。通过该处理,使用作为来自无损解码器202的自适应偏置滤波器的参数的四叉树结构和偏置值,并且对解块之后的图像执行偏置滤波。偏置处理之后的像素值被提供到自适应环路滤波器222。
在步骤S210中,自适应环路滤波器222使用作为来自无损解码器202的自适应环路滤波器的参数的自适应滤波器系数对偏置处理之后的像素值执行自适应环路滤波。自适应滤波之后的像素值被输出到帧重排缓冲器207和帧存储器209。
在步骤S211中,帧存储器209存储自适应滤波之后的图像。
在步骤S212中,帧重排缓冲器207在自适应环路滤波器222之后对图像执行重排。具体地,将图像编码装置100的帧重排缓冲器102重排为编码数据的帧重排为原始显示顺序。
在步骤S213中,D/A转换器208对来自帧重排缓冲器207的图像执行D/A转换。该图像被输出到显示器(未示出)并且在其上显示。
当步骤S213中的处理终止时,解码处理终止。
[解码处理的流程]
接下来,将参照图17的流程图描述在图16的步骤S202中由无损解码器202执行的无损解码处理的流程的示例。
从存储缓冲器201读取的编码数据以预定定时被提供到VLC解码器231。编码数据的切片报头和切片数据被配置为如上述图4或图5所示。
在步骤S231中,VLC解码器231的获取单元233从切片报头获取已编码的并且要被解码的编码参数。在步骤S232中,VLC解码器231对获取单元233获取的编码参数执行VLC解码。
在步骤S233中,VLC解码器231确定作为编码参数和CABAC的初始化所需的初始化参数的slice_type和slice_qp_delta是否对齐。例如,如果切片报头被配置如图4所示,则slice_type和slice_qp_delta的解码在开头附近结束,并且slice_type和slice_qp_delta在开头附近对齐。
当在步骤S233中确定slice_type和slice_qp_delta没有对齐时,处理返回到步骤S231并且重复随后的处理。当在步骤S233中确定slice_type和slice_qp_delta对齐时,slice_type和slice_qp_delta的参数被提供到CABAC解码器234,并且向解码控制器232通知参数被提供到CABAC解码器234。
响应于此,解码控制器232在步骤S234中使得CABAC解码器234执行初始化。当初始化结束时,CABAC解码器234向解码控制器232通知初始化的结束。此后,可以以任意定时执行CABAC解码。
在步骤S235中,获取单元233还从切片报头获取已编码的并且要被解码的参数。在步骤S236中,VLC解码器231确定获取单元233获取的参数是否是作为自适应偏置滤波器的参数的sao_param()或作为自适应环路滤波器的参数的alf_cu_control_param()(即,算术编码参数)。作为自适应偏置滤波器的参数的sao_param()和作为自适应环路滤波器的参数的alf_cu_control_param()设置在切片报头的末端或切片数据的开头。因此,获取单元233从切片报头的末端或切片数据的开头获取这些参数。
当在步骤S236中确定所获取的参数既不是作为自适应偏置滤波器的参数的sao_param()也不是作为自适应环路滤波器的参数的alf_cu_control_param()(即,算术编码参数)时,处理进行到步骤S237。
在步骤S237中,VLC解码器231对在步骤S235中获取的参数执行VLC解码(可变长度解码或固定长度解码)。
当在步骤S236中确定获取的参数是作为自适应偏置滤波器的参数的sao_param()或作为自适应环路滤波器的参数的alf_cu_control_param()(即,算术编码参数)时,处理进行到步骤S238。VLC解码器231将在步骤S235中获取的参数提供到CABAC解码器234,并且向解码控制器232通知参数被提供到CABAC解码器234。
在步骤S238中,CABAC解码器234在解码控制器232的控制之下对在步骤S235中获取的参数执行CABAC解码(算术解码)。即,这里进行了算术解码的参数是算术编码参数,并且是自适应偏置滤波器的参数的sao_param()或自适应环路滤波器的参数alf_cu_control_param()。CABAC解码器234将解码后的参数提供到VLC解码器231,并且向解码控制器232通知解码结束。解码控制器232向VLC解码器231通知该结束。
在步骤S239中,VLC解码器231确定对所有参数的解码是否结束。当确定对所有参数的解码尚未结束时,处理返回到步骤S235并且重复随后的处理。
当在步骤S239中确定对所有参数的解码结束时,处理进行到步骤S240。VLC解码器231将作为来自存储缓冲器201的编码数据的变换系数提供到CABAC解码器234,并且向解码控制器232通知变换系数被提供到CABAC解码器234。
另外,解码参数存储在VLC解码器231中,并且还用于变换系数的解码。当对所有参数的解码结束时解码参数可被提供到图像解码装置200的各个相应单元,或者在每次解码结束的任何时候解码参数都可被提供到图像解码装置200的各个相应单元。
在步骤S240中,CABAC解码器234在解码控制器232的控制之下对数据(变换系数)执行CABAC解码(算术解码),并且将解码数据提供到逆量化器203并向解码控制器232通知解码结束。在步骤S240的处理之后,处理返回到图16的步骤S202。
另外,在图17所示的示例中,在步骤S236中确定所获取的参数是否是sao_param()或alf_cu_control_param()。然而,可简单执行关于所获取的参数是进行了算术编码还是进行了可变长度(固定长度)编码的确定,即基于编码类型的确定。
如上所述,可以通过将用于以切片或图片为单位对编码处理或解码处理进行控制的算术编码参数布置在切片报头的末端或切片数据的开头来提高解码处理的速度。
[语法的示例]
图18是示出图像编码装置100生成的切片报头的语法的示例的图。每行的左端的数字是附属用于说明的行号。
在图18所示的语法中,示出了用于以切片或图片为单位对编码处理或解码处理进行控制的算术编码参数在切片数据的开头布置在一起的示例。
在图18所示的示例中,slice_type设置在第4行中。该slice_type指示该切片与I切片、P切片和B切片中的哪个切片对应,并且是如上所述的CABAC的初始化所需的参数。
cabac_init_idc设置在第25行中。cabac_init_idc在H.264/AVC方法中用于设置cabac的表,但是在HEVC方法中的使用目前没有确定。
slice_qp_delta设置在第30行中。该slice_qp_delta是如上所述的CABAC的初始化所需的参数。
sao_param()在第31行至第32行中被设置为if(sample_adaptive_offset_enabled_flag)sao_param()。该sao_param()是自适应偏置滤波器的参数。即,在图18所示的示例中,不是所有这些参数而是这些参数当中的用于以切片或图片为单位对编码处理或解码处理进行控制的参数的布置被改变到切片数据的开头。稍后将参照图19和图20描述其细节。
alf_param()设置在第44行中。尽管在传统示例中alf_cu_control_param()设置在alf_param()之后,但是在图18所示的示例中布置移动到切片数据的开头。
另外,在图18所示的示例中,在sao_param()中用于以切片或图片为单位对编码处理进行控制的算术编码参数被改变到切片数据的开头。因此,即使slice_qp_delta存在于第30行中,紧挨在slice_qp_delta之后也不存在用于以切片或图片为单位对编码处理或解码处理进行控制的参数。为此,第30行中的slice_qp_delta没有移动。
图19是示出图像编码装置100生成的sao_param()的语法的示例的图。每行的左端的数字是附属用于说明的行号。
在图19所示的示例中,第2行中的sample_adaptive_offset_flag是指示是否要执行自适应偏置滤波的标记。尽管在现有技术中用于以切片或图片为单位对编码处理或解码处理进行控制的算术编码参数存在于紧挨在该标记之后,但是在图19所示的示例中算术编码参数被移动。
即,在图19的sao_param()中,优选地对if语句执行VLC编码。因此,简单读取的并且稍后将描述的、图20的第6行至第9行中的参数被移动到切片数据的开头,并且sample_adaptive_offset_flag设置在相同位置。
图20是示出图像编码装置100生成的切片数据的语法的示例的图。每行的左端的数字是附属用于说明的行号。
在图20所示的示例中,在第4行和第5行中,alf_cu_control_param()被设置为if(adaptive_loop_filter_enabled_flag)alf_cu_control_param()。该alf_cu_control_param()是自适应环路滤波器的参数当中用于以切片或图片为单位对编码处理或解码处理进行控制的算术编码参数,并且设置在切片数据的开头。
在第6行至第9行中,sao_split_param(0,0,0)sao_offset_param(0,0,0)被设置为if(sample_adaptive_offset_flag){sao_split_param(0,0,0)sao_offset_param(0,0,0)}。该参数是自适应偏置滤波器的参数当中用于以切片或图片为单位对编码处理或解码处理进行控制的算术编码参数,并且被设置在切片数据的开头。
[语法的另一示例]
图21是示出图像编码装置100生成的切片报头的语法的另一示例的图。每行的左端的数字是附属用于说明的行号。
在图21所示的语法中,示出了用于以切片或图片为单位对编码处理或解码处理进行控制的算术编码参数在切片报头的末端布置在一起的示例。
在图21的示例中,slice_type设置在第4行中。该slice_type指示该切片与I切片、P切片和B切片中的哪个切片相对应,并且是如上所述的CABAC的初始化所需的参数。
cabac_init_idc设置在第25行中。cabac_init_idc在H.264/AVC方法中用于设置cabac的表,但是在HEVE方法中的使用目前不确定。
slice_qp_delta设置在第30行中。该slice_qp_delta是如上所述的CABAC的初始化所需的参数。
alf_cu_control_param()设置在第43行中。该alf_cu_control_param()是自适应环路滤波器的参数当中用于以切片或图片为单位对编码处理或解码处理进行控制的算术编码参数,并且设置在切片报头的末端。
sao_param()在第45行和第46行中被设置为if(sample_adaptive_offset_enabled_flag)sao_param()。该sao_param()是自适应偏置滤波器的参数并且也是用于以切片或图片为单位对编码处理或解码处理进行控制的算术编码参数,并且设置在切片报头的末端。
另外,在图21所示的示例中,sao_param()的布置被改变到切片报头的末端。因此,即使slice_qp_delta存在于第30行中,紧挨在slice_qp_delta之后也不存在用于以切片或图片为单位对编码处理或解码处理进行控制的参数。为此,第30行中的slice_qp_delta没有移动。
[语法的另一示例]
图22是示出图像编码装置100生成的切片报头的语法的又一示例的图。每行的左端的数字是附属用于说明的行号。
在图22所示的语法中,示出了用于以切片或图片为单位对编码处理或解码处理进行控制的算术编码参数在切片报头的末端布置在一起的示例。另外,在图22所示的语法中,slice_qp_delta的布置被移动,并且作为CABAC的初始化所需的参数的参数在报头的开头附近布置在一起。
在图22的示例中,slice_type设置在第4行中。该slice_type指示该切片与I切片、P切片和B切片中的哪个切片对应,并且是如上所述的CABAC的初始化所需的参数。
slice_qp_delta设置在第5行中。与slice_type类似,该slice_qp_delta是CABAC的初始化所需的参数。
cabac_init_idc设置在第25行中。cabac_init_idc在H.264/AVC方法中用于设置cabac的表,但是在HEVC方法中的使用目前不确定。另外,当使用cabac_init_idc时,slice_qp_delta可布置在紧挨在cabac_init_idc之后,如上述图5所示,以便与cabac_init_idc放置在一起。另外,cabac_init_idc还可与slice_qp_delta一起布置在紧挨在slice_type之后。
alf_cu_control_param()设置在第43行中。该alf_cu_control_param()是自适应环路滤波器的参数当中用于以切片或图片为单位对编码处理或解码处理进行控制的算术编码参数,并且设置在切片报头的末端。
sao_param()在第45行和第46行中被设置为if(sample_adaptive_offset_enabled_flag)sao_param()。该sao_param()是自适应偏置滤波器的参数,并且也是用于以切片或图片为单位对编码处理或解码处理进行控制的算术编码参数,并且设置在切片报头的末端。
另外,在上述图18至图20所示的示例中,sao_param()的仅一部分布置在切片数据的开头。另外在alf_cu_control_param()的情况下,可以采用与图18至图20所示的示例相同的配置。
[语法的另一示例]
图23是示出alf_cu_control_param()的语法的示例的图。每行的左端的数字是附属用于说明的行号。
在图23所示的示例中,alf_cu_flag[i]在第7行和第8行中被设置为for(i=0;i<NumAlfCuFlag;i++)alf_cu_flag[i]。在alf_cu_control_param()中,仅该alf_cu_flag[i]是用于以切片或图片为单位对编码处理或解码处理进行控制的算术编码参数。
因此,尽管alf_cu_control_param()在上述图18所示的示例中布置在切片数据的开头,但是可取代整个alf_cu_control_param()而仅alf_cu_control_param()的alf_cu_flag[i]布置在切片数据的开头。因此,alf_cu_control_param()中具有其它if语句等的参数可以进行VLC编码。无疑的是,即使如在图18所示的示例中alf_cu_control_param()布置在切片数据的开头,VLC和CABAC也可混合,或者还可以将所有参数布置在切片数据的开头并且对所有参数执行CABAC编码。
另外,在图18至图23所示的示例中,作为自适应偏置滤波器的参数的sao_param()在切片数据的末端或切片报头的开头布置在作为自适应环路滤波器的参数的alf_cu_control_param()之后。然而,这些是示例,并且自适应偏置滤波器的参数也可布置在自适应环路滤波器的参数之前,只要布置位置在切片数据的末端或切片报头的开头即可。
另外,在以上说明中,使用了作为用于以切片或图片为单位对编码处理进行控制的算术编码参数的、作为自适应环路滤波器的参数的alf_cu_control_param()和作为自适应偏置滤波器的参数的sao_param()进行了说明。然而,本公开不限于此。即,如果其它参数是作为用于以切片或图片为单位对编码处理或解码处理进行控制的参数的、进行算术编码的算术编码参数,则本技术也可以应用于其它参数。
通过将这样的算术编码参数一起布置在切片报头的末端或切片数据的开头,可以提高处理的速度。作为用于以切片或图片为单位对编码处理或解码处理进行控制的其它算术编码参数的示例,可以涉及诸如量化矩阵的参数。
在以上,H.264/AVC方法或HEVC方法用作编码方法的基础。然而,本公开不限于此,并且还可以应用在运动估计/补偿环路内包括自适应偏置滤波器和自适应环路滤波器中的至少一个的其它编码方法/解码方法。
本技术可以应用于图像编码装置和图像解码装置,该图像编码装置和图像解码装置用于例如经由网络介质比如卫星广播、有线电视、因特网或便携式电话装置接收如在MPEG或H.26x中使用诸如离散余弦变换的正交变换和运动补偿而压缩的图像信息(位流)。本技术还可以应用于当在诸如光盘或磁盘或闪存的存储介质上对压缩图像信息进行处理时所使用的图像编码装置和图像解码装置。
<3.第三实施例>
[对多视图图像编码和多视图图像解码的应用]
上述一系列处理可以应用于多视图图像编码和多视图图像解码。图24示出了多视图图像编码方法的示例。
如图24所示,多视图图像包括多个视图的图像,并且多个视图中的一个预定视图的图像被指定为基本视图的图像。除基本视图的图像之外的每个视图的图像被视为非基本视图的图像。
当执行如图24所示的多视图图像编码时,算术编码参数可以在每个视图(同一视图)中布置在一起。另外,在每个视图(不同视图)中,还可以共享在其它视图中布置在一起的算术编码参数。
在该情况下,在基本视图中布置在一起的算术编码参数用在至少一个非基本视图中。替选地,例如,在非基本视图(view_id=0)中布置在一起的算术编码参数用在基本视图和非基本视图(view_id=1)的至少一个中。
另外,在每个视图(同一视图)中,还可以将可变长度(或固定长度)编码参数布置在一起。另外,在每个视图(不同视图)中,还可以共享在其它视图中布置在一起的可变长度(或固定长度)编码参数。
在该情况下,在基本视图中布置在一起的可变长度(或固定长度)编码参数用在至少一个非基本视图中。替选地,例如,在非基本视图(view_id=0)中布置在一起的可变长度(或固定长度)编码参数用在基本视图和非基本视图(view_id=1)的至少一个中。
以此方式,可以高效地一起执行算术编码和算术解码的处理。另外,可以高效地一起执行可变长度(固定长度)编码和可变长度(固定长度)解码的处理。
[多视图图像编码装置]
图25是示出执行上述多视图图像编码的多视图图像编码装置的图。如图25所示,多视图图像编码装置600包括编码器601和602以及复用器603。
编码器601对基本视图图像进行编码以生成基本视图图像编码流。编码器602对非基本视图图像进行编码以生成非基本视图图像编码流。复用器603对编码器601生成的基本视图图像编码流和编码器602生成的非基本视图图像编码流进行复用以生成多视图图像编码流。
对于多视图图像编码装置600的编码器601和602,可以应用图像编码装置100(图1)。在该情况下,多视图图像编码装置600设置和传送编码器601布置在一起的算术编码参数和编码器602布置在一起的算术编码参数。
另外,可设置和传送如上所述的编码器601布置在一起的算术编码参数以便在编码器601与602之间共享。相反,可设置和传送编码器602布置在一起的算术编码参数以便在编码器601与602之间共享。这同样适用于可变长度(或固定长度)编码参数的情况。
[多视图图像解码装置]
图26是示出执行上述多视图图像解码的多视图图像解码装置的图。如图26所示,多视图图像解码装置610包括解复用器611以及解码器612和613。
解复用器611对基本视图图像编码流和非基本视图图像编码流被复用的多视图图像编码流进行解复用,以提取基本视图图像编码流和非基本视图图像编码流。解码器612对解复用器611提取的基本视图图像编码流进行解码以获得基本视图图像。解码器613对解复用器611提取的非基本视图图像编码流进行解码以获得非基本视图图像。
对于多视图图像解码装置610的解码器612和613,可以应用图像解码装置200(图14)。在该情况下,多视图图像解码装置610使用编码器601布置在一起的并且由解码器612解码的算术编码参数和编码器602布置在一起的并且由解码器613解码的算术编码参数而执行处理。
另外,可设置和传送如上所述的编码器601(或编码器602)布置在一起的算术编码参数以便在编码器601与602之间共享。在该情况下,多视图图像解码装置610使用编码器601(或编码器602)布置在一起的并且由解码器612(或解码器613)解码的算术编码参数而执行处理。这同样适用于可变长度(或固定长度)编码参数的情况。
<4.第四实施例>
[对层级图像编码和层级图像解码的应用]
上述一系列处理可以应用于层级图像编码和层级图像解码。图27示出了层级图像编码方法的示例。
如图27所示,层级图像包括多个层级(分辨率)的图像,并且多个分辨率中的一个预定层级的图像被指定为基本层的图像。除基本层的图像之外的每个层级的图像被视为非基本层的图像。
当执行如图27所示的层级图像解码(空间可缩放性)时,算术编码参数可以在每层(同一层)中布置在一起。另外,在每层(不同层)中,还可以共享在其它层中布置在一起的算术编码参数。
在该情况下,在基本层中布置在一起的算术编码参数用在至少一个非基本层中。替选地,例如,在非基本层(layer_id=0)中布置在一起的算术编码参数用在基本层和非基本层(layer_id=1)的至少一个中。
另外,在每层(同一层)中,还可以将可变长度(或固定长度)编码参数布置在一起。另外,在每层(不同层)中,还可以共享在其它层中布置在一起的可变长度(或固定长度)编码参数。
在该情况下,在基本层中布置在一起的可变长度(或固定长度)参数用在至少一个非基本层中。替选地,例如,在非基本层(layer_id=0)中布置在一起的可变长度(或固定长度)参数用在基本层和非基本层(layer_id=1)的至少一个中。
以此方式,可以高效地一起执行算术编码和算术解码的处理。另外,可以高效地一起执行可变长度(固定长度)编码和可变长度(固定长度)解码的处理。
[层级图像编码装置]
图28是示出执行上述层级图像编码的层级图像编码装置的图。如图28所示,层级图像编码装置620包括编码器621和622以及复用器623。
编码器621对基本层图像进行编码以生成基本层图像编码流。编码器622对非基本层图像进行编码以生成非基本层图像编码流。复用器623对编码器621生成的基本层图像编码流和编码器622生成的非基本层图像编码流进行复用以生成层级图像编码流。
对于层级图像编码装置620的编码器621和622,可以应用图像编码装置100(图1)。在该情况下,层级图像编码装置620设置和传送编码器621布置在一起的算术编码参数和编码器622布置在一起的算术编码参数。
另外,可设置和传送如上所述的编码器621布置在一起的算术编码参数以便在编码器621与622之间共享。相反,可设置和传送编码器622布置在一起的算术编码参数以便在编码器621与622之间共享。这同样适用于可变长度(或固定长度)编码参数的情况。
[层级图像解码装置]
图29是示出执行上述层级图像解码的层级图像解码装置的图。如图29所示,层级图像解码装置630包括解复用器631以及解码器632和633。
解复用器631对基本层图像编码流和非基本层图像编码流被复用的层级图像编码流进行解复用,以提取基本层图像编码流和非基本层图像编码流。解码器632对解复用器631提取的基本层图像编码流进行解码以获得基本层图像。解码器633对解复用器631提取的非基本层图像编码流进行解码以获得非基本层图像。
对于多视图图像解码装置630的解码器632和633,可以应用图像解码装置200(图14)。在该情况下,多视图图像解码装置630使用编码器621布置在一起的并且由解码器632解码的算术编码参数和编码器622布置在一起的并且由解码器633解码的算术编码参数而执行处理。
另外,可设置和传送如上所述的编码器621(或编码器622)布置在一起的算术编码参数以便在编码器621与622之间共享。在该情况下,多视图图像解码装置630使用编码器621(或编码器622)布置在一起的并且由解码器632(或解码器633)解码的算术编码参数而执行处理。这同样适用于可变长度(或固定长度)编码参数的情况。
<5.第五实施例>
[计算机]
上述系列处理可以由硬件或软件来执行。当上述系列处理由软件来执行时,构成该软件的程序安装在计算机中。注意,计算机的示例包括嵌入在专用硬件中的计算机和能够通过在其中安装各种程序而执行各种功能的通用个人计算机。
在图30中,计算机800的CPU(中央处理单元)801根据存储在ROM(只读存储器)802中的程序或者从存储单元813加载到RAM(随机存取存储器)803中的程序而执行各种操作。RAM803还在必要时存储CPU801执行各种处理所需的数据等。
CPU801、ROM802和RAM803经由总线804彼此连接。输入/输出接口810也连接到总线804。
输入/输出接口810具有以下与其连接的部件:输入单元811,包括键盘、鼠标等;输出单元812,包括诸如CRT(阴极射线管)或LCD(液晶显示器)的显示器和扬声器;存储单元813,包括硬盘等;以及通信单元814,包括调制解调器等。通信单元814经由包括因特网的网络执行通信。
驱动器815还在必要时连接到输入/输出接口810,诸如磁盘、光盘、磁光盘或半导体存储器的可移除介质821适当时安装在驱动器上,并且从这样的可移除盘读取的计算机程序在必要时安装在存储单元813中。
当上述系列处理由软件来执行时,构成该软件的程序从网络或记录介质安装。
如图30所示,记录介质的示例包括其上记录有程序的、被分发用于向与装置分离的用户递送程序的可移除介质821(诸如磁盘(包括软盘)、光盘(包括CD-ROM(致密盘-只读存储器)或DVD(数字通用盘))、磁光盘(包括MD(迷你盘))和半导体存储器)以及替选地在递送到用户之前被预先合并在装置中的、其中记录有程序的ROM802和包括在存储单元813中的硬盘。
要由计算机执行的程序可以是用于根据该说明书中描述的序列以时间顺序执行处理的程序或者用于并行地或在必要的定时(诸如响应于调用)执行处理的程序。
在该说明书中,描述要记录在记录介质中的程序的步骤包括在不必以时间顺序的情况下并行地或相互独立地执行的处理以及要根据这里描述的序列以时间顺序执行的处理。
在该说明书中,系统指的是包括不止一个装置的装备的整体。
此外,以上被描述为一个装置(或一个处理器)的任意结构可被划分为两个或更多个装置(或处理器)。相反,以上被描述为两个或更多个装置(或处理器)的任意结构可被组合为一个装置(或处理器)。此外,当然可以将除上述之外的部件添加到任意装置(或处理器)的结构。此外,装置(或处理器)的一些部件可被合并到其它装置(或处理器)的结构中,只要系统的结构和功能整体上基本上相同即可。即,本技术不限于上述实施例,而是可在不背离本技术的范围的情况下进行各种修改。
根据上述实施例的图像编码装置和图像解码装置可以应用于各种电子装置,诸如卫星广播、有线广播(诸如有线电视)、经由因特网的分发、经由蜂窝通信到终端的分发等中的传送器和接收器、被配置成将图像记录在介质(诸如光盘、磁盘和闪存)中的记录装置以及被配置成从存储介质再现图像的再现装置。以下将描述四个应用示例。
<6.第六实施例>
[第一应用:电视接收机]
图31示出了应用上述实施例的电视设备的示意结构的示例。电视设备900包括天线901、调谐器902、解复用器903、解码器904、视频信号处理器905、显示单元906、音频信号处理器907、扬声器908、外部接口909、控制器910、用户接口911和总线912。
调谐器902从经由天线901接收的广播信号中提取期望频道的信号,并且对所提取的信号进行解调。调谐器902然后将通过解调获得的编码位流输出到解复用器903。即,调谐器902用作电视设备900中接收编码图像的编码流的传送装置。
解复用器903从编码位流分离要观看的节目的视频流和音频流,并且将分离后的流输出到解码器904。另外,解复用器903从编码位流提取诸如EPG(电子节目指南)的辅助数据,并且将所提取的数据提供到控制器910。如果编码位流被加扰,则解复用器903可对编码位流进行解扰。
解码器904对从解复用器903输入的视频流和音频流进行解码。解码器904然后将通过解码生成的视频数据输出到视频信号处理器905。解码器904还将通过解码生成的音频数据输出到音频信号处理器907。
视频信号处理器905再现从解码器904输入的视频数据,并且在显示单元906上显示该视频数据。视频信号处理器905还可在显示单元906上显示经由网络提供的应用画面。此外,视频信号处理器905可根据设置对视频数据执行诸如去噪的附加处理。另外,视频信号处理器905可生成例如诸如菜单、按钮或光标的GUI(图形用户界面)图像,并且可将所生成的图像叠加在输出图像上。
显示单元906由从视频信号处理器905提供的驱动信号驱动,并且在显示装置(诸如液晶显示器、等离子显示器或OELD(有机电致发光显示器))的视频画面上显示视频或图像。
音频信号处理器907对从解码器904输入的音频数据执行诸如D/A转换和放大的再现处理,并且通过扬声器908输出音频。此外,音频信号处理器907可对音频数据执行诸如去噪的附加处理。
外部接口909是用于将电视设备900与外部装置或网络连接的接口。例如,经由外部接口909接收的视频流或音频流可由解码器904解码。即,外部接口909还用作电视设备900中接收编码图像的编码流的传送装置。
控制器901包括诸如CPU的处理器以及诸如RAM和ROM的存储器。存储器存储要由CPU执行的程序、节目数据、EPG数据、经由网络获取的数据等。例如,存储在存储器中的程序在电视设备900被激活时由CPU读取和执行。CPU例如通过执行程序而根据从用户接口911输入的操作信号控制电视设备900的操作。
用户接口911与控制器910连接。用户接口911包括例如用于用户操作电视设备900的按钮和开关以及用于接收远程控制信号的接收单元。用户接口911检测用户经由这些部件的操作,生成操作信号,并且将所生成的操作信号输出到控制器910。
总线912将调谐器902、解复用器903、解码器904、视频信号处理器905、音频信号处理器907、外部接口909和控制器910彼此连接。
在具有这样的结构的电视设备900中,解码器904具有根据上述实施例的图像解码装置的功能。因此,当在电视设备900中对图像进行解码时,可以以高速执行处理。
[第二应用:便携式电话装置]
图32示出了应用上述实施例的便携式电话装置的示意结构的示例。便携式电话装置920包括天线921、通信单元922、音频编解码器923、扬声器924、麦克风925、摄像装置单元926、图像处理器927、复用/分离单元928、记录/再现单元929、显示单元930、控制器931、操作单元932和总线933。
天线921连接到通信单元922。扬声器924和麦克风925连接到音频编解码器923。操作单元932连接到控制器931。总线933将通信单元922、音频编解码器923、摄像装置单元926、图像处理器027、复用/分离单元928、记录/再现单元929、显示单元930和控制器931彼此连接。
便携式电话装置920以各种操作模式(包括话音呼叫模式、数据通信模式、成像模式和视频电话模式)执行操作,诸如音频信号的传送/接收、电子邮件和图像数据的传送/接收、图像的捕获、数据的记录等。
在话音呼叫模式中,麦克风925生成的模拟音频信号被提供到音频编解码器923。音频编解码器923将模拟音频信号转换成音频数据,对转换后的音频数据执行A/D转换,并且对音频数据进行压缩。音频编解码器923然后将从压缩得到的音频数据输出到通信单元922。通信单元922对音频数据进行编码和调制以生成要传送的信号。然后,通信单元922通过天线921将所生成的传送信号传送到基站(未示出)。通信单元922还对经由天线921接收的无线电信号进行放大并执行频率转换以获得接收信号。通信单元922然后对接收信号进行解调和解码以生成音频数据,并且将所生成的音频数据输出到音频编解码器923。音频编解码器923对音频数据进行解压缩并执行D/A转换以生成模拟音频信号。音频编解码器923然后将所生成的音频信号提供到扬声器924以从其输出音频。
在数据通信模式中,控制器931例如根据用户经由操作单元932的操作而生成要包括在电子邮件中的文本数据。控制器931还在显示单元930上显示文本。控制器931还响应于来自用户经由操作单元932的用于传送的指令而生成电子邮件数据,并且将所生成的电子邮件数据输出到通信单元922。通信单元922对电子邮件数据进行编码和调制以生成要传送的信号。然后,通信单元922通过天线921将所生成的传送信号传送到基站(未示出)。通信单元922还对经由天线921接收的无线电信号进行放大并执行频率转换以获得接收信号。通信单元922然后对接收信号进行解调和解码以恢复电子邮件数据,并且将所恢复的电子邮件数据输出到控制器931。控制器931在显示单元930上显示电子邮件的内容,并且将电子邮件数据存储到记录/再现单元929的存储介质中。
记录/再现单元929包括可读/可写存储介质。例如,存储介质可以是诸如RAM或闪存的内置存储介质,或者可以是外部存储介质,诸如硬盘、磁盘、磁光盘、光盘、USB(未分配空间位图)存储器或存储卡。
在成像模式中,例如,摄像装置单元926对主体进行成像以生成图像数据,并且将所生成的图像数据输出到图像处理器927。图像处理器927对从摄像装置单元926输入的图像数据进行编码,并且将编码流存储在记录/再现单元929的存储介质中。
在视频电话模式中,例如,复用/分离单元928对图像处理器927编码的视频流和从音频编解码器923输入的音频流进行复用,并且将复用后的流输出到通信单元922。通信单元922对流进行编码和调制以生成要传送的信号。然后,通信单元922通过天线921将所生成的传送信号传送到基站(未示出)。通信单元922还对经由天线921接收的无线电信号进行放大并执行频率转换以获得接收信号。要传送的信号和接收信号可包括编码位流。通信单元922然后对接收信号进行解调和解码以恢复流,并将所恢复的流输出到复用/分离单元928。复用/分离单元928从输入流分离视频流和音频流,并且将视频流输出到图像处理器927以及将音频流输出到音频编解码器923。图像处理器927对视频流进行处理以生成视频数据。视频数据被提供到显示单元930,并且由显示单元930显示一系列图像。音频编解码器923对音频流进行解压缩并执行D/A转换,以生成模拟音频信号。音频编解码器923然后将所生成的音频信号输出到扬声器924以从其输出音频。
在具有这样的结构的便携式电话装置920中,图像处理器927具有根据上述实施例的图像编码装置和图像解码装置的功能。因此,当在便携式电话装置920中对图像进行编码和解码时,可以以高速执行处理。
[第三应用:记录/再现装置]
图33示出了应用上述实施例的记录/再现装置的示意结构的示例。例如,记录/再现装置940对接收的广播节目的音频数据和视频数据进行编码并且将编码数据记录到记录介质中。例如,记录/再现装置940还可对从其它装置获取的音频数据和视频数据进行编码,并且将编码数据记录到记录介质中。记录/再现装置940还例如响应于来自用户的指令而在监视器上以及通过扬声器再现记录在记录介质中的数据。在该情况下,记录/再现装置940对音频数据和视频数据进行解码。
记录/再现装置940包括调谐器941、外部接口942、编码器943、HDD(硬盘驱动器)944、盘驱动器945、选择器946、解码器947、OSD(在屏显示)948、控制器949和用户接口950。
调谐器941从经由天线(未示出)接收的广播信号提取期望频道的信号,并且对所提取的信号进行解调。调谐器941然后将通过解调获得的编码位流输出到选择器946。即,调谐器941具有作为记录/再现装置940中的传送装置的作用。
外部接口942是用于将记录/再现装置940与外部装置或网络连接的接口。外部接口942可以是例如IEEE1394接口、网络接口、USB接口或闪存接口。例如,经由外部接口942接收的视频数据和音频数据被输入到编码器943。即,外部接口942具有作为记录/再现装置940中的传送装置的作用。
如果从外部接口942输入的视频数据和音频数据没有被编码,则编码器943对视频数据和音频数据进行编码。编码器943然后将编码位流输出到选择器946。
HDD944将压缩内容数据(诸如视频和音频)的编码位流、各种程序和其它数据记录在内部硬盘中。HDD944还从硬盘读出数据用于视频和音频的再现。
盘驱动器945将数据记录到其上安装的记录介质中/从其上安装的记录介质读出数据。安装在盘驱动器945上的记录介质可以是例如DVD盘(DVD-视频、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等)或蓝光(注册商标)盘。
为了记录视频和音频,选择器946选择从调谐器941或编码器943输入的编码位流并且将所选择的编码位流输出到HDD944或盘驱动器945。为了再现视频和音频,选择器946选择从HDD944或盘驱动器945输入到解码器947的编码位流。
解码器947对编码位流进行解码以生成视频数据和音频数据。解码器947然后将所生成的视频数据输出到OSD948。解码器947还将所生成的音频数据输出到外部扬声器。
OSD948再现从解码器947输入的视频数据,并且显示该视频。OSD948还可将GUI图像(诸如菜单、按钮或光标)叠加在要显示的视频上。
控制器949包括诸如CPU的处理器和诸如RAM和ROM的存储器。存储器存储要由CPU执行的程序、节目数据等。例如当记录/再现装置940激活时,存储在存储器中的程序由CPU读取和执行。CPU例如通过执行程序而根据从用户接口950输入的操作信号控制记录/再现装置940的操作。
用户接口950与控制器949连接。用户接口950包括例如用于用户操作记录/再现装置940的按钮和开关和用于接收远程控制信号的接收单元。用户接口950检测用户经由这些部件的操作,生成操作信号,并且将所生成的操作信号输出到控制器949。
在具有这样结构的记录/再现装置940中,编码器943具有根据上述实施例的图像编码装置的功能。此外,解码器947具有根据上述实施例的图像解码装置的功能。因此,当在记录/再现装置940中对图像进行编码和解码时,可以以高速执行处理。
[第四应用:成像装置]
图34示出了应用上述实施例的成像装置的示意结构的一个示例。成像装置960对主体进行成像以生成图像,对图像数据进行编码,并且将编码图像数据记录在记录介质中。
成像装置960包括光学组件961、成像单元962、信号处理器963、图像处理器964、显示单元965、外部接口966、存储器967、介质驱动器968、OSD969、控制器970、用户接口971和总线972。
光学组件961连接到成像单元962。成像单元962连接到信号处理器963。显示单元965连接到图像处理器964。用户接口971连接到控制器970。总线972将图像处理器964、外部接口966、存储器967、介质驱动器968、OSD969和控制器970彼此连接。
光学组件961包括聚焦透镜、光圈等。光学组件961在成像单元962的成像表面上形成主体的光学图像。成像单元962包括诸如CCD(电荷耦合器件)或CMOS(互补金属氧化物半导体)的图像传感器,并且通过光电转换将形成在成像表面上的光学图像转换成作为电信号的图像信号。成像单元962然后将图像信号输出到信号处理器963。
信号处理器963对从成像单元962输入的图像信号执行各种摄像装置信号处理,诸如拐点校正、伽马校正和色彩校正。信号处理器963将进行了摄像装置信号处理的图像数据输出到图像处理器964。
图像处理器964对从信号处理器963输入的图像数据进行编码以生成编码数据。图像处理器964然后将所生成的编码数据输出到外部接口966或介质驱动器968。图像处理器964还对从外部接口966或介质驱动器968输入的编码数据进行解码以生成图像数据。图像处理器964然后将所生成的图像数据输出到显示单元965。图像处理器964可将从信号处理器963输入的图像数据输出到显示单元965以显示图像。图像处理器964还可将从OSD969获取的用于显示的数据叠加在要输出到显示单元965的图像上。
例如,OSD969可生成诸如菜单、按钮或光标的GUI图像并且将所生成的图像输出到图像处理器964。
外部接口966是例如USB输入/输出端子。外部接口966将例如成像装置960和用于图像打印的打印机连接。另外,驱动器在必要时连接到外部接口966。诸如磁盘或光盘的可移除介质被安装到例如驱动器,并且从可移除介质读出的程序可以安装在成像装置960中。此外,外部接口966可以是连接到诸如LAN或因特网的网络的网络接口。即,外部接口966具有作为成像装置960中的传送装置的作用。
要安装在介质驱动器968上的记录介质可以是可读/可写可移除介质,诸如磁盘、磁光盘、光盘或半导体存储器。另外,记录介质可固定地安装在介质驱动器968上以形成非便携式存储单元,诸如内置硬盘驱动器或SSD(固态驱动器)。
控制器970包括诸如CPU的处理器以及诸如RAM和ROM的存储器。存储器存储要由CPU执行的程序、节目数据等。例如,当成像装置960被激活时,由CPU读取和执行存储在存储器中的程序。CPU例如通过执行程序而根据从用户接口971输入的操作信号控制成像装置960的操作。
用户接口971与控制器970连接。用户接口971包括例如用于用户操作成像装置960的按钮和开关。用户接口971检测用户经由这些部件的操作,生成操作信号,并且将所生成的操作信号输出到控制器970。
在具有这样的结构的成像装置960中,图像处理器964具有根据上述实施例的图像编码装置和图像解码装置的功能。因此,当在成像装置960中对图像进行编码和解码时,可以以高速执行处理。
在该说明书中,描述了诸如差分量化参数的各种信息与编码流进行复用并且从编码侧传送到解码侧的示例。每个参数是例如自适应环路滤波器、自适应偏置滤波器、量化矩阵的算术编码参数、用于执行可变长度(固定长度)编码(解码)的编码参数或者CABAC的初始化所需的初始化(编码)参数。然而,传送信息片段的方法不限于这些示例。例如,信息片段可作为与编码位流相关联的单独数据传送或记录而不与编码位流进行复用。注意,术语“相关联”表示允许在解码时将包含在位流中的图像(可以是图像的一部分,诸如切片或块)与关于图像的信息相链接。即,信息可在与图像(或位流)分离的传送路径上传送。替选地,信息可记录在与图像(或位流)的记录介质不同的记录介质上(或者记录在同一记录介质的不同区域上)。此外,信息和图像(或位流)可以以任意单位(诸如以一些帧、一个帧或帧的一部分为单位)彼此相关联。
尽管参照附图描述了本公开的优选实施例,但是本公开不限于这些示例。显然,本公开所属领域的技术人员可以想到在权利要求描述的技术思想内的各种变化和修改,并且自然意识到这些变化和修改属于本公开的技术范围。
本技术还可以具有以下结构。
(1)一种图像处理装置,包括:
接收单元,接收编码流和进行了算术编码处理的算术编码参数,在所述编码流中,所述算术编码参数一起布置在通过以具有层级结构的单位对图像数据进行编码而获得的编码流的语法中;以及
解码器,对所述接收单元接收的所述算术编码参数执行算术解码处理,并且使用进行了所述算术解码处理的算术编码参数对所述接收单元接收的编码流进行解码。
(2)根据(1)所述的图像处理装置,
其中,进行了可变长度编码处理或固定长度编码处理的编码参数一起布置在所述编码流的语法中,
所述接收单元从所述编码流接收所述编码参数,以及
所述解码器对所述接收单元接收的编码参数进行解码,并且使用解码后的编码参数对所述编码流进行解码。
(3)根据(2)所述的图像处理装置,
其中,所述算术编码参数布置在所述编码流的语法中的所述编码参数之后。
(4)根据(1)至(3)中的任意一项所述的图像处理装置,
其中,当对所述算术编码处理或所述算术解码处理进行初始化时所使用的初始化参数一起布置在所述编码流的语法中,
所述接收单元从所述编码流接收所述初始化参数,以及
还设置了控制器,所述控制器参考所述接收单元接收的初始化参数执行控制以对所述算术解码处理进行初始化。
(5)根据(1)至(4)中的任意一项所述的图像处理装置,
其中,所述算术编码参数是用于以图片级或切片级对编码处理或解码处理进行控制的参数。
(6)根据(1)至(5)中的任意一项所述的图像处理装置,
其中,所述算术编码参数是当执行所述编码处理或所述解码处理时所使用的滤波器的参数。
(7)根据(6)所述的图像处理装置,
其中,所述自适应环路滤波器的参数和所述自适应偏置滤波器的参数一起布置在所述编码流的切片数据的开头,以及
所述接收单元从所述编码流的所述切片数据的开头接收所述自适应环路滤波器的参数和所述自适应偏置滤波器的参数。
(8)根据(6)所述的图像处理装置,
其中,所述自适应环路滤波器的参数和所述自适应偏置滤波器的参数一起布置在所述编码流的切片报头的末端,以及
所述接收单元从所述编码流的切片报头的末端接收所述自适应环路滤波器的参数和所述自适应偏置滤波器的参数。
(9)根据(4)所述的图像处理装置,
其中,所述初始化参数布置在所述编码流的切片报头的开头附近,以及
所述接收单元从所述编码流的切片报头的开头附近接收所述初始化参数。
(10)一种图像处理方法,包括:
使得图像处理装置接收编码流和进行了算术编码处理的算术编码参数,在所述编码流中,所述算术编码参数一起布置在通过以具有层级结构的单位对图像数据进行编码而获得的编码流的语法中;以及
使得所述图像处理装置对所接收的算术编码参数执行算术解码处理以及使用进行了所述算术解码处理的算术编码参数对所接收的编码流进行解码。
(11)一种图像处理装置,包括:
编码器,以具有层级结构的单位对图像数据进行编码以生成编码流;
布置单元,将进行了算术编码处理的算术编码参数一起布置在所述编码器生成的编码流的语法中;以及
传送单元,传送所述编码器生成的编码流和所述布置单元布置的算术编码参数。
(12)根据(11)所述的图像处理装置,
其中,所述布置单元将进行了可变长度编码处理或固定长度编码处理的编码参数布置在一起,以及
所述传送单元传送所述布置单元布置的编码参数。
(13)根据(12)所述的图像处理装置,
其中,所述布置单元将所述算术编码参数布置在所述编码参数之后。
(14)根据(13)所述的图像处理装置,
其中,所述布置单元将对算术编码处理或算术解码处理进行初始化时所使用的初始化参数布置在一起,以及
其中,所述传送单元传送所述布置单元布置的初始化参数。
(15)根据(11)至(14)中的任意一项所述的图像处理装置,
其中,所述算术编码参数是用于以图片级或切片级对编码处理或解码处理进行控制的参数。
(16)根据(11)至(15)中的任意一项所述的图像处理装置,
其中,所述算术编码参数是当执行所述编码处理或所述解码处理时所使用的滤波器的参数。
(17)根据(16)所述的图像处理装置,
其中,所述布置单元将所述自适应环路滤波器的参数和所述自适应偏置滤波器的参数一起布置在所述编码流的切片数据的开头,以及
所述传送单元传送所述布置单元布置的所述自适应环路滤波器的参数和所述自适应偏置滤波器的参数。
(18)根据(16)所述的图像处理装置,
其中,所述布置单元将所述自适应环路滤波器的参数和所述自适应偏置滤波器的参数一起布置在所述编码流的切片报头的末端,以及
所述传送单元传送所述布置单元布置的所述自适应环路滤波器的参数和所述自适应偏置滤波器的参数。
(19)根据(14)所述的图像处理装置,
其中,所述布置单元将所述初始化参数布置在编码流的切片报头的开头附近。
(20)一种图像处理方法,包括:
使得图像处理装置通过以具有层级结构的单位对图像数据进行编码来生成编码流;
使得所述图像处理装置将进行了算术编码处理的算术编码参数一起布置在所生成的编码流的语法中;以及
使得所述图像处理装置传送所生成的编码流和所布置的算术编码参数。
附图标记列表
100图像编码装置,105量化器,106无损编码器,114帧内预测单元,115运动估计器/补偿器,121自适应偏置单元,122自适应环路滤波器,131VLC编码器,132编码控制器,133设置单元,134CABAC编码器,141固件,142硬件,200图像解码装置,202无损解码器,203逆量化器,211帧内预测单元,212运动估计器/补偿器,221自适应偏置单元,222自适应环路滤波器,231VLC解码器,232解码控制器,233获取单元,234CABAC解码器,241固件,242硬件。
Claims (11)
1.一种图像处理装置,包括:
接收单元,接收编码流,其中当对算术编码处理进行初始化时所使用的初始化参数一起布置在所述编码流的语法中;
解码器,对所述接收单元接收的所述编码流执行算术解码处理;以及
控制器,所述控制器参考所述接收单元接收的所述编码流的所述初始化参数执行控制以对所述算术解码处理进行初始化,
其中,进行了可变长度编码处理或固定长度编码处理的编码参数一起布置在所述编码流的语法中,
所述接收单元从所述编码流接收所述编码参数,以及
所述解码器对所述接收单元接收的编码参数进行解码,并且使用解码后的编码参数对所述编码流进行解码,
其中,进行了所述算术编码处理的算术编码参数布置在所述编码流的语法中的所述编码参数之后。
2.根据权利要求1所述的图像处理装置,其中,所述初始化参数被一起布置在所述编码流的切片报头的开头中。
3.根据权利要求1所述的图像处理装置,
其中,进行了所述算术编码处理的算术编码参数是用于以图片级或切片级对编码处理或解码处理进行控制的参数。
4.根据权利要求1所述的图像处理装置,
其中,进行了所述算术编码处理的所述算术编码参数是当执行所述编码处理或所述解码处理时所使用的滤波器的参数。
5.根据权利要求4所述的图像处理装置,
其中,所述滤波器的参数是自适应环路滤波器的参数,
所述自适应环路滤波器的参数一起布置在应用自适应环路滤波器的处理级的数据的开头,以及
所述接收单元从所述编码流的所述处理级的开头接收所述自适应环路滤波器的参数。
6.根据权利要求4所述的图像处理装置,
其中,所述滤波器的参数是自适应偏置滤波器的参数,
所述自适应偏置滤波器的参数一起布置在应用自适应偏置滤波器的处理级的数据的开头,以及
所述接收单元从所述编码流的所述处理级的开头接收所述自适应偏置滤波器的参数。
7.根据权利要求5或6所述的图像处理装置,其中,所述处理级是图片级或切片级。
8.根据权利要求4所述的图像处理装置,
其中,所述滤波器的参数是自适应环路滤波器的参数,
所述自适应环路滤波器的参数一起布置在应用自适应环路滤波器的处理级的报头的末端,以及
所述接收单元从所述编码流的所述处理级的报头的末端接收所述自适应环路滤波器的参数。
9.根据权利要求4所述的图像处理装置,
其中,所述滤波器的参数是自适应偏置滤波器的参数,
所述自适应偏置滤波器的参数一起布置在应用自适应偏置滤波器的处理级的报头的末端,以及
所述接收单元从所述编码流的所述处理级的报头的末端接收所述自适应偏置滤波器的参数。
10.根据权利要求8或9所述的图像处理装置,其中,所述处理级是图片级或切片级。
11.一种图像处理方法,包括:
使得图像处理装置接收编码流,其中当对算术编码处理进行初始化时所使用的初始化参数一起布置在所述编码流的语法中,其中,进行了可变长度编码处理或固定长度编码处理的编码参数一起布置在所述编码流的语法中,其中,进行了所述算术编码处理的算术编码参数布置在所述编码流的语法中的所述编码参数之后;
使得图像处理装置从所述编码流接收所述编码参数,对接收的编码参数进行解码;
使得所述图像处理装置参考所接收的所述编码流的所述初始化参数执行控制以对算术解码处理进行初始化;
使得图像处理装置使用解码后的编码参数对所述编码流进行解码;以及
使得所述图像处理装置对所接收的所述编码流执行所述算术解码处理。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011151186 | 2011-07-07 | ||
JP2011-151186 | 2011-07-07 | ||
JP2011180415 | 2011-08-22 | ||
JP2011-180415 | 2011-08-22 | ||
PCT/JP2012/066647 WO2013005659A1 (ja) | 2011-07-07 | 2012-06-29 | 画像処理装置および方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103650513A CN103650513A (zh) | 2014-03-19 |
CN103650513B true CN103650513B (zh) | 2017-10-13 |
Family
ID=47437012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280032052.6A Expired - Fee Related CN103650513B (zh) | 2011-07-07 | 2012-06-29 | 图像处理装置和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10412417B2 (zh) |
JP (1) | JP5999449B2 (zh) |
CN (1) | CN103650513B (zh) |
WO (1) | WO2013005659A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5914962B2 (ja) * | 2010-04-09 | 2016-05-11 | ソニー株式会社 | 画像処理装置および方法、プログラム、並びに、記録媒体 |
CN109309846A (zh) * | 2017-07-26 | 2019-02-05 | 深圳市中兴微电子技术有限公司 | 一种基于可信任环境的视频安全播放系统及方法 |
JPWO2022201808A1 (zh) * | 2021-03-23 | 2022-09-29 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3219403B2 (ja) * | 1989-05-10 | 2001-10-15 | キヤノン株式会社 | 画像記憶装置 |
US7068825B2 (en) * | 1999-03-08 | 2006-06-27 | Orametrix, Inc. | Scanning system and calibration method for capturing precise three-dimensional information of objects |
JP4241417B2 (ja) | 2004-02-04 | 2009-03-18 | 日本ビクター株式会社 | 算術復号化装置、および算術復号化プログラム |
KR20070006445A (ko) * | 2005-07-08 | 2007-01-11 | 삼성전자주식회사 | 하이브리드 엔트로피 부호화, 복호화 방법 및 장치 |
US7720096B2 (en) * | 2005-10-13 | 2010-05-18 | Microsoft Corporation | RTP payload format for VC-1 |
US8300265B2 (en) * | 2006-01-26 | 2012-10-30 | Brother Kogyo Kabushiki Kaisha | Data processing apparatus capable of calibrating print data to reduce ink consumption |
TWI322551B (en) * | 2006-07-28 | 2010-03-21 | Delta Electronics Inc | Fan for vehicle and its used motor |
US7443318B2 (en) * | 2007-03-30 | 2008-10-28 | Hong Kong Applied Science And Technology Research Institute Co. Ltd. | High speed context memory implementation for H.264 |
US8254455B2 (en) * | 2007-06-30 | 2012-08-28 | Microsoft Corporation | Computing collocated macroblock information for direct mode macroblocks |
US9648325B2 (en) * | 2007-06-30 | 2017-05-09 | Microsoft Technology Licensing, Llc | Video decoding implementations for a graphics processing unit |
US8265144B2 (en) * | 2007-06-30 | 2012-09-11 | Microsoft Corporation | Innovations in video decoder implementations |
JP4850806B2 (ja) * | 2007-10-01 | 2012-01-11 | キヤノン株式会社 | エントロピー符号化装置、エントロピー符号化方法およびコンピュータプログラム |
JP2009152990A (ja) | 2007-12-21 | 2009-07-09 | Panasonic Corp | 画像符号化装置及び画像復号化装置 |
TW200943270A (en) * | 2008-04-03 | 2009-10-16 | Faraday Tech Corp | Method and related circuit for color depth enhancement of displays |
ITVI20100175A1 (it) * | 2010-06-21 | 2011-12-22 | St Microelectronics Pvt Ltd | Sistema per la codifica entropica di video h.264 per applicazioni hdtv in tempo reale |
EP2533537A1 (en) * | 2011-06-10 | 2012-12-12 | Panasonic Corporation | Transmission of picture size for image or video coding |
US9866859B2 (en) * | 2011-06-14 | 2018-01-09 | Texas Instruments Incorporated | Inter-prediction candidate index coding independent of inter-prediction candidate list construction in video coding |
US10230989B2 (en) * | 2011-06-21 | 2019-03-12 | Texas Instruments Incorporated | Method and apparatus for video encoding and/or decoding to prevent start code confusion |
US20130003823A1 (en) * | 2011-07-01 | 2013-01-03 | Kiran Misra | System for initializing an arithmetic coder |
US9398307B2 (en) * | 2011-07-11 | 2016-07-19 | Sharp Kabushiki Kaisha | Video decoder for tiles |
-
2012
- 2012-06-29 CN CN201280032052.6A patent/CN103650513B/zh not_active Expired - Fee Related
- 2012-06-29 US US14/126,560 patent/US10412417B2/en not_active Expired - Fee Related
- 2012-06-29 JP JP2013522968A patent/JP5999449B2/ja not_active Expired - Fee Related
- 2012-06-29 WO PCT/JP2012/066647 patent/WO2013005659A1/ja active Application Filing
Non-Patent Citations (1)
Title |
---|
Restart of CABAC after coding of ALF and SAO slice header data;Matthias Narroschke et al.;《 Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting: Torino, JCTVC-F399》;20110701;1-6 * |
Also Published As
Publication number | Publication date |
---|---|
US10412417B2 (en) | 2019-09-10 |
CN103650513A (zh) | 2014-03-19 |
JP5999449B2 (ja) | 2016-09-28 |
JPWO2013005659A1 (ja) | 2015-02-23 |
US20140226712A1 (en) | 2014-08-14 |
WO2013005659A1 (ja) | 2013-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2701715C2 (ru) | Устройство и способ обработки изображения | |
CN103988508B (zh) | 图像处理设备和方法 | |
KR101641808B1 (ko) | 비디오 코딩에서 적응 루프 필터 및 샘플 적응 오프셋에 대한 최대 코딩 유닛 (lcu) 또는 파티션-기반 신택스 | |
TWI595776B (zh) | Image processing device and method | |
CN103636214B (zh) | 图像处理设备及图像处理方法 | |
CN108600770B (zh) | 图像处理装置和方法 | |
KR20150090172A (ko) | 비디오 코딩에 있어서 제약된 인트라 블록 경계들에 걸친 루프 필터링 | |
CN104662901B (zh) | 图像处理装置及方法 | |
CN103444173B (zh) | 图像处理设备和方法 | |
CN102714734A (zh) | 图像处理设备和方法 | |
CN104025597B (zh) | 图像处理装置和方法 | |
JP2013026724A (ja) | 画像処理装置及び画像処理方法 | |
CN103621080A (zh) | 图像处理装置和图像处理方法 | |
CN103891284A (zh) | 图像处理装置和方法 | |
JP2014207536A (ja) | 画像処理装置および方法 | |
CN103748878A (zh) | 图像处理装置和方法 | |
CN103828367A (zh) | 图像处理设备及方法 | |
CN103650513B (zh) | 图像处理装置和方法 | |
WO2013047325A1 (ja) | 画像処理装置および方法 | |
CN103891286A (zh) | 图像处理装置和方法 | |
CN103843344A (zh) | 图像处理装置和方法 | |
WO2014002900A1 (ja) | 画像処理装置および画像処理方法 | |
JP6094838B2 (ja) | 画像処理装置および方法、プログラム、並びに記録媒体 | |
JP2013074491A (ja) | 画像処理装置および方法 | |
JP6341304B2 (ja) | 画像処理装置および方法、プログラム、並びに記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171013 Termination date: 20200629 |
|
CF01 | Termination of patent right due to non-payment of annual fee |