CN110419216B - 通过参数化概率估计有限状态机进行二进制算术译码 - Google Patents

通过参数化概率估计有限状态机进行二进制算术译码 Download PDF

Info

Publication number
CN110419216B
CN110419216B CN201880018647.3A CN201880018647A CN110419216B CN 110419216 B CN110419216 B CN 110419216B CN 201880018647 A CN201880018647 A CN 201880018647A CN 110419216 B CN110419216 B CN 110419216B
Authority
CN
China
Prior art keywords
binary
stream
binary element
elements
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201880018647.3A
Other languages
English (en)
Other versions
CN110419216A (zh
Inventor
A·赛义德
M·卡切维奇
张莉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN110419216A publication Critical patent/CN110419216A/zh
Application granted granted Critical
Publication of CN110419216B publication Critical patent/CN110419216B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/198Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Abstract

对于二进制元素流的至少一个相应二进制元素,解码器可以基于所述相应二进制元素的状态、所述相应二进制元素的间隔及偏移值,确定所述相应二进制元素的值。另外,所述解码器确定用于所述二进制元素流的下一个二进制元素的一或多个有限状态机FSM参数。用于所述下一个二进制元素的所述一或多个FSM参数控制根据所述相应二进制元素的状态计算所述下一个二进制元素的概率估计值的方式。所述解码器使用参数化状态更新函数来确定所述二进制元素流的所述下一个二进制元素的状态,所述参数化状态更新函数将所述相应二进制元素的所述状态、用于所述二进制元素流的所述下一个二进制元素的所述一或多个FSM参数以及所述相应二进制元素的所述值作为输入。所述解码器可将所述二进制元素流多值化以形成经解码语法元素。

Description

通过参数化概率估计有限状态机进行二进制算术译码
本申请案主张2017年3月22日提交的美国临时专利申请62/474,919及2017年3月23日提交的美国临时专利申请62/475,609的权益,所述美国临时专利申请案中的每一者的全部内容通过引用的方式并入本文中。
技术领域
本发明涉及视频译码,例如视频编码及视频解码。
背景技术
数字视频能力可并入到广泛范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子书阅读器、数字摄像机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、所谓“智能电话”、视频电话会议装置、视频流式处理装置,等等。数字视频装置实施视频补偿技术,例如由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分,高级视频译码(AVC)、ITU-T H.265、高效率视频译码(HEVC)标准及此些标准的扩展所定义的标准中所描述的那些技术。视频装置可通过实施此些视频补偿技术而更高效地发射、接收、编码、解码及/或存储数字视频信息。
视频压缩技术可执行空间(图片内)预测及/或时间(图片间)预测以减少或移除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(例如,视频帧或视频帧的部分)分割成视频块,例如译码树块及译码块。空间或时间预测产生待译码的块的预测块。残留数据表示待译码的原始块与预测块之间的像素差异。为了进一步压缩,可将残留数据从像素域变换到变换域,从而产生残差变换系数,然后可将其量化。
发明内容
大体上,本发明描述了涉及算术译码的技术。如本文中所描述,本发明的技术可通过潜在地改进自适应概率估计来改进视频数据的压缩。
在一个实例中,本发明描述一种解码视频数据的方法,所述方法包括:通过将二进制算术解码应用于包含在位流中的偏移值来确定经解码语法元素,其中应用所述二进制算术解码包括:生成二进制元素流,其中生成所述二进制元素流包括:对于所述二进制元素流的至少一个相应二进制元素:基于所述相应二进制元素的状态、所述相应二进制元素的间隔以及所述偏移值来确定所述相应二进制元素的值;确定用于二进制元素流的下一个二进制元素的一或多个有限状态机(FSM)参数,用于下一个二进制元素的一或多个FSM参数控制根据相应二进制元素的状态计算下一个二进制元素的概率估计值的方式,二进制元素流的下一个二进制元素在二进制元素流中的相应二进制元素之后;及使用参数化状态更新函数确定二进制元素流的下一个二进制元素的状态,所述参数化状态更新函数将相应二进制元素的状态、用于二进制元素流的下一个二进制元素的一或多个FSM参数以及相应二进制元素的值作为输入;及将二进制元素流多值化以形成经解码语法元素;以及部分地基于经解码语法元素重构视频数据的图片。
在另一实例中,本发明描述一种编码视频数据的方法,所述方法包括:基于视频数据生成语法元素;至少部分地通过将二进制算术编码应用于语法元素来确定偏移值,其中应用二进制算术编码包括:至少部分地通过以下方式生成二进制元素流:将语法元素二值化;对于二进制元素流的至少一个相应二进制元素:基于相应二进制元素的状态、相应二进制元素的间隔以及相应二进制元素的值,确定二进制元素流的下一个二进制元素的间隔;确定用于二进制元素流的下一个二进制元素的一或多个有限状态机(FSM)参数,用于下一个二进制元素的一或多个FSM参数控制根据相应二进制元素的状态计算下一个二进制元素的概率估计值的方式;及使用参数化状态更新函数确定二进制元素流的下一个二进制元素的状态,所述参数化状态更新函数将相应二进制元素的状态、用于二进制元素流的下一个二进制元素的一或多个FSM参数以及相应二进制元素的值作为输入,其中偏移值等于二进制元素流的最后一个二进制元素的间隔中的值;及输出包括偏移值的位流。
在另一实例中,本发明描述一种用于解码视频数据的设备,所述设备包括:一或多个存储媒体,其经配置以存储视频数据;及一或多个处理器,其经配置以:通过将二进制算术解码应用于包含在位流中的偏移值来确定经解码语法元素,其中一或多个处理器经配置使得,作为应用所述二进制算术解码的部分,一或多个处理器:生成二进制元素流,其中作为生成所述二进制元素流的部分,一或多个处理器:对于所述二进制元素流的至少一个相应二进制元素:基于所述相应二进制元素的状态、所述相应二进制元素的间隔以及所述偏移值来确定所述相应二进制元素的值;确定用于二进制元素流的下一个二进制元素的一或多个有限状态机(FSM)参数,用于下一个二进制元素的一或多个FSM参数控制根据相应二进制元素的状态计算下一个二进制元素的概率估计值的方式,二进制元素流的下一个二进制元素在二进制元素流中的相应二进制元素之后;及使用参数化状态更新函数确定二进制元素流的下一个二进制元素的状态,所述参数化状态更新函数将相应二进制元素的状态、用于二进制元素流的下一个二进制元素的一或多个FSM参数以及相应二进制元素的值作为输入;及将二进制元素流多值化以形成经解码语法元素;以及部分地基于经解码语法元素重构视频数据的图片。
在另一实例中,本发明描述一种用于编码视频数据的设备,所述设备包括:一或多个存储媒体,其经配置以存储视频数据;及一或多个处理电路,其耦合到所述一或多个存储媒体,所述一或多个处理电路经配置以:基于视频数据生成语法元素;至少部分地通过将二进制算术编码应用于语法元素来确定偏移值,其中所述一或多个处理器经配置以使得,作为应用二进制算术编码的部分,所述一或多个处理器:至少部分地通过以下方式生成二进制元素流:将语法元素二值化;且对于二进制元素流的至少一个相应二进制元素:基于相应二进制元素的状态、相应二进制元素的间隔以及相应二进制元素的值,确定二进制元素流的下一个二进制元素的间隔;确定用于二进制元素流的下一个二进制元素的一或多个有限状态机(FSM)参数,用于下一个二进制元素的一或多个FSM参数控制根据相应二进制元素的状态计算下一个二进制元素的概率估计值的方式;及使用参数化状态更新函数确定二进制元素流的下一个二进制元素的状态,所述参数化状态更新函数将相应二进制元素的状态、用于二进制元素流的下一个二进制元素的一或多个FSM参数以及相应二进制元素的值作为输入,其中偏移值等于二进制元素流的最后一个二进制元素的间隔中的值;及输出包括偏移值的位流。
在另一实例中,本发明描述一种用于解码视频数据的设备,所述设备包括:用于通过将二进制算术解码应用于包含在位流中的偏移值来确定经解码语法元素的装置,其中应用所述二进制算术解码包括:生成二进制元素流,其中生成所述二进制元素流包括:对于所述二进制元素流的至少一个相应二进制元素:基于所述相应二进制元素的状态、所述相应二进制元素的间隔以及所述偏移值来确定所述相应二进制元素的值;确定用于二进制元素流的下一个二进制元素的一或多个有限状态机(FSM)参数,用于下一个二进制元素的一或多个FSM参数控制根据相应二进制元素的状态计算下一个二进制元素的概率估计值的方式,二进制元素流的下一个二进制元素在二进制元素流中的相应二进制元素之后;及使用参数化状态更新函数确定二进制元素流的下一个二进制元素的状态,所述参数化状态更新函数将相应二进制元素的状态、用于二进制元素流的下一个二进制元素的一或多个FSM参数以及相应二进制元素的值作为输入;及将二进制元素流多值化以形成经解码语法元素;以及用于部分地基于经解码语法元素重构视频数据的图片的装置。
在另一实例中,本发明描述一种用于编码视频数据的设备,所述设备包括:用于基于视频数据生成语法元素的装置;用于至少部分地通过将二进制算术编码应用于语法元素来确定偏移值的装置,其中应用二进制算术编码包括:至少部分地通过以下方式生成二进制元素流:将语法元素二值化;且对于二进制元素流的至少一个相应二进制元素:基于相应二进制元素的状态、相应二进制元素的间隔以及相应二进制元素的值,确定二进制元素流的下一个二进制元素的间隔;确定用于二进制元素流的下一个二进制元素的一或多个有限状态机(FSM)参数,用于下一个二进制元素的一或多个FSM参数控制根据相应二进制元素的状态计算下一个二进制元素的概率估计值的方式;及使用参数化状态更新函数确定二进制元素流的下一个二进制元素的状态,所述参数化状态更新函数将相应二进制元素的状态、用于二进制元素流的下一个二进制元素的一或多个FSM参数以及相应二进制元素的值作为输入,其中偏移值等于二进制元素流的最后一个二进制元素的间隔中的值;及用于输出包括偏移值的位流的装置。
在另一实例中,本发明描述一种计算机可读存储媒体,其存储指令,所述指令在被执行时致使一或多个处理器:通过将二进制算术解码应用于包含在位流中的偏移值来确定经解码语法元素,其中作为致使一或多个处理器应用所述二进制算术解码的部分,指令的执行致使一或多个处理器:生成二进制元素流,其中作为致使一或多个处理器生成所述二进制元素流的部分,指令的执行致使一或多个处理器:对于所述二进制元素流的至少一个相应二进制元素:基于所述相应二进制元素的状态、所述相应二进制元素的间隔以及所述偏移值来确定所述相应二进制元素的值;确定用于二进制元素流的下一个二进制元素的一或多个有限状态机(FSM)参数,用于下一个二进制元素的一或多个FSM参数控制根据相应二进制元素的状态计算下一个二进制元素的概率估计值的方式,二进制元素流的下一个二进制元素在二进制元素流中的相应二进制元素之后;及使用参数化状态更新函数确定二进制元素流的下一个二进制元素的状态,所述参数化状态更新函数将相应二进制元素的状态、用于二进制元素流的下一个二进制元素的一或多个FSM参数以及相应二进制元素的值作为输入;及将二进制元素流多值化以形成经解码语法元素;以及部分地基于经解码语法元素重构视频数据的图片。
在另一实例中,本发明描述一种计算机可读存储媒体,其存储指令,所述指令在被执行时致使一或多个处理器:基于视频数据生成语法元素;至少部分地通过将二进制算术编码应用于语法元素来确定偏移值,其中作为致使一或多个处理器应用二进制算术编码的部分,指令的执行致使一或多个处理器至少部分地通过以下方式生成二进制元素流:将语法元素二值化;及对于二进制元素流的至少一个相应二进制元素:基于相应二进制元素的状态、相应二进制元素的间隔以及相应二进制元素的值,确定二进制元素流的下一个二进制元素的间隔;确定用于二进制元素流的下一个二进制元素的一或多个有限状态机(FSM)参数,用于下一个二进制元素的一或多个FSM参数控制根据相应二进制元素的状态计算下一个二进制元素的概率估计值的方式;及使用参数化状态更新函数确定二进制元素流的下一个二进制元素的状态,所述参数化状态更新函数将相应二进制元素的状态、用于二进制元素流的下一个二进制元素的一或多个FSM参数以及相应二进制元素的值作为输入,其中偏移值等于二进制元素流的最后一个二进制元素的间隔中的值;及输出包括偏移值的位流。
下文的随附图式及描述中阐明本发明的一或多个方面的细节。根据描述、图式以及权利要求书将明了本发明中所描述的技术的其它特征,目的及优点。
附图说明
图1为说明可使用本发明中所描述的一或多种技术的实例视频编码及解码系统的框图。
图2为说明可实施本发明中所描述的一或多种技术的实例视频编码器的框图。
图3为说明可实施本发明中所描述的一或多种技术的实例视频解码器的框图。
图4为实例通用有限状态机的框图。
图5为使用许多有限状态机(FSM)进行二进制元素概率估计的基于上下文的二进制文本编码的实例性框图。
图6为使用许多FSM进行二进制元素概率估计的基于上下文的二进制算术解码的实例框图。
图7为考虑单个所选上下文的基于上下文的二进制算术编码的实例框图。
图8为考虑单个所选上下文的基于上下文的二进制算术编码的实例框图。
图9为根据本发明的一或多个方面的基于上下文的算术编码的实例框图。
图10为根据本发明的一或多个方面的基于上下文的算术解码的实例框图。
图11A为展示可遵循扫描次序从同一图片中的相邻块(例如,CTU、CU)导出FSM参数的框图。
图11B为展示可以基于与先前译码的图片中的块相关联的信息来确定在当前图片的块中使用的FSM参数的框图。
图12为实例概率估计滤波器的框图。
图13为另一实例概率估计滤波器的框图。
图14说明使用级联滤波器的概率估计滤波器的实例。
图15为说明实例熵编码单元的框图。
图16为说明实例熵解码单元的框图。
图17为说明根据本发明的一或多种技术的视频编码器的实例操作的流程图。
图18为说明根据本发明的一或多种技术的视频解码器的实例操作的流程图。
具体实施方式
算术译码经常用于视频译码以提供数据压缩。在典型的算术编码过程中,视频编码器选择与第一二进制符号及第二二进制符号的初始概率估计值相关联的译码上下文。视频编码器使用概率估计值及二进制元素流的二进制元素的值来确定偏移值。另外,视频编码器可以使用基于二进制元素值的状态更新函数来更新概率估计值。然后,视频编码器可以使用经更新的概率估计值及二进制元素流的下一个二进制元素值来更新偏移值。更新概率估计值及偏移值的此过程可以继续,直到视频编码器到达二进制元素流的末尾。
相反,视频解码器可以接收包含偏移值的字节流。视频解码器选择由视频编码器选择的同一译码上下文,并使用由所述译码上下文指定的概率估计值来确定一对子间隔,所述子间隔中的每一者对应于不同的二进制元素值。如果偏移值在第一子间隔中,那么视频解码器解码第一二进制元素值。如果偏移值在第二子间隔中,那么视频解码器解码第二二进制元素值。然后,视频解码器可使用状态更新函数来基于经解码二进制元素值来更新概率估计值。视频解码器使用经更新的概率估计值来再次确定子间隔,其中经更新的下部子间隔的下部端在偏移值是在先前下部子间隔中的情况下等于所述先前下部子间隔的下部端且在偏移值是在先前上部子间隔中的情况下等于先前上部间隔的下部端。视频解码器可以继续此过程,直到视频解码器到达字节流的末尾。视频解码器可以将所得到的二进制元素流多值化以确定一或多个语法元素的值。
在上文所描述的算术编码及算术解码过程中,视频编码器及视频解码器使用状态更新函数来更新概率估计值。视频编码器及视频解码器对所有译码上下文且在译码所有类型语法元素时使用同一状态更新函数。然而,如在本发明中所描述,在不同情况下使用不同的状态更新函数可能引起译码效率的改进及比特率的降低。这又可以引起图像质量的改进及/或带宽消耗的降低。
在本发明的一个实例中,视频编码器基于视频数据生成语法元素,且通过将二进制算术编码应用于语法元素来确定偏移值。作为应用二进制算术编码的部分,视频编码器通过将语法元素二值化来生成二进制元素流。另外,对于二进制元素流的至少一个相应二进制元素,视频编码器基于相应二进制元素的状态、相应二进制元素的间隔以及相应二进制元素的值确定二进制元素流的下一个二进制元素的间隔。视频编码器还确定用于二进制元素流的下一个二进制元素的一或多个有限状态机(FSM)参数。用于下一个二进制元素的一或多个FSM参数控制根据相应二进制元素的状态计算下一个二进制元素的概率估计值的方式。另外,视频编码器可使用参数化状态更新函数来确定用于二进制元素流的下一个二进制元素的状态。参数化状态更新函数将相应二进制元素的状态、用于二进制元素流的下一个二进制元素的一或多个FSM参数以及相应二进制元素的值作为输入。在此实例中,偏移值等于二进制元素流的最后一个二进制元素的间隔中的值。视频编码器可输出包括偏移值的位流。
在本发明的另一实例中,视频解码器可通过将二进制算术解码应用于包含在位流中的偏移值来确定经解码语法元素。作为应用二进制算术解码的部分,视频解码器可以生成二进制元素流。作为生成二进制元素流的部分,对于二进制元素流的至少一个相应二进制元素,视频解码器可确定相应二进制元素的值。视频解码器可基于相应二进制元素的状态、相应二进制元素的间隔及偏移值来进行此确定。此外,视频解码器可确定用于二进制元素流的下一个二进制元素的一或多个FSM参数。用于下一个二进制元素的一或多个FSM参数控制根据相应二进制元素的状态计算下一个二进制元素的概率估计值的方式。二进制元素流的下一个二进制元素在二进制元素流中的相应二进制元素之后。另外,视频解码器使用参数化状态更新函数确定二进制元素流的下一个二进制元素的状态。参数化状态更新函数将相应二进制元素的状态、用于二进制元素流的下一个二进制元素的一或多个FSM参数以及相应二进制元素的值作为输入。视频解码器可将二进制元素流多值化以形成经解码语法元素。此外,视频解码器可部分地基于经解码语法元素来重构视频数据的图片。
图1为说明可利用本发明的技术的实例性视频编码及解码系统10的框图。如图1中所展示,系统10包含源装置12,所述源装置提供欲稍后由目的地装置14解码的经编码视频数据。源装置12经由计算机可读媒体16将经编码视频数据提供到目的地装置14。源装置12及目的地装置14可包括广泛范围的装置中的任一者,包含桌上型计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、电话手机(例如,所谓“智能”电话)、平板计算机、电视机、相机、显示装置、数字媒体播放器、视频游戏主机、视频流式传输装置,等等。在一些状况中,源装置12及目的地装置14经配备以用于无线通信。因此,源装置12及目的地装置14可为无线通信装置。本发明中所描述的技术可应用于无线及/或有线应用。源装置12为实例性视频编码装置(即,用于编码视频数据的装置)。目的地装置14为实例视频解码装置(即,用于解码视频数据的装置)。
图1的所说明系统10仅为一个实例。用于处理视频数据的技术可由任何数字视频编码及/或解码装置执行。在一些实例中,所述技术可由视频编码器/解码器执行,通常被称为“CODEC”。源装置12及目的地装置14为其中源装置12生成经译码视频数据以供发射到目的地装置14的此些译码装置的实例。在一些实例中,源装置12及目的地装置14以基本上对称方式操作使得源装置12及目的地装置14中的每一者包含视频编码及解码组件。因此,系统10可支持源装置12与目的地装置14之间的单向或双向视频发射,例如,用于视频流式传输、视频播放、视频广播或视频电话。
在图1的实例中,源装置12包含视频源18、经配置以存储视频数据的存储媒体19、视频编码器20及输出接口22。目的地装置14包含输入接口26、经配置以存储经编码视频数据的存储媒体28、视频解码器30及显示装置32。在其它实例中,源装置12及目的地装置14包含其它组件或布置。举例来说,源装置12可从外部视频源(例如,外部相机)接收视频数据。同样地,目的地装置14可与外部显示装置介接,而非包含整合式显示装置。
视频源18为视频数据源。视频数据可包括一系列图片。视频源18可包含视频捕获装置,例如视频摄像机、含有先前所捕获视频的视频存档,及/或用以从视频内容提供者接收视频数据的视频馈送接口。在一些实例中,视频源18生成基于计算机图形的视频数据,或实况视频、存档视频及计算机-生成的视频的组合。存储媒体19可经配置以存储视频数据。在每一状况下,所捕获、预捕获或计算机生成的视频可由视频编码器20编码。
输出接口22可将经编码视频信息输出到计算机可读媒体16。输出接口22可包括各种类型的组件或装置。例如,输出接口22可包括无线发射器、调制解调器,有线网络组件(例如,以太网卡)或另一物理组件。在输出接口22包括无线发射器的实例中,输出接口22可经配置以发射根据例如4G、4G-LTE、高级LTE、5G,等等蜂窝通信标准调制的数据,例如经编码视频数据。在输出接口22包括无线发射器的一些实例中,输出接口22可经配置以发射根据例如IEEE 802.11规范、IEEE 802.15规范(例如,ZigBeeTM)、BluetoothTM标准等等其它无线标准调制的数据,例如经编码视频数据。在一些实例中,输出接口22的电路被集成到视频编码器20的电路及/或源装置12的其它组件中。例如,视频编码器20及输出接口22可为单片系统(SoC)的部分。SoC还可以包含其它组件,例如通用微处理器、图形处理单元等。
目的地装置14可经由计算机可读媒体16接收经编码视频数据。计算机可读媒体16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一些实例中,计算机可读媒体16包括通信媒体以使得源装置12能够实时地将经编码视频数据直接发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如,射频(RF)频谱或一或多个物理发射线。通信媒体可形成基于数据包的网络的部分,例如局域网、广域网或例如因特网的全球网。通信媒体可包含路由器、交换机、基站或可用于促进从源装置12到目的地装置14的通信的任何其它设备。目的地装置14可包括一或多个数据存储媒体,其经配置以存储经编码视频数据及经解码视频数据。
在一些实例中,输出接口22可将例如编码视频数据的数据输出到中间装置,例如存储装置。类似地,目的地装置14的输入接口26可以从中间装置接收经编码数据。中间装置可包含各种分布式或本地存取数据存储媒体中的任何者,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器或任何其它适于存储经编码视频数据的数字存储媒体。在一些实例中,中间装置对应于文件服务器。实例文件服务器包含Web服务器、FTP服务器、网络附加存储(NAS)装置或本地磁盘驱动器。
目的地装置14可通过任何标准数据连接(包含因特网连接)来存取经编码视频数据。此可包含无线信道(例如,Wi-Fi连接),有线连接(例如,DSL、电缆调制解调器等等),或适用于存取存储于文件服务器上的经编码视频数据的两者的组合。来自存储装置的经编码视频数据的发射可为流式发射,下载发射或其组合。
计算机可读媒体16可包含瞬时媒体,例如无线广播或有线网络发射);或存储媒体(即,非暂时性存储媒体),例如,硬盘、快闪驱动、压缩光盘、数字视频光盘、蓝光光盘,或其它计算机可读媒体。在一些实例中,网络服务器(未展示)可从源装置12接收经编码视频数据且将经编码视频数据提供到目的地装置14,例如,经由网络发射。类似地,媒体生产设施(例如,光盘冲压设施)的计算装置可从源装置12接收经编码视频数据且产生含有经编码视频数据的光盘。因此,在各种实例中,计算机可读媒体16可被理解为包含各种形式的一或多个计算机可读媒体。
目的地装置14的输入接口26从计算机可读媒体16接收数据。输出接口26可包括各种类型的组件或装置。例如,输入接口26可包括无线接收器、调制解调器、有线网络组件(例如,以太网卡)或另一物理组件。在输入接口26包括无线接收器的实例中,输入接口26可经配置以接收根据例如4G、4G-LTE、高级LTE、5G等等蜂窝通信标准调制的数据,例如位流。在输入接口26包括无线接收器的一些实例中,输入接口26可经配置以接收根据例如IEEE802.11规范、IEEE 802.15规范(例如,ZigBeeTM)、BluetoothTM标准等等其它无线标准调制的数据,例如位流。在一些实例中,输入接口26的电路可以集成到视频解码器30的电路及/或目标装置14的其它组件中。例如,视频解码器30及输入接口26可为SoC的部分。SoC还可以包含其它组件,例如通用微处理器、图形处理单元等。
存储媒体28可经配置以存储经编码视频数据,例如由输入接口26接收的经编码视频数据(例如,位流)。显示装置32向用户显示经解码视频数据。显示装置32可包括各种显示装置中的任一者,例如,阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
视频编码器20及视频解码器30各自可实施为各种适合电路中的任一者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任一组合。当技术部分地以软件实施时,装置可将用于软件的指令存储在合适的非暂时性计算机可读媒体中且在硬件中使用一或多个处理器来执行指令以执行本发明的技术。视频编码器20及视频解码器30中的每一者可包含在一或多个编码器或解码器中,其中的任一者可集成为相应装置中的组合式编码器/解码器(CODEC)的部分。
在一些实例中,视频编码器20及视频解码器30根据视频译码标准或规范编码及解码视频数据。举例来说,视频编码器20及视频解码器30可根据ITU-TH.261、ISO/IECMPEG-1Visual、ITU-TH.262或ISO/IECMPEG-2Visual、ITU-TH.263、ISO/IECMPEG-4Visual及ITU-TH.264(还被称作ISO/IECMPEG-4AVC),包含其可缩放视频译码(SVC)及多视图视频译码(MVC)扩展或另一视频译码标准或规范编码及解码视频数据。在一些实例中,视频编码器20及视频解码器30根据高效视频译码(HEVC)(其被称为ITU-T H.265)、其范围及屏幕内容译码扩展、其3D视频译码扩展(3D-HEVC)、其多视图扩展(MV-HEVC)或其可扩展扩展(SHVC)编码及解码视频数据。
本发明通常可能是指“信令通知”某些信息,例如语法元素。术语“信令通知”通常可能是指语法元素及/或用于解码经编码视频数据的其它数据的通信。这种通信可以实时或近实时地发生。替代地,此类通信可在一段时间内发生,例如可能当在编码时将语法元素存储到计算机可读存储媒体在位流中时发生,所述语法元素然后可在被存储到此媒体之后的任何时间由解码装置检索。
在HEVC及其它视频译码规范中,视频数据包含一系列图片。图片也可被称作为“帧”。图片可包含一或多个样本阵列。图片的每一相应样本阵列可包括用于相应颜色分量的样本阵列。图片可包含三个样品阵列,标记为SL、SCb及SCr。SL为亮度样本的二维阵列(即,块)。SCb为Cb色度样本的二维阵列。SCr为Cr色度样本的二维阵列。在其它情况下,图片可为单色的,且可仅包含亮度样本的阵列。
作为编码视频数据的部分,视频编码器20可编码视频数据的图片。换句话说,视频编码器20可生成视频数据的图片的经编码表示。图片的经编码表示在本文中可被称作“经译码图片”或“经编码图片”。
为了生成图片的经编码表示,视频编码器20可编码图片的块。视频编码器20可在位流中包含视频块的经编码表示。在一些实例中,为了编码图片的块,视频编码器20执行帧内预测或帧间预测以生成一或多个预测块。另外,视频编码器20可生成块的残留数据。残留块包括残留样本。每一残留样本可指示所生成的预测块中的一者的样本与块的对应样本之间的差。视频编码器20可将变换应用于残留样本的块以生成变换系数。此外,视频编码器20可量化变换系数。在一些实例中,视频编码器20可生成一或多个语法元素以表示变换系数。视频编码器20可熵编码表示变换系数的语法元素中的一或多者。
更具体地,当根据HEVC或其它视频译码规范编码视频数据时,为了生成图片的经编码表示,视频编码器20可将图片的每一样本阵列划分为译码树块(CTB)并编码CTB。CTB可为图片的样本阵列中的N×N个样本块。在HEVC主配置文件中,CTB的大小可在16×16到64×64之间,尽管技术上可支持8×8CTB大小。
图片的译码树单元(CTU)可包括一或多个CTB,且可包括用于编码一或多个CTB的样本的语法结构。例如,每一CTU可包括亮度样本的CTB,色度样本的两个对应CTB,以及用于编码CTB样本的语法结构。在单色图片或具有三个单独颜色平面的图片中,CTU可包括单个CTB及用于编码CTB的样本的语法结构。CTU也可被称为“树块”或“最大译码单元”(LCU)。在本发明中,“语法结构”可定义为以指定次序在位流中一起存在的零个或多个语法元素。在一些编解码器中,经编码图像是包含图像的所有CTU的经编码表示。
为了编码图片的CTU,视频编码器20可将CTU的CTB分割成一或多个译码块。译码块为样本的N×N块。在一些编解码器中,为了编码图片的CTU,视频编码器20可递归地对CTU的译码树块执行四叉树分割以将CTB分割成译码块,因此称为“译码树单元”。译码单元(CU)可以包括用于编码一或多个译码块的样本的一或多个译码块及语法结构。例如,CU可包括亮度样本的译码块及具有亮度样本阵列、Cb样本阵列及Cr样本阵列的图片的色度样本的两个对应译码块,以及用于编码译码块的样本的语法结构。在单色图片或具有三个单独颜色平面的图片中,CU可包括单个译码块及用于译码译码块的样本的语法结构。
此外,视频编码器20可编码视频数据的图片的CU。在一些编解码器中,作为编码CU的部分,视频编码器20可将CU的译码块分割成一或多个预测块。预测块为是应用相同预测的矩形(即,正方形或非正方形)样本块。CU的预测单元(PU)可包括CU的一或多个预测块以及用于预测一或多个预测块的语法结构。举例来说,PU可包括亮度样本的预测块,色度样本的两个对应预测块,以及用于预测预测块的语法结构。在单色图片或具有三个单独颜色平面的图片中,PU可包括单个预测块及用于预测预测块的语法结构。
视频编码器20可生成CU的PU的预测块(例如,亮度、Cb及Cr预测块)的预测块(例如,亮度、Cb及Cr预测块)。视频编码器20可使用帧内预测或帧间预测来生成预测块。如果视频编码器20使用帧内预测来生成预测块,那么视频编码器20可基于包含CU的图片的经解码样本生成预测块。如果视频编码器20使用帧间预测来生成当前图片的PU的预测块,那么视频编码器20可基于参考图片的经解码样本(即,除当前图片之外的图片)生成PU的预测块。在HEVC中,视频编码器20在用于帧间预测的PU的“coding_unit”语法结构内生成“prediction_unit”语法结构,但不生成用于帧内预测的PU的“coding_unit”语法结构的“prediction_unit”语法结构。而是,在HEVC中,与帧内预测的PU相关的语法元素直接包含在“coding_unit”语法结构中。
视频编码器20可生成CU的一或多个残留块。举例来说,视频编码器20可生成CU的亮度残留块。CU的亮度残留块中的每一样本指示CU的预测亮度块中的一者中的亮度样本与CU的原始亮度译码块中的对应样本之间的差。另外,视频编码器20可生成CU的Cb残留块。CU的Cb残留块中的每一样本可指示CU的预测Cb块中的一者中的Cb样本与CU的原始Cb译码块中的对应样本之间的差。视频编码器20还可生成CU的Cr残留块。CU的Cr残留块中的每一样本可指示CU的预测Cr块中的一者中的Cr样本与CU的原始Cr译码块中的对应样本之间的差。
此外,视频编码器20可将CU的残留块分解为一或多个变换块。举例来说,视频编码器20可使用四叉树分割来将CU的残留块分解成一或多个变换块。变换块为在其上应用相同变换的矩形(例如,正方形或非正方形)样本块。CU的变换单元(TU)可包括一或多个变换块。举例来说,TU可包括亮度样本的变换块,色度样本的两个对应变换块,以及用于变换变换块样本的语法结构。因此,CU的每一TU可具有亮度变换块、Cb变换块及Cr变换块。TU的亮度变换块可为CU的亮度残留块的子块。Cb变换块可为CU的Cb残留块的子块。Cr变换块可为CU的Cr残留块的子块。在单色图片或具有三个单独颜色平面的图片中,TU可包括单个变换块及用于变换变换块的样本的语法结构。
视频编码器20可将一或多个变换应用于TU的变换块以生成TU的系数块。系数块可为二维变换系数阵列。变换系数可为标量。在一些实例中,一或多个变换将变换块从像素域变换到频域。因此,在此类实例中,变换系数可为被认为是在频域中的标量。转换系数级别是表示在缩放用于计算变换系数值之前的解码处理中与特定2维频率索引相关联的值的整数量。
在一些实例中,视频编码器20跳过变换到变换块的应用。在此类实例中,视频编码器20可以与变换系数相同的方式处理残留样本值。因此,在视频编码器20跳过变换的应用的实例中,变换系数及系数块的以下论述可适用于变换残留样本的块。
在生成系数块之后,视频编码器20可量化系数块以可能减少用以表示系数块的数据量,可能提供进一步压缩。量化通常是指将一系列值压缩为单个值的过程。例如,可通过将值除以常数,且然后舍入到最接近的整数来完成量化。为了量化系数块,视频编码器20可量化系数块的变换系数。量化可减少与一些或所有变换系数相关联的位深。例如,在量化期间,n位变换系数可以向下舍入到m位变换系数,其中n大于m。在一些实例中,视频编码器20跳过量化。
视频编码器20可生成指示一些或所有潜在量化的变换系数的语法元素。视频编码器20可熵编码指示经量化变换系数的一或多个语法元素。举例来说,视频编码器20可对指示经量化变换系数的语法元素执行上下文自适应二进制算术译码(CABAC)。因此,经编码块(例如,经编码CU)可包含指示经量化的变换系数的经熵编码的语法元素。
视频编码器20可输出包含经编码视频数据的位流。换句话说,视频编码器20可输出包含视频数据的经编码表示的位流。视频数据的编码表示可包括视频数据的图片的经编码表示。举例来说,位流可包括形成视频数据及相关联数据的经编码图片的表示的位序列。在一些实例中,经编码图片的表示可包含图片的块的经编码表示。
视频解码器30可接收由视频编码器20生成的位流。如上文所述,位流可包括视频数据的经编码表示。视频解码器30可解码位流以重构视频数据的图片。作为解码位流的部分,视频解码器30可从位流获得语法元素。视频解码器30可至少部分地基于从位流获得的语法元素来重构视频数据的图片。重构视频数据的图片的过程通常可以与视频编码器20执行的编码图片的过程相反。
举例来说,作为解码视频数据的图片的部分,视频解码器30可使用帧间预测或帧内预测来生成预测块。另外,视频解码器30可基于从位流获得的语法元素来确定变换系数。在一些实例中,视频解码器30将所确定的变换系数逆量化。逆量化将量化值映射到重构值。例如,视频解码器30可通过确定乘以量化步长的值来量化值。此外,视频解码器30可对所确定的变换系数应用逆变换以确定残留样本的值。视频解码器30可基于残留样本及所生成的预测块的对应样本来重构图片的块。举例来说,视频解码器30可将残留样本添加到所生成的预测块的对应样本以确定所述块的经重构样本。
更具体地,在HEVC及其它视频译码规范中,视频解码器30可使用帧间预测或帧内预测来生成当前CU的每一PU的一或多个预测块。另外,视频解码器30可逆量化当前CU的TU的系数块。视频解码器30可对系数块执行逆变换以重构当前CU的TU的变换块。视频解码器30可基于当前CU的PU的预测块的样本及当前CU的TU的变换块的残留样本重构当前CU的译码块。在一些实例中,视频解码器30可通过将当前CU的PU的预测块的样本添加到当前CU的TU的变换块的对应经解码样本来重构当前CU的译码块。通过重构图片的每一CU的译码块,视频解码器可重构图片。
图片的切片可包含图片的整数个块。例如,在HEVC及其它视频译码规范中,图片的切片可包含图片的整数个CTU。切片的CTU可按扫描次序连续排序,例如光栅扫描次序。在HEVC中,切片被定义为含在一个独立切片段中的整数个CTU以及在同一存取单元内的下一个独立切片段(如果有)之前的所有后续从属切片段(如果有)。此外,在HEVC中,切片段被定义为在图块扫描中连续排序并含在单个NAL单元中的整数个CTU。图块扫描是对图片进行分割的CTB的特定次序排序,其中CTB在图块中的CTB光栅扫描中连续排序,而图片中的图块在图片的图块的光栅扫描中连续排序。图块是图片中的特定图块列及特定图块行内的CTB的矩形区域。
如上文所提及,视频编码器20及视频解码器30可将CABAC编码及解码应用于语法元素,作为视频译码及压缩方案的部分。为了将CABAC编码应用于语法元素,视频编码器20可将语法元素二值化以形成一系列一或多个位,其被称为“二进制元素”。另外,视频编码器20可识别译码上下文。译码上下文可以识别具有特定值的二进制元素的初始概率。例如,译码上下文可指示译码0值二进制元素的0.7概率及译码1值二进制的0.3概率。在识别译码上下文之后,视频编码器20可以将间隔划分为下部子间隔及上部子间隔。子间隔中的一者可以与值0相关联,而另一子间隔可以与值1相关联。子间隔的宽度可以与通过所识别的译码上下文为相关联值指示的概率成比例。如果语法元素的二进制元素具有与下部子间隔相关联的值,那么编码值可等于下部子间隔的下边界。如果语法元素的同一二进制元素具有与上部子间隔相关联的值,那么编码值可等于下上部子间隔的下边界。为了编码语法元素的下一个二进制元素,视频编码器20可重复这些步骤,其中间隔是与编码位的值相关联的子间隔。当视频编码器20针对下一个二进制元素重复这些步骤时,视频编码器20可基于由所识别的译码上下文指示的概率及经编码二进制元素的实际值来使用经修改的概率。
当视频解码器30对语法元素执行CABAC解码时,视频解码器30可识别译码上下文。然后,视频解码器30可将间隔划分为下部子间隔及上部子间隔。子间隔中的一者可以与值0相关联,而另一子间隔可以与值1相关联。子间隔的宽度可以与通过所识别的译码上下文为相关联值指示的概率成比例。如果编码值在下部子间隔内,那么视频解码器30可解码具有与下部子间隔相关联的值的二进制元素。如果编码值在上部子间隔内,那么视频解码器30可解码具有与上部子间隔相关联的值的二进制元素。为了解码语法元素的下一个二进制元素,视频解码器30可以重复这些步骤,其中间隔是包含编码值的子间隔。当视频解码器30针对下一个二进制元素重复这些步骤时,视频解码器30可基于由所识别的译码上下文及经解码的二进制元素指示的概率来使用经修改的概率。然后,视频解码器30可以对二进制元素多值化以恢复语法元素。
视频编码器20可使用旁路CABAC译码来编码一些二进制元素。对二进制元素执行旁路CABAC译码比对二进制元素执行常规CABAC译码可能在计算上更便宜。此外,执行旁路CABAC译码可以允许更高程度的并行化及吞吐量。使用旁路CABAC译码编码的二进制元素可被称为“旁路二进制元素”。将旁路二进制元素分组在一起可以增加视频编码器20及视频解码器30的吞吐量。旁路CABAC译码引擎可能能够在单个周期中译码多个二进制元素,而常规CABAC译码引擎可能能够在一个周期中仅译码单个二进制元素。旁路CABAC译码引擎可以更简单,因为旁路CABAC译码引擎不选择上下文并且可以假设两个符号(0及1)的概率为1/2。因此,在旁路CABAC译码中,间隔直接分成两半。
图2为说明可实施本发明的技术的实例视频编码器20的框图。提供图2是出于解释的目的,且不应认为是对本发明中广泛例示及描述的技术的限制。然而,本发明的技术可适用于各种译码标准或方法。
处理电路包含视频编码器20,且视频编码器20经配置以执行本发明中所描述的实例技术中的一或多者。例如,视频编码器20包含集成电路,且图2中所说明的各种单元可形成为与电路总线互连的硬件电路块。这些硬件电路块可为单独电路块或所述单元中的两者或多于两者可组合到共用硬件电路块中。硬件电路块可形成为电组件与其它类似逻辑块的组合,所述电组件形成例如算术逻辑单元(ALU)的操作块、基本功能单元(EFU),以及例如AND、OR、NAND、NOR、XOR、XNOR的逻辑块。
在一些实例中,图2中说明的单元中的一或多者可为在处理电路上执行的软件单元。在此类实例中,这些软件单元的目标代码存储在存储器中。操作系统可以致使视频编码器20检索目标代码并执行目标代码,这致使视频编码器20执行操作以实施实例技术。在一些实例中,软件单元可为视频编码器20在启动时执行的固件。因此,视频编码器20为具有执行实例技术的硬件或具有在硬件上执行以专门化硬件来执行实例技术的软件/固件的结构组件。
在图2的实例中,视频编码器20包含预测处理单元200、视频数据存储器201、残差生成单元102、变换处理单元204、量化单元206、逆量化单元208、逆变换处理单元210、重建单元212、滤波器单元214、经解码图片缓冲器216及熵编码单元218。预测处理单元200包含帧间预测处理单元220及帧内预测处理单元226。帧间预测处理单元220可包含运动估计单元及运动补偿单元(未展示)。
视频数据存储器201可经配置以存储待由视频编码器20的组件进行编码的视频数据。例如,可从视频源18获得存储在视频数据存储器201中的视频数据。经解码图片缓冲器216可为存储供用于由视频编码器20(例如以帧内或帧间编码模式)编码视频数据的参考视频数据的参考图片存储器。视频数据存储器201及经解码图片缓冲器216可由各种存储器装置中的任一者形成,例如,动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。视频数据存储器201及经解码图像缓冲器216可由同一存储器装置或单独存储器装置提供。在各种实例中,视频数据存储器201可与视频编码器20的其它组件在芯片上,或相对于那些组件在芯片外。视频数据存储器201可与图1的存储媒体19相同或为其一部分。
视频编码器20接收视频数据。视频编码器20可编码视频数据的图片的切片中的每一CTU。CTU中的每一者可与图片的大小相等的亮度译码树块(CTB)及对应的CTB相关联。作为编码CTU的部分,预测处理单元200可执行分割以将CTU的CTB划分成逐渐变小的块。较小的块可为CU的译码块。例如,预测处理单元200可根据树结构分割与CTU相关联的CTB。
视频编码器20可编码CTU的CU以生成CU(即,经译码CU)的经编码表示。作为编码CU的部分,预测处理单元200可在CU的一或多个PU当中对与CU相关联的译码块进行分割。因此,每一PU可与亮度预测块及对应色度预测块相关联。视频编码器20及视频解码器30可支持具有各种大小的PU。如上文所指示,CU的大小可是指CU的亮度译码块的大小,且PU的大小可是指PU的亮度预测块的大小。假设特定CU的大小为2N×2N,视频编码器20及视频解码器30可支持用于帧内预测的2N×2N或N×N的PU大小,以及用于帧间预测的2N×2N、2N×N、N×2N、N×N或类似的对称PU大小。视频编码器20及视频解码器30还可支持用于帧间预测的2N×nU、2N×nD、nL×2N及nR×2N的PU大小的不对称分割。
帧间预测处理单元220可生成PU的预测数据。作为生成关于PU的预测数据的部分,帧间预测处理单元220对PU执行帧间预测。PU的预测数据可包含PU的预测块及PU的运动信息。帧间预测处理单元220可根据PU是在I切片、P切片还是B切片中来对CU的PU执行不同操作。在I切片中,所有PU均为帧内预测的。因此,如果PU在I切片中,那么帧间预测处理单元220不对PU执行帧间预测。因此,对于以I模式编码的块,使用来自同一帧内的先前编码的相邻块的空间预测来形成预测块。如果PU在P切片中,那么帧间预测处理单元220可使用单向帧间预测来生成PU的预测块。如果PU在B切片中,那么帧间预测处理单元220可使用单向或双向帧间预测来生成PU的预测块。
帧内预测处理单元226可通过对PU执行帧内预测来生成关于PU的预测数据。PU的预测数据可包含PU的预测块及各种语法元素。帧内预测处理单元226可对I切片、P切片及B切片中的PU执行帧内预测。
为了对PU执行帧内预测,帧内预测处理单元226可使用多个帧内预测模式来生成PU的多个预测数据集。帧内预测处理单元226可使用来自相邻PU的样本块的样本来生成PU的预测块。假设PU、CU及CTU的从左到右,从上到下的编码次序,相邻PU可在PU的上方、右上方、左上方,或左侧。帧内预测处理单元226可使用各种数目的帧内预测模式,例如,33个方向帧内预测模式。在一些实例中,帧内预测模式的数目可取决于与PU相关联的区域的大小。
预测处理单元200可从由帧间预测处理单元220针对PU生成的预测数据或由帧内预测处理单元226针对PU生成的预测数据中选择关于CU的PU的预测数据。在一些实例中,预测处理单元200基于预测数据集的速率/失真度量来选择关于CU的PU的预测数据。所选择预测数据的预测块在本文中可被称作所选择预测块。
残留生成单元102可基于CU的译码块(例如,亮度、Cb及Cr译码块)以及针对CU的PU的所选择预测块(例如,预测亮度、Cb及Cr块)来生成CU的残留块(例如,亮度、Cb及Cr残留块)。举例来说,残留生成单元102可生成CU的残留块,使得残留块中的每一样本具有等于CU的译码块中的样本与CU的PU的对应所选择预测性块中的对应样本之间的差的值。
变换处理单元204可将CU的残留块分割成CU的TU的变换块。举例来说,变换处理单元204可执行四叉树分割以将CU的残留块分割成CU的TU的变换块。因此,TU可以与亮度变换块及两个色度变换块相关联。CU的TU的亮度及色度变换块的大小及位置可或可不基于CU的PU的预测块的大小及位置。被称作“残留四叉树”(RQT)的四叉树结构可包含与区域中的每一者相关联的节点。CU的TU可对应于RQT的叶节点。
变换处理单元204可通过将一或多个变换应用于TU的变换块来生成CU的每一TU的变换系数块。变换处理单元204可将各种变换应用于与TU相关联的变换块。举例来说,变换处理单元204可将离散余弦变换(DCT)、方向变换或概念上类似的变换应用于变换块。在一些实例中,变换处理单元204不将变换应用于变换块。在此实例中,变换块可被视为变换系数块。
量化单元206可量化系数块中的变换系数。量化单元206可基于与CU相关联的量化参数(QP)值来量化与CU的TU相关联的系数块。视频编码器20可通过调整与CU相关联的QP值来调整应用于与CU相关联的系数块的量化程度。量化可能会引起信息的丢失。因此,量化的变换系数可具有比原始系数低的准确度。
逆量化单元208及逆变换处理单元210可分别将逆量化及逆变换应用于系数块以从系数块重构残留块。重构单元212可将重构的残留块添加到来自由预测处理单元200生成的一或多个预测块的对应样本以产生与TU相关联的经重构变换块。通过以此方式针对CU的每一TU重构变换块,视频编码器20可重构CU的译码块。
滤波器单元214可执行一或多个解块操作以减少与CU相关联的译码块中的块伪影。经解码图片缓冲器216可在滤波器单元214对经重构的译码块执行一或多个解块操作之后存储经重构译码块。帧间预测处理单元220可使用含有经重构译码块的参考图片来对其它图片的PU执行帧间预测。另外,帧内预测处理单元226可使用经解码图片缓冲器216中的经重构译码块来对与CU相同的图片中的其它PU执行帧内预测。
熵编码单元218可从视频编码器20的其它功能组件接收数据。举例来说,熵编码单元218可从量化单元206接收系数块且可从预测处理单元200接收语法元素。熵编码单元218可对数据执行一或多个熵编码操作以生成熵编码数据。举例来说,熵编码单元218可对数据执行CABAC操作或另一类型的熵编码操作。视频编码器20可输出包含由熵编码单元218生成的熵编码数据的位流。例如,位流可包含表示CU的变换系数的值的数据。
图3为说明经配置以实施本发明的技术的实例性视频解码器30的框图。提供图3是出于解释的目的,且不应认为是对本发明中广泛例示及描述的技术的限制。出于阐释的目的,本发明描述在HEVC译码的上下文中描述视频解码器30。然而,本发明的技术可适用于其它译码标准或方法。
处理电路包含视频解码器30,且视频解码器30经配置以执行本发明中所描述的实例技术中的一或多者。例如,视频解码器30包括集成电路,以及图3中所说明的各种单元形成为与电路总线互连的硬件电路块。这些硬件电路块可为单独的电路块,或单元中的两者或多于两者可以组合到共用硬件电路块中。硬件电路块可形成为电组件与其它类似逻辑块的组合,所述电组件形成例如算术逻辑单元(ALU)的操作块、基本功能单元(EFU),以及例如AND、OR、NAND、NOR、XOR、XNOR的逻辑块。
在一些实例中,图3中说明的单元中的一或多者可为在处理电路上执行的软件单元。在此类实例中,这些软件单元的目标代码存储在存储器中。操作系统可以致使视频解码器30检索目标代码并执行目标代码,这致使视频解码器30执行操作以实施实例技术。在一些实例中,软件单元可为视频解码器30在启动时执行的固件。因此,视频解码器30为具有执行实例技术的硬件或具有在硬件上执行以专门化硬件来执行实例技术的软件/固件的结构组件。
在图3的实例中,视频解码器30包含熵解码单元300、视频数据存储器301、预测处理单元302、逆量化单元304、逆变换处理单元306、重构单元308、滤波器单元310及经解码图像缓冲312。预测处理单元302包含运动补偿单元314及帧内预测处理单元316。在其它实例中,内容解码器30可包含更多、更少或不同的功能组件。
视频数据存储器301可存储经编码视频数据,例如经编码视频位流,以由视频解码器30的组件解码。可经由视频数据的有线或无线网路通信或通过存取实体数据存储媒体(例如)从计算机可读媒体16(例如,从本地视频源(例如相机))获得存储在视频数据存储器301中的视频数据。视频数据存储器301可形成经译码图像缓冲器(CPB),其存储来自经编码视频位流的经编码视频数据。经解码图片缓冲器312可为存储供用于由视频解码器30(例如以帧内或帧间编码模式)解码视频数据或用于输出的参考视频数据的参考图片存储器。视频数据存储器301及经解码图片缓冲器312可由各种存储器装置中的任一者形成,例如,动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。视频数据存储器301及经解码图像缓冲器312可由同一存储器装置或单独存储器装置提供。在各种实例中,视频数据存储器301可与视频解码器30的其它组件在芯片上,或相对于那些组件在芯片外。视频数据存储器301可与图1的存储媒体28相同或为其一部分。
视频数据存储器301可接收并存储位流的经编码视频数据(例如,NAL单元)。熵解码单元300可从视频数据存储器301接收经编码视频数据(例如,NAL单元)且可解析NAL单元以获得语法元素。熵解码单元300可熵解码NAL单元中的经熵编码的语法元素。预测处理单元302、逆量化单元304、重变换处理单元306、重构单元308及滤波器单元310可基于从位流提取的语法元素生成经解码视频数据。熵解码单元300可执行通常与熵编码单元218的处理互逆的处理。
除了从位流获得语法元素外,视频解码器30可对未经分割的CU执行重构操作。为了对CU执行重构操作,视频解码器30可对CU的每一TU执行重构操作。通过对CU的每一TU执行重构操作,视频解码器30可重构CU的残留块。
作为对CU的TU执行重构操作的部分,反量化单元304可反量化(即,反量化)与TU相关联的系数块。在逆量化单元304逆量化系数块之后,逆变换处理单元306可将一或多个逆变换应用于系数块以便生成与TU相关联的残留块。举例来说,逆变换处理单元306可将逆DCT、逆整数变换、逆卡-洛(Karhunen-Loeve)变换(KLT)、逆旋转变换、逆向变换或另一逆变换应用于系数块。
逆量化单元304可执行本发明的特定技术。例如,对于视频数据的图片的CTU的CTB内的多个量化组中的至少一个相应量化组,逆量化单元304可至少部分地基于在位流中用信号通知的本地量化信息来导出相应量化组的相应量化参数。另外,在此实例中,逆量化单元304可基于用于相应量化组的相应量化参数对CTU的CU的TU的变换块的至少一个变换系数进行逆量化。在此实例中,相应量化组经定义为按译码次序,CU或译码块的连续组,使得相应量化组的边界必须为CU或译码块的边界,且相应量化组的大小大于或等于阈值。视频解码器30(例如,逆变换处理单元306、重构单元308及滤波器单元310)可基于变换块的经反量化变换系数来重构CU的译码块。
如果使用帧内预测来编码PU,那么帧内预测处理单元316可执行帧内预测以生成PU的预测块。帧内预测处理单元316可使用帧内预测模式来基于样本空间相邻块来生成PU的预测块。帧内预测处理单元316可基于从位流获得的一或多个语法元素来确定PU的帧内预测模式。
如果使用帧间预测来编码PU,那么熵解码单元300可确定关于PU的运动信息。运动补偿单元314基于PU的运动信息确定一或多个参考块。运动补偿单元314可基于一或多个参考块生成PU的预测块(例如,预测亮度、Cb及Cr块)。
重构单元308可使用用于CU的TU的变换块(例如,亮度、Cb及Cr变换块)及CU的PU的预测块(例如,亮度、Cb及Cr块),即,帧内预测数据或帧间预测数据(如果适用)以重构CU的译码块(例如,亮度、Cb及Cr译码块)。举例来说,重构单元308可将变换块(例如,亮度、Cb及Cr变换块)的样本添加到预测块(例如,亮度、Cb及Cr预测块)的对应样本以重构CU的译码块(例如,亮度、Cb及Cr译码块)。
滤波器单元310可执行解块操作以减少与CU的译码块相关联的块伪影。视频解码器30可将CU的译码块存储在经解码图片缓冲器312中。经解码图片缓冲器312可提供用于后续运动补偿,帧内预测以及在例如图1的显示装置32的显示装置上的呈现的参考图片。举例来说,视频解码器30可基于经解码图片缓冲器312中的块来执行其它CU的PU的帧内预测或帧间预测操作。
算术译码是数据压缩中使用的基本工具。参见例如,I.H.·威腾(Witten)、RM·尼尔(Neal)及J.G.·克利里(Cleary),“用于数据压缩的算术译码(Arithmetic coding fordata compression)”,《美国计算机协会通讯(Commun.ACM)》,第30卷,第6期,第520到540页,1987年6月(下文中称作“参考文献1”);A.·赛义德(Said),“算术译码(ArithmeticCoding)”,在“无损压缩手册(Lossless Compression Handbook)”中,K.·萨尤得(Sayood)编写,学术出版社(Academic Press),第5章,第101到152页,2003年(下文中称作“参考文献2”);及A.·赛义德(Said),“算术译码简介—理论与实践(Introduction to arithmeticcoding–theory and practice)”惠普实验室(Hewlett Packard Laboratories),美国加州帕洛阿尔托市,技术报告HPL-2004-76,2004年4月,(http://www.hpl.hp.com/techreports/2004/HPL-2004-76.pdf)(下文中称作“文献3”)。
算术译码在AVC/H.264视频压缩标准中为任选的。参见I.D.·迈热波(Marpe)、H.·施瓦茨(Schwarz)及T.·威甘德(Wiegand),“H.264/AVC视频压缩标准中基于上下文的自适应二进制算术译码(Context-based adaptive binary arithmetic coding in theH.264/AVC video compression standard)”,IEEE信息论汇刊,电路系统视频技术,第13卷第7期,第620到636页,2003年7月(下文中称作“参考文献4”);I.E.理查森(Richardson),《H.264高级视频压缩标准》,第2版,约翰·威利父子出版公司(John Wiley and SonsLtd.),2010年(下文中称作“参考文献5”)。
算术译码成为视频译码标准HEVC/H.265及VP9的唯一熵译码技术。参见V.·史(Sze)及M.·布达嘉威(Budagavi),“HEVC中高通量CABAC熵译码”,IEEE信息论汇刊,电路系统视频技术,第22卷第12期,第1778到1791页,2012年12月(下文中称作“参考文献6”);V.·史(Sze)及D.·迈热波(Marpe),“HEVC中的熵译码”,在《高效视频译码(HEVC):算法及架构》中,V.·史(Sze)、M.·布达嘉威(Budagavi)及G.J.·苏利文(Sullivan)编写,第8章,第209到274页,施普林格出版公司(Springer),2014年(下文中称作“参考文献7”);M.·维恩(Wien),《高效视频译码:译码工具及规范》,施普林格出版公司(Springer-Verlag),2015(以下称“参考文献8”);D.·穆克吉(Mukherjee)、J.·邦蔲斯基(Bankoski)、R.S.·布尔切(Bultje)、A.·格兰奇(Grange)、J.·韩(Han)、J.·柯勒萨(Koleszar)、P.·威尔金斯(Wilkins)及Y.·徐(Xu),“最新开源视频编解码器VP9—概述及初步结果”,在第30届图片译码研讨会(30th Picture Coding Symp.)会刊中,美国加州圣何塞市(San Jose,CA),2013年12月(下文中称作“参考文献9”)。
由于算术译码的优越压缩效率,预期算术译码仍然是未来视频译码标准中使用的唯一熵译码技术。然而,在实际应用中使用熵译码的主要问题之一是最有效的方法被设计为对于静止数据源是最佳的,但是来自复杂信号(如视频)的实际数据远非静止。当前的解决方案使用数据分类及自适应译码方法来解决此问题,并且本发明的技术可以提高自适应技术的效率。
本发明的技术可以通过利用以下事实来提高压缩效率:即使当数据在许多类别(译码上下文)中被细分时,在指派用于每一类别的数据的统计量中仍然存在很大的可变性。因此,代替对所有类别使用单个“通用”自适应技术,本发明提出了根据每一类别改变自适应参数,并且在每一类别中,根据预期或观察到的概率值或所测量的估计值变化来进一步改变自适应参数。
另外,本发明描述用以改进二进制概率估计的实例技术,其是二进制算术译码的改编。实例技术可以通过使用离散时间信号分析来改进使用递归方程式来估计概率的方法以及在使用低精度实施方案时实现低复杂性及稳定性的特殊特征来实现更好的压缩。
如参考文献1、2及3中所描述,现代视频译码标准采用将熵译码分解为建模及实际译码的策略。因此,现代视频压缩标准中使用的二进制算术译码过程分为三个主要阶段。视频编码器20可执行这些级的操作,且视频解码器30可执行这些级的逆操作。
(a)二值化:首先将待译码的每一数据元素(或语法元素)分解为二进制数据符号(二进制元素)序列。因为二进制符号概率取决于其分解中的数据元素及二进制符号位置,所以为每一类型的二进制符号指派二进制元素上下文(或简称上下文),唯一地识别待用于其熵译码的概率估计值。
(b)自适应概率估计:由于假设指派给给定上下文的所有二进制元素具有相似但不完全相等的概率,因此编码器及解码器基于先前已经编码或解码的二进制元素值更新其概率估计值。
(c)算术译码:使用其值的估计概率来熵译码每一二进制符号(0或1)的值,所述估计概率是由二进制元素的对应上下文定义。
本发明的技术可以通过改进自适应概率估计来获得更好的压缩。
在实践中用于二进制概率估计的实例技术在以下参考文献中呈现:
·F.T.·雷顿(Leighton)及R.L.·瑞斯特(Rivest),“使用有限存储器估计概率(Estimating a probability using finite memory)”IEEE信息论汇刊,第32卷,第6期,第733到742页,1986年11月(下文中称作“参考文献10”)。
·W.B.·贝尼克(Pennebaker)及J.L.·米切尔(Mitchell),“对Q译码器的概率估计(Probability estimation for the Q-Coder)”,《IBM研究与开发杂志(IBMJ.Res.Develop.)》,第32卷,第6期,第737到752页,1988年11月(下文中称作“参考文献11”)。
·P.G.·霍华德(Howard)J.S.·维特(Vitter),“算术译码的实际实施(Practical implementations of arithmetic coding)”,在《图像与文本压缩(Image andText Compression)》,J.A.·斯托勒(Storer)编写,第4章,第85到112页,克吕韦尔学术出版社(Kluwer Academic Publishers),美国马塞诸塞州诺威尔(Norwell,MA),1992年(下文中称作“参考文献12”)。
·E.·梅伦(Meron)及M.·菲德尔(Feder),“个别序列的有限存储器通用预测(Finite-memory universal prediction of individual sequences)”,IEEE信息论汇刊(Trans.Inf.Theory),第50卷第7期,第1506到1523页,2004年7月(下文中称作“参考文献13”)。
·E.·贝尔亚耶夫(Belyaev)、M.·吉利穆季诺夫(Gilmutdinov)及A.·特林科夫(Turlikov),“利用通过虚拟滑动窗进行自适应概率估计的二进制算术译码系统(Binaryarithmetic coding system with adaptive probability estimation by'virtualsliding window')”,在IEEE消费电子产品国际研讨会会刊中,俄罗斯圣彼得堡(St.Petersburg,Russia),2006年6月(下文中称作“参考文献14”)。
·A.·阿尔信(Alshin)、E.·阿尔新纳(Alshina)及J.-H.·帕克(Park),“用于CABAC的高精度概率估计(High precision probability estimation for CABAC)”,在IEEE视觉通信与图像处理会议的会刊中,马来西亚古晋(Kuching,Malaysia),2013年11月(下文中称作“参考文献15”).
·A.V.·奥本海姆(Oppenheim)及R.W.·谢弗(Schafer),《离散时间信号处理(Discrete-Time Signal Processing)》,普伦蒂斯霍尔出版公司(Prentice-Hall,Inc.),美国新泽西州上萨德尔里弗市(Upper Saddle River,NJ),第三版,2009年8月(下文中称作“参考文献16”)。
·S.K.·密特拉(Mitra),《数字信号处理:基于计算机方法(Digital SignalProcessing:A Computer-based Approach)》,麦格劳希尔出版公司(McGraw-HillPublishing Co.),美国纽约市(New York,NY),第4版,2010年(下文中称作“参考文献17”)。
为了实现非常低的计算复杂性实际要求,概率估计通常使用某种类型的有限电子状态机(FSM)来完成。为了便于解释本发明的技术,本发明未涵盖关于参考文献10到14的FSM的实施方案的细节,但其对定义适当的术语是有用的,且在本文末尾呈现一些实例。
图4是实例性通用FSM 400的框图。更具体来说,图4为一般有限状态机的状态转换、输入及输出的序列的图形表示。在图4中,序列{sn},{in},{on}分别表示FSM 400的状态、输入及输出,其为具有整数元素的矢量(矢量维数及其允许元素值集合已经充分定义,但对本论述不重要)。
遵循上文的定义,图4的图中的箭头表示状态更新方程式及输出方程式,所述方程式为
sn=T(in,sn-1),on=P(in,sn-1), (1)
其中T是状态更新函数,且P是输出函数。
在概率估计FSM中,输入是二进制元素值,且输出是二进制元素概率估计值。在图5、图6、图7及图8中展示在熵编码及解码的使用,其中根据惯例,二进制概率估计FSM被称作译码上下文。
如在图5及图6的实例中所展示,在实际视频译码中,熵译码级可通过使用大数目个译码上下文来实施。在编码及解码期间根据被编码或解码的二进制元素的类型(或类别)来选择译码上下文。
图7为考虑单个所选上下文的基于上下文的二进制算术编码的实例框图。在图7中,算术编码单元700包含算术编码器702、位缓冲器704、状态确定单元706及概率估计FSM单元708。在一些实例中,算术编码单元700可从二值化单元712接收二进制元素流。算术编码单元700及二值化单元712可以形成图2的熵编码单元218的部分。二值化单元712将每一数据元素(例如,语法元素)编码成二进制数据符号(二进制元素)序列。二进制数据符号序列可被称作“二进制元素流”。另外,算术编码单元700可接收上下文重新初始化信号。例如,当算术编码单元700开始编码不同类型的二进制符号时,算术编码单元700可以接收上下文重新初始化信号。
此外,在图7中,响应于接收上下文初始化信号,状态确定单元706可初始化概率估计FSM的状态。通常,重新初始化是指将概率估计值复位为与译码上下文相关联的初始概率估计值。举例来说,基于待编码的二进制符号的类型,状态确定单元706可在预定义表中查找初始概率估计值。预定义表可由例如HEVC的视频译码标准定义。状态确定单元706可将所确定的初始概率估计值提供到二进制元素概率估计FSM单元708。对于二进制元素流的第一二进制元素,二进制元素概率估计FSM单元708将初始概率估计值提供到算术编码器702。另外,二进制元素概率估计FSM单元708基于二进制元素流的第一二进制元素的实际值来更新概率估计值。对于每一后续二进制元素,直到状态确定单元706复位概率估计值,二进制元素概率估计FSM单元708根据状态更新函数更新概率估计值,如方程式(1)中所展示。
对于二进制元素流的每一二进制元素,算术编码器702可使用由二进制元素概率估计FSM单元708提供的概率估计值来编码二进制元素,如本发明中其它地方关于CABAC所描述。位缓冲器704可存储由算术编码器702编码的二进制元素。在图7中,延迟框710表示由二进制元素概率估计FSM单元708生成的二进制元素概率基于在当前由算术编码器702编码的二进制元素之前的二进制元素。
图8为考虑单个所选上下文的基于上下文的二进制算术编码的实例框图。在图8中,算术解码单元800包含算术解码器802、位缓冲器804、状态确定单元806及概率估计FSM单元808。算术解码单元800生成二进制元素流,在一些实例中,所述二进制元素流可以由逆二值化单元812接收。算术解码单元800及二值化单元812可形成图3的熵解码单元300的部分。逆二值化单元812将二进制元素流转换成一系列一或多个语法元素。
在图8中,算术解码单元800接收字节流,其可从由视频解码器30接收的位流剖析。另外,算术解码单元800可接收上下文重新初始化信号。例如,当算术解码单元800开始编码不同类型的二进制符号时,算术解码单元800可以接收上下文重新初始化信号。此外,在图8中,响应于接收上下文初始化信号,状态确定单元806可初始化概率估计FSM的状态。举例来说,基于待编码的二进制符号的类型,状态确定单元806可在预定义表中查找初始概率估计值。预定义表可由例如HEVC的视频译码标准定义。预定义表可与由状态确定单元706(图7)使用的表相同。状态确定单元806可将所确定的初始概率估计值提供到二进制元素概率估计FSM单元808。对于二进制元素流的第一二进制元素,二进制元素概率估计FSM单元808将初始概率估计值提供到算术编码器802。另外,二进制元素概率估计FSM单元808基于二进制元素流的第一二进制元素的实际值来更新概率估计值。对于每一后续二进制元素,直到状态确定单元806复位概率估计值,二进制元素概率估计FSM单元808根据状态更新函数更新概率估计值,如方程式(1)中所展示。
对于二进制元素流的每一二进制元素,算术编码器802可使用由二进制元素概率估计FSM单元808提供的概率估计值来编码二进制元素,如本发明中其它地方关于CABAC所描述。位缓冲器804可以存储要由算术解码器802解码的二进制元素。在图8中,延迟框810表示由二进制元素概率估计FSM单元808生成的二进制元素概率基于在当前由算术解码器802解码的二进制元素之前的二进制元素。
图7及图8展示简化图,考虑其中已选择单个上下文的示范性状况。图7及图8还展示始终存在于实际应用中的一个特征,其为使用具有经转换成编码器状态的数据的共享表来周期性同步化编码器及解码器状态的需要。例如,在HEVC标准中,周期性地重新初始化上下文,其中表针对每一上下文定义从压缩质量参数(称作量化步长或量化参数(QP)值)(参见参考文献7及8)转换成FSM状态的方式。
在HEVC标准中,FSM功能仅使用表查找方法实施。参见参考文献7及8。在由ITU-T/MPEG JVET制作的联合勘探模型(JEM)的最新草案中,FSM已经使用两种形式的离散时间无限脉冲响应(IIR)滤波器来实施。第一种呈所述形式(参见参考文献13及14):
Figure BDA0002203234290000261
其中p[k]为缩放概率估计值(FSM状态及输出)的整数序列,b[k]为二进制元素值的二进制序列(FSM输入),且a为一正整数,使乘法及除法能够用位移位实施。
第二形式使用由A.·阿尔信(Alshin)、E.·阿尔新纳(Alshina)及J.-H.·帕克(Park)的“用于CABAC的高精度概率估计(High precision probability estimation forCABAC)”(在IEEE视觉通信与图像处理会议的会刊中,马来西亚古晋(Kuching,Malaysia),2013年11月(下文中称作“参考文献15”))提出的方法,且由以下方程式定义:
Figure BDA0002203234290000262
注意,在此状况下,概率估计FSM输入及输出分别是序列b[k]及p[k],但状态由对(q1[k],q2[k])定义。此处估计也可被称作“双轨估计”,因为两个q1[k],q2[k]均为概率估计值,其经更新及存储。
因为熵译码被设计为对于静止数据源为最佳的,所以其实际有效性取决于对数据元素的分类,使得每一类别中的统计量大致为静止的,并且可能使用几乎“通用”(即,同样良好地适应所有数据上下文)的概率估计FSM。如图7及图8中所展示,基于所述假设,概率估计FSM未改变,且仅其状态经周期性重新初始化。
本发明论述了以下事实:因为不仅概率针对每一上下文而改变,而且改变的速度及量值在上下文当中也不同,所以在实践中不存在供用于CABAC的任何真正“通用最佳”概率估计FSM。本发明描述了此问题的解决方案,其利用了根据上下文或估计概率发生变化的事实,但是最佳策略是利用两者来确定最佳FSM。本发明的技术还涵盖通过评估FSM状态的演变(例如,通过测量多于一个估计之间的差)来选择FSM参数的选项。
根据本发明的一或多种技术,改变概率估计FSM的常规定义,且本发明的技术还定义FSM参数向量h,其可用于改变FSM响应。根据此定义,方程式(1)可以重写为:
sn=T(in,sn-1,h),on=P(in,sn-1,h), (3)
其中现在T是参数化状态更新函数,P是参数化输出函数。换句话说,状态更新及输出方程式可以重新定义,如方程式(3)中所展示。此概率估计FSM可在本文中被称作“参数化上下文FSM”。
通过此定义,可识别定义参数化上下文FSM的译码性能的两个因素:
·FSM状态(sn):含有直接用于计算二进制符号概率的数字或逻辑信息,且是在先前标准中通过重新初始化而改变的唯一数据;
·FSM参数(h):定义状态更新,以及根据状态计算概率估计值的方式;本发明通过在译码期间或在重新初始化期间修改这些参数来改进压缩。
例如,可将方程式(2)中的概率估计改变为使用正整数(a,b)作为方程式中的参数:
Figure BDA0002203234290000271
由于参数a及b用于确定下一个二进制元素的估计概率(即,p[k+1]),因此方程式(4)中的参数a及b可被认为是用于下一个二进制元素。在方程式(4)中,参数(a,b)可改变状态转换,但不改变输出方程式。使用此区别是因为,尽管在数学上可能将FSM参数定义为FSM状态的部分,但这表示实际差异。
图9及图10展示将本发明的技术集成在算术译码过程中的方式。在图9的实例中,算术编码单元900包含算术编码器902、位缓冲器904、状态确定单元906、概率估计FSM单元908及FSM参数确定单元912。在一些实例中,算术编码单元900可从二值化单元913接收二进制元素流。算术编码单元900及二值化单元913可以形成图2的熵编码单元218的部分。二值化单元913、算术编码器902、位缓冲器904、状态确定单元906及延迟框910可以与图7中的二值化单元713、算术编码器702、位缓冲器704、状态确定单元706及延迟框710相同的方式操作。
在图10的实例中,算术解码单元1000包含算术解码器1002、位缓冲器1004、状态确定单元1006、概率估计FSM单元1008及FSM参数确定单元1012。算术解码单元1000生成二进制元素流,在一些实例中,所述二进制元素流可以由逆二值化单元1013接收。算术解码单元1000及二值化单元1013可形成图3的熵解码单元300的部分。逆二值化单元1013将二进制元素流转换成一系列一或多个语法元素。二值化单元1013、算术解码器1002、位缓冲器1004、状态确定单元1006及延迟框1010可以与图8中的二值化单元812、算术解码器802、位缓冲器804、状态确定单元806及延迟框810相同的方式操作。
与图7及图8的主要差异(在图9及图10中以虚线展示)为图9及图10中包含FSM参数确定单元912、1012。FSM参数确定单元912、1012确定FSM参数(例如,方程式(4)中的a及b)。FSM参数确定单元912、1012可在译码期间响应于上下文重新初始化事件或在其它情况下确定FSM参数。因此,在图9及图10中,参数化上下文FSM可在译码或重新初始化期间通过FSM参数确定单元912、1012使用概率值、品质因数及其它数据而得以修改。注意,馈送到FSM参数确定单元912、1012的数据可包括重新初始化参数以及当前状态(例如,二进制元素概率)或由其组成。
因此,根据本发明的一或多种技术,视频编码器20可接收视频数据。视频数据可包括一或多个图片。此外,预测处理单元200、量化单元206及视频编码器20的潜在其它组件可基于视频数据生成语法元素。在此实例中,熵编码单元218可通过将二进制算术编码应用于所生成的语法元素中的一者来确定偏移值。作为应用二进制算术编码的部分,熵编码单元218可通过将一或多个语法元素二值化来生成二进制元素流。此外,对于二进制元素流的至少一个相应二进制元素(例如,二进制元素流的特定二进制元素、二进制元素流的每一二进制元素、除二进制元素流的最后一个二进制元素外的二进制元素流的每一二进制元素等),熵编码单元218可基于相应二进制元素的状态、相应二进制元素的间隔,以及相应二进制元素的值确定二进制元素流的下一个二进制元素的间隔。另外,熵编码单元218可确定用于二进制元素流的下一个二进制元素的一或多个FSM参数。熵编码单元218还可基于相应二进制元素的状态、用于二进制元素流的下一个二进制元素的一或多个FSM参数,以及相应二进制元素的值,确定用于二进制元素流的下一个二进制元素的状态。在此实例中,偏移值可等于二进制元素流的最后一个二进制元素的间隔中的值。视频编码器20可输出包括偏移值的位流。
此外,根据本发明的一或多种技术,视频解码器30的熵解码单元300可通过将二进制算术解码应用于包含在位流中的偏移值来确定经解码语法元素。作为应用二进制算术解码的部分,熵解码单元300可生成二进制元素流。作为生成二进制元素流的部分,熵解码单元300可对于二进制元素流的至少一个相应二进制元素(例如,二进制元素流的特定二进制元素、二进制元素流的每一二进制元素、除二进制元素流的最后一个二进制元素外的二进制元素流的每一二进制元素,等)基于相应二进制元素的状态、相应二进制元素的间隔及偏移值,确定相应二进制元素的值。另外,熵解码单元300可确定用于二进制元素流的下一个二进制元素的一或多个FSM参数。二进制元素流的下一个二进制元素在二进制元素流中的相应二进制元素之后。此外,熵解码单元300还可基于相应二进制元素的状态、用于二进制元素流的下一个二进制元素的一或多个FSM参数,以及相应二进制元素的值,确定用于二进制元素流的下一个二进制元素的状态。熵解码单元300可将二进制元素流多值化以形成经解码语法元素。视频解码器30的其它组件可部分地基于经解码语法元素来重构视频数据的图片。换句话说,视频解码器30可在过程中使用经解码语法元素来重构图片。
在一些实例中,FSM参数确定单元912、1012针对不同的上下文使用不同的函数。例如,每一上下文可以在FSM参数确定单元912、1012中使用不同的函数。FSM参数确定单元912、1012使用用于上下文的函数来确定由二进制元素概率估计FSM单元908、1008使用的FSM参数。例如,FSM参数确定单元912、1012中的每一者可存取将不同上下文映射到不同FSM参数的预定义表。在另一实例中,不同上下文可与不同的预定义表相关联。在此实例中,FSM参数确定单元912、1012中的每一者可存取与当前上下文相关联的预定义表,并基于额外的一或多条信息来查找与当前上下文相关联的预定义表中的条目。在此实例中,额外多条信息可包含关于相邻块的译码模式的信息,关于最后一个非零系数的位置的信息,等等。在一些实例中,上下文的函数是从上下文到FSM参数的预定值的映射。因此,在一些实例中,FSM参数确定单元912、1012中的每一者配置有将上下文映射到FSM参数的预定值的表。
在一些实例中,即使对于相同的上下文,FSM参数(例如,双轨算术译码器的(a,b))也可以取决于切片类型及/或量化参数,及/或经译码模式信息(例如,经译码为解码器的边信息的任何类型的信息,例如,在切片标头中)。例如,FSM参数确定单元912、1012中的每一者可配置有表格,所述表格将因素的组合(例如,上下文、切片类型、量化参数、经译码模式信息等)映射到FSM参数。
FSM参数确定单元912、1012可以各种方式修改FSM参数。换句话说,FSM参数确定单元912、1012可响应于各种事件并基于各种类型的信息来改变二进制元素概率估计FSM单元908使用哪些FSM参数。下面列出一些可能性,这些可能性适用于每一种上下文。
在一个实例中,根据状态重新初始化参数(例如量化步骤或QP值)在重新初始化期间修改FSM参数。例如,视频译码器可经配置有预定义表,所述预定义表将状态重新初始化参数的值映射到FSM参数。在此实例中,视频译码器可使用所述表来基于状态重新初始化参数来查找FSM参数。
在一些实例中,在重新初始化期间,或以比重新初始化短的周期性间隔(例如,对于每一CTU,在每一二进制元素之后等),根据所估计概率值来修改FSM参数。例如,视频译码器可经配置有预定表,所述预定表将所估计概率值映射到FSM参数。在此实例中,视频译码器可使用所述表来基于所估计概率值来查找FSM参数。在此实例中,视频译码器可以使用所述表在上下文重新初始化期间查找FSM参数。举例来说,视频译码器可使用由译码上下文指定的概率估计值来在上下文重新初始化期间查找FSM参数。此外,在一些实例中,二进制元素概率估计FSM单元908或1008可以在上下文重新初始化之后确定在第一二进制元素之后的二进制元素的概率估计值。在此类实例中,视频译码器可使用由二进制元素概率估计FSM单元908或1008确定的概率估计值来查找预定义表中的FSM参数。
在一些实例中,基于过去概率变化的度量来修改FSM参数。视频译码器可通过对概率之间的绝对差求和来计算过去概率变化的度量。在不同的实例中,视频译码器可使用不同技术来估计概率。在一个实例中,使用由方程式(4)定义的FSM,视频译码器可使用“估计变化度量”来确定FSM参数。在此实例中,可根据以下方程式定义“估计变化度量”:
Figure BDA0002203234290000301
在上述方程式中,σ[k+1]为二进制元素k+1的估计变化度量,σ[k为二进制元素k的估计变化度量,q1[k]及q2[k]是在方程式(4)中定义,且c为参数(例如,c可为常数)。在此实例中,视频译码器可存取将估计变化度量σ[k]的不同值映射到不同FSM参数集的预定义表。因此,在此实例中,视频译码器可使用所述表来基于估计变化度量来查找FSM参数。在一些实例中,视频译码器可针对不同的译码上下文存取不同的预定义表。在此类实例,在用于译码上下文的预定义表中的不同条目可将σ[k]的不同值映射到FSM参数的值。在其中所述视频译码器存取用于不同译码上下文的不同预定义表的一些实例中,用于译码上下文的所述表中的不同条目可将σ[k]的值的不同组合及额外信息映射到FSM参数的值。在此类实例中,额外信息可包含切片类型、量化参数等,
在一些实例中,视频译码器可使用如上所定义的任何技术来修改FSM参数,但代替使用自先前重新初始化以来生成的数据,视频译码器可使用来自视频序列的其它部分的数据。图11A为展示可遵循扫描次序从同一图片中的相邻块(例如,CTU、CU)导出FSM参数的框图。举例来说,在图11A的实例中,FSM参数确定单元912、1012可至少部分地基于来自一或多个相邻块的信息确定FSM参数。所述信息可以包含预测模式、量化参数等。在一些实例中,所述信息可以包含从概率可变性的某种度量导出的数据。例如,可使用单个位,其中1表示观察到概率估计值的显著变化,0指示其它方面。
图11B为展示可以基于与先前译码的图片中的块相关联的信息来确定在当前图片的块中使用的FSM参数的框图。先前译码的图片1112中的块可以具有与当前图片1110中的块相同的空间位置。举例来说,在图11B的实例中,FSM参数确定单元912、1012可至少部分地基于来自先前译码图片中的一或多个相邻块的信息确定FSM参数。所述信息可以包含预测模式、量化参数等。在一些实例中,所述信息可以包含从概率可变性的某种度量导出的数据。例如,可使用单个位,其中1表示观察到概率估计值的显著变化,0指示其它方面。
二进制概率估计,即估计随机二进制数据源的概率的过程,可能与众所周知的伯努利(或二项式)试验有关,因此已经研究了数十年。然而,其在熵译码中的应用仍在开发中,因为在实际应用中估计方法必须考虑两个相互冲突的目标:(1)压缩效率随着概率估计值的准确性提高而提高,并且能够在保持精度的同时快速改变估计值,这需要更高的计算复杂性,以及(2)由于算术译码速度会严重限制压缩及解压缩系统的吞吐量(以兆比特/秒为单位),优选以较小的计算复杂性执行算术译码以增加吞吐量。
由于在实际视频译码系统中对于低复杂性的偏好,用于二进制算术译码的大多数概率估计方法基于FSM,如参考文献10中所描述,因为算术译码的第一实际实施,如参考文献11中所描述。下面定义了这些技术的基础的符号,其可以用在视频译码应用中。
假设存在来自二进制随机数据源(即,b[k]∈{0,1})的N符号
Figure BDA0002203234290000311
的序列,符号1的真实概率的未知序列
Figure BDA0002203234290000312
即pt[k]=Prob(b[k]=1),二进制概率估计是查找最佳近似真实概率的估计概率
Figure BDA0002203234290000313
序列的问题,在因果关系的条件下,即,p[n]可只能依赖于“过去”二进制元素
Figure BDA0002203234290000314
的集合。
在译码应用中,变量及方程式被修改为仅使用整数算术。通常,概率缩放2的幂。举例来说,如果使用整数定标因数2c,并且大写字母用于指示对应整数值,那么概率及二进制元素的缩放值可为:
Figure BDA0002203234290000321
Figure BDA0002203234290000322
一种特定类型的概率估计FSM已经被采用,且在过去几十年中被“重新发现”并重命名了几次,其具有适应参数0<α<1及递归形式:
p[k+1]=α b[k]+(1-α)p[k], (6)
在实际编码应用中,视频编码器20及视频解码器30两者都以相同的初始概率估计p[1](通常来自共享的固定表)开始,然后使用概率估计p[k]顺序地最优地编码及解码每一二进制元素b[k],其中在每一二进制元素被编码或解码之后用方程式(6)更新每一概率估计。由于这是递归方程,因此每一概率值取决于所有先前编码二进制元素或解码二进制元素。
参考文献16及17中描述的信号处理展示,当使用方程式(6)时,所估计概率值取决于先前译码的二进制元素,使用指数减小的权重。出于所述原因,此概率估计技术在参考文献12中被称为指数老化,其建议在实际译码应用中使用α=0.04的值。AVC/H.264及HEVC/H.265视频译码标准中采用的CABAC算术译码方法也使用此方法,使用值α=0.0508[4,6,7],且其中一个与先前的实施方案不同之处是与其基于表查找的有限状态机的使用有关。
最近,在参考文献13及参考文献14中,相同的方法被称为指数衰减的存储器。参考文献14将其称为“虚拟滑动窗口”技术,因为等效形式
Figure BDA0002203234290000323
与使用W二进制元素的“滑动窗口”的概率估计的随机算法有关。此外,参考文献13及14表明,按以下形式,当W是2的幂时,其可用整数算术有效地实施
Figure BDA0002203234290000324
因为高复杂性除法可以被有效的整数位移位代替。
前述估计公式的一个实际问题是,根据给定上下文的二进制数据,可能需要不同的窗口值W。如果二进制元素值的概率变化缓慢,或二进制元素值概率非常不同(例如,Prob(b[k]=1)>>Prob(b[k]=0)),那么通过较大的W值获得更多压缩,因为其对较大数目个先前二进制元素值求平均。另一方面,当概率快速且频繁地改变时,W的小值可能是有益的。
在参考文献15中所描述的此问题的一种解决方案是定义数目M个自适应参数
Figure BDA0002203234290000325
及权重
Figure BDA0002203234290000326
使得
Figure BDA0002203234290000331
使用几个概率估计量,以方程式(6)的相同递归形式,
qi[k+1]=αi b[k]+(1-αi)qi[k],i=1,2,…,M, (10)
且然后将最终估计值计算为加权平均值:
Figure BDA0002203234290000332
事实证明,此方法在视频译码应用中更有效,且因此,当前的ITU/MPEG实验视频压缩程序使用以下三个方程式(使用整数算术)进行概率估计。
Figure BDA0002203234290000333
在此状况下,概率估计FSM使用Q1及Q2作为状态元素,这使得难以使用仅估计最小概率符号(LPS)的概率的常用技术,因为Q1>1/2且Q2<1/2可以同时发生,或反之亦然。
使用参考文献16及17中描述的离散时间信号处理,以及z变换的定义,结果是:
Figure BDA0002203234290000336
遵循惯例,本发明使用大写字母用于z转换,但其可通过使用圆括号而不是方括号来识别。例如,P[k]用于表示p[k]的缩放整数版本,而P(z)表示p[k]的z转换。
使用这些定义,方程式(6)对应于:
zP(z)=α B(z)+(1-α)P(z), (13)
Figure BDA0002203234290000334
这意味着概率估计值是响应于以下方程式应用于二进制元素值序列的无限脉冲响应(IIR)滤波器的输出
Figure BDA0002203234290000335
如在图12中所展示。例如,图12说明由方程式(6)定义的概率估计滤波器的一个实例。
使用两个因数的方程式(10)的概率估计量及相等权重对应于图13中所展示的平行滤波器实施方案。在图13中,由方程式(10)定义的概率估计滤波器包含两个估计量及相等权重。
因此,在一些实例中,视频编码器20可实施图12及图13中所说明的概率估计滤波器的操作以确定用于算术编码的特定二进制元素(例如,b[k])的二进制元素(例如,p[k])。视频编码器20的b[k]可基于二值化语法元素或更一般地经编码到位流中的视频数据。类似地,视频解码器30可实施图12及图13中所说明的概率估计滤波器的操作以确定用于算术编码的特定二进制元素(例如,b[k])的二进制元素(例如,p[k])。视频解码器30的b[k]可包含在解码视频数据的位流中。
由于熵译码(例如,算术译码)被设计为对于静止数据源(例如,非移动内容)是最佳的,因此其实际有效性取决于对数据元素进行分类,使得每一类别中的统计量大致为静止的。在实践中,每一类别由译码上下文(或二进制字母表的二进制元素上下文)表示,且即使每一上下文应对应于一组不同的符号概率,也假设如果符号概率改变,那么发生改变的方式应足够相似,以使得单一的适应方法将足以满足所有上下文。
然而,实际上,在实际视频译码中,通过分类形成的每一流中的数据也具有不同的高阶变化。例如,类别对应于以下状况
·数据确实是静止的;
·符号概率经常改变,但数量很小;
·符号概率不会经常改变,但当其确实发生改变时,概率值会极其显著地改变。
数据符号概率改变的频率、改变速度及改变的平均量值也可能存在变化。为了处理所有不同的状况,可能希望对估计过程有良好的控制。本发明描述通过增加估计的次序以及调整新估计量的参数以最佳地匹配数据源统计来完成此操作的方式。另外,本发明中所描述的技术可以解决FSM估计量的问题,所述估计量不将概率估计作为其状态的部分,这使得难以使用仅估计最小概率符号(LPS)的概率的常用技术。
为了在预测器的响应中实现更多自由度,所述技术可使用更高阶滤波器。IIR滤波器响应通常使用多项式表示来定义,例如:
Figure BDA0002203234290000341
然而,在概率估计问题中,多项式表示的参数通常不允许最小的计算复杂性。此外,已知最佳响应在数值上不稳定,使实施进一步复杂。
本发明描述了使用以下产品形式作为起点,可从所述起点确定用于概率估计的操作。
Figure BDA0002203234290000342
其中
Figure BDA0002203234290000351
分别是H(z)的极点及零点,且常数γ经定义以使得满足条件H(1)=1,即,适当地缩放概率估计。
以下步骤是考虑极点及零点预期接近于统一,且虽然可接受几次整数乘法,但用其位移位替换所有除法可能是有用的。在那些条件下,可使用方程式式(18)来定义滤波器
Figure BDA0002203234290000352
其中为满足条件H(1)=1,应如下
Figure BDA0002203234290000353
在以下定义的情况下
Figure BDA0002203234290000354
以下内容可重写为:
Figure BDA0002203234290000355
并利用此级联(乘积)形式的事实,可以按任何次序布置个别滤波器。
在无限精度的情况下,滤波器的次序可能是无关紧要的,但是当仅使用有限精度及整数运算时,滤波器的次序可能很重要。例如,当参数γ具有不同于2的因数时,其可简单地移动到第一级,且整数序列B[k]可重新缩放以避免乘法或除法。
在本发明中描述的一些实例中,所述集的参数集
Figure BDA0002203234290000356
均为小整数,以最小化算术运算的复杂性(其可以用于定制硬件),并且简化实施方案。
图14中展示实施方案的图。举例来说,图14说明使用级联滤波器的概率估计滤波器的实例。例如,图14说明各自执行传递函数Hi(z)的操作以确定二进制元素流的二进制元素中的每一者的二进制元素概率的多个滤波器。作为实例,出于编码的目的,二进制元素流可为在视频编码器20中生成的二值化二进制元素流。二进制元素流还可为视频解码器30生成用于多值化以生成实际视频数据(例如,语法元素)的二进制元素流。
对于视频解码器30,多个滤波器中的第一滤波器基于位流(例如,由视频编码器20生成的位流)接收值。多个滤波器中的最后一个滤波器输出二进制元素概率。其它滤波器中的每一者接收来自其紧接在前的滤波器的值,并基于所接收值及所述滤波器中的每一者的相应参数值确定其下一滤波器的值。最后一个滤波器接收来自其紧接在前的滤波器的值,并基于所接收值及最后一个滤波器的参数值确定二进制元素概率。作为实例,滤波器中的每一者的相应参数值可为
Figure BDA0002203234290000357
ωi、πi及μi,但可能有更少或更多的参数值。
对于视频编码器20,多个滤波器中的第一滤波器基于二进制元素流接收值(例如,如通过语法元素的二值化所生成的)。多个滤波器中的最后一个滤波器输出二进制元素概率。其它滤波器中的每一者接收来自其紧接在前的滤波器的值,并基于所接收值及所述滤波器中的每一者的相应参数值确定其下一滤波器的值。最后一个滤波器接收来自其紧接在前的滤波器的值,并基于所接收值及最后一个滤波器的参数值确定二进制元素概率。作为实例,滤波器中的每一者的相应参数值可为
Figure BDA0002203234290000361
ωi、πi及μi,但可能有更少或更多的参数值。
视频译码器(例如,视频编码器20或视频解码器30)可以各种方式确定
Figure BDA0002203234290000362
ωi、πi及μi的值。例如,视频译码器可存取将各种类型的信息映射到
Figure BDA0002203234290000363
ωi、πi及μi的值。例如,视频译码器可以使用与特定上下文相关联的表来查找
Figure BDA0002203234290000364
ωi、πi及μi的值。在此类实例中,可基于视频数据的经验分析来确定一或多个表。
在一些实例中,本发明的技术可使用熵编码单元218(图2)来实施。举例来说,视频编码器20可接收视频数据。视频数据可包括一或多个图片。此外,预测处理单元200、量化单元206及视频编码器20的潜在其它组件可基于视频数据生成语法元素。在此实例中,熵编码单元218可基于视频数据接收语法元素,且将二进制算术编码应用于语法元素。在一些实例中,应用二进制算术编码可包含通过将语法元素二值化来生成二进制元素流,以及利用多个滤波器确定二进制元素流的至少一个二进制元素的二进制元素概率。多个滤波器中的第一滤波器基于二进制元素流接收值,多个滤波器的最后一个滤波器输出二进制元素概率,其它滤波器中的每一者接收来自其紧接在前的滤波器的值并基于所接收值及所述滤波器中的每一者的相应参数值确定其下一滤波器的值,且最后一个滤波器接收来自其紧接在前的滤波器的值,并基于所接收值及最后一个滤波器的参数值确定二进制元素概率。应用二进制算术编码还可包含基于至少一个二进制元素及二进制元素概率生成位流。熵编码单元218可输出位流。
此外,在一些实例中,本发明的技术可使用熵解码单元300(图3)来实施。举例来说,熵解码单元300可通过将二进制算术解码应用于位流来确定经解码语法元素。应用二进制算术解码包含生成二进制元素流,并且生成二进制元素流包含利用多个滤波器确定二进制元素流的至少一个二进制元素的二进制元素概率。多个滤波器中的第一滤波器基于位流接收值,多个滤波器的最后一个滤波器输出二进制元素概率,其它滤波器中的每一者接收来自其紧接在前的滤波器的值并基于所接收值及所述滤波器中的每一者的相应参数值确定其下一滤波器的值,且最后一个滤波器接收来自其紧接在前的滤波器的值,并基于所接收值及最后一个滤波器的参数值确定二进制元素概率。熵解码单元300可将二进制元素流多值化以形成经解码语法元素。预测处理单元302可部分地基于经解码语法元素来重构视频数据的图片。
当直接存取概率估计对于快速确定最小概率符号有用时,操作的次序也可能是重要的。举例来说,以下方程式定义概率估计FSM,由正整数常数a及b参数化,其中概率序列P[k]为最小FSM状态的部分。
Figure BDA0002203234290000371
视频译码器可使用本发明中其它地方提供的任何实例来确定FSM参数a及b的值。此外,在一些实例中,视频译码器可使用方程式(22)而不是方程式(4)。
图15为说明实例熵编码单元的框图。例如,图15更详细地说明图2的熵编码单元218的一个实例。熵编码单元218可包含额外或更少组件,且图15中所说明的特定互连仅为了便于理解,且不应被认为限制性。熵编码单元218可包含二值化电路1500,其接收视频数据(例如,语法元素)并执行二值化过程(例如,二进制数据符号序列也称为二进制元素值)。概率估计电路1502可接收由二值化电路1500生成的二进制元素值且可使用本发明中所描述的实例技术(例如使用关于图14说明及描述的级联滤波技术)来确定用于所述二进制位的概率。算术编码器电路1504可基于由概率估计电路1502生成的译码上下文(例如,概率)熵编码由二值化电路1500生成的二值化数据,以生成视频编码器20输出的位流。
作为实例,概率估计电路1502可用多个滤波器(例如,Hi(z))确定二进制元素流的至少一个二进制元素的二进制元素概率。多个滤波器的第一滤波器(例如,H0(z))基于二进制元素流接收值。多个滤波器的最后一个滤波器(例如,HF(z))输出二进制元素概率。其它滤波器(例如,H1(z)到HF-1(z))中的每一者接收来自其紧接在前的滤波器的值,并基于所接收值及所述滤波器中的每一者的相应参数值(例如,
Figure BDA0002203234290000372
ωi、πi及μi)确定其下一滤波器的值。最后一个滤波器接收来自其紧接在前的滤波器的值,并基于所接收值及最后一个滤波器的参数值(例如,
Figure BDA0002203234290000373
ωF、πF及μF)确定二进制元素概率。
由第一滤波器应用以生成其值的传递函数包括H0(z)=γz-1,其中γ包括第一滤波器的参数,且z为z变换的变量。由第一滤波器之后的滤波器中的每一者应用的传递函数包括
Figure BDA0002203234290000374
其中i指示滤波器的相对次序,其中
Figure BDA0002203234290000375
ωi、πi及μi为滤波器的相应参数值。
Figure BDA0002203234290000376
ωi、πi及μi中的每一者可为整数,且在一些实例中,
Figure BDA0002203234290000377
ωi、πi及μi中的每一者可为相对较小的整数。
图16为说明实例熵解码单元的框图。例如,图16更详细地说明图3的熵解码单元300的一个实例。熵解码单元300可包含额外或更少组件,且图16中所说明的特定互连仅为了便于理解,且不应被认为限制性。熵解码单元300可包含算术解码器电路1604,其接收位流(例如,经编码语法元素)且基于由概率估计电路1606确定的译码上下文(例如,概率)来执行算术解码。作为一个实例,功率估计电路1606可执行图14中所说明的操作或与那些操作相反的某一形式。逆二值化电路1600接收来自算术解码器电路1604的输出,并执行逆二值化处理以生成用于重构图片的视频数据。
作为实例,概率估计电路1606用多个滤波器(例如,Hi(z))确定二进制元素流的至少一个二进制元素的二进制元素概率。多个滤波器的第一滤波器(例如,H0(z))基于位流接收值。多个滤波器的最后一个滤波器(例如,HF(z))输出二进制元素概率。其它滤波器(例如,H1(z)到HF-1(z))中的每一者接收来自其紧接在前的滤波器的值,并基于所接收值及所述滤波器中的每一者的相应参数值(例如,
Figure BDA0002203234290000381
ωi、πi及μi)确定其下一滤波器的值。最后一个滤波器接收来自其紧接在前的滤波器的值,并基于所接收值及最后一个滤波器的参数值(例如,
Figure BDA0002203234290000382
ωF、πF及μF)确定二进制元素概率。
由第一滤波器应用以生成其值的传递函数包括H0(z)=γz-1,其中γ包括第一滤波器的参数,且z为z变换的变量。由第一滤波器之后的滤波器中的每一者应用的传递函数包括
Figure BDA0002203234290000383
其中i指示滤波器的相对次序,其中
Figure BDA0002203234290000384
ωi、πi及μi为滤波器的相应参数值。
Figure BDA0002203234290000385
ωi、πi及μi中的每一者可为整数,且在一些实例中,
Figure BDA0002203234290000386
ωi、πi及μi中的每一者可为相对较小的整数。
以下编号的段落描述了根据本发明的技术的特定实例。
实例1.一种解码视频数据的方法,所述方法包括:通过将二进制算术解码应用于位流来确定经解码语法元素,其中应用所述二进制算术解码包括生成二进制元素流,其中生成所述二进制元素流包括:利用复数个滤波器确定所述二进制元素流中的至少一个二进制元素的二进制元素概率,其中所述多个滤波器中的第一滤波器基于所述位流接收值,所述多个滤波器中的最后一个滤波器输出所述二进制元素概率,所述其它滤波器中的每一者接收来自其紧接在前的滤波器的值并基于所接收值及所述滤波器中的每一者的相应参数值确定其下一滤波器的值,且所述最后一个滤波器从其紧接在其滤波器接收值且基于所述所接收值及所述最后一个滤波器的参数值确定所述二进制元素概率;将所述二进制元素流多值化以形成所述经解码语法元素;及部分地基于所述经解码语法元素重构所述视频数据的图片。
实例2.根据实例1所述的方法,其中所述多个滤波器以级联配置布置。
实例3.根据实例1及2中任一项所述的方法,其中由所述第一滤波器应用以生成其值的传递函数包括H0(z)=γz-1,其中γ包括第一滤波器的参数,且z为用于z变换的变量。
实例4.根据实例1到3中任一项所述的方法,其中由所述第一滤波器之后的所述滤波器中的每一者应用的传递函数包括
Figure BDA0002203234290000391
其中i指示滤波器的相对次序,其中
Figure BDA0002203234290000392
ωi、πi及μi为所述滤波器的相应参数值。
实例5.根据实例4所述的方法,其中
Figure BDA0002203234290000393
ωi、πi及μi中的每一者为整数。
实例6.根据实例4所述的方法,其中
Figure BDA0002203234290000394
ωi、πi及μi中的每一者为相对小整数。
实例7.根据实例1到6中任一项所述的方法,其进一步包括:至少部分地基于执行以下操作来确定最小概率符号:
Figure BDA0002203234290000395
Figure BDA0002203234290000396
实例8.一种编码视频数据的方法,所述方法包括:基于所述视频数据接收语法元素;将二进制算术编码应用于所述语法元素,其中应用所述二进制算术编码包括:通过将所述语法元素二值化来生成二进制元素流;利用多个滤波器确定所述二进制元素流中的至少一个二进制元素的二进制元素概率,其中所述多个滤波器中的第一滤波器基于所述二进制元素流接收值,所述多个滤波器的最后一个滤波器输出所述二进制概率,所述其它滤波器中的每一者接收来自其紧接在前的滤波器的值并根据所接收值及所述滤波器中的每一者的相应参数值确定其下一滤波器的值,及所述最后一个滤波器接收来自其紧接在前滤波器的值并基于所接收值及所述最后一个滤波器的参数值确定所述二进制元素概率;基于所述至少一个二进制元素及所述二进制元概率生成位流;及输出所述位流。
实例9.根据实例8所述的方法,其中所述多个滤波器以级联配置布置。
实例10.根据实例8及9中任一项所述的方法,其中由所述第一滤波器应用以生成其值的传递函数包括H0(z)=γz-1,其中γ包括第一滤波器的参数,且z为用于z变换的变量。
实例11.根据实例8到10中任一项所述的方法,其中由所述第一滤波器之后的所述滤波器中的每一者应用的传递函数包括
Figure BDA0002203234290000401
其中i指示滤波器的相对次序,其中
Figure BDA0002203234290000402
ωi、πi及μi为所述滤波器的相应参数值。
实例12.根据实例11所述的方法,其中
Figure BDA0002203234290000403
ωi、πi及μi中的每一者为整数。
实例13.根据实例11所述的方法,其中
Figure BDA0002203234290000404
ωi、πi及μi中的每一者为相对小整数。
实例14.根据实例8到13中任一项所述的方法,其进一步包括:至少部分地基于执行以下操作来确定最小概率符号:
Figure BDA0002203234290000405
Figure BDA0002203234290000406
图17为说明根据本发明的一或多种技术的视频解码器20的实例操作的流程图。提供本发明的流程图作为实例。根据本发明的技术的其它实例可以涉及更多、更少或不同的动作。此外,在一些实例中,可以不同次序或并行地执行特定动作。
在图17的实例中,视频解码器20可基于视频数据生成语法元素(1700)。举例来说,视频编码器20可生成指示残差值是否大于1的语法元素,指示残差值是否大于2的语法元素,或另一类型的语法元素。
另外,视频编码器20可至少部分地通过将二进制算术编码(例如,CABAC编码)应用于语法元素来确定偏移值(1702)。作为将二进制算术编码应用于语法元素的部分,视频编码器20可至少部分地通过将语法元素二值化来生成二进制元素流(1704)。视频编码器20可以各种方式将语法元素二值化。举例来说,视频编码器20可使用截断莱斯(TruncatedRice)二值化过程,第k阶指数哥伦布(Exp-Golomb)二值化过程、固定长度二值化过程或另一类型的二值化过程来将语法元素二值化。在一些实例中,视频编码器20针对不同类型的语法元素使用不同的二值化过程。在一些实例中,二进制元素流可包含通过将多个语法元素二值化而生成的二进制元素。
此外,对于二进制元素流的至少一个相应二进制元素,视频编码器20可确定二进制元素流的下一个二进制元素的间隔(1706)。在此实例中,视频编码器20可基于相应二进制元素的状态、相应二进制元素的间隔以及相应二进制元素的值来确定下一个二进制元素的间隔。相应二进制元素的状态对应于相应二进制元素的概率的估计值为第一值,且相应二进制元素的概率估计为第二不同值。如果相应二进制元素为重新初始化之后的第一二进制元素,那么相应二进制元素的状态与相关联于译码上下文的初始概率估计值相同。
在一些实例中,作为确定下一个二进制元素的间隔的部分,视频编码器20可对二进制元素流的每一相应二进制元素执行以下动作。具体地,视频编码器20可基于相应二进制元素的状态将相应二进制元素的间隔划分为与第一符号相关联的间隔及与第二符号相关联的间隔。另外,视频编码器20可基于相应二进制元素的值是等于第一符号还是等于第二符号来设置下一个二进制元素的间隔的上限或下限中的一者。下一个二进制元素的间隔的上限被设置为与第一符号相关联的间隔的上限,且响应于确定相应二进制元素的值等于第一符号,下一个二进制元素的间隔的下限未改变。下一个二进制元素的间隔的下限被设置为与第二符号相关联的间隔的下限,且响应于确定相应二进制元素的值等于第二符号,下一个二进制元素的间隔的上限未改变。
例如,如果相应二进制元素为重新初始化之后的第一二进制元素,那么相应二进制元素的间隔为0到1。在此实例中,如果第一二进制元素的状态指示符号0具有0.6概率而符号1具有0.4概率,那么视频编码器20可将第一二进制元素的间隔划分为0到0.6的间隔以及0.6到1的间隔。如果第一二进制元素的值为0,那么视频编码器20可将第二二进制元素的间隔的上限设置为0.6,且可将第二二进制元素的间隔的下限设置为0。如果第一二进制元素的值为1,那么视频编码器20可将第二二进制元素的间隔的下限设置为0.6,且可将第二二进制元素的间隔的上限设置为1。随后,如果第二二进制元素的状态指示符号0具有0.7概率且符号1具有0.3概率,且第二二进制元素的间隔是0到0.6,那么视频编码器20可将第二二进制元素的间隔划分成0到0.42的间隔及0.42到0.6的间隔。如果第二二进制元素的值为0,那么视频编码器20可将第三二进制元素的间隔的上限设置为0.42,且可将第三二进制元素的间隔的下限设置为0。如果第二二进制元素的值为1,那么视频编码器20可将第三二进制元素的间隔的下限设置为0.42,且可将第二二进制元素的间隔的上限设置为0.6。在一些实例中,视频编码器20可使用整数值而非0到1之间的值。
另外,视频编码器20可确定用于二进制元素流的下一个二进制元素的一或多个FSM参数(1708)。用于下一个二进制元素的一或多个FSM参数控制根据相应二进制元素的状态计算下一个二进制元素的概率估计值的方式。在一些实例中,用于二进制元素流的第一二进制元素(例如,当前二进制元素)的一或多个FSM参数不同于用于二进制元素流的第二二进制元素(例如,下一个二进制元素)的一或多个FSM参数。
视频编码器20可根据本发明中其它地方提供的任何实例确定一或多个FSM参数。例如,在一个实例中,作为确定用于二进制元素流的下一个二进制元素的一或多个FSM参数的部分,视频编码器20可根据状态重新初始化参数来重新初始化用于二进制元素流的下一个二进制元素的一或多个FSM参数。
在一些实例中,视频编码器20根据所估计概率值修改用于二进制元素流的下一个二进制元素的FSM参数。在一些实例中,视频编码器20基于过去概率变化的度量来修改用于下一个二进制元素的FSM参数。在一些实例中,视频编码器20基于同一帧或先前经解码帧中的一或多个相邻块来确定用于二进制元素流的下一个二进制元素的一或多个FSM参数。
在一些实例中,视频编码器20执行用以确定用于二进制元素流的每一二进制元素的一或多个FSM参数的过程。在其它实例中,视频编码器20仅执行用以确定用于二进制元素流的特定二进制元素的一或多个FSM参数的过程。例如,在一个实例中,视频编码器20可仅执行用以确定在重新初始化之后确定第二二进制元素的概率估计中所使用的一或多个FSM参数的过程,且可继续使用相同的一或多个FSM参数直到下一个重新初始化事件。在一些实例中,视频编码器20可执行用以在其它时间(例如在块边界、切片边界等)确定一或多个FSM参数的过程。
视频编码器20还可使用参数化状态更新函数来确定二进制元素流的下一个二进制元素的状态(1710)。参数化状态更新函数将相应二进制元素的状态、用于二进制元素流的下一个二进制元素的一或多个FSM参数以及相应二进制元素的值作为输入。举例来说,视频编码器20可使用方程式(4)或方程式(22)确定下一个二进制元素的状态。
在图17的实例中,偏移值可等于二进制元素流的最后一个二进制元素的间隔中的值。视频编码器20可输出包括偏移值的位流(1712)。举例来说,视频编码器20可在计算机可读媒体16(图1)上存储或发送位流。
图18为说明根据本发明的一或多种技术的视频解码器30的实例操作的流程图。在图18的实例中,视频解码器30可接收位流且可通过将二进制算术解码应用于包含在位流中的偏移值来确定一或多个经解码语法元素(1800)。作为确定一或多个经解码语法元素的部分,视频解码器30可生成二进制元素流。此二进制元素流可为较长二进制元素流或整个二进制元素流的部分。位流可包括视频数据的经编码表示。
此外,作为生成二进制元素流的部分,视频解码器30可对二进制元素流的至少一个相应二进制元素执行以下动作。具体地,视频解码器30可确定相应二进制元素的值(1802)。视频解码器30可基于相应二进制元素的状态、相应二进制元素的间隔及偏移值来确定相应二进制元素的值。举例来说,在一个实例中,对于二进制元素流的每一相应二进制元素,视频解码器30可至少部分地通过基于相应二进制元素的状态将相应二进制元素的间隔划分为与第一符号相关联的间隔及与第二符号相关联的间隔来确定相应二进制元素的值。另外,视频解码器30可基于偏移值是在与第一符号相关联的间隔还是与第二符号相关联的间隔中来确定相应二进制元素的值。在此实例中,响应于确定偏移值在与第一符号相关联的间隔中,相应二进制元素的值等于第一符号。此外,在此实例中,响应于确定偏移值在与第二符号相关联的间隔中,相应二进制元素的值等于第二符号。
举例来说,在一个特定实例中,与第一二进制元素相关联的间隔可以是从0到1。在此实例中,第一二进制元素的状态指示符号0具有0.6概率,而第二二进制元素的状态指示符号1具有0.4概率。因此,在此实例中,视频解码器30可将与第一二进制元素相关联的间隔划分为与符号0相关联的间隔(范围从0到0.6)及与符号1相关联的间隔(范围从0.6到1)。在此实例中,如果偏移值在0与0.6之间,那么视频解码器30确定第一二进制元素的值等于0。如果偏移值在0.6与1之间,那么视频解码器30确定第一二进制元素的值等于1。在此实例中,如果第一二进制元素的值为0,那么视频解码器30可确定第二二进制元素的间隔为0到0.6。如果第一二进制元素的值为1,那么视频解码器30可确定第二二进制元素的间隔为0.6到1。此外,假设第一二进制元素的值等于1且第二二进制元素的状态指示第二二进制元素具有0.7概率的为符号0,具有0.3概率的为符号1,视频解码器30可将间隔0.6到1划分成对应于符号0的到0.6到0.88的间隔以及对应于符号0的从0.88到1的间隔。因此,如果偏移值在0.6与0.88之间,那么视频解码器30确定第二二进制元素的值为0。如果偏移值在0.88与1之间,那么视频解码器30确定第二二进制元素的值为1。视频解码器30可以针对二进制元素流的每一二进制元素继续此过程。在一些实例中,视频编码器30可使用整数值而非在0与1之间的值。
在图18的实例中,视频解码器30可确定用于二进制元素流的下一个二进制元素的一或多个FSM参数(1804)。用于下一个二进制元素的一或多个FSM参数控制根据相应二进制元素的状态计算下一个二进制元素的概率估计值的方式。二进制元素流的下一个二进制元素在二进制元素流中的相应二进制元素之后。在一些实例中,用于二进制元素流的第一二进制元素(例如,当前二进制元素)的一或多个FSM参数不同于用于二进制元素流的第二二进制元素(例如,下一个二进制元素)的一或多个FSM参数。
视频解码器30可根据本发明中其它地方所描述的任何实例确定一或多个FSM参数。举例来说,作为确定用于下一个二进制元素的一或多个FSM参数的部分,视频解码器30可根据状态重新初始化参数来重新初始化用于二进制元素流的下一个二进制元素的FSM参数。在一些实例中,作为确定用于下一个二进制元素的一或多个FSM参数的部分,视频解码器30可根据所估计概率值来修改用于二进制元素流的下一个二进制元素的FSM参数。在一些实例中,作为确定用于下一个二进制元素的一或多个FSM参数的部分,视频基于过去概率变化的度量来修改用于二进制元素流的下一个二进制元素的FSM参数。在一些实例中,作为确定用于下一二进制元素的一或多个FSM参数的部分,视频解码器30可基于同一帧或先前经解码帧中的一或多个相邻块来确定用于二进制元素流的下一个二进制元素的一或多个FSM参数。
在一些实例中,视频解码器30执行用以确定用于二进制元素流的每一二进制元素的一或多个FSM参数的过程。在其它实例中,视频解码器30仅执行用以确定用于二进制元素流的特定二进制元素的一或多个FSM参数的过程。例如,在一个实例中,视频解码器30可仅执行用以确定在重新初始化之后确定第二二进制元素的概率估计中所使用的一或多个FSM参数的过程,且可继续使用相同的一或多个FSM参数直到下一个重新初始化事件。在一些实例中,视频解码器30可执行用以在其它时间(例如在块边界、切片边界等)确定一或多个FSM参数的过程。
此外,视频解码器30可确定用于二进制元素流的下一个二进制元素的状态(1806)。视频解码器30可使用参数化状态更新函数,所述参数化状态更新函数将相应二进制元素的状态、用于二进制元素流的下一个二进制元素的一或多个FSM参数以及相应二进制元素的值作为输入。举例来说,视频编码器20可使用方程式(4)或方程式(22)确定下一个二进制元素的状态。
另外,视频解码器30可将二进制元素流多值化以形成一或多个经解码语法元素(1808)。如在本发明中的其它地方所提到的,语法元素可使用例如截断莱斯二值化过程、第k阶指数哥伦布二值化过程、固定长度二值化过程或另一类型的二值化过程等各种过程进行二值化。这些过程将语法元素的值映射到二进制代码。为了将二进制元素流多值化,视频解码器30可查找与二进制元素流中的二进制代码相对应的值。
在图18的实例中,视频解码器30可部分地基于一或多个经解码语法元素来重构视频数据的图片(1810)。举例来说,如果经解码语法元素指示残留数据的余数值,那么视频解码器30可使用所述余数值来确定残留样本的值。在此实例中,视频解码器30可使用残留样本及对应预测样本来重构图片的样本值,如本发明中其它地方所描述。在一些实例中,经解码语法元素可包含指示是用帧内预测还是帧间预测编码块的语法元素。在此实例中,视频解码器30可使用此类语法元素来确定是使用帧内预测还是帧间预测来重构块。
出于说明的目的,已关于HEVC标准的扩展描述本发明的某些方面。然而,本发明中所描述的技术可用于其它视频译码过程,包含尚未开发的其它标准或专有视频译码过程。
如在本发明中所描述,视频译码器可指代视频编码器或视频解码器。类似地,视频译码单元可指代视频编码器或视频解码器。同样地,视频译码可指代适用时的视频编码或视频解码。在本发明中,短语“基于”可指示仅基于、至少部分地基于或以某种方式基于。本发明可使用术语“视频单元”或“视频块”或“块”来指代用于译码一或多个样本块的样本的一或多个样本块和语法结构。视频单元的实例类型可包含CTU、CU、PU、变换单元(TU)、宏块、宏块分区等。在一些上下文中,PU的论述可与宏块或宏块分区的论述互换。视频块的实例类型可包含译码树块,译码块及其它类型的视频数据块。
本发明的所述技术可应用于支持各种多媒体应用中的任何者的视频译码,例如无线电视广播、有线电视发射、卫星电视发射、因特网流式视频发射,例如经由HTTP的动态自适应流式处理(DASH)、经编码到数据存储媒体上的数字视频、对存储于数据存储媒体上的数字视频的解码或其它应用。
应认识到,取决于实例,本文中所描述的诸技术中的任一者的特定动作或事件可以不同顺序执行,可经添加,合并或完全省去(例如,并非所有所描述动作或事件为实践技术所必需的)。此外,在某些实例中,可(例如)经由多线程处理、中断处理或多处理器同时地而非依序地执行动作或事件。
在一或多个实例中,所描述的功能可以硬件、软件、固件或其任一组合来实施。如果以软件予以实施,那么所述功能可作为一或多个指令或代码而存储于计算机可读媒体上或经由计算机可读媒体进行发射且由基于硬件处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于例如数据存储媒体的有形媒体,或包含促进(例如)根据通信协议将计算机程序自一个位置传送到另一位置的任一媒体的通信媒体。以此方式,计算机可读媒体通常可对应于(1)非暂时性的有形计算机可读存储媒体或(2)例如信号或载波的通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理电路存取以检索用于实施本发明中所描述的技术的指令、代码及/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
通过实例的方式且非限制性,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光学磁盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用于以指令或数据结构的形式存储所要程序代码且可由计算机存取的其它媒体。此外,可将任何连接适当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源发射指令,那么所述同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电及微波等无线技术皆包含于媒体的定义中。然而,应理解计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它暂时性媒体,但替代地是针对非暂时性、有形存储媒体。如本文中所使用,磁盘及光盘包含光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘通过激光以光学方式再现数据。上述各项的组合也应包含在计算机可读媒体的范围内。
本发明中描述的功能可由固定功能及/或可编程处理电路执行。举例来说,指令可以由固定功能及/或可编程处理电路执行。此类处理电路可包含一或多个处理器,例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指前述结构或适于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可提供在经配置以用于编码及解码或并入于组合式编解码器中的专用硬件及/或软件模块内。此外,技术可以一或多个电路或逻辑元件来完全实施。处理电路可以各种方式耦合到其它组件。举例来说,处理电路可经由内部装置互连、有线或无线网络连接或另一通信媒体耦合到其它组件。
本发明的技术可以广泛各种装置或装备(包含无线手机、集成电路(IC)或IC组(例如,芯片组))实施。各种组件、模块或单元在本发明中经描述以强调经配置以执行所揭示技术的装置的功能方面,而未必需要由不同硬件单元实现。确切来说,如上文所描述,各种单元可以编解码硬件单元组合或通过交互操作硬件单元(包含如上文所描述的一或多个处理器)的集合结合适合软件及/或固件提供。
已描述各种实例。这些及其它实例在以下权利要求书的范围内。

Claims (40)

1.一种解码视频数据的方法,所述方法包括:
通过将二进制算术解码应用于包含在位流中的偏移值来确定经解码语法元素,其中应用所述二进制算术解码包括:
生成二进制元素流,其中生成所述二进制元素流包括:
对于所述二进制元素流的至少一个相应二进制元素:
基于所述相应二进制元素的状态、所述相应二进制元素的间隔及所述偏移值来确定所述相应二进制元素的值;
确定用于所述二进制元素流的下一个二进制元素的一个或多个有限状态机FSM参数,用于所述下一个二进制元素的所述一个或多个FSM参数控制根据所述相应二进制元素的状态计算所述下一个二进制元素的概率估计值的方式,所述二进制元素流的所述下一个二进制元素在所述二进制元素流的所述相应二进制元素之后,其中,确定用于所述二进制元素流的所述下一个二进制元素的一个或多个FSM参数包括基于同一帧中或先前经解码帧中的一个或多个相邻块来确定用于所述二进制元素流的所述下一个二进制元素的所述一个或多个FSM参数;及
使用参数化状态更新函数确定所述二进制元素流的所述下一个二进制元素的状态,所述参数化状态更新函数将所述相应二进制元素的所述状态,用于所述二进制元素流的所述下一个二进制元素的所述一个或多个FSM参数以及所述相应二进制元素的所述值作为输入;及
将所述二进制元素流多值化以形成所述经解码语法元素;及
部分地基于所述经解码语法元素重构所述视频数据的图片。
2.根据权利要求1所述的方法,其中确定用于所述二进制元素流的所述下一个二进制元素的所述一个或多个FSM参数还包括:
根据状态重新初始化参数重新初始化用于所述二进制元素流的所述下一个二进制元素的所述FSM参数。
3.根据权利要求1所述的方法,其中确定用于所述二进制元素流的所述下一个二进制元素的所述一个或多个FSM参数还包括:
根据所估计概率值修改用于所述二进制元素流的所述下一个二进制元素的所述FSM参数。
4.根据权利要求1所述的方法,其中确定用于所述下一个二进制元素流的所述一个或多个FSM参数还包括:
基于过去概率变化的度量来修改用于所述下一个二进制元素流的所述FSM参数。
5.根据权利要求4所述的方法,其中通过对使用特定二进制元素的估计变化度量所估计的概率之间的绝对差值求和来计算过去概率变化的所述度量,所述估计变化度量定义为:
Figure FDA0003180124030000021
其中σ[k+1]为所述二进制元素流的所述下一个二进制元素的所述估计变化度量,σ[k]为用于所述特定二进制元素的估计变化度量,q1[k]为所述特定二进制元素的第一概率估计值,q2[k]为所述特定二进制元素的第二概率估计值,且c为参数。
6.根据权利要求1所述的方法,其中对于所述二进制元素流的每一相应二进制元素,确定所述二进制元素流的所述下一个二进制元素的所述状态包括:
根据以下方程式确定所述下一个二进制元素的所述状态:
Figure FDA0003180124030000022
Figure FDA0003180124030000023
Figure FDA0003180124030000024
其中p[k+1]为所述二进制元素流的所述下一个二进制元素的所述状态,p[k]为所述相应二进制元素的所述状态,b[k]为所述相应二进制元素的所述值,a为用于下一个二进制元素的所述一个或多个FSM参数的第一参数,且b为用于所述下一个二进制元素的所述一个或多个FSM参数的第二参数。
7.根据权利要求1所述的方法,其中对于所述二进制元素流的每一相应二进制元素,确定所述相应二进制元素的所述值包括:
基于所述相应二进制元素的所述状态,将所述相应二进制元素的所述间隔划分为与第一符号相关联的间隔及与第二符号相关联的间隔;及
基于所述偏移值是在与所述第一符号相关联的所述间隔还是与所述第二符号相关联的所述间隔中来确定所述相应二进制元素的所述值,
其中响应于确定所述偏移值在与所述第一符号相关联的所述间隔中,所述相应二进制元素的所述值等于所述第一符号,且
其中响应于确定所述偏移值在与所述第二符号相关联的所述间隔中,所述相应二进制元素的所述值等于所述第二符号。
8.根据权利要求1所述的方法,其进一步包括接收所述位流。
9.根据权利要求1所述的方法,其中用于所述二进制元素流的第一二进制元素的所述一个或多个FSM参数与用于所述二进制元素流的第二二进制元素的所述一个或多个FSM参数不同。
10.一种编码视频数据的方法,所述方法包括:
基于所述视频数据生成语法元素;
至少部分地通过将二进制算术编码应用于所述语法元素来确定偏移值,其中应用所述二进制算术编码包括:
至少部分地通过以下操作来生成二进制元素流:
将所述语法元素二值化;
对于所述二进制元素流的至少一个相应二进制元素:
基于所述相应二进制元素的状态、所述相应二进制元素的间隔以及所述相应二进制元素的值,确定所述相应二进制元素流的下一个二进制元素的间隔;
确定用于所述二进制元素流的所述下一个二进制元素的一个或多个有限状态机FSM参数,用于所述下一个二进制元素的所述一个或多个FSM参数控制根据所述相应二进制元素的状态计算所述下一个二进制元素的概率估计值的方式,其中,确定用于所述二进制元素流的所述下一个二进制元素的一个或多个FSM参数包括基于同一帧中或先前经解码帧中的一个或多个相邻块来确定用于所述二进制元素流的所述下一个二进制元素的所述一个或多个FSM参数;及
使用参数化状态更新函数确定所述二进制元素流的所述下一个二进制元素的状态,所述参数化状态更新函数将所述相应二进制元素的所述状态,用于所述二进制元素流的所述下一个二进制元素的所述一个或多个FSM参数以及所述相应二进制元素的所述值作为输入;及
其中所述偏移值等于所述二进制元素流的最后二进制元素的所述间隔中的值;及
输出包括所述偏移值的位流。
11.根据权利要求10所述的方法,其中确定用于所述二进制元素流的所述下一个二进制元素的所述一个或多个FSM参数还包括:
根据状态重新初始化参数重新初始化用于所述二进制元素流的所述下一个二进制元素的所述FSM参数。
12.根据权利要求10所述的方法,其中确定用于所述二进制元素流的所述下一个二进制元素的所述一个或多个FSM参数还包括:
根据所估计概率值修改用于所述二进制元素流的所述下一个二进制元素的所述FSM参数。
13.根据权利要求10所述的方法,其中确定用于所述二进制元素流的所述下一个二进制元素的所述一个或多个FSM参数还包括:
基于过去概率变化的度量修改用于所述二进制元素流的所述下一个二进制元素的所述FSM参数。
14.根据权利要求13所述的方法,其中通过对使用特定二进制元素的估计变化度量所估计的概率之间的绝对差值求和来计算过去概率变化的所述度量,所述估计变化度量定义为:
Figure FDA0003180124030000051
其中σ[k+1]为所述二进制元素流的所述下一个二进制元素的所述估计变化度量,σ[k]为用于所述特定二进制元素的估计变化度量,q1[k]为所述特定二进制元素的第一概率估计值,q2[k]为所述特定二进制元素的第二概率估计值,且c为参数。
15.根据权利要求10所述的方法,其中对于所述二进制元素流的每一相应二进制元素,确定所述二进制元素流的所述下一个二进制元素的所述状态包括:
根据以下方程式确定所述二进制元素流的所述下一个二进制元素的所述状态:
Figure FDA0003180124030000052
Figure FDA0003180124030000053
Figure FDA0003180124030000054
其中p[k+1]为所述二进制元素流的所述下一个二进制元素的所述状态,p[k]为所述相应二进制元素的所述状态,b[k]为所述相应二进制元素的所述值,a为用于所述二进制元素的所述下一个二进制元素的所述一个或多个FSM参数的第一参数,且b为用于所述二进制元素的所述下一个二进制元素的所述一个或多个FSM参数的第二参数。
16.根据权利要求10所述的方法,其中对于所述二进制元素流的每一相应二进制元素,确定所述二进制元素流的所述下一个二进制元素的所述间隔包括:
基于所述相应二进制元素的所述状态,将所述相应二进制元素的所述间隔划分为与第一符号相关联的间隔及与第二符号相关联的间隔;及
基于所述相应二进制元素的所述值是等于所述第一符号还是等于所述第二符号来设置所述下一个二进制元素的所述间隔的上限或下限中的一者,
其中所述下一个二进制元素的所述间隔的所述上限被设置为与所述第一符号相关联的所述间隔的上限,且响应于确定所述相应二进制元素的所述值等于所述第一符号,所述下一个二进制元素的所述间隔的所述下限未改变,且
其中所述下一个二进制元素的所述间隔的所述下限被设置为与所述第二符号相关联的所述间隔的下限,且响应于确定所述相应二进制元素的所述值等于所述第二符号,所述下一个二进制元素的所述间隔的所述上限未改变。
17.根据权利要求10所述的方法,其中用于所述二进制元素流的第一二进制元素的所述一个或多个FSM参数与用于所述二进制元素流的第二二进制元素的所述一个或多个FSM参数不同。
18.一种用于解码视频数据的设备,所述设备包括:
一个或多个存储介质,其经配置以存储视频数据;及
一个或多个处理器,其经配置以:
通过将二进制算术解码应用于包含在位流中的偏移值来确定经解码语法元素,其中所述一个或多个处理器经配置以使得作为应用所述二进制算术解码的一部分,所述一个或多个处理器:
生成二进制元素流,其中作为生成所述二进制元素流的一部分,所述一个或多个处理器:
对于所述二进制元素流的至少一个相应二进制元素:
基于所述相应二进制元素的状态、所述相应二进制元素的间隔及所述偏移值来确定所述相应二进制元素的值;
确定用于所述二进制元素流的下一个二进制元素的一个或多个有限状态机FSM参数,用于所述下一个二进制元素的所述一个或多个FSM参数控制根据所述相应二进制元素的状态计算所述下一个二进制元素的概率估计值的方式,所述二进制元素流的所述下一个二进制元素在所述二进制元素流的所述相应二进制元素之后,其中,为确定用于所述二进制元素流的所述下一个二进制元素的一个或多个FSM参数,所述一个或多个处理器经配置以基于同一帧中或先前经解码帧中的一个或多个相邻块来确定用于所述二进制元素流的所述下一个二进制元素的所述一个或多个FSM参数;及
使用参数化状态更新函数确定所述二进制元素流的所述下一个二进制元素的状态,所述参数化状态更新函数将所述相应二进制元素的所述状态,用于所述二进制元素流的所述下一个二进制元素的所述一个或多个FSM参数以及所述相应二进制元素的所述值作为输入;及
将所述二进制元素流多值化以形成所述经解码语法元素;及
部分地基于所述经解码语法元素重构所述视频数据的图片。
19.根据权利要求18所述的设备,其中所述一个或多个处理器还经配置以:
作为确定所述二进制元素流的所述下一个二进制元素的所述一个或多个FSM参数的一部分,所述一个或多个处理器根据状态重新初始化参数重新初始化用于所述二进制元素流的所述下一个二进制元素的所述FSM参数。
20.根据权利要求18所述的设备,其中所述一个或多个处理器还经配置以:
作为确定所述二进制元素流的所述下一个二进制元素的所述一个或多个FSM参数的一部分,所述一个或多个处理器根据所估计概率值修改用于所述二进制元素流的所述下一个二进制元素的所述FSM参数。
21.根据权利要求18所述的设备,其中所述一个或多个处理器经配置以:
作为确定用于所述下一个二进制元素的所述一个或多个FSM参数的一部分,所述一个或多个处理器基于过去概率变化的度量来修改用于所述下一个二进制元素的所述FSM参数。
22.根据权利要求21所述的设备,其中所述一个或多个处理器还经配置以使得过去概率变化的度量通过对使用特定二进制元素的估计变化度量所估计的概率之间的绝对差值求和来计算,所述估计变化度量定义为:
Figure FDA0003180124030000071
其中σ[k+1]为所述二进制元素流的所述下一个二进制元素的所述估计变化度量,σ[k]为用于所述特定二进制元素的估计变化度量,q1[k]为所述特定二进制元素的第一概率估计值,q2[k]为所述特定二进制元素的第二概率估计值,且c为参数。
23.根据权利要求18所述的设备,其中对于所述二进制元素流的每一相应二进制元素,所述一个或多个处理器经配置以根据以下方程式确定所述下一二进制元素的所述状态:
Figure FDA0003180124030000081
Figure FDA0003180124030000082
Figure FDA0003180124030000083
其中p[k+1]为所述二进制元素流的所述下一个二进制元素的所述状态,p[k]为所述相应二进制元素的所述状态,b[k]为所述相应二进制元素的所述值,a为用于下一个二进制元素的所述一个或多个FSM参数的第一参数,且b为用于所述下一个二进制元素的所述一个或多个FSM参数的第二参数。
24.根据权利要求18所述的设备,其中对于所述二进制元素流的每一相应二进制元素,所述一个或多个处理器经配置使得作为所述确定所述相应二进制元素的所述值的一部分,所述一个或多个处理器:
基于所述相应二进制元素的所述状态,将所述相应二进制元素的所述间隔划分为与第一符号相关联的间隔及与第二符号相关联的间隔;及
基于所述偏移值是在与所述第一符号相关联的所述间隔还是与所述第二符号相关联的所述间隔中来确定所述相应二进制元素的所述值,
其中响应于确定所述偏移值在与所述第一符号相关联的所述间隔中,所述相应二进制元素的所述值等于所述第一符号,且
其中响应于确定所述偏移值在与所述第二符号相关联的所述间隔中,所述相应二进制元素的所述值等于所述第二符号。
25.根据权利要求18所述的设备,其中所述一个或多个处理器经进一步配置以接收所述位流。
26.根据权利要求18所述的设备,其中用于所述二进制元素流的第一二进制元素的所述一个或多个FSM参数与用于所述二进制元素流的第二二进制元素的所述一个或多个FSM参数不同。
27.根据权利要求18所述的设备,其中所述设备包括:
集成电路,
微处理器,或
无线通信装置。
28.一种用于编码视频数据的设备,所述设备包括:
一个或多个存储介质,其经配置以存储视频数据;及
一个或多个处理电路,其耦合到所述一个或多个存储介质,所述一个或多个处理电路经配置以:
基于所述视频数据生成语法元素;
至少部分地通过将二进制算术编码应用于所述语法元素来确定偏移值,其中所述一个或多个处理电路经配置使得作为应用所述二进制算术编码的一部分,所述一个或多个处理电路至少部分地通过以下操作生成二进制元素流:
将所述语法元素二值化;及
对于所述二进制元素流的至少一个相应二进制元素:
基于所述相应二进制元素的状态、所述相应二进制元素的间隔以及所述相应二进制元素的值,确定所述相应二进制元素流的下一个二进制元素的间隔;
确定用于所述二进制元素流的所述下一个二进制元素的一个或多个有限状态机FSM参数,用于所述下一个二进制元素的所述一个或多个FSM参数控制根据所述相应二进制元素的状态计算所述下一个二进制元素的概率估计值的方式,其中,为确定用于所述二进制元素流的所述下一个二进制元素的一个或多个FSM参数,所述至少一个或多个处理电路经配置以基于同一帧中或先前经解码帧中的一个或多个相邻块来确定用于所述二进制元素流的所述下一个二进制元素的所述一个或多个FSM参数;及
使用参数化状态更新函数确定所述二进制元素流的所述下一个二进制元素的状态,所述参数化状态更新函数将所述相应二进制元素的所述状态,用于所述二进制元素流的所述下一个二进制元素的所述一个或多个FSM参数以及所述相应二进制元素的所述值作为输入;及
其中所述偏移值等于所述二进制元素流的最后二进制元素的所述间隔中的值;及
输出包括所述偏移值的位流。
29.根据权利要求28所述的设备,其中所述一个或多个处理电路还经配置以使得作为确定所述二进制元素流的所述下一个二进制元素的所述一个或多个FSM参数的一部分,所述一个或多个处理电路根据状态重新初始化参数重新初始化用于所述二进制元素流的所述下一个二进制元素的所述FSM参数。
30.根据权利要求28所述的设备,其中所述一个或多个处理电路还经配置以使得作为确定所述二进制元素流的所述下一个二进制元素的所述一个或多个FSM参数的一部分,所述一个或多个处理电路根据所估计概率值修改用于所述二进制元素流的所述下一个二进制元素的所述FSM参数。
31.根据权利要求28所述的设备,其中所述一个或多个处理电路还经配置以使得作为确定所述二进制元素流的所述下一个二进制元素的所述一个或多个FSM参数的一部分,所述一个或多个处理电路基于过去概率变化的度量修改用于所述二进制元素流的所述下一个二进制元素的所述FSM参数。
32.根据权利要求31所述的设备,其中所述一个或多个处理电路还经配置以使得过去概率变化的度量通过对使用特定二进制元素的估计变化度量所估计的概率之间的绝对差值求和来计算,所述估计变化度量定义为:
Figure FDA0003180124030000101
其中σ[k+1]为所述二进制元素流的所述下一个二进制元素的所述估计变化度量,σ[k]为用于所述特定二进制元素的估计变化度量,q1[k]为所述特定二进制元素的第一概率估计值,q2[k]为所述特定二进制元素的第二概率估计值,且c为参数。
33.根据权利要求28所述的设备,其中对于所述二进制元素流的每一相应二进制元素,所述一个或多个处理电路还经配置以使得作为确定所述二进制元素流的所述下一个二进制元素的所述状态的一部分,所述一个或多个处理电路根据以下方程式确定所述二进制元素流的所述下一个二进制元素的所述状态:
Figure FDA0003180124030000111
Figure FDA0003180124030000112
Figure FDA0003180124030000113
其中p[k+1]为所述二进制元素流的所述下一个二进制元素的所述状态,p[k]为所述相应二进制元素的所述状态,b[k]为所述相应二进制元素的所述值,a为用于所述二进制元素的所述下一个二进制元素的所述一个或多个FSM参数的第一参数,且b为用于所述二进制元素的所述下一个二进制元素的所述一个或多个FSM参数的第二参数。
34.根据权利要求28所述的设备,其中对于所述二进制元素流的每一相应二进制元素,所述一个或多个处理电路还经配置以使得作为确定所述二进制元素流的所述下一个二进制元素的所述间隔的一部分,所述一个或多个处理电路:
基于所述相应二进制元素的所述状态,将所述相应二进制元素的所述间隔划分为与第一符号相关联的间隔及与第二符号相关联的间隔;及
基于所述相应二进制元素的所述值是等于所述第一符号还是等于所述第二符号来设置所述下一个二进制元素的所述间隔的上限或下限中的一者,
其中所述下一个二进制元素的所述间隔的所述上限被设置为与所述第一符号相关联的所述间隔的上限,且响应于确定所述相应二进制元素的所述值等于所述第一符号,所述下一个二进制元素的所述间隔的所述下限未改变,
其中所述下一个二进制元素的所述间隔的所述下限被设置为与所述第二符号相关联的所述间隔的下限,且响应于确定所述相应二进制元素的所述值等于所述第二符号,所述下一个二进制元素的所述间隔的所述上限未改变。
35.根据权利要求28所述的设备,其中用于所述二进制元素流的第一二进制元素的一个或多个FSM参数与用于所述二进制元素流的第二二进制元素的一个或多个FSM参数不同。
36.根据权利要求28所述的设备,其中所述设备包括:
集成电路,
微处理器,或
无线通信装置。
37.一种用于解码视频数据的设备,所述设备包括:
用于通过将二进制算术解码应用于包含在位流中的偏移值来确定经解码语法元素的装置,其中应用所述二进制算术解码包括:
生成二进制元素流,其中生成所述二进制元素流包括:
对于所述二进制元素流的至少一个相应二进制元素:
基于所述相应二进制元素的状态、所述相应二进制元素的间隔及所述偏移值来确定所述相应二进制元素的值;
确定用于所述二进制元素流的下一个二进制元素的一个或多个有限状态机FSM参数,用于所述下一个二进制元素的所述一个或多个FSM参数控制根据所述相应二进制元素的状态计算所述下一个二进制元素的概率估计值的方式,所述二进制元素流的所述下一个二进制元素在所述二进制元素流的所述相应二进制元素之后,其中,确定用于所述二进制元素流的所述下一个二进制元素的一个或多个FSM参数包括基于同一帧中或先前经解码帧中的一或多个相邻块来确定用于所述二进制元素流的所述下一个二进制元素的所述一或多个FSM参数;及
使用参数化状态更新函数确定所述二进制元素流的所述下一个二进制元素的状态,所述参数化状态更新函数将所述相应二进制元素的所述状态,用于所述二进制元素流的所述下一个二进制元素的所述一个或多个FSM参数以及所述相应二进制元素的所述值作为输入;及
将所述二进制元素流多值化以形成所述经解码语法元素;及
用于部分地基于所述经解码语法元素重构所述视频数据的图片的装置。
38.一种用于编码视频数据的设备,所述设备包括:
用于基于所述视频数据生成语法元素的装置;
用于至少部分地通过将二进制算术编码应用于所述语法元素来确定偏移值的装置,其中应用所述二进制算术编码包括至少部分地通过以下操作生成二进制元素流:
将所述语法元素二值化;及
对于所述二进制元素流的至少一个相应二进制元素:
基于所述相应二进制元素的状态、所述相应二进制元素的间隔以及所述相应二进制元素的值,确定所述相应二进制元素流的下一个二进制元素的间隔;
确定用于所述二进制元素流的所述下一个二进制元素的一个或多个有限状态机FSM参数,用于所述下一个二进制元素的所述一个或多个FSM参数控制根据所述相应二进制元素的状态计算所述下一个二进制元素的概率估计值的方式,其中,确定用于所述二进制元素流的所述下一个二进制元素的一个或多个FSM参数包括基于同一帧中或先前经解码帧中的一或多个相邻块来确定用于所述二进制元素流的所述下一个二进制元素的所述一或多个FSM参数;及
使用参数化状态更新函数确定所述二进制元素流的所述下一个二进制元素的状态,所述参数化状态更新函数将所述相应二进制元素的所述状态,
用于所述二进制元素流的所述下一个二进制元素的所述一个或多个FSM参数以及所述相应二进制元素的所述值作为输入;及
其中所述偏移值等于所述二进制元素流的最后二进制元素的所述间隔中的值;及
用于输出包括所述偏移值的位流的装置。
39.一种计算机可读存储介质,其存储指令,所述指令在被执行时致使一个或多个处理器进行以下操作:
通过将二进制算术解码应用于包括在位流中的偏移值来确定经解码语法元素,其中作为致使所述一个或多个处理器应用所述二进制算术解码的一部分,所述指令的执行致使所述一个或多个处理器:
生成二进制元素流,其中作为致使所述一个或多个处理器生成所述二进制元素流的一部分,所述指令的执行致使所述一个或多个处理器:
对于所述二进制元素流的至少一个相应二进制元素:
基于所述相应二进制元素的状态、所述相应二进制元素的间隔及所述偏移值来确定所述相应二进制元素的值;
确定用于所述二进制元素流的下一个二进制元素的一个或多个有限状态机FSM参数,用于所述下一个二进制元素的所述一个或多个FSM参数控制根据所述相应二进制元素的状态计算所述下一个二进制元素的概率估计值的方式,所述二进制元素流的所述下一个二进制元素在所述二进制元素流的所述相应二进制元素之后,其中,确定用于所述二进制元素流的所述下一个二进制元素的一个或多个FSM参数包括基于同一帧中或先前经解码帧中的一或多个相邻块来确定用于所述二进制元素流的所述下一个二进制元素的所述一或多个FSM参数;及
使用参数化状态更新函数确定所述二进制元素流的所述下一个二进制元素的状态,所述参数化状态更新函数将所述相应二进制元素的所述状态,用于所述二进制元素流的所述下一个二进制元素的所述一个或多个FSM参数以及所述相应二进制元素的所述值作为输入;及
将所述二进制元素流多值化以形成所述经解码语法元素;及
部分地基于所述经解码语法元素重构视频数据的图片。
40.一种计算机可读存储介质,其存储指令,所述指令在被执行时致使一个或多个处理器进行以下操作:
基于视频数据生成语法元素;
至少部分地通过将二进制算术编码应用于所述语法元素来确定偏移值,其中作为致使所述一个或多个处理器应用所述二进制算术编码的一部分,所述指令的执行致使所述一个或多个处理器至少部分地通过致使所述一个或多个处理器进行以下操作来生成二进制元素流:
将所述语法元素二值化;及
对于所述二进制元素流的至少一个相应二进制元素:
基于所述相应二进制元素的状态、所述相应二进制元素的间隔以及所述相应二进制元素的值,确定所述相应二进制元素流的下一个二进制元素的间隔;
确定用于所述二进制元素流的所述下一个二进制元素的一个或多个有限状态机FSM参数,用于所述下一个二进制元素的所述一个或多个FSM参数控制根据所述相应二进制元素的状态计算所述下一个二进制元素的概率估计值的方式,其中,确定用于所述二进制元素流的所述下一个二进制元素的一个或多个FSM参数包括基于同一帧中或先前经解码帧中的一或多个相邻块来确定用于所述二进制元素流的所述下一个二进制元素的所述一或多个FSM参数;及
使用参数化状态更新函数确定所述二进制元素流的所述下一个二进制元素的状态,所述参数化状态更新函数将所述相应二进制元素的所述状态,用于所述二进制元素流的所述下一个二进制元素的所述一个或多个FSM参数以及所述相应二进制元素的所述值作为输入;及
其中所述偏移值等于所述二进制元素流的最后二进制元素的所述间隔中的值;及
输出包括所述偏移值的位流。
CN201880018647.3A 2017-03-22 2018-03-22 通过参数化概率估计有限状态机进行二进制算术译码 Active CN110419216B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201762474919P 2017-03-22 2017-03-22
US62/474,919 2017-03-22
US201762475609P 2017-03-23 2017-03-23
US62/475,609 2017-03-23
US15/927,753 2018-03-21
US15/927,753 US10554988B2 (en) 2017-03-22 2018-03-21 Binary arithmetic coding with parameterized probability estimation finite state machines
PCT/US2018/023754 WO2018175716A1 (en) 2017-03-22 2018-03-22 Binary arithmetic coding with parameterized probability estimation finite state machines

Publications (2)

Publication Number Publication Date
CN110419216A CN110419216A (zh) 2019-11-05
CN110419216B true CN110419216B (zh) 2021-12-17

Family

ID=63583805

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880018647.3A Active CN110419216B (zh) 2017-03-22 2018-03-22 通过参数化概率估计有限状态机进行二进制算术译码

Country Status (9)

Country Link
US (1) US10554988B2 (zh)
EP (1) EP3603062B1 (zh)
KR (1) KR102600727B1 (zh)
CN (1) CN110419216B (zh)
AU (1) AU2018237342B2 (zh)
BR (1) BR112019019170A2 (zh)
ES (1) ES2878325T3 (zh)
SG (1) SG11201907259YA (zh)
WO (1) WO2018175716A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3316580A4 (en) * 2015-10-13 2018-09-26 Samsung Electronics Co., Ltd. Method and device for encoding or decoding image
DE102017204946A1 (de) * 2017-03-23 2018-09-27 Volkswagen Aktiengesellschaft Verfahren zur Bestimmung eines Wertes einer Integer-Skalierung in einer Verknüpfung von Eingangsmengen zu Ausgangsmengen und Computerprogrammprodukt
US10791341B2 (en) 2017-10-10 2020-09-29 Qualcomm Incorporated Binary arithmetic coding with progressive modification of adaptation parameters
US10939115B2 (en) 2018-06-19 2021-03-02 Qualcomm Incorporated Efficient weighted probability estimation for binary arithmetic coding
EP3939324A1 (en) * 2019-03-11 2022-01-19 InterDigital VC Holdings, Inc. Reducing the number of regular coded bins
CN112073729B (zh) * 2019-06-11 2024-04-05 北京三星通信技术研究有限公司 模型更新方法、装置、电子设备及计算机可读存储介质
CN111147083B (zh) * 2019-12-10 2023-06-27 中国航空工业集团公司成都飞机设计研究所 一种时间信息压缩传输的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103227924A (zh) * 2013-05-07 2013-07-31 北京大学 一种算术编码器及编码方法
CN103947120A (zh) * 2011-10-27 2014-07-23 高通股份有限公司 在用于视频译码的二进制算术译码器中映射状态
US9219912B2 (en) * 2011-01-04 2015-12-22 Blackberry Limited Coding of residual data in predictive compression
WO2016196287A1 (en) * 2015-05-29 2016-12-08 Qualcomm Incorporated Advanced arithmetic coder

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101148614B1 (ko) * 2007-09-06 2012-05-25 닛본 덴끼 가부시끼가이샤 영상 부호화 장치 및 영상 부호화 방법
WO2010146782A1 (ja) * 2009-06-19 2010-12-23 三菱電機株式会社 算術符号化装置、算術復号装置、算術符号化方法及び算術復号方法
HUE039299T2 (hu) * 2010-09-09 2018-12-28 Fraunhofer Ges Forschung Entrópia kódolási és dekódolási séma
US9379736B2 (en) * 2011-06-03 2016-06-28 Qualcomm Incorporated Context-adaptive coding video data
CA2839560C (en) * 2011-06-16 2016-10-04 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Entropy coding of motion vector differences
CN103797803A (zh) 2011-06-28 2014-05-14 三星电子株式会社 用于熵编码/解码的方法和设备
US9363510B2 (en) 2012-03-02 2016-06-07 Qualcomm Incorporated Scan-based sliding window in context derivation for transform coefficient coding
US10791341B2 (en) 2017-10-10 2020-09-29 Qualcomm Incorporated Binary arithmetic coding with progressive modification of adaptation parameters

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9219912B2 (en) * 2011-01-04 2015-12-22 Blackberry Limited Coding of residual data in predictive compression
CN103947120A (zh) * 2011-10-27 2014-07-23 高通股份有限公司 在用于视频译码的二进制算术译码器中映射状态
CN103227924A (zh) * 2013-05-07 2013-07-31 北京大学 一种算术编码器及编码方法
WO2016196287A1 (en) * 2015-05-29 2016-12-08 Qualcomm Incorporated Advanced arithmetic coder

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
An optimized probability estimation model for binary arithmetic coding;Jing Cui et al;《2015 Visua Communication and Image Processing(VCIP)》;20151216;全文 *

Also Published As

Publication number Publication date
US10554988B2 (en) 2020-02-04
EP3603062A1 (en) 2020-02-05
KR102600727B1 (ko) 2023-11-09
SG11201907259YA (en) 2019-10-30
WO2018175716A1 (en) 2018-09-27
US20180278946A1 (en) 2018-09-27
ES2878325T3 (es) 2021-11-18
CN110419216A (zh) 2019-11-05
AU2018237342A1 (en) 2019-08-29
BR112019019170A2 (pt) 2020-04-14
AU2018237342B2 (en) 2022-06-02
KR20190128224A (ko) 2019-11-15
EP3603062B1 (en) 2021-05-26

Similar Documents

Publication Publication Date Title
JP7368414B2 (ja) 画像予測方法および装置
CN110419216B (zh) 通过参数化概率估计有限状态机进行二进制算术译码
JP5932049B2 (ja) ビデオコード化のデブロッキングフィルタリングのための境界強度値の決定
US9264706B2 (en) Bypass bins for reference index coding in video coding
JP5770311B2 (ja) ビデオコーディングにおけるサブスライス
CN111183647B (zh) 用于解码视频数据的方法、装置和计算机可读媒体
CN112514386B (zh) 网格编解码量化系数编解码
TW201705760A (zh) 進階之算術寫碼器
JP2016511975A (ja) イントラ予測のためのモード決定の簡略化
US20130177070A1 (en) Significance map support for parallel transform coefficient processing in video coding
CN111316642A (zh) 信令图像编码和解码划分信息的方法和装置
CN112352430B (zh) 用于二进制算术编码的有效加权概率估计
WO2023129680A1 (en) Methods and devices on probability calculation for context-based adaptive binary arithmetic coding
WO2021138432A1 (en) Methods and apparatus of video coding using palette mode

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40010106

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant