CN116762279A - 对信息值序列进行算术编码的算术编码器与进行算数解码的算数解码器及用于算术编码与解码信息值序列的方法及实现方法的计算机程序 - Google Patents
对信息值序列进行算术编码的算术编码器与进行算数解码的算数解码器及用于算术编码与解码信息值序列的方法及实现方法的计算机程序 Download PDFInfo
- Publication number
- CN116762279A CN116762279A CN202180081999.5A CN202180081999A CN116762279A CN 116762279 A CN116762279 A CN 116762279A CN 202180081999 A CN202180081999 A CN 202180081999A CN 116762279 A CN116762279 A CN 116762279A
- Authority
- CN
- China
- Prior art keywords
- arithmetic
- entry point
- bitstream
- value
- predetermined
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 203
- 238000004590 computer program Methods 0.000 title claims description 16
- 230000003044 adaptive effect Effects 0.000 claims description 89
- 238000006243 chemical reaction Methods 0.000 claims description 82
- 238000013139 quantization Methods 0.000 claims description 36
- 230000006978 adaptation Effects 0.000 claims description 33
- 238000013528 artificial neural network Methods 0.000 claims description 28
- 230000001419 dependent effect Effects 0.000 claims description 27
- 230000007423 decrease Effects 0.000 claims description 26
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 6
- 230000003247 decreasing effect Effects 0.000 claims description 6
- 238000007906 compression Methods 0.000 description 10
- 230000006835 compression Effects 0.000 description 10
- 238000003491 array Methods 0.000 description 8
- 230000011664 signaling Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 3
- 108010076504 Protein Sorting Signals Proteins 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 101100465509 Arabidopsis thaliana PSAO gene Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- 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
- 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
-
- 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/6052—Synchronisation of encoder and decoder
-
- 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/70—Type of the data to be coded, other than image and sound
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明描述一种用于将信息值序列算术地编码为算术写码比特流的编码方案,使用向比特流提供进入点信息,从而允许从预定进入点向前恢复对比特流的算术解码。还提供相应的解码方案。这些编码及解码方案在解码速度方面提供更高效的编码概念。
Description
技术领域
本申请关于将信息值序列算术地编码为算术写码比特流,具体地通过向比特流提供进入点信息,从而允许从预定进入点向前恢复对比特流的算术解码。
根据本发明的实施例关于用于算术地编码信息值序列的算术编码器。
根据本发明的其他实施例关于用于算术地解码信息值序列的算术解码器。
根据本发明的其他实施例关于用于算术地编码信息值序列的方法。
根据本发明的其他实施例关于用于算术地解码信息值序列的方法。
根据本发明的其他实施例关于用于执行用于算术地编码及解码信息值序列的方法的计算机程序。
根据本发明的其他实施例关于使用用于算术地编码信息值序列的算术编码器产生的比特流。
根据本发明的其他实施例关于用于算术地编码神经网络参数的算术编码器。
根据本发明的其他实施例关于用于算术地解码神经网络参数的算术解码器。
本发明可应用于涉及整数值的信令的任意数据压缩应用,如例如神经网络参数的压缩。
背景技术
当前已知用于算术地编码及解码值序列的众多装置及方法。特别地,基于上下文的自适应二进制算术写码(CABAC)广泛地用于符号序列的编码及解码。在CABAC的二进制化阶段中,将此类序列的每个符号转换成或多个二进制符号(二进数)的序列,且算术地将这些二进数序列的串联编码为比特流。上下文模型化阶段接着基于先前编码的二进数及上下文信息使概率估计与用于算术写码的每个二进数相关联。对应的解码器具有可用的相同信息,且可再现相同的概率估计以便进行算术解码。
然而,已知算术解码为几乎不可并行化的高度顺序过程。CABAC解码器的解码速度因此受到其串行写码过程的限制。
鉴于上文,需要建立写码及解码概念,使得若干解码器能够并行地操作,从而解码单个比特流的不同部分,这导致改良的解码速度。
因此,本发明的目标为提供在解码速度方面更高效的编码概念。此目标通过申请中的独立权利要求的主题来达成。
其他有利方面为附属权利要求的主题。
发明内容
根据本发明的实施例建立用于将信息值序列算术地编码为算术写码比特流的算术编码器。算术编码器被配置为:将信息值符号化为符号串,以便获得符号序列;通过对于每个符号进行以下操作来算术地编码符号序列:根据相应符号的符号值选择限定算术编码器的写码状态的当前版本的当前区间根据相应符号的概率估计被细分成的多个子区间中的子区间,以便获得由所选择的子区间限定的算术编码器的写码状态的经更新版本以用于编码符号序列中的下一个符号;以及在继续比特流的情况下重归一化限定写码状态的编码器内部参数,例如参数R及L;以及向比特流提供进入点信息,从而允许从预定进入点向前恢复对比特流的算术解码。
此实施例基于如下发现:向比特流提供进入点信息使得能够例如在若干解码器并行地操作,从而对单个比特流的不同部分进行解码时使算术解码并行化,诸如CABAC解码。这导致更高效的编码及解码概念,尤其导致改良的解码速度。
根据实施例,进入点信息包含关于算术解码器的写码状态的信息,当算术解码器对比特流进行解码直至预定进入点时,写码状态出现于算术解码器中。这允许使用若干解码器来使从若干预定进入点开始的解码并行化。
根据实施例,算术编码器被配置为执行对比特流的算术解码以便确定关于算术解码器的写码状态的信息。作为示例,可在已完成算术编码之后执行算术解码。可替代地,算术解码可与算术编码并行地开始,在算术编码继续附加比特的比特位置与算术解码开始的比特流开始之间的微小比特流间比特距离处。
根据实施例,算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针,且关于算术解码器的写码状态的信息包含指针的值,例如,值由预定进入点处的指针采用。
根据实施例,算术编码器被配置为执行对比特流的算术解码,且将由关于算术解码器的写码状态的信息包含的指针的值设定为等于如在对比特流的算术解码直至预定进入点时指针自身所表现的当前值。
根据实施例,算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针,且关于算术解码器的写码状态的信息包含区间宽度参数的值,例如,值由预定进入点处的区间宽度参数采用。
根据实施例,算术编码器被配置为执行对比特流的算术解码,且将由关于算术解码器的写码状态的信息包含的区间宽度参数的值设定为等于如在对比特流的算术解码直至预定进入点时区间宽度参数自身所表现的当前值。可替换地,算术编码器被配置为将由关于算术解码器的写码状态的信息包含的区间宽度参数的值设定为等于如在对符号序列的算术编码直至预定进入点时区间宽度参数自身所表现的当前值。
根据实施例,算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针,且关于算术解码器的写码状态的信息包含指针的值,例如,值由预定进入点处的指针采用,而不包含区间宽度参数的值。在此实施例中,算术编码器被配置为将由关于算术解码器的写码状态的信息包含的区间宽度参数的值设定为等于预定值,且在从预定进入点向前恢复对符号序列的算术编码时使用区间宽度参数的预定值。可替换地,在此实施例中,算术编码器被配置为通过对紧接预定进入点之前的具有预定符号值的符号进行算术编码,随后从预定进入点向前恢复对符号序列的算术编码来初步中断对符号序列的算术编码,且将由关于算术解码器的写码状态的信息包含的区间宽度参数的值设定为等于如在对符号序列的算术编码直至预定进入点处时区间宽度参数自身所表现的当前值,符号序列包括具有预定符号值的符号。
根据实施例,进入点信息包含指向比特流中的预定比特的比特流指针,预定比特待在从预定进入点向前恢复对比特流的算术解码之后接下来被读取。
根据实施例,指向比特流中的预定比特的比特流指针以相对于比特流的开始(例如,将从其向前对比特流进行解码的前端)的偏移的形式在比特流中发信号通知。
根据实施例,指向比特流中的预定比特的比特流指针以相对于比特流的一串前导比特的尾端的偏移的形式在比特流中发信号通知,用于执行对比特流的算术解码的算术解码器的写码状态(例如,指向区间的指针)将基于偏移而初始化。
根据实施例,进入点信息允许从多于一个进入点向前恢复对比特流的算术解码,且指向比特流中的预定比特的比特流指针以相对于先前进入点的偏移的形式在比特流中发信号通知。举例而言,进入点信息包含多于一个信息实例,即每个进入点一个信息实例。可替换地,指向比特流中的预定比特的比特流指针以相对于与预定进入点相关联的预定义比特流位置的偏移的形式在比特流中发信号通知。举例而言,第n预定义比特流位置与第n熵点相关联;预定义比特流位置可相互等距地定位。
根据实施例,算术编码器被配置为将预定义比特流位置作为值序列中的连续值之间的点(换言之:语法上)或通过对比特流的比特进行计数(或换言之:在比特层级上)而定位。
根据实施例,指向比特流中的预定比特的比特流指针以比特和/或比特的整数n倍为单位储存,其中n>1,且例如n=8。
根据实施例,在比特流中发信号通知先前进入点在比特流中的比特位置。
根据实施例,比特流指针相对于由进入点信息包含的用于指向比特流中的另一预定比特的另一比特流指针以不同方式在比特流中发信号通知,另一预定比特待在从先前进入点向前恢复对比特流的算术解码之后接下来被读取。
根据实施例,使用可变长度码在比特流中发信号通知比特流指针。
根据实施例,使用指数哥伦布码,优选地无符号指数哥伦布码,在比特流中发信号通知比特流指针。
根据实施例,预定进入点为相对于比特流的开始的第三进入点或在第三进入点之后的进入点中的任一个,且指向比特流中的预定比特的比特流指针以相对于先前进入点的偏移与先前进入点相对于在先前进入点之前的另一进入点的偏移之间的差的形式在比特流中发信号通知。
根据实施例,使用带符号指数哥伦布码在比特流中发信号通知比特流指针。
根据实施例,使用无符号指数哥伦布码在比特流中发信号通知先前进入点在比特流中的比特位置。
根据实施例,用于指数哥伦布码的指数哥伦布码参数为值11。
根据实施例,使用带符号指数哥伦布码在比特流中发信号通知比特流指针。
根据实施例,用于指数哥伦布码的指数哥伦布码参数为值7。
根据实施例,算术编码器被配置为使用上下文自适应算术写码用于对符号序列进行算术编码,包括:对于符号序列中的上下文自适应编码的符号,从多个上下文模型中选择上下文模型,多个上下文模型中的每个具有与其相关联的概率估计;以及使用符号序列中的先前经编码的符号使多个上下文模型的概率估计适应于实际符号统计。进入点信息对于一组一个或多个预定上下文模型中的每个指示相应预定上下文模型的预定概率估计。算术编码器被配置为使用预定概率估计来恢复多个上下文模型的概率估计相对于相应预定上下文模型的自适应。
根据实施例,算术编码器被配置为使用上下文自适应算术写码用于对符号序列进行算术编码,包括:对于符号序列中的上下文自适应编码的符号,从多个上下文模型中选择上下文模型,多个上下文模型中的每个具有与其相关联的概率估计;以及使用符号序列中的先前经编码的符号使多个上下文模型的概率估计适应于实际符号统计。算术编码器被配置为对于一组一个或多个预定上下文模型中的每个将预定进入点处的相应预定上下文模型的概率估计设定为默认状态,且算术编码器被配置为使用默认状态来恢复多个上下文模型的概率估计相对于相应预定上下文模型的自适应。可替换地,在此实施例中,算术编码器被配置为对于一组一个或多个预定上下文模型中的每个将预定进入点处的相应预定上下文模型的概率估计设定为其自身在对在预定进入点之前的符号序列进行算术编码期间在预定条件下所表现的保存状态,且算术编码器被配置为使用保存状态来恢复多个上下文模型的概率估计相对于相应预定上下文模型的自适应。
根据实施例,算术编码器被配置为使用相依量化用于使用状态机从未量化值序列得出信息值序列,其中进入点信息包含其自身在状态机中直至预定进入点所表现出的量化状态。
根据实施例,符号为二进数,且符号化为二进制化。
根据实施例,信息值为表示视频的语法元素序列。
根据实施例,信息值为神经网络参数。
根据本发明的实施例建立用于从比特流算术地解码信息值序列的算术解码器。算术解码器被配置为:从比特流得出进入点信息;使用进入点信息以便通过对于比特流的每个符号进行如下操作从比特流算术地解码符号序列而从预定进入点向前恢复对比特流的算术解码:基于算术解码器的写码状态的当前版本确定当前区间根据相应符号的概率估计被细分成的多个子区间中的子区间,且基于所选择的子区间推断相应符号的符号值;以及通过使用比特流及所选择的子区间重归一化且更新限定写码状态的解码器内部参数,例如R及V,以便获得算术解码器的写码状态的经更新版本以用于解码符号序列中的下一个符号;以及通过去符号化从符号序列得出信息值。
根据此实施例的算术解码器基于与上文所描述的算术编码器相同的考虑因素。
根据实施例,算术解码器被配置为使用进入点信息以便确定算术解码器的写码状态的起始版本,且使用起始状态用于开始从预定进入点向前算术地解码比特流。
根据实施例,算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针,且算术解码器被配置为从进入点信息得出指针的起始值,例如,值由预定进入点处的指针采用,使用该值开始从预定进入点向前算术地解码比特流。
根据实施例,算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针,且算术解码器被配置为从进入点信息得出区间宽度参数的起始值,例如,值由预定进入点处的区间宽度参数采用,使用该值开始从预定进入点向前算术地解码比特流。
根据实施例,算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针,且算术解码器被配置为从进入点信息得出指针的起始值,例如,值由预定进入点处的指针采用,使用值开始从预定进入点向前算术地解码比特流,且算术解码器被配置为将由关于算术解码器的写码状态的信息包含的区间宽度参数的值设定为等于预定值,且使用区间宽度参数的预定值来恢复从预定进入点向前对符号序列的算术解码。
根据实施例,进入点信息允许从多于一个进入点向前恢复对比特流的算术解码,且算术解码器被配置为通过对紧接后续预定进入点之前的具有预定符号值的符号进行算术解码,随后从后续预定进入点向前恢复对符号序列的算术解码来初步中断在后续预定进入点处对符号序列的算术解码。
根据实施例,算术解码器被配置为从进入点信息得出指向比特流中的预定比特的比特流指针,且使用预定比特作为在从预定进入点向前恢复对比特流的算术解码之后接下来将读取的位。
根据实施例,指向比特流中的预定比特的比特流指针以相对于比特流的开始(例如,将从其向前对比特流进行解码的前端)的偏移的形式在比特流中发信号通知。
根据实施例,指向比特流中的预定比特的比特流指针以相对于比特流的一串前导比特的尾端的偏移的形式在比特流中发信号通知,算术解码器被配置为基于偏移而在从比特流的开始向前执行对比特流的算术解码的情况下初始化算术解码器的写码状态(例如,指向区间的指针)。
根据实施例,进入点信息允许从多于一个进入点向前恢复对比特流的算术解码,且指向比特流中的预定比特的比特流指针以相对于先前进入点或相对于与预定进入点相关联的预定义比特流位置的偏移的形式在比特流中发信号通知。举例而言,第n预定义比特流位置与第n熵点相关联;预定义比特流位置可相互等距地定位。
根据实施例,算术解码器被配置为将预定义比特流位置作为序列值中的连续值之间的点(换言之:语法上)或通过对比特流的比特进行计数(或换言之:在比特层级上)而定位。
根据实施例,指向比特流中的预定比特的比特流指针以比特和/或比特的整数n倍为单位储存,其中n>1,且例如n=8。
根据实施例,在比特流中发信号通知先前进入点在比特流中的比特位置。
根据实施例,比特流指针相对于由进入点信息包含的用于指向比特流中的另一预定比特的另一比特流指针以不同方式在比特流中发信号通知,另一预定比特待在从先前进入点向前恢复对比特流的算术解码之后接下来被读取。
根据实施例,使用可变长度码在比特流中发信号通知比特流指针。
根据实施例,使用指数哥伦布码,优选地无符号指数哥伦布码,在比特流中发信号通知比特流指针。
根据实施例,预定进入点为相对于比特流的开始的第三进入点或在第三进入点之后的进入点中的任一个,且指向比特流中的预定比特的比特流指针以相对于先前进入点的偏移与先前进入点相对于在先前进入点之前的另一进入点的偏移之间的差的形式在比特流中发信号通知。
根据实施例,使用带符号指数哥伦布码在比特流中发信号通知比特流指针。
根据实施例,使用无符号指数哥伦布码在比特流中发信号通知先前进入点在比特流中的比特位置。
根据实施例,用于指数哥伦布码的指数哥伦布码参数为值11。
根据实施例,使用带符号指数哥伦布码在比特流中发信号通知比特流指针。
根据实施例,用于指数哥伦布码的指数哥伦布码参数为值7。
根据实施例,算术解码器被配置为使用上下文自适应算术解码用于对符号序列进行算术解码,包括:对于符号序列中的上下文自适应解码的符号,从多个上下文模型中选择上下文模型,多个上下文模型中的每个具有与其相关联的概率估计;以及使用符号序列中的先前经解码的符号使多个上下文模型的概率估计适应于实际符号统计,其中进入点信息对于一组一个或多个预定上下文模型中的每个指示相应预定上下文模型的预定概率估计,且算术解码器被配置为使用预定概率估计来恢复多个上下文模型的概率估计相对于相应预定上下文模型的自适应。
根据实施例,算术解码器被配置为使用上下文自适应算术解码用于对符号序列进行算术解码,包括:对于符号序列中的上下文自适应解码的符号,从多个上下文模型中选择上下文模型,多个上下文模型中的每个具有与其相关联的概率估计;以及使用符号序列中的先前经解码的符号使多个上下文模型的概率估计适应于实际符号统计,其中算术解码器被配置为对于一组一个或多个预定上下文模型中的每个将预定进入点处的相应预定上下文模型的概率估计设定为默认状态,且算术解码器被配置为使用默认状态来恢复多个上下文模型的概率估计相对于相应预定上下文模型的自适应。
根据实施例,进入点信息允许从多于一个进入点向前恢复对比特流的算术解码,且算术解码器被配置为对于一组一个或多个预定上下文模型中的每个将后续预定进入点处的相应预定上下文模型的概率估计设定为其自身在对在后续预定进入点之前的符号序列进行算术解码期间在预定条件下所表现的保存状态,且算术解码器被配置为使用保存状态来恢复相对于相应预定上下文模型从后续预定进入点向前对多个上下文模型的概率估计的自适应,例如,此处,解码器可并行地算术解码比特流:从一开始使用发信号通知或默认的上下文状态进行一次解码,以及一旦满足预定条件(诸如已解码某数量个信息值等等),则从进入点向前开始。
根据实施例,算术解码器被配置为使用相依去量化用于使用状态机从信息值序列得出经量化值序列,从进入点信息得出量化状态,从量化状态开始,从预定进入点向前恢复相依量化。
根据实施例,符号为二进数,且去符号化为去二进制化。
根据实施例,信息值为表示视频的语法元素序列。
根据实施例,信息值为神经网络参数。
根据本发明的实施例建立一种将信息值序列算术地编码为算术写码比特流的方法,包含:将信息值符号化为符号串,以便获得符号序列;通过以下操作来算术地编码符号序列:对于每个符号,根据相应符号的概率估计细分限定算术编码器的写码状态的当前版本的当前区间;根据相应符号的符号值选择多个子区间中的子区间,以便获得由所选择的子区间限定的算术编码器的写码状态的经更新版本以用于编码符号序列中的下一个符号;以及在继续比特流的情况下重归一化限定写码状态的编码器内部参数;以及向比特流提供进入点信息,从而允许从预定进入点向前恢复对比特流的算术解码。
根据此实施例的方法基于与上文所描述的用于编码的设备相同的考虑因素。此外,此所公开的实施例可以可选地通过本文中所揭示的任何其他特征、功能性及细节结合用于编码的设备(个别地及组合地)加以补充。
根据本发明的实施例建立一种从比特流算术地解码信息值序列的方法,包含:从比特流得出进入点信息;使用进入点信息以便通过对于比特流的每个符号进行如下操作从比特流算术地解码符号序列而从预定进入点向前恢复对比特流的算术解码:确定算术解码器的写码状态的当前版本、当前区间根据相应符号的概率估计被细分成的多个子区间中的子区间,且基于所选择的子区间推断相应符号的符号值;以及通过使用比特流及所选择的子区间重归一化且更新限定写码状态的解码器内部参数,以便获得算术解码器的写码状态的经更新版本以用于解码符号序列中的下一个符号;以及通过去符号化从符号序列得出信息值。
根据此实施例的方法基于与上文所描述的用于解码的设备相同的考虑因素。此外,此所揭示实施例可以可选地通过本文中所揭示的任何其他特征、功能性及细节结合用于解码的设备(个别地及组合地)加以补充。
根据本发明的实施例建立一种具有程序代码的计算机程序,程序代码用于当在计算机上运行时执行根据上文所描述的实施例中的任一个的方法。
根据本发明的实施例建立使用本文中所描述的实施例中的任一个的算术编码器产生的比特流。
根据本发明的实施例建立一种用于从比特流算术地解码神经网络参数的算术解码器,被配置为:通过使用上下文自适应算术解码从比特流算术地解码符号序列,包括:对于符号序列中的上下文自适应解码的符号,选择多个上下文模型中的上下文模型,多个上下文模型中的每个具有与其相关联的概率估计;使用所选择的上下文模型对上下文自适应解码的符号进行算术解码;以及使用符号序列中的先前经解码的符号使多个上下文模型的概率估计适应于实际符号统计;在比特流的开始处和/或在比特流内的一个或多个进入点处,通过去符号化从符号序列得出神经网络参数;对于一组(可能全部,但可能多个上下文模型的仅部分)一个或多个上下文模型中的每个,基于比特流中的上下文模型信息初始化与相应上下文模型相关联的概率估计。
根据实施例,算术解码器被配置为通过对于每个上下文模型,基于符号序列中已针对其选择相应上下文模型的先前上下文自适应解码的符号产生与相应上下文模型相关联的概率估计,来使用符号序列中的先前经解码符号使多个上下文模型的概率估计适应于实际符号统计。
根据实施例,算术解码器被配置为:通过以由第一敏捷性参数可控制的第一自适应敏捷性适应于实际符号统计的方式得出概率估计的第一假设,来使用符号序列中的先前经解码符号使多个上下文模型的概率估计适应于实际符号统计;在比特流的开始处和/或在比特流内的一个或多个进入点处,对于一组一个或多个上下文模型中的每个,基于比特流中的上下文模型信息设定与相应上下文模型相关联的第一假设及第一敏捷性参数。
根据实施例,算术解码器被配置为:通过以由第二敏捷性参数可控制的第二自适应敏捷性适应于实际符号统计的方式得出概率估计的第二假设,使用符号序列中的先前经解码符号使多个上下文模型的概率估计适应于实际符号统计,其中概率估计通过第一假设与第二假设的平均值确定;在比特流的开始处和/或在比特流内的一个或多个进入点处,对于一组一个或多个上下文模型中的每个,基于比特流中的上下文模型信息设定与相应上下文模型相关联的第二假设及第二敏捷性参数。
根据实施例,比特流中的上下文模型信息包含用于限定第一假设及第二假设以及第一敏捷性参数及第二敏捷性参数的值的四元组的表的表项索引,且算术解码器被配置为使用表项索引以便选择表的一个四元组且使用一个四元组以便设定第一假设及第二假设以及第一敏捷性参数及第二敏捷性参数。
根据实施例,用于限定第一假设及第二假设以及第一敏捷性参数及第二敏捷性参数的值的四元组的数量介于8与10之间,包括8及10。见下表,其中存在9条线/四元组。
根据实施例,用于限定第一假设及第二假设以及第一敏捷性参数及第二敏捷性参数的值的四元组对应于用于第一敏捷性参数及第二敏捷性参数的3个、4个或5个相互可区分设定中的一个。见下表,其中存在(1,4)、(2,6)、(0,5)或(3,5)。
根据实施例,符号为二进数,且去符号化为去二进制化,且用于限定第一假设及第二假设以及第一敏捷性参数及第二敏捷性参数的值的四元组包含:前3个四元组(例如,1,4,0,0、1,4,95,1519及1,4,-41,-654),根据所有前3个四元组,第一敏捷性参数设定为第一值,第二敏捷性参数设定为第二值,第二值对应于比第一值低的自适应敏捷性,且根据前3个四元组中的第一个,第一假设与第二假设对应于等概率,根据前3个四元组中的第二个,第一假设与第二假设对应于第一二进数值比第二二进数值概率大,且根据前3个四元组中的第三个,第一假设与第二假设对应于第二二进数值比第一二进数值概率大;第二3个四元组(例如,2,6,95,1519、2,6,30,482及2,6,-21,-337),根据所有第二3个四元组,第一敏捷性参数设定为第三值,第三值对应于比第一值低的自适应敏捷性且比第二值大的自适应敏捷性,且第二敏捷性参数设定为第四值,第四值对应于比第二值低的自适应敏捷性,且根据第二3个四元组中的第一个及第二个,第一假设与第二假设对应于第一二进数值比第二二进数值概率大,且根据第二3个四元组中的第三个,第一假设与第二假设对应于第二二进数值比第一二进数值概率大;2个四元组(例如,3,5,0,0及3,5,30,482),根据所有2个四元组,第一敏捷性参数设定为第四值,第四值对应于比第三值低的自适应敏捷性及比第二值大的自适应敏捷性,且第二敏捷性参数设定为第六值,第六值对应于比第一值低的自适应敏捷性及比第四值大的自适应敏捷性,且根据2个四元组中的第一个,第一假设与第二假设对应于等概率,且根据2个四元组中的第二个,第一假设与第二假设对应于第一二进数值比第二二进数值概率大;1个四元组(例如,0,5,0,0),根据1个四元组,第一敏捷性参数设定为第七值,第七值对应于比第一值大的自适应敏捷性,且根据1个四元组,第一假设与第二假设对应于等概率。
根据实施例,符号为二进数,且去符号化为去二进制化,且算术解码器被配置为:通过对于第一假设及第二假设中的每个,分别通过带符号整数表示相应假设,使用符号序列中的先前经解码符号使多个上下文模型的概率估计适应于实际符号统计,其中带符号整数在为零时指示等概率,在大于零时指示第一二进数值比第二二进数值概率大,且在低于零时指示第二二进数值比第一二进数值概率大;对于每个上下文模型,若当前解码的二进数具有第一二进数值,则增大带符号整数,且若当前解码的二进数具有第二二进数值,则减小带符号整数,增大或减小的量相对于第一假设由第一敏捷性参数控制,且相对于第二假设由第二敏捷性参数控制,以使得量越大,第一敏捷性参数及第二敏捷性参数分别越小,其中概率估计通过第一带符号整数与第二带符号整数的平均值确定。
根据实施例,算术解码器被配置为通过使用转换表来确定增大及减小的量。
根据实施例,算术解码器被配置为对于第一假设与第二假设使用相同的转换表。
根据实施例,算术解码器被配置为通过在由通过带符号整数确定的表索引而索引的条目处查找转换表以获得转换步长且将转换步长大小除以2的幂,来通过使用转换表确定增大及减小的量,其中幂分别取决于第一自适应参数及第二自适应参数,其中转换步长确定量。
根据实施例,带符号整数由具有n个比特的2补码表示法表示,其中n对于第二假设比对于第一假设大(在下文详细描述的示例中为8及12);即,第二假设的“尺度”与第一假设相比较大/较精细,以使得若转换步长相同,则敏捷性减小,其中算术解码器被配置为通过在由带符号整数除以2n-m(一方面)及2m-1(另方面)(在下文详细描述的示例中,m=5)的总和索引的条目处查找转换表,以便获得转换步长,将转换步长大小除以2的幂(因此,确定自适应敏捷性的自适应步长由敏捷性参数确定),而通过使用转换表确定增大及减小的量,其中幂的仿射线性地(分别为4+shift0及shift1)取决于相应的第一调适参数及第二调适参数,其中转换步长确定量。相依性可使得若第一敏捷性参数与第二敏捷性参数相同,则敏捷性在第一假设与第二假设之间相同;高于此通过“4+”进行,即通过将第一假设与第二假设之间的差n加至第一假设的敏捷性参数。
根据实施例,转换步长储存于转换表的条目中,单调地增大或减小。
根据本发明的实施例建立一种用于将神经网络参数算术地编码为比特流的算术编码器,被配置为:通过符号化从神经网络参数得出符号序列;通过使用上下文自适应算术编码将符号序列算术地编码为比特流,包括:对于符号序列中的上下文自适应编码的符号,选择多个上下文模型中的上下文模型,多个上下文模型中的每个具有与其相关联的概率估计;以及使用所选择的上下文模型对上下文自适应编码的符号进行算术编码;以及使用符号序列中的先前经编码符号使多个上下文模型的概率估计适应于实际符号统计;在比特流的开始处和/或在比特流内的一个或多个进入点处,对于一组一个或多个上下文模型中的每个,根据在比特流中发信号通知的上下文模型信息初始化与相应上下文模型相关联的概率估计。
根据实施例,算术编码器被配置为通过对于每个上下文模型,基于符号序列中已针对其选择相应上下文模型的先前上下文自适应编码的符号,产生与相应上下文模型相关联的概率估计,来使用符号序列中的先前经编码符号使多个上下文模型的概率估计适应于实际符号统计。
根据实施例,算术编码器被配置为:通过以可由第一敏捷性参数可控制的第一自适应敏捷性适应于实际符号统计的方式得出概率估计的第一假设,使用符号序列中的先前经编码的符号使多个上下文模型的概率估计适应于实际符号统计;在比特流的开始处和/或在比特流内的一个或多个进入点处,对于一组一个或多个上下文模型中的每个,根据在比特流中发信号通知的上下文模型信息设定与相应上下文模型相关联的第一假设及第一敏捷性参数。
根据实施例,算术编码器被配置为:通过以由第二敏捷性参数可控制的第二自适应敏捷性适应于实际符号统计的方式得出概率估计的第二假设且形成第一假设与第二假设的平均值,使用符号序列中的先前经编码的符号使多个上下文模型的概率估计适应于实际符号统计;在比特流的开始处和/或在比特流内的一个或多个进入点处,对于一组一个或多个上下文模型中的每个,根据在比特流中发信号通知的上下文模型信息设定与相应上下文模型相关联的第二假设及第二敏捷性参数。
根据实施例,比特流中的上下文模型信息包含用于限定第一假设及第二假设以及第一敏捷性参数及第二敏捷性参数的值的四元组的表的表项索引,且算术编码器被配置为使用表项索引以便选择表的一个四元组且使用一个四元组以便设定第一假设及第二假设以及第一敏捷性参数及第二敏捷性参数。
根据实施例,用于限定第一假设及第二假设以及第一敏捷性参数及第二敏捷性参数的值的四元组的数量介于8与10之间,包括8及10。见下表,其中存在9条线/四元组。
根据实施例,用于限定第一假设及第二假设以及第一敏捷性参数及第二敏捷性参数的值的四元组对应于用于第一敏捷性参数及第二敏捷性参数的3个、4个或5个相互可区分设定中的一个。见下表,其中存在(1,4)、(2,6)、(0,5)或(3,5)。
根据实施例,用于限定第一假设及第二假设以及第一敏捷性参数及第二敏捷性参数的值的四元组包含:前3个四元组(例如,1,4,0,0、1,4,95,1519及1,4,-41,-654),根据所有前3个四元组,第一敏捷性参数设定为第一值,第二敏捷性参数设定为第二值,第二值对应于比第一值低的自适应敏捷性,且根据所有前3个四元组中的第一个,第一假设与第二假设对应于等概率,根据所有前3个四元组中的第二个,第一假设与第二假设对应于第一二进数值比第二二进数值概率大,且根据所有前3个四元组中的第三个,第一假设与第二假设对应于第二二进数值比第一二进数值概率大;第二3个四元组(例如,2,6,95,1519、2,6,30,482及2,6,-21,-337),根据所有第二3个四元组,第一敏捷性参数设定为第三值,第三值对应于比第一值低的自适应敏捷性且比第二值大的自适应敏捷性,且第二敏捷性参数设定为第四值,第四值对应于比第二值低的自适应敏捷性,且根据第二3个四元组中的第一个及第二个,第一假设与第二假设对应于第一二进数值比第二二进数值概率大,且根据第二3个四元组中的第三个,第一假设与第二假设对应于第二二进数值比第一二进数值概率大;2个四元组(例如,3,5,0,0及3,5,30,482),根据所有2个四元组,第一敏捷性参数设定为第四值,第四值对应于比第三值低的自适应敏捷性及比第二值大的自适应敏捷性,且第二敏捷性参数设定为第六值,第六值对应于比第一值低的自适应敏捷性及比第四值大的自适应敏捷性,且根据2个四元组中的第一个,第一假设与第二假设对应于等概率,且根据2个四元组中的第二个,第一假设与第二假设对应于第一二进数值比第二二进数值概率大;1个四元组(例如,0,5,0,0),根据1个四元组,第一敏捷性参数设定为第七值,第七值对应于比第一值大的自适应敏捷性,且根据1个四元组,第一假设与第二假设对应于等概率。
根据实施例,符号为二进数,且符号化为二进制化,且算术编码器被配置为:通过对于第一假设及第二假设中的每个,分别通过带符号整数表示相应假设,使用符号序列中的先前经编码符号使多个上下文模型的概率估计适应于实际符号统计,其中带符号整数在为零时指示等概率,在大于零时指示第一二进数值比第二二进数值概率大,且在低于零时指示第二二进数值比第一二进数值概率大;对于每个上下文模型,若当前编码的二进数具有第一二进数值,则增大带符号整数,且若当前编码的二进数具有第二二进数值,则减小带符号整数,增大或减小的量相对于第一假设由第一敏捷性参数控制,且相对于第二假设由第二敏捷性参数控制,以使得量越大,第一敏捷性参数及第二敏捷性参数分别越小,其中概率估计通过第一带符号整数与第二带符号整数的平均值确定。
根据实施例,算术编码器被配置为通过使用转换表来确定增大及减小的量。
根据实施例,算术编码器被配置为对于第一假设与第二假设使用相同的转换表。
根据实施例,算术编码器被配置为通过在由通过带符号整数确定的表索引而索引的条目处查找转换表以获得转换步长且将转换步长大小除以2的幂,来通过使用转换表确定增大及减小的量,其中幂分别取决于第一自适应参数及第二自适应参数,其中转换步长确定量。
根据实施例,带符号整数由具有n个比特的2补码表示法表示,其中n对于第二假设比对于第一假设大(在下文详细描述的示例中为8及12;即,第二假设的“尺度”与第一假设相比较大/较精细,以使得若转换步长相同,则敏捷性减小),其中算术编码器被配置为通过使用转换表确定增大及减小的量,具体地通过在由带符号整数除以2n-m(一方面)及2m-1(另一方面)(在下文详细描述的示例中,m=5)的总和索引的条目处查找转换表,以便获得转换步长,将转换步长大小除以2的幂(因此,确定自适应敏捷性的自适应步长由敏捷性参数确定),幂的仿射线性地(分别为4+shift0及shift1)取决于相应的第一自适应参数及第二自适应参数,其中转换步长确定量。相依性可使得若第一敏捷性参数与第二敏捷性参数相同,则敏捷性在第一假设与第二假设的间相同;高于此则通过“4+”进行,即通过将第一假设与第二假设之间的差n相加至第一假设的敏捷性参数。
根据实施例,转换步长储存于转换表的条目中,单调地增大或减小。
算术编码器、算术解码器、算术编码方法、算术解码方法、用于实行这些方法的计算机程序、用于算术编码神经网络参数的算术编码器以及比特流可以可选地由本文中所揭示(在完整文件中)的特征、功能性及细节中的任何个别地及组合地加以补充。
附图说明
下文基于诸图来阐明本申请的优选实施例,其中:
图1示出根据实施例的用于编码的方法100的流程图;
图2示出根据实施例的用于解码的方法200的流程图;
图3示出根据实施例的在编码及解码算术比特流期间出现的编码及解码参数的示意性表示,其中说明关于可发信号通知为比特流中的进入点信息的内容的不同可能性。
具体实施方式
在图1中呈现根据实施例的将整数值序列算术地编码为算术写码比特流的方法100。
方法包含在步骤101处将信息值符号化成符号串以便获得符号序列,以及在步骤102处算术地编码符号序列。
算术编码包含在步骤103处对于每个符号,根据相应符号的概率估计对当前区间进行细分,当前区间限定算术编码器的写码状态的当前版本。算术编码进一步包含在步骤104处根据相应符号的符号值而从多个子区间中选择子区间。由此获得由所选择的子区间限定的算术编码器的写码状态的经更新版本,其进一步用于编码符号序列中的下一个符号。算术编码进一步包含在步骤105处在继续比特流的情况下重归一化限定写码状态的编码器内部参数。
在执行算术编码之后,方法100进一步在步骤106处向比特流提供进入点信息,从而允许从预定进入点向前恢复对比特流的算术解码。
然而,应注意,方法100可以可选地通过本文所揭示的特征、功能性及细节中的任何个别地或组合地加以补充。
在图2中呈现根据实施例的从比特流算术地解码信息值序列的方法200。
方法包含:在步骤201处,从比特流得出进入点信息;及在步骤202处,使用进入点信息以便通过对于比特流的每个符号从比特流算术地解码符号序列而从预定进入点向前恢复对比特流的算术解码。从比特流算术地解码符号序列包含在步骤203处,确定算术解码器的写码状态的当前版本及当前区间根据相应符号的概率估计被细分成的多个子区间中的子区间。算术解码进一步包含在步骤204处基于所选择的子区间来推断相应符号的符号值。算术解码进一步包含在步骤205处,通过使用比特流及所选择的子区间,重归一化且更新限定写码状态的解码器内部参数,以便获得算术解码器的写码状态的经更新版本以用于解码符号序列中的下一个符号。
在执行算术解码之后,方法200在步骤206处进一步通过去符号化而从符号序列得出信息值。
然而,应注意,方法200可以可选地通过本文所揭示的特征、功能性及细节中的任何个别地或组合地加以补充。
图3为如在编码及解码期间产生的编码及解码参数的示意性表示,其中说明关于可发信号通知为比特流中的进入点信息以待用于解码过程中的内容。
在编码及解码的开始处、在比特流的开始处或在将从其向前完全解码比特流的前端处,可以以默认方式初始化以下变量:编码器及解码器两者处的区间宽度R、编码器处的区间偏移L、编码器及解码器两者处的上下文模型的状态(可选地,若上下文自适应性适用),及可选地,量化状态(若使用相依量化)。指针V可通过解码器从比特流中的前几个比特得出。从开始向内,参数产生,且解码器将必须执行整个解码过程才能知晓在任何进入点处出现哪些状态。根据实施例,编码器负责产生此信息,且将此信息与比特流一起输送至解码器,以使得解码器可直接在进入点中的一个处开始解码。
比特流的进入点中的每个可被视为算术编码器的状态的快照,或更精确而言,可被视为在编码器中执行以仿真编码器处的状态的算术解码过程的快照。特别地,比特流的进入点大致指示如在解码相关比特流期间出现的上下文模型的状态或解码过程的量化状态的快照。所指示变量因此在比特流中针对预定进入点发信号通知。其可在比特流之前的报头中、在比特流之后发信号通知或在其间插入(诸如在进入点自身处)。解码所需参数的部分可在编码器与解码器处以同步方式在进入点处设定,使得无需将其相关信息包括于进入点信息中。
在下文中,描述用于将信息值序列算术地编码为算术写码比特流(例如含有经编码神经网络数据的比特流,例如NNR比特流)的实施例。表1中以伪码的形式示出允许从预定进入点向前恢复对比特流的算术解码的进入点信息。自然地,本文中所阐述的细节亦展现因此产生的比特流的对应算术解码。
表1
根据图1,信息值被符号化为符号串,以便获得符号序列,符号序列通过对于每个符号进行以下操作而被算术地编码:选择限定算术编码器的写码状态的当前版本的当前区间根据相应符号的概率估计被细分成的多个子区间中的子区间,选择是根据相应符号的符号值而进行,以便获得由所选择的子区间限定的算术编码器的写码状态的经更新版本以用于编码符号序列中的下一个符号;以及在继续比特流的情况下重归一化限定写码状态的编码器内部参数。
向比特流提供进入点信息,从而允许从预定进入点向前恢复对比特流的算术解码。
如表1中可见,允许从预定进入点向前恢复对比特流的算术解码的进入点信息包括:
cabac_offset_list,其指定待用以初始化进入点的开始处的变量IvlOffset的值的列表。其被示例性地示出为被写码为8位无符号整数,但其亦可以不同方式写码;在此示例中,变量IvlCurrRange及IvlOffset用以限定算术解码引擎的状态或写码状态;即,算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针;此处,IvlCurrRange表示区间的宽度,且IvlOffset指示指向区间的指针。
dq_state_list指定待用以初始化进入点的开始处的变量stateId的值的列表。其被示例性地示出为被写码为3位无符号整数,但其亦可以不同方式写码;stateId在此处用作表示用以执行相依量化的状态机的状态的变量。
bit_offset_delta1指定列表BitOffsetList的第一元素。其被示例性地示出为使用无符号11阶指数哥伦布码代码,但其亦可以不同方式写码;
bit_offset_delta2指定列表BitOffsetList的除了第一元素以外的元素,作为与列表BitOffsetList的先前元素的差。其被示例性地示出为使用带符号7阶指数哥伦布码而写码;
变量BitOffsetList为待用以设定进入点的开始处的比特流指针位置的比特偏移的列表。
更精确而言,表1关于其中使用相依量化用于从未量化值序列(即,使用状态机)得出信息值序列的实施例,其中进入点信息包含其自身在状态机中直至预定进入点所表现出的量化状态,即,stateId。
使用表1中的进入点信息来启动从预定进入点向前算术解码比特流的方式以伪码形式例示性地展示于表2中。
表2
在表2中,变量entryPointOffset用以指示是否存在用于解码的进入点,且若进入点存在,指示是否存在进入点偏移。若索引i不指向进入点的第一位置,则GetEntryPointIdx(tensorDimensions[],i,scan)返回-1。若索引i指向进入点的第一位置,则其返回张量内的进入点索引。
若索引i不指向进入点的第一位置,则GetEntryPointIdx(tensorDimensions[],i,scan)返回-1。若索引i指向进入点的第一位置,则其返回张量内的进入点索引。为确定进入点的位置及索引,以下适用:
将变量w设定为Prod(tensorDimensions)/tensorDimensions[0]
将变量epIdx设定为i/(w*(4<<scan))-1
若i>0且i%(w*(4<<scan)等于0,则索引i指向进入点的第一位置,且进入点索引等于epIdx。
否则,索引i不指向进入点的第一位置。
dq_flag指定量化方法为相依纯量量化还是均匀量化。dq_flag等于0指示使用均匀量化方法。dq_flag等于1指示使用相依纯量量化方法。若dq_flag不存在,则推断其为0。
set_bit_pointer设定比特流指针的位置。init_prob_est_param()调用概率估计参数的初始化过程。
scan_order根据下表指定具有多于一个维度的参数的区块扫描次序:
-0:无区块扫描
-1:8x8区块
-2:16x16区块
-3:32x32区块
-4:64x64区块
即,在表1及表2提供的示例中,进入点信息包含指向比特流中的预定比特的比特流指针,即set_bit_pointer,预定比特待在从预定进入点向前恢复对比特流的算术解码之后接下来被读取。此处,进入点信息允许从多于一个进入点向前(即对于NumBlockRowsMinus1进入点)恢复对比特流的算术解码。当通过完整地扫描一个维度,随后沿着此维度扫描下一列(以此类推)来逐列或有规律地扫描张量时,可将进入点限定为定位于列改变之间。指向比特流中的预定比特的比特流指针以相对于先前进入点的偏移的形式在比特流中发信号通知,如可从表1中的加法BitOffsetList[j]=BitOffsetList[j-1]+bit_offset_delta2得出。
在每个进入点j处,分别使用相对于区间指针及相依量化状态的cabac_offset_list[j]及dq_state_list[j]来初始化写码状态。根据此实施例,区间宽度在每个进入点处被设定为恒定或预定义固定值,即默认值,即此处示例性地为256,其中在此示例中,IvlCurrRange及IvlOffset两者皆为16位缓存器精度。然而,后者的显式比特精度仅为示例,且可改变。
4.其他实施例及方面
在下文中,将描述可个别地使用或组合本文中所揭示的任何其他实施例而使用的根据本发明的其他方面及实施例。
此外,在此部分中所揭示的实施例可以可选地通过本文所揭示的任何其他特征、功能性及细节个别地或组合地加以补充。
进一步描述根据本发明的实施例的用于算术写码的进入点结构。
背景
基于上下文的自适应二进制算术写码(CABAC)为用于编码及解码符号序列的方法。二进制化阶段将此类序列的每个符号转换为一个或多个二进制符号(二进数)的序列,且算术地将这些二进数序列的串接编码为比特流。上下文模型化阶段基于先前编码的二进数及上下文信息使概率估计与用于算术写码的每个二进数相关联。解码器具有可用的相同信息,且可再现相同的概率估计以便进行算术解码。
CABAC的二进制化阶段及上下文模型化阶段的评述
二进制化及上下文模型化很大程度上取决于应用。举例而言,视频压缩标准H.265/HEVC及H.266/VVC两者皆使用CABAC作为算术写码引擎,但在其调谐至出现的语法元素的类型时具有极为不同的二进制化及上下文模型化阶段。然而,使用CABAC维护一组所谓的上下文模型及二进制化及上下文模型化的大多数应用对应于明确地使每个二进数与来自此组的特定上下文模型相关联。上下文模型通常被实现为仅考虑先前与上下文模型相关联的二进数的反向自适应概率估计器。
在下文中,评述根据本发明的实施例的用于实现上下文模型的不同概念的三个示例:
关于实现的细节可见于行“注释”中的相应资源中。
注意:ISO/IEC 15938部分17标准的委员会草案在概率估计器的描述中含有些不正确等式,其需要如下校正以便产生正确的“NNR”上下文模型实现:
·在章节11.3.4.3.2.1中,等式“valMps=pStateIdx0+pStateIdx0>=0”必须用“valMps=16*pStateIdx0+pStateIdx1>=0”替换。
·在章节11.3.4.3.2.1中,等式“ivlLpsRange=rps_table[(abs((pStateIdx0+pStateIdx1)>>7))+qRangeIdx]”必须用“ivlLpsRange=rps_table[(abs((16*pStateIdx0+pStateIdx1)>>7))+qRangeIdx]”替换。
·在章节11.3.4.3.2.2中,等式“pStateIdx0+=sign*(transition_table[16+(sign*pStateIdx0>>3)]>>shift0)”必须用“pStateIdx0+=sign*(transition_table[16+(sign*pStateIdx0>>3)]>>(4+shift0))”替换。
·在章节11.3.4.3.2.2中,等式“pStateIdx1+=sign*(transition_table[16+(sign*pStateIdx0>>7)]>>shift1)”必须用“pStateIdx1+=sign*(transition_table[16+(sign*pStateIdx1>>7)]>>shift1)”替换。
根据本发明的实施例,仅感兴趣表示上下文模型的状态的变量,因为概率估计过程并未改变。应注意,本发明的当前实施例亦可应用于此处未描述的其他类型的概率估计器。
此外,在本发明的实施例中,可能存在不与上下文模型相关联的二进数,如熟知的旁路二进数或终止二进数。
ISO/IEC 15938部分17标准的委员会草案对根据本发明的实施例的概率估计器的详细评述。
每个上下文模型维持例如四个变量shift0、shift1、pStateIdx0及pStateIdx1。变量pStateIdx0及pStateIdx1分别为二补码表示法中的8及12位整数。
可如下例如从pStateIdx0及pStateIdx1且从算术编码器或解码器的当前写码区间ivlCurrRange的宽度(其为在区间[256,510]中的值)得出用于算术编码或解码的概率估计:
valMps=16*pStateIdx0+pStateIdx1>=0
qRangeIdx=ivlCurrRange&0xe0
rlps_table=[128,112,97,84,74,65,57,50,45,39,34,30,27,23,20,18,15,14,12,11,10,9,7,7,
5,5,4,4,3,3,2,2,142,125,108,93,82,72,63,56,50,43,38,33,30,26,22,20,
17,16,13,12,11,10,8,8,6,6,5,5,3,3,2,2,156,137,119,103,90,79,70,61,
55,48,42,37,33,28,24,22,19,17,15,13,12,11,9,9,6,6,5,5,4,4,2,2,
171,150,130,112,99,87,76,67,60,52,46,40,36,31,27,24,21,19,16,15,13,12,10,10,
7,7,6,6,4,4,3,3,185,162,141,121,107,94,82,73,65,56,50,43,39,34,29,26,
22,21,17,16,14,13,11,11,8,8,6,6,4,4,3,3,199,175,152,131,115,101,89,78,
70,61,54,47,42,36,31,28,24,22,19,17,15,14,12,12,8,8,7,7,5,5,3,3,
213,187,163,140,123,108,95,84,75,65,58,50,45,39,33,30,26,24,20,18,16,15,13,13,
9,9,7,7,5,5,3,3,228,200,174,150,132,116,102,90,80,70,62,54,48,42,36,32,
28,26,22,20,18,16,14,14,10,10,8,8,6,6,4,4]
ivlLpsRange=rps_table[(abs((16*pStateIdx0+pStateIdx1)>>7))+qRangeIdx]
变量valMps为大概率符号(MPS)的值,且小概率符号(LPS)的概率估计给定为pLPS=ivlLpsRange/ivlCurrRange。因此,大概率符号的概率估计简单地为pMPS=1-pLPS。
等于1的下一个二进数的概率Pr(bin==1)可例如得出如下:
若valMps==1:Pr(bin==1)=pMPS
否则,(若valMps==0):Pr(bin==1)=pLPS
应注意,这些概率估计不直接出现在编码器或解码器中,因为算术编码或解码仅需要与MPS及LPS相关联的子区间宽度。
在编码开始时,pStateIdx0及pStateIdx1两者均设定为0,近似对应于pLPS=0.5。
在例如根据以下等式使用变量shift0及shift1通过值binVal、pStateIdx0及pStateIdx1更新二进数的编码或解码之后:
transition_table=[2512,2288,2064,1840,1616,1392,1168,944,720,560,464,368,272,208,144,80,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,0]
sign=2*binVal-1
pStateIdx0+=sign*(transition_table[16+(sign*pStateIdx0>>3)]>>(4+shift0))
pStateIdx1+=sign*(transition_table[16+(sign*pStateIdx1>>7)]>>shift1)
如可从等式看出,用于shift0或shift 1的较大值分别导致对pStateIdx0或pStateIdx1的值的较小修改,这对应于所得概率估计的较小改变,而较小值对应于较大改变。因此,shift0及shift1可被视为控制pStateIdx0及pStateIdx1的更新敏捷性的敏捷性参数。(shift0,shift1)的典型值为例如(1,4)、(0,0)、(0,5)、(1,1)、(1,2)、(2,4)、(2,6)、(3,4)或(3,5),且其取决于待编码二进数的序列的统计特性,其值最适合于shif0及shift1。
基础原理称为指数加权移动平均值(EWMA)。
进一步描述根据本发明的实施例的CABAC(M写码器)的算术写码引擎的评述。
根据实施例的M写码器在解码器中维持两个无符号B位整数变量V及R。通常,B设定为9,但其他选择亦为可能的。在解码开始时,以算术编码比特流的前B个比特初始化V(使比特流指针前移B个比特),且将R设定为初始值,如例如2B-2。应注意,比特流可在算术编码开始之前含有其他比特,诸如高级语法。R表示当前写码区间的宽度,且其仅可含有在区间[2B -1,2B-1]中的值。写码区间给定为[0,R],且V表示指向写码区间的指针,即必须始终保持V<R。对于二进数b的解码,使用熟知技术(如上下文模型化及概率估计,如例如指数加权移动平均值(EWMA))估计b的两个可能值的概率。基于与二进数b相关联的估计概率,得出两个子区间IL=[0,RL[及IR=[RL,R],其中IL与二进数b的一个可能值相关联,且IR与二进数b的另一可能值相关联。举例而言,IR通常基于所估计概率与小概率符号(LPS)相关联,而IL与大概率符号(MPS)相关联。
举例而言,如下进行二进数的解码(枚举列表对应于有序步骤):
若V<RL:
1.与IL相关联的符号值为b的经解码值。
2.将R设定为RL。
否则,(V>=RL):
1.与IR相关联的符号值为b的经解码值。
2.将R设定为R-RL。
3.将V设定为V-RL。
若随后R<2B-1,则例如如下进行重归一化:
1.将R设定为2*R
2.将V设定为2*V+ReadOneBit()
3.若R<2B-1,则继续步骤1(否则,进行重归一化)。
函数ReadOneBit()返回比特流中的下一个比特,且将比特流指针前移1个比特。
以上二进数解码程序亦称为常规写码模式。此外,存在熟知的旁路写码模式及终止二进数写码模式。
进一步描述根据本发明的实施例的概念。
算术解码为几乎不可并行化的顺序过程。根据本发明的实施例的概念引入用于使得解码器能够通过限定所谓的进入点而在比特流中的预定义位置处开始解码的方法。以此方式,若干解码器可并行地操作,从而解码单个比特流的不同部分(在不同进入点处开始)。
进入点
进入点可被视为在解码特定二进数之前算术解码器的状态的快照。即,其由以下变量组成:
a.R
b.V
c.指向比特流中的下一个比特的指针
d.CABAC解码器的状态(例如,上下文模型的状态及可能的其他相关变量,如相依量化方案的状态)
此进入点将需要B-1个比特用于R(用于表示区间[2B-1,2B-1]中的所有可能值)、B个比特用于V,且其他比特用于储存c.及d.。为了储存c.,在实施例中,使用如指数哥伦布码的可变长度码可为适当的,因为小指针值将产生短二进制代码字。然而,储存d.可能需要巨大数量个比特,因为可能存在大数量个上下文模型,且每个上下文模型可能需要若干比特来表示其内部状态。
明显地,亦可在实施例中针对现有CABAC比特流建立进入点,而不需要重新编码比特流。
在优选实施例中,已针对CABAC比特流产生一个或多个进入点。对于第一进入点,指向比特流中的下一个比特的指针c.被储存为算术解码开始处的比特位置与第一进入点的比特位置之间的差。
在另一优选实施例中,此差进一步减小B(因为前B个比特在算术解码器的初始化期间加载至V中)。
在另一优选实施例中,第一进入点之后的所有进入点(若存在)相对于先前进入点的指向比特流中的下一个比特的指针c.储存指向比特流中的下一个比特的指针c.。举例而言,储存当前进入点与先前进入点的指向比特流的下一个比特的指针c.之间的差。
在另一优选实施例中,指示指向比特流中的下一比特的指针c.的待储存整数值(例如,给出为如先前优选实施例中所描述的差)使用k阶无符号指数哥伦布码(其例如对应于如在ISO/IEC 15938部分17的委员会草案中所限定的数据类型ue(k))被编码在比特流中。
在另一优选实施例中,在表示比特流中的下一个比特c.的整数的计算(如先前优选实施例中所描述)中所涉及的指向比特流中的下一个比特的指针c.在进行计算之前经向下舍入至8的倍数。所得差因此亦为8的倍数,且可除以8,从而得到字节偏移(而非比特偏移)。此外,3个额外比特被编码在进入点中,从而指示当前进入点的当前字节中的比特位置。
在优选实施例中,编码及解码涉及维持状态变量的熟知的相依量化方案(如例如用于ISO/IEC 15938部分17的委员会草案中)。将固定数量个比特与每个进入点一起储存以指示相依量化状态的值。举例而言,对于ISO/IEC 15938部分17的委员会草案,储存指示相依量化状态的8个可能值中的一个的3位变量。
进一步描述根据实施例的指向比特流中的下一个比特的指针c.的双差分信令。
在其中进入点在比特流中大致等距地定位的应用中,在相邻进入点之间的指向比特流中的下一个比特的指针c.之间的差具有大致相同的值。在此情形中,对于除前两个进入点之外的所有进入点,发信号通知这些比特位置的“差的差”可能更高效。更精确而言,考虑三个相邻进入点ep1、ep2及ep3与分别给定为bitPos1、bitPos2及bitPos3的相关联的指向比特流中的下一个比特的指针c.。此外,假定bitPos1<bitPos2<bitPos3成立。接着,对于大致相等间隔的进入点ep1、ep2及ep3,差d1=bitPos2-bitPos1与d2=bitPos3-bitPos2具有大致相同的值。即,差的差d2-d1具有小量值。因此,在优选实施例中,针对进入点ep3的比特流中的下一个比特的位置c.发信号通知为“双差”dd3=d2-d1。应注意,dd3现可能亦为负的。由于dd3的量值往往会小于d3的量值,因此当例如使用带符号指数哥伦布码时,有可能在比特流中以较少比特对其进行发信号通知。
在另一优选实施例中,指示具有进入点ep2的比特流c.中的下位的位置的差d1发信号通知为具有参数k=11的无符号指数哥伦布码。
在另优选实施例中,指示进入点ep3的比特流中的下一比特的位置c.的差dd3(如上文所讨论表示为“双差”)发信号通知为具有参数k=7的带符号指数哥伦布码。
在另一优选实施例中,指示比特流中的下一个比特的位置c.的差分和/或双差分值(如上文所描述)基于未在比特流中编码但替代地由编码器及解码器在预定比特置处得出的进入点而计算。举例而言,第一进入点ep1并不在比特流中发信号通知(相反地,在编码器及解码器中得出),而是用以计算用于发信号通知ep2的差或双差。
进一步描述根据本发明的实施例的具有编码器修改的进入点。
如先前部分中所论述,在进入点中储存d.可能需要大量比特。在此部分中,描述通过允许编码器修改而减小进入点的大小的若干概念。
进一步描述根据实施例的对CABAC编码器及解码器的状态(d.)的修改。
根据实施例,CABAC编码器及解码器的状态d.在进入点的开始处被设定为预定义值。因此,不必将d.储存于进入点中。然而,这可导致较大的算术编码的比特流,因为概率模型化准确度降低。
举例而言,在进入点的开始处的CABAC编码器及解码器的状态可根据以下规则中的一个(根据实施例,每个)来设定:
1.CABAC编码器及解码器的状态被重设至默认值。
2.CABAC编码器及解码器的状态使用在比特流中发信号通知的信息来初始化。
3.CABAC编码器及解码器的状态被设定至CABAC编码器及解码器的先前保存状态。
前已述及,CABAC编码器及解码器的状态可由一组上下文模型及其他变量组成。通常有意义的是将不同规则应用于CABAC编码器及解码器的状态的不同部分。举例而言,根据实施例,规则1可应用于上下文模型,而根本不应用规则可能更适合于其他变量,如相依量化方案的状态。即,其他变量与进入点一起储存。或在另一示例中,根据实施例,规则1或规则2应用于上下文模型的第一子集,而规则2或规则3应用于上下文模型的第二(不相交)子集。
根据实施例的基于规则1的示例为:
规则1可能为避免需要与进入点一起储存d.的最简单方法。然而,这亦可能导致实质上增大的算术写码比特流,因为概率模型化准确度大大降低。
根据实施例的基于规则2的示例为:
规则2可例如仅应用于上下文模型,而其他规则(或无规则)可应用于与CABAC编码器及解码器的状态(如例如相依量化方案的状态)相关联的所有其他变量(若存在)。举例而言,一些或所有上下文模型的初始化可在比特流中在第一进入点之前的某处发信号通知。在每个进入点的开始处,此初始化信息用以得出每个上下文模型的初始状态。
根据实施例的基于规则3的示例为:
举例而言,上下文模型的存储和加载状态例如是从视频压缩标准H.265/HEVC的波前并行处理的上下文中已知的。编码器及解码器将上下文模型的状态储存在预定义位置处,且使其可用于在其他预定义位置处加载这些状态。此概念可与进入点概念组合,其中保存的上下文模型状态在进入点的开始处被加载。
进一步描述根据实施例的对CABAC编码器及解码器中的变量R的修改。
变量R在范围[2B-1,2B-1]内。因此,将R储存于进入点中需要B-1个比特(这是因为区间中存在2B-1-2B-1+1=2B-1个值)。在实施例中,可通过在产生进入点之前编码及解码所谓的伪二进数来避免在进入点中发信号通知R。这是通过对于RL设定为2B-1的规则二进数使用编码程序且选择与IL相关联的符号值作为经编码或经解码的符号而进行的。应注意,仅在R>2B-1的情况下才需要此伪二进数。在此伪二进数之后,变量R始终为2B-1,且因此,其无需储存于进入点中,从而节省B-1个比特。由于伪二进数始终为大概率符号(MPS),因此其在比特流中产生小于1个比特的比特的平均部分,平均部分小于所保存的B-1个比特。此技术亦对变量V的可能值具有影响,因为V<R必须始终成立。因此,V<2B-1同样成立,且V可以以B-1个比特而非B个比特在比特流中发信号通知,从而再节省进入点中的一个比特。
在优选实施例中,R在进入点的开始处(在编码器及解码器中)设定为2B-1,且V储存为具有B-1个比特的固定长度变量。
进一步描述根据本发明的实施例的应用进入点来压缩值的2D阵列。
若干应用将值的2D阵列编码为比特流。举例而言,影像或视频压缩方案编码被表示为样本的2D阵列的图像,或用于神经网络参数的压缩方案将参数张量再成形为2D结构,以便编码所含有的参数值。这种方案通常对2D阵列应用区块分割技术,且其亦限定用于编码或解码的所得区块的顺序。此外,此类方案亦可含有有损操作,如例如量化,且经解码及经重构2D阵列不相同于原始2D阵列,但通常类似(例如,在视频压缩的情况下在视觉意义上类似)。
考虑例如将2D阵列(如影像平面或再成形参数张量)细分成大小为N×N的区块且限定扫描次序的视频或神经网络参数压缩方案,其中区块以扫描次序被排序用于将其编码成比特流。此方案形成N×N区块的行及列。举例而言,行内的次序可以最左侧区块开始且前进至右侧。行的次序可简单地开始于最上部行,向下前进。此扫描次序亦称为光栅扫描,且可能期望使得解码器能够并行地解码所有行。在此情况下,将需要在每个行的开始处的一个进入点。然而,应注意,在实施例中,解码器可能需要相邻区块的信息以便能够解码当前区块。举例而言,视频压缩算法通常存取相邻区块(例如,左侧或顶部)的信息以便能够解码当前区块。在此情况下,解码器必须进一步确保这些区块在可进行当前区块的解码之前被解码。
此外,并行解码可适用于一些2D阵列,而对于其他阵列,可能并非必要的。举例而言,对于大2D阵列,其可为有用的,而对于小2D阵列,其可能并非必要的。在优选实施例中,在比特流中发信号通知是否存在用于2D阵列的进入点。
在优选实施例中,上下文模型的状态(根据规则3)被储存于每个行的第一区块之后。在每个区块行的开始处产生一个进入点,其中上下文模型的状态经设定为如在上方相邻行的第一区块的编码或解码之后存在的所储存值。
在另一优选实施例中,上下文模型的状态(根据规则3)被储存于第一行的第一区块之后。在每个区块行的开始处产生一个进入点,其中上下文模型的状态被设定为如在最上行的第一区块的编码或解码之后存在的相同值。
进一步描述根据实施例的用于进入点的共享上下文模型初始化信息的发信号通知。
在CABAC解码开始之前,所有上下文模型的状态必须设定为预定义值。举例而言,此可为默认值或通过使用更复杂的上下文模型初始化程序。举例而言,用于神经网络的ISO/IEC 15938部分17压缩标准的委员会草案(包括如上文所论述的经校正等式)对于每个上下文模型使用两个状态变量(pStateIdx0及pStateIdx1),且使移位参数(shift0及shift1)与状态变量中的每个相关联。移位参数控制基于EWMA估计器的状态变量更新的自适应敏捷性。在算术编码或解码开始时,将每个上下文模型的两个状态变量设定为0,其对应于0.5的初始概率估计。此外,存在用于两个移位参数(见阵列ShiftParameterSet)的初始化的9个预定义值对,且其在用于每个上下文模型的比特流中发信号通知9个值对中的哪个用于移位参数。
亦区分上下文模型的状态变量的若干不同初始化值的效应通常相当有限,这是因为基础EWMA估计器快速适应于与上下文模型相关联的二进数序列的统计。然而,若存在进入点且若在每个进入点处初始化上下文模型,则此效应变得更相关。因此,允许一组不同值用于初始化上下文模型的状态变量可为有益的。
在优选实施例中,限定4元组的列表,每个4元组表示用于上下文模型的两个状态变量及两个移位参数的初始值。在NNR的情况下,4元组的值将与变量的4元组(shift0、shift1、pStateIdx0、pStateIdx1)相关联。在算术写码开始之前,在比特流中针对每个上下文模型发信号通知整数索引,从而指示使用4元组中的哪个来初始化相应上下文模型。
在另一优选实施例中,指示待用以初始化上下文模型的4元组的索引使用将较短码字分配至更频繁使用的4元组的可变长度码来发信号通知。
举例而言,可使用以下4元组的列表(shift0、shift1、pStateIdx0、pStateIdx1):
索引 | shift0 | shift1 | pStateIdx0 | pStateIdx1 |
0 | 1 | 4 | 0 | 0 |
1 | 1 | 4 | -41 | -654 |
2 | 1 | 4 | 95 | 1519 |
3 | 0 | 5 | 0 | 0 |
4 | 2 | 6 | 30 | 482 |
5 | 2 | 6 | 95 | 1519 |
6 | 2 | 6 | -21 | -337 |
7 | 3 | 5 | 0 | 0 |
8 | 3 | 5 | 30 | 482 |
应注意,相同概念亦可与VVC的上下文模型一起使用,其中两个状态变量及两个敏捷性参数使用与NNR相同的变量名称(shift0、shift1、pStateIdx0、pStateIdx1)。应注意,这些变量在VVC中与在NNR中满足相同目的,但其确切行为是不同的。因此,当适当地调适4元组时,此处呈现的概念亦可应用于VVC。
总之,根据本发明的实施例提供压缩性能与视觉质量及低编码延迟之间的改良权衡,其导致改良的写码效率。一些实施例亦提供额外的写码效率。
不同发明性实施例及方面描述于例如章节“介绍”、“样本自适应性偏移”、“PSAO的分类”、“解码器”、“编码器”及“一些评述”中,其中来自章节“样本自适应偏移”的特征、功能性及细节可以可选地引入至其他实施例中的任何中。
然而,任何其他章节中所描述的特征、功能性及细节亦可以可选地引入至根据本发明的实施例中。
并且,上文所提及的章节中所描述的实施例可个别地使用,且亦可由另一章节中的特征、功能性及细节中的任何补充。
又,应注意,可个别地或组合地使用本文中所描述的个别方面。因此,细节可添加至个别方面中的每个,而不将细节添加至所述方面中的另一个。
特别地,权利要求中亦描述实施例。权利要求中所描述的实施例可以可选地由如本文中所描述的特征、功能性及细节中的任何个别地及组合地补充。
亦应注意,本发明明确地或隐含地描述可用于视频编码器(用于提供输入视频信号的经编码表示的设备)中及可用于视频解码器(用于基于视频信号的经编码表示提供视频信号的经解码表示的设备)中的特征。因此,本文中所描述的特征中的任何可用于视频编码器的上下文及视频解码器的上下文中。
此外,本文所揭露的与方法相关的特征及功能性亦可用于设备(被配置为执行此类功能性)中。另外,本文中相对于设备所揭示的任何特征及功能性亦可用于对应方法中。换言之,本文中所揭示的方法可通过关于设备所描述的特征及功能性中的任何来补充。
又,本文中所描述的特征及功能性中的任何可用硬件或软件来实施,或使用硬件与软件的组合来实施,如将在章节“实施方案替代例”中所描述。
实施方案替代例
尽管在设备的上下文中描述一些方面,但显而易见的是,这些方面亦表示对应方法的描述,其中块或装置对应于方法步骤或方法步骤的特征。类似地,方法步骤的上下文中所描述的方面亦表示对应设备的对应块或项目或特征的描述。可由(或使用)硬设备(例如,微处理器、可编程计算机或电子电路)执行方法步骤中的一些或所有。在一些实施例中,可由此设备执行最重要的方法步骤中的一个或多各。
取决于某些实施要求,本发明的实施例可在硬件或软件中实施。实施可使用数字存储介质来进行,数字存储介质例如软性磁盘、DVD、Blu-Ray、CD、ROM、PROM、EPROM、EEPROM或闪存,数字存储介质上储存有电子可读控制信号,电子可读控制信号与可编程计算机系统协作(或能够协作)使得相应方法被进行。因此,数字存储介质可为计算机可读的。
根据本发明的一些实施例包含具有电子可读控制信号的数据载体,控制信号能够与可编程计算机系统协作,使得执行本文中所描述的方法中的一个。
通常,本发明的实施例可实施为具有程序代码的计算机程序产品,当计算机程序产品在计算机上执行时,程序代码操作性地用于执行方法中的一个。程序代码可例如储存于机器可读载体上。
其他实施例包含储存于机器可读载体上的用于执行本文中所描述的方法中的一个的计算机程序。
换言之,因此,本发明方法的实施例为具有当计算机程序运行于计算机上时,用于执行本文中所描述的方法中的一个的程序代码的计算机程序。
因此,本发明方法的另一实施例为数据载体(或数字存储介质,或计算机可读介质),其包含记录于其上的用于执行本文中所描述的方法中的一个的计算机程序。数据载体、数字存储介质或记录介质通常为有形的和/或非暂时性的。
因此,本发明方法的再一个实施例为表示用于执行本文中所描述的方法中的一个的计算机程序的数据流或信号序列。数据流或信号序列可(例如)被配置为经由数据通信连接(例如,经由因特网)而传递。
另一实施例包含处理装置,例如,经配置或经调适以执行本文中所描述的方法中的一个的计算机或可编程逻辑设备。
另一实施例包含其上安装有用于执行本文中所描述的方法中的一个的计算机程序的计算机。
根据本发明的另一实施例包含被配置为将用于执行本文中所描述的方法中的一个的计算机程序(例如,电子地或光学地)传送至接收器的设备或系统。接收器可为例如计算机、移动装置、内存装置等。设备或系统可例如包含用于传送计算机程序至接收器的文件服务器。
在些实施例中,可编程逻辑设备(例如,现场可编程门阵列)可用以执行本文中所描述的方法的功能性中的一些或所有。在一些实施例中,现场可编程门阵列可与微处理器合作,以便执行本文中所描述的方法中的一个。通常,方法优选地由任何硬件设备执行。
本文中所描述的设备可使用硬件设备或使用计算机或使用硬件设备与计算机的组合来实施。
本文中所描述的设备或本文中所描述的设备的任何组件可至少部分地以硬件和/或以软件来实施。
本文中所描述的方法可使用硬件设备或使用计算机或使用硬件设备与计算机的组合来进行。
本文所描述的方法或本文中所描述的设备的任何组件可至少部分地由硬件和/或由软件执行。
本文中所描述的实施例仅仅说明本发明的原理。应理解,对本文中所描述的配置及细节的修改及变化将对熟习此项技术者显而易见。因此,其仅意欲由接下来的权利要求的范围限制,而非由通过本文中实施例的描述及解释所呈现的特定细节限制。
随后,呈现表示上文所阐述的实施例的拓宽的实施例,或换言之,上述实施例以特定细节表示实施例,且对于实施例,这些特定细节可单独地或组合地用于进一步指定随后呈现的实施例。
括号中的文字表示可选特征、示例及描述。关于特定实施例的特征描述的可选特征、示例亦可适用于其他实施例的等效或类似特征。
1.一种用于将信息值序列算术地编码为算术写码比特流的算术编码器,被配置为:
将信息值符号化为符号串,以便获得符号序列;
通过对于每个符号进行以下操作来算术地编码符号序列:
根据相应符号的符号值选择限定算术编码器的写码状态的当前版本的当前区间根据相应符号的概率估计被细分成的多个子区间中的子区间,以便获得由所选择的子区间限定的算术编码器的写码状态的经更新版本,以用于编码符号序列中的下一个符号,以及
在继续比特流的情况下重归一化限定写码状态的编码器内部参数,
向比特流提供进入点信息,从而允许从预定进入点向前恢复对比特流的算术解码。
2.如实施例1所述的算术编码器,其中进入点信息包含关于算术解码器的写码状态的信息,当算术解码器对比特流进行解码直至预定进入点时,写码状态出现于算术解码器中。
3.如实施例2所述的算术编码器,其中算术编码器被配置为执行对比特流的算术解码以便确定关于算术解码器的写码状态的信息。
4.如实施例2-3中任一项所述的算术编码器,其中算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针,且关于算术解码器的写码状态的信息包含指针的值。
5.如实施例4所述的算术编码器,其中算术编码器被配置为执行对比特流的算术解码,且将由关于算术解码器的写码状态的信息包含的指针的值设定为等于在对比特流的算术解码直至预定进入点时指针自身所表现的当前值。
6.如实施例2-3中任一项所述的算术编码器,其中算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针,且关于算术解码器的写码状态的信息包含区间宽度参数的值。
7.如实施例6所述的算术编码器,其中算术编码器被配置为
执行对比特流的算术解码,且将由关于算术解码器的写码状态的信息包含的区间宽度参数的值设定为等于在对比特流的算术解码直至预定进入点时区间宽度参数自身所表现的当前值,或
将由关于算术解码器的写码状态的信息包含的区间宽度参数的值设定为等于如在对符号序列的算术编码直至预定进入点时区间宽度参数自身所表现的当前值。
8.如实施例2-3中任一项所述的算术编码器,其中算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针,且关于算术解码器的写码状态的信息包含指针的值[例如值由预定进入点处的指针采用],而不包含区间宽度参数的值,其中算术编码器被配置为
将由关于算术解码器的写码状态的信息包含的区间宽度参数的值设定为等于预定值,且在从预定进入点向前恢复对符号序列的算术编码时使用区间宽度参数的预定值,或
在从预定进入点向前恢复对符号序列的算术编码之前通过对紧接于预定进入点前方的具有预定符号值的符号进行算术编码来初步中断对符号序列的算术编码,且将由关于算术解码器的写码状态的信息包含的区间宽度参数的值设定为等于在对包括具有预定符号值的符号的符号序列的算术编码直至预定进入点时区间宽度参数自身所表现的当前值。
9.如前述实施例中任一项所述的算术编码器,其中进入点信息包含指向比特流中的预定比特的比特流指针,预定比特待在从预定进入点向前恢复对比特流的算术解码之后接下来被读取。
10.如实施例9所述的算术编码器,其中指向比特流中的预定比特的比特流指针以相对于比特流的开始的偏移的形式在比特流中发信号通知。
11.如实施例9所述的算术编码器,其中指向比特流中的预定比特的比特流指针以相对于比特流的一串前导比特的尾端的偏移的形式在比特流中发信号通知,用于执行对比特流的算术解码的算术解码器的写码状态将基于偏移被初始化。
12.如实施例9所述的算术编码器,其中进入点信息允许从多于一个进入点向前恢复对比特流的算术解码,且指向比特流中的预定比特的比特流指针以相对于先前进入点或相对于与预定进入点相关联的预定义比特流位置的偏移的形式在比特流中发信号通知。
13.如实施例12所述的算术编码器,被配置为定位预定义比特流位置作为值序列中的连续值之间的点或通过对比特流的比特进行计数而定位预定义比特流位置。
14.如实施例12所述的算术编码器,其中指向比特流中的预定比特的比特流指针以如下单位被储存:
比特,和/或
比特的整数n倍,其中n>1,且例如n=8。
15.如实施例12所述的算术编码器,其中先前进入点在比特流中的比特位置在比特流中发信号通知。
16.如实施例12-15中任一项所述的算术编码器,其中比特流指针相对于由进入点信息包含的用于指向比特流中的另一预定比特的另一比特流指针以不同方式在比特流中发信号通知,另一预定比特待在从先前进入点向前恢复对比特流的算术解码之后接下来被读取。
17.如实施例9-15中任一项所述的算术编码器,其中使用可变长度码在比特流中发信号通知比特流指针。
18.如实施例9-17中任一项所述的算术编码器,其中使用指数哥伦布码,优选地无符号指数哥伦布码,在比特流中发信号通知比特流指针。
19.如实施例9-18中任一项所述的算术编码器,其中预定进入点为相对于比特流的开始的第三进入点或在第三进入点之后的进入点中的任一个,且指向比特流中的预定比特的比特流指针以相对于先前进入点的偏移与先前进入点相对于在先前进入点之前的另一进入点的偏移之间的差的形式在比特流中发信号通知。
20.如实施例19所述的算术编码器,其中使用带符号指数哥伦布码在比特流中发信号通知比特流指针。
21.如实施例19-20中任一项所述的算术编码器,其中使用无符号指数哥伦布码在比特流中发信号通知先前进入点在比特流中的比特位置。
22.如实施例21所述的算术编码器,其中用于指数哥伦布码的指数哥伦布码参数为值11。
23.如实施例19-21中任一项所述的算术编码器,其中使用带符号指数哥伦布码在比特流中发信号通知比特流指针。
24.如实施例23所述的算术编码器,其中用于指数哥伦布码的指数哥伦布码参数为值7。
25.如前述实施例中任一项所述的算术编码器,其中算术编码器被配置为
使用上下文自适应算术写码对符号序列进行算术编码,包括:对于符号序列中的上下文自适应编码的符号,从多个上下文模型中选择上下文模型,多个上下文模型中的每个具有与其相关联的概率估计;以及使用符号序列中的先前经编码的符号使多个上下文模型的概率估计适应于实际符号统计,
其中进入点信息对于一组一个或多个预定上下文模型中的每个指示相应预定上下文模型的预定概率估计,且算术编码器被配置为使用预定概率估计来恢复多个上下文模型的概率估计相对于相应预定上下文模型的自适应。
26.如前述实施例中任一项所述的算术编码器,其中算术编码器被配置为
使用上下文自适应算术写码对符号序列进行算术编码,包括:对于符号序列中的上下文自适应编码的符号,从多个上下文模型中选择上下文模型,多个上下文模型中的每个具有与其相关联的概率估计;以及使用符号序列中的先前经编码的符号使多个上下文模型的概率估计适应于实际符号统计,
其中算术编码器被配置为对于一组一个或多个预定上下文模型中的每个将预定进入点处的相应预定上下文模型的概率估计设定为默认状态,且算术编码器被配置为使用默认状态来恢复多个上下文模型的概率估计相对于相应预定上下文模型的自适应,或
其中算术编码器被配置为对于一组一个或多个预定上下文模型中的每个将预定进入点处的相应预定上下文模型的概率估计设定为其自身在对在预定进入点前方的符号序列进行算术编码期间在预定条件下所表现的保存状态,且算术编码器被配置为使用保存状态来恢复多个上下文模型的概率估计相对于相应预定上下文模型的自适应。
27.如前述实施例中任一项所述的算术编码器,其中算术编码器被配置为
使用相依量化用于使用状态机从未量化值序列得出信息值序列,
其中进入点信息包含其自身在状态机中直至预定进入点所表现出的量化状态。
28.如前述实施例中任一项所述的算术编码器,其中符号为二进数,且符号化为二进制化。
29.如前述实施例中任一项所述的算术编码器,其中信息值为表示视频的语法元素序列。
30.如实施例1-29中任一项所述的算术编码器,其中信息值为神经网络参数。
31.一种用于从比特流算术地解码信息值序列的算术解码器,被配置为:
从比特流得出进入点信息;
使用进入点信息以便通过对于比特流的每个符号进行如下操作来从比特流算术地解码符号序列而从预定进入点向前恢复对比特流的算术解码:
基于算术解码器的写码状态的当前版本确定当前区间根据相应符号的概率估计被细分成的多个子区间中的子区间,且基于所选择的子区间推断相应符号的符号值,以及
通过使用比特流及所选择的子区间重归一化且更新限定写码状态的解码器内部参数,以便获得算术解码器的写码状态的经更新版本以用于解码符号序列中的下一个符号,以及
通过去符号化从符号序列得出信息值。
32.如实施例31所述的算术解码器,被配置为使用进入点信息以便确定算术解码器的写码状态的起始版本,且使用起始状态用于开始从预定进入点向前算术地解码比特流。
33.如实施例31或32所述的算术解码器,其中算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针,且算术解码器被配置为从进入点信息得出指针的起始值,其中使用起始值开始从预定进入点向前算术地解码比特流。
34.如实施例31-33中任一项所述的算术解码器,其中算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针,且算术解码器被配置为从进入点信息得出区间宽度参数的起始值,其中使用起始值开始从预定进入点向前算术地解码比特流。
35.如实施例31-33中任一项所述的算术解码器,其中算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针,且算术解码器被配置为
从进入点信息得出指针的起始值,其中使用起始值开始从预定进入点向前算术地解码比特流,以及
将由关于算术解码器的写码状态的信息包含的区间宽度参数的值设定为等于预定值,且使用区间宽度参数的预定值来恢复从预定进入点向前对符号序列的算术解码。
36.如实施例35所述的算术解码器,其中进入点信息允许从多于一个进入点向前恢复对比特流的算术解码,且算术解码器被配置为
在从后续预定进入点向前恢复对符号序列的算术编码之前通过对紧接于后续预定进入点前方的具有预定符号值的符号进行算术解码来初步中断在后续预定进入点处对符号序列的算术解码。
37.如实施例31-36中任一项所述的算术解码器,被配置为从进入点信息得出指向比特流中的预定比特的比特流指针,且使用预定比特作为在从预定进入点向前恢复对比特流的算术解码之后接下来将读取的比特。
38.如实施例37所述的算术解码器,其中指向比特流中的预定比特的比特流指针以相对于比特流的开始的偏移的形式在比特流中发信号通知。
39.如实施例37所述的算术解码器,其中指向比特流中的预定比特的比特流指针以相对于比特流的一串前导比特的尾端的偏移的形式在比特流中发信号通知,且算术解码器被配置为基于偏移而在从比特流的开始向前执行对比特流的算术解码的情况下初始化算术解码器的写码状态。
40.如实施例37所述的算术解码器,其中进入点信息允许从多于一个进入点向前恢复对比特流的算术解码,且指向比特流中的预定比特的比特流指针以相对于先前进入点或相对于与预定进入点相关联的预定义比特流位置的偏移的形式在比特流中发信号通知。
41.如实施例40所述的算术解码器,被配置为定位预定义比特流位置作为值序列中的连续值之间的点或通过对比特流的比特进行计数而定位预定义比特流位置。
42.如实施例40所述的算术解码器,其中指向比特流中的预定比特的比特流指针以如下单位被储存:
比特,和/或
比特的整数n倍,其中n>1,且例如n=8。
43.如实施例42所述的算术解码器,其中在比特流中发信号通知先前进入点在比特流中的比特位置。
44.如实施例40-43中任一项所述的算术解码器,其中比特流指针相对于由进入点信息包含的用于指向比特流中的另一预定比特的另一比特流指针以不同方式在比特流中发信号通知,另一预定比特待在从先前进入点向前恢复对比特流的算术解码之后接下来被读取。
45.如实施例37-43中任一项所述的算术解码器,其中使用可变长度码在比特流中发信号通知比特流指针。
46.如实施例37-44中任一项所述的算术解码器,其中使用指数哥伦布码,优选地无符号指数哥伦布码,在比特流中发信号通知比特流指针。
47.如实施例37-46中任一项所述的算术解码器,其中预定进入点为相对于比特流的开始的第三进入点或在第三进入点之后的进入点中的任一个,且指向比特流中的预定比特的比特流指针以相对于先前进入点的偏移与先前进入点相对于在先前进入点之前的另一进入点的偏移之间的差的形式在比特流中发信号通知。
48.如实施例47所述的算术解码器,其中使用带符号指数哥伦布码在比特流中发信号通知比特流指针。
49.如实施例47-48中任一项所述的算术解码器,其中使用无符号指数哥伦布码在比特流中发信号通知先前进入点在比特流中的比特位置。
50.如实施例49所述的算术解码器,其中用于指数哥伦布码的指数哥伦布码参数为值11。
51.如实施例47-50中任一项所述的算术解码器,其中使用带符号指数哥伦布码在比特流中发信号通知比特流指针。
52.如实施例51所述的算术解码器,其中用于指数哥伦布码的指数哥伦布码参数为值7。
53.如实施例31-52中任一项所述的算术解码器,其中算术解码器被配置为
使用上下文自适应算术解码对符号序列进行算术解码,包括:对于符号序列中的上下文自适应解码的符号,从多个上下文模型中选择上下文模型,多个上下文模型中的每个具有与其相关联的概率估计;以及使用符号序列中的先前经解码的符号使多个上下文模型的概率估计适应于实际符号统计,
其中进入点信息对于一组一个或多个预定上下文模型中的每个指示相应预定上下文模型的预定概率估计,且算术解码器被配置为使用预定概率估计来恢复多个上下文模型的概率估计相对于相应预定上下文模型的自适应。
54.如实施例31-53中任一项所述的算术解码器,其中算术解码器被配置为
使用上下文自适应算术解码对符号序列进行算术解码,包括:对于符号序列中的上下文自适应解码的符号,从多个上下文模型中选择上下文模型,多个上下文模型中的每个具有与其相关联的概率估计;以及使用符号序列中的先前经解码的符号使多个上下文模型的概率估计适应于实际符号统计,
其中算术解码器被配置为对于一组一个或多个预定上下文模型中的每个将预定进入点处的相应预定上下文模型的概率估计设定为默认状态,且算术解码器被配置为使用默认状态来恢复多个上下文模型的概率估计相对于相应预定上下文模型的自适应。
55.如实施例54所述的算术解码器,其中进入点信息允许从多于一个进入点向前恢复对比特流的算术解码,且算术解码器被配置为
对于一组一个或多个预定上下文模型中的每个,将后续预定进入点处的相应预定上下文模型的概率估计设定为其自身在对在后续预定进入点前方的符号序列进行算术解码期间在预定条件下所表现的保存状态,且算术解码器被配置为使用保存状态来从后续预定进入点向前恢复多个上下文模型的概率估计相对于相应预定上下文模型的自适应。
56.如实施例31-55中任一项所述的算术解码器,其中算术解码器被配置为
使用相依去量化用于使用状态机从信息值序列测出经量化值序列,
从进入点信息得出量化状态,其中从量化状态开始,从预定进入点向前恢复相依量化。
57.如实施例31-56中任一项所述的算术解码器,其中符号为二进数,且去符号化为去二进制化。
58.如实施例31-57中任一项所述的算术解码器,其中信息值为表示视频的语法元素序列。
59.如实施例31-57中任一项所述的算术解码器,其中信息值为神经网络参数。
60.一种用于从比特流算术地解码神经网络参数的算术解码器,被配置为:
通过使用上下文自适应算术解码从比特流算术地解码符号序列,包括:对于符号序列中的上下文自适应解码的符号,选择多个上下文模型中的上下文模型,多个上下文模型中的每个具有与其相关联的概率估计;以及使用所选择的上下文模型对上下文自适应解码的符号进行算术解码;以及使用符号序列中的先前经解码的符号使多个上下文模型的概率估计适应于实际符号统计,
通过去符号化从符号序列得出神经网络参数,
在比特流的开始处和/或在比特流内的一个或多个进入点处,对于一组一个或多个上下文模型中的每个,基于比特流中的上下文模型信息初始化与相应上下文模型相关联的概率估计。
61.如实施例60所述的算术解码器,被配置为
通过以下操作使用符号序列中的先前经解码的符号使多个上下文模型的概率估计适应于实际符号统计:
对于每个上下文模型,基于符号序列中已针对其选择相应上下文模型的先前上下文自适应解码的符号产生与相应上下文模型相关联的概率估计。
62.如实施例60或61所述的算术解码器,被配置为
通过以在由第一敏捷性参数可控制的第一自适应敏捷性下适应于实际符号统计的方式得出概率估计的第一假设,使用符号序列中的先前经解码的符号使多个上下文模型的概率估计适应于实际符号统计,
在比特流的开始处和/或在比特流内的一个或多个进入点处,对于一组一个或多个上下文模型中的每个,基于比特流中的上下文模型信息设定与相应上下文模型相关联的第一假设及第一敏捷性参数。
63.如实施例62所述的算术解码器,被配置为
通过以在由第二敏捷性参数可控制的第二自适应敏捷性下适应于实际符号统计的方式得出概率估计的第二假设,使用符号序列中的先前经解码的符号使多个上下文模型的概率估计适应于实际符号统计,其中概率估计通过第一假设与第二假设的平均值确定;
在比特流的开始处和/或在比特流内的一个或多个进入点处,对于一组一个或多个上下文模型中的每个,基于比特流中的上下文模型信息设定与相应上下文模型相关联的第二假设及第二敏捷性参数。
64.如实施例63所述的算术解码器,其中比特流中的上下文模型信息包含用于限定第一假设及第二假设以及第一敏捷性参数及第二敏捷性参数的值的四元组的表的表项索引,且算术解码器被配置为使用表项索引以便选择表的一个四元组且使用一个四元组以便设定第一假设及第二假设以及第一敏捷性参数及第二敏捷性参数。
65.如实施例64所述的算术解码器,其中用于限定第一假设及第二假设以及第一敏捷性参数及第二敏捷性参数的值的四元组的数量介于8与10之间,包括8及10。
66.如实施例64-65中任一项所述的算术解码器,其中用于限定第一假设及第二假设以及第一敏捷性参数及第二敏捷性参数的值的四元组对应于用于第一敏捷性参数及第二敏捷性参数的3个、4个或5个相互可区分设定中的一个。
67.如实施例64-66中任一项所述的算术解码器,其中符号为二进数,且去符号化为去二进制化,且用于限定第一假设及第二假设以及第一敏捷性参数及第二敏捷性参数的值的四元组包含:
前3个四元组,根据所有前3个四元组,第一敏捷性参数被设定为第一值,第二敏捷性参数被设定为第二值,第二值对应于比第一值低的自适应敏捷性,且根据前3个四元组中的第一个,第一假设与第二假设对应于等概率,根据前3个四元组中的第二个,第一假设与第二假设对应于第一二进数值比第二二进数值概率大,且根据前3个四元组中的第三个,第一假设与第二假设对应于第二二进数值比第一二进数值概率大,
第二3个四元组,根据所有第二3个四元组,第一敏捷性参数被设定为第三值,第三值对应于比第一值低的自适应敏捷性且比第二值大的自适应敏捷性,且第二敏捷性参数被设定为第四值,第四值对应于比第二值低的自适应敏捷性,且根据第二3个四元组中的第一个及第二个,第一假设与第二假设对应于第一二进数值比第二二进数值概率大,且根据第二3个四元组中的第三个,第一假设与第二假设对应于第二二进数值比第一二进数值概率大,
2个四元组,根据所有2个四元组,第一敏捷性参数被设定为第四值,第四值对应于比第三值低的自适应敏捷性及比第二值大的自适应敏捷性,且第二敏捷性参数被设定为第六值,第六值对应于比第二值低的自适应敏捷性及比第四值大的自适应敏捷性,且根据2个四元组中的第一个,第一假设与第二假设对应于等概率,且根据2个四元组中的第二个,第一假设与第二假设对应于第一二进数值比第二二进数值概率大,
1个四元组,根据1个四元组,第一敏捷性参数被设定为第七值,第七值对应于比第一值大的自适应敏捷性,且根据1个四元组,第一假设与第二假设对应于等概率。
68.如实施例63-67中任一项所述的算术解码器,其中符号为二进数,且去符号化为去二进制化,且算术解码器被配置为
通过对于第一假设及第二假设中的每个,分别通过带符号整数表示相应假设而使用符号序列中的先前经解码的符号使多个上下文模型的概率估计适应于实际符号统计,其中带符号整数在为零时指示等概率,在大于零时指示第一二进数值比第二二进数值概率大,且在低于零时指示第二二进数值比第一二进数值概率大,
对于每个上下文模型,若当前解码的二进数具有第一二进数值,则增大带符号整数,且若当前解码的二进数具有第二二进数值,则减小带符号整数,增大或减小的量相对于第一假设由第一敏捷性参数控制,且相对于第二假设由第二敏捷性参数控制,以使得量越大,第一敏捷性参数及第二敏捷性参数分别越小,
其中概率估计通过第一带符号整数与第二带符号整数的平均值确定。
69.如实施例68所述的算术解码器,被配置为通过使用转换表来确定增大及减小的量。
70.如实施例69所述的算术解码器,被配置为对于第一假设与第二假设使用相同的转换表。
71.如实施例69或70所述的算术解码器,被配置为通过在由通过带符号整数确定的表索引而索引的条目处查找转换表以获得转换步长且将转换步长大小除以2的幂,来通过使用转换表确定增大及减小的量,其中幂分别取决于第一自适应参数及第二自适应参数,其中转换步长确定量。
72.如实施例69或70所述的算术解码器,其中带符号整数由具有n个比特的2补码表示法表示,其中n对于第二假设比对于第一假设大,其中算术解码器被配置为通过在由一方面带符号整数除以2n-m及另一方面除以2m-1的和所索引的条目处查找转换表,以便获得转换步长,并将转换步长大小除以2的幂,来通过使用转换表确定增大及减小的量,其中幂的仿射线性地分别取决于第一自适应参数及第二自适应参数,其中转换步长确定量。
73.如实施例72所述的算术解码器,其中储存于转换表的条目中的转换步长单调地增大或减小。
74.一种将信息值序列算术地编码为算术写码比特流的方法(100),包括:
将信息值符号化(101)为符号串,以便获得符号序列;
通过以下操作算术地编码(102)符号序列:
对于每个符号,根据相应符号的概率估计细分(103)限定算术编码器的写码状态的当前版本的当前区间,
根据相应符号的符号值选择(104)多个子区间中的子区间,以便获得由所选择的子区间限定的算术编码器的写码状态的经更新版本以用于编码符号序列中的下一个符号,以及
在继续比特流的情况下重归一化(105)限定写码状态的编码器内部参数,
向比特流提供(106)进入点信息,从而允许从预定进入点向前恢复对比特流的算术解码。
75.如实施例74所述的方法,其中进入点信息包含关于算术解码器的写码状态的信息,当算术解码器对比特流进行解码直至预定进入点时,写码状态出现于算术解码器中。
76.如实施例75所述的方法,进一步包括执行对比特流的算术解码以便确定关于算术解码器的写码状态的信息。
77.如实施例75-76中任一项所述的方法,其中算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针,且关于算术解码器的写码状态的信息包含指针的值。
78.如实施例77所述的方法,进一步包括执行对比特流的算术解码,且将由关于算术解码器的写码状态的信息包含的指针的值设定为等于在对比特流的算术解码直至预定进入点时指针自身所表现的当前值。
79.如实施例75-76中任一项所述的方法,其中算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针,且关于算术解码器的写码状态的信息包含区间宽度参数的值。
80.如实施例79所述的方法,进一步包括:
执行对比特流的算术解码,且将由关于算术解码器的写码状态的信息包含的区间宽度参数的值设定为等于在对比特流的算术解码直至预定进入点时区间宽度参数自身所表现的当前值,或
将由关于算术解码器的写码状态的信息包含的区间宽度参数的值设定为等于在对符号序列的算术编码直至预定进入点时区间宽度参数自身所表现的当前值。
81.如实施例75-76中任一项所述的方法,其中算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针,且关于算术解码器的写码状态的信息包含指针的值,而不包含区间宽度参数的值,其中方法进一步包括:
将由关于算术解码器的写码状态的信息包含的区间宽度参数的值设定为等于预定值,且在从预定进入点向前恢复对符号序列的算术编码时使用区间宽度参数的预定值,或
在从预定进入点向前恢复对符号序列的算术编码之前通过对紧接于预定进入点前方的具有预定符号值的符号进行算术编码来初步中断对符号序列的算术编码,且将由关于算术解码器的写码状态的信息包含的区间宽度参数的值设定为等于在对包括具有预定符号值的符号的符号序列的算术编码直至预定进入点时区间宽度参数自身所表现的当前值。
82.如实施例74-81中任一项所述的方法,其中进入点信息包含指向比特流中的预定比特的比特流指针,预定比特待在从预定进入点向前恢复对比特流的算术解码之后接下来被读取。
83.如实施例82所述的方法,其中指向比特流中的预定比特的比特流指针以相对于比特流的开始的偏移的形式在比特流中发信号通知。
84.如实施例82所述的方法,其中指向比特流中的预定比特的比特流指针以相对于比特流的一串前导比特的尾端的偏移的形式在比特流中发信号通知,用于执行对比特流的算术解码的算术解码器的写码状态将基于偏移而被初始化。
85.如实施例82所述的方法,其中进入点信息允许从多于一个进入点向前恢复对比特流的算术解码,且指向比特流中的预定比特的比特流指针以相对于先前进入点或相对于与预定进入点相关联的预定义比特流位置的偏移的形式在比特流中发信号通知。
86.如实施例85所述的方法,包括定位预定义比特流位置作为值序列中的连续值之间的点或通过对比特流的比特进行计数而定位预定义比特流位置。
87.如实施例85所述的方法,其中指向比特流中的预定比特的比特流指针以如下单位被储存:
比特,和/或
比特的整数n倍,其中n>1,且例如n=8。
88.如实施例85所述的方法,其中在比特流中发信号通知先前进入点在比特流中的比特位置。
89.如实施例85-88中任一项所述的方法,其中比特流指针相对于由进入点信息包含的用于指向比特流中的另一预定比特的另一比特流指针以不同方式在比特流中发信号通知,另一预定比特待在从先前进入点向前恢复对比特流的算术解码之后接下来被读取。
90.如实施例82-89中任一项所述的方法,其中使用可变长度码在比特流中发信号通知比特流指针。
91.如实施例82-90中任一项所述的方法,其中使用指数哥伦布码,优选地无符号指数哥伦布码,在比特流中发信号通知比特流指针。
92.如实施例82-91中任一项所述的方法,其中预定进入点为相对于比特流的开始的第三进入点或在第三进入点之后的进入点中的任一个,且指向比特流中的预定比特的比特流指针以相对于先前进入点的偏移与先前进入点相对于在先前进入点之前的另一进入点的偏移之间的差的形式在比特流中发信号通知。
93.如实施例92所述的方法,其中使用带符号指数哥伦布码在比特流中发信号通知比特流指针。
94.如实施例92-93中任一项所述的方法,其中使用无符号指数哥伦布码在比特流中发信号通知先前进入点在比特流中的比特位置。
95.如实施例94所述的方法,其中用于指数哥伦布码的指数哥伦布码参数为值11。
96.如实施例92至95中任一项所述的方法,其中使用带符号指数哥伦布码在比特流中发信号通知比特流指针。
97.如实施例96所述的方法,其中用于指数哥伦布码的指数哥伦布码参数为值7。
98.一种从比特流算术地解码信息值序列的方法,包括:
从比特流得出(201)进入点信息;
使用(202)进入点信息以便通过对于比特流的每个符号进行如下操作从比特流算术地解码符号序列而从预定进入点向前恢复对比特流的算术解码:
确定(203)算术解码器的写码状态的当前版本、当前区间根据相应符号的概率估计被细分成的多个子区间中的子区间,且基于所选择的子区间推断(204)相应符号的符号值,以及
通过使用比特流及所选择的子区间重归一化且更新(205)限定写码状态的解码器内部参数,以便获得算术解码器的写码状态的经更新版本以用于解码符号序列中的下一个符号,以及
通过去符号化从符号序列得出(206)信息值。
99.如实施例98所述的方法,进一步包括使用进入点信息以便确定算术解码器的写码状态的起始版本,且使用起始状态用于开始从预定进入点向前算术地解码比特流。
100.如实施例98或99中任一项所述的方法,其中算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针,且方法进一步包括从进入点信息得出指针的起始值,其中使用起始值开始从预定进入点向前算术地解码比特流。
101.如实施例98-100中任一项所述的方法,其中算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针,且方法进一步包括从进入点信息得出区间宽度参数的起始值,其中使用起始值开始从预定进入点向前算术地解码比特流。
102.如实施例98-100中任一项所述的方法,其中算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针,且方法进一步包括:
从进入点信息得出指针的起始值,其中使用起始值开始从预定进入点向前算术地解码比特流,以及
将由关于算术解码器的写码状态的信息包含的区间宽度参数的值设定为等于预定值,且使用区间宽度参数的预定值来恢复从预定进入点向前对符号序列的算术解码。
103.如实施例102所述的方法,其中进入点信息允许从多于一个进入点向前恢复对比特流的算术解码,且方法进一步包括:
在从后续预定进入点向前恢复对符号序列的算术编码之前通过对紧接于后续预定进入点前方的具有预定符号值的符号进行算术解码来初步中断在后续预定进入点处对符号序列的算术解码。
104.如实施例98-103中任一项所述的方法,进一步包括从进入点信息得出指向比特流中的预定比特的比特流指针,且使用预定比特作为在从预定进入点向前恢复对比特流的算术解码之后接下来将读取的比特。
105.如实施例104所述的方法,其中指向比特流中的预定比特的比特流指针以相对于比特流的开始的偏移的形式在比特流中发信号通知。
106.如实施例104所述的方法,其中指向比特流中的预定比特的比特流指针以相对于比特流的一串前导比特的尾端的偏移的形式在比特流中发信号通知,基于此,方法在从比特流的开始向前执行对比特流的算术解码的情况下进一步初始化算术解码器的写码状态。
107.如实施例104所述的方法,其中进入点信息允许从多于一个进入点向前恢复对比特流的算术解码,且指向比特流中的预定比特的比特流指针以相对于先前进入点或相对于与预定进入点相关联的预定义比特流位置的偏移的形式在比特流中发信号通知。
108.如实施例107所述的方法,包括定位预定义比特流位置作为值序列中的连续值之间的点或通过对比特流的比特进行计数而定位预定义比特流位置。
109.如实施例107所述的方法,其中指向比特流中的预定比特的比特流指针以如下单位被储存:
比特,和/或
比特的整数n倍,其中n>1,且例如n=8。
110.如实施例107所述的方法,其中在比特流中发信号通知先前进入点在比特流中的比特位置。
111.如实施例104-110中任一项所述的方法,其中比特流指针相对于由进入点信息包含的用于指向比特流中的另一预定比特的另一比特流指针以不同方式在比特流中发信号通知,另一预定比特待在从先前进入点向前恢复对比特流的算术解码之后接下来被读取。
112.如实施例104-111中任一项所述的方法,其中使用可变长度码在比特流中发信号通知比特流指针。
113.如实施例104-112中任一项所述的方法,其中使用指数哥伦布码,优选地无符号指数哥伦布码,在比特流中发信号通知比特流指针。
114.如实施例104-113中任一项的方法,其中预定进入点为相对于比特流的开始的第三进入点或在第三进入点之后的进入点中的任一个,且指向比特流中的预定比特的比特流指针以相对于先前进入点的偏移与先前进入点相对于在先前进入点之前的另一进入点的偏移之间的差的形式在比特流中发信号通知。
115.如实施例114所述的方法,其中使用带符号指数哥伦布码在比特流中发信号通知比特流指针。
116.如实施例114-115中任一项所述的方法,其中使用无符号指数哥伦布码在比特流中发信号通知先前进入点在比特流中的比特位置。
117.如实施例116所述的方法,其中用于指数哥伦布码的指数哥伦布码参数为值11。
118.如实施例114-117中任一项所述的方法,其中使用带符号指数哥伦布码在比特流中发信号通知比特流指针。
119.如实施例118所述的方法,其中用于指数哥伦布码的指数哥伦布码参数为值7。
120.如实施例98-119中任一项所述的方法,进一步包括:
使用上下文自适应算术解码对符号序列进行算术解码,包括:对于符号序列中的上下文自适应解码的符号,从多个上下文模型中选择上下文模型,多个上下文模型中的每个具有与其相关联的概率估计;以及使用符号序列中的先前经解码的符号使多个上下文模型的概率估计适应于实际符号统计,
其中进入点信息对于一组一个或多个预定上下文模型中的每个指示相应预定上下文模型的预定概率估计,且方法进一步包括使用预定概率估计来恢复多个上下文模型的概率估计相对于相应预定上下文模型的自适应。
121.如实施例98-120中任一项所述的方法,进一步包括:
使用上下文自适应算术解码对符号序列进行算术解码,包括:对于符号序列中的上下文自适应解码的符号,从多个上下文模型中选择上下文模型,多个上下文模型中的每个具有与其相关联的概率估计;以及使用符号序列中的先前经解码的符号使多个上下文模型的概率估计适应于实际符号统计,
其中方法进一步包括:对于一组一个或多个预定上下文模型中的每个,将预定进入点处的相应预定上下文模型的概率估计设定为默认状态,且方法进一步包括使用默认状态来恢复多个上下文模型的概率估计相对于相应预定上下文模型的自适应。
122.如实施例121所述的方法,其中进入点信息允许从多于一个进入点向前恢复对比特流的算术解码,且方法进一步包括:
对于一组一个或多个预定上下文模型中的每个,将后续预定进入点处的相应预定上下文模型的概率估计设定为其自身在对在后续预定进入点前方的符号序列进行算术解码期间在预定条件下所表现的保存状态,且方法进一步包括使用保存状态来从后续预定进入点向前恢复多个上下文模型的概率估计相对于相应预定上下文模型的自适应。
123.如实施例98-122中任一项所述的方法,进一步包括:
使用相依去量化用于使用状态机从信息值序列得出经量化值序列,
从进入点信息得出量化状态,从量化状态开始,从预定进入点向前恢复相依量化。
124.如实施例98-123中任一项所述的方法,其中符号为二进数,且去符号化为去二进制化。
125.如实施例98-124中任一项所述的方法,其中信息值为表示视频的语法元素序列。
126.如实施例98-124中任一项所述的方法,其中信息值为神经网络参数。
127.一种用于将神经网络参数算术地编码为比特流的算术编码器,被配置为:
通过符号化从神经网络参数得出符号序列;
通过使用上下文自适应算术编码将符号序列算术地编码为比特流,包括:对于符号序列中的上下文自适应编码的符号,选择多个上下文模型中的上下文模型,多个上下文模型中的每个具有与其相关联的概率估计;以及使用所选择的上下文模型对上下文自适应编码的符号进行算术编码;以及使用符号序列中的先前经编码的符号使多个上下文模型的概率估计适应于实际符号统计,
在比特流的开始处和/或在比特流内的一个或多个进入点处,对于一组一个或多个上下文模型中的每个,根据在比特流中发信号通知的上下文模型信息初始化与相应上下文模型相关联的概率估计。
128.如实施例127所述的算术编码器,被配置为
通过以下操作使用符号序列中的先前经编码的符号使多个上下文模型的概率估计适应于实际符号统计:
对于每个上下文模型,基于符号序列中已针对其选择相应上下文模型的先前上下文自适应编码的符号,产生与相应上下文模型相关联的概率估计。
129.如实施例127或128所述的算术编码器,被配置为
通过以在由第一敏捷性参数可控制的第一自适应敏捷性下适应于实际符号统计量的方式得出概率估计的第一假设,使用符号序列中的先前经编码的符号使多个上下文模型的概率估计适应于实际符号统计,
在比特流的开始处和/或在比特流内的一个或多个进入点处,对于一组一个或多个上下文模型中的每个,根据在比特流中发信号通知的上下文模型信息设定与相应上下文模型相关联的第一假设及第一敏捷性参数。
130.如实施例127所述的算术编码器,被配置为
通过以在由第二敏捷性参数可控制的第二自适应敏捷性下适应于实际符号统计的方式得出概率估计的第二假设且形成第一假设与第二假设的平均值,使用符号序列中的先前经编码的符号使多个上下文模型的概率估计适应于实际符号统计,
在比特流的开始处和/或在比特流内的一个或多个进入点处,对于一组一个或多个上下文模型中的每个,根据在比特流中发信号通知的上下文模型信息设定与相应上下文模型相关联的第二假设及第二敏捷性参数。
131.如实施例130所述的算术编码器,其中比特流中的上下文模型信息包含用于限定第一假设及第二假设以及第一敏捷性参数及第二敏捷性参数的值的四元组的表的表项索引,且算术编码器被配置为使用表项索引以便选择表的一个四元组且使用一个四元组以便设定第一假设及第二假设以及第一敏捷性参数及第二敏捷性参数。
132.如实施例130所述的算术编码器,其中用于限定第一假设及第二假设以及第一敏捷性参数及第二敏捷性参数的值的四元组的数量介于8与10之间,包括8及10。
133.如实施例131和132中任一项所述的算术编码器,其中用于限定第一假设及第二假设以及第一敏捷性参数及第二敏捷性参数的值的四元组对应于用于第一敏捷性参数及第二敏捷性参数的3个、4个或5个相互可区分设定中的一个。
134.如实施例131-133中任一项所述的算术编码器,其中用于限定第一假设及第二假设以及第一敏捷性参数及第二敏捷性参数的值的四元组包含:
前3个四元组,根据所有前3个四元组,第一敏捷性参数被设定为第一值,第二敏捷性参数被设定为第二值,第二值对应于比第一值低的自适应敏捷性,且根据前3个四元组中的第一个,第一假设与第二假设对应于等概率,根据前3个四元组中的第二个,第一假设与第二假设对应于第一二进数值比第二二进数值概率大,且根据前3个四元组中的第三个,第一假设与第二假设对应于第二二进数值比第一二进数值概率大,
第二3个四元组,根据所有第二3个四元组,第一敏捷性参数被设定为第三值,第三值对应于比第一值低的自适应敏捷性且比第二值大的自适应敏捷性,且第二敏捷性参数被设定为第四值,第四值对应于比第二值低的自适应敏捷性,且根据第三3个四元组中的第一个及第二个,第一假设与第二假设对应于第一二进数值比第二二进数值概率大,且根据第二3个四元组中的第三个,第一假设与第二假设对应于第二二进数值比第一二进数值概率大,
2个四元组,根据所有2个四元组,第一敏捷性参数设定为第四值,第四值对应于比第三值低的自适应敏捷性及比第二值大的自适应敏捷性,且第二敏捷性参数设定为第六值,第六值对应于比第二值低的自适应敏捷性及比第四值大的自适应敏捷性,且根据2个四元组中的第一个,第一假设与第二假设对应于等概率,且根据2个四元组中的第二个,第一假设与第二假设对应于第一二进数值比第二二进数值概率大,
1个四元组,根据1个四元组,第一敏捷性参数设定为第七值,第七值对应于比第一值大的自适应敏捷性,且根据1个四元组,第一假设与第二假设对应于等概率。
135.如实施例130-134中任一项所述的算术编码器,其中符号为二进数,且符号化为二进制化,且算术编码器被配置为
通过对于第一假设及第二假设中的每个,分别通过带符号整数表示相应假设,来使用符号序列中的先前经编码符号使多个上下文模型的概率估计适应于实际符号统计,其中带符号整数在为零时指示等概率,在大于零时指示第一二进数值比第二二进数值概率大,且在低于零时指示第二二进数值比第一二进数值概率大,
对于每个上下文模型,若当前编码的二进数具有第一二进数值,则增大带符号整数,且若当前编码的二进数具有第二二进数值,则减小带符号整数,增大或减小的量相对于第一假设由第一敏捷性参数控制,且相对于第二假设由第二敏捷性参数控制,以使得量越大,第一敏捷性参数及第二敏捷性参数分别越小,
其中概率估计通过第一带符号整数与第二带符号整数的平均值确定。
136.如实施例135所述的算术编码器,被配置为通过使用转换表来确定增大及减小的量。
137.如实施例136所述的算术编码器,被配置为对于第一假设与第二假设使用相同的转换表。
138.如实施例136或137所述的算术编码器,被配置为通过在由通过带符号整数确定的表索引而索引的条目处查找转换表以获得转换步长且将转换步长大小除以2的幂,来通过使用转换表确定增大及减小的量,其中幂分别取决于第一自适应参数及第二自适应参数,其中转换步长确定量。
139.如实施例136或137所述的算术编码器,其中带符号整数由具有n个比特的2补码表示法表示,其中n对于第二假设比对于第一假设大,其中算术编码器被配置为通过在一方面由带符号整数除以2n-m及另一方面除以2m-1的总和索引的条目处查找转换表,以便获得转换步长,并将转换步长大小除以2的幂,来通过使用转换表确定增大及减小的量,其中幂的仿射分别线性地取决于第一自适应参数及第二自适应参数,其中转换步长确定量。
140.如实施例139所述的算术编码器,其中储存于转换表的条目中的转换步长单调地增大或减小。
141.一种具有程序代码的计算机程序,程序代码当在计算机上运行时用于执行如实施例74-126中任一项所述的方法。
142.一种使用如实施例1-30、127-140中任一项所述的算术编码器产生的比特流。
Claims (142)
1.一种用于将信息值序列算术地编码为算术写码比特流的算术编码器,被配置为:
将信息值符号化为符号串,以便获得符号序列;
通过对于每个符号进行以下操作来算术地编码符号序列:
根据相应符号的符号值选择限定算术编码器的写码状态的当前版本的当前区间根据相应符号的概率估计被细分成的多个子区间中的子区间,以便获得由所选择的子区间限定的算术编码器的写码状态的经更新版本,以用于编码符号序列中的下一个符号,以及
在继续比特流的情况下重归一化限定写码状态的编码器内部参数,
向比特流提供进入点信息,从而允许从预定进入点向前恢复对比特流的算术解码。
2.如权利要求1所述的算术编码器,其中进入点信息包含关于算术解码器的写码状态的信息,当算术解码器对比特流进行解码直至预定进入点时,写码状态出现于算术解码器中。
3.如权利要求2所述的算术编码器,其中算术编码器被配置为执行对比特流的算术解码以便确定关于算术解码器的写码状态的信息。
4.如权利要求2-3中任一项所述的算术编码器,其中算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针,且关于算术解码器的写码状态的信息包含指针的值。
5.如权利要求4所述的算术编码器,其中算术编码器被配置为执行对比特流的算术解码,且将由关于算术解码器的写码状态的信息包含的指针的值设定为等于在对比特流的算术解码直至预定进入点时指针自身所表现的当前值。
6.如权利要求2-3中任一项所述的算术编码器,其中算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针,且关于算术解码器的写码状态的信息包含区间宽度参数的值。
7.如权利要求6所述的算术编码器,其中算术编码器被配置为执行对比特流的算术解码,且将由关于算术解码器的写码状态的信息包含的区间宽度参数的值设定为等于在对比特流的算术解码直至预定进入点时区间宽度参数自身所表现的当前值,或
将由关于算术解码器的写码状态的信息包含的区间宽度参数的值设定为等于如在对符号序列的算术编码直至预定进入点时区间宽度参数自身所表现的当前值。
8.如权利要求2-3中任一项所述的算术编码器,其中算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针,且关于算术解码器的写码状态的信息包含指针的值[例如值由预定进入点处的指针采用],而不包含区间宽度参数的值,其中算术编码器被配置为将由关于算术解码器的写码状态的信息包含的区间宽度参数的值设定为等于预定值,且在从预定进入点向前恢复对符号序列的算术编码时使用区间宽度参数的预定值,或
在从预定进入点向前恢复对符号序列的算术编码之前通过对紧接于预定进入点前方的具有预定符号值的符号进行算术编码来初步中断对符号序列的算术编码,且将由关于算术解码器的写码状态的信息包含的区间宽度参数的值设定为等于在对包括具有预定符号值的符号的符号序列的算术编码直至预定进入点时区间宽度参数自身所表现的当前值。
9.如前述权利要求中任一项所述的算术编码器,其中进入点信息包含指向比特流中的预定比特的比特流指针,预定比特待在从预定进入点向前恢复对比特流的算术解码之后接下来被读取。
10.如权利要求9所述的算术编码器,其中指向比特流中的预定比特的比特流指针以相对于比特流的开始的偏移的形式在比特流中发信号通知。
11.如权利要求9所述的算术编码器,其中指向比特流中的预定比特的比特流指针以相对于比特流的一串前导比特的尾端的偏移的形式在比特流中发信号通知,用于执行对比特流的算术解码的算术解码器的写码状态将基于偏移被初始化。
12.如权利要求9所述的算术编码器,其中进入点信息允许从多于一个进入点向前恢复对比特流的算术解码,且指向比特流中的预定比特的比特流指针以相对于先前进入点或相对于与预定进入点相关联的预定义比特流位置的偏移的形式在比特流中发信号通知。
13.如权利要求12所述的算术编码器,被配置为定位预定义比特流位置作为值序列中的连续值之间的点或通过对比特流的比特进行计数而定位预定义比特流位置。
14.如权利要求12所述的算术编码器,其中指向比特流中的预定比特的比特流指针以如下单位被储存:
比特,和/或
比特的整数n倍,其中n>1,且例如n=8。
15.如权利要求12所述的算术编码器,其中先前进入点在比特流中的比特位置在比特流中发信号通知。
16.如权利要求12-15中任一项所述的算术编码器,其中比特流指针相对于由进入点信息包含的用于指向比特流中的另一预定比特的另一比特流指针以不同方式在比特流中发信号通知,另一预定比特待在从先前进入点向前恢复对比特流的算术解码之后接下来被读取。
17.如权利要求9-15中任一项所述的算术编码器,其中使用可变长度码在比特流中发信号通知比特流指针。
18.如权利要求9-17中任一项所述的算术编码器,其中使用指数哥伦布码,优选地无符号指数哥伦布码,在比特流中发信号通知比特流指针。
19.如权利要求9-18中任一项所述的算术编码器,其中预定进入点为相对于比特流的开始的第三进入点或在第三进入点之后的进入点中的任一个,且指向比特流中的预定比特的比特流指针以相对于先前进入点的偏移与先前进入点相对于在先前进入点之前的另一进入点的偏移之间的差的形式在比特流中发信号通知。
20.如权利要求19所述的算术编码器,其中使用带符号指数哥伦布码在比特流中发信号通知比特流指针。
21.如权利要求19-20中任一项所述的算术编码器,其中使用无符号指数哥伦布码在比特流中发信号通知先前进入点在比特流中的比特位置。
22.如权利要求21所述的算术编码器,其中用于指数哥伦布码的指数哥伦布码参数为值11。
23.如权利要求19-21中任一项所述的算术编码器,其中使用带符号指数哥伦布码在比特流中发信号通知比特流指针。
24.如权利要求23所述的算术编码器,其中用于指数哥伦布码的指数哥伦布码参数为值7。
25.如前述权利要求中任一项所述的算术编码器,其中算术编码器被配置为使用上下文自适应算术写码对符号序列进行算术编码,包括:对于符号序列中的上下文自适应编码的符号,从多个上下文模型中选择上下文模型,多个上下文模型中的每个具有与其相关联的概率估计;以及使用符号序列中的先前经编码的符号使多个上下文模型的概率估计适应于实际符号统计,
其中进入点信息对于一组一个或多个预定上下文模型中的每个指示相应预定上下文模型的预定概率估计,且算术编码器被配置为使用预定概率估计来恢复多个上下文模型的概率估计相对于相应预定上下文模型的自适应。
26.如前述权利要求中任一项所述的算术编码器,其中算术编码器被配置为使用上下文自适应算术写码对符号序列进行算术编码,包括:对于符号序列中的上下文自适应编码的符号,从多个上下文模型中选择上下文模型,多个上下文模型中的每个具有与其相关联的概率估计;以及使用符号序列中的先前经编码的符号使多个上下文模型的概率估计适应于实际符号统计,
其中算术编码器被配置为对于一组一个或多个预定上下文模型中的每个将预定进入点处的相应预定上下文模型的概率估计设定为默认状态,且算术编码器被配置为使用默认状态来恢复多个上下文模型的概率估计相对于相应预定上下文模型的自适应,或
其中算术编码器被配置为对于一组一个或多个预定上下文模型中的每个将预定进入点处的相应预定上下文模型的概率估计设定为其自身在对在预定进入点前方的符号序列进行算术编码期间在预定条件下所表现的保存状态,且算术编码器被配置为使用保存状态来恢复多个上下文模型的概率估计相对于相应预定上下文模型的自适应。
27.如前述权利要求中任一项所述的算术编码器,其中算术编码器被配置为使用相依量化用于使用状态机从未量化值序列得出信息值序列,
其中进入点信息包含其自身在状态机中直至预定进入点所表现出的量化状态。
28.如前述权利要求中任一项所述的算术编码器,其中符号为二进数,且符号化为二进制化。
29.如前述权利要求中任一项所述的算术编码器,其中信息值为表示视频的语法元素序列。
30.如权利要求1-29中任一项所述的算术编码器,其中信息值为神经网络参数。
31.一种用于从比特流算术地解码信息值序列的算术解码器,被配置为:
从比特流得出进入点信息;
使用进入点信息以便通过对于比特流的每个符号进行如下操作来从比特流算术地解码符号序列而从预定进入点向前恢复对比特流的算术解码:
基于算术解码器的写码状态的当前版本确定当前区间根据相应符号的概率估计被细分成的多个子区间中的子区间,且基于所选择的子区间推断相应符号的符号值,以及
通过使用比特流及所选择的子区间重归一化且更新限定写码状态的解码器内部参数,以便获得算术解码器的写码状态的经更新版本以用于解码符号序列中的下一个符号,以及
通过去符号化从符号序列得出信息值。
32.如权利要求31所述的算术解码器,被配置为使用进入点信息以便确定算术解码器的写码状态的起始版本,且使用起始状态用于开始从预定进入点向前算术地解码比特流。
33.如权利要求31或32所述的算术解码器,其中算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针,且算术解码器被配置为从进入点信息得出指针的起始值,其中使用起始值开始从预定进入点向前算术地解码比特流。
34.如权利要求31-33中任一项所述的算术解码器,其中算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针,且算术解码器被配置为从进入点信息得出区间宽度参数的起始值,其中使用起始值开始从预定进入点向前算术地解码比特流。
35.如权利要求31-33中任一项所述的算术解码器,其中算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针,且算术解码器被配置为从进入点信息得出指针的起始值,其中使用起始值开始从预定进入点向前算术地解码比特流,以及
将由关于算术解码器的写码状态的信息包含的区间宽度参数的值设定为等于预定值,且使用区间宽度参数的预定值来恢复从预定进入点向前对符号序列的算术解码。
36.如权利要求35所述的算术解码器,其中进入点信息允许从多于一个进入点向前恢复对比特流的算术解码,且算术解码器被配置为在从后续预定进入点向前恢复对符号序列的算术编码之前通过对紧接于后续预定进入点前方的具有预定符号值的符号进行算术解码来初步中断在后续预定进入点处对符号序列的算术解码。
37.如权利要求31-36中任一项所述的算术解码器,被配置为从进入点信息得出指向比特流中的预定比特的比特流指针,且使用预定比特作为在从预定进入点向前恢复对比特流的算术解码之后接下来将读取的比特。
38.如权利要求37所述的算术解码器,其中指向比特流中的预定比特的比特流指针以相对于比特流的开始的偏移的形式在比特流中发信号通知。
39.如权利要求37所述的算术解码器,其中指向比特流中的预定比特的比特流指针以相对于比特流的一串前导比特的尾端的偏移的形式在比特流中发信号通知,且算术解码器被配置为基于偏移而在从比特流的开始向前执行对比特流的算术解码的情况下初始化算术解码器的写码状态。
40.如权利要求37所述的算术解码器,其中进入点信息允许从多于一个进入点向前恢复对比特流的算术解码,且指向比特流中的预定比特的比特流指针以相对于先前进入点或相对于与预定进入点相关联的预定义比特流位置的偏移的形式在比特流中发信号通知。
41.如权利要求40所述的算术解码器,被配置为定位预定义比特流位置作为值序列中的连续值之间的点或通过对比特流的比特进行计数而定位预定义比特流位置。
42.如权利要求40所述的算术解码器,其中指向比特流中的预定比特的比特流指针以如下单位被储存:
比特,和/或
比特的整数n倍,其中n>1,且例如n=8。
43.如权利要求42所述的算术解码器,其中在比特流中发信号通知先前进入点在比特流中的比特位置。
44.如权利要求40-43中任一项所述的算术解码器,其中比特流指针相对于由进入点信息包含的用于指向比特流中的另一预定比特的另一比特流指针以不同方式在比特流中发信号通知,另一预定比特待在从先前进入点向前恢复对比特流的算术解码之后接下来被读取。
45.如权利要求37-43中任一项所述的算术解码器,其中使用可变长度码在比特流中发信号通知比特流指针。
46.如权利要求37-44中任一项所述的算术解码器,其中使用指数哥伦布码,优选地无符号指数哥伦布码,在比特流中发信号通知比特流指针。
47.如权利要求37-46中任一项所述的算术解码器,其中预定进入点为相对于比特流的开始的第三进入点或在第三进入点之后的进入点中的任一个,且指向比特流中的预定比特的比特流指针以相对于先前进入点的偏移与先前进入点相对于在先前进入点之前的另一进入点的偏移之间的差的形式在比特流中发信号通知。
48.如权利要求47所述的算术解码器,其中使用带符号指数哥伦布码在比特流中发信号通知比特流指针。
49.如权利要求47-48中任一项所述的算术解码器,其中使用无符号指数哥伦布码在比特流中发信号通知先前进入点在比特流中的比特位置。
50.如权利要求49所述的算术解码器,其中用于指数哥伦布码的指数哥伦布码参数为值11。
51.如权利要求47-50中任一项所述的算术解码器,其中使用带符号指数哥伦布码在比特流中发信号通知比特流指针。
52.如权利要求51所述的算术解码器,其中用于指数哥伦布码的指数哥伦布码参数为值7。
53.如权利要求31-52中任一项所述的算术解码器,其中算术解码器被配置为使用上下文自适应算术解码对符号序列进行算术解码,包括:对于符号序列中的上下文自适应解码的符号,从多个上下文模型中选择上下文模型,多个上下文模型中的每个具有与其相关联的概率估计;以及使用符号序列中的先前经解码的符号使多个上下文模型的概率估计适应于实际符号统计,
其中进入点信息对于一组一个或多个预定上下文模型中的每个指示相应预定上下文模型的预定概率估计,且算术解码器被配置为使用预定概率估计来恢复多个上下文模型的概率估计相对于相应预定上下文模型的自适应。
54.如权利要求31-53中任一项所述的算术解码器,其中算术解码器被配置为使用上下文自适应算术解码对符号序列进行算术解码,包括:对于符号序列中的上下文自适应解码的符号,从多个上下文模型中选择上下文模型,多个上下文模型中的每个具有与其相关联的概率估计;以及使用符号序列中的先前经解码的符号使多个上下文模型的概率估计适应于实际符号统计,
其中算术解码器被配置为对于一组一个或多个预定上下文模型中的每个将预定进入点处的相应预定上下文模型的概率估计设定为默认状态,且算术解码器被配置为使用默认状态来恢复多个上下文模型的概率估计相对于相应预定上下文模型的自适应。
55.如权利要求54所述的算术解码器,其中进入点信息允许从多于一个进入点向前恢复对比特流的算术解码,且算术解码器被配置为对于一组一个或多个预定上下文模型中的每个,将后续预定进入点处的相应预定上下文模型的概率估计设定为其自身在对在后续预定进入点前方的符号序列进行算术解码期间在预定条件下所表现的保存状态,且算术解码器被配置为使用保存状态来从后续预定进入点向前恢复多个上下文模型的概率估计相对于相应预定上下文模型的自适应。
56.如权利要求31-55中任一项所述的算术解码器,其中算术解码器被配置为使用相依去量化用于使用状态机从信息值序列测出经量化值序列,
从进入点信息得出量化状态,其中从量化状态开始,从预定进入点向前恢复相依量化。
57.如权利要求31-56中任一项所述的算术解码器,其中符号为二进数,且去符号化为去二进制化。
58.如权利要求31-57中任一项所述的算术解码器,其中信息值为表示视频的语法元素序列。
59.如权利要求31-57中任一项所述的算术解码器,其中信息值为神经网络参数。
60.一种用于从比特流算术地解码神经网络参数的算术解码器,被配置为:
通过使用上下文自适应算术解码从比特流算术地解码符号序列,包括:对于符号序列中的上下文自适应解码的符号,选择多个上下文模型中的上下文模型,多个上下文模型中的每个具有与其相关联的概率估计;以及使用所选择的上下文模型对上下文自适应解码的符号进行算术解码;以及使用符号序列中的先前经解码的符号使多个上下文模型的概率估计适应于实际符号统计,
通过去符号化从符号序列得出神经网络参数,
在比特流的开始处和/或在比特流内的一个或多个进入点处,对于一组一个或多个上下文模型中的每个,基于比特流中的上下文模型信息初始化与相应上下文模型相关联的概率估计。
61.如权利要求60所述的算术解码器,被配置为通过以下操作使用符号序列中的先前经解码的符号使多个上下文模型的概率估计适应于实际符号统计:
对于每个上下文模型,基于符号序列中已针对其选择相应上下文模型的先前上下文自适应解码的符号产生与相应上下文模型相关联的概率估计。
62.如权利要求60或61所述的算术解码器,被配置为通过以在由第一敏捷性参数可控制的第一自适应敏捷性下适应于实际符号统计的方式得出概率估计的第一假设,使用符号序列中的先前经解码的符号使多个上下文模型的概率估计适应于实际符号统计,
在比特流的开始处和/或在比特流内的一个或多个进入点处,对于一组一个或多个上下文模型中的每个,基于比特流中的上下文模型信息设定与相应上下文模型相关联的第一假设及第一敏捷性参数。
63.如权利要求62所述的算术解码器,被配置为通过以在由第二敏捷性参数可控制的第二自适应敏捷性下适应于实际符号统计的方式得出概率估计的第二假设,使用符号序列中的先前经解码的符号使多个上下文模型的概率估计适应于实际符号统计,其中概率估计通过第一假设与第二假设的平均值确定;
在比特流的开始处和/或在比特流内的一个或多个进入点处,对于一组一个或多个上下文模型中的每个,基于比特流中的上下文模型信息设定与相应上下文模型相关联的第二假设及第二敏捷性参数。
64.如权利要求63所述的算术解码器,其中比特流中的上下文模型信息包含用于限定第一假设及第二假设以及第一敏捷性参数及第二敏捷性参数的值的四元组的表的表项索引,且算术解码器被配置为使用表项索引以便选择表的一个四元组且使用一个四元组以便设定第一假设及第二假设以及第一敏捷性参数及第二敏捷性参数。
65.如权利要求64所述的算术解码器,其中用于限定第一假设及第二假设以及第一敏捷性参数及第二敏捷性参数的值的四元组的数量介于8与10之间,包括8及10。
66.如权利要求64-65中任一项所述的算术解码器,其中用于限定第一假设及第二假设以及第一敏捷性参数及第二敏捷性参数的值的四元组对应于用于第一敏捷性参数及第二敏捷性参数的3个、4个或5个相互可区分设定中的一个。
67.如权利要求64-66中任一项所述的算术解码器,其中符号为二进数,且去符号化为去二进制化,且用于限定第一假设及第二假设以及第一敏捷性参数及第二敏捷性参数的值的四元组包含:
前3个四元组,根据所有前3个四元组,第一敏捷性参数被设定为第一值,第二敏捷性参数被设定为第二值,第二值对应于比第一值低的自适应敏捷性,且根据前3个四元组中的第一个,第一假设与第二假设对应于等概率,根据前3个四元组中的第二个,第一假设与第二假设对应于第一二进数值比第二二进数值概率大,且根据前3个四元组中的第三个,第一假设与第二假设对应于第二二进数值比第一二进数值概率大,
第二3个四元组,根据所有第二3个四元组,第一敏捷性参数被设定为第三值,第三值对应于比第一值低的自适应敏捷性且比第二值大的自适应敏捷性,且第二敏捷性参数被设定为第四值,第四值对应于比第二值低的自适应敏捷性,且根据第二3个四元组中的第一个及第二个,第一假设与第二假设对应于第一二进数值比第二二进数值概率大,且根据第二3个四元组中的第三个,第一假设与第二假设对应于第二二进数值比第一二进数值概率大,
2个四元组,根据所有2个四元组,第一敏捷性参数被设定为第四值,第四值对应于比第三值低的自适应敏捷性及比第二值大的自适应敏捷性,且第二敏捷性参数被设定为第六值,第六值对应于比第二值低的自适应敏捷性及比第四值大的自适应敏捷性,且根据2个四元组中的第一个,第一假设与第二假设对应于等概率,且根据2个四元组中的第二个,第一假设与第二假设对应于第一二进数值比第二二进数值概率大,
1个四元组,根据1个四元组,第一敏捷性参数被设定为第七值,第七值对应于比第一值大的自适应敏捷性,且根据1个四元组,第一假设与第二假设对应于等概率。
68.如权利要求63-67中任一项所述的算术解码器,其中符号为二进数,且去符号化为去二进制化,且算术解码器被配置为通过对于第一假设及第二假设中的每个,分别通过带符号整数表示相应假设而使用符号序列中的先前经解码的符号使多个上下文模型的概率估计适应于实际符号统计,其中带符号整数在为零时指示等概率,在大于零时指示第一二进数值比第二二进数值概率大,且在低于零时指示第二二进数值比第一二进数值概率大,
对于每个上下文模型,若当前解码的二进数具有第一二进数值,则增大带符号整数,且若当前解码的二进数具有第二二进数值,则减小带符号整数,增大或减小的量相对于第一假设由第一敏捷性参数控制,且相对于第二假设由第二敏捷性参数控制,以使得量越大,第一敏捷性参数及第二敏捷性参数分别越小,
其中概率估计通过第一带符号整数与第二带符号整数的平均值确定。
69.如权利要求68所述的算术解码器,被配置为通过使用转换表来确定增大及减小的量。
70.如权利要求69所述的算术解码器,被配置为对于第一假设与第二假设使用相同的转换表。
71.如权利要求69或70所述的算术解码器,被配置为通过在由通过带符号整数确定的表索引而索引的条目处查找转换表以获得转换步长且将转换步长大小除以2的幂,来通过使用转换表确定增大及减小的量,其中幂分别取决于第一自适应参数及第二自适应参数,其中转换步长确定量。
72.如权利要求69或70所述的算术解码器,其中带符号整数由具有n个比特的2补码表示法表示,其中n对于第二假设比对于第一假设大,其中算术解码器被配置为通过在由一方面带符号整数除以2n-m及另一方面除以2m-1的和所索引的条目处查找转换表,以便获得转换步长,并将转换步长大小除以2的幂,来通过使用转换表确定增大及减小的量,其中幂的仿射线性地分别取决于第一自适应参数及第二自适应参数,其中转换步长确定量。
73.如权利要求72所述的算术解码器,其中储存于转换表的条目中的转换步长单调地增大或减小。
74.一种将信息值序列算术地编码为算术写码比特流的方法(100),包括:
将信息值符号化(101)为符号串,以便获得符号序列;
通过以下操作算术地编码(102)符号序列:
对于每个符号,根据相应符号的概率估计细分(103)限定算术编码器的写码状态的当前版本的当前区间,
根据相应符号的符号值选择(104)多个子区间中的子区间,以便获得由所选择的子区间限定的算术编码器的写码状态的经更新版本以用于编码符号序列中的下一个符号,以及
在继续比特流的情况下重归一化(105)限定写码状态的编码器内部参数,
向比特流提供(106)进入点信息,从而允许从预定进入点向前恢复对比特流的算术解码。
75.如权利要求74所述的方法,其中进入点信息包含关于算术解码器的写码状态的信息,当算术解码器对比特流进行解码直至预定进入点时,写码状态出现于算术解码器中。
76.如权利要求75所述的方法,进一步包括执行对比特流的算术解码以便确定关于算术解码器的写码状态的信息。
77.如权利要求75-76中任一项所述的方法,其中算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针,且关于算术解码器的写码状态的信息包含指针的值。
78.如权利要求77所述的方法,进一步包括执行对比特流的算术解码,且将由关于算术解码器的写码状态的信息包含的指针的值设定为等于在对比特流的算术解码直至预定进入点时指针自身所表现的当前值。
79.如权利要求75-76中任一项所述的方法,其中算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针,且关于算术解码器的写码状态的信息包含区间宽度参数的值。
80.如权利要求79所述的方法,进一步包括:
执行对比特流的算术解码,且将由关于算术解码器的写码状态的信息包含的区间宽度参数的值设定为等于在对比特流的算术解码直至预定进入点时区间宽度参数自身所表现的当前值,或
将由关于算术解码器的写码状态的信息包含的区间宽度参数的值设定为等于在对符号序列的算术编码直至预定进入点时区间宽度参数自身所表现的当前值。
81.如权利要求75-76中任一项所述的方法,其中算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针,且关于算术解码器的写码状态的信息包含指针的值,而不包含区间宽度参数的值,其中方法进一步包括:
将由关于算术解码器的写码状态的信息包含的区间宽度参数的值设定为等于预定值,且在从预定进入点向前恢复对符号序列的算术编码时使用区间宽度参数的预定值,或
在从预定进入点向前恢复对符号序列的算术编码之前通过对紧接于预定进入点前方的具有预定符号值的符号进行算术编码来初步中断对符号序列的算术编码,且将由关于算术解码器的写码状态的信息包含的区间宽度参数的值设定为等于在对包括具有预定符号值的符号的符号序列的算术编码直至预定进入点时区间宽度参数自身所表现的当前值。
82.如权利要求74-81中任一项所述的方法,其中进入点信息包含指向比特流中的预定比特的比特流指针,预定比特待在从预定进入点向前恢复对比特流的算术解码之后接下来被读取。
83.如权利要求82所述的方法,其中指向比特流中的预定比特的比特流指针以相对于比特流的开始的偏移的形式在比特流中发信号通知。
84.如权利要求82所述的方法,其中指向比特流中的预定比特的比特流指针以相对于比特流的一串前导比特的尾端的偏移的形式在比特流中发信号通知,用于执行对比特流的算术解码的算术解码器的写码状态将基于偏移而被初始化。
85.如权利要求82所述的方法,其中进入点信息允许从多于一个进入点向前恢复对比特流的算术解码,且指向比特流中的预定比特的比特流指针以相对于先前进入点或相对于与预定进入点相关联的预定义比特流位置的偏移的形式在比特流中发信号通知。
86.如权利要求85所述的方法,包括定位预定义比特流位置作为值序列中的连续值之间的点或通过对比特流的比特进行计数而定位预定义比特流位置。
87.如权利要求85所述的方法,其中指向比特流中的预定比特的比特流指针以如下单位被储存:
比特,和/或
比特的整数n倍,其中n>1,且例如n=8。
88.如权利要求85所述的方法,其中在比特流中发信号通知先前进入点在比特流中的比特位置。
89.如权利要求85-88中任一项所述的方法,其中比特流指针相对于由进入点信息包含的用于指向比特流中的另一预定比特的另一比特流指针以不同方式在比特流中发信号通知,另一预定比特待在从先前进入点向前恢复对比特流的算术解码之后接下来被读取。
90.如权利要求82-89中任一项所述的方法,其中使用可变长度码在比特流中发信号通知比特流指针。
91.如权利要求82-90中任一项所述的方法,其中使用指数哥伦布码,优选地无符号指数哥伦布码,在比特流中发信号通知比特流指针。
92.如权利要求82-91中任一项所述的方法,其中预定进入点为相对于比特流的开始的第三进入点或在第三进入点之后的进入点中的任一个,且指向比特流中的预定比特的比特流指针以相对于先前进入点的偏移与先前进入点相对于在先前进入点之前的另一进入点的偏移之间的差的形式在比特流中发信号通知。
93.如权利要求92所述的方法,其中使用带符号指数哥伦布码在比特流中发信号通知比特流指针。
94.如权利要求92-93中任一项所述的方法,其中使用无符号指数哥伦布码在比特流中发信号通知先前进入点在比特流中的比特位置。
95.如权利要求94所述的方法,其中用于指数哥伦布码的指数哥伦布码参数为值11。
96.如权利要求92至95中任一项所述的方法,其中使用带符号指数哥伦布码在比特流中发信号通知比特流指针。
97.如权利要求96所述的方法,其中用于指数哥伦布码的指数哥伦布码参数为值7。
98.一种从比特流算术地解码信息值序列的方法,包括:
从比特流得出(201)进入点信息;
使用(202)进入点信息以便通过对于比特流的每个符号进行如下操作从比特流算术地解码符号序列而从预定进入点向前恢复对比特流的算术解码:
确定(203)算术解码器的写码状态的当前版本、当前区间根据相应符号的概率估计被细分成的多个子区间中的子区间,且基于所选择的子区间推断(204)相应符号的符号值,以及
通过使用比特流及所选择的子区间重归一化且更新(205)限定写码状态的解码器内部参数,以便获得算术解码器的写码状态的经更新版本以用于解码符号序列中的下一个符号,以及
通过去符号化从符号序列得出(206)信息值。
99.如权利要求98所述的方法,进一步包括使用进入点信息以便确定算术解码器的写码状态的起始版本,且使用起始状态用于开始从预定进入点向前算术地解码比特流。
100.如权利要求98或99中任一项所述的方法,其中算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针,且方法进一步包括从进入点信息得出指针的起始值,其中使用起始值开始从预定进入点向前算术地解码比特流。
101.如权利要求98-100中任一项所述的方法,其中算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针,且方法进一步包括从进入点信息得出区间宽度参数的起始值,其中使用起始值开始从预定进入点向前算术地解码比特流。
102.如权利要求98-100中任一项所述的方法,其中算术解码器的写码状态由解码器内部参数限定,解码器内部参数包括指示区间的宽度的区间宽度参数及指向区间的指针,且方法进一步包括:
从进入点信息得出指针的起始值,其中使用起始值开始从预定进入点向前算术地解码比特流,以及
将由关于算术解码器的写码状态的信息包含的区间宽度参数的值设定为等于预定值,且使用区间宽度参数的预定值来恢复从预定进入点向前对符号序列的算术解码。
103.如权利要求102所述的方法,其中进入点信息允许从多于一个进入点向前恢复对比特流的算术解码,且方法进一步包括:
在从后续预定进入点向前恢复对符号序列的算术编码之前通过对紧接于后续预定进入点前方的具有预定符号值的符号进行算术解码来初步中断在后续预定进入点处对符号序列的算术解码。
104.如权利要求98-103中任一项所述的方法,进一步包括从进入点信息得出指向比特流中的预定比特的比特流指针,且使用预定比特作为在从预定进入点向前恢复对比特流的算术解码之后接下来将读取的比特。
105.如权利要求104所述的方法,其中指向比特流中的预定比特的比特流指针以相对于比特流的开始的偏移的形式在比特流中发信号通知。
106.如权利要求104所述的方法,其中指向比特流中的预定比特的比特流指针以相对于比特流的一串前导比特的尾端的偏移的形式在比特流中发信号通知,基于此,方法在从比特流的开始向前执行对比特流的算术解码的情况下进一步初始化算术解码器的写码状态。
107.如权利要求104所述的方法,其中进入点信息允许从多于一个进入点向前恢复对比特流的算术解码,且指向比特流中的预定比特的比特流指针以相对于先前进入点或相对于与预定进入点相关联的预定义比特流位置的偏移的形式在比特流中发信号通知。
108.如权利要求107所述的方法,包括定位预定义比特流位置作为值序列中的连续值之间的点或通过对比特流的比特进行计数而定位预定义比特流位置。
109.如权利要求107所述的方法,其中指向比特流中的预定比特的比特流指针以如下单位被储存:
比特,和/或
比特的整数n倍,其中n>1,且例如n=8。
110.如权利要求107所述的方法,其中在比特流中发信号通知先前进入点在比特流中的比特位置。
111.如权利要求104-110中任一项所述的方法,其中比特流指针相对于由进入点信息包含的用于指向比特流中的另一预定比特的另一比特流指针以不同方式在比特流中发信号通知,另一预定比特待在从先前进入点向前恢复对比特流的算术解码之后接下来被读取。
112.如权利要求104-111中任一项所述的方法,其中使用可变长度码在比特流中发信号通知比特流指针。
113.如权利要求104-112中任一项所述的方法,其中使用指数哥伦布码,优选地无符号指数哥伦布码,在比特流中发信号通知比特流指针。
114.如权利要求104-113中任一项的方法,其中预定进入点为相对于比特流的开始的第三进入点或在第三进入点之后的进入点中的任一个,且指向比特流中的预定比特的比特流指针以相对于先前进入点的偏移与先前进入点相对于在先前进入点之前的另一进入点的偏移之间的差的形式在比特流中发信号通知。
115.如权利要求114所述的方法,其中使用带符号指数哥伦布码在比特流中发信号通知比特流指针。
116.如权利要求114-115中任一项所述的方法,其中使用无符号指数哥伦布码在比特流中发信号通知先前进入点在比特流中的比特位置。
117.如权利要求116所述的方法,其中用于指数哥伦布码的指数哥伦布码参数为值11。
118.如权利要求114-117中任一项所述的方法,其中使用带符号指数哥伦布码在比特流中发信号通知比特流指针。
119.如权利要求118所述的方法,其中用于指数哥伦布码的指数哥伦布码参数为值7。
120.如权利要求98-119中任一项所述的方法,进一步包括:
使用上下文自适应算术解码对符号序列进行算术解码,包括:对于符号序列中的上下文自适应解码的符号,从多个上下文模型中选择上下文模型,多个上下文模型中的每个具有与其相关联的概率估计;以及使用符号序列中的先前经解码的符号使多个上下文模型的概率估计适应于实际符号统计,
其中进入点信息对于一组一个或多个预定上下文模型中的每个指示相应预定上下文模型的预定概率估计,且方法进一步包括使用预定概率估计来恢复多个上下文模型的概率估计相对于相应预定上下文模型的自适应。
121.如权利要求98-120中任一项所述的方法,进一步包括:
使用上下文自适应算术解码对符号序列进行算术解码,包括:对于符号序列中的上下文自适应解码的符号,从多个上下文模型中选择上下文模型,多个上下文模型中的每个具有与其相关联的概率估计;以及使用符号序列中的先前经解码的符号使多个上下文模型的概率估计适应于实际符号统计,
其中方法进一步包括:对于一组一个或多个预定上下文模型中的每个,将预定进入点处的相应预定上下文模型的概率估计设定为默认状态,且方法进一步包括使用默认状态来恢复多个上下文模型的概率估计相对于相应预定上下文模型的自适应。
122.如权利要求121所述的方法,其中进入点信息允许从多于一个进入点向前恢复对比特流的算术解码,且方法进一步包括:
对于一组一个或多个预定上下文模型中的每个,将后续预定进入点处的相应预定上下文模型的概率估计设定为其自身在对在后续预定进入点前方的符号序列进行算术解码期间在预定条件下所表现的保存状态,且方法进一步包括使用保存状态来从后续预定进入点向前恢复多个上下文模型的概率估计相对于相应预定上下文模型的自适应。
123.如权利要求98-122中任一项所述的方法,进一步包括:
使用相依去量化用于使用状态机从信息值序列得出经量化值序列,
从进入点信息得出量化状态,从量化状态开始,从预定进入点向前恢复相依量化。
124.如权利要求98-123中任一项所述的方法,其中符号为二进数,且去符号化为去二进制化。
125.如权利要求98-124中任一项所述的方法,其中信息值为表示视频的语法元素序列。
126.如权利要求98-124中任一项所述的方法,其中信息值为神经网络参数。
127.一种用于将神经网络参数算术地编码为比特流的算术编码器,被配置为:
通过符号化从神经网络参数得出符号序列;
通过使用上下文自适应算术编码将符号序列算术地编码为比特流,包括:对于符号序列中的上下文自适应编码的符号,选择多个上下文模型中的上下文模型,多个上下文模型中的每个具有与其相关联的概率估计;以及使用所选择的上下文模型对上下文自适应编码的符号进行算术编码;以及使用符号序列中的先前经编码的符号使多个上下文模型的概率估计适应于实际符号统计,
在比特流的开始处和/或在比特流内的一个或多个进入点处,对于一组一个或多个上下文模型中的每个,根据在比特流中发信号通知的上下文模型信息初始化与相应上下文模型相关联的概率估计。
128.如权利要求127所述的算术编码器,被配置为通过以下操作使用符号序列中的先前经编码的符号使多个上下文模型的概率估计适应于实际符号统计:
对于每个上下文模型,基于符号序列中已针对其选择相应上下文模型的先前上下文自适应编码的符号,产生与相应上下文模型相关联的概率估计。
129.如权利要求127或128所述的算术编码器,被配置为通过以在由第一敏捷性参数可控制的第一自适应敏捷性下适应于实际符号统计量的方式得出概率估计的第一假设,使用符号序列中的先前经编码的符号使多个上下文模型的概率估计适应于实际符号统计,
在比特流的开始处和/或在比特流内的一个或多个进入点处,对于一组一个或多个上下文模型中的每个,根据在比特流中发信号通知的上下文模型信息设定与相应上下文模型相关联的第一假设及第一敏捷性参数。
130.如权利要求127所述的算术编码器,被配置为通过以在由第二敏捷性参数可控制的第二自适应敏捷性下适应于实际符号统计的方式得出概率估计的第二假设且形成第一假设与第二假设的平均值,使用符号序列中的先前经编码的符号使多个上下文模型的概率估计适应于实际符号统计,
在比特流的开始处和/或在比特流内的一个或多个进入点处,对于一组一个或多个上下文模型中的每个,根据在比特流中发信号通知的上下文模型信息设定与相应上下文模型相关联的第二假设及第二敏捷性参数。
131.如权利要求130所述的算术编码器,其中比特流中的上下文模型信息包含用于限定第一假设及第二假设以及第一敏捷性参数及第二敏捷性参数的值的四元组的表的表项索引,且算术编码器被配置为使用表项索引以便选择表的一个四元组且使用一个四元组以便设定第一假设及第二假设以及第一敏捷性参数及第二敏捷性参数。
132.如权利要求130所述的算术编码器,其中用于限定第一假设及第二假设以及第一敏捷性参数及第二敏捷性参数的值的四元组的数量介于8与10之间,包括8及10。
133.如权利要求131和132中任一项所述的算术编码器,其中用于限定第一假设及第二假设以及第一敏捷性参数及第二敏捷性参数的值的四元组对应于用于第一敏捷性参数及第二敏捷性参数的3个、4个或5个相互可区分设定中的一个。
134.如权利要求131-133中任一项所述的算术编码器,其中用于限定第一假设及第二假设以及第一敏捷性参数及第二敏捷性参数的值的四元组包含:
前3个四元组,根据所有前3个四元组,第一敏捷性参数被设定为第一值,第二敏捷性参数被设定为第二值,第二值对应于比第一值低的自适应敏捷性,且根据前3个四元组中的第一个,第一假设与第二假设对应于等概率,根据前3个四元组中的第二个,第一假设与第二假设对应于第一二进数值比第二二进数值概率大,且根据前3个四元组中的第三个,第一假设与第二假设对应于第二二进数值比第一二进数值概率大,
第二3个四元组,根据所有第二3个四元组,第一敏捷性参数被设定为第三值,第三值对应于比第一值低的自适应敏捷性且比第二值大的自适应敏捷性,且第二敏捷性参数被设定为第四值,第四值对应于比第二值低的自适应敏捷性,且根据第三3个四元组中的第一个及第二个,第一假设与第二假设对应于第一二进数值比第二二进数值概率大,且根据第二3个四元组中的第三个,第一假设与第二假设对应于第二二进数值比第一二进数值概率大,
2个四元组,根据所有2个四元组,第一敏捷性参数设定为第四值,第四值对应于比第三值低的自适应敏捷性及比第二值大的自适应敏捷性,且第二敏捷性参数设定为第六值,第六值对应于比第二值低的自适应敏捷性及比第四值大的自适应敏捷性,且根据2个四元组中的第一个,第一假设与第二假设对应于等概率,且根据2个四元组中的第二个,第一假设与第二假设对应于第一二进数值比第二二进数值概率大,
1个四元组,根据1个四元组,第一敏捷性参数设定为第七值,第七值对应于比第一值大的自适应敏捷性,且根据1个四元组,第一假设与第二假设对应于等概率。
135.如权利要求130-134中任一项所述的算术编码器,其中符号为二进数,且符号化为二进制化,且算术编码器被配置为通过对于第一假设及第二假设中的每个,分别通过带符号整数表示相应假设,来使用符号序列中的先前经编码符号使多个上下文模型的概率估计适应于实际符号统计,其中带符号整数在为零时指示等概率,在大于零时指示第一二进数值比第二二进数值概率大,且在低于零时指示第二二进数值比第一二进数值概率大,
对于每个上下文模型,若当前编码的二进数具有第一二进数值,则增大带符号整数,且若当前编码的二进数具有第二二进数值,则减小带符号整数,增大或减小的量相对于第一假设由第一敏捷性参数控制,且相对于第二假设由第二敏捷性参数控制,以使得量越大,第一敏捷性参数及第二敏捷性参数分别越小,
其中概率估计通过第一带符号整数与第二带符号整数的平均值确定。
136.如权利要求135所述的算术编码器,被配置为通过使用转换表来确定增大及减小的量。
137.如权利要求136所述的算术编码器,被配置为对于第一假设与第二假设使用相同的转换表。
138.如权利要求136或137所述的算术编码器,被配置为通过在由通过带符号整数确定的表索引而索引的条目处查找转换表以获得转换步长且将转换步长大小除以2的幂,来通过使用转换表确定增大及减小的量,其中幂分别取决于第一自适应参数及第二自适应参数,其中转换步长确定量。
139.如权利要求136或137所述的算术编码器,其中带符号整数由具有n个比特的2补码表示法表示,其中n对于第二假设比对于第一假设大,其中算术编码器被配置为通过在一方面由带符号整数除以2n-m及另一方面除以2m-1的总和索引的条目处查找转换表,以便获得转换步长,并将转换步长大小除以2的幂,来通过使用转换表确定增大及减小的量,其中幂的仿射分别线性地取决于第一自适应参数及第二自适应参数,其中转换步长确定量。
140.如权利要求139所述的算术编码器,其中储存于转换表的条目中的转换步长单调地增大或减小。
141.一种具有程序代码的计算机程序,程序代码当在计算机上运行时用于执行如权利要求74-126中任一项所述的方法。
142.一种使用如权利要求1-30、127-140中任一项所述的算术编码器产生的比特流。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20200395 | 2020-10-06 | ||
EP20200395.0 | 2020-10-06 | ||
PCT/EP2021/077458 WO2022074007A1 (en) | 2020-10-06 | 2021-10-05 | Arithmetic encoder for arithmetically encoding and arithmetic decoder for arithmetically decoding a sequence of information values, methods for arithmetically encoding and decoding a sequence of information values and computer program for implementing these methods |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116762279A true CN116762279A (zh) | 2023-09-15 |
Family
ID=72752840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180081999.5A Pending CN116762279A (zh) | 2020-10-06 | 2021-10-05 | 对信息值序列进行算术编码的算术编码器与进行算数解码的算数解码器及用于算术编码与解码信息值序列的方法及实现方法的计算机程序 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20230238982A1 (zh) |
EP (1) | EP4226503A1 (zh) |
JP (1) | JP2023544800A (zh) |
KR (1) | KR20230088746A (zh) |
CN (1) | CN116762279A (zh) |
TW (1) | TWI809523B (zh) |
WO (1) | WO2022074007A1 (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8774273B2 (en) * | 2007-10-08 | 2014-07-08 | Entropic Communications, Inc. | Method and system for decoding digital video content involving arbitrarily accessing an encoded bitstream |
US9313514B2 (en) * | 2010-10-01 | 2016-04-12 | Sharp Kabushiki Kaisha | Methods and systems for entropy coder initialization |
-
2021
- 2021-10-05 CN CN202180081999.5A patent/CN116762279A/zh active Pending
- 2021-10-05 WO PCT/EP2021/077458 patent/WO2022074007A1/en active Application Filing
- 2021-10-05 JP JP2023521303A patent/JP2023544800A/ja active Pending
- 2021-10-05 EP EP21787401.5A patent/EP4226503A1/en active Pending
- 2021-10-05 KR KR1020237015617A patent/KR20230088746A/ko not_active Application Discontinuation
- 2021-10-05 TW TW110137067A patent/TWI809523B/zh active
-
2023
- 2023-04-05 US US18/296,055 patent/US20230238982A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4226503A1 (en) | 2023-08-16 |
TW202218431A (zh) | 2022-05-01 |
JP2023544800A (ja) | 2023-10-25 |
TWI809523B (zh) | 2023-07-21 |
WO2022074007A1 (en) | 2022-04-14 |
KR20230088746A (ko) | 2023-06-20 |
US20230238982A1 (en) | 2023-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7231594B2 (ja) | 動きベクトル差のエントロピー符号化 | |
US7777654B2 (en) | System and method for context-based adaptive binary arithematic encoding and decoding | |
US7817864B2 (en) | Coding apparatus and decoding apparatus | |
US7365660B2 (en) | Method and device for decoding syntax element in CABAC decoder | |
US5045852A (en) | Dynamic model selection during data compression | |
US8711019B1 (en) | Context-based adaptive binary arithmetic coding engine | |
EP2533538A2 (en) | Method and system to reduce modelling overhead for data compression | |
KR20090007301A (ko) | 산술 디코딩 방법 및 디바이스 | |
JP2012089917A (ja) | 符号化装置および方法、並びにプログラム | |
US20030080883A1 (en) | Arithmetic decoding of an arithmetically encoded information signal | |
CN116762279A (zh) | 对信息值序列进行算术编码的算术编码器与进行算数解码的算数解码器及用于算术编码与解码信息值序列的方法及实现方法的计算机程序 | |
CN116582689A (zh) | 用于资源受限编码环境中的低延迟视频传输的无损压缩 | |
US8854233B2 (en) | Method and system for de-binarization | |
KR102109768B1 (ko) | Uhd 영상의 고속 처리를 위한 cabac 이진 산술 부호화기 | |
US6919830B1 (en) | Arithmetic decoding of an arithmetically encoded information signal | |
CN117917857A (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 |