CN103313048B - 自适应控制算术编码上下文编码模式bin数量的方法 - Google Patents
自适应控制算术编码上下文编码模式bin数量的方法 Download PDFInfo
- Publication number
- CN103313048B CN103313048B CN201210067197.1A CN201210067197A CN103313048B CN 103313048 B CN103313048 B CN 103313048B CN 201210067197 A CN201210067197 A CN 201210067197A CN 103313048 B CN103313048 B CN 103313048B
- Authority
- CN
- China
- Prior art keywords
- control
- coding
- burst
- upper limit
- numerical value
- 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.)
- Active
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供了一种自适应控制算术编码上下文编码模式BIN数量的方法、自适应控制算术编码上下文编码模式BIN数量对应的解码方法、编码器和解码器,其中,自适应控制算术编码上下文编码模式BIN数量的方法包括:获知编码器在单位时间内或每帧内产生的BIN数量的上限;根据上限获得每个分片的控制标志和控制参数的数值;根据当前分片的控制标志和控制参数的数值控制当前分片中表示残差编码的每个语法元素采用上下文编码模式或者旁路组合编码模式进行编码。本发明通过改进分层控制机制,克服了分层控制机制的控制粒度大的缺陷,进而使得BIN的数量不超过但尽量接近于上限。
Description
技术领域
本发明涉及视频压缩编码技术,尤其涉及一种自适应控制算术编码上下文编码模式二进制表示(BIN)数量的方法、自适应控制算术编码上下文编码模式BIN数量对应的解码方法、编码器和解码器。
背景技术
单位时间内,或每帧内算术编码上下文编码模式(context coded)二进制(BIN)表示数量可能随着图像分辨率、帧率及量化参数的变化而快速增长。在解码过程中前后BIN之间存在着依赖关系,只能串行处理。因此,当BIN数量增长到一定程度就会导致BIN的解析成为实时解码的瓶颈问题。为了确保实时解码,就有必要控制住单位时间内,或每帧内BIN的数量不超过一定的上限(bin_rate_threshold)。
目前在分片层的控制参数可以设置成分层控制,就是将残差编码模块的语法元素分成几个层次,在每个分片中通过增加或者减少采取上下文编码模式(context coded)的语法元素的层次来控制BIN的数量。
上述分层控制机制通过实践发现具有以下缺陷:控制的粒度太大,不利于达到最佳的设计目标即BIN的数量不超过,但尽量接近于一定的上限(bin_rate_threshold)。
发明内容
本发明实施例提供了一种自适应控制算术编码上下文编码模式二进制表示(BIN)数量的方法、自适应控制算术编码上下文编码模式BIN数量对应的解码方法、编码器和解码器,用以克服现有分层控制机制的控制粒度大的缺陷。
本发明实施例提供了一种自适应控制算术编码上下文编码模式二进制表示(BIN)数量的方法,该方法包括:
获知编码器在单位时间内或每帧内产生的BIN数量的上限;
根据所述上限获得每个分片的控制标志和控制参数的数值;
根据当前分片的所述控制标志和所述控制参数的数值控制当前分片中表示残差编码的每个语法元素采用上下文编码模式或者采用旁路组合编码模式进行编码。
优选地,所述获知编码器在单位时间内或每帧内产生的BIN数量的上限之前,所述方法还包括:
确定序列参数集(SPS)中新增加的自适应控制标志设置为预定值。
优选地,所述上限保存在所述SPS中新增的编码参数中。
优选地,所述每个分片的控制标志和控制参数的数值均包含在对应的分片的头信息中。
优选地,所述获知编码器在单位时间内或每帧内产生的BIN数量的上限包括:
获知编码器在单位时间内或每帧内所有语法元素产生的BIN数量的上限;或者获知编码器在单位时间内或每帧内残差编码的全部或部分语法元素产生的BIN数量的上限;
其中,所述上限参照与所述编码器对应的解码器的实时解码能力,或者所述编码器与所述解码器协商的结果,或者视频标准建议的参考数值来设定。
优选地,所述根据所述上限获得每个分片的控制标志和控制参数的数值包括:
根据所述上限自适应地将每个分片的控制标志设置为预定值,以及自适应选择每个分片的控制参数的数值,使得当前单位时间内当前帧内所产生的BIN数量最接近但不超过所述上限;或者
所述根据当前分片的所述控制标志和所述控制参数的数值控制当前分片中表示残差编码的每个语法元素采用上下文编码模式或者采用旁路组合编码模式进行编码,包括:
当所述当前分片的所述控制标志为预定值,且若所述当前分片的最大编码单元的序号不小于所述控制参数的数值,则采用所述旁路组合编码模式进行编码,若所述当前分片的最大编码单元的序号小于所述控制参数的数值,则采用所述上下文编码模式进行编码。
优选地,所述控制参数为以最大编码单元描述的启动旁路组合编码模式进行编码的位置信息。
本发明实施例还提供了一种自适应控制算术编码上下文编码模式二进制表示(BIN)数量对应的解码方法,该方法包括:
获得每个分片的控制标志和控制参数的数值;
根据当前分片的控制标志和控制参数的数值,确定当前分片中表示残差编码的每个语法元素采用上下文编码模式对应的解码方式或者采用旁路组合编码模式对应的解码模式进行解码。
优选地,所述获得每个分片的控制标志和控制参数的数值之前,所述方法还包括:
从码流中解析得到序列参数集(SPS)中新增加的自适应控制标志,并确定所述自适应控制标志为预定值。
优选地,所述每个分片的控制标志和控制参数的数值均包含在对应的分片的头信息中。
本发明实施例又提供了一种编码器,该编码器包括:
序列参数模块,用于获知编码器在单位时间内或每帧内产生的BIN数量的上限;
分片处理模块,用于根据所述上限获得每个分片的控制标志和控制参数的数值;
残差编码模块,用于根据当前分片的所述控制标志和所述控制参数的数值控制当前分片中表示残差编码的每个语法元素采用上下文编码模式或者采用旁路组合编码模式进行编码。
优选地,所述编码器还包括:调用模块,用于判断序列参数集(SPS)中新增加的自适应控制标志是否设置为预定值;若是,则调用所述序列参数模块。
优选地,所述上限保存在所述SPS中新增的编码参数中。
优选地,所述每个分片的控制标志和控制参数的数值均包含在对应的分片的头信息中。
优选地,所述分片处理模块,具体用于:根据所述上限自适应地将每个分片的控制标志设置为预定值,以及自适应选择每个分片的控制参数的数值,使得当前单位时间内当前帧内所产生的BIN数量最接近但不超过所述上限;或者,所述残差编码模块,具体用于:当所述当前分片的所述控制标志为预定值,且若所述当前分片的最大编码单元的序号不小于所述控制参数的数值,则采用所述旁路组合编码模式进行编码,若所述当前分片的最大编码单元的序号小于所述控制参数的数值,则采用所述上下文编码模式进行编码。
优选地,所述控制参数为以最大编码单元描述的启动旁路组合编码模式进行编码的位置信息。
本发明实施例又提供了一种解码器,该解码器包括:
分片处理模块,用于获得每个分片的控制标志和控制参数的数值;
残差解码模块,用于根据当前分片的控制标志和控制参数的数值,确定当前分片中表示残差编码的每个语法元素采用上下文编码模式对应的解码方式或者采用旁路组合编码模式对应的解码模式进行解码。
优选地,所述解码器还包括:调用模块,用于从码流中解析获得序列参数集(SPS)中新增加的自适应控制标志,判断所述自适应控制标志是否设置为预定值,若是,则调用所述分片处理模块。
优选地,所述每个分片的控制标志和控制参数的数值均包含在对应的分片的头信息中。
本发明实施例通过改进分层控制机制,将分层控制参数改变为以最大编码单元(LCU)描述的启动旁路组合编码模式(bypass group-HTB)进行编码的位置信息(htb_start_pos_in_lcu),从而克服了分层控制机制的控制粒度大的缺陷,进而使得BIN的数量不超过但尽量接近于上限。
附图说明
图1为本发明实施例自适应控制算术编码上下文编码模式BIN数量的流程图;
图2为本发明实施例自适应控制算术编码上下文编码模式BIN数量对应的解码流程图;
图3为本发明编码器实施例的结构示意图;
图4为本发明解码器实施例的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
根据统计结果表明,在BIN数量很高的情况下,绝大部分的BIN来自于表示残差编码的语法元素。
以正在制定中的高效视频编码(HEVC)为例,sig_bin(残差系数是否为非0值标志所产生的BIN),gt1_bin(残差系数的幅度是否大于1标志所产生的BIN),gt2_bin(残差系数的幅度是否大于2标志所产生的BIN)以及x+y_bin(按扫描顺序的最后一个非0残差系数的x,y坐标标志所产生的BIN)均为表示残差的语法元素所产生的BIN。它们占据了all_bin(编码器所产生的全部BIN)中最大的比例,msc_bin(残差之外的所有语法元素所产生的BIN)所占的比例或绝对数量都很小,不会构成实时解码的瓶颈。
按像素为单位的BIN数量统计结果如表1,数据源自JCTVC-G569提案。
表1算术编码BIN数量统计表
以上统计结果表明,只要有效控制表示残差编码的语法元素所产生的BIN数量就可以消除实时解码的瓶颈问题。
为此,本发明实施例中提供了一种自适应控制算术编码二进制(BIN)数量的方法,该方法包括:
步骤11、获知编码器在单位时间内或每帧内产生的BIN数量的上限;
其中,在步骤11之前还可以包括:在序列参数集(SPS)中可以增加一个自适应控制标志(bin_rate_control_flag),如果所述自适应控制标志设置为预定值,表示将启动执行步骤11;否则,表示编码器不启动执行步骤11,即不启动逐分片自适应控制BIN数量的过程。
本步骤可以在SPS中增加一个编码参数,用来表示在单位时间内,或每帧内产生的BIN数量的上限(bin_rate_threshold),此参数作为编码器内部参数,可以不传递给解码器。
优选地,所述上限(bin_rate_threshold)可以被定义为单位时间内,或每帧内残差编码模块所产生的BIN数量的上限;具体地,该步骤可以包括:获知编码器在单位时间内或每帧内所有语法元素产生的BIN数量的上限;或者获知编码器在单位时间内或每帧内残差部分的全部或部分语法元素产生的BIN数量的上限;
步骤12、根据所述上限(bin_rate_threshold),获得每个分片的控制标志和控制参数的数值;
其中,每个分片的控制标志以及控制参数的数值均包含在对应的分片头信息(slice header)中,需要被传递给解码器。
优选地,所述每个分片的控制标志(htb_present_flag),用于表示当前分片中是否需要将部分或全部表示残差编码的语法元素从采用上下文编码模式(context coded-HEB),转换为采取旁路组合编码模式(bypass group-HTB)进行编码。如果htb_present_flag被设置为预定值,表示当前分片中包含上述转换过程;否则,表示全部表示残差编码的语法元素将采用上下文编码模式(context coded-HEB),不需要采用旁路组合编码模式(bypass group-HTB)进行编码。
其中,HTB是High Throughput Binarization的英文缩写,表示高吞吐率的二值化过程;HEB是High Efficiency Binarization的英文缩写,表示高压缩效率的二值化过程。通过将HEB转化为HTB可以在牺牲一定压缩效率的情况,有效地减少所述BIN的数量,提高熵解码的吞吐率以满足实时解码的要求。
优选地,所述每个分片的控制参数(htb_start_pos_in_lcu),用于表示当前分片中需要启动将HEB转换为HTB操作的起始位置;较佳地,所述位置可以用最大编码单元(LCU)的序号来表示。如果当前最大编码单元序号(pos_in_lcu)小于所述控制参数(htb_start_pos_in_lcu),表示当前最大编码单元内采用上下文编码模式(context coded-HEB)进行编码;否则,在当前最大编码单元内需要将HEB转换为HTB。
步骤13、根据当前分片的所述控制标志和所述控制参数的数值控制当前分片中表示残差编码的每个语法元素采用上下文编码模式或者采用旁路组合编码模式进行编码。
优选地,判决的条件bypass(pos_in_lcu)包含以下逻辑过程:
输入序列参数集(SPS)中新增加的控制标志(bin_rate_control_flag);输入当前分片的控制标志(htb_present_flag);输入当前分片的控制参数(htb_start_pos_in_lcu);输入当前最大编码单元的序号(pos_in_lcu)。
如果bin_rate_control_flag、htb_present_flag均被设置为预定值并且pos_in_lcu不小于htb_start_pos_in_lcu,则在当前最大编码单元(LCU)内采用旁路组合编码模式(bypass group-HTB)进行编码;否则,在当前最大编码单元(LCU)内采用上下文编码模式(context coded-HEB)进行编码。
算术编码采用上下文编码模式(context coded-HEB)进行编码,是因为充分利用了上下文模型的相关性、前后符号之间的相关性,因而压缩效率比较高,其缺点是必须串行处理。
算术编码的旁路组合编码模式(bypass group-HTB)通常用于等概率出现的符号编码,它不更新算术编码的状态变量,可以并行操作;
旁路组合编码模式(bypass group-HTB)和上下文编码模式(context coded-HEB)可以使用相同或者不同的二值化过程。所述二值化过程是指将语法元素用二进制数值表示的过程。旁路组合编码模式(bypass group-HTB)压缩效率比较低但利于并行操作,是有别于上下文编码模式(context coded-HEB)的一种更简单的编码模式。
优选地,bin_rate_control_flag、htb_present_flag的取值可以是分片自适应的,这意味着表示残差编码的语法元素熵编码模式也是分片自适应的。它们可以自适应地选择上下文编码模式(context coded-HEB),或者旁路组合编码模式(bypass group-HTB)。
在保证单位时间内,或每帧内产生的BIN数量不超过所设定的上限bin_rate_threshold的条件下,htb_start_pos_in_lcu的取值应该尽量使得表示残差编码的语法元素按上下文编码模式(context coded-HEB)进行编码。
所述bin_rate_threshold的具体数值应该参照目标解码器的标明的实时解码能力,或者编码器与目标解码器协商的结果,或者视频标准建议的典型应用配置、参考数值来设定。
所述自适应控制算术编码BIN数量的方法,根据bin_rate_threshold获得每个分片的htb_present_flag、htb_start_pos_in_lcu,根据htb_start_pos_in_lcu控制表示残差编码的语法元素选择上下文编码模式(context coded-HEB),或者旁路组合编码模式(bypass group-HTB)进行编码。所述自适应控制机制可以有效地控制表示残差编码的语法元素所产生的BIN数量不超过所设定的上限bin_rate_threshold,进而解决现有分层控制机制的控制粒度大的问题。
与上述自适应控制算术编码上下文编码模式BIN数量的方法相对应的,本发明实施例中还提供了一种解码方法,该方法包括:
步骤21、获得每个分片的控制标志和控制参数的数值;
在步骤21之前,从码流中解析得到序列参数集(SPS)中新增的自适应控制标志;通过判断序列参数集(SPS)中新增的自适应控制标志是否设置为预定值,来确定是否开始执行步骤21,若是预定值,则执行此步骤,否则,不执行;
步骤21从码流中解析得到每个分片的控制标志以及控制参数的数值;所述每个分片的控制标志以及控制参数包含在对应的分片的头信息中。
步骤22、根据当前分片的控制标志和控制参数的数值,确定当前分片中表示残差编码的每个语法元素将采取的解码方式,即确定表示残差的每个语法元素将采用HEB对应的方法进行解码,还是采取HTB对应的方法进行解码。
与前述步骤13一致地,判决的条件bypass(pos_in_lcu)包含以下逻辑过程:
输入序列参数集(SPS)中新增加的控制标志(bin_rate_control_flag);输入当前分片的控制标志(htb_present_flag);输入当前分片的控制参数(htb_start_pos_in_lcu);输入当前最大编码单元的序号(pos_in_lcu)。
如果bin_rate_control_flag、htb_present_flag均被设置为预定值并且pos_in_lcu不小于htb_start_pos_in_lcu,则在当前最大编码单元(LCU)内采用旁路组合编码模式(bypass group-HTB)对应的方式进行解码;否则,在当前最大编码单元(LCU)内采用上下文编码模式(context coded-HEB)对应的方式进行解码。
解码的过程与前述实施例中编码过程相对应,此处不再详述。
上述自适应控制算术编码上下文编码模式BIN数量对应的解码方法,根据htb_present_flag、htb_start_pos_in_lcu控制表示残差编码的语法元素采用上下文编码模式(context coded-HEB),或者旁路组合编码模式(bypass group-HTB)对应的方式进行解码,可以有效地解决现有分层控制机制的控制粒度大的问题。
实施例一
该实施例以自适应控制算术编码BIN数量的过程为例进行描述,控制过程包括:
步骤101、通过控制标志bin_rate_control_flag确定是否启动自适应控制算术编码BIN数量的方法;
在SPS中定义的控制标志bin_rate_control_flag,指示当前序列的编码是否需要启动本发明所述的分片自适应控制算术编码BIN数量的方法;如果标志设置为预定值,表示编码器将启动分片自适应控制算术编码BIN数量的方法;否则,表示不启动上述方法。
步骤102、获知单位时间内或每帧内BIN数量的上限bin_rate_threshold;
在SPS中定义的编码参数,指示如果步骤101设置为启动本发明所述的方法,编码器在单位时间内或每帧内产生的BIN数量的上限。较佳地,可以将bin_rate_threshold定义为每帧内残差编码模块所产生的BIN数量上限。
bin_rate_threshold的取值应该参照目标解码器标明的实时解码能力,或者编码器与目标解码器协商的结果,或者视频标准建议的典型应用配置、参考数值来设定。作为编码器的内部参数,bin_rate_threshold可以不传递给解码器。
步骤103、根据bin_rate_threshold获得每个分片的htb_present_flag和htb_start_pos_in_lcu;
htb_present_flag是在slice header(分片头信息)中定义的控制标志;htb_start_pos_in_lcu是在slice header(分片头信息)中定义的控制参数。如果101设置为启动本发明所述的方法,通过设置不同的htb_present_flag和htb_start_pos_in_lcu数值,可以控制当前分片中表示残差编码的语法元素所产生BIN的数量。
例如,根据正在制定中HEVC标准中表示残差的语法元素包含x+y(按扫描顺序的最后一个非0残差系数的x,y坐标)、gt2(残差系数的幅度是否大于2标志)、gt1(残差系数的幅度是否大于1标志)、sig(残差系数是否为非0值标志)。它们通常情况下按上下文编码模式(context coded-HEB)进行编码。
如果htb_present_flag设置被预定值,htb_start_pos_in_lcu可以指示将当前分片中的部分或者全部表示残差编码的语法元素按旁路组合编码模式(bypass group-HTB)进行编码。
htb_present_flag和htb_start_pos_in_lcu的取值可以是分片自适应的。在保证单位时间内或每帧内产生的BIN数量不超过所设定的上限bin_rate_threshold条件下,尽可能地按上下文编码模式(context coded-HEB)处理,其目的是提高压缩效率。
步骤104、获得表示残差编码的语法元素x+y,gt2,gt1,sig;
在残差编码模块(CoeffNxN)中定义的用来表示残差的语法元素。它们的具体含义为:x+y指按扫描顺序的最后一个非0残差系数的x,y坐标;gt2指残差系数的幅度是否大于2标志;gt1为残差系数的幅度是否大于1标志;sig为残差系数是否为非0值标志。
表1统计结果表明,所述x+y、gt2、gt1、sig语法元素编码产生的BIN的数量随着图像分辨率、帧率及量化参数的变化而快速增长,由此造成了所述BIN的解析成为实时解码的瓶颈问题。
基于所述统计结果,只要控制x+y、gt2、gt1、sig所产生的BIN的数量,就可有效地控制整个编码器产生的BIN的数量。
步骤105、判决x+y、gt2、gt1、sig采用上下文编码模式(context coded-HEB),还是采取旁路组合编码模式(bypass group-HTB)进行编码;
判决的逻辑过程包含:
输入序列参数集(SPS)中新增加的控制标志(bin_rate_control_flag);输入当前分片的控制标志(htb_present_flag);输入当前分片的控制参数(htb_start_pos_in_lcu);输入当前最大编码单元的序号(pos_in_lcu);
如果bin_rate_control_flag、htb_present_flag均被设置为预定值并且pos_in_lcu不小于htb_start_pos_in_lcu,则执行步骤106,即在当前最大编码单元(LCU)内采用旁路组合编码模式(bypass group-HTB)进行编码;否则,执行步骤107,即在当前最大编码单元(LCU)内采用上下文编码模式(context coded-HEB)进行编码;
步骤106、上下文编码模式(context coded-HEB)编码;转向步骤103;
在残差编码模块(CoeffNxN)中的功能模块,上下文编码模式(context coded-HEB)充分利用了上下文模型的相关性、前后符号之间的相关性,是压缩效率比较高的算术编码方式。
上下文编码模式(context coded-HEB)算术编码BIN具有必须串行处理的特性,如果BIN的数量增长到一定程度就会导致BIN的解析成为实时解码的瓶颈问题。为了确保实时解码,就有必要控制住单位时间内,或者每帧内BIN的数量不超过一定的上限bin_rate_threshold。
步骤107、旁路组合编码模式(bypass group-HTB)编码;转向步骤103。
在残差编码模块(CoeffNxN)中的功能模块,旁路组合编码模式(bypass group-HTB)通常用于等概率出现的符号编码,它不更新算术编码的状态变量,可以并行操作。旁路组合编码模式(bypass group-HTB)压缩效率比较低但利于并行操作,是有别于上下文编码模式(context coded-HEB)的一种简单算术编码模式。
步骤107和步骤106可以采用相同或者不同的二值化过程。所述二值化过程是指将语法元素用二进制数值表示的过程。
实施例二
该实施例以自适应控制算术编码BIN数量对应的解码过程为例进行描述,该解码过程包括:
步骤201、通过自适应控制标志bin_rate_control_flag确定是否启动自适应控制BIN数量对应的解码方法;
在步骤201之前,从码流中解析得到序列参数集(SPS)中新增的自适应控制标志bin_rate_control_flag;通过判断bin_rate_control_flag是否设置为预定值来确定是否开始执行步骤201,若是预定值,则执行此步骤,否则,不执行;
步骤202、获得每个分片的控制标志(htb_present_flag)和每个分片的控制参数(htb_start_pos_in_lcu)的数值;
从码流中解析得到每个分片的控制标志htb_present_flag,以及控制参数htb_start_pos_in_lcu的数值;
所述控制标志以及控制参数包含在对应的分片的头信息中。
步骤203、获得表示残差编码的语法元素x+y、gt2、gt1、sig;
例如,根据正在制定中HEVC标准中表示残差的语法元素包含x+y(按扫描顺序的最后一个非0残差系数的x,y坐标)、gt2(残差系数的幅度是否大于2标志)、gt1(残差系数的幅度是否大于1标志)、sig(残差系数是否为非0值标志)。
表1统计结果表明,在残差解码模块(CoeffNxN)中,所述x+y、gt2、gt1、sig语法元素包含的BIN的数量随着图像分辨率、帧率及量化参数的变化而快速增长,由此造成了所述BIN的解析成为实时解码的瓶颈问题。
步骤204、判决表示残差编码的语法元素将采取的解码方式;
与前述步骤105一致地,判决的条件bypass(pos_in_lcu)包含以下逻辑过程:
输入序列参数集(SPS)中新增加的自适应控制标志(bin_rate_control_flag);输入当前分片的控制标志(htb_present_flag);输入当前分片的控制参数(htb_start_pos_in_lcu);输入当前最大编码单元的序号(pos_in_lcu);
如果bin_rate_control_flag、htb_present_flag均被设置为预定值并且pos_in_lcu不小于htb_start_pos_in_lcu,则执行步骤205,即在当前最大编码单元(LCU)内采用旁路组合编码模式(bypass group-HTB)对应的解码方式进行解码;否则,执行步骤206,即在当前最大编码单元(LCU)内采用上下文编码模式(context coded-HEB)对应的解码方式进行解码。
控制标志htb_present_flag、控制参数htb_start_pos_in_lcu以分片为单位变化,根据htb_start_pos_in_lcu的取值来确定当前分片中的控制操作。bypass(pos_in_lcu)指是否将部分或者全部表示残差编码的语法元素的熵解码从上下文编码模式(context coded-HEB)转换为旁路组合编码模式(bypass group-HTB)处理。
步骤205、上下文编码模式(context coded-HEB)解码;转向步骤202;
在残差解码模块(CoeffNxN)中的功能模块中,上下文编码模式(context coded-HEB)具有必须串行处理的特性,如果BIN数量增长到一定程度就会导致BIN的解析成为实时解码的瓶颈问题。只有控制住单位时间内,或每帧内BIN的数量不超过一定的上限(bin_rate_threshold)才能确保实时解码。
步骤206、旁路组合编码模式(bypass group-HTB)解码,转向步骤202。
在残差解码模块(CoeffNxN)中的功能模块中,旁路组合编码模式(bypass group-HTB)通常用于等概率出现的符号解码,它不更新算术解码的状态变量,可以并行操作。旁路组合编码模式(bypass group-HTB)压缩效率比较低但利于并行操作,是有别于上下文编码模式(context coded-HEB)的一种更简单的模式。
步骤205和步骤206可以共享同一个算术解码的二值化过程。所述二值化过程是指将语法元素用二进制数值表示的过程。
如图3所示,为本发明编码器实施例的结构示意图,该编码器包括序列参数模块31、分片处理模块32和残差编码模块33,其中:
序列参数模块,用于获知编码器在单位时间内或每帧内产生的BIN数量的上限;
分片处理模块,用于根据所述上限获得每个分片的控制标志和控制参数的数值;
残差编码模块,用于根据当前分片的所述控制标志和所述控制参数的数值控制当前分片中表示残差编码的每个语法元素采用上下文编码模式或者采用旁路组合编码模式进行编码。
另外,所述编码器还可以包括调用模块34,该调用模块,用于判断序列参数集(SPS)中新增加的自适应控制标志是否设置为预定值;若是,则调用所述序列参数模块。
其中,所述上限为编码器内部参数,可以不传递给解码器;所述SPS中新增的自适应控制标志;所述分片头信息中新增的控制标志,控制参数则需要传递给解码器。
具体地,所述分片处理模块自适应选择每个分片的控制标志,控制参数的数值,使得当前单位时间内或每帧内产生的BIN数量最接近但不超过所述上限。
上述编码器,可以有效地控制表示残差编码的语法元素所产生的BIN数量不会超过设定的上限,具体实现过程可参见图1,此处不再赘述。
如图4所示,为本发明解码器实施例的结构示意图,该解码器包括分片处理模块41和残差解码模块42,其中:
分片处理模块,用于获得每个分片的控制标志和控制参数的数值;
残差解码模块,用于根据当前分片的控制标志和控制参数的数值,确定当前分片中表示残差编码的每个语法元素采用上下文编码模式对应的解码方式或者采用旁路组合编码模式对应的解码模式进行解码。
另外,所述解码器还可以包括调用模块43,该调用模块,用于从码流中解析获得序列参数集(SPS)中新增加的自适应控制标志,判断所述自适应控制标志是否设置为预定值,若是,则调用所述分片处理模块。
上述解码器,只要单位时间内或者每帧内表示残差编码的语法元素所产生的BIN数量不超过一定的上限,就可以实现实时解码,具体实现过程可参见图2,此处不再赘述。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,上述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。
Claims (19)
1.一种自适应控制算术编码上下文编码模式二进制表示BIN数量的方法,其特征在于,该方法包括:
获知编码器在单位时间内或每帧内产生的BIN数量的上限;
根据所述上限获得每个分片的控制标志和控制参数的数值;
根据当前分片的所述控制标志和所述控制参数的数值控制当前分片中表示残差编码的每一个语法元素采用上下文编码模式或者采用旁路组合编码模式进行编码。
2.根据权利要求1所述的方法,其特征在于:
所述获知编码器在单位时间内或每帧内产生的BIN数量的上限之前,所述方法还包括:
确定序列参数集SPS中新增加的自适应控制标志设置为预定值。
3.根据权利要求2所述的方法,其特征在于:
所述上限保存在所述SPS中新增的编码参数中。
4.根据权利要求1所述的方法,其特征在于:
所述每个分片的控制标志和控制参数的数值均包含在对应的分片的头信息中。
5.根据权利要求1所述的方法,其特征在于:
所述获知编码器在单位时间内或每帧内产生的BIN数量的上限包括:
获知编码器在单位时间内或每帧内所有语法元素产生的BIN数量的上限;或者获知编码器在单位时间内或每帧内残差编码的全部或部分语法元素产生的BIN数量的上限;
其中,所述上限参照与所述编码器对应的解码器的实时解码能力,或者所述编码器与所述解码器协商的结果,或者视频标准建议的参考数值来设定。
6.根据权利要求1-5任一权利要求所述的方法,其特征在于:
所述根据所述上限获得每个分片的控制标志和控制参数的数值包括:
根据所述上限自适应地将每个分片的控制标志设置为预定值,以及自适应选择每个分片的控制参数的数值,使得当前单位时间内当前帧内所产生的BIN数量最接近但不超过所述上限;或者
所述根据当前分片的所述控制标志和所述控制参数的数值控制当前分片中表示残差编码的每个语法元素采用上下文编码模式或者采用旁路组合编码模式进行编码,包括:
当所述当前分片的所述控制标志为预定值,且若所述当前分片的最大编码单元的序号不小于所述控制参数的数值,则采用所述旁路组合编码模式进行编码,若所述当前分片的最大编码单元的序号小于所述控制参数的数值,则采用所述上下文编码模式进行编码。
7.根据权利要求6所述的方法,其特征在于:
所述控制参数为以最大编码单元描述的启动旁路组合编码模式进行编码的位置信息。
8.一种自适应控制算术编码上下文编码模式二进制表示BIN数量对应的解码方法,其特征在于,该方法包括:
获得每个分片的控制标志和控制参数的数值;
根据当前分片的控制标志和控制参数的数值,确定当前分片中表示残差编码的每一个语法元素采用上下文编码模式对应的解码方式或者采用旁路组合编码模式对应的解码模式进行解码。
9.根据权利要求8所述的方法,其特征在于:
所述获得每个分片的控制标志和控制参数的数值之前,所述方法还包括:
从码流中解析得到序列参数集SPS中新增加的自适应控制标志,并确定所述自适应控制标志为预定值。
10.根据权利要求8或9所述的方法,其特征在于:
所述每个分片的控制标志和控制参数的数值均包含在对应的分片的头信息中。
11.一种编码器,其特征在于,该编码器包括:
序列参数模块,用于获知编码器在单位时间内或每帧内产生的BIN数量的上限;
分片处理模块,用于根据所述上限获得每个分片的控制标志和控制参数的数值;
残差编码模块,用于根据当前分片的所述控制标志和所述控制参数的数值控制当前分片中表示残差编码的每一个语法元素采用上下文编码模式或者采用旁路组合编码模式进行编码。
12.根据权利要求11所述的编码器,其特征在于,所述编码器还包括:
调用模块,用于判断序列参数集SPS中新增加的自适应控制标志是否设置为预定值;若是,则调用所述序列参数模块。
13.根据权利要求12所述的编码器,其特征在于:
所述上限保存在所述SPS中新增的编码参数中。
14.根据权利要求11所述的编码器,其特征在于:
所述每个分片的控制标志和控制参数的数值均包含在对应的分片的头信息中。
15.根据权利要求11-14任一权利要求所述的编码器,其特征在于:
所述分片处理模块,具体用于:
根据所述上限自适应地将每个分片的控制标志设置为预定值,以及自适应选择每个分片的控制参数的数值,使得当前单位时间内当前帧内所产生的BIN数量最接近但不超过所述上限;或者
所述残差编码模块,具体用于:
当所述当前分片的所述控制标志为预定值,且若所述当前分片的最大编码单元的序号不小于所述控制参数的数值,则采用所述旁路组合编码模式进行编码,若所述当前分片的最大编码单元的序号小于所述控制参数的数值,则采用所述上下文编码模式进行编码。
16.根据权利要求15所述的编码器,其特征在于:
所述控制参数为以最大编码单元描述的启动旁路组合编码模式进行编码的位置信息。
17.一种解码器,其特征在于,该解码器包括:
分片处理模块,用于获得每个分片的控制标志和控制参数的数值;
残差解码模块,用于根据当前分片的控制标志和控制参数的数值,确定当前分片中表示残差编码的每一个语法元素采用上下文编码模式对应的解码方式或者采用旁路组合编码模式对应的解码模式进行解码。
18.根据权利要求17所述的解码器,其特征在于,所述解码器还包括:
调用模块,用于从码流中解析获得序列参数集SPS中新增加的自适应控制标志,判断所述自适应控制标志是否设置为预定值,若是,则调用所述分片处理模块。
19.根据权利要求17或18所述的解码器,其特征在于:
所述每个分片的控制标志和控制参数的数值均包含在对应的分片的头信息中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210067197.1A CN103313048B (zh) | 2012-03-14 | 2012-03-14 | 自适应控制算术编码上下文编码模式bin数量的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210067197.1A CN103313048B (zh) | 2012-03-14 | 2012-03-14 | 自适应控制算术编码上下文编码模式bin数量的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103313048A CN103313048A (zh) | 2013-09-18 |
CN103313048B true CN103313048B (zh) | 2017-12-22 |
Family
ID=49137769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210067197.1A Active CN103313048B (zh) | 2012-03-14 | 2012-03-14 | 自适应控制算术编码上下文编码模式bin数量的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103313048B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110022481B (zh) * | 2018-01-10 | 2023-05-02 | 中兴通讯股份有限公司 | 视频码流的解码、生成方法及装置、存储介质、电子装置 |
WO2020145795A1 (ko) * | 2019-01-12 | 2020-07-16 | 엘지전자 주식회사 | 영상 코딩 시스템에서 레지듀얼 정보를 사용하는 영상 디코딩 방법 및 그 장치 |
GB2585041A (en) * | 2019-06-25 | 2020-12-30 | Sony Corp | Image data encoding and decoding |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101001373A (zh) * | 2006-01-12 | 2007-07-18 | Lsi罗吉克公司 | 高清晰度视频的上下文自适应二进制算术解码 |
CN102273080A (zh) * | 2008-12-03 | 2011-12-07 | 诺基亚公司 | 在dct系数编码模式之间切换 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000316159A (ja) * | 2000-01-01 | 2000-11-14 | Sony Corp | 符号化装置及び方法 |
US20120014431A1 (en) * | 2010-07-14 | 2012-01-19 | Jie Zhao | Methods and Systems for Parallel Video Encoding and Parallel Video Decoding |
-
2012
- 2012-03-14 CN CN201210067197.1A patent/CN103313048B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101001373A (zh) * | 2006-01-12 | 2007-07-18 | Lsi罗吉克公司 | 高清晰度视频的上下文自适应二进制算术解码 |
CN102273080A (zh) * | 2008-12-03 | 2011-12-07 | 诺基亚公司 | 在dct系数编码模式之间切换 |
Also Published As
Publication number | Publication date |
---|---|
CN103313048A (zh) | 2013-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105981380B (zh) | 利用调色板编码的编码视频数据区块的方法和装置 | |
CN104584560B (zh) | 在去块时使用色度量化参数偏移 | |
CN105611305B (zh) | 视频图像的编码方法及视频比特流的解码方法 | |
EP3007442A1 (en) | Method of pulse-code modulation and palette coding for video coding | |
KR101943805B1 (ko) | 비디오 코딩에서의 신택스에 대한 이진화 및 컨텍스트 적응 코딩의 방법 및 장치 | |
CN108419084B (zh) | 改进熵编码和解码的方法、装置及存储介质 | |
WO2015100522A1 (en) | Methods for inter-component residual prediction | |
US7365659B1 (en) | Method of context adaptive binary arithmetic coding and coding apparatus using the same | |
CN106027065B (zh) | 解码装置和解码方法 | |
RU2016144371A (ru) | Способ декодирования изображений, способ кодирования изображений, устройство декодирования изображений, устройство кодирования изображений и устройство кодирования и декодирования изображений | |
US9900624B2 (en) | Methods and apparatus of decoding process for palette syntax | |
JP2016540458A (ja) | Hevc範囲拡張の剰余差分パルス符号変調の方法 | |
US9807402B2 (en) | Method of color palette coding applicable to electronic device and electronic device using the same | |
CN101651834B (zh) | 视频数字水印嵌入方法及其装置 | |
CN106576164A (zh) | 用于预测和过滤图片中的颜色分量的方法和解码器 | |
CN103313048B (zh) | 自适应控制算术编码上下文编码模式bin数量的方法 | |
CN108449602A (zh) | 编码块旗标的编码及视频比特流的解码方法与装置 | |
CN101742330B (zh) | 一种图像编码方法及装置 | |
KR20120093067A (ko) | 코딩되지 않은 구문에 대한 적응 확률 갱신을 위한 방법 및 장치 | |
WO2016115728A1 (en) | Improved escape value coding methods | |
CN105578016B (zh) | 一种调整图像动态范围的方法及终端 | |
CN103220509B (zh) | 自适应控制算术编码bin数量的方法、编码器和解码器 | |
CN103118250B (zh) | 一种帧内划分标志的编解码方法及装置 | |
US10582207B2 (en) | Video processing systems | |
WO2022217442A1 (zh) | 系数编解码方法、编码器、解码器以及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |