CN110431748A - 二进制算术解码器和二进制算术解码装置 - Google Patents
二进制算术解码器和二进制算术解码装置 Download PDFInfo
- Publication number
- CN110431748A CN110431748A CN201880018248.7A CN201880018248A CN110431748A CN 110431748 A CN110431748 A CN 110431748A CN 201880018248 A CN201880018248 A CN 201880018248A CN 110431748 A CN110431748 A CN 110431748A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- standardization
- lps
- offset
- mps
- 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.)
- Granted
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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4006—Conversion to or from arithmetic code
- H03M7/4012—Binary arithmetic codes
- H03M7/4018—Context adapative binary arithmetic codes [CABAC]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6005—Decoder aspects
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6017—Methods or arrangements to increase the throughput
- H03M7/6023—Parallelization
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/149—Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
-
- 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/42—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
- H03M7/425—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory for the decoding process only
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Operations Research (AREA)
- Probability & Statistics with Applications (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
实现CABAC解码器的高速化和高效化。在二进制算术解码装置(1)中,具备:LPS/MPS判定部(13),其使用上下文变量、范围长度以及偏移,判定符号是劣势概率符号还是优势概率符号;再标准化处理部,其对上述范围长度和上述偏移进行再标准化处理;上下文变量计算部,其使用判定结果导出上述符号的上述二进制数据,并且根据判定结果更新上下文变量,再标准化处理部(15)具备:第一再标准化部(151),其与LPS/MPS判定部(13)的判定处理并行地,看作为符号是劣势概率符号来进行再标准化处理;第二再标准化部(152),其与LPS/MPS判定部(13)的判定处理并行地,看作为符号是优势概率符号来进行再标准化处理;选择部(153),其根据判定结果,选择第一再标准化部(151)的输出或第二再标准化部(152)的输出。
Description
技术领域
本发明涉及对通过上下文自适应二进制算术编码而编码后的编码数据进行解码的技术。
背景技术
在H.264/AVC、H.265/HEVC这样的动画图像编码技术中,使用了作为熵编码的一种的上下文自适应二进制算术编码(Context-Adaptive Binary Arithmetic Coding:CABAC)(非专利文献1)。
在对编码后的影像进行解码的解码装置中,设置有对通过CABAC编码后的数据进行解码处理的二进制算术解码器(CABAC解码器)(专利文献1、2)。
现有技术文献
专利文献
专利文献1:日本特开2010-130407号公报
专利文献2:日本特表2011-501896号公报
非专利文献
非专利文献1:Recommendation ITU-T H.264“Advanced video coding forgeneric audiovisual services”,Editon 8.0(2013/4/13)
发明内容
发明要解决的问题
为了更高速地对编码后的数据进行解码处理,需要高速并且高效地进行CABAC解码处理。专利文献1、2中记载的现有的CABAC解码器进行以下那样的顺序处理,即在进行了所输入的符号的LPS/MPS判定处理后,进行再标准化处理。
再标准化处理根据情况需要进行以下处理:重复进行许多次的再标准化处理循环。重复进行的再标准化处理循环的次数根据输入的编码数据、表示解码时间点的符号产生概率的索引、范围长度等的值而变动,但多数情况重复7次。因此,再标准化处理有可能需要很多的处理时间,难以实现解码处理的高速化。
本发明是鉴于上述问题而提出的,其目的在于,实现CABAC解码处理的高速化和高效化。
解决问题的方案
为了达到上述目的,本发明是一种二进制算术解码器,其具备:二进制算术解码处理部,其将输入的编码数据解码为二进制数据并输出;多进制化部,其将上述二进制算术解码处理部输出的上述二进制数据多进制化为多进制数据并输出;上下文索引计算部,其根据解码后的上述二进制数据和上述多进制数据导出上下文索引,将上述上下文索引输出到上述二进制算术解码处理部,其中,上述二进制算术解码处理部具备:上下文变量保存部,其根据从上述上下文索引计算部输出的上述上下文索引,导出由表示符号产生概率的第一概率状态索引和产生概率高的第一优势概率符号的值构成的第一上下文变量并保存;范围长度/偏移变量保存部,其保存表示产生概率的实数区间中的全体区间长度的范围长度、以及表示在上述范围长度中的当前位置的偏移;第一LPS/MPS判定部,其使用上述第一概率状态索引、上述范围长度、上述偏移,判定第一二进制数据的符号是劣势概率符号还是优势概率符号,输出判定结果;第一再标准化处理部,其对上述范围长度和上述偏移进行再标准化处理;上下文变量计算部,其使用上述第一上下文变量、上述判定结果,导出上述第一二进制数据并输出到上述多进制化部,上述第一再标准化处理部与上述第一LPS/MPS判定部的判定处理并行地,看作为上述第一二进制数据的符号是上述劣势概率符号来更新上述范围长度和上述偏移,直到更新后的范围长度成为预定的区间长度以上为止,对上述更新后的上述范围长度和上述偏移进行第一再标准化处理,并且与上述第一LPS/MPS判定部的判定处理并行地,看作为上述第一二进制数据的符号是上述优势概率符号来更新上述范围长度和上述偏移,直到更新后的范围长度成为预定的区间长度以上为止,对上述更新后的上述范围长度和上述偏移进行第二再标准化处理,根据上述判定结果选择通过上述第一再标准化处理进行再标准化后的上述范围长度和上述偏移以及通过上述第二再标准化处理进行再标准化后的上述范围长度和上述偏移中的某一方,并输出到范围长度/偏移变量保存部。
本发明是一种将输入的编码数据解码为二进制数据并输出的二进制算术编码装置,其具备:第一LPS/MPS判定部,其使用第一上下文变量、表示产生概率的实数空间中的全体区间长度的范围长度、表示上述范围长度中的当前位置的偏移,判定第一二进制数据的符号是劣势概率符号还是优势概率符号,并输出判定结果;第一再标准化处理部,其对上述范围长度和上述偏移进行再标准化处理;上下文变量计算部,其使用上述判定结果导出上述第一二进制数据,并且根据上述判定结果更新上述第一上下文变量,上述第一再标准化处理部具备:第一再标准化部,其与上述第一LPS/MPS判定部的判定处理并行地,看作为第一二进制数据的符号是上述劣势概率符号来进行再标准化处理;第二再标准化部,其与上述第一LPS/MPS判定部的判定处理并行地,看作为第一二进制数据的符号是上述优势概率符号来进行再标准化处理;选择部,其根据上述判定结果,选择通过上述第一再标准化部进行再标准化后的范围长度和偏移以及通过上述第二再标准化部进行再标准化后的范围长度和偏移中的某一方,并进行输出。
发明效果
根据本发明,能够实现CABAC解码处理的高速化和高效化。
附图说明
图1是表示第一实施方式的CABAC解码器的结构的图。
图2是表示LPS区间长度表的一个例子的图。
图3是表示pStateIdx迁移表的一个例子的图。
图4是表示CABAC解码器的处理的处理流程图。
图5是说明图4的步骤S3的详细处理的处理流程图。
图6是说明图5的步骤S3a-4L和S3a-4M的详细处理的处理流程图。
图7是表示第二实施方式的CABAC解码器的结构的图。
图8A是说明第二实施方式的图4的步骤S3的详细处理的处理流程图。
图8B是说明第二实施方式的图4的步骤S3的详细处理的处理流程图。
图8C是说明第二实施方式的图4的步骤S3的详细处理的处理流程图。
具体实施方式
以下,使用附图说明本发明的实施方式。
<第一实施方式>
(CABAC解码器的结构)
图1是说明本发明的第一实施方式的CABAC解码器的结构的图。该CABAC解码器具备:二进制算术解码处理部1、多进制化部2、以及上下文索引计算部3。
二进制算术解码处理部1将输入的编码数据(比特流:Bit Stream)解码为二进制数据(Bin),并输出到多进制化部2。多进制化部2将二进制算术解码处理部1输出的二进制数据多进制化为多进制数据(语法元素SE:Syntax Element)并输出。上下文索引计算部3参照以前解码的二进制数据和语法元素,计算上下文索引(ctxIdx),并供给到二进制算术解码处理部1。二进制算术解码处理部1在解码一个符号时,根据从上下文索引计算部3接受的ctxIdx,导出上下文变量context[ctxIdx]。然后,二进制算术解码处理部1根据导出的context[ctxIdx],将符号解码为Bin。
在此,上下文变量context[ctxIdx]由表示符号产生概率的概率状态索引pStateIdx、表示产生概率高的优势概率符号(MPS:Most Probable Symbol)的valMPS构成。pStateIdx通过预先定义的0~63的概率状态表示该上下文中的劣势概率符号(LPS:LeastProbable Symbol)的产生概率的推定值。此外,LPS和MPS的值的关系是valLPS=1-valMPS。在此,valMPS和valLPS都是0或1的值。
图1所示的二进制算术解码处理部1具备:上下文变量保存部11、范围长度/偏移变量保存部12、LPS/MPS判定部13、上下文变量计算部14、再标准化处理部15。
上下文变量保存部11具备用于根据上下文索引ctxIdx导出上下文变量context[ctxIdx]的上下文变量变换表。上下文变量保存部11保存pStateIdx以及valMPS的值,pStateIdx以及valMPS构成在解码中使用的context[ctxIdx]。
范围长度/偏移变量保存部12保存为了判定要解码的Bin的符号是LPS还是MPS而使用的范围长度CurrRange和偏移Offset的值。此外,范围长度CurrRange表示产生概率的实数空间(0~1)中的当前的全体区间长度,偏移(Offset)表示该范围长度内的当前位置。
LPS/MPS判定部13具备图2所示的LPS区间长度表,使用上下文变量保存部11保存的pStateIdx、范围长度/偏移变量保存部12保存的CurrRange和Offset,判定要解码的Bin的符号是LPS还是MPS。图2所示的LPS区间长度表是用于根据CurrRange的全部9比特(8:0)中的(7:6)的2比特qRangeIdx和pStateIdx导出LPS区间长度的表。
LPS/MPS判定部13在进行LPS/MPS判定时,参照LPS区间长度表,根据所取得的表示CurrRange的全部9比特(8:0)中的(7:6)的2比特的qRangeIdx和pStateIdx导出LPS区间长度rLPS。另外,LPS/MPS判定部13从当前时间点的范围长度减去LPS区间长度(CurrRange-rLPS),来计算MPS区间长度rMPS。
在本实施方式中,作为LPS/MPS判定的判定结果,LPS/MPS判定部13将LPS区间长度rLPS、MPS区间长度rMPS以及Offset输出到再标准化处理部15。作为LPS/MPS判定结果,例如在要解码的符号是LPS的情况下,LPS/MPS判定部13输出比特1,在要解码的符号是MPS的情况下,LPS/MPS判定部13输出比特0。另外,LPS/MPS判定部13将LPS/MPS判定结果输出到上下文变量计算部14。
上下文变量计算部14根据LPS/MPS判定部13输出的LPS/MPS判定结果导出二进制数据Bin,并向二进制化部2输出。上下文变量计算部14具备图3所示的pStateIdx迁移表,与该pStateIdx迁移表和LPS/MPS判定结果对应地,更新上下文变量保存部11所保存的上下文变量(pStateIdx、valMPS)。pStateIdx迁移表用于导出在产生了LPS的情况下应该迁移的pStateIdx即transIdxLPS,以及用于导出在产生了MPS的情况下应该迁移的pStateIdx即transIdxMPS。
再标准化处理部15对CurrRange和Offset进行再标准化处理。即,再标准化处理部15(直到CurrRange成为预定的区间长度以上为止)增大CurrRange和Offset,使得LPS/MPS判定中使用的CurrRange维持为预定的区间长度以上。伴随着使Offset成为2倍(向左移位1比特),再标准化处理部15每1比特地取得编码数据。
本实施方式的再标准化处理部15具备事前LPS再标准化部151、事前MPS再标准化部152、以及选择部153。事前LPS再标准化部151和事前MPS再标准化部152分别取得LPS/MPS判定部13输出的rLPS、rMPS以及Offset。此外,关于Offset,也可以不从LPS/MPS判定部13取得,而直接从范围长度/偏移变量保存部12取得。另外,选择部153取得LPS/MPS判定部13输出的LPS/MPS判定结果。
此外,例如在非专利文献1的Table9-44(Specification of rangeTabLPSdepending on pStateIdx and qCodIRangeIdx)中公开了图2所示的LPS区间长度表的全体。另外,在该文献的Table9-45(State transition table)中公开了图3所示的pStateIdx迁移表的全体。
(CABAC解码器的动作)
图4是表示图1所示的CABAC解码器的处理的处理流程图。
[S1]首先,上下文索引计算部3计算语法元素SE的开头的上下文索引ctxIdx。
[S2]二进制算术解码处理部1的上下文变量保存部11从上下文索引计算部3取得ctxIdx,参照上下文变量变换表导出上下文变量context[ctxIdx],保存作为该上下文变量的pStateIdx和valMPS的值。
[S3]二进制算术解码处理部1根据导出的context[ctxIdx],将输入的编码数据解码为二进制数据Bin。然后,二进制算术解码处理部1根据Bin的解码结果,更新context[ctxIdx],并保存更新后的context[ctxIdx]。将在后面详细说明二进制算术解码处理部1进行的步骤S3的处理。
[S4]多进制化部2参照可变长度符号表,判定是否是语法元素SE的最后。[S5]在判断为不是SE的最后时,上下文索引计算部3计算下一个ctxIdx,返回到步骤S2的处理。[S6]在判断为是SE的最后时,多进制化部2将该SE作为多进制数据输出。
图5是说明图4中的步骤S3的详细处理的图,也是说明图1中的二进制算术解码处理部1的处理流程的图。
[S3a-1]LPS/MPS判定部13取得在范围长度/偏移变量保存部12中保存的当前时间点的范围长度CurrRange和偏移Offset,并且取得在上下文变量保存部11中保存的pStateIdx。LPS/MPS判定部13参照图2所示的LPS区间长度表,根据所取得的表示CurrRange的全部9比特(8:0)中的(7:6)的2比特的qRangeIdx和pStateIdx,导出LPS区间长度rLPS。然后,从当前时间点的范围长度减去LPS区间长度(CurrRange-rLPS)来计算MPS区间长度rMPS。然后,LPS/MPS判定部13将rLPS、rMPS以及Offset输出到再标准化处理部15。
[S3a-2]LPS/MPS判定部13比较MPS区间长度rMPS与Offset的大小关系,进行要解码的Bin的符号是LPS还是MPS的判定处理。在rMPS比Offset大的情况下,LPS/MPS判定部13判定为Bin的符号是MPS,作为LPS/MPS判定结果向再标准化处理部15的选择部153输出比特0。另一方面,在rMPS比Offset小或相等的情况下,LPS/MPS判定部13判定为Bin的符号是LPS,作为LPS/MPS判定结果向再标准化处理部15的选择部153输出比特1。
[S3a-3L~S3a-4L]与步骤S3a-2独立并且并行地进行从步骤3a-3L到步骤3a-4L的处理。从步骤3a-3L到步骤3a-4L是假定Bin的符号是LPS而进行再标准化处理的处理。
[S3a-3L]事前LPS再标准化部151取得在步骤S3a-1中LPS/MPS判定部13输出的rLPS的值,设定为更新后的范围长度CurrRange’。另外,事前LPS再标准化部151取得在步骤S3a-1中LPS/MPS判定部13输出的rMPS和Offset的值,将从Offset减去rMPS所得到的值(Offset-rMPS)设定为更新后的偏移Offset’。
[S3a-4L]事前LPS再标准化部151使用在步骤S3a-3L中设定的CurrRange’和Offset’的值进行再标准化处理,计算再标准化后的范围长度CurrRange”与再标准化后的偏移Offset”。将在后面说明再标准化处理的具体处理。
[S3a-3M~S3a-4M]与步骤S3a-2独立且并行地进行步骤3a-3M到步骤3a-4M的处理,另外还与步骤S3a-3L到步骤S3a-4L的处理独立且并行地进行步骤3a-3M到步骤3a-4M的处理。步骤3a-3M到步骤3a-4M是假定Bin的符号是MPS而进行再标准化处理的处理。
[S3a-3M]事前MPS再标准化部152取得在步骤S3a-1中LPS/MPS判定部13输出的rMPS的值,设定为更新后的范围长度CurrRange’。另外,事前MPS再标准化部152将在步骤S3a-1中LPS/MPS判定部13输出的Offset的值设定为更新后的偏移Offset’。
[S3a-3M]事前MPS再标准化部152使用在步骤3a-3M中设定的CurrRange’和Offset’的值进行再标准化处理,计算再标准化后的范围长度CurrRange”和再标准化后的偏移Offset”。将在后面说明再标准化处理的具体处理。
[S3a-5]当在步骤S3a-2中判定为Bin的符号是LPS的情况下,上下文变量计算部14将与LPS对应的符号作为二进制数据Bin输出。另一方面,当在步骤S3a-2中判定为输入符号是MPS的情况下,上下文变量计算部14将与MPS对应的符号作为二进制数据Bin输出。
[S3a-6]当在步骤S3a-2中判定为Bin的符号是LPS的情况下,上下文变量计算部14参照图3所示的pStateIdx迁移表,使用从上下文变量保存部11取得的pStateIdx,导出在产生了与LPS对应的符号的情况下应该迁移的pStateIdx即transIdxLps。然后,将上下文变量保存部11中保存的pStateIdx的值更新为transIdxLps。将更新后的pStateIdx表示为pStateIdx’。
另外,上下文变量计算部14在判定为Bin的符号是LPS的情况下,在pStateIdx为0时,将上下文变量保存部11中保存的valMPS的值更新为比特反转的值。将更新后的valMPS表示为valMPS’。此外,上下文变量计算部14在判定为Bin的符号是LPS的情况下,在pStateIdx为0以外时,将valMPS设定为valMPS’。
另一方面,当在步骤S3a-2中判定为Bin的符号是MPS的情况下,上下文变量计算部14参照图3所示的pStateIdx迁移表,使用从上下文变量保存部11取得的pStateIdx,导出在产生了与MPS对应的符号的情况下应该迁移的pStateIdx即transIdxMps。然后,将上下文变量保存部11中保存的pStateIdx的值更新为transIdxMps。将更新后的pStateIdx还是表示为pStateIdx’。另外,上下文变量计算部14在判定为Bin的符号是MPS的情况下,将valMPS设定为valMPS’。
[S3a-7]选择部153根据在步骤S3a-2中LPS/MPS判定部13输出的LPS/MPS判定结果,判定要解码的Bin的符号是LPS还是MPS。
[S3a-8L]在判定为Bin的符号是LPS的情况下(步骤Sa-7为是),选择部153将在步骤S3a-4L中计算出的再标准化后的范围长度CurrRange”和再标准化后的偏移Offset”输出到范围长度/偏移变量保存部12来进行更新。
[S3a-8M]当在判定为Bin的符号是MPS的情况下(步骤Sa-7为否),选择部153将在步骤S3a-4M中计算出的再标准化后的范围长度CurrRange”和再标准化后的偏移Offset”输出到范围长度/偏移变量保存部12来进行更新。
图6是说明图5中的步骤S3a-4L和S3a-4M的详细处理的处理流程图。
[S3a-4-1]事前LPS再标准化部151和事前MPS再标准化部152判定在图5的[S3a-3L]或[S3a-3M]中更新后的CurrRange’是否小于0x100(“0x”表示继其之后的数字是16进制数)。
[S3a-4-2]在CurrRange’≥0x100的情况下(S3a-4-1为否),事前LPS再标准化部151和事前MPS再标准化部152将当前时间点的CurrRange’设定为再标准化后的范围长度CurrRange”。另外,事前LPS再标准化部151和事前MPS再标准化部152将当前时间点的Offset’设定为再标准化后的偏移Offset”。即,在CurrRange’为0x100以上的情况下,不进行再标准化处理,而将CurrRange’设为再标准化后的范围长度CurrRange”,将Offset’设为再标准化后的偏移Offset”,输出到选择部153,并结束再标准化处理。
[S3a-4-3]在CurrRange’<0x100的情况下(S3a-4-1为是),事前LPS再标准化部151和事前MPS再标准化部152将CurrRange’左移1比特(相当于设为2倍的处理)来更新CurrRange’。
[S3a-4-4]事前LPS再标准化部151和事前MPS再标准化部152通过将Offset’左移1比特,并且向其最下位比特(LSB:least significant bit)输入1比特的编码数据而得到的值来更新Offset’。然后,返回到步骤S3a-4-1的判定处理。
此外,如图6所示,再标准化处理部15直到CurrRange’成为0x100以上为止进行以下处理:重复进行由步骤S3a-4-3和S3a-4-4构成的处理循环(以下也称为再标准化处理循环)。再标准化处理循环的重复次数根据输入的编码数据、进行解码的时间点的pStateIdx、范围长度CurrRange等的值而变动,但在很多时候会重复7次。例如,在pStateIdx=63的非自适应概率状态的情况下,根据图2,LPS区间长度为2,再标准化处理循环的次数为7次。另一方面,在pStateIdx为0~62的情况(自适应概率状态的情况)下,根据图2,LPS区间长度的最小值为6,这时的再标准化处理循环的次数为6次。如此,再标准化处理有时需要很多的处理时间。
以上说明的第一实施方式的二进制算术解码处理部1的再标准化处理部15具备事前LPS再标准化部151、事前MPS再标准化部152以及选择部153。事前LPS再标准化部151与LPS/MPS判定部13进行的LPS/MPS判定处理并行地,看作为Bin的符号是LPS来进行第一再标准化处理。另外,事前MPS再标准化部152看作为Bin的符号是MPS来进行第二再标准化处理。此外,分别并行地进行第一再标准化处理和第二再标准化处理。
然后,在LPS/MPS判定部13完成了LPS/MPS判定处理后,选择部153根据LPS/MPS判定结果,选择来自事前LPS再标准化部151的输出(CurrRange”、Offset”)以及来自事前MPS再标准化部152的输出(CurrRange”、Offset”)中的某一方,并输出到范围长度/偏移变量保存部12,更新为当前时间点的范围长度CurrRange和偏移Offset。
由此,在本实施方式中,不用等待LPS/MPS判定处理的结束,就能够开始有可能需要很多处理时间的再标准化处理。由此,在本实施方式中,能够实现CABAC解码处理的高速化和高效化。即,与顺序地在完成了LPS/MPS判定处理后进行再标准化处理的现有的CABAC解码器相比,在本实施方式中,能够使CABAC解码处理高速化和高效化。
<第二实施方式>
本发明的第二实施方式的CABAC解码器针对连续的多个二进制数据Bin1、Bin2同时解码,并多进制化为多进制数据(语法元素SE)进行输出。第二实施方式的CABAC解码器与在第一实施方式中公开的结构同样地,具备二进制算术解码处理部、多进制化部以及上下文索引计算部。
第二实施方式的CABAC解码器与在第一实施方式中公开的CABAC解码器的不同点在于二进制算术解码处理部的结构。以下,使用附图详细说明第二实施方式的CABAC解码器具备的二进制算术解码处理部的结构。
(二进制算术解码处理部的结构)
图7是说明本发明的第二实施方式的CABAC解码器具备的二进制算术解码处理部1A的结构的图。图7的二进制算术解码处理部1A具备LPS/MPS判定部(1)13A、LPS/MPS判定部(2L)13L、LPS/MPS判定部(2M)13M、再标准化处理部(1)15A、再标准化处理部(2L)15L、再标准化处理部(2M)15M、上下文变量计算部14、上下文变量保存部11、以及范围长度/偏移变量保存部12。
图7中的范围长度/偏移变量保存部12、上下文变量保存部11、LPS/MPS判定部(1)13A、上下文变量计算部14的结构、处理以及连接形式是与在第一实施方式中说明的图1记载的范围长度/偏移变量保存部12、上下文变量保存部11、LPS/MPS判定部13、上下文变量计算部14大致相同的结构、处理以及连接形式。
其中,本实施方式的上下文变量保存部11的不同点在于,输入上下文索引计算部(未图示)输出的2个连续的上下文索引ctxIdx1、ctxIdx2,保存分别对应的pStateIdx1和valMPS1、pStateIdx2和valMPS2的值。
另外,LPS/MPS判定部(1)13A使用上下文变量保存部11中保存的pStateIdx1,进行要解码的第一二进制数据Bin的符号是LPS还是MPS的判定处理(LPS/MPS判定)。
另外,上下文变量计算部14使用LPS/MPS判定部(1)13A的判定结果、以及LPS/MPS判定部(2L)13L的判定结果或LPS/MPS判定部(2M)13M的判定结果,导出连续的2个二进制数据Bin1、Bin2。上下文变量计算部14根据LPS/MPS判定部(1)13A的判定结果、以及LPS/MPS判定部(2L)13L的判定结果或LPS/MPS判定部(2M)13M的判定结果来更新pStateIdx2和valMPS2。
图7中的再标准化处理部(1)15A与图1中的再标准化处理部15同样地,具备事前LPS再标准化部(1)151、事前MPS再标准化部(1)152以及选择部153,但它们的连接形式不同。具体地说,与图1的再标准化处理部15的不同点在于,以将事前LPS再标准化部(1)151的输出(再标准化后的范围长度和偏移)输入到后述的LPS/MPS判定部(2L)13L的方式进行连接。另外,与图1的再标准化处理部15的不同点在于,以将事前MPS再标准化部(1)152的输出(再标准化后的范围长度和偏移)输入到后述的LPS/MPS判定部(2M)13M的方式进行连接。并且,与图1的再标准化处理部15的不同点在于:连接选择部(1)153,使得输入后述的再标准化处理部(2L)15L的输出(再标准化后的范围长度和偏移)以及后述的再标准化处理部(2M)15M的输出(再标准化后的范围长度和偏移)。
图7中的LPS/MPS判定部(2L)13L和LPS/MPS判定部(2M)13M具有与图1所示的LPS/MPS判定部13(或LPS/MPS判定部(1)13A)相同的结构,进行同样的处理。具体地说,LPS/MPS判定部(2L)13L使用上下文变量的pStateIdx2和通过事前LPS再标准化部(1)151进行了再标准化的范围长度和偏移,判定继Bin1之后的第二二进制数据Bin2是LPS还是MPS,并输出判定结果。LPS/MPS判定部(2M)13M使用上下文变量的pStateIdx2和通过事前MPS再标准化部(1)152进行了再标准化的范围长度和偏移,判定第二二进制数据Bin2是LPS还是MPS,并输出判定结果。
图7中的再标准化处理部(2L)15以及再标准化处理部(2M)15M具有与图1中的再标准化处理部15相同的结构,进行同样的处理。
具体地说,再标准化处理部(2L)15L具备事前LPS再标准化部(2L)、事前MPS再标准化部(2L)以及选择部(2L)。再标准化处理部(2M)15M具备事前LPS再标准化部(2M)、事前MPS再标准化部(2M)以及选择部(2M)。
事前LPS再标准化部(2L)和事前LPS再标准化部(2M)具有与图1中的事前LPS再标准化部151(或图7所示的事前LPS再标准化部(1)151)相同的结构,进行同样的处理。即,看作为Bin2的符号是LPS来进行再标准化处理。事前MPS再标准化部(2L)和事前MPS再标准化部(2M)具有与图1中的事前MPS再标准化部152(或图7所示的事前MPS再标准化部(1)152)相同的结构,进行同样的处理。即,看作为Bin2的符号是MPS来进行再标准化处理。选择部(2L)和选择部(2M)具有与图1中的选择部153(或
图7所示的选择部(1)153)相同的结构,进行同样的处理。
(CABAC解码器的动作)
第二实施方式的CABAC解码器进行与使用图4说明的第一实施方式的CABAC解码器类似的处理。其中,二进制算术解码处理部1A进行步骤S3的处理不同。以下,参照图8A~图8C,说明第二实施方式的二进制算术解码处理部1A的处理流程。
图8A、图8B以及图8C是说明图4中的步骤S3的详细处理的图,也是说明图7中的二进制算术解码处理部1A的处理流程的图。
<第一二进制数据的判定处理:图8A>
[S3b-1]LPS/MPS判定部(1)13A取得在范围长度/偏移变量保存部12中保存的当前时间点的范围长度CurrRange和偏移Offset,并且取得在上下文变量保存部11中保存的pStateIdx1。LPS/MPS判定部(1)13A参照图2所示的LPS区间长度表,根据所取得的表示CurrRange的全部9比特(8:0)中的(7:6)的2比特的qRangeIdx和pStateIdx1导出LPS区间长度rLPS1。然后,从当前时间点的范围长度减去LPS区间长度(CurrRange-rLPS1)来计算MPS区间长度rMPS1。然后,LPS/MPS判定部(1)13A将rLPS1、rMPS1以及Offset输出到再标准化处理部(1)15A。
[S3b-2]LPS/MPS判定部(1)13A比较MPS区间长度rMPS1与Offset的大小关系,进行要解码的第一二进制数据Bin1的符号是LPS还是MPS的判定处理。在rMPS1比Offset大的情况下,LPS/MPS判定部(1)13A判定为Bin1的符号是MPS,作为LPS/MPS判定结果1向再标准化处理部(1)15A的选择部(1)153输出比特0。另一方面,在rMPS1比Offset小或相等的情况下,LPS/MPS判定部(1)13A判定为Bin1的符号是LPS,作为LPS/MPS判定结果1向再标准化处理部(1)15A的选择部(1)153输出比特1。
[S3b-3L~S3b-4L]与步骤S3b-2独立且并行地进行步骤S3b-3L到步骤S3b-4L的处理。步骤3b-3L到3b-4L是假定为Bin1的符号是LPS来进行再标准化处理的处理。
在[S3b-3L]中,事前LPS再标准化部(1)151取得在步骤S3b-1中LPS/MPS判定部(1)13A输出的rLPS1的值,设定为更新后的范围长度CurrRange’(L)。另外,事前LPS再标准化部(1)151取得在步骤S3b-1中LPS/MPS判定部13输出的rMPS1和Offset的值,将从Offset减去rMPS1所得的值(Offset-rMPS1)设定为更新后的偏移Offset’(L)。
在[S3b-4L]中,事前LPS再标准化部(1)151使用在步骤3b-3L中设定的CurrRange’(L)和Offset’(L)的值进行再标准化处理,计算再标准化后的范围长度CurrRange”(L)和再标准化后的偏移Offset”(L)。再标准化处理的具体处理流程与图6的处理相同。
[S3b-3M~S3b-4M]与步骤S3b-2独立且并行地进行步骤3b-3M到步骤3b-4M的处理,另外还与步骤S3b-3L到步骤S3b-4L的处理独立且并行地进行步骤3b-3M到步骤3b-4M的处理。步骤3b-3M到3b-4M是假定Bin1的符号是MPS来进行再标准化处理的处理。
在[S3b-3M]中,事前MPS再标准化部(1)152取得在步骤S3b-1中LPS/MPS判定部(1)13A输出的rMPS1的值,设定为更新后的范围长度CurrRange’(M)。另外,事前MPS再标准化部(1)152将在步骤S3b-1中LPS/MPS判定部(1)13A输出的Offset的值设定为更新后的偏移Offset’(M)。
在[S3b-4M]中,事前MPS再标准化部(1)152使用在步骤3b-3M中设定的CurrRange’(M)和Offset’(M)的值进行再标准化处理,计算再标准化后的范围长度CurrRange”(M)和再标准化后的偏移Offset”(M)。再标准化处理的具体处理流程与图6的处理相同。
<第二二进制数据的判定处理(设想第一二进制数据的符号是LPS):图8B>
LPS/MPS判定部(2L)13L以Bin1的符号是LPS为前提,进行继其之后的第二二进制数据Bin2的符号的LPS/MPS判定。
[S3c-1]LPS/MPS判定部(2L)13L取得事前LPS再标准化部(1)151进行再标准化后的范围长度CurrRange”(L)和偏移Offset”(L),并且取得在上下文变量保存部11中保存的pStateIdx2。LPS/MPS判定部(2L)13L参照图2所示的LPS区间长度表,根据所取得的表示CurrRange”(L)的全部9比特(8:0)中的(7:6)的2比特的qRangeIdx和pStateIdx2导出LPS区间长度rLPS2L。然后,LPS/MPS判定部(2L)13L从当前时间点的范围长度减去LPS区间长度(CurrRange”(L)-rLPS2L)来计算MPS区间长度rMPS2L。然后,LPS/MPS判定部(2L)13L将rLPS2L、rMPS2L以及Offset”(L)输出到再标准化处理部(2L)15L。
[S3c-2]LPS/MPS判定部(2L)13L比较MPS区间长度rMPS2L和Offset”(L)的大小关系,进行要解码的第二二进制数据Bin2的符号是LPS还是MPS的判定处理。在rMPS2L比Offset”(L)大的情况下,LPS/MPS判定部(2L)13L判定为Bin2的符号是MPS,作为LPS/MPS判定结果2L向再标准化处理部(2L)15L的选择部(2L)输出比特0。另一方面,在rMPS2L比Offset”(L)小或相等的情况下,LPS/MPS判定部(2L)13L判定为Bin2的符号是LPS,作为LPS/MPS判定结果2L向再标准化处理部(2L)15L的选择部(2L)输出比特1。还将LPS/MPS判定部(2L)13L针对Bin2的符号的LPS/MPS判定结果2L输出到上下文变量计算部14。
[S3c-3L~S3c-4L]再标准化处理部(2L)15L进行与第一二进制数据的判定处理中的再标准化处理(步骤S3b-3L~S3b-4L)相同的处理,省略详细说明。此外,再标准化处理部(2L)15L使用LPS/MPS判定部(2L)13L输出的rLPS2L、rMPS2L以及Offset”(L),进行再标准化处理。再标准化处理部(2L)15L将再标准化处理后的范围长度CurrRange”(2L-L)和再标准化后的偏移Offset”(2L-L)输出到再标准化处理部(1)15A具备的选择部(1)153。
[S3c-3M~S3c-4M]再标准化处理部(2L)15L进行与第一二进制数据的判定处理中的再标准化处理(步骤S3b-3M~S3b-4M)相同的处理,省略详细说明。此外,再标准化处理部(2L)15L使用LPS/MPS判定部(2L)13L输出的rLPS2L、rMPS2L以及Offset”(L)进行再标准化处理。再标准化处理部(2L)15L将再标准化处理后的范围长度CurrRange”(2L-M)和再标准化后的偏移Offset”(2L-M)输出到再标准化处理部(1)15A具备的选择部(1)153。
<第二二进制数据的判定处理(设想第一二进制数据的符号是MPS):图8C>
LPS/MPS判定部(2M)13M以Bin1的符号是MPS为前提,进行继其之后的第二二进制数据Bin2的符号的LPS/MPS判定。
[S3d-1]LPS/MPS判定部(2M)13M取得事前MPS再标准化部(1)152进行再标准化后的范围长度CurrRange”(M)和偏移Offset”(M),并且取得在上下文变量保存部11中保存的pStateIdx2。LPS/MPS判定部(2M)13M参照图2所示的LPS区间长度表,根据所取得的表示CurrRange”(M)的全部9比特(8:0)中的(7:6)的2比特的qRangeIdx和pStateIdx2,导出LPS区间长度rLPS2M。然后,LPS/MPS判定部(2M)13M从当前时间点的范围长度减去LPS区间长度(CurrRange”(M)-rLPS2M)来计算MPS区间长度rMPS2M。然后,LPS/MPS判定部(2M)13M将rLPS2M、rMPS2M以及Offset”(M)输出到再标准化处理部(2M)15M。
[S3d-2]LPS/MPS判定部(2M)13M比较MPS区间长度rMPS2M和Offset”(M)的大小关系,进行要解码的第二二进制数据Bin2的符号是LPS还是MPS的判定处理。在rMPS2M比Offset”(M)大的情况下,LPS/MPS判定部(2M)13M判定为Bin2的符号是MPS,作为LPS/MPS判定结果2M向再标准化处理部(2M)15M的选择部(2M)输出比特0。另一方面,在rMPS2M比Offset”(M)小或相等的情况下,LPS/MPS判定部(2M)13M判定为Bin2的符号是LPS,作为LPS/MPS判定结果2M向再标准化处理部(2M)15M的选择部(2M)输出比特1。还将LPS/MPS判定部(2M)13M针对Bin2的符号的LPS/MPS判定结果2M输出到上下文变量计算部14。
[S3d-3L~S3d-4L]再标准化处理部(2M)15M进行与第一二进制数据的判定处理中的再标准化处理(步骤S3b-3L~S3b-4L)相同的处理,省略详细说明。此外,再标准化处理部(2M)15M使用LPS/MPS判定部(2M)13M输出的rLPS2M、rMPS2M以及Offset”(M),进行再标准化处理。再标准化处理部(2M)15M将再标准化处理后的范围长度CurrRange”(2M-L)和再标准化后的偏移Offset”(2M-L)输出到再标准化处理部(1)15A具备的选择部(1)153。
[S3d-3M~S3d-4M]再标准化处理部(2M)15M进行与第一二进制数据的判定处理中的再标准化处理(步骤S3b-3M~S3b-4M)相同的处理,省略详细说明。此外,再标准化处理部(2M)15M使用LPS/MPS判定部(2M)13M输出的rLPS2M、rMPS2M以及Offset”(M),进行再标准化处理。再标准化处理部(2M)15M将再标准化处理后的范围长度CurrRange”(2M-M)和再标准化后的偏移Offset”(2M-M)输出到再标准化处理部(1)15A具备的选择部(1)153。
<二进制数据输出处理:图8A、图8B以及图8C>
[S3b-5]上下文变量计算部14根据LPS/MPS判定部(1)13A输出的LPS/MPS判定结果1,在判定为要解码的第一二进制数据的符号是LPS的情况下,将与LPS对应的符号作为第一二进制数据Bin1输出,在判定为第一二进制数据的符号是MPS的情况下,将与MPS对应的符号作为第一二进制数据Bin1输出。
[S3c-5]上下文变量计算部14在LPS/MPS判定结果1表示LPS的情况下,采用LPS/MPS判定结果2L作为针对第二二进制数据的LPS/MPS判定结果。然后,上下文变量计算部14根据所采用的LPS/MPS判定结果2L,在判定为要解码的第二二进制数据的符号是LPS的情况下,将与LPS对应的符号作为第二二进制数据Bin2输出,在判定为第二二进制数据的符号是MPS的情况下,将与MPS对应的符号作为第二二进制数据Bin2输出。
[S3d-5]上下文变量计算部14在LPS/MPS判定结果1表示MPS的情况下,采用LPS/MPS判定结果2M作为针对第二二进制数据的LPS/MPS判定结果。然后,上下文变量计算部14根据所采用的LPS/MPS判定结果2M,在判定为要解码的第二二进制数据的符号是LPS的情况下,将与LPS对应的符号作为第二二进制数据Bin2输出,在判定为第二二进制数据的符号是MPS的情况下,将与MPS对应的符号作为第二二进制数据Bin2输出。
<第一二进制数据的变量更新处理:图8A>
[S3b-6]上下文变量计算部14进行与图5中的步骤S3a-6类似的处理。即,上下文变量计算部14参照图3所示的pStateIdx迁移表,根据第一二进制数据的LPS/MPS判定结果1,将pStateIdx1更新为pStateIdx’1,并且将MPS的值valMPS1更新为valMPS’1。
[S3b-7]再标准化处理部(1)15A的选择部(1)153根据LPS/MPS判定部(1)13A输出的LPS/MPS判定结果1,判定第一二进制数据的符号是LPS还是MPS。
<第二二进制数据的变量更新处理(第一二进制数据的符号是LPS的情况):图8B>
[S3c-6]上下文变量计算部14在第一二进制数据是LPS的情况下,与S3b-6同样地,根据第二二进制数据的LPS/MPS判定结果2L,将pStateIdx2更新为pStateIdx’2,并且将MPS的值valMPS2更新为valMPS’2。
[S3c-7]再标准化处理部(2L)15L的选择部(2L)根据LPS/MPS判定部(2L)13L输出的LPS/MPS判定结果2L,判定第二二进制数据的符号是LPS还是MPS。
[S3c-8L]在判定为第一二进制数据的符号是LPS,判定为第二二进制数据的符号是LPS的情况下,再标准化处理部(1)15A的选择部(1)153将通过再标准化处理部(2L)15L的事前LPS再标准化部(2L)计算出的再标准化后的范围长度CurrRange”(2L-L)和再标准化后的偏移Offset”(2L-L)输出到范围长度/偏移变量保存部12来进行更新。
[S3c-8M]在判定为第一二进制数据的符号是LPS,判定为第二二进制数据的符号是MPS的情况下,再标准化处理部(1)15A的选择部(1)153将通过再标准化处理部(2L)15L的事前MPS再标准化部(2L)计算出的再标准化后的范围长度CurrRange”(2L-M)和再标准化后的偏移Offset”(2L-M)输出到范围长度/偏移变量保存部12来进行更新。
<第二二进制数据的变量更新处理(第一二进制数据的符号是MPS的情况):图8C>
[S3d-6]上下文变量计算部14在第一二进制数据是MPS的情况下,与S3b-6同样地,根据第二二进制数据的LPS/MPS判定结果2M,将pStateIdx2更新为pStateIdx’2,并且将MPS的值valMPS2更新为valMPS’2。
[S3d-7]再标准化处理部(2M)15M的选择部(2M)根据LPS/MPS判定部(2M)13M输出的LPS/MPS判定结果2M,判定第二二进制数据的符号是LPS还是MPS。
[S3d-8L]在判定为第一二进制数据的符号是MPS,判定为第二二进制数据的符号是LPS的情况下,再标准化处理部(1)15A的选择部(1)153将通过再标准化处理部(2M)15M的事前LPS再标准化部(2M)计算出的再标准化后的范围长度CurrRange”(2M-L)和再标准化后的偏移Offset”(2M-L)输出到范围长度/偏移变量保存部12来进行更新。
[S3d-8M]在判定为第一二进制数据的符号是MPS,判定为第二二进制数据的符号是MPS的情况下,再标准化处理部(1)15A的选择部(1)153将通过再标准化处理部(2M)15M的事前MPS再标准化部(2M)计算出的再标准化后的范围长度CurrRange”(2M-M)和再标准化后的偏移Offset”(2M-M)输出到范围长度/偏移变量保存部12来进行更新。
根据以上说明的本实施方式的CABAC解码器具备的二进制算术解码处理部1A,不用等待针对要解码的第一二进制数据的LPS/MPS判定处理的结束,就能够开始再标准化处理,不用等待针对继第一二进制数据之后的第二二进制数据的LPS/MPS判定处理的结束,就能够开始再标准化处理。即,在本实施方式中,通过对连续的多个二进制数据同时解码来多进制化为多进制数据并输出,能够高速并且高效地实施CABAC解码处理。
此外,第一实施方式和第二实施方式的CABAC解码器具备的二进制算术解码处理部1、1A、多进制化部2、上下文索引计算部3也可以是能够执行相应的处理的单独/集成化的硬件资源。硬件资源例如可以是LSI(大规模集成电路)、ASIC(专用集成电路)、或FPGA(现场可编程门阵列)等,第一实施方式和第二实施方式的CABAC解码器也可以是具备CPU(中央处理单元)、存储器、硬盘等外部存储装置、输入装置、输出装置的计算机系统。在该计算机系统中,通过由CPU执行加载到存储器上的预定程序,来实现预定功能。例如,通过由CPU分别执行二进制算术解码处理部1、1A用程序、多进制化部2用程序、上下文索引计算部3用程序,来实现二进制算术解码处理部1、1A、多进制化部2、上下文索引计算部3的各功能。另外,二进制算术解码处理部1、1A用程序、多进制化部2用程序、上下文索引计算部3用程序既可以存储在硬盘、软盘、CD-ROM、MO、DVD-ROM等计算机可读记录介质中,也可以经由网络发布。
此外,本发明并不限于上述实施方式,能够在其主旨范围内进行各种变形。
附图标记说明
1、1A:二进制算术解码处理部
11:上下文变量保存部
12:范围长度/偏移变量保存部
13、13A、13L、13M:LPS/MPS判定部
14:上下文变量计算部
15、15A、15L、15M:再标准化处理部
151:事前LPS再标准化部
152:事前MPS再标准化部
153:选择部。
Claims (5)
1.一种二进制算术解码器,其具备:
二进制算术解码处理部,其将输入的编码数据解码为二进制数据并输出;
多进制化部,其将上述二进制算术解码处理部输出的上述二进制数据多进制化为多进制数据并输出;
上下文索引计算部,其根据解码后的上述二进制数据和上述多进制数据导出上下文索引,将上述上下文索引输出到上述二进制算术解码处理部,
其特征在于,
上述二进制算术解码处理部具备:
上下文变量保存部,其根据从上述上下文索引计算部输出的上述上下文索引,导出由表示符号产生概率的第一概率状态索引和产生概率高的第一优势概率符号的值构成的第一上下文变量并保存;
范围长度/偏移变量保存部,其保存表示产生概率的实数区间中的全体区间长度的范围长度、以及表示上述范围长度中的当前位置的偏移;
第一LPS/MPS判定部,其使用上述第一概率状态索引、上述范围长度、上述偏移,判定第一二进制数据的符号是劣势概率符号还是优势概率符号,输出判定结果;
第一再标准化处理部,其对上述范围长度和上述偏移进行再标准化处理;以及
上下文变量计算部,其使用上述第一上下文变量、上述判定结果,导出上述第一二进制数据并输出到上述多进制化部,
上述第一再标准化处理部与上述第一LPS/MPS判定部的判定处理并行地,看作为上述第一二进制数据的符号是上述劣势概率符号来更新上述范围长度和上述偏移,直到更新后的范围长度成为预定的区间长度以上为止,对上述更新后的上述范围长度和上述偏移进行第一再标准化处理,
并且,上述第一再标准化处理部与上述第一LPS/MPS判定部的判定处理并行地,看作为上述第一二进制数据的符号是上述优势概率符号来更新上述范围长度和上述偏移,直到更新后的范围长度成为预定的区间长度以上为止,对上述更新后的上述范围长度和上述偏移进行第二再标准化处理,
上述第一再标准化处理部根据上述判定结果,选择通过上述第一再标准化处理进行再标准化后的上述范围长度和上述偏移以及通过上述第二再标准化处理进行再标准化后的上述范围长度和上述偏移中的某一方,并输出到范围长度/偏移变量保存部。
2.根据权利要求1所述的二进制算术解码器,其特征在于,
上述第一再标准化处理部具备:
第一再标准化部,其进行上述第一再标准化处理;
第二再标准化部,其进行上述第二再标准化处理;
选择部,其根据上述第一LPS/MPS判定部输出的上述判定结果,选择通过上述第一再标准化处理进行上述再标准化后的上述范围长度和上述偏移以及通过上述第二再标准化处理进行上述再标准化后的上述范围长度和上述偏移中的某一方。
3.根据权利要求2所述的二进制算术解码器,其特征在于,
上述上下文变量保存部根据从上述上下文索引计算部输出的上述上下文索引,导出由第二概率状态索引和第二优势概率符号的值构成的第二上下文变量并进行保存,
上述二进制算术解码器还具备:
第二LPS/MPS判定部,其使用上述第二概率状态索引、通过上述第一再标准化部进行再标准化后的上述范围长度和上述偏移,判定与上述第一二进制数据连续的第二二进制数据的符号是上述劣势概率符号还是上述优势概率符号,并输出判定结果;
第二再标准化处理部,其看作为上述第二二进制数据的符号是上述劣势概率符号来对通过上述第一再标准化部进行再标准化后的上述范围长度和上述偏移进行再标准化处理,并且看作为上述第二二进制数据的符号是上述优势概率符号来对通过上述第一再标准化部进行再标准化后的上述范围长度和上述偏移进行再标准化处理;
第三LPS/MPS判定部,其使用上述第二概率状态索引、通过上述第二再标准化部进行再标准化后的上述范围长度和上述偏移,判定上述第二二进制数据的符号是上述劣势概率符号还是上述优势概率符号,并输出判定结果;以及
第三再标准化处理部,其看作为上述第二二进制数据的符号是上述劣势概率符号来对通过上述第二再标准化部进行再标准化后的上述范围长度和上述偏移进行再标准化处理,并且看作为上述第二二进制数据的符号是上述优势概率符号来对通过上述第二再标准化部进行再标准化后的上述范围长度和上述偏移进行再标准化处理,
上述上下文变量计算部使用上述第一LPS/MPS判定部的判定结果、以及上述第二LPS/MPS判定部的判定结果或上述第三LPS/MPS判定部的判定结果,导出上述第二二进制数据,并且根据上述第一LPS/MPS判定部的判定结果、以及上述第二LPS/MPS判定部的判定结果或上述第三LPS/MPS判定部的判定结果来更新上述第二上下文变量。
4.一种二进制算术解码装置,其将输入的编码数据解码为二进制数据并输出,其特征在于,
上述二进制算术解码装置具备:
第一LPS/MPS判定部,其使用第一上下文变量、表示产生概率的实数空间中的全体区间长度的范围长度、表示上述范围长度中的当前位置的偏移,判定第一二进制数据的符号是劣势概率符号还是优势概率符号,并输出判定结果;
第一再标准化处理部,其对上述范围长度和上述偏移进行再标准化处理;
上下文变量计算部,其使用上述判定结果导出上述第一二进制数据,并且根据上述判定结果来更新上述第一上下文变量,
上述第一再标准化处理部具备:
第一再标准化部,其与上述第一LPS/MPS判定部的判定处理并行地,看作为第一二进制数据的符号是上述劣势概率符号来进行再标准化处理;
第二再标准化部,其与上述第一LPS/MPS判定部的判定处理并行地,看作为第一二进制数据的符号是上述优势概率符号来进行再标准化处理;
选择部,其根据上述判定结果,选择通过上述第一再标准化部进行再标准化后的范围长度和偏移以及通过上述第二再标准化部进行再标准化后的范围长度和偏移中的某一方,并进行输出。
5.根据权利要求4所述的二进制算术解码装置,其特征在于,
上述二进制算术解码装置还具备:
第二LPS/MPS判定部,其使用第二上下文变量、通过上述第一再标准化部进行再标准化后的上述范围长度和上述偏移,判定与上述第一二进制数据连续的第二二进制数据的符号是上述劣势概率符号还是上述优势概率符号,并输出判定结果;
第二再标准化处理部,其看作为上述第二二进制数据的符号是上述劣势概率符号来对通过上述第一再标准化部进行再标准化后的上述范围长度和上述偏移进行再标准化处理,并且看作为上述第二二进制数据的符号是上述优势概率符号来对通过上述第一再标准化部进行再标准化后的上述范围长度和上述偏移进行再标准化处理;
第三LPS/MPS判定部,其使用上述第二上下文变量、通过上述第二再标准化部进行再标准化后的上述范围长度和上述偏移,判定上述第二二进制数据的符号是上述劣势概率符号还是上述优势概率符号,并输出判定结果;以及
第三再标准化处理部,其看作为上述第二二进制数据的符号是上述劣势概率符号来对通过上述第二再标准化部进行再标准化后的上述范围长度和上述偏移进行再标准化处理,并且看作为上述第二二进制数据的符号是上述优势概率符号来对通过上述第二再标准化部进行再标准化后的上述范围长度和上述偏移进行再标准化处理,
上述上下文变量计算部使用上述第一LPS/MPS判定部的判定结果、以及上述第二LPS/MPS判定部的判定结果或上述第三LPS/MPS判定部的判定结果,导出上述第二二进制数据,并且根据上述第一LPS/MPS判定部的判定结果、以及上述第二LPS/MPS判定部的判定结果或上述第三LPS/MPS判定部的判定结果来更新上述第二上下文变量。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017049546A JP6707045B2 (ja) | 2017-03-15 | 2017-03-15 | 二値算術復号器および二値算術復号装置 |
JP2017-049546 | 2017-03-15 | ||
PCT/JP2018/009888 WO2018168901A1 (ja) | 2017-03-15 | 2018-03-14 | 二値算術復号器および二値算術復号装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110431748A true CN110431748A (zh) | 2019-11-08 |
CN110431748B CN110431748B (zh) | 2022-12-23 |
Family
ID=63522286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880018248.7A Active CN110431748B (zh) | 2017-03-15 | 2018-03-14 | 二进制算术解码器和二进制算术解码装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11134249B2 (zh) |
EP (1) | EP3598647B1 (zh) |
JP (1) | JP6707045B2 (zh) |
CN (1) | CN110431748B (zh) |
WO (1) | WO2018168901A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12143612B2 (en) | 2022-07-01 | 2024-11-12 | Mediatek Inc. | Context-based adaptive binary arithmetic coding decoder capable of decoding multiple bins in one cycle and associated decoding method |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2244380A1 (en) * | 1997-07-31 | 1999-01-31 | At&T Corp. | Z-coder: a fast adaptive binary arithmetic coder |
JP2005130099A (ja) * | 2003-10-22 | 2005-05-19 | Matsushita Electric Ind Co Ltd | 算術復号装置、算術符号化装置、算術符号化・復号装置、携帯端末装置、動画像撮影装置、及び、動画像記録・再生装置 |
US20060028359A1 (en) * | 2004-08-05 | 2006-02-09 | Samsung Electronics Co., Ltd. | Context-based adaptive binary arithmetic coding method and apparatus |
KR100644713B1 (ko) * | 2005-10-31 | 2006-11-10 | 삼성전자주식회사 | 컨텍스트 기반 적응적 이진 산술 코딩 복호기에서 원소구문을 복호화하는 방법 및 이를 위한 복호화 장치 |
WO2007102518A1 (ja) * | 2006-03-07 | 2007-09-13 | The University Of Tokushima | 算術符号化装置、算術符号化方法、算術符号化プログラム及びプログラムを格納したコンピュータで読み取り可能な記録媒体 |
CN101164340A (zh) * | 2005-10-12 | 2008-04-16 | 华为技术有限公司 | Cabac解码系统及方法 |
JP2008118304A (ja) * | 2006-11-01 | 2008-05-22 | Canon Inc | 復号装置及び復号方法 |
JP2009207029A (ja) * | 2008-02-29 | 2009-09-10 | Sony Corp | 算術復号装置 |
JP2015115665A (ja) * | 2013-12-09 | 2015-06-22 | 日本電信電話株式会社 | 二値算術符号化装置、二値算術符号化方法及び二値算術符号化プログラム |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100694098B1 (ko) * | 2005-04-04 | 2007-03-12 | 한국과학기술원 | 산술 복호 방법 및 그 장치 |
JP4865509B2 (ja) * | 2006-11-01 | 2012-02-01 | キヤノン株式会社 | 復号装置及び復号方法 |
US8422552B2 (en) * | 2007-03-29 | 2013-04-16 | James Au | Entropy coding for video processing applications |
US8782379B2 (en) | 2007-09-27 | 2014-07-15 | Qualcomm Incorporated | H.264 video decoder CABAC core optimization techniques |
JP4962476B2 (ja) | 2008-11-28 | 2012-06-27 | ソニー株式会社 | 算術復号装置 |
US20130003858A1 (en) * | 2011-06-30 | 2013-01-03 | Vivienne Sze | Simplified Context Selection For Entropy Coding of Transform Coefficient Syntax Elements |
US9425822B2 (en) * | 2014-08-05 | 2016-08-23 | Broadcom Corporation | Simplified range and context update for multimedia context-adaptive binary arithmetic coding design |
US10264264B2 (en) * | 2016-09-24 | 2019-04-16 | Apple Inc. | Multi-bin decoding systems and methods |
-
2017
- 2017-03-15 JP JP2017049546A patent/JP6707045B2/ja active Active
-
2018
- 2018-03-14 WO PCT/JP2018/009888 patent/WO2018168901A1/ja unknown
- 2018-03-14 CN CN201880018248.7A patent/CN110431748B/zh active Active
- 2018-03-14 US US16/492,280 patent/US11134249B2/en active Active
- 2018-03-14 EP EP18767134.2A patent/EP3598647B1/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2244380A1 (en) * | 1997-07-31 | 1999-01-31 | At&T Corp. | Z-coder: a fast adaptive binary arithmetic coder |
JP2005130099A (ja) * | 2003-10-22 | 2005-05-19 | Matsushita Electric Ind Co Ltd | 算術復号装置、算術符号化装置、算術符号化・復号装置、携帯端末装置、動画像撮影装置、及び、動画像記録・再生装置 |
US20060028359A1 (en) * | 2004-08-05 | 2006-02-09 | Samsung Electronics Co., Ltd. | Context-based adaptive binary arithmetic coding method and apparatus |
CN101164340A (zh) * | 2005-10-12 | 2008-04-16 | 华为技术有限公司 | Cabac解码系统及方法 |
KR100644713B1 (ko) * | 2005-10-31 | 2006-11-10 | 삼성전자주식회사 | 컨텍스트 기반 적응적 이진 산술 코딩 복호기에서 원소구문을 복호화하는 방법 및 이를 위한 복호화 장치 |
WO2007102518A1 (ja) * | 2006-03-07 | 2007-09-13 | The University Of Tokushima | 算術符号化装置、算術符号化方法、算術符号化プログラム及びプログラムを格納したコンピュータで読み取り可能な記録媒体 |
JP2008118304A (ja) * | 2006-11-01 | 2008-05-22 | Canon Inc | 復号装置及び復号方法 |
JP2009207029A (ja) * | 2008-02-29 | 2009-09-10 | Sony Corp | 算術復号装置 |
JP2015115665A (ja) * | 2013-12-09 | 2015-06-22 | 日本電信電話株式会社 | 二値算術符号化装置、二値算術符号化方法及び二値算術符号化プログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12143612B2 (en) | 2022-07-01 | 2024-11-12 | Mediatek Inc. | Context-based adaptive binary arithmetic coding decoder capable of decoding multiple bins in one cycle and associated decoding method |
Also Published As
Publication number | Publication date |
---|---|
US20200396457A1 (en) | 2020-12-17 |
US11134249B2 (en) | 2021-09-28 |
CN110431748B (zh) | 2022-12-23 |
EP3598647B1 (en) | 2023-06-28 |
WO2018168901A1 (ja) | 2018-09-20 |
JP6707045B2 (ja) | 2020-06-10 |
EP3598647A1 (en) | 2020-01-22 |
EP3598647A4 (en) | 2020-12-30 |
JP2018152816A (ja) | 2018-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7385535B2 (en) | Decoding system and method based on context-based adaptive binary arithmetic coding | |
KR100648258B1 (ko) | 고속의 디코딩을 수행하는 파이프라인 구조의 내용 기반적응적 이진 산술 디코더 | |
JP4792257B2 (ja) | 適応算術復号化方法及び適応算術復号化装置 | |
TWI396446B (zh) | 情境適應性二元算術編碼與解碼之系統與方法 | |
JP4893657B2 (ja) | 算術復号装置 | |
JP2011521536A5 (zh) | ||
ES2442174T3 (es) | Procedimiento y dispositivo de codificación y descodificación aritméticas utilizando varias tablas de consulta | |
WO2008054005A2 (en) | Encoding apparatus and control method thereof | |
TW201228247A (en) | Image encoding device, and image encoding method | |
EP3471096A1 (en) | Coding of spectral peak positions | |
CN110291793A (zh) | 上下文自适应二进制算术编解码中范围推导的方法和装置 | |
CN103974066B (zh) | 视频编码方法和设备 | |
JP4745865B2 (ja) | 符号化装置および方法 | |
CN110431748A (zh) | 二进制算术解码器和二进制算术解码装置 | |
CN101093998B (zh) | 解码方法及装置 | |
US8970405B2 (en) | Method and apparatus for entropy decoding | |
JP5848620B2 (ja) | 画像符号化装置、方法、及びプログラム | |
JP2008311803A (ja) | 算術復号方法、算術復号装置及び算術復号プログラム | |
JP2009017232A (ja) | 算術符号化装置及び画像符号化装置 | |
KR102109768B1 (ko) | Uhd 영상의 고속 처리를 위한 cabac 이진 산술 부호화기 | |
Biala et al. | Lossless Compression Technique Using ILZW with DFRLC | |
JP2009246973A (ja) | 可変長符号の復号高速化装置 | |
JP6216576B2 (ja) | 画像符号化装置 | |
KR100189875B1 (ko) | 허브만 부호 복호화장치 | |
TWI491179B (zh) | 編碼調制系統及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |