CN115623212A - 对比特流进行子划分区间的方法和电子装置 - Google Patents
对比特流进行子划分区间的方法和电子装置 Download PDFInfo
- Publication number
- CN115623212A CN115623212A CN202211263307.1A CN202211263307A CN115623212A CN 115623212 A CN115623212 A CN 115623212A CN 202211263307 A CN202211263307 A CN 202211263307A CN 115623212 A CN115623212 A CN 115623212A
- Authority
- CN
- China
- Prior art keywords
- probability
- value
- video
- probability estimate
- prediction
- 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
Images
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/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
-
- 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
- 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/3068—Precoding preceding compression, e.g. Burrows-Wheeler transformation
- H03M7/3079—Context modeling
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开涉及视频编码,并且更具体地涉及在熵解码期间针对代表一组视频图片的比特流进行子划分一区间的方法。根据本发明的方面,通过(i)在一概率估计值上执行一第一右移位运算以降低所述概率估计值的多个位的长度,(ii)将所述第一右移位运算的概率估计值乘以代表所述区间的一范围值,产生乘法结果,(iii)在所述乘法结果上执行第二右移位运算,以及(iv)将一第一常数值加到所述第二右移位运算结果,計算一子区间。所述概率估计值与具有特定值的bin的概率相关联。使用所述計算的子区间来更新所述区间。
Description
技术领域
本公开涉及视频编码,并且更具体地涉及用于执行二进制算术编码的技术。
背景技术
数字视频功能可以结合到各种设备中,包括数字电视、笔记本电脑或台式电脑、平板电脑、数字录音设备、数字媒体播放器、视频游戏设备、蜂窝电话(包括所谓的智能电话)、医学成像设备等。可以根据视频编码标准对数字视频进行编码。视频编码标准可以结合视频压缩技术。视频编码标准的示例包括ISO/IEC MPEG-4Visual和ITU-T H.264(也称为ISO/IEC MPEG-4AVC)和高效率视频编码(HEVC)。HEVC在2016年12月的ITU-T H.265建议书的高效视频编码(HEVC)中有所描述,该文献以引用方式并入本文,并且在本文中被称为ITU-TH.265。目前正在考虑对ITU-T H.265进行扩展和改进以开发下一代视频编码标准。例如,ITU-T视频编码专家组(VCEG)和ISO/IEC活动图像专家组(MPEG)(被统称为联合视频研究组(JVET))正在研究压缩能力显著超过当前HEVC标准的未来视频编码技术的标准化的潜在需求。以引用方式并入本文的联合探索模型7(JEM 7)、联合探索测试模型7(JEM 7)的算法描述、ISO/IEC JTC1/SC29/WG11文档:JVET-G1001(2017年7月,意大利,都灵)描述了由JVET在联合测试模型研究下的编码特征,该技术是超越ITU-T H.265功能的潜在增强视频编码技术。应当指出的是,JEM 7的编码特征在JEM参考软件中实现。如本文所用,术语JEM可统称包括在JEM 7中的算法以及JEM参考软件的具体实施。
视频压缩技术可减少存储和传输视频数据的数据需求。视频压缩技术可通过利用视频序列中固有的冗余来减少数据需求。视频压缩技术可将视频序列再分成连续较小的部分(即,视频序列内的帧组、帧组内的帧、帧内的片段、片段内的编码树单元(例如,宏块)、编码树单元内的编码块等)。可以使用帧内预测编码技术(例如,图片内(空间))和帧间预测技术(即图片间(时间))来生成待编码的视频数据单元与视频数据的参考单元之间的差值。该差值可被称为残差数据。残差数据可被编码为量化变换系数。语法元素可以涉及残差数据和参考编码单元(例如,帧内预测模式索引、运动矢量和块矢量)。可以对残差数据和语法元素进行熵编码。熵编码的残差数据和语法元素可以包括在兼容比特流中。
发明内容
在一个示例中,,提供了一种用于在熵解码期间针对代表一组视频图片的比特流进行子划分一区间的电子装置与方法。本发明公开的方法包括通过(i)在一概率估计值上执行一第一右移位运算以降低所述概率估计值的多个位的长度,(ii)将所述第一右移位运算的概率估计值乘以代表所述区间的一范围值,产生乘法结果,(iii)在所述乘法结果上执行第二右移位运算,以及(iv)将一第一常数值加到所述第二右移位运算结果,計算一子区间,其中所述概率估计值与具有特定值的bin的概率相关联;以及使用所述子区间来更新所述区间。
附图说明
图1是示出根据四叉树二叉树划分编码的一组图片的示例的概念图,其中
四叉树二叉树划分是根据本公开的一种或多种技术。
图2A是示出根据本公开的一或多种技术的对视频数据块进行编码的示例的概念图。
图2B是示出根据本公开的一或多种技术的对视频数据块进行编码的示例的概念图。
图3是示出根据本公开的一种或多种技术的可被配置为对视频数据进行编码和解码的系统的示例的框图。
图4是示出根据本公开的一种或多种技术的可被配置为对视频数据进行编码的视频编码器的示例的框图。
图5是示出根据本公开的一种或多种技术的可被配置为对视频数据进行编码的熵编码器的示例的框图。
图6是示出根据本公开的一种或多种技术的可被配置为对视频数据进行解码的视频解码器的示例的框图。
图7是示出根据本公开的一种或多种技术的可被配置为对视频数据进行解码的熵解码器的示例的框图。
具体实施方式
一般来讲,本公开描述了用于对视频数据进行编码的各种技术。具体而言,本公开描述了用于执行二进制算术编码的技术。应当指出的是,虽然本公开的技术是关于ITU-TH.264、ITU-T H.265和JEM描述的,但是本公开的技术可普遍应用于视频编码。例如,除了包括在ITU-T H.265和JEM中的那些技术,本文所述的编码技术可并入视频编码系统(包括基于未来视频编码标准的视频编码系统),包括块结构、帧内预测技术、帧间预测技术、变换技术、滤波技术和/或其他熵编码技术。因此,对ITU-T H.264、ITU-T H.265和/或JEM的参考是出于描述性目的,并且不应被解释为限制本文所述技术的范围。此外,应当指出的是,将文献以引用方式并入本文是出于描述性目的,并且不应被解释为限制或产生关于本文所用术语的歧义。例如,在某个并入的参考文献中提供的对某个术语的定义不同于另一个并入的参考文献和/或如本文所用的该术语的情况下,则该术语应以广泛地包括每个相应定义的方式和/或以包括替代方案中每个特定定义的方式来解释。
在一个示例中,设备包括一个或多个处理器,该一个或多个处理器被配置为确定bin值是否等于最小概率状态;并且在bin值等于最小概率状态的情况下通过有条件地将2N-d添加到概率估计来更新概率估计,其中N是概率估计的位宽度,并且d是控制概率更新速度的参数。
在一个示例中,非暂态计算机可读存储介质包括存储在其上的指令,当这些指令被执行时,使得设备的一个或多个处理器确定bin值是否等于最小概率状态;并且在bin值等于最小概率状态的情况下通过有条件地将2N-d添加到概率估计来更新概率估计,其中N是概率估计的位宽度,并且d是控制概率更新速度的参数。
在一个示例中,装置包括用于确定bin值是否等于最小概率状态的构件;以及用于在bin值等于最小概率状态的情况下通过有条件地将2N-d添加到概率估计来更新概率估计的构件,其中N是概率估计的位宽度,并且d是控制概率更新速度的参数。
在以下附图和描述中阐述了一个或多个示例的细节。其他特征、目的和优点将从描述和附图以及权利要求书中显而易见。
视频内容通常包括由一系列帧(或图片)组成的视频序列。一系列帧也可以被称为一组图片(GOP)。每个视频帧或图片可以包括多个片段或图块,其中片段或图块包括多个视频块。如本文所用,术语“视频块”通常可以指图片的区域,或者可以更具体地指可以被预测性地编码的样本值的最大阵列、其子分区和/或对应结构。此外,术语“当前视频块”可以指正被编码或解码的图片的区域。视频块可被定义为可被预测性地编码的样本值的阵列。应当指出的是,在一些情况下,像素值可被描述为包括视频数据的相应分量的样本值,其也可被称为颜色分量(例如,亮度(Y)和色度(Cb和Cr)分量或红色、绿色和蓝色分量)。应当指出的是,在一些情况下,术语“像素值”和“样本值”可互换使用。视频块可以根据扫描模式(例如,光栅扫描)在图片内排序。视频编码器可对视频块和其子分区执行预测编码。视频块和其子分区可以被称为节点。
视频采样格式(也可以被称为色度格式)可以相对于CU中包括的亮度样本的数量来定义CU中包括的色度样本的数量。例如,对于4∶2∶0采样格式,亮度分量的采样率是水平和垂直两个方向的色度分量的采样率的两倍。因此,对于根据4∶2∶0格式格式化的CU,用于亮度分量的样本阵列的宽度和高度是用于色度分量的每个样本阵列的宽度和高度的两倍。如上所述,通常根据水平和垂直亮度样本的数量来定义CU。对于根据4∶2∶2格式格式化的CU,亮度分量的样本阵列的宽度是每个色度分量的样本阵列的宽度的两倍,但是亮度分量的样本阵列的高度等于每个色度分量的样本阵列的高度。此外,对于根据4∶4∶4格式格式化的CU,亮度分量的样本阵列具有与每个色度分量的样本阵列相同的宽度和高度。
ITU-T H.264规定了包括16×16亮度样本的宏块。即,在ITU-T H.264中,图片被分割成宏块。ITU-T H.265指定了类似的编码树单元(CTU)结构(其可被称为最大编码单元(LCU))。在ITU-T H.265中,图片被分割成CTU。在ITU-T H.265中,对于图片,CTU尺寸可被设定为包括16×16、32×32或64×64亮度样本。在ITU-T H.265中,CTU由视频数据的每个分量(例如,亮度(Y)和色度(Cb和Cr))的相应编码树块(CTB)组成。应当指出的是,具有一个亮度分量和两个对应色度分量的视频可被描述为具有两个通道,即,亮度通道和色度通道。此外,在ITU-T H.265中,可根据四叉树(QT)划分结构来划分CTU,这使得CTU的CTB被划分为编码块(CB)。也就是说,在ITU-T H.265中,CTU可被划分为四叉树叶节点。根据ITU-T H.265,一个亮度CB连同两个对应的色度CB和相关联的语法元素被称为编码单元(CU)。在ITU-TH.265中,可以发送信号通知CB的最小允许大小。在ITU-T H.265中,亮度CB的最小允许最小大小是8×8亮度样本。在ITU-T H.265中,使用帧内预测或帧间预测对图片区域进行编码的决定在CU级进行。
在ITU-T H.265中,CU与在CU处具有其根的预测单元(PU)结构相关联。在ITU-TH.265中,PU结构允许分割亮度CB和色度CB以生成对应的参考样本。即,在ITU-T H.265中,可将亮度CB和色度CB分割成相应的亮度预测块和色度预测块(PB),其中PB包括对其应用相同预测的样本值的块。在ITU-T H.265中,可将CB划分为1个、2个或4个PB。ITU-T H.265支持从64×64样本向下至4×4样本的PB大小。在ITU-T H.265中,支持正方形PB来进行帧内预测,其中CB可形成PB,或者CB可被分割成四个正方形PB(即,帧内预测PB类型包括M×M或M/2×M/2,其中M为正方形CB的高度和宽度)。在ITU-T H.265中,除了正方形PB之外,还支持矩形PB来进行帧间预测,其中CB可垂直地或水平地减半以形成PB(即,帧间预测PB类型包括M×M、M/2×M/2、M/2×M或M×M/2)。此外,应当指出的是,在ITU-T H.265中,对于帧间预测,支持四个非对称PB划分,其中CB在CB的高度(顶部或底部)或宽度(左侧或右侧)的四分之一处被划分为两个PB(即,非对称划分包括M/4×M左、M/4×M右、M×M/4顶部和M×M/4底部)。对应于PB的帧内预测数据(例如,帧内预测模式语法元素)或帧间预测数据(例如,运动数据语法元素)用于生成PB的参考和/或预测样本值。
JEM规定了具有最大大小的256×256亮度样本的CTU。JEM指定了四叉树加二叉树(QTBT)块结构。在JEM中,QTBT结构允许由二叉树(BT)结构进一步划分四叉树叶节点。也就是说,在JEM中,二叉树结构允许将四叉树叶节点垂直或水平递归划分。图1示出了CTU(例如,具有256×256亮度样本的大小的CTU)被划分为四叉树叶节点并且四叉树叶节点根据二叉树进一步划分的示例。也就是说,在图1中,虚线指示四叉树中的附加二叉树划分。因此,JEM中的二叉树结构实现了正方形和矩形叶节点,其中每个叶节点包括CB。如图1所示,包括在GOP中的图片可包括片段,其中每个片段包括CTU序列,并且每个CTU可根据QTBT结构被划分。图1示出了包括在片段中的一个CTU的QTBT划分的示例。在JEM中,CB用于预测而无需任何进一步的划分。也就是说,在JEM中,CB可以是对其应用相同预测的样本值的块。因此,JEMQTBT叶节点可类似于ITU-T H.265中的PB。
对于帧内预测编码,帧内预测模式可指定图片内的参考样本的位置。在ITU-TH.265中,已定义的可能的帧内预测模式包括平面(即,表面拟合)预测模式(predMode:0)、DC(即平坦的整体平均)预测模式(predMode:1),以及33个角度预测模式(predMode:2-34)。在JEM中,已定义的可能的帧内预测模式包括平面预测模式(predMode:0)、DC预测模式(predMode:1),以及65个角度预测模式(predMode:2-66)。应当指出的是,平面预测模式和DC预测模式可以被称为无方向预测模式,并且角度预测模式可以被称为方向预测模式。应当指出的是,无论已定义的可能预测模式的数量如何,本文描述的技术可以是普遍适用的。
对于帧间预测编码,运动矢量(MV)识别除了待编码的视频块的图片之外的图片中的参考样本,从而利用视频中的时间冗余。例如,可以从位于先前编码的一个或多个帧中的一个或多个参考块预测当前视频块,并且可以使用运动矢量来指示参考块的位置。运动向量和相关数据可以描述例如运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度、二分之一像素精度、一像素精度、二像素精度、四像素精度)、预测方向和/或参考图片索引值。此外,编码标准诸如ITU-T H.265,可以支持运动矢量预测。运动矢量预测允许待指定的运动矢量使用相邻块的运动矢量。运动矢量预测的示例包括高级运动矢量预测(AMVP)、时间运动矢量预测(TMVP)、所谓的“合并”模式,以及“跳过”和“直接”运动推理。此外,JEM支持高级时间运动矢量预测(ATMVP)和空间-时间运动矢量预测(STMVP)。
如上所述,帧内预测数据或帧间预测数据用于产生样本值的块的参考样本值。包括在当前PB或另一类型的图片区域结构和相关联的参考样本(例如,使用预测生成的那些)中的样本值之间的差可以被称为残差数据。残差数据可以包括对应于视频数据的每个分量的相应差值阵列。残差数据可能在像素域中。可对差值阵列应用变换诸如离散余弦变换(DCT)、离散正弦变换(DST)、整数变换、小波变换或概念上类似的变换,以生成变换系数。在一些情况下,变换过程可包括旋转和/或执行一个或多个一维变换。应当指出的是,在ITU-TH.265中,CU与在CU级具有其根的变换单元(TU)结构相关联。也就是说,在ITU-T H.265中,为了生成变换系数,可以对差值的阵列进行再分(例如,可以将四个8×8变换应用于16×16残差值阵列)。对于视频数据的每个分量,差值的此类再分可被称为变换块(TB)。应当指出的是,在ITU-T H.265中,TB不一定与PB对准。此外,应当指出的是,在ITU-T H.265中,TB可具有以下大小4×4、8×8、16×16和32×32。
应当指出的是,在JEM中,对应于CB的残差值用于生成变换系数而无需进一步划分。也就是说,在JEM中,QTBT叶节点可以类似于ITU-T H.265中的PB和TB两者。应当指出的是,在JEM中,可以(在视频编码器中)应用核心变换和后续二次变换来生成变换系数。对于视频解码器,变换的顺序是相反的。此外,在JEM中,是否应用二次变换来生成变换系数可取决于预测模式。
例如,就调色板编码量化而言,可以直接对变换系数或残差样本值执行量化过程。量化通过限于一组指定值的振幅来逼近变换系数。量化实质上对变换系数进行缩放以便改变表示一组变换系数所需的数据量。量化可包括将变换系数(或将偏移值添加到变换系数的结果值)除以量化缩放因子和任何相关联的取整函数(例如,取整为最接近的整数)。量化的变换系数可以被称为系数位阶值。逆量化(或“去量化”)可以包括将系数位阶值与量化缩放因子相乘,以及任何倒数取整或偏移加法运算。应当指出的是,如本文所用,术语量化过程在一些情况下可指除以缩放因子以生成位阶值,并且在一些情况下可指乘以缩放因子以恢复变换系数。也就是说,量化过程在一些情况下可以指量化,而在一些情况下可以指逆量化。此外,应当指出的是,虽然在下面的示例中的一些示例中关于与十进制记数法相关的算术运算描述了量化过程,但是这样的描述是为了说明的目的,并且不应该被解释为进行限制。例如,本文描述的技术可以在使用二进制运算等的设备中实现。例如,本文描述的乘法和除法运算可以使用移位运算等来实现。
关于本文所用的公式,可使用以下算术运算符:
+ 加法
- 减法
* 乘法,包括矩阵乘法
xy 求幂。将x指定为y的幂。在其他上下文中,此类符号用于上标而非旨在用于解释为求幂。
/ 将结果向着零截断的整数除去。例如,将7/4和-7/-4截断为1,将-7/4和7/-4截断为-1。
÷ 在不旨在进行截断或舍入情况下用于表示数学公式中的除法。
x%y 模量。x除以y的余数,仅针对x≥0且y>0的整数x和y定义。
此外,可使用以下逻辑运算符:
x&&y x和y的布尔逻辑“和”
x||y x和y的布尔逻辑“或”
!布尔逻辑“否”
x?y:z如果x为TRUE或不等于0,则求值为y;否则,求值为z。
此外,可使用以下关系运算符:
> 大于
≥ 大于或等于
< 小于
≤ 小于或等于
== 等于
!= 不等于
此外,可使用以下逐位运算符:
& 逐位“与”。当对整型变量进行运算时,对整数值的二进制补码表示进行运算。当对包含比另一变量更少位的二进制变量进行运算时,通过添加等于0的更多有效位来扩展较短变量。
| 逐位“或”。当对整型变量进行运算时,对整数值的二进制补码表示进行运算。当对包含比另一变量更少位的二进制变量进行运算时,通过添加等于0的更多有效位来扩展较短变量。
^ “异或”。当对整型变量进行运算时,对整数值的二进制补码表示进行运算。当对包含比另一变量更少位的二进制变量进行运算时,通过添加等于0的更多有效位来扩展较短变量。
x>>y x的二进制补码整数表示算术右移y个二进制位。该函数仅针对y的非负整数值定义。由于右移而移位到最高有效位(MSB)中的位的值等于移位运算之前的x的MSB。
x<<y x的二进制补码整数表示算术左移y个二进制位。该函数仅针对y的非负整数值定义。由于左移而移位到最低有效位(LSB)中的位的值等于0。
图2A至图2B是示出对视频数据块进行编码的示例的概念图。如图2A所示,通过从视频数据的当前块中减去一组预测值生成残差、对残差执行变换并且将变换系数量化来生成位阶值,对视频数据的当前块(例如,对应于视频分量的CB)进行编码。如图2B中所示,通过对位阶值执行逆量化,执行逆变换,并且将一组预测值加上所得残差来对当前视频数据块进行解码。应当指出的是,在图2A至图2B的示例中,重构块的样本值不同于被编码的当前视频块的样本值。这样,编码可被认为是有损的。然而,对于重构视频的观看者,样本值的差值可被认为是可接受的或不可察觉的。
另外,如图2A至图2B所示,使用缩放因子阵列生成系数位阶值。在ITU-T H.265中,通过选择缩放矩阵并将缩放矩阵中的每个条目乘以量化缩放因子来生成缩放因子阵列。在ITU-T H.265中,部分地基于预测模式和颜色分量来选择缩放矩阵,其中定义了以下大小的缩放矩阵:4×4、8×8、16×16和32×32。应当指出的是,在一些示例中,缩放矩阵可以为每个条目提供相同的值(即,根据单个值缩放所有系数)。在ITU-T H.265中,可以由量化参数QP确定量化缩放因子的值。在ITU-T H.265中,对于8位的位深度,QP可以取0至51的52个值,QP变化1通常对应于量化缩放因子的值变化约12%。此外,在ITU-T H.265中,可以使用预测量化参数值(可以被称为预测QP值或QP预测值)和可选地用信号发送的量化参数增量值(可以被称为QP增量值或增量QP值)来导出一组变换系数的QP值。在ITU-T H.265中,可以针对每个CU更新量化参数,并且可以针对亮度和色度通道中的每一个导出相应量化参数。
再次参见图2A,量化的变换系数被编码成比特流。可根据熵编码技术对量化的变换系数和语法元素(例如,指示视频块的编码结构的语法元素)进行熵编码。熵编码过程包括使用无损数据压缩算法对语法元素值进行编码。熵编码技术的示例包括内容自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)、概率区间划分熵编码(PIPE)等。熵编码的量化变换系数和对应的熵编码的语法元素可形成可用于在视频解码器处再现视频数据的兼容比特流。熵编码过程,例如CAB AC,可包括对语法元素进行二值化。二值化是指将语法元素值转换为一个或多个位的序列的过程。这些位可以被称为“二进制位”。二值化可以包括以下编码技术中的一种或组合:固定长度编码、一元编码、截断一元编码、截断Rice编码、Golomb编码、k阶指数Golomb编码和Golomb-Rice编码。例如,二值化可包括使用8位固定长度二值化技术将语法元素的整数值5表示为00000101,或者使用一元编码二值化技术将整数值5表示为11110。如本文所用,术语固定长度编码、一元编码、截断一元编码、截断Rice编码、Golomb编码、k阶指数Golomb编码和Golomb-Rice编码中的每一个可以指这些技术的一般实现和/或这些编码技术的更具体实现。例如,可以根据视频编码标准(例如,ITU-T H.265)具体地定义Golomb-Rice编码实现。
在ITU-T H.265中CABAC的示例中,对于特定bin,使用上下文模型来确定bin的上下文索引。上下文模型是bin的概率状态模型所必需的,并且在给定算术编码状态下,上下文索引提供bin的最大概率状态(MPS)值(即,bin的MPS为0或1中的一者),以及bin为MPS和/或最小概率状态(LPS)的概率值。例如,在当前状态下上下文索引可以指示bin的MPS为0,并且bin为1(即,LPS)的概率为0.3。应当指出的是,可以基于先前编码的语法元素的值来选择上下文模型。例如,与相邻视频块相关联的语法元素的值可以用于确定与对应于当前视频块的语法元素相关联的上下文模型。
二进制算术编码基于递归区间子划分原理对一系列0和1进行编码。基本上,对于二进制串(b1,...,bN),对于具有初始宽度(范围)R0的区间,对于(b1,...,bN),R0如下递归地划分:
对于i=(1,...,N),
如果bi等于LPS,则:
Ri=pLPSi*Ri-1,
否则
Ri=Ri-1-pLPSi*Ri-1,
其中,
LPS是最小概率符号的值,并且
pLPSi是bi为LPS的估计概率。
如上所述,基于bi的观测值是MPS还是LPS来确定Ri。例如,对于b1,如果R0为512,则LPS为0,并且pLPS1*R0为158,如果观测到b1为1,则R1=354,并且如果观测到bi为0,则R1=158。在ITU-T H.265中,上下文索引提供bin的MPS值以及bin为LPS的概率值,其中bin为LPS的概率值(即,pLPS)由64个概率状态中的一个概率状态指示。具体地讲,在ITU-T H.265中,对概率状态索引变量pStateIdx进行索引,使得pStateIdx=0对应于最大LPS概率值,并且降低的LPS概率被索引到更高的pStateIdx值。此外,在ITU-T H.265中,可以用9位表示R0为512。然而,将Ri量化成集合{Q1,...,Q4},使得根据64×4查找表预先计算和索引pLPSi*Ri-1的所有可能值。
在编码期间,在确定Ri的区间之后,即,基于pLPSi和bi的观测值,进行再归一化过程。再归一化过程基本上基于Ri的值来确定是否输出位(例如,写入比特流)。实质上,在再归一化中,如果Ri降至阈值以下,则Ri加倍并且可输出位值。例如,在ITU-T H.265中描述的编码器侧再归一化过程中,确定Ri是否小于256。如果Ri不小于256,则没有位写入比特流,并且使用Ri计算出bi+1的Ri+1。如果Ri小于256,则基于子区间的下端有条件地将0位、1位写入比特流或者没有位写入比特流,并且Ri加倍,并且计算出bi+1的Ri+1(即,基于加倍的Ri值)。接收输出位(即,算术编码)的二进制解码器通过在每个bi处作为编码器执行相同的区间子划分并且通过将算术编码的子集与Ri值进行比较来恢复二进制串(b1,...,bN)。
在ITU-T H.265中,bin的观测值用于更新上下文索引。ITU-T H.265提供了关于基于所确定的bin值来更新上下文索引的以下内容:
其中,
valMps是bin的MPS值;并且
transIdxMps()和transIdxLps()是如表1中提供的一组定义的转换规则。
pStateIdx | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
transIdxLps | 0 | 0 | 1 | 2 | 2 | 4 | 4 | 5 | 6 | 7 | 8 | 9 | 9 | 11 | 11 | 12 |
transIdxMps | l | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
pStateIdx | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
transIdxLps | 13 | 13 | 15 | 15 | 16 | 16 | 18 | 18 | 19 | 19 | 21 | 21 | 22 | 22 | 23 | 24 |
transIdxMps | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
pStateIdx | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |
transIdxLps | 24 | 25 | 26 | 26 | 27 | 27 | 28 | 29 | 29 | 30 | 30 | 30 | 31 | 32 | 32 | 33 |
transIdxMps | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 |
pStateIdx | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |
transIdxLps | 33 | 33 | 34 | 34 | 35 | 35 | 35 | 36 | 36 | 36 | 37 | 37 | 37 | 38 | 38 | 63 |
transIdxMps | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 62 | 63 |
表1
因此,在ITU-T H.265中,如果确定bin值等于MPS,则LPS概率值减小。如果确定bin值等于LPS,则LPS概率值增加,并且此外,如果当前概率状态pLPS为0.5(即,pStateIdx等于0),则发生LPS反转(即,先前的LPS值变为MPS)。应当指出的是,根据ITU-T H.265,根据相等概率状态使用算术编码对一些语法元素进行熵编码,此类编码可以称为旁路编码。ITU-TH.265中提供的概率估计具有相对较低的复杂度。已经提出了用于二进制算术编码的具有更高复杂度的改善的(即,更准确的)概率估计。
JEM通过基于两种概率估计应用“多假设”概率更新模型来修改ITU-T H.265中的CABAC过程。具体地讲,在JEM中,两种概率估计P0和P1与每个上下文模型相关联并且以不同的适应率独立地更新,表示如下:
P0 new=P0 old+((2115-P0 old)>>Mi),如果输入为“1”,
P0 old-(P0 old>>Mi),如果输入为“0”,
Pl new=P1old+((215-P1 old)>>8),如果输入为“1”,
P1 old-(P1 old>>8),如果输入为“0”,
其中,
Pj old和Pj new(j=0,1)分别表示对bin进行解码之前和之后的概率;
Mi(为4、5、6、7)是控制索引等于i的上下文模型的概率更新速度的参数;并且
215是最大概率(定点表示为1.0)。
在JEM中,用于区间子划分的概率估计P是P0 new和P1 new的平均值,即,P=(P0 new+P1 new)/2。在JEM中,控制每个上下文模型的概率更新速度的上述公式中使用的参数Mi的值被指定如下:在编码器侧,记录与每个上下文模型相关联的编码的bin。在一个片段被编码之后,针对索引等于i的每个上下文模型,计算使用不同Mi值(为4、5、6、7)的速率成本,并且选择提供最小速率成本的上下文模型。为了简单起见,仅当遇到片段类型和片段级量化参数的新组合时才执行该选择过程。针对每个上下文模型发送信号通知1位标记以指示是否Mi与默认值4不同。当标记的值为1时,使用两位来指示Mi是否等于5、6或7。
在JEM中,根据为每个pLPSi*Ri-1提供8位值的64列*512行查找表来预先计算pLPSi*Ri-1的所有可能值。即,P映射到512个概率状态中的一个概率状态,并且对于位值0,存在具有Ri-1的对应8位值的64列。应当指出的是,在JEM中,始终认为LPS为0。
应当指出的是,如JEM中提供的概率估计的更新可以更一般地描述如下:
if(binVal==0)
Pnew=Pold-(Pold>>d)
else
Pnew=Pold+((2N-Pold)>>d)
其中,
Pold表示更新之前的估计概率;
Pnew表示根据更新的估计概率;
d是控制概率更新速度的参数;
N表示概率的精度(即,位宽度);并且
2N是最大概率(定点表示为1.0)
可根据以下运算来实现概率估计:
Pnew=Pold-((Pold-(flag0&(2 N+1-2d)))>>d)
其中,
if(binVal==0)为真时,flag0为0,否则flag0为1。
应当指出的是,在视频解码器处,对于特定bin确定是否(binVal==0)(或者是否(binVal==valMps))可以相对较晚地发生。在一个示例中,在基于if(binVal==0)的条件下实施确定Pnew的情况下,如上所述,为了加快确定Pnew,可以计算出Pnew的两个值(即,一是针对if(binVal==0)为真的情况,一是针对if(binVal==0)为假的情况),并且一旦对if(binVal==0)进行了确定,就可以选择Pnew的值中的一个值。然而,计算Pnew的两个值可能是低效的。应当指出的是,与计算出Pnew的两个值的情况相比,在上述等式中使用flag0计算Pnew的具体实施中,使用了更少的运算来确定Pnew。然而,根据上述等式,运算可能延迟直到(binVal==0)已知。因此,用于更新概率估计的当前技术可能不太理想。
图3是示出根据本公开的一种或多种技术的可被配置为对视频数据进行编码(例如,编码和/或解码)的系统的示例的框图。系统100表示可以根据本公开的一种或多种技术使用所述划分技术执行视频编码的系统的示例。如图3所示,系统100包括源设备102、通信介质110和目标设备120。在图3所示的示例中,源设备102可以包括被配置为对视频数据进行编码并将编码视频数据发送到通信介质110的任何设备。目标设备120可包括被配置为经由通信介质110接收编码视频数据并且对编码视频数据进行解码的任何设备。源设备102和/或目标设备120可包括配备用于进行有线和/或无线通信的计算设备,并且可以包括机顶盒、数字视频录像机、电视机、台式电脑、膝上型电脑或平板电脑、游戏控制台、移动设备包括例如“智能”电话、蜂窝电话、个人游戏设备和医学成像设备。
通信介质110可以包括无线和有线通信介质和/或存储设备的任意组合。通信介质110可以包括同轴电缆、光纤电缆、双绞线电缆、无线发射器和接收器、路由器、交换机、中继器、基站或可用于促进各种设备和站点之间的通信的任何其他设备。通信介质110可以包括一个或多个网络。例如,通信介质110可以包括被配置为允许访问万维网例如互联网的网络。网络可以根据一个或多个电信协议的组合来运营。电信协议可以包括专有方面和/或可以包括标准化电信协议。标准化电信协议的示例包括数字视频广播(DVB)标准、高级电视系统委员会(ATSC)标准、综合服务数字广播(ISDB)标准、有线数据业务接口规范(DOCSIS)标准、全球移动通信系统(GSM)标准、码分多址(CDMA)标准、第3代合作伙伴计划(3GPP)标准、欧洲电信标准协会(ETSI)标准、互联网协议(IP)标准、无线应用协议(WAP)标准以及电气与电子工程师协会(IEEE)标准。
存储设备可以包括能够存储数据的任何类型的设备或存储介质。存储介质可以包括有形或非暂态计算机可读介质。计算机可读介质可以包括光盘、闪存、磁存储器或任何其他合适的数字存储介质。在一些示例中,存储器设备或其部分可以被描述为非易失性存储器,并且在其他示例中,存储器设备的部分可以被描述为易失性存储器。易失性存储器的示例可以包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)。非易失性存储器的示例可以包括磁性硬盘、光盘、软盘、闪存或电可编程存储器(EPROM)或电可擦除和可编程(EEPROM)存储器的形式。存储设备可以包括存储卡(例如,安全数字(SD)存储卡)、内部/外部硬盘驱动器和/或内部/外部固态驱动器。数据可以根据定义的文件格式存储在存储设备上。
再次参考图3,源设备102包括视频源104、视频编码器106和接口108。视频源104可包括被配置为捕获和/或存储视频数据的任何设备。例如,视频源104可以包括摄像机和可操作地与其耦接的存储设备。视频编码器106可包括被配置为接收视频数据并生成表示视频数据的兼容比特流的任何设备。兼容比特流可以指视频解码器可以从其接收和再现视频数据的比特流。兼容比特流的各方面可根据视频编码标准来定义。当生成兼容比特流时,视频编码器106可以压缩视频数据。压缩可能是有损的(可觉察的或不可觉察的)或无损的。接口108可以包括被配置为接收兼容视频比特流并且将该兼容视频比特流传输和/或存储到通信介质的任何设备。接口108可以包括网络接口卡诸如以太网卡,并且可以包括光收发器、射频收发器或者可以发送和/或接收信息的任何其他类型的设备。此外,接口108可以包括计算机系统接口,该计算机系统接口可以允许兼容视频比特流存储在存储设备上。例如,接口108可以包括支持外围部件互连(PCI)和高速外围部件互连(PCIe)总线协议、专用总线协议、通用串行总线(USB)协议、I2C的芯片组、或可用于互连对等设备的任何其他逻辑和物理结构。
再次参考图3,目标设备120包括接口122、视频解码器124和显示器126。接口122可以包括被配置为从通信介质接收兼容视频比特流的任何设备。接口108可以包括网络接口卡诸如以太网卡,并且可以包括光收发器、射频收发器或者可以接收和/或发送信息的任何其他类型的设备。此外,接口122可以包括允许从存储设备检索兼容视频比特流的计算机系统接口。例如,接口122可以包括支持PCI和PCIe总线协议、专用总线协议、USB协议、I2C的芯片组,或者可用于互连对等设备的任何其他逻辑和物理结构。视频解码器124可包括被配置为接收兼容比特流和/或其可接受变体,并且从其再现视频数据的任何设备。显示器126可以包括被配置为显示视频数据的任何设备。显示器126可以包括各种显示设备诸如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另外的类型的显示器中的一种。显示器126可以包括高清显示器或超高清显示器。应当指出的是,虽然在图3所示的示例中,视频解码器124被描述为将数据输出到显示器126,但视频解码器124可被配置为将视频数据输出到各种类型的设备和/或其子部件。例如,视频解码器124可被配置为将视频数据输出到任何通信介质,如本文所述。
图4是示出可实现本文所述的用于对视频数据进行编码的技术的视频编码器200的示例的框图。应当指出的是,尽管示例性视频编码器200被示出为具有不同的功能块,但此类图示旨在用于描述目的,并且不将视频编码器200和/或其子部件限制为特定的硬件或软件架构。可使用硬件、固件和/或软件具体实施的任何组合来实现视频编码器200的功能。在一个示例中,视频编码器200可被配置为根据本文描述的技术对视频数据进行编码。视频编码器200可执行图片区域的帧内预测编码和帧间预测编码,并且因此可被称为混合视频编码器。在图4所示的示例中,视频编码器200接收源视频块。在一些示例中,源视频块可以包括已经根据编码结构划分的图片区域。例如,源视频数据可包括宏块、CTU、CB、其子分区和/或另外的等效编码单元。在一些示例中,视频编码器200可被配置为执行源视频块的附加子划分。应当指出的是,本文所述的一些技术可普遍适用于视频编码,无论在编码之前和/或期间如何划分源视频数据。在图4所示的示例中,视频编码器200包括求和器202、变换系数生成器204、系数量化单元206、逆量化/变换处理单元208、求和器210、帧内预测处理单元212、帧间预测处理单元214、滤波器单元216和熵编码单元218。
如图4所示,视频编码器200接收源视频块并输出比特流。视频编码器200可通过从源视频块中减去预测视频块来生成残差数据。求和器202表示被配置为执行该减法运算的部件。在一个示例中,在像素域中发生视频块的减去。变换系数生成器204将变换,诸如离散余弦变换(Discrete Cosine Transform,DCT)、离散正弦变换(Discrete Sine Transform,DST)或概念上类似的变换,应用到其残余块或子分区(例如,可以将四个8×8变换应用于16×16残差值阵列)以生成一组残差变换系数。变换系数生成器204可以被配置为执行离散三角变换系列中包括的变换的任意和全部组合。如上所述,在ITU-T H.265中,TB被限制为以下大小4×4、8×8、16×16和32×32。在一个示例中,变换系数生成器204可被配置为根据大小为4×4、8×8、16×16和32×32的阵列执行变换。在一个示例中,变换系数生成器204可进一步被配置为根据其他尺寸的阵列执行变换。具体地讲,在一些情况下,对不同值组成的矩形阵列执行变换可能是有用的。在一个示例中,变换系数生成器204可被配置为根据以下阵列大小来执行变换:2×2、2×4N、4M×2和/或4M×4N。在一个示例中,二维(2D)M×N逆变换可实现为一维(1D)M点逆变换后再进行1D N点逆变换。在一个示例中,2D逆变换可实现为1DN点垂直变换后再进行1D N点水平变换。在一个示例中,2D逆变换可实现为1D N点水平变换后再进行1D N点垂直变换。变换系数生成器204可将变换系数输出到系数量化单元206。
系数量化单元206可被配置为执行变换系数的量化。如上所述,可以通过调整量化参数来修改量化程度。系数量化单元206可以进一步被配置为确定量化参数并且输出QP数据(例如,用于确定量化组大小和/或增量QP值的数据),视频解码器可以使用该QP数据来重构量化参数以在视频解码期间执行逆量化。应当注意的是,在其他示例中,可以使用一个或多个附加或另选的参数来确定量化位阶(例如,缩放因子)。本文所述的技术通常可应用于基于对应于视频数据的某一分量的变换系数的量化位阶,确定对应于视频数据的另一分量的变换系数的量化位阶。
再次参见图4,量化的变换系数被输出到逆量化/变换处理单元208。逆量化/变换处理单元208可被配置为应用逆量化和逆变换来生成重构的残差数据。如图4所示,在求和器210处,重构的残差数据可以被添加到预测视频块。这样,可以重构编码的视频块,并且可以使用所得重构的视频块来评估给定的预测、变换和/或量化的编码质量。视频编码器200可被配置为执行多个编码回合(例如,在改变预测、变换参数和量化参数中的一个或多个的同时执行编码)。比特流的率失真或其他系统参数可以基于重构的视频块的评估来优化。此外,重构的视频块可被存储并用作预测后续块的参考。
如上所述,可以使用帧内预测来编码视频块。帧内预测处理单元212可被配置为针对待编码视频块选择帧内预测模式。帧内预测处理单元212可被配置为评估帧和/或其区域并且确定用以对当前块进行编码的帧内预测模式。如图4所示,帧内预测处理单元212将帧内预测数据(例如,语法元素)输出到熵编码单元218和变换系数生成器204。如上所述,对残差数据执行的变换可以取决于模式。如上所述,可能的帧内预测模式可以包括平面预测模式、DC预测模式和角度预测模式。此外,在一些示例中,可以从用于亮度预测模式的帧内预测推断出对色度分量的预测。帧间预测处理单元214可被配置为针对当前视频块执行帧间预测编码。帧间预测处理单元214可被配置为接收源视频块并且计算视频块的PU的运动矢量。运动矢量可以指示当前视频帧内的视频块的PU(或类似的编码结构)相对于参考帧内的预测块的位移。帧间预测编码可以使用一个或多个参考图片。此外,运动预测可以是单向预测(使用一个运动矢量)或双向预测(使用两个运动矢量)。帧间预测处理单元214可被配置为通过计算由例如绝对差之和(SAD)、平方差之和(SSD)或其他差值度量确定的像素差来选择预测块。如上所述,可以根据运动矢量预测来确定和指定运动矢量。如上所述,帧间预测处理单元214可被配置为执行运动矢量预测。帧间预测处理单元214可被配置为使用运动预测数据生成预测块。例如,帧间预测处理单元214可定位帧缓冲器内的预测视频块(图4中未示出)。需注意,帧间预测处理单元214可以进一步被配置为将一个或多个内插滤波器应用于重构的残差块,以计算用于运动估计的子整数像素值。帧间预测处理单元214可将所计算的运动矢量的运动预测数据输出到熵编码单元218。如图4所示,帧间预测处理单元214可经由滤波器单元216接收重构视频块。滤波器单元216可被配置为执行解块和/或样本自适应偏移(SAO)滤波。解块是指平滑化重构视频块边界的过程(例如,使观察者不易察觉到边界)。SAO滤波是一种可用于通过向重构的视频数据添加偏移以改善重构的非线性振幅映射。
再次参考图4,熵编码单元218接收量化变换系数和预测语法数据(即,帧内预测数据、运动预测数据、QP数据等)。应当指出的是,在一些示例中,系数量化单元206可以在将系数输出到熵编码单元218之前执行对包括量化变换系数的矩阵的扫描。在其他示例中,熵编码单元218可执行扫描。熵编码单元218可被配置为根据本文中所描述的技术中的一个或多个执行熵编码。熵编码单元218可被配置为输出兼容比特流(即视频解码器可从其接收和再现视频数据的比特流)。
图5是示出根据本公开的一种或多种技术的可被配置为对语法元素值进行编码的熵编码器的示例的框图。熵编码单元300可以包括上下文自适应熵编码单元,例如,CABAC编码器。如图5所示,熵编码器300包括二值化单元302、二进制算术编码单元304和上下文建模单元310。熵编码单元300可以接收一个或多个语法元素值并输出兼容比特流。如上所述,二值化包括表示bin串中的语法元素值。二值化单元302可被配置为接收语法元素值并根据一种或多种二值化技术产生bin串。二值化单元302可以使用例如以下技术中的任何一种或组合来产生bin串:固定长度编码、一元编码、截断一元编码、截断Rice编码、Golomb编码、指数Golomb编码和Golomb-Rice编码。
如上所述,二进制算术编码基于递归区间子划分原理对一系列0和1进行编码,其中对于所接收的二进制串(b1,...,bN),基于bi为LPS的估计概率对区间R0进行递归划分,并且根据再归一化过程将位写入比特流。如上面进一步所述,bi为LPS的估计概率基于上下文索引。二进制算术编码单元304被配置为从二值化单元302接收bin串并且从上下文建模单元306接收对应于bin的上下文索引,并且对bin串执行二进制算术编码。也就是说,二进制算术编码单元304被配置为根据再归一化过程将位写入比特流,并且进一步指示bin的观测值,使得可以更新上下文模型。可以根据视频编码标准诸如ITU-T H.265来定义上下文模型。上下文模型可以存储在存储器中。例如,上下文建模单元306可以存储一系列索引表并且/或者利用映射函数来确定特定bin的上下文模型。应当注意,二进制编码的功能不限于特定的功能块,并且示例图5中的二进制算术编码单元304和上下文建模单元306的示例不应理解为限制性的。
如上所述,用于更新概率估计的当前技术可能不太理想。根据本文的技术,在一个示例中,上下文建模单元306可以根据以下运算更新概率估计Pnew:
if(binVal==valMps)
Pnew=Pold-(Pold>>d)
else
Pnew=Pold+((2N-1-Pold)>>d)
其中,
Pold表示更新之前发生LPS的估计概率;
Pnew表示根据更新的发生LPS概率的估计概率;
d是控制概率更新速度的参数;
N表示概率的精度(即,位宽度);并且
2N-1是最大概率(定点表示为1.0)
此外,更新概率估计可实现如下:
Pnew=Pold-((Pold-(flagLPS&(2N-2d)))>>d)
其中,
if(binVal==valMps)为真时,flagLPS为0,否则fiagLPS为1。
上述具体实施可简化如下:
Pnew=Pold-(Pold>>d)+(flagLPS&(2N-d-1)))
应当指出的是,简化的具体实施包括相对较低的运算量,并且仅在计算接近结束时需要flagLPS的值。应当指出的是,在一些情况下,当(binVal==valMps)为假时,可以不将flagLPS设定为等于1,而是将flagLPS设定为满足二进制表示的所有位都设定为“1”的条件,使得对于x的任何值,都存在x&flagLPS=x。例如,可以将flagLPS设定为-1而不是1,因为在使用典型的二进制补码表示时,-1实现了该属性。
此外,在一个示例中,可使用取整,使得2N-d-1变为2N-d,如下所述:
Pnew=Pold-((Pold+2d-1)>>d)+(flagLPS&2 N-d)
此外,在一个示例中,Pnew的计算可如下:
Pnew=Pold-(Pold>>d)+(flagLPS&2 N-d)
在这种情况下,可能不允许Pold大至2N-1,因为Pnew将取值2N并溢出N位无符号整型范围。应当指出的是,在一些情况下,在不使用LPS/MPS约定的情况下,可以用上述flag0代替flagLPS。此外,在使用LPS/MPS约定的情况下,可以使用位反转来实现LPS/MPS切换。
如上所述,在一些示例中,概率更新模型可以基于两种概率估计。根据本文的技术,在一个示例中,上下文建模单元306可以基于概率估计P0和P1来确定概率估计P,如下所述:
P=P0+P1
其中,
标记MPS用于指示MPS的值;
P和P0均使用N位无符号整型表示;
已知P表示<0.5的数字,但P0不是;并且
P始终大于P0。
在这种情况下,在一个示例中,P的更新值Pnew可如下计算:
P0 new=P0 old-(P0 old>>d0)+(flagLPS&(2N-d0-1)));
Pnew=(Pold-P0 old)-((Pold-P0 old)>>d1)+P0 new+(flagLPS&2N-d1);
MPSnew=MPSold
其中,
Pold表示更新之前发生LPS的估计概率;
Pnew表示根据更新的发生LPS的估计概率;
MPSold表示更新之前的MPS;
MPSnew表示根据更新的MPS;
d0和d1是控制概率更新速度的参数;
N表示概率的精度(即,位宽度);
2N-1是P0 new的最大概率(定点表示为1.0);并且
2N+1-1是Pnew的最大概率(定点表示为1.0)。
应当指出的是,如果P0 new为15位并且Pnew为16位,则可以将P0 new、Pnew和MPSnew打包到单个32位字词中。如果将P0 new、Pnew和MPSnew打包到单个32位字词中,则可以对使用flagLPS的术语进行计算并联合求和。例如,如果d0=4且d1=8,(2N-d0-1)=(215-4-1)且2N-d1=215-8并且联合计算变为216(215-8+215-4-1)+21(215-4-1),则P0 new在第1-15位并且Pnew在第16-31位。
应当指出的是,当Pnew变为等于或大于2N时,MPS值改变并且概率反转,如下所述:
P0 new=P0 new^(2N-1);
pnew-pnew^(2N+l-1);
MPSnew=MPSnew^1
应当指出的是,当将P0 new、Pnew和MPSnew打包到单个32位字词中时,可以用右移位算术运算和异或运算来执行这些运算。也就是说,如果P0在第1-15位,P在第16-31位,并且MPS在第0位,则如果P小于2N,则右移位算术运算将产生0,否则产生-1。另选地,该操作可以被描述为将第31位的值复制到32位字词的所有位中。然后,将右移位算术运算的结果用作对具有包含值P0、P和MPS的打包32位字词的异或运算的输入。
如上所述,对于概率估计pLPSi,将子区间如下计算:pLPSi*Ri-1。根据本文的技术,如果pLPSi是15位的P值,并且R是9位,则在一个示例中,可以通过检索查找表的第((P>>10)+R&224))个条目来计算pLPSi*Ri-1,使得查找表是具有256个条目的一维阵列,其中每个条目包括8位的值。查找表中的第n个条目逼近于值(2*((n&224)+256)+1)*(2*(n&31)+1)/128。
在一个例子中,可通过以下乘法具体实施((P>>8)*R>>8))+1来计算pLPSi*Ri-1,其为7位乘9位乘法。此处,P的位宽度从15位减少到7位,以便降低硬件中的实施成本。应当指出的是,添加+1运算以补偿在>>运算中朝向0的取整。更一般地讲,乘法可表示为((P>>8)*R>>(16-S))+1,其中S为0和15之间的常数,其控制实施成本和准确性之间的权衡。随着S降低,实施成本升高并且准确度增加。降低的准确度导致压缩效率的损失。
这样,视频编码器200表示被配置为确定bin值是否等于最小概率状态的设备的示例;并且在所述bin值等于所述最小概率状态的情况下通过有条件地将2N-d添加到所述概率估计来更新概率估计,其中N是所述概率估计的位宽度,并且d是控制概率更新速度的参数。
应当注意,响应于由VCEG和MPEG联合发布的“Joint Call for Proposals onVideo Compression with Capabilities beyond HEVC”,在2018年4月16日至20日,在加利福尼亚州圣地亚哥的ISO/IEC JTC1/SC29/WG11的第10次会议上各种组提出了多个视频编码提议并对其作出了响应。作为这些提议的结果,“Core Experiment 5:ArithmeticCoding Engine”(ISO/IEC JTC1/SC29/WG11文档:JVET-J1025,2018年4月16日至20日第10次会议,加利福尼亚州圣地亚哥,下文称为“J1025”)描述了包括使用表格查找或实际乘法导出子区间范围的方法的实验,该文档以引用方式并入本文。一些方法同时支持这两种具体实施,因为此类特征确实是期望的。然而,还期望表格查找和实际乘法具体实施应尽可能简单。
J1025中的实验通常将概率估计的状态更新规则定义为:
if(symbol)
q=q+((32768-q)>>n)
else
q=q-(q>>n)
其中q是计数或概率估计,并且n是自适应速率。
此类更新的表达在软件具体实施中是不期望的,因为具有两个不同的路径可能导致分支误预测。此外,可能由于在计算早期需要symbol的值而使分支误预测复杂化(例如,如上所述),从而增加了推测性地执行分支的可能。应当指出的是,在硬件具体实施中使用复用器来选择两个结果中的一个结果也不太理想。
以类似于上述技术的方式,可实现另选的无分支具体实施以用于如下计算q:
t=q-((32768-(1<<n)+1)&symbol)
q=q-(t>>n)
其中假定“symbol”的值为0或-1。
应当指出的是,虽然此类具体实施避免了与分支相关联的问题,但是它要求在计算早期已知“symbol”的值。实际上,一旦“symbol”可用,就需要依次执行四个运算:&,-,>>和-。在延迟很重要的情况下,这在解码器中是不利的。
在一个示例中,可通过将常数32768替换为32767来修改更新规则,如下所述:
if(symbol)
q=q+((32767-q)>>n)
else
q=q-(q>>n)
应当指出的是,当将常数32768替换为32767时,仍可实现上述所有具体实施,并且附加具体实施(诸如下文所述的那些具体实施)变得可实现。例如,在延迟使用“symbol”变量的同时仍然可以使用条件执行,如下所述:
q=q-(q>>n)
if(symbol)
q=q+(32767>>n)
在无分支形式中,可类似地延迟使用“symbol”值,如下所述:
q=q-(q>>n)
q=q+((32767>>n)&symbol)
应当指出的是,在这种情况下,仅两个运算(而不是四个)取决于“symbol”的值:&和+。另外,应当指出的是,在硬件具体实施中32767-x比32768-x稍微更容易计算,因为可独立地计算结果的每个位(不携带传播)。
在一个示例中,JVET-J1025的实验CE5.B2通常可总结如下:定义由两个不同估计器产生的概率估计qa和qb,每个估计为15位宽,以及9位宽的范围值r。此外,q被定义为qa+qb,并且qLPS被定义为q^((q&32768)?65535:0)。应当指出的是,如果q的数据类型被定义为intl6_t:qLPS=q^(q>>15),则可以在C编程语言中相对容易地实现q。另外,r3可被定义为r3=r>>5,并且q5可被定义为q5=qLPS>>10。然后将子区间范围rLPS计算为:
rlps=((2*r3+1)*(2*q5+1)+4)>>3
应当指出的是,在将rLPS另外剪辑到4至32×(r3-4)的范围内的情况下,获得在JVET-J1025的实验CE5.B2中使用的表。
根据本文的技术,提出了修改子区间范围rLPS的计算并使用以下表达式,该表达式更简单并且不需要任何剪辑并且进一步实现更宽范围的具体实施而不会对压缩效率产生显著影响:
rLPS=(r3*q5>>1)+k
其中k为常数,该常数可具有以下两种特性:
第一种特性为:
-k大于0,使得rLPS不能取值0;并且
-k被选择为使得r-rLPS不能小于128。该特性确保在处理MPS之后的再归一化期间,范围寄存器向左移位至多一位的位置。r=256且qLPS=32767时,最坏情况发生。
第二种特性为:
-k的值被选择为使得:256-124+k≥128。因此,k必须≤4。
此外,应当指出的是,考虑到该等式,对于来自上述CE5.B2的rLPS,理想地k应等于0.5×(0.5×r3+0.5×q5+0.25+1)],或约0.5×(0.5×11.5+0.5×15.5+0.25+1),等于7.375。然而,该值超过先前确定的界限4,因此可以将k设定为等于4。
应当注意,当k等于4时,子区间范围rLPS的计算实施如下:
rLPS=((r>>5)*(qLPS>>(b-5))>>1)+4,
其中b为位宽度。
应当指出的是,可使用32×8×8=2048位的查找表来实现该等式。
图6是示出根据本公开的一种或多种技术的可被配置为对视频数据进行解码的视频解码器的示例的框图。在一个示例中,视频解码器400可被配置为基于上文所述的技术中的一种或多种来重构视频数据。也就是说,视频解码器400可以与上述视频编码器200互逆的方式操作。视频解码器400可被配置为执行帧内预测解码和帧间预测解码,并且因此可被称为混合解码器。在图6所示的示例中,视频解码器400包括熵解码单元402、逆量化单元404、逆变换处理单元406、帧内预测处理单元408、帧间预测处理单元410、求和器412、滤波器单元414和参考缓冲器416。视频解码器400可被配置为以与视频编码系统一致的方式对视频数据进行解码,该视频编码系统可以实现视频编码标准的一个或多个方面。应当指出的是,尽管示出的示例视频解码器400具有不同的功能块,但此类图示旨在用于描述目的,并且不将视频解码器400和/或其子部件限制为特定的硬件或软件架构。可使用硬件、固件和/或软件具体实施的任何组合来实现视频解码器400的功能。
如图6所示,熵解码单元402接收熵编码的比特流。熵解码单元402可被配置为根据与熵编码过程互逆的过程对来自比特流的量化语法元素和量化系数进行解码。熵解码单元402可以被配置为根据上文所述的任何熵编码技术来执行熵解码。熵解码单元402可以以与视频编码标准一致的方式解析编码的比特流。视频解码器400可被配置为解析编码的比特流,其中该编码的比特流基于上述技术生成。
图7是示出可以实现本公开描述的一种或多种技术的示例性熵解码单元的框图。熵解码单元500接收熵编码的比特流并从该比特流解码语法元素。如图7所示,熵解码单元500包括二进制算术解码模块502、上下文建模单元504和二值化单元506。熵解码单元500可以执行与上文相对于图5所述的熵编码单元300互逆的功能。
如图7所示,上下文建模单元508和二值化单元506接收对语法元素值的请求。上下文建模单元504确定语法元素的上下文索引。此外,上下文建模单元504基于由二进制算术解码模块502例如根据上述概率估计技术进行的确定来更新上下文索引。二进制算术解码模块502从比特流(即,算术代码)接收n位,并且基于算术编码和所计算的子区间输出解析的bin的序列。二值化单元506确定语法元素的可能有效二值化值,并使用bin匹配函数来确定一系列解析的bin值是否对应于有效语法元素值。当一系列bin值对应于有效语法元素值时,输出语法元素值。也就是说,熵解码单元500被配置为基于当前子区间和来自比特流的位来确定bin值,其中基于本文描述的技术(例如,本文描述的概率估计技术)来确定当前子区间。这样,视频解码器400表示被配置为确定bin值是否等于最小概率状态的设备的示例;并且在所述bin值等于所述最小概率状态的情况下通过有条件地将2N-d添加到所述概率估计来更新概率估计,其中N是所述概率估计的位宽度,并且d是控制概率更新速度的参数。
再次参考图6,逆量化单元404从熵解码单元402接收量化变换系数(即,位阶值)和量化参数数据。量化参数数据可包括上述增量QP值和/或量化组大小值等的任意和全部组合。视频解码器400和/或逆量化单元404可被配置为基于由视频编码器发信号通知的值和/或通过视频属性和/或编码参数来确定用于逆量化的QP值。也就是说,逆量化单元404可以以与上述系数量化单元206互逆的方式操作。例如,逆量化单元404可以被配置为根据上述技术推断预定值)、允许的量化组大小等。逆量化单元404可以被配置为应用逆量化。逆变换处理单元406可被配置为执行逆变换以生成重构的残差数据。由逆量化单元404和逆变换处理单元406分别执行的技术可类似于由上述逆量化/变换处理单元208执行的技术。逆变换处理单元406可以被配置为应用逆DCT、逆DST、逆整数变换、不可分二次变换(NSST)或概念上类似的逆变换过程来变换系数,以便产生像素域中的残差块。此外,如上所述,是否执行特定变换(或特定变换的类型)可以取决于帧内预测模式。如图6所示,可以将重构的残差数据提供给求和器412。求和器412可以将重构的残差数据添加到预测视频块并且生成重构的视频数据。可根据预测视频技术(即帧内预测和帧间预测)确定预测视频块。
帧内预测处理单元408可以被配置为接收帧内预测语法元素并且从参考缓冲器416检索预测视频块。参考缓冲器416可以包括被配置为存储一个或多个视频数据帧的存储器设备。帧内预测语法元素可识别帧内预测模式,诸如上述的帧内预测模式。在一个示例中,帧内预测处理单元308可以使用根据本文所述的帧内预测编码技术中的一种或多种来重构视频块。帧间预测处理单元410可以接收帧间预测语法元素并生成运动向量,以识别存储在参考缓冲器416中的一个或多个参考帧中的预测块。帧间预测处理单元410可以生成运动补偿块,可能基于内插滤波器执行内插。用于具有子像素精度的运动估计的内插滤波器的标识符可以被包括在语法元素中。帧间预测处理单元410可以使用内插滤波器来计算参考块的子整数像素的内插值。滤波器单元414可被配置为对重构的视频数据执行滤波。例如,滤波器单元414可被配置为执行解块和/或SAO滤波,如上面关于滤波器单元216所描述的。此外,应当指出的是,在一些示例中,滤波器单元414可被配置为执行专用的任意滤波(例如,视觉增强)。如图6所示,视频解码器400可以输出重构视频块。
在一个或多个示例中,所述功能可以通过硬件、软件、固件或其任何组合来实现。如果以软件实现,则可将功能作为一个或多个指令或代码存储在计算机可读介质上或经由计算机可读介质上传输,并且由基于硬件的处理单元执行。计算机可读介质可包括对应于有形介质诸如数据存储介质的计算机可读存储介质,或者包括例如根据通信协议促进计算机程序从一个地方传输到另一个地方的任何介质的传播介质。这样,计算机可读介质通常可以对应于:(1)非暂态的有形计算机可读存储介质,或者(2)通信介质诸如信号或载波。数据存储介质可以是可以由一个或多个计算机或一个或多个处理器访问以检索用于实现本公开中所述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。
以举例而非限制的方式,此类计算机可读存储介质可包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储设备、磁盘存储设备或其他磁存储设备、闪存存储器、或者可用于存储指令或数据结构形式的所需程序代码并且可由计算机访问的任何其他介质。而且,任何连接都被适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线路(DSL)或无线技术诸如红外线、无线电和微波从网站、服务器或其他远程源传输指令,则同轴电缆、光纤电缆、双绞线、DSL或无线技术诸如红外线、无线电和微波都包含在介质的定义中。然而,应当理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他暂态介质,而是针对非暂态有形存储介质。如本文所用,磁盘和光盘包括压缩光盘(CD)、激光盘、光学光盘、数字通用光盘(DVD)、软磁盘及Blu-ray光盘,其中磁盘通常以磁性方式复制数据,而光盘则利用激光以光学方式复制数据。上述的组合也应该被包括在计算机可读介质的范围内。
可以由一个或多个处理器诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等效集成或离散逻辑电路执行指令。因此,如本文所用的术语“处理器”可以指任何前述结构或适用于实现本文所描述的技术的任何其他结构。此外,在一些方面中,可以在被配置用于编码和解码的专用硬件和/或软件模块内提供本文所述的功能,或者将其结合到组合编解码器中。而且,这些技术可以完全在一个或多个电路或逻辑元件中实现。
本公开的技术可以在各种设备或装置包括无线手机、集成电路(IC)或一组IC(例如,芯片组)中实现。在本公开中描述了各种部件、模块或单元,以强调被配置为执行所公开的技术的设备的功能方面,但是不一定需要通过不同的硬件单元来实现。相反,如上所述,可以将各种单元组合在编解码器硬件单元中,或者通过互操作硬件单元包括如上所述的一个或多个处理器的集合,结合合适的软件和/或固件来提供各种单元。
此外,每个上述实施方案中所使用的基站设备和终端设备的每个功能块或各种特征可通过电路(通常为一个集成电路或多个集成电路)实施或执行。被设计为执行本说明书中所述的功能的电路可包括通用处理器、数字信号处理器(DSP)、专用或通用集成电路(ASIC)、现场可编程门阵列(FPGA),或其他可编程逻辑设备、分立栅极或晶体管逻辑器、或分立硬件部件、或它们的组合。通用处理器可为微处理器,或另选地,该处理器可为常规处理器、控制器、微控制器或状态机。通用处理器或上述每种电路可由数字电路进行配置,或可由模拟电路进行配置。此外,当由于半导体技术的进步而出现制成取代当前集成电路的集成电路的技术时,也能够使用通过该技术生产的集成电路。
已经描述了各种示例。这些示例和其他示例在以下权利要求的范围内。
<交叉引用>
本非临时专利申请根据《美国法典》第35卷第119节(35U.S.C.§119)要求于2018年5月10日提交的临时申请62/669,928、2018年6月29日提交的临时申请62/692,327的优先权,这两个申请的全部内容据此以引用方式并入。
Claims (13)
1.一种在熵解码期间针对代表一组视频图片的比特流进行子划分区间的方法,其特征在于,所述方法包括:
通过(i)在一概率估计值上执行一第一右移位运算以降低所述概率估计值的多个位的长度,(ii)将所述第一右移位运算的概率估计值乘以代表所述区间的一范围值,产生乘法结果,(iii)在所述乘法结果上执行第二右移位运算,以及(iv)将一第一常数值加到所述第二右移位运算结果,計算一子区间,其中所述概率估计值与具有特定值的bin的概率相关联;以及
使用所述子区间来更新所述区间。
2.根据权利要求1所述的方法,其特征在于,所述乘法结果在所述第二右移位运算中被右移位的量是基于所述概率估计值在所述第一右移位运算中被右移位的量。
3.根据权利要求2所述的方法,其特征在于,所述乘法结果被右移位的所述量等于一第二常数值减去所述概率估计值被右移位的所述量。
4.根据权利要求1所述的方法,其特征在于,所述概率估计值与等于当前bin值的最小概率状态的所述当前bin值相关联。
5.根据权利要求4所述的方法,其特征在于,当所述当前bin值等于所述当前bin值的最大概率状态时,1减去所述概率估计值被右移位且乘以代表所述区间的所述范围值。
6.根据权利要求1所述的方法,其特征在于,还包括基于当前bin值更新所述概率估计值。
7.根据权利要求6所述的方法,其特征在于,更新所述概率估计值还包括基于所述概率估计值,对一数值执行一第三右移位运算。
8.根据权利要求6所述的方法,其特征在于,若所述更新的概率估计值超过一阈值时,后续bin值的最大概率状态被修改。
9.根据权利要求8所述的方法,其特征在于,若所述后续bin值的所述最大概率状态被修改时,所述更新的概率估计值也被修改。
10.根据权利要求9所述的方法,其特征在于,所述更新的概率估计值通过反转所述更新的概率估计值的每个位来修改。
11.根据权利要求1所述的方法,其特征在于,还包括:
判断所述更新的区间是否小于一阈值;以及
当所述更新的区间小于所述阈值时,归一化所述更新的区间。
12.根据权利要求11所述的方法,其特征在于,归一化所述更新的区间还包括将所述更新的区间加倍。
13.一种用于在熵解码期间针对代表一组视频图片的比特流进行子划分区间的电子装置,所述电子装置包括:
至少一个处理器;以及
耦接到所述至少一个处理器并存储多条指令的存储装置,所述多条指令当由所述至少一个处理器执行时,使所述电子装置执行权利要求1-12所述的方法。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862669928P | 2018-05-10 | 2018-05-10 | |
US62/669928 | 2018-05-10 | ||
US201862692327P | 2018-06-29 | 2018-06-29 | |
US62/692327 | 2018-06-29 | ||
PCT/JP2019/018292 WO2019216324A1 (en) | 2018-05-10 | 2019-05-07 | Systems and methods for performing binary arithmetic coding in video coding |
CN201980031153.3A CN112106363A (zh) | 2018-05-10 | 2019-05-07 | 在视频编码中用于执行二进制算术编码的系统和方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980031153.3A Division CN112106363A (zh) | 2018-05-10 | 2019-05-07 | 在视频编码中用于执行二进制算术编码的系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115623212A true CN115623212A (zh) | 2023-01-17 |
Family
ID=68467445
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211263307.1A Pending CN115623212A (zh) | 2018-05-10 | 2019-05-07 | 对比特流进行子划分区间的方法和电子装置 |
CN201980031153.3A Pending CN112106363A (zh) | 2018-05-10 | 2019-05-07 | 在视频编码中用于执行二进制算术编码的系统和方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980031153.3A Pending CN112106363A (zh) | 2018-05-10 | 2019-05-07 | 在视频编码中用于执行二进制算术编码的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11503299B2 (zh) |
EP (1) | EP3811616A4 (zh) |
CN (2) | CN115623212A (zh) |
WO (1) | WO2019216324A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023163807A1 (en) * | 2022-02-22 | 2023-08-31 | Google Llc | Time-variant multi-hypothesis probability model update for entropy coding |
US20240080446A1 (en) * | 2022-09-02 | 2024-03-07 | Tencent America LLC | Systems and methods for parameterizing arithmetic coder probability update rates |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US1932843A (en) * | 1932-09-21 | 1933-10-31 | Aluminum Co Of America | Aluminum alloys |
CN100390781C (zh) * | 2002-05-28 | 2008-05-28 | 德罗普莱特科技公司 | 用于堆处理并行处理器的系统及方法 |
US6900748B2 (en) * | 2003-07-17 | 2005-05-31 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Method and apparatus for binarization and arithmetic coding of a data value |
US7286710B2 (en) * | 2003-10-01 | 2007-10-23 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Coding of a syntax element contained in a pre-coded video signal |
US7599435B2 (en) * | 2004-01-30 | 2009-10-06 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Video frame encoding and decoding |
US7370608B1 (en) * | 2004-08-26 | 2008-05-13 | Friedman D Rachel | Animal restraining and cape or vest device |
CN1703089A (zh) * | 2005-06-09 | 2005-11-30 | 清华大学 | 一种数字信号的二值算术编码方法 |
JP4784281B2 (ja) * | 2005-11-18 | 2011-10-05 | 富士ゼロックス株式会社 | 復号化装置、逆量子化方法及びこれらのプログラム |
CN101167368B (zh) * | 2005-12-05 | 2012-03-28 | 华为技术有限公司 | 一种实现算术编解码的方法及装置 |
US20080118169A1 (en) * | 2006-11-16 | 2008-05-22 | Sohm Oliver P | Method for Optimizing Software Implementations of the JPEG2000 Binary Arithmetic Encoder |
EP2559166B1 (en) * | 2010-04-13 | 2017-11-01 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Probability interval partioning encoder and decoder |
US9871537B2 (en) | 2011-10-27 | 2018-01-16 | Qualcomm Incorporated | Mapping states in binary arithmetic coder for video coding |
AU2011247855A1 (en) * | 2011-11-08 | 2013-05-23 | Canon Kabushiki Kaisha | Method, apparatus and system for updating a probability estimate for arithmetic coding |
US9503717B2 (en) * | 2012-01-09 | 2016-11-22 | Texas Instruments Incorporated | Context adaptive binary arithmetic coding (CABAC) with scalable throughput and coding efficiency |
US9425822B2 (en) | 2014-08-05 | 2016-08-23 | Broadcom Corporation | Simplified range and context update for multimedia context-adaptive binary arithmetic coding design |
WO2016184399A1 (en) * | 2015-05-19 | 2016-11-24 | Mediatek Inc. | Method and apparatus for multi-table based context adaptive binary arithmetic coding |
US11265561B2 (en) * | 2017-01-06 | 2022-03-01 | Mediatek Inc. | Method and apparatus for range derivation in context adaptive binary arithmetic coding |
-
2019
- 2019-05-07 WO PCT/JP2019/018292 patent/WO2019216324A1/en active Application Filing
- 2019-05-07 CN CN202211263307.1A patent/CN115623212A/zh active Pending
- 2019-05-07 CN CN201980031153.3A patent/CN112106363A/zh active Pending
- 2019-05-07 EP EP19799634.1A patent/EP3811616A4/en active Pending
- 2019-05-07 US US17/050,442 patent/US11503299B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11503299B2 (en) | 2022-11-15 |
US20210144381A1 (en) | 2021-05-13 |
EP3811616A4 (en) | 2022-07-27 |
WO2019216324A1 (en) | 2019-11-14 |
EP3811616A1 (en) | 2021-04-28 |
CN112106363A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111357287B (zh) | 针对通过时间预测进行的上下文初始化的存储器减小 | |
CN110313179B (zh) | 用于按比例缩放变换系数水平值的系统和方法 | |
CN109196863B (zh) | 用于改变量化参数的系统和方法 | |
US10368072B2 (en) | Advanced arithmetic coder | |
EP3020187B1 (en) | Rice parameter initialization for coefficient level coding in video coding process | |
EP4145833A1 (en) | Neighbor based signaling of intra prediction modes | |
US20160353113A1 (en) | Coding data using an enhanced context-adaptive binary arithmetic coding (cabac) design | |
CN112514386B (zh) | 网格编解码量化系数编解码 | |
US11202100B2 (en) | Coefficient coding for transform skip mode | |
CN112673639B (zh) | 用于对变换系数位阶值进行编码的系统和方法 | |
CN113661712A (zh) | 在视频编码中用于执行帧内预测编码的系统和方法 | |
CN113170188A (zh) | 在视频编码中用于执行帧间预测的系统和方法 | |
CN112997501B (zh) | 导出用于对视频数据进行解码的预测亮度样本值的方法 | |
US11503299B2 (en) | Systems and methods for performing binary arithmetic coding in video coding | |
CN113994681A (zh) | 在视频编码中用于执行帧内预测编码的系统和方法 | |
EP3811615A1 (en) | Efficient weighted probability estimation for binary arithmetic coding | |
CN110583021A (zh) | 用于执行平面帧内预测视频编码的系统和方法 | |
CN113366840A (zh) | 用于在视频编码中导出视频块的量化参数的系统和方法 | |
US20230024560A1 (en) | Systems and methods for performing binary arithmetic coding in video coding | |
WO2020095984A1 (en) | Systems and methods for performing binary arithmetic coding in video coding |
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 |