编码器、编码方法、和程序的制作方法

文档序号:7935584阅读:205来源:国知局
专利名称:编码器、编码方法、和程序的制作方法
技术领域
本公开涉及一种编码器、编码方法、和程序,并且更特别地涉及一种允许快速预测代码量的编码器、编码方法、和程序。
背景技术
近些年,用于商用或广播用的视频编解码器包括AVC-htra编解码器(例如,参见 http://ja. wikipedia. org/wiki/AVC-Intra)。AVC-Intra 编解码器包括用于全高清的 AVC-Intra 100和用于新闻广播的AVCHntra 50。由AVCHntra编解码器所压缩的(编码的)图像通常具有如下特征-遵从H.264和MPEG-4部分10高级视频编码(H. 264/AVC);-仅通过帧内压缩构造;以及-所有压缩帧具有相同的代码量。此外,AVCHntra 100对应于10位4:22采样格式,而AVC4ntra50对应于10位 4:2:0采样格式。在使用这样的AVC^ntra编解码器的编码器中,如果在压缩帧内的净代码量没有达到定义量,则使用预定的技术将虚拟数据(dummy data)插入到这样的帧中,以保持压缩帧之间的代码量相同。由于图像质量不依赖这种虚拟数据,因此优选地最小化插入的虚拟数据量以得到更高质量的图像。为了最小化待插入的虚拟数据量,有必要通过主要关于量化值占主导的多个编码参数执行编码处理,识别在定义量之内的最优编码参数。在实时编码或者处理时间长度较重要的其他使用情况中,考虑下述两种技术用于识别编码参数(1)准备与编码参数的总数量相同数量的编码器以及并行地运行这些编码器,以根据所获得的编码结果中识别最优编码参数;以及(2)通过预定次数的编码(在多次中)识别最优编码参数。通过上述技术(1),可以获得真正最优的解作为编码参数,但是需要准备大量的编码器并导致增加的安装费用。另一方面,通过技术O),也许得不到真正最优的解,但是需要准备至少一个编码器并导致降低的安装费用。当使用上述技术O)时,需要确保确定在一个编码处理中生成的代码量(下文中称为代码量预测)的准确性。通过例如H. ^4/AVC中的CABAC(基于上下文的自适应二进制算术编码)或CAVLC (基于上下文的自适应可变长编码)的编码方案而实际生成的代码量可用作要获得的最准确的代码量。

发明内容
在上面说明的代码量预测技术中,除了用于计算代码量(位数)所需的处理之外, 需要执行写入流以进行存储、计算以确定在CABAC中的输出位等等的其他处理,这些处理是多余的并且降低了代码量预测速度。期望实现代码量的快速预测。根据本公开的实施例的编码器包括预测待编码数据的代码量的代码量预测单元。 该代码量预测单元包括转换单元,将输入语法元素转换成符号数据;和测量单元,基于在应用于符号数据的算术编码处理中对每一位执行的重归一化处理的次数,测量待编码数据的代码的预测量。代码量预测单元能够不用将EPB (emulation prevention byte,防伪字节)插入编码数据中来测量待编码数据的代码的预测量,其中该编码数据是通过应用于符号数据的算术编码处理输出的。代码量预测单元能够不用累积编码数据来测量待编码数据的代码的预测量,其中该编码数据是通过应用于符号数据的算术编码处理输出的。CABAC(基于上下文的自适应二进制算术编码)可以用于算术编码处理。CABAC 功能 EncodeDecision^EncodeBypass 禾口 EncodeTerminate 中的至少任何一个可以用于算术编码处理。根据本公开的实施例的编码方法是具有代码量预测单元的编码器的代码量预测方法,该代码量预测单元预测待编码数据的代码量。该方法包括基于在应用于从输入语法元素转换的符号数据的算术编码处理中对每一位执行的重归一化化处理的次数,测量待编码数据的代码的预测量。根据本公开的实施例的程序使计算机执行预测待编码数据的代码量的代码量预测处理。该处理包括基于在应用于从输入语法元素转换的符号数据的算术编码处理中对每一位执行的重归一化处理的次数,测量待编码数据的代码的预测量。在本公开的实施例中,输入语法元素被转换成符号数据,并且基于在应用于符号数据的算术编码处理中对每一位执行的重归一化处理的次数,测量待编码数据的代码的预测量。在本公开的实施例中,可以提高代码量预测速度。


图1是示出根据本公开的实施例的编码器的结构的方框图;图2是示出编码单元的结构的方框图;图3示出EPB (防伪字节)的插入;图4示出算术编码处理;图5是示出在典型的编码处理中的重归一化处理的流程图;图6是示出代码量预测单元的结构的方框图;图7是示出编码处理的流程图;图8是示出代码量预测处理的流程图;图9是示出代码量预测处理的流程图;图10是示出代码量预测处理的流程图;图11是示出代码量预测处理的流程图;图12是示出代码量预测处理的流程图13是示出解码器的结构的方框图;图14是示出解码处理的流程图;以及图15是示出计算机的示例性硬件结构的方框图。
具体实施例方式根据本公开的实施例,公开了一种编码器,其包括预测待编码数据的代码量的代码量预测单元,该代码量预测单元包括转换单元,将输入语法元素转换成符号数据;以及测量单元,基于在应用于符号数据的算术编码处理中对每一位执行的重归一化处理的次数,测量待编码数据的代码的预测量。根据本公开的另一实施例,公开了一种编码器的代码量预测方法,该编码器包括预测待编码数据的代码量的代码量预测单元,该方法包括基于在应用于从输入语法元素转换的符号数据的算术编码处理中对每一位执行的重归一化处理的次数,测量待编码数据的代码的预测量。现在将参考附图来描述本公开的实施例。编码器的结构图1示出根据本公开的实施例的编码器的功能结构。在图1中,编码器11是基于AVC-htra的编码器,并且根据H. 264和MPEG-4部分 10高级视频编码(H. 264/AVC)标准,以所谓的两次编码Q-pass encoding)方案执行编码。 首先,编码器11在固定的量化步骤中(第一次编码处理)对输入图像编码一次,并且基于在第一次编码中生成的例如代码量的数据而确定在真正编码处理中要生成的代码的目标量。接下来,编码器11实际上在量化步骤中对输入图像进行编码,在该量化步骤中生成代码的目标量(第二次编码处理)。编码器11包括图像分析单元31、代码量控制单元32、模式判定单元33、内预测单元34、正交变换单元35、量化单元36、逆量化单元37、逆正交变换单元38、代码量预测单元 39和编码单元40。图像分析单元31将图像的顺序输入的帧图像中的每个帧图像转换成包括亮度信号和相应的色度信号的图像数据,并且将该图像数据提供给代码量控制单元32。对于从图像分析单元31提供的每个图像数据,代码量控制单元32将如下代码量设定为代码的目标量(量化值)该代码量在预定的量化步骤中对图像数据进行编码时成为最优。代码量控制单元32还基于从代码量预测单元39提供的代码的预测量来重设代码的目标量。代码量控制单元32将已设定代码目标量的图像数据提供给模式判定单元33。模式判定单元33确定用于从代码量控制单元32提供的图像数据的宏块(MB)模式,并且将已确定MB模式的图像数据提供给内预测单元34。内预测单元34通过基于从逆正交变换单元38提供的参考图像执行内预测来生成预测图像,并且计算如此所生成的预测图像和从模式判定单元33提供的图像数据之间的差。内预测单元34将通过计算所获得的差信息(余像)提供给正交变换单元35。正交变换单元35将例如离散余弦变换或卡亨南-洛维(Karhunen-Loeve)变换的正交变换应用于从内预测单元34提供的差信息,并且将由此得到的变换系数提供给量化单元36。
量化单元36对从正交变换单元35提供的变换系数进行量化,并且将已量化的变换参数提供给逆量化单元37、代码量预测单元39和编码单元40。逆量化单元37对从量化单元36提供的量化的变换系数进行逆量化,并且将逆量化的变换系数提供给逆正交变换单元38。逆正交变换单元38将逆正交变换应用于从逆量化单元37提供的变换系数,并且将逆正交变换的结果作为参考图像提供给内预测单元34。代码量预测单元39基于量化的变换系数预测相应图像数据的代码量,该量化的变换系数是作为在二次编码方案中的第一次编码处理的结果而从量化单元36提供的。代码量预测单元39将代码的预测量提供给代码量控制单元32。编码单元40以H. 264/AVC方案对量化的变换系数进行编码,并且将如此所获得的压缩图像输出到例如在随后的级中的记录单元和/或传输线(两者都未示出),其中该量化的变换系数是作为在二次编码方案中的第二次编码处理的结果而从量化单元36提供的。 编码单元40执行基于CABAC (上下文自适应二进制算术编码)的编码。编码单元的结构现在将参考图2来描述编码器11中的编码单元40的结构。在图2中的编码单元40包括数字化单元61、上下文生成单元62、算术编码单元 63、缓冲器64和插入单元65。数字化单元61将语法元素(SE)数字化成二进制串,并且将串的每一位作为符号提供给算术编码单元63,该语法元素是作为量化的变换系数而从量化单元36提供的。上下文生成单元62将从量化单元36提供的SE的上下文索引提供给算术编码单元63,其中,具有高出现概率的符号和关于符号出现概率的表格被编入索引。算术编码单元63基于从数字化单元61提供的符号和从上下文生成单元62提供的上下文索引来执行算术编码,并且将由此得到的已确定其输出位的位流提供给缓冲器64 以进行累积。插入单元65监控在缓冲器64中累积的位流,并且以预定的定时读取所存储的位流。插入单元65将一个字节的预定数据插入到预定字节序列,使得位流被读取为遵从 H. ^4/AVC标准(NAL(网络提取层)结构)的字节流,并且将由此得到的位流输出到记录设备和/或传输线(两者都未示出)。更具体的是,在H. 264/AVC方案内,有如下规则如果从视频信号编码的RBSP(原始字节序列载荷)包括如在图3中的左侧区域内示出的预定数据序列(0x00,0x00,OxXX(XX 是00,01,02或03)),则RBSP通过以下方式被转换成EBSP (扩展字节序列载荷)在如在图 3的右侧区域内所示的0x00,0x00和OxXX之间插入以图3中的阴影示出的称作EPB (防伪字节)的一个字节的数据(0x03),以防止在H. ^4/AVC方案中定义的起始代码(0x00,0x00, 0x01)的虚假出现。以这种方式,EPB被插入到H. ^4/AVC方案中的编码视频信号的预定数据序列内。算术编码处理的描述现在将参考图4来描述由在图3中的算术编码单元63所执行的算术编码处理。在算术编码处理中,例如,如符号和二进制(0和1)序列的待编码的数据串根据其出现概率被投射到范围W,l]内,并且在数轴上的概率空间以二进制的形式通过在空间内的数字来表示和编码。
例如,如在图4中所示,基于在待编码的数据串内的单独数据的出现概率划分从 0.00...到小于1.00...的范围,并且基于单独数据来执行递归处理以选择所划分的范围, 并且对指示对应于待编码的数据串的范围的数据进行编码。为了易于说明,待编码的数据在下文中假设为二进制。首先,具体地,如图4的状态A所示,根据待编码的数据串的分别具有高出现概率 MPS(最大概率符号)的数据的出现概率pMPS和具有低出现概率LPS(最小概率符号)的数据的出现概率PLPS来划分预定的范围P。在此,当前范围的宽度(概率宽度)假设为 codIRange,并且当前范围的下限假设为codlLow。出现概率pMPS被表示为1-pLPS。以这种方式,在如图4的状态A所示的初始状态中,宽度codIRange和下限 codlLow分别具有值P和0. 00...。如果在待编码的数据串中的第一个数据是MPS,则根据如在图4中的状态A中示出的出现概率PMPS和pLPS将范围P划分为多个范围,并且从如图4的状态B中示出的范围选择对应于MPS的范围。在此,宽度codIRange和下限codlLow分别具有值Ptl ( = pMPS) 和 0. 00. · ·。接下来,如果在待编码的数据串中的第二个数据是MPS,则根据如在图4中的状态 B所示出的出现概率pMPS和pLPS将该范围划分为多个范围,并且从如图4的状态C中示出的范围选择对应于MPS的范围。在此,宽度codIRange和下限codlLow分别具有值PtlO (= P0XpMPS)和 0. 00...。然后,如果在待编码的数据串中的第三个数据是LPS,则根据如在图4的状态C中示出的出现概率PMPS和pLPS将该范围划分为多个范围,并且从如在图4的状态D中示出的范围选择对应于LPS的范围。在此,宽度codIRange和下限codlLow分别具有值PciOXpLPS 和 PtlOl (codlLow+pMPS)。这意味着,在上述编码处理中,对于LPS,通过将pMPS与下限codlLow的值相加来更新下限codlLow的值。以这种方式,在算术编码处理中,随着待编码的数据串的位长增加,宽度 codIRange减小并且表示宽度codIRange的数据位的数量增加。由于在编码处理之后输出定义的位,因此存储器的容量减小。此外,在算术编码处理中,为了保持计算的准确性,如在图4中的状态E所示,进行重归一化处理(重归一化)以使宽度codIRange大于预定值。在重归一化处理中,例如,使宽度codIRange的值加倍以变得大于预定值。图5是示出在典型编码处理中的重归一化处理的流程图。例如,在每次如上述逐位地对待编码的数据串进行编码时,如在图5中示出的重归一化处理发生。更具体的是,首先在步骤Sl中,确定宽度codIRange是否小于已预设的预定值;如果小于的话,则处理转入步骤S2,在该步骤S2中,输出对应于下限codlLow的值的最高有效位的符号。随后,在步骤S3和S4中,对宽度codIRange和下限codlLow的值应用左移运算以使这些值加倍,然后处理返回到步骤Si。重复在步骤Sl到S4中的操作直至宽度codIRange的值达到或超过预定值。另一方面,如果在步骤Sl中宽度codIRange的值等于或超过预定值,则重归一化
处理结束。
7
如上面所说明的,在重归一化处理中,逐位地确定宽度codIRange是否等于或大于预定值。代码量预测单元的结构现在将参考图6描述编码器11中的代码量预测单元39的结构。图6中的代码量预测单元39包括数字化单元81、上下文生成单元82和代码量测量单元83。数字化单元81和上下文生成单元82的功能类似于参考图2所描述的编码单元 40中的数字化单元61和上下文生成单元62的功能,因此省略对此的描述。代码量预测单元39不具有在编码单元40中所设置的缓冲器64和插入单元65。在如上述的基于从数字化单元81提供的符号和从上下文生成单元82提供的上下文索引而执行的算术编码处理中,代码量测量单元83基于每次逐位地对待编码数据串进行编码时执行的重归一化处理的次数,测量待编码数据的代码的预测量。如上面所说明的, 在算术编码处理中,由于每次输出编码数据的一位时执行重归一化处理,因此重归一化处理的次数代表编码数据的输出位的数量,即代码的预测量。代码量测量单元83不输出编码数据,而是将已测量的代码的预测量提供给代码量控制单元32。编码处理的描述现在将参考图7中的流程图描述由编码器11所执行的编码处理。如上面所说明的,编码器11以两次编码方案执行编码。在步骤Sll中,图像分析单元31将图像的顺序输入的帧图像中的每个帧图像转换成包括亮度信号和相应的色度信号的图像数据,并且将该图像数据提供给代码量控制单元 32。在步骤S12中,对于从图像分析单元31提供的每个图像数据,代码量控制单元32 将如下代码量设定为代码的目标量(量化值)该代码量在预定的量化步骤中对图像数据编码时成为最优。代码量控制单元32将已设定代码目标量的图像数据提供给模式判定单
兀33ο在步骤S13中,模式判定单元33确定用于从代码量控制单元32提供的图像数据的宏块(MB)模式,并且将已确定MB模式的图像数据提供给内预测单元34。在步骤S14中,内预测单元34通过基于从逆正交变换单元38提供的参考图像执行内预测处理来生成预测图像,并且计算在如此所生成的预测图像和从模式判定单元33 提供的图像数据之间的差。内预测单元34将通过计算所获得的差信息(余像)提供给正交变换单元35。在步骤S15中,正交变换单元35将例如离散余弦变换或卡亨南-洛维变换的正交变换应用于从内预测单元34提供的差信息,并且将其变换系数提供给量化单元36。在步骤S16中,量化单元36对从正交变换单元35提供的变换系数进行量化,并且将已量化的变换系数提供给逆量化单元37、代码量预测单元39和编码单元40。在步骤S17中,逆量化单元37对从量化单元36提供的量化的变换系数进行逆量化,并且将逆量化的变换系数提供给逆正交变换单元38。在步骤S18中,逆正交变换单元38将逆正交变换应用于从逆量化单元37提供的变换系数,并且将逆正交变换的结果作为参考图像提供给内预测单元34。
上面所说明的处理步骤对应于在两次编码方案中的第一次编码处理。在步骤S18中,代码量预测单元39执行代码量预测处理,其中基于已量化的变换系数预测相应图像数据的代码量,该量化的变换系数是作为在二次编码方案中的第一次编码处理的结果而从量化单元36提供的。更具体的是,代码量预测单元39执行代码量预测处理,其中基于在基于CABAC的编码处理(算术编码处理)中的重归一化处理的次数来测量待编码数据的代码的预测量。基于CABAC的编码处理根据所提供的SE (语法元素)的类型被归为三类编码处理。更具体的是,在基于CABAC的编码处理中,执行处理EncodeDecision、EncodeBypass和 EncodeTerminate 中的任何一个。当SE例如是变换系数的正号或负号时执行EncodeBypass,而当SE例如指示片段(slice)的结束时执行EncodeTerminate。当SE是除了上述所说明的那样时执行 EncodeDecision0在通过代码量预测单元39执行的代码量预测处理中,取决于SE的类型执行对应于三类编码处理之一的代码量预测处理。代码量预测处理1首先,将参考图8中的流程图描述对应于EncodeDecision的代码量预测处理。当代码量测量单元83从数字化单元81接收符号(输入符号)的符号值binVal以及从上下文生成单元82接收上下文索引ctxldx时,开始图8中的代码量预测处理。在步骤S41中,代码量测量单元83将概率宽度codIRange的值向右移动六位, 取其低两位被排除的值作为qCodlRangeIdx,通过使用在H. 264/AVC中定义的表格值 rangeTabLPS确定LPS的概率宽度codlRangeLPS,并且将概率宽度codIRange改变为MPS 的概率宽度。在步骤S42中,代码量测量单元83确定输入符号的符号值binVal是否不等于指示MPS值的valMPS。如果确定符号值binVal等于valMPS,即当输入符号bin是MPS时,处理转入步骤S43,其中代码量测量单元83通过根据定义的表格值transIdxMPS引起状态转变来更新pStateldx。pStateldx的较大值对应于MPS的较高出现概率,pMateldx是具有 MPS的出现概率的表格的表格编号。另一方面,如果在步骤S42中确定符号值binVal不等于valMPS,即当输入符号 bin是LPS时,处理转入步骤S44。在步骤S44中,代码量测量单元83将LPS的概率宽度codlRangeLPS代入概率宽度codIRange,并且通过根据定义的表格值transIdxLPS引起状态转变来更新pStateldx。在步骤S43或S44之后,处理转入步骤S45,其中代码量测量单元83执行重归一化处理(RenormE)。现在将参考图9来描述重归一化处理(RenormE)。在步骤S51中,代码量测量单元83确定概率宽度codIRange是否小于已预设的预定值056);如果小于预定值,则处理转入步骤S52。在步骤S52中,代码量测量单元83将变量bitcount递增1,并将概率宽度 codIRange的值向左移动一位,该变量bitcount对在算术编码处理中输出的待编码数据的代码量进行计数。然后,处理返回到步骤S51。因此,重复处理步骤S51和S52直至在步骤S51中确定概率宽度codIRange被确定为等于或大于已预设的预定值。当在步骤S51中确定概率宽度COdIRange不小于已预设的预定值时,处理返回到图8的流程图中的步骤S45,并且然后返回到图7的流程图中的步骤S19。代码量预测处理2接下来,将参考图10中的流程图来描述对应于EncodeBypass的代码量预测处理。 EncodeBypass被定义为包括所谓的重归一化处理的处理。在步骤S61中,代码量测量单元83将变量bitcount递增1,该变量bitcount对在算术编码处理中输出的待编码数据的代码量进行计数。然后,处理返回到图7的流程图中的步骤S19。代码量预测处理3现在将参考图11中的流程图描述对应于EncodeTerminate的代码量预测处理。在步骤S71中,代码量测量单元83通过将概率宽度codIRange的值减2来更新概率宽度codIRange的值。在步骤S72中,代码量测量单元83确定输入符号的符号值binVal是否为O。如果符号值binVal确定为不是0,即当其是1时,处理转入到步骤S73,在该步骤中执行 EncodeFlush0现在将参考图12来描述EncodeFlush。EncodeFlush被定义为包括所谓的重归一化处理的处理。在步骤S81中,代码量测量单元83将变量bitcount增加10,该变量bitcount对在算术编码处理中输出的待编码数据的代码量进行计数。然后,处理返回到图11的流程图中的步骤S73。另一方面,如果在步骤S72中确定输入符号值binVal为0,则处理转入步骤S74, 在该步骤中代码量测量单元83执行上述重归一化处理(RenormE)。在步骤S73或S74之后,处理返回到图7的流程图中的步骤S19。以这种方式,在代码量预测处理中,在每次在算术编码处理中逐位地执行编码处理时所执行的重归一化处理的次数被计数作为变量bitcount,中,而不是如在实际的算术编码处理中那样输出编码数据(位流)。更具体的是,变量bitcount被测量作为在两次编码方案中的第一次编码处理已得到的待编码数据的代码量,并且其值作为代码的预测量被提供给代码量控制单元32。然后,处理转入步骤S20。在步骤S20中,代码量控制单元32确定从代码量预测单元39提供的代码的预测量和已设定的代码的目标量之间的差是否大于预定量。如果在步骤S20中确定代码的预测量和代码的目标量之间的差大于预定量,则处理转入步骤S21,在该步骤中代码量控制单元32将从代码量预测单元39提供的代码的预测量重设为代码的目标量。代码量控制单元32将已重设了代码的目标量的图像数据经由模式判定单元33提供给内预测单元34。这里,模式判定单元33不确定MB模式。接着,执行两次编码方案中的第二次编码处理。更具体的是,在步骤S22到SM中, 计算与预测图像的差,应用正交变换,并且量化变换系数。在步骤S25中,编码单元40将上述基于CABAC的算术编码处理应用于量化的变换系数,该量化的变换系数是作为在两次编码方案中的第二次编码处理的结果而从量化单元36提供的,并且将由此得到的压缩图像输出到例如在随后的级中的记录设备和/或传输线 (两者都未示出)。另一方面,如果在步骤S20中确定与代码的目标量的差不大于预定量,则跳过步骤S21到S24,并且在步骤S25中,编码单元40将上述基于CABAC的算术编码处理应用于量化的变换系数,该量化的变换系数是作为在两次编码方案中的第一次编码处理的结果而从量化单元36提供的。通过上述处理步骤,在代码量预测处理中,可以测量在以基于CABAC的编码方案的实际编码中所生成的代码量,而实际不输出编码数据(位流),其中该测量具有近似等于在实际编码中生成的代码量的准确性。由于实际没有输出位流,因此可以在无需写入流以进行存储、执行用于确定在CABAC中的输出位的计算、或插入EPB的情况下来测量代码的预测量,并且由此实现代码量的快速预测。在上述描述中,根据本公开的实施例的代码量预测处理应用于编码处理,其中多次执行编码以识别最优编码参数(代码的目标量)。替选地,如果准备对应于编码参数的总数量的多个编码器,并且将其用于并行地执行的编码处理,则不写入流以进行存储,因此, 例如设置在编码单元40中的缓冲器在代码量预测单元中不是必需的,并且可以降低安装费用。解码器的示例性结构图13示出解码器的示例性结构,该解码器对由上述编码器11所编码的数据进行解码。通过编码器11所编码的数据通过预定的传输线等被传输到解码器111并被解码。图13中示出的解码器111包括解码单元131、逆量化单元132、逆正交变换单元 133、计算单元134、去块滤波器135和图像输出单元136。解码单元131累积进入的编码数据,以预定的定时、以与图1中的编码单元40的编码方案对应的方案对数据解码,并且将如此所获得的量化的变换系数作为语法元素(SE) 提供给逆量化单元132。逆量化单元132以与图1中的量化单元36的量化方案对应的方案对从解码单元 131提供的量化的变换系数进行逆量化,并且将逆量化的变换系数提供给逆正交变换单元 133。逆正交变换单元133以与图1中的正交变换单元35的正交变换方案对应的方案, 将逆正交变换应用于从逆量化单元132提供的变换系数,以获得与编码器11中没有进行正交变换的差信息对应的解码差信息(余像),并且将所获得的差信息提供给计算单元134。在逆正交变换之后所获得的解码的差信息被提供给计算单元134。预测图像也从内预测单元137提供给计算单元134。计算单元134将从逆正交变换单元133提供的解码的差信息与从内预测单元137 提供的预测图像相加,以获得与编码器11中的内预测单元34尚未从其减去预测图像的图像数据对应的解码的图像数据。计算单元134将解码的图像数据提供给去块滤波器135。去块滤波器135消除在从计算单元134提供的解码的图像数据中的块化假象,并且将由此得到的图像数据提供给图像输出单元136。图像输出单元136将数模转换应用于从去块滤波器135提供的解码的图像数据,并且将由此得到的图像数据输出到显示其图像的显示器(没有示出)。来自去块滤波器135的输出还被提供到内预测单元137。内预测单元137根据从去块滤波器135提供的解码的图像数据生成预测图像,并且将如此生成的预测图像提供给计算单元134。解码处理现在将参考图14来描述由在图13中的解码器111执行的解码处理。当解码处理开始时,解码单元131在步骤Slll中以预定定时对已接收和累积的编码数据进行解码,并且将作为解码结果所获得的量化的变换系数提供给逆量化单元132。在步骤S112中,逆量化单元132以与通过图1中的量化单元36执行的量化处理对应的方案,对解码单元131所解码的量化的变换系数进行逆量化。在步骤S113中,逆正交变换单元133以与图1中的正交变换单元35执行的正交变换处理对应的方案,将逆正交变换应用于逆量化单元132逆量化后的变换系数。通过这样,对与到图1中的正交变换单元35的输入(从内预测单元34输出)对应的差信息(余像)进行解码。在步骤S114中,内预测单元137根据从去块滤波器135提供的解码的图像数据生成预测图像,并且将如此生成的预测图像提供给计算单元134。在步骤S115中,计算单元134将从内预测单元137提供的预测图像与从逆正交变换单元133提供的差信息(余像)相加。通过这样,执行解码以获得原始图像数据。在步骤S116中,去块滤波器135适当地对从在步骤S115的处理所获得的图像数据(解码的图像数据)进行滤波。通过这样,适当地从解码的图像数据中消除块化假象。在步骤S117中,图像输出单元136将数模转换应用于解码的图像数据。该解码的图像数据被输出到显示其图像的显示器(没有示出)。以这种方式,对由编码器11所编码的数据进行解码。上述编码处理可通过硬件或软件来执行。当处理步骤的序列通过软件来执行时, 形成部分软件的程序从程序记录介质安装到并入在专用硬件中的计算机或通用个人计算机,该通用个人计算机例如一旦安装多种程序能够执行多种功能。图15是示出计算机的示例性硬件结构的方框图,其中程序使得该计算机执行上述处理步骤的序列。在该计算机中,CPU (中央处理单元)901、ROM (只读存储器)902和RAM(随机存取存储器)903通过总线904互相连接。输入/输出接口 905也连接到总线904。连接到输入/输出接口 905的是包括键盘、鼠标和麦克风的输入单元906,包括显示器和扬声器的输出单元907,包括硬盘和非易失存储器的存储单元908,包括网络接口的通信单元909和用于驱动例如磁盘、光盘、磁光盘、半导体存储器等的可拆卸介质911的驱动器910。在如此构成的计算机中,CPU 901将存储在存储单元908内的程序经由输入/输出接口 905和总线904加载到例如RAM 903,以执行上述处理步骤的序列。计算机(CPU 901)所执行的程序以可拆卸介质911的形式或经由例如局域网、互联网或数字卫星广播的有线或无线传输介质来提供,该可拆卸介质是包括磁盘(包括软磁盘)、光盘(⑶_R0M(光盘-只读存储器)、DVD(数字通用盘)等)、磁光盘或半导体储存器等的封装介质。一旦可拆卸介质911安装在驱动器910内,程序就能够经由输入/输出接口 905 被安装到存储单元908内。程序也可以通过通信单元909经由有线或无线传输介质来接收并且被安装到存储单元908内。此外,程序可以预装在ROM 902或存储单元908内。计算机所执行的程序可以是用于按本说明书中描述的时间序列执行处理步骤的程序,或者是用于并行地或在必要时(例如被调用时)执行处理步骤的程序。本公开的实施例不限于上述实施例,而是可在不偏离本公开的精神和范围的情况下进行多种修改。本公开包含与2010年10月15日向日本专利局提交的日本优先权专利申请JP 2010-232559中公开的主题相关的主题,其全部内容通过引用结合于此。
权利要求
1.一种编码器,包括预测待编码数据的代码量的代码量预测单元,所述代码量预测单元包括转换单元,将输入语法元素转换成符号数据;以及测量单元,基于在应用于所述符号数据的算术编码处理中对每一位执行的重归一化处理的次数,测量所述待编码数据的代码的预测量。
2.根据权利要求1所述的编码器,其中,所述代码量预测单元测量通过应用于所述符号数据的所述算术编码处理输出的所述待编码数据的代码的预测量,而不用将防伪字节插入到编码数据内。
3.根据权利要求2所述的编码器,其中,所述代码量预测单元测量通过应用于所述符号数据的所述算术编码处理输出的所述待编码数据的代码的预测量,而不用累积所述编码数据。
4.根据权利要求1所述的编码器,其中,算术编码是基于上下文的自适应二进制算术编码。
5.根据权利要求4所述的编码器,其中,所述算术编码是基于上下文的自适应二进制算术编石马的 EncodeDecision> EncodeBypass 或 EncodeTerminate 中白勺至少一个。
6.一种编码器的代码量预测方法,所述编码器包括预测待编码数据的代码量的代码量预测单元,所述方法包括基于在应用于从输入语法元素转换的符号数据的算术编码处理中对每一位执行的重归一化处理的次数,测量所述待编码数据的代码的预测量。
7.一种使计算机执行预测待编码数据的代码量的代码量预测处理的程序,所述处理包括基于在应用于从输入语法元素转换的符号数据的算术编码处理中对每一位执行的重归一化处理的次数,测量所述待编码数据的代码的预测量。
全文摘要
本发明公开了一种编码器、编码方法和程序,该编码器包括预测待编码数据的代码量的代码量预测单元,代码量预测单元包括转换单元,将输入语法元素转换成符号数据;以及测量单元,基于在应用于符号数据的算术编码处理中对每一位执行的重归一化处理的次数,测量待编码数据的代码的预测量。
文档编号H04N7/32GK102457729SQ20111030688
公开日2012年5月16日 申请日期2011年10月8日 优先权日2010年10月15日
发明者鹤大辅 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1