CN111183647B - 用于解码视频数据的方法、装置和计算机可读媒体 - Google Patents

用于解码视频数据的方法、装置和计算机可读媒体 Download PDF

Info

Publication number
CN111183647B
CN111183647B CN201880064752.0A CN201880064752A CN111183647B CN 111183647 B CN111183647 B CN 111183647B CN 201880064752 A CN201880064752 A CN 201880064752A CN 111183647 B CN111183647 B CN 111183647B
Authority
CN
China
Prior art keywords
syntax element
binary
binary bit
parameters
video data
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
CN201880064752.0A
Other languages
English (en)
Other versions
CN111183647A (zh
Inventor
A·赛义德
H·E·埃伊尔梅兹
M·卡切维奇
V·谢廖金
张莉
赵欣
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 CN111183647A publication Critical patent/CN111183647A/zh
Application granted granted Critical
Publication of CN111183647B publication Critical patent/CN111183647B/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/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
    • 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/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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种视频解码器可经配置以:通过针对第一二进制位流中的至少一个二进制位基于第一参数集合确定所述第一二进制位流中的所述至少一个二进制位的第一机率估计来生成所述第一二进制位流;以及通过针对第二二进制位流中的至少一个二进制位基于第二参数集合确定所述第二二进制位流中的所述至少一个二进制位的第二机率估计来生成所述第二二进制位流,所述第二参数集合为与所述第一参数集合不同的参数。

Description

用于解码视频数据的方法、装置和计算机可读媒体
本申请案请求2017年10月10日申请的美国临时专利申请案第62/570,560号的权益且请求2018年10月9日申请的美国申请案第16/155,708号的优先权,所述每个申请案的全部内容以引用的方式并入本文中。
技术领域
本发明涉及视频译码。
背景技术
数字视频频能力可并入至广泛范围的装置中,所述装置包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或台式计算机、平板计算机、电子书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、峰窝式或卫星无线电电话(所谓的“智能电话”)、视频电话会议装置、视频流式传输装置及其类似者。数字视频装置实施视频压缩技术,例如由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)、ITU-T H.265定义的标准、高效率视频译码(HEVC)标准及这些标准的扩展中所描述的那些技术。视频装置可通过实施这些视频压缩技术而更高效地传输、接收、编码、解码及/或存储数字视频信息。
视频压缩技术可执行空间(图片内)预测及/或时间(图片间)预测来减少或去除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(例如,视频帧或视频帧的一部分)分割成视频块,例如译码树型块及译码块。空间或时间预测生成用于待译码的块的预测性块。残余数据表示待译码的原始块与预测性块之间的像素差。为了进一步压缩,可将残余数据自像素域变换至变换域,从而生成可接着进行量化的残余变换系数。
发明内容
一般来说,本发明描述关于通过适配参数的渐进式修正的二进制算术译码技术。
根据一个实例,一种方法包含:通过将二进制算术解码应用于视频数据的位流中包含的第一语法元素的经编码版本而确定第一经解码语法元素,其中将二进制算术解码应用于第一语法元素的经编码版本包括:生成第一二进制位流,其中生成第一二进制位流包括:基于第一参数集合而确定第一二进制位流中的至少一个二进制位的第一机率估计;将第一二进制位流去二进制化以形成第一经解码语法元素;通过将二进制算术解码应用于视频数据的位流中包含的第二语法元素的经编码版本而确定第二经解码语法元素,其中将二进制算术解码应用于第二语法元素的经编码版本包括:生成第二二进制位流,其中生成第二二进制位流包括基于第二参数集合而确定第二二进制位流中的至少一个二进制位的第二机率估计,其中第二参数集合包括与第一参数集合不同的参数;将第二二进制位流去二进制化以形成第二经解码语法元素;及部分地基于第一经解码语法元素及第二经解码语法元素来重构视频数据的图片。
根据另一实例,一种用于解码视频数据的装置包含:存储器,其经配置以存储视频数据的位流;及一个或多个处理器,其与所述存储器通信并实施于处理电路中,其中所述一或多个处理器经配置以:通过将二进制算术解码应用于视频数据的位流中包含的第一语法元素的经编码版本而确定第一经解码语法元素,其中为将二进制算术解码应用于第一语法元素的经编码版本,所述一或多个处理器进一步经配置以:通过基于第一参数集合而确定第一二进制位流中的至少一个二进制位的第一机率估计来生成第一二进制位流;将第一二进制位流去二进制化以形成第一经解码语法元素;通过将二进制算术解码应用于视频数据的位流中包含的第二语法元素的经编码版本而确定第二经解码语法元素,其中为将二进制算术解码应用于第二语法元素的经编码版本,所述一或多个处理器进一步经配置以:通过基于第二参数集合而确定第二二进制位流中的至少一个二进制位的第二机率估计来生成第二二进制位流,其中第二参数集合包括与第一参数集合不同的参数;将第二二进制位流去二进制化以形成第二经解码语法元素;及部分地基于第一经解码语法元素及第二经解码语法元素来重构视频数据的图片。
根据另一实例,一种计算机可读媒体存储指令,所述指令在由一个或多个处理器执行时使得所述一或多个处理器通过将二进制算术解码应用于视频数据的位流中包含的第一语法元素的编码版本而确定第一经解码语法元素,其中为将二进制算术解码应用于第一语法元素的经编码版本,指令使得所述一或多个处理器生成第一二进制位流,其中为生成第一二进制位流,指令使得所述一或多个处理器基于第一参数集合而确定第一二进制位流中的至少一个二进制位的第一机率估计;将第一二进制位流去二进制化以形成第一经解码语法元素;通过将二进制算术解码应用于视频数据的位流中包含的第二语法元素的经编码版本而确定第二经解码语法元素,其中为将二进制算术解码应用于第二语法元素的经编码版本,指令使得所述一或多个处理器生成第二二进制位流,其中为生成第二二进制位流,指令使得所述一或多个处理器基于第二参数集合而确定第二二进制位流中的至少一个二进制位的第二机率估计,其中第二参数集合包括与第一参数集合不同的参数;将第二二进制位流去二进制化以形成第二经解码语法元素;及部分地基于第一经解码语法元素及第二经解码语法元素来重构视频数据的图片。
根据另一实例,一种用于解码视频数据的装置包含:用于通过将二进制算术解码应用于视频数据的位流中包含的第一语法元素的经编码版本而确定第一经解码语法元素的装置,其中用于确定第一经解码语法元素的装置的装置包括:用于生成第一二进制位流的装置,其中用于生成第一二进制位流的装置包括用于基于第一参数集合确定第一二进制位流中的至少一个二进制位的第一机率估计的装置;用于将第一二进制位流去二进制化以形成第一经解码语法元素的装置;用于通过将二进制算术解码应用于视频数据的位流中包含的第二语法元素的经编码版本而确定第二经解码语法元素的装置,其中用于确定第二经解码语法元素的装置包括:用于生成第二二进制位流的装置,其中用于生成第二二进制位流的装置包括用于基于第二参数集合而确定第二二进制位流中的至少一个二进制位的第二机率估计的装置,其中第二参数集合包括与第一参数集合不同的参数;用于将第二二进制位流去二进制化以形成第二经解码语法元素的装置;及用于部分地基于第一经解码语法元素及第二经解码语法元素来重构视频数据的图片的装置。
在随附图式及以下描述中阐述本发明的一或多个方面的细节。本发明中所描述的技术的其它特征、目标及优点将自描述、图式及权利要求书而显而易见。
附图说明
图1为说明可使用本发明中所描述的一或多种技术的实例视频编码及解码系统的框图。
图2为实例通用有限状态机的框图。
图3为使用多个有限状态机(FSM)用于二进制位机率估计的基于上下文的二进制算术编码的实例框图。
图4为使用多个FSM用于二进制位机率估计的基于上下文的二进制算术解码的实例框图。
图5为考虑单一选定上下文的基于上下文的二进制算术编码的实例框图。
图6为考虑单一选定上下文的基于上下文的二进制算术解码的实例框图。
图7为根据本发明的一或多个方面的基于上下文的算术编码的实例框图。
图8为根据本发明的一或多个方面的基于上下文的算术解码的实例框图。
图9A及9B为说明基于上下文的编码及解码的框图。
图10A展示用于熵译码的编码器架构的实例。
图10B展示用于熵解码的解码器架构的实例。
图11A展示利用渐进式适配的熵译码的编码器架构的实例。
图11B展示用于利用渐进式适配的熵解码的解码器架构的实例。
图12展示当所有机率估计参数可同时更新时的视频切片中的“检查点”(点)的实例定义。
图13说明可实施本发明中所描述的一或多种技术的实例视频编码器的框图。
图14为说明可实施本发明中所描述的一或多种技术的实例视频解码器的框图。
图15A及15B为说明二进制算术译码中的范围更新过程的概念图。
图16为说明二进制算术译码中的输出过程的概念图。
图17为说明视频编码器中的上下文自适应二进制算术译码器的框图。
图18为说明视频解码器中的上下文自适应二进制算术译码器的框图。
图19为展示实例视频解码过程的流程图。
具体实施方式
本发明描述关于算术译码,且更特定地关于通过适配参数的渐进式修正的二进制算术译码的技术。本发明的技术可经实施至现有视频编解码器(例如高效率视频译码(HEVC))中,或为用于未来视频译码标准(例如当前在开发中的H.266标准)的高效译码工具。
可参考视频译码器描述本发明中的各种技术,所述视频译码器意图为可指代视频编码器或视频解码器的一般术语。除非另外明确地陈述,否则不应假定关于视频编码器或视频解码器描述的技术不可通过视频编码器或视频解码器中的另一者执行。举例来说,在许多情况下,视频解码器执行与视频编码器相同或有时互逆的译码技术以便解码经编码视频数据。在许多情况下,视频编码器还包含视频解码回路,且因此视频编码器执行作为编码视频数据的部分的视频解码。因此,除非另有说明,否则本发明中关于视频解码器描述的技术还可通过视频编码器执行,且反之亦然。
本发明还可使用例如当前块、当前图片、或其它“当前”组件的术语。在本发明的上下文中,相较于例如先前或已经译码块或图片或尚待译码的块或图片,术语“当前”意图识别当前正经译码的块或图片。
本发明为易于解释而使用HEVC术语描述视频译码技术。然而,不应假定本发明的技术限于与HEVC使用,且实际上明确地预期本发明的技术可通过其它视频技术及标准,例如针对HEVC及HEVC扩展的标准来实施。
图1为说明可利用本发明的技术的实例视频编码及解码系统10的框图。如图1中所示,系统10包含源装置12,所述源装置提供稍后将由目的地装置14解码的经编码视频数据。源装置12经由计算机可读媒体16将经编码视频数据提供至目的地装置14。源装置12及目的地装置14可为广泛范围的装置中的任一者,包含台式计算机、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话的手持电话、平板计算机、电视、摄像机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置或其类似者。在一些情况下,源装置12及目的地装置14经装备用于无线通信。因此,源装置12及目的地装置14可为无线通信装置。可将本发明中所描述的技术应用于无线及/或有线应用。源装置12为实例视频编码装置(即,用于编码视频数据的装置)。目的地装置14为实例视频解码装置(即,用于解码视频数据的装置)。
图1的所说明系统10仅为一个实例。可通过任何数字视频编码及/或解码装置来执行用于处理视频数据的技术。在一些实例中,可由视频编码器/解码器(通常被称为“编码解码器”)执行所述技术。源装置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规格、IEEE802.15规格(例如,ZigBeeTM)、BluetoothTM标准及类似者)调变的数据,例如经编码视频数据。在一些实例中,输出接口22的电路经整合至源装置12的视频编码器20及/或其它组件的电路中。举例来说,视频编码器20及输出接口22可为系统单芯片(SoC)的部分。SoC还可包含其它组件,例如,通用微处理器、图形处理单元等。
目的地装置14可经由计算机可读媒体16接收待解码的经编码视频数据。计算机可读媒体16可包括能够将经编码视频数据自源装置12移动至目的地装置14的任何类型的媒体或装置。在一些实例中,计算机可读媒体16包括使得源装置12能够实时将经编码视频数据直接地传输至目的地装置14的通信媒体。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一或多个实体传输线。通信媒体可形成基于包的网络(例如,局域网络、广域网或例如因特网的全局网络)的部分。通信媒体可包含路由器、交换器、基站或可用于促进自源装置12至目的地装置14的通信的任何其它设备。目的地装置14可包括经配置以存储经编码视频数据及经解码视频数据的一或多个数据存储媒体。
在一些实例中,输出接口22可将例如经编码视频数据的数据输出至中间装置,例如存储装置。类似地,目的地装置12的输入接口28可自中间装置接收经编码数据。中间装置可包含多种分布式或本地存取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、闪存、易失性或非易失性存储器或用于存储经编码视频数据的任何其它适合的数字存储媒体。在一些实例中,中间装置对应于文件服务器。实例文件服务器包含网页服务器、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可经配置以接收根据其它无线标准(例如IEEE 802.11规格、IEEE 802.15规格(例如,ZigBeeTM)、BluetoothTM标准及其类似者)调变的数据,例如位流。在一些实例中,可将输入接口26的电路整合至目的地装置14的视频解码器30及/或其它组件的电路中。举例来说,视频解码器30及输入接口26可为SoC的部分。SoC还可包含其它组件,例如,通用微处理器、图形处理单元等。
存储媒体28可经配置以存储经编码视频数据,例如通过输入接口26接收的经编码视频数据(例如,位流)。显示装置32将经解码视频数据显示给用户。显示装置32可包括多种显示装置中的任一者,例如,阴极光线套管(CRT)、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
视频编码器20及视频解码器单元30各自可实施为多种适合电路中的任一者,例如,一或多个微处理器、数字信号处理器(DSP)、特殊应用集成电路(ASIC)、场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当所述技术部分以软件实施时,装置可将用于软件的指令存储于适合的非暂时性计算机可读媒体中,且可在硬件中使用一或多个处理器执行指令以执行本发明的技术。视频编码器20及视频解码器30中的每一者可包含在一或多个编码器或解码器中,编码器或解码器中的任一者可整合为相应装置中的组合式编码器/解码器(编解码器)的部分。
在一些实例中,视频编码器20及视频解码器30根据视频译码标准或规格来编码及解码视频数据。举例来说,视频编码器20及视频解码器30可根据ITU-T H.261、ISO/IECMPEG-1Visual、ITU-T H.262或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual及ITU-T H.264(也被称作ISO/IEC MPEG-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×8 CTB大小)。
图片的译码树型单元(CTU)可包括一或多个CTB,且可包括用于编码所述一或多个CTB的样本的语法结构。举例来说,每一CTU可包括明度样本的CTB、色度样本的两个对应CTB及用于编码CTB的样本的语法结构。在单色图片或具有三个单独色彩平面的图片中,CTU可包括单一CTB及用于编码CTB的样本的语法结构。CTU还可被称作“树型块”或“最大译码单元”(LCU)。在本发明中,“语法结构”可经定义为按指定次序一起在位流中呈现的零或多个语法元素。在一些编解码器中,经编码图片为含有图片的所有CTU的经编码表示。应注意,上文所描述的CTB及CTU仅表示将图片分割成块的一种方式,且本发明的技术不限于任何特定类型的块结构。HEVC的后续标准提出上文介绍的CTU/CTB结构的替代物,且预期可通过此类新块结构使用本发明的技术。
为编码图片的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在“coding_unit”语法结构内生成用于帧间预测的PU的“prediction_unit”语法结构,但不在“coding_unit”语法结构内生成用于帧内预测的PU的“prediction_uni”语法结构。相反,在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的变换块。基于当前CU的PU的预测性块的样本及当前CU的TU的变换块的残余样本,视频解码器30可重构当前CU的译码块。在一些实例中,视频解码器30可通过将当前CU的PU的预测性块的样本添加至当前CU的TU的变换块的对应经解码样本来重构当前CU的译码块。通过重构图片的每一CU的译码块,视频解码器30可重构图片。
图片的切片可包含图片的整数数目个块。举例来说,在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译码中,间隔是直接分裂成两半。
算术译码为用于数据压缩的基础工具。参看例如I.H.威滕(Witten),R.M.尼尔(Neal)及J.G.克利里(Cleary),“用于数据压缩的算术译码(Arithmetic coding for datacompression),”Commun.ACM,第30卷,第6期,第520-540页,1987年6月(下文中,“参考1”);A.萨依德(Said),无损压缩手册(Lossless Compression Handbook)中的“算术译码(Arithmetic Coding)”,K.萨尤行(Sayood)编,学术出版社(Academic Press),第5章,第101-152页,2003(下文中,“参考2”);A.萨依德,“算术译码引言-理论与实践(Introductionto arithmetic coding-theory and practice)”,惠普实验室(Hewlett PackardLaboratories),帕洛阿尔托(Palo Alto),CA,USA,技术报告(Technical Report)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 the H.264/AVCvideo compression standard)”,IEEE会刊电路系统视频技术(IEEE Trans.CircuitsSyst.Video Technol.),第13卷,第7期,第620-636页,2003年7月(下文中,“参考4”);I.E.理查森(Richardson),H.264高级视频压缩标准(The H.264Advanced Video CompressionStandard),第2版.,约翰威利国际出版公司(John Wiley and Sons Ltd.),2010(下文中,“参考5”)。
算术译码变为视频译码标准HEVC/H.265及VP9中的唯一熵译码技术。参看V.施(Sze)及M.布德加维(Budagavi),“HEVC中的高吞吐量CABAC熵译码(High throughputCABAC entropy coding in HEVC),”IEEE会刊电路系统视频技术,第22卷,第12期,第1778-1791页,2012年12月(下文中,“参考6”);V.施及D.迈普,“HEVC中的熵译码(Entropy codingin HEVC),”在高效视频译码中(in High Efficiency Video Coding(HEVC)):算法及架构(Algorithms and Architectures),V.施,M.布德加维,及G.J.沙利文(Sulliva)编,第8章,第209-274页.施普林格出版社(Springer),2014(下文中,“参考7”);M.韦恩(Wien),高效视频译码:译码工具及规格(High Efficiency Video Coding:Coding Tools andSpecification),施普林格出版社(Springer-Verlag),2015(下文中,“参考8”);D.穆克纪(Mukherjee),J.班可思克(Bankoski),R.S.巴尔吉(Bultje),A.格兰奇(Grange),J.翰(Han),J.科莱塞(Koleszar),P.威尔金斯(Wilkins)及Y.徐(Xu),“最新公开的源视频编解码器VP9-概述及初步结果(The latest open-source video codec VP9-an overview andpreliminary results)”,在第30届图片译码研讨会会刊(in Proc.30th Picture CodingSymp.),圣何塞(San Jose),CA,2013年12月(下文中,“参考9”)。
由于算术译码相对于其它熵编码技术的优良压缩效率,因此算术译码经预期保持为用于当前处于开发中的新出现视频译码标准的唯一熵译码技术。然而,在实际应用中使用熵译码的主要问题中的一者为最有效技术经设计以对于固定数据源是最优的,但来自复杂信号(如视频)的真实数据决非固定的。当前解决方案使用数据分类法及自适应译码技术来解决此问题,且本发明的技术可提高适配技术的效率。
本发明的技术可通过利用即使在数据经细微分为多个类别(译码上下文)时,指定用于每一类别的数据的统计数据中仍然存在大量变化的事实来提高压缩效率。因此,代替使用单一“通用”适配技术用于所有类别,本发明提议根据每一类别改变适配参数,且在每一类别内,根据预期或观测机率值或估计中经测量变量来进一步改变适配参数。
考虑到在适配开始时存在更高不确定性,且在其达到稳态类型后不确定性较小,因此本发明描述可提高适配技术的效率的技术。本发明还描述可通过延展适配参数改变以不仅依靠外部数据,如上下文数量、质量选择等等,并且还依靠适配进展中的一些测量,如经编码二进制位的计数,及在视频帧与一或多个上下文相关联的块的位置来改进已介绍的技术的各种技术。这些因素可经组合以通过减少需要改变适配参数时的情况来简化算术译码引擎的实施。
如参考1、2及3中所述,现代视频译码标准采用将熵编码分解成仿真及实际译码的策略。因此,用于现代视频压缩标准的二进制算术译码过程(参见例如典型熵编码器及解码器,例如图10A及10B中的架构)经划分为三个主要阶段。第一阶段为二进制化,其中待译码的每一数据元素(或语法元素)经首先分解成二进制数据符号的序列(二进制)。由于二进制符号概率依赖于数据元素及其分解中的二进制符号位置,二进制上下文(或仅上下文)经指定用于每一类型的二进制符号,唯一地识别待用于其熵译码的机率估计值。第二阶段为自适应机率估计。由于其假定指配给给定上下文的所有二进制具有类似(但并非完全相等)概率,因此编码器及解码器基于已预先经编码或解码的二进制值来更新其机率估计。第三阶段为算术译码,其中每一二进制符号的值(0或1)是使用其值的估计机率经熵译码,所述值由二进制位的对应上下文定义。
本发明的技术可通过改进自适应机率估计而获得相对于现有技术的更好的压缩。图11A及11B将所提出的技术说明为图10A及10B中所描绘的典型编码器/解码器架构的延伸。
用于二进制位机率估计实践的实例技术呈现于下文参考中:
·F.T.莱顿(Leighton)及R.L.维斯特(Rivest),“使用有限存储器估计机率(Estimating aprobabilityusing finite memory)”,IEEE会刊信息理论(IEEETrans.Inf.Theory),第32卷,第6期,第733-742页,1986年11月(下文中,“参考10”)。
·W.B.潘尼贝克(Pennebaker)及J.L.米歇尔(Mitchell),“用于Q译码器的机率估计(Probability estimation for the Q-Coder)”,IBM J资源开发(IBMJ.Res.Develop).,第32卷,第6期,第737-752页,1988年11月(下文中,“参考11”)。
·P.G.霍华德(Howard)及J.S.维特(Vitter),图像及文本压缩(Image and TextCompression)中的“算术译码的实际实施(Practical implementations of arithmeticcoding)”,J.A.斯托勒(Storer)编,第4章,第85-112页.克鲁维尔学术出版商(KluwerAcademic Publishers),诺威尔(Norwell),MA,1992(下文中,“参考12”)。
·E.梅龙(Meron)及M.费德(Feder),“单独序列的有限存储器通用预测(Finite-memory universal prediction of individual sequences)”,IEEE会刊信息理论(IEEETrans.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国际研讨会消费电子产品会刊(in Proc.IEEEInt.Symp.Consumer Electronics),圣彼德堡(St.Petersburg),俄罗斯(Russia),2006年6月(下文中,“参考14”)。
为实现极低计算复杂度实践要求,通常使用某一类型的有限状态机(FSM)来完成机率估计。
为易于解释本发明的技术,本发明并未涵盖关于参考10-14的FSM的实施的所有细节,但其适用于定义正确术语,且一些实例呈现在此部分的结尾处。
图2为实例通用FSM的框图。更特定地,图2为通用有限状态机的状态转变、输入及输出的序列的图形表示。在图2中,序列{sn},{in},{on}分别地表示FSM的状态、输入及输出,其为具有整数元素的向量(向量尺寸及允许元素的其设置必须经很好定义,但对本论述不重要)。
遵循上文定义,图2的图式中的箭头表示状态更新等式及输出等式,其为
sn=T(in,sn-1),on=P(in,sn-1), (1)
其中T为状态更新函数,且P为输出函数。
对于本发明的机率估计FSM,所述输入为二进制值,且输出为二进制位机率估计。图3、图4、图5及图6中展示其在熵编码及解码期间的用途,其中按照惯例,二进制位机率估计FSM被称作译码上下文。
如图3及图4的实例中所示出,在实际视频译码中,通过使用大量译码上下文实施熵译码阶段,所述译码上下文在编码及解码期间视经编码或解码的二进制位的类型(或类别)来选择。
图5为考虑单一选定上下文的基于上下文的二进制算术编码的实例框图。在图5中,算术编码单元700包含算术编码器502、位缓冲器504、状态确定单元506及机率估计FSM单元508。在一些实例中,算术编码单元500自二进制化单元512接收二进制位流。算术编码单元500及二进制化单元512可形成熵编码单元118的部分,更详细地关于图13描述。二进制化单元512将每一数据元素(例如,语法元素)编码成二进制数据符号(二进制)序列。二进制数据符号序列可被称为“二进制位流”。另外,算术编码单元500可接收上下文重新初始化信号。例如,算术编码单元500可在算术编码单元500开始编码不同类型的二进制符号时接收上下文重新初始化信号。
另外,在图5中,响应于接收上下文重新初始化信号,状态确定单元506可重新初始化机率估计FSM的状态。一般来说,重新初始化是指将机率估计值清零为与译码上下文相关联的初始机率估计值。举例来说,基于待编码的二进制符号的类型,状态确定单元506可在预定义表中查询初始机率估计值。预定义表可由视频译码标准,例如HEVC定义。状态确定单元506可将经确定初始机率估计值提供至二进制位机率估计FSM单元508。对于二进制位流中的第一二进制位,二进制位机率估计FSM单元508将初始机率估计值提供至算术编码器502。另外,二进制位机率估计FSM单元508基于二进制位流中的第一二进制位的实际值而更新机率估计值。针对直至状态确定单元506重置机率估计值的每一后续二进制位,二进制位机率估计FSM单元508根据状态更新函数来更新机率估计值,例如如等式(1)中所展示。
对于二进制位流中的每一二进制位,算术编码器502可使用由二进制位机率估计FSM单元508提供的机率估计值来关于CABAC编码如本发明中的其它地方所描述的二进制位。位缓冲器504可存储由算术编码器502编码的二进制位。在图5中,延迟盒510表示由二进制位机率估计FSM单元508生成的二进制概率是基于当前由算术编码器502编码的二进制位之前的二进制位。
图6为考虑单一选定上下文的基于上下文的二进制算术解码的实例框图。在图6中,算术解码单元600包含算术解码器602、位缓冲器604、状态确定单元606及机率估计FSM单元608。算术解码单元600生成二进制位流,在一些实例中,可通过逆二进制化单元612接收所述二进制位流。算术解码单元800及逆二进制化单元612可形成图14的熵解码单元150的部分。逆二进制化单元612将二进制位流转化为一系列一或多个语法元素。
在图6中,算术解码单元600接收字节流式传输,其可根据由视频解码器30接收的位流来剖析。另外,算术解码单元600可接收上下文重新初始化信号。例如,算术解码单元600可在算术解码单元600开始编码不同类型的二进制符号时接收上下文重新初始化信号。另外,在图6中,响应于接收上下文重新初始化信号,状态确定单元606可重新初始化机率估计FSM的状态。举例来说,基于待编码的二进制符号的类型,状态确定单元606可在预定义表中查询初始机率估计值。预定义表可由视频译码标准,例如HEVC定义。预定义表可与状态确定单元506(图5)使用的表相同。状态确定单元606可将经确定初始机率估计值提供至二进制位机率估计FSM单元808。针对二进制位流中的第一二进制位,二进制位机率估计FSM单元608将初始机率估计值提供至算术解码器602。另外,二进制位机率估计FSM单元608基于二进制位流中的第一二进制位的实际值而更新机率估计值。针对直至状态确定单元606重置机率估计值的每一后续二进制位,二进制位机率估计FSM单元608根据状态更新函数来更新机率估计值,例如如等式(1)中所展示。
针对二进制位流中的每一二进制位,算术解码器602可使用由二进制位机率估计FSM单元608提供的机率估计值来关于CABAC解码如本发明中的其它地方所描述的二进制位。位缓冲器604可存储待由算术解码器602解码的二进制位。在图6中,延迟盒610表示由二进制位机率估计FSM单元808生成的二进制概率是基于当前由算术解码器802解码的二进制位之前的二进制位。
考虑到已选定单一上下文的例示性情况,图5及图6展示简化图式。图5及图6还展示实际应用中始终存在的一种特征,需要所述特征以定期使编码器及解码器状态再同步,使用具有转化为编码器状态的数据的共享表。举例来说,在HEVC标准中,上下文是通过定义如何将压缩质量参数(被称为量化步长,或量化参数(QP)值)(参看参考7及8)转化至FSM状态的表而经定期再初始化以用于每一上下文。
在二进制位机率估计的最新的途径之间,HEVC标准采用参考7及8中所描述的基于表查找的技术,所述技术可由本发明的技术补充及/或置换。在最新ITU-T/MPEG JVET中,已提议两种形式的机率更新技术。第一技术基于以下递归公式,描述于参考13及14中:
Figure GDA0003296623820000171
其中p[k]表示按比例调整的机率估计值的整数序列,b[k]为二进制值的二进制序列,及a为能够实现通过位变化实施乘法及除法的正整数。第二技术使用基于以下等式集合衍生的以下机率更新,所述等式由A.阿尔什(Alshin),E.阿尔什纳(Alshina)及J.-H.帕克(Park),“用于CABAC的高精度机率估计(High precision probability estimation forCABAC),”IEEE视觉通信图像处理会议会刊(in Proc.IEEE Visual Commun.ImageProcess.Conf.),古晋(Kuching),马来西亚(Malaysia),2013年11月(下文中,“参考15”):
Figure GDA0003296623820000181
Figure GDA0003296623820000182
Figure GDA0003296623820000183
应注意,在此情况下,通过首先计算如(2)及(3)中的(q1[k+1],q2[k+1])对且接着如(4)中将其取平均以完成对于每一k的机率估计。因此,此类型的估计为二步骤估计,其中必须更新并存储中间机率估计值,q1[k+1]及q2[k+1]。
较早版本的ITU-T/MPEG JVET建议书使用最初描述于参考15及19中的技术。上述两种类型的机率估计技术经组合使得初始地(1)中的单步骤机率估计用于某一数目个二进制,且接着在预定阈值达到二步骤估计方式后,在(2)-(4)中采用(2)。此技术特定需要用于计数二进制位的数目的计数器以确定输入二进制位的数目是否已达到选定阈值。
根据本发明的技术,上述等式(2)-(4)可经改变以使用正整数(a,b)作为等式中的参数:
Figure GDA0003296623820000184
Figure GDA0003296623820000185
Figure GDA0003296623820000186
参数(a,b)是通过不同值定义用于JVET视频编码器的编码/解码上下文(二进制语法元素)中的每一者,其中值还可能根据其它因素来改变所述参数,例如切片类型及切片QP值及上述其它因素。
由于熵译码经设计以最优用于固定数据源,因此实际有效性视对数据元素进行分类而定,使得每一类别中的统计数据大致固定,使得有可能使用近似“通用”,即同样良好适配用于所有数据上下文的估计FSM。因此,在图4及图5中,FSM可能未改变,但替代地仅具有定期再初始化的状态。
本发明解决实际上不存在真实地“普遍最优”FSM的事实,这是由于概率改变不仅用于每一上下文,且变化的速度及量值在上下文之间不同。本发明描述此问题的解决方案,利用变化根据上下文或经估计机率出现的事实,但最佳策略为利用两者以确定最优FSM。本发明的技术还通过评估FSM状态的演进而涵盖选择FSM参数的选项。举例来说,测量超过一种估计之间的差值。
根据本发明的一或多种技术,改变FSM的常规定义,且本发明的技术还定义FSM参数向量h,其可用于改变FSM响应。通过此定义,等式(1)可经重写,即再定义状态更新及输出等式,如:
sn=T(in,sn-1,h),on=P(in,sn-1,h),
其中现T为参数化状态更新函数,且P为参数化输出函数。
通过此定义,可识别定义FSM译码性能的两个因素:
·FSM状态(sn):含有直接地用于计算二进制符号概率数值或逻辑信息,且为由先前标准中的再初始化改变的唯一数据;
·FSM参数(h):定义状态更新,且根据状态计算如何机率估计;本发明的技术可通过在译码期间或在再初始化期间修改这些参数来改进压缩。
举例来说,(2)中的FSM等式可经改变以使用正整数(a,b)作为等式中的参数:
Figure GDA0003296623820000191
Figure GDA0003296623820000192
Figure GDA0003296623820000193
参数a及b可用于确定下一二进制(即p[k+1])的经估计机率。因此,等式(4)中的参数a及b可经视为用于下一二进制位。在等式(4)中,参数(a,b)可改变状态变化,但并非输出等式。使用此差异因为即使其数学上有可能定义FSM参数作为FSM状态的部分,但此表示实际差值。
图7及图8展示可如何将本发明的技术整合于算术译码过程中。在图7的实例中,算术编码单元700包含算术编码器702、位缓冲器704、状态确定单元706、机率估计FSM单元708及FSM参数确定单元712。在一些实例中,算术编码单元700可自二进制化单元713接收二进制位流。算术编码单元700及二进制化单元713可形成图2的熵编码单元218的部分。二进制化单元713、算术编码器702、位缓冲器704、状态确定单元706及延迟盒710可以与图7中的二进制化单元713、算术编码器702、位缓冲器704、状态确定单元706及延迟盒710相同的方式操作。
在图8的实例中,算术解码单元800包含算术解码器802、位缓冲器804、状态确定单元806、机率估计FSM单元808及FSM参数确定单元812。算术解码单元800生成二进制位流,在一些实例中,可通过逆二进制化单元813接收所述二进制位流。算术解码单元800及逆二进制化单元813可形成图3的熵解码单元300的部分。逆二进制化单元813将二进制位流转化为一系列一或多个语法元素。二进制化单元813、算术解码器802、位缓冲器804、状态确定单元806及延迟盒810可与图8中的逆二进制化单元812、算术解码器802、位缓冲器804、状态确定单元806及延迟盒810相同的方式操作。
图7与图8的主要差异(图7及图8中虚线展示)为图7及图8中包含的FSM参数确定单元712、812。FSM参数确定单元712、812确定FSM参数(例如,等式(4)中的a及b)。响应于上下文重新初始化事件,或在其它情况中,FSM参数确定单元712、812可在译码期间确定FSM参数。因此,在图7及图8中,参数化的上下文FSM可在译码或再初始化期间,通过FSM参数确定单元712、812,使用机率值、质量因素及其它数据修改。应注意,馈入FSM参数确定单元712、812的数据可包括或由以下组成:再初始化参数及当前状态(例如,二进制概率)。
因此,根据本发明的一或多种技术,视频编码器20可接收视频数据。视频数据可包括一或多个图片。另外,视频编码器20的预测处理单元200、量化单元206及潜在地其它组件可基于视频数据而生成语法元素。在此实例中,熵编码单元218可通过将二进制算术编码应用于所生成语法元素中的一者而确定偏差值。作为应用二进制算术编码的部分,熵编码单元218可通过二进制化一或多个语法元素来生成二进制位流。另外,对于二进制位流中的至少一个相应二进制位(例如,二进制位流中的特定二进制位、二进制位流中的每一二进制位、除二进制位流中的最后一个二进制位以外的二进制位流中的每一二进制位等等),基于相应二进制位的状态,熵编码单元218可确定用于相应二进制位的间隔及相应二进制位的值、用于二进制位流中的下一二进制位的间隔。另外,熵编码单元218可确定用于二进制位流中的下一二进制位的一或多个FSM参数。基于相应二进制位的状态,熵编码单元218还可确定用于二进制位流中的下一二进制位的一或多个FSM参数及相应二进制位的值、二进制位流中的下一二进制位的状态。在此实例中,偏差值可等于用于二进制位流中的最后一个二进制位的间隔的值。视频编码器20可输出包括偏差值的位流。
另外,根据本发明的一或多种技术,视频解码器30的熵解码单元300可通过将二进制算术解码应用于位流中包含的偏差值而确定经解码语法元素。作为应用二进制算术解码的部分,熵解码单元300可生成二进制位流。作为生成二进制位流的部分,对于二进制位流中的至少一个相应二进制位(例如,二进制位流中的特定二进制位、二进制位流中的每一二进制位、除二进制位流中的最后一个二进制位以外的二进制位流中的每一二进制位等等),基于相应二进制位的状态,熵解码单元300可确定用于相应二进制位的间隔及偏差值、相应二进制位的值。另外,熵解码单元300可确定用于二进制位流中的下一二进制位的一或多个FSM参数。二进制位流中的下一二进制位遵循二进制位流中的相应二进制位。另外,基于相应二进制位的状态,熵解码单元300还可确定用于二进制位流中的下一二进制位的一或多个FSM参数及相应二进制位的值、二进制位流中的下一二进制位的状态。熵解码单元300可将二进制位流去二进制化以形成经解码语法元素。视频解码器30的其它组件可部分地基于经解码语法元素来重构视频数据的图片。换句话说,视频解码器30可在重构图片过程中使用经解码语法元素。
在一些实例中,FSM参数确定单元712、812针对不同上下文使用不同函数。例如,每一上下文可使用FSM参数确定单元712、812中的不同函数。FSM参数确定单元712、812使用函数用于上下文以确定由二进制位机率估计FSM单元708、808使用的FSM参数。例如,FSM参数确定单元712、812中的每一者可存取将不同上下文映射至不同FSM参数的预定义表。在另一实例中,不同上下文可与不同预定义表相关联。在此实例中,FSM参数确定单元712、812中的每一者可存取与当前上下文相关联的预定义表并基于一或多条额外信息来在与当前上下文相关联的预定义表中查询条目。在此实例中,额外信息可包含关于相邻块的译码模式的信息、关于最后一个非零系数的位置的信息等等。在一些实例中,用于上下文的函数为自上下文至FSM参数的预定值的映射。因此,在一些实例中,FSM参数确定单元712、812中的每一者经配置具有将上下文映像至FSM参数的预定值的表。
在一些实例中,即使针对相同上下文,FSM参数(例如,用于双轨道算术编码器的(a,b))还可依赖于切片类型及/或量化参数,及/或经译码模式信息(例如,例如切片标头中的经译码为解码器的旁侧信息的任何类型的信息)。举例来说,FSM参数确定单元712、812中的每一者可配置具有将因素(例如,上下文、切片类型、量化参数、经译码模式信息等等)的组合映像至FSM参数的表。
FSM参数确定单元712、812可以各种方式修改FSM参数。换句话说,FSM参数确定单元712、812可响应于各种事件及基于各种类型的信息改变由二进制位机率估计FSM单元708使用的FSM参数。一些机率列于如下,其可适用于每一上下文。
在一个实例中,FSM参数在再初始化期间根据状态再初始化参数,例如量化步长或QP值而经修改。举例来说,视频译码器可经配置具有将状态重新初始化参数的值映射至FSM参数的预定义表。在此实例中,视频译码器可基于状态重新初始化参数使用表来查询FSM参数。
在一些实例中,FSM参数根据经估计机率值,在再初始化期间,或以短于再初始化的定期间隔而经修改(例如,用于每一CTU,在每一二进制位后等等)。举例来说,视频译码器可经配置具有将经估计机率值映射至FSM参数的预定义表。在此实例中,视频译码器可基于经估计机率值以使用表来查询FSM参数。在此实例中,视频译码器可在上下文再初始化期间使用表来查询FSM参数。例如,视频译码器可使用由译码上下文指定的机率估计值来在上下文再初始化期间查询FSM参数。另外,在一些实例中,二进制位机率估计FSM单元708或808可在上下文再初始化后确定机率估计值用于第一二进制位后的二进制位。在这些实例中,视频译码器可使用通过二进制位机率估计FSM单元708或808确定的机率估计值来在预定义表中查询FSM参数。
在一些实例中,FSM参数是基于过去机率变化的测量而经修改。视频译码器可通过将概率之间的绝对差加总来计算过去机率变化的测量。在不同实例中,视频译码器可使用不同技术估计概率。在一个实例中,使用由等式(4)定义的FSM,视频译码器可使用“估计变化测量”用于确定FSM参数。在此实例中,可根据以下等式定义“估计变化测量”:
Figure GDA0003296623820000221
在上述等式中,σ[k+1]为二进制位k+1的估计变化测量,σ[k]为二进制位k的估计变化测量,q1[k]及q2[k]定义于等式(4)中,且c为参数(例如,c可为常数)。在此实例中,视频译码器可存取将估计变化测量σ[k]的不同值映射至不同FSM参数集合的预定义表。因此,在此实例中,视频译码器可基于估计变化测量来查询FSM参数。在一些实例中,视频译码器可存取用于不同译码上下文的不同预定义表。在这些实例中,用于译码上下文预定义表中的不同条目可将σ[k]的不同值映射至FSM参数的值。在一些实例中,其中视频译码器存取用于不同译码上下文的不同预定义表,用于译码上下文的表中的不同条目可将σ[k]的值的不同组合及额外信息映像至FSM参数的值。在这些实例中,额外信息可包含切片类型、量化参数等等。
在一些实例中,视频译码器可使用如上文针对修改FSM参数所定义的技术中的任一者,而代替使用由于先前再初始化所生成的数据,视频译码器可使用来自视频序列的其它部分的数据。举例来说,图9A为展示FSM参数可来源于遵循扫描顺序的相同图片中的相邻块(例如,CTU、CU)的框图。例如,在图9A的实例中,FSM参数确定单元712、812可至少部分地基于来自一或多个相邻块的信息而确定FSM参数。信息可包含预测模式、量化参数等等。在一些实例中,信息可包含来源于机率变化的某一测量的数据。举例来说,可使用单一位,其中1表示所观测到的机率估计值中的明显变化,且0指示其它方面。
图9B为展示可基于与预先经译码图片912中的块相关联的信息而确定当前图片910的块中所用的FSM参数的框图。预先经译码图片912中的块可具有与当前图片910中的块相同的空间位置。例如,在图9B的实例中,FSM参数确定单元712、812可至少部分地基于来自预先经译码图片中的一或多个块的信息而确定FSM参数。信息可包含预测模式、量化参数等等。在一些实例中,信息可包含来源于机率变化的一些测量的数据。举例来说,可使用单一位,其中1表示所观测到的机率估计值的明显变化,且0指示其它方面。
上述介绍的技术利用用于改进估计概率的过程的两个主要构想。第一,论述于参考15及A.阿尔什和E.阿尔什纳,“用于熵编码/解码的方法和设备(Method and apparatusfor entropy encoding/decoding),”美国专利申请案公开案2014/0177708A1,2014年6月(“参考19”)(所述申请案以全文引用的方式并入本文中)中的基于计数器的技术利用机率估计(使用先前部分中所定义的等式)倾向于随着经编码/经解码二进制位的数目增大而改进的事实。因此,可较佳以定义较快,但较低精确估计的参数起始,且接着切换至定义较慢但更精确估计的参数。第二,如上述介绍,不同参数集合/编码/解码上下文的使用利用不同语法元素生成具有独特统计特征的二进制位流的事实,且其较佳为使用优化用于每一情况的参数。
本发明还通过组合上述两个构想来延伸上文介绍的技术,但延伸第一构想还包含:(i)使用用于经编码/经解码二进制位/上下文的计数器,(ii)允许测量“发展”或“成熟”的估计以提供适配,及(iii)根据所述测量引入改变适配参数的更通用方式。
本发明描述用于通过渐进式适配的二进制算术译码中的机率估计的技术,相较于参考15及19的技术,其潜在地提供较佳适配用于机率估计值且提高译码效率。用于通过渐进式适配的二进制算术译码中的机率估计的技术包含两个主要组件,如图11A及11B的实例中所展示。第一组件为机率估计。根据本发明的技术,机率更新是以如(2)-(4)中的二步骤估计执行。然而,本发明的技术可为更通用且使用n个正向权重,标示为w1,w2…,wn,用于如下公式化的机率更新:
机率估计器(w1,w2…,wn):
Figure GDA0003296623820000241
其中i=1,2,...n.(5)
Figure GDA0003296623820000242
Figure GDA0003296623820000243
其中ai为预定义整数。
第二组件为渐进式适配。本发明的所提议渐进式适配规定以自适应方式贯穿编码(或解码)过程的机率估计器的参数(即权重w1,w2…,wn及a1,a2…,an)。为此目的,标示为t的进展的测量用于确定机率估计器中所用的权重。在通用设定中,权重经选定为t的向量价值函数,即,(w1,w2,...,)=f(t),其中t测量进展程度。此类测量的实例包含(i)预先经编码/经解码二进制位的数目,(ii)待编码/解码的下一视频补丁(例如,CTU块、切片或译码单元)的位置,及(iii)预先经编码/经解码的像素的数目。
本发明还描述根据上述已介绍的技术构成的额外技术。因此,除非另外明确陈述,否则应假定指定用于改变机率估计参数,例如上下文(经压缩的数据语法元素)的二进制编码或解码的所有条件可与下文定义的机率估计的“发展”或“成熟”的测量结合。
本发明描述用于测量估计发展的以下技术。视频编码器20及视频解码器30可经配置以执行下文技术的任何组合。在一些实例中,视频解码器30可执行与视频编码器20的所述技术互逆的技术。
1.使用经编码/解码二进制位/上下文的一或多个计数器,通过由一或多个阈值,表示为T1、T2…定义的多个参数的变化(参考19仅定义一个参数及阈值,且并不包含上文所描述的其它因素)。
a.用于每一上下文的参数集合的总数目可等于阈值的总数目加1。
b.在一个实施例中,可预定义对应于小于或等于一个阈值的计数器的用于每一上下文的每一参数集合。
c.在另一实例中,对应于小于或等于一个阈值(例如,T1)的计数器的用于每一上下文的一个参数集合可衍生自对应于小于或等于一个阈值(例如,T2)的计数器的另一参数集合。在此情况下,可减小参数的存储。
(a)在一个实施例中,针对给定上下文,假定对应于小于或等于由(A1,B1)及(A2,B2)各自表示的T1/T2的计数器的参数(a,b)的值,其中A2可经设定为(A1<<1)及/或B2经设定为(B1<<1)。
2.添加经编码/解码二进制位/上下文的一或多个计数器,但替代使用计数器用于即刻改变适配参数,仅在出现外部情况时改变多个上下文的参数(使用经定义用于每一上下文的阈值)。外部情况的实例包含:
a.开始或结束译码单元(CTU)
b.开始或结束预定义译码单元组,例如N个连续经译码CTU,其中N为预定义的
c.开始或结束CTU行
d.开始切片/图片块,且视时间机率更新是否用于所述切片上而定
e.经定义用于编码器及解码器两者的任何其它块位置。可根据二进制位统计数据来固定或改变或传信块位置。
f.如果使用波前处理(例如,波前平行处理),则外部情况可借用CABAC初始化用于下一CTU行的块位置。
g.在一个实施例中,外部情况可对于所有上下文而言为相同的。在其它实例中,不同外部情况可应用于不同上下文。
3.将每一上下文上的一个计数器通过外部指示器,如以下的组合取代:
a.经编码/解码像素的数目;
b.经编码/解码二进制位的平均数目/像素
c.累积比特率
d.机率估计器的时间更新
e.视频切片质量因子(例如,QP值)及切片类型(I、B或P)及时间层(时间层0、1或2)
f.在一个实施例中,外部情况可对于所有上下文而言为相同的。在其它实例中,不同外部情况可应用于不同上下文。
4.当启用波前处理时,所介绍计数器可自上部CTU行借用CABAC初始化。在其它实例中,计数器可经重置且可在波前平行处理期间借用CABAC初始化时自起点开始累计。在又一实例中,在波前处理期间,所使用权重经存储于同步点处且沿机率初始化借用,在此情况下,可能不需要计数器信息用于下一CTU行。
5.上文提及的所提议的技术可应用于某些上下文。
实际上,在(5)中计算n更新且接着如(6)中求其平均值可能在计算上复杂且需要较大存储器资源,尤其在n为较大数目时。作为机率估计器的一特定实例,权重的选择可受限于n=2,其中w1=2a且w2=2b,且其中a及b为两个正整数。此限制允许通过使用位变化的w1及w2的乘法的有效实施,使得技术具有较低计算复杂度。在此情况下,(5)及(6)中的关系可明确写成如下:
Figure GDA0003296623820000261
Figure GDA0003296623820000262
Figure GDA0003296623820000263
另外,函数(w1,w2)=f(t)的任意选择可引起较高记忆及计算复杂度。为减轻此问题,(w1,w2)=f(t)可经选定为分段常数函数,其中固定数量对集合可经指配给间隔集合。此类函数的实例可为
Figure GDA0003296623820000264
其中T1及T2为确定分段函数之间隔的两个阈值。另外,为获得较佳压缩性能,可在每一上下文基础上完成机率更新。为此目的,权重对
Figure GDA0003296623820000265
的集合及阈值
Figure GDA0003296623820000266
Figure GDA0003296623820000267
的集合可经优化用于每一上下文,标示为c,且用于编码器或解码器中的自适应机率估计。基于此类别的适配可应用于二进制位的任何预定类别,其中类别定义可基于可用于编码器/解码器的任何旁侧信息,例如切片类型及量化参数(例如,QP值)。
适配参数可基于以下改变,例如
1.独立地根据上下文
2.针对所有上下文同步;
3.预定义上下文组同步,且其余固定。
用于改变上下文的情况还可基于由编码器及解码器共享的任何信息。举例来说,图12展示视频切片(其可为视频帧),其经组织至经独立译码的CTU的切片中。实施方案的一个实例为具有仅在那些块的起点处而非内部更新的上下文估计参数。改变可基于由每一上下文保持的计数或汇总译码数据的信息,如切片中的经压缩的数据字节的当前数目。
图13为说明可实施本发明的技术的实例视频编码器20的框图。出于解释的目的而提供图13,且不应将图13视为对如本发明中广泛例示及描述的技术的限制。本发明的技术可应用于各种译码标准或技术。
处理电路包含视频编码器20,且视频编码器20经配置以执行本发明中所描述的实例技术中的一或多者。举例来说,视频编码器20包含集成电路,且图13中所说明的各种单元可形成为与电路总线互连的硬件电路块。这些硬件电路块可为单独电路块或所述单元中的两者或大于两者可组合为共享硬件电路块。硬件电路块可形成为电力组件的组合,所述电力组件形成例如算术逻辑单元(ALU)、基础功能单元(EFU)的操作块,以及例如AND、OR、NAND、NOR、XOR、XNOR及其它类似逻辑块的逻辑块。
在一些实例中,图13中所说明的单元中的一或多者可为在处理电路上执行的软件单元。在这些实例中,用于这些软件单元的目标码存储于存储器中。操作系统可使得视频编码器20撷取目标码并执行目标码,其使得视频编码器20执行实施实例技术的操作。在一些实例中,软件单元可为视频编码器20在启动时执行的固件。因此,视频编码器20为具有执行实例技术的硬件或具有在硬件上执行以专门化执行所述实例技术的硬件的软件/固件的结构性组件。
在图13的实例中,视频编码器20包含预测处理单元100、视频数据存储器101、残余生成单元102、变换处理单元104、量化单元106、逆量化单元108、逆变换处理单元110、重构单元112、滤波器单元114、经解码图片缓冲器116及熵编码单元118。预测处理单元100包含帧间预测处理单元120及帧内预测处理单元126。帧间预测处理单元120可包含运动估计单元及运动补偿单元(未展示)。
视频数据存储器101可经配置以存储待由视频编码器20的组件编码的视频数据。可(例如)自视频源18获得存储于视频数据存储器101中的视频数据。经解码图片缓冲器116可为存储参考视频数据的参考图片存储器,所述参考视频数据用于通过视频编码器20,例如以帧内或帧间译码模式编码视频数据。视频数据存储器101及经解码图片缓冲器116可由多种存储器装置中的任一者形成,例如,动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。可通过相同存储器装置或独立存储器装置来提供视频数据存储器101及经解码图片缓冲器116。在各种实例中,视频数据存储器101可与视频编码器20的其它组件一起在芯片上,或相对于那些组件而言在芯片外。视频数据存储器101可与图1的存储媒体20相同或为其部分。
视频编码器20接收视频数据。视频编码器20可编码视频数据的图片的切片中的每一CTU。CTU中的每一者可与图片的相等大小的明度译码树型块(CTB)及对应CTB相关联。作为编码CTU的部分,预测处理单元100可执行分割以将CTU的CTB分割成逐渐较小的块。较小块可为CU的译码块。举例来说,预测处理单元100可根据树状结构分割与CTU相关联的CTB。
视频编码器20可编码CTU的CU以生成所述CU的经编码表示(即,经译码CU)。作为编码CU的部分,预测处理单元100可在CU的一或多个PU当中分割与CU相关联的译码块。因此,每一PU可与明度预测块及对应的色度预测块相关联。视频编码器20及视频解码器30可支持具有各种大小的PU。如上文所指示,CU的大小可指CU的明度译码块的大小,且PU的大小可指PU的明度预测块的大小。假定特定CU的大小为2N×2N,则视频编码器20及视频解码器30可支持用于帧内预测的2Nx2N或N×N的PU大小,及用于帧间预测的2N×2N、2N×N、N×2N、N×N或相似大小的对称PU大小。视频编码器20及视频解码器30还可支持用于帧间预测的2N×nU、2N×nD、nL×2N及nR×2N的PU大小的非对称分割。
帧间预测处理单元120可生成用于PU的预测性数据。作为生成用于PU的预测性数据的部分,帧间预测处理单元120对PU执行帧间预测。用于PU的预测性数据可包含PU的预测性块及用于PU的运动信息。取决于PU是在I切片中、P切片中还是B切片中,帧间预测处理单元120可针对CU的PU执行不同操作。在I切片中,所有PU经帧内预测。因此,如果PU是在I切片中,则帧间预测处理单元120并未对PU执行帧间预测。因此,对于在I模式中编码的块,经预测的块是使用空间预测自同一帧内的先前经编码的相邻块而形成。如果PU在P切片中,则帧间预测处理单元120可使用单向帧间预测以生成PU的预测性块。如果PU在B切片中,则帧间预测处理单元120可使用单向或双向帧间预测以生成PU的预测性块。
帧内预测处理单元126可通过对PU执行帧内预测而生成用于PU的预测性数据。用于PU的预测性数据可包含PU的预测性块及各种语法元素。帧内预测处理单元126可对I切片、P切片及B切片中的PU执行帧内预测。
为了对PU执行帧内预测,帧内预测处理单元126可使用多个帧内预测模式来生成用于PU的预测性数据的多个集合。帧内预测处理单元126可使用来自相邻PU的样本块的样本以生成用于PU的预测性块。对于PU、CU及CTU,假定自左至右、自上而下的编码次序,则所述相邻PU可在PU上方、右上方、左上方或左边。帧内预测处理单元126可使用各种数目的帧内预测模式,例如,33个定向帧内预测模式。在一些实例中,帧内预测模式的数目可取决于与PU相关联的区域的大小。
预测处理单元100可自通过帧间预测处理单元120针对PU生成的预测性数据或通过帧内预测处理单元126针对PU生成的预测性数据中选择用于CU的PU的预测性数据。在一些实例中,预测处理单元100基于预测性数据的集合的速率/失真量度而选择用于CU的PU的预测性数据。选定的预测性数据的预测性块在本文中可被称作选定的预测性块。
残余生成单元102可基于CU的译码块(例如,明度、Cb及Cr译码块)及CU的PU的选定预测性块(例如,预测性明度、Cb及Cr块)而生成CU的残余块(例如,明度、Cb及Cr残余块)。举例来说,残余生成单元102可生成CU的残余块,使得残余块中的各样本的值等于CU的译码块中的样本与CU的PU的对应选定预测性块中的对应样本之间的差值。
变换处理单元104可执行将CU的残余块分割成CU的TU的变换块。例如,变换处理单元104可执行四分树分割以将CU的残余块分割成CU的TU的变换块。因此,TU可与一明度变换块及两个色度变换块相关联。CU的TU的明度变换及色度变换块的大小及位置可或可不基于CU的PU的预测块的大小及位置。被称为“残余四分树”(RQT)的四分树结构可包含与区域中的每一者相关联的节点。CU的TU可对应于RQT的分叶节点。
变换处理单元104可通过将一或多个变换应用于TU的变换块而生成CU的每一TU的变换系数块。变换处理单元104可将各种变换应用于与TU相关联的变换块。举例来说,变换处理单元104可将离散余弦变换(DCT)、定向变换或概念上类似的变换应用于变换块。在一些实例中,变换处理单元104并不将变换应用于变换块。在这些实例中,变换块可经处理为变换系数块。
量化单元106可量化系数块中的变换系数。量化单元106可基于与CU相关联的量化参数(QP)值来量化与CU的TU相关联的系数块。视频编码器20可通过调整与CU相关联的QP值来调整应用于与CU相关联的系数块的量化程度。量化可引入信息的损失。因此,经量化变换系数可具有比最初变换系数低的精度。
逆量化单元108及逆变换处理单元110可分别将逆量化及逆变换应用于系数块以自系数块重构残余块。重构单元112可将经重构的残余块添加至来自由预测处理单元100生成的一或多个预测性块的对应样本,以生成与TU相关联的经重构的变换块。通过以此方式重构CU的每一TU的变换块,视频编码器20可重构CU的译码块。
滤波器单元114可执行一或多个解块操作以减少与CU相关联的译码块中的块假影。经解码图片缓冲器116可在滤波器单元114对经重构译码块执行一或多个解块操作之后,存储经重构译码块。帧间预测处理单元120可使用含有经重构译码块的参考图片以对其它图片的PU执行帧间预测。另外,帧内预测处理单元126可使用经解码图片缓冲器116中的经重构译码块,以对处于与CU相同的图片中的其它PU执行帧内预测。
熵编码单元118可自视频编码器20的其它功能组件接收数据。举例来说,熵编码单元118可自量化单元106接收系数块且可自预测处理单元100接收语法元素。熵编码单元118可对数据执行一或多个熵编码操作以生成经熵编码数据。举例来说,熵编码单元118可对数据执行CABAC操作、上下文自适应可变长度译码(CAVLC)操作、可变至可变(V2V)长度译码操作、基于语法的上下文自适应二进制算术译码(SBAC)操作、概率区间分割熵(PIPE)译码操作、指数哥伦布编码(Exponential-Golomb encoding)操作或另一类型的熵编码操作。视频编码器20可输出包含由熵编码单元118所生成的经熵编码数据的位流。举例来说,位流可包含表示用于CU的变换系数的值的数据。
在一些实例中,可使用熵编码单元118实施本发明的技术。举例来说,视频编码器20可接收视频数据。视频数据可包括一或多个图片。另外,视频编码器20的预测处理单元100、量化单元106及潜在地其它组件可基于视频数据生成语法元素。在此实例中,熵编码单元118可通过将二进制算术编码应用于所生成语法元素中的一者而确定偏差值。作为应用二进制算术编码的部分,熵编码单元118可通过二进制化语法元素来生成二进制位流。另外,对于二进制位流中的至少一个相应二进制位(例如,二进制位流中的特定二进制位、二进制位流中的每一二进制位、除二进制位流中的最后一个二进制位以外的二进制位流中的每一二进制位等等),熵编码单元118可基于相应二进制位的状态确定用于相应二进制位的间隔及相应二进制位的值、用于二进制位流中的下一二进制位的间隔。另外,熵编码单元118可确定用于二进制位流中的下一二进制位的一或多个有限状态机(FSM)参数。基于相应二进制位的状态,熵编码单元118还可确定用于二进制位流的下一二进制位的一或多个FSM参数及相应二进制位的值、二进制位流中的下一二进制位的状态。在此实例中,偏差值可等于用于二进制位流中的最后一个二进制位的间隔的值。视频解码器30可输出包括偏差值的位流。
图14为说明经配置以实施本发明的技术的实例视频解码器30的框图。出于解释的目的而提供图14,且其并不限制如本发明中所广泛例示及描述的技术。出于解释的目的,本发明描述在HEVC译码的上下文中的视频解码器30。然而,本发明的技术可适用于其它译码标准或结合其它译码工具使用。
处理电路包含视频解码器30,且视频解码器30经配置以执行本发明中所描述的实例技术中的一或多者。例如,视频解码器30包含集成电路,且14中所说明的各种单元可形成为与电路总线互连的硬件电路块。这些硬件电路块可为单独电路块或所述单元中的两者或大于两者可组合为共享硬件电路块。硬件电路块可形成为电力组件的组合,所述电力组件形成例如算术逻辑单元(ALU)、基础功能单元(EFU)的操作块,以及例如AND、OR、NAND、NOR、XOR、XNOR及其它类似逻辑块的逻辑块。
在一些实例中,图14中所说明的单元中的一或多者可包含执行于处理电路上的软件单元。在这些实例中,用于这些软件单元的目标码存储于存储器中。操作系统可使得视频解码器30撷取目标码并执行目标码,所述目标码使得视频解码器30执行实施实例技术的操作。在一些实例中,软件单元可为视频解码器30在启动处执行的固件。因此,视频解码器30为具有执行实例技术的硬件或具有在硬件上执行以特化执行所述实例技术的硬件的软件/固件的结构性组件。
在图14的实例中,视频解码器30包含熵解码单元150、视频数据存储器151、预测处理单元152、逆量化单元154、逆变换处理单元156、重构单元158、滤波器单元160,及经解码图片缓冲器162。预测处理单元152包含运动补偿单元164及帧内预测处理单元166。在其它实例中,视频解码器30可包含更多、更少或不同的功能组件。
视频数据存储器151可存储待由视频解码器30的组件解码的视频数据,例如经编码视频位流。可经由视频数据的有线或无线网络通信,或通过存取实际数据存储媒体来例如自计算机可读媒体16,例如自局部视频源,例如摄像机获得存储于视频数据存储器151中的视频数据。视频数据存储器151可形成存储来自经编码视频位流的经编码视频数据的经译码图片缓冲器(CPB)。经解码图片缓冲器162可为存储用于通过视频解码器30,例如以帧内或帧间译码模式解码视频数据,或用于输出的参考视频数据的参考图片存储器。视频数据存储器151及经解码图片缓冲器162可由多种存储器装置中的任一者形成,例如动态随机存取存储器(DRAM),包含同步DRAM(SDRAM);磁阻式RAM(MRAM);电阻式RAM(RRAM)或其它类型的存储器装置。视频数据存储器151及经解码图片缓冲器162可通过同一存储器装置或单独存储器装置来提供。在各种实例中,视频数据存储器151可与视频解码器30的其它组件一起在芯片上,或相对于那些组件在芯片外。视频数据存储器151可与图1的存储媒体28相同或为所述存储媒体的部分。
视频数据存储器151接收并存储位流的经编码视频数据(例如,NAL单元)。熵解码单元150可自视频数据存储器151接收经编码视频数据(例如,NAL单元),且可剖析NAL单元以获得语法元素。熵解码单元150可熵解码NAL单元中的经熵编码语法元素。预测处理单元152、逆量化单元154、逆变换处理单元156、重构单元158及滤波器单元160可基于自位流提取的语法元素而生成经解码视频数据。熵解码单元150可执行大体上与熵编码单元118的所述过程互逆的过程。
可使用熵解码单元150实施本发明的技术。举例来说,熵解码单元150可通过将二进制算术解码应用于位流中包含的偏差值而确定经解码语法元素。作为应用二进制算术解码的部分,熵解码单元150可生成二进制位流。作为生成二进制位流的部分,对于二进制位流中的至少一个相应二进制位(例如,二进制位流中的特定二进制位、二进制位流中的每一二进制位、除二进制位流中的最后一个二进制位以外的二进制位流中的每一二进制位等等),基于相应二进制位的状态,熵解码单元150可确定用于相应二进制位的间隔及偏差值、相应二进制位的值。另外,熵解码单元150可确定用于二进制位流中的下一二进制位,接着二进制位流中的相应二进制位的二进制位流中的下一二进制位的一或多个FSM参数。另外,基于相应二进制位的状态,熵解码单元150可确定用于二进制位流中的下一二进制位的一或多个FSM参数及相应二进制位的值、二进制位流中的下一二进制位的状态。熵解码单元150可将二进制位流去二进制化以形成经解码语法元素。视频解码器30的其它组件可部分地基于经解码语法元素来重构视频数据的图片。换句话说,视频解码器30可在重构图片过程中使用经解码语法元素。
除自位流获得语法元素之外,视频解码器30可对未经分割的CU执行重构操作。为对CU执行重构操作,视频解码器30可对CU的每一TU执行重构操作。通过对CU的每一TU执行重构操作,视频解码器30可重构CU的残余块。
作为对CU的TU执行重构操作的部分,逆量化单元154可逆量化(例如,解量化)与TU相关联的系数块。在逆量化单元154逆量化系数块之后,逆变换处理单元156可将一或多个逆变换应用于系数块以便生成与TU相关联的残余块。举例来说,逆变换处理单元156可将逆DCT、逆整数变换、逆Karhunen-Loeve变换(KLT)、逆旋转变换、逆定向变换或另一逆变换应用于系数块。
逆量化单元154可执行本发明的特定技术。举例来说,对于视频数据的图片的CTU的CTB内的多个量化组的至少一个相应量化组,逆量化单元154可至少部分地基于在位流中传信的本地量化信息导出用于相应量化组的相应量化参数。另外,在此实例中,逆量化单元154可基于用于相应量化组的相应量化参数而逆量化CTU的CU的TU的变换块的至少一个变换系数。在此实例中,相应量化组经定义为连续(在译码次序中)CU或译码块的组,以使得相应量化组的边界必须为CU或译码块的边界且相应量化组的大小大于或等于阈值。视频解码器30(例如,逆变换处理单元156、重构单元158及滤波器单元160)可基于变换块的经逆量化变换系数而重构CU的译码块。
如果使用帧内预测编码PU,则帧内预测处理单元166可执行帧内预测以生成PU的预测性块。帧内预测处理单元166可使用帧内预测模式来基于样本空间相邻块生成PU的预测性块。帧内预测处理单元166可基于自位流获得的一或多个语法元素而确定用于PU的帧内预测模式。
如果使用帧间预测编码PU,则熵解码单元150可确定PU的运动信息。运动补偿单元164可基于PU的运动信息而确定一或多个参考块。运动补偿单元164可基于一或多个参考块而生成PU的预测性块(例如,预测性明度、Cb及Cr块)。
重构单元158可使用CU的TU的变换块(例如,明度、Cb及Cr变换块)及CU的PU的预测性块(例如,明度、Cb及Cr块)(即,可适用的帧内预测数据或帧间预测数据)来重构CU的译码块(例如,明度、Cb及Cr译码块)。举例来说,重构单元158可将变换块(例如,明度、Cb及Cr变换块)的样本添加至预测性块(例如,明度、Cb及Cr预测性块)的对应样本,以重构CU的译码块(例如,明度、Cb及Cr译码块)。
滤波器单元160可执行解块操作以减少与CU的译码块相关联的块假影。视频解码器30可将CU的译码块存储于经解码图片缓冲器162中。经解码图片缓冲器162可提供参考图片以用于随后运动补偿、帧内预测及在显示装置(例如,图1的显示装置32)上的呈现。例如,视频解码器30可基于经解码图片缓冲器162中的块对其它CU的PU执行帧内预测或帧间预测操作。
图15A及15B展示二进制位n下的CABAC过程的实例。在图15A的实例400中,在二进制位n,二进制位2下的范围包含在给定某一上下文状态(σ)的情况下通过最不可能符号(LPS)的机率(pσ)给定的RangeMPS及RangeLPS。实例400展示在二进制位n的值等于最可能符号(MPS)时的二进制位n+1下的范围的更新。在此实例中,低点保持相同,但在二进制位n+1处的范围的值缩小至二进制n处的RangeMPS的值。图15B的实例402展示当二进制位n的值不等于MPS(即,等于LPS)时,二进制位n+1处的范围的更新。在此实例中,低点移动至二进制位n处的RangeLPS的较低范围值。另外,二进制位n+1处的范围的值缩小至二进制位n处的RangeLPS的值。
在HEVC视频译码过程的一个实例中,范围用9个位表示,且低点用10个位表示。存在以充足精度维持范围及低点值的再归一化过程。再归一化出现在每当范围小于256时。因此,在再归一化之后范围始终等于或大于256。取决于范围及低点的值,二进制算术译码器(BAC)将‘0,’或‘1,’输出至位流,或更新内部变数(被称作BO:位突出)以保持未来输出。图16展示取决于范围的BAC输出的实例。举例来说,当范围及低点高于特定阈值(例如,512)时,将‘1’输出至位流。当范围及低点低于特定阈值(例如,512)时,将“0”输出至位流。当范围及低点在某些阈值之间时,不输出任何值至位流。替代地,递增BO值且编码下一二进制位。
在H.264/AVC的CABAC上下文模型及HEVC的一些实例中,存在128个状态。存在可自0至63的64个可能的LPS机率(由状态σ表示)。每一MPS可为零或一。因此,128个状态为64个状态机率乘以MPS的2个可能值(0或1)。因此,状态可用7个位编索引。
为减少导出LPS范围(rangeLPSσ)的计算,针对所有状况的结果可经预先计算且存储为查找表中的近似值。因此,可在无任何乘法运算的情况下通过使用简单表查找来获得LPS范围。对于一些装置或应用而言避免乘法运算可为至关重要的,此是由于此操作可引起多种硬件架构中的显著潜时。
可使用4行预先计算的LPS范围表而非乘法运算。范围经划分为四个片段。可由问题(范围(range)>>6)&3导出片段索引。实际上,片段索引是通过自实际范围移位及丢弃位来导出。以下表1展示可能范围及其对应索引。
表1-范围索引
范围 256-319 320-383 384-447 448-511
(范围>>6)&3 0 1 2 3
LPS范围表接着具有64个条目(每一机率状态有一者)乘以4(每一范围索引有一者)。每一条目为LPS范围,即,将范围乘以LPS机率的值。以下表2中展示此表的部分的实例。表2描绘机率状态9-12。在HEVC的一个提议中,机率状态范围可为0至63。
表2-RangeLPS
Figure GDA0003296623820000341
在每一片段(即,范围值)中,每一机率状态σ的LPS范围为预定义的。换句话说,机率状态σ的LPS范围经量化为四个值(即,每一范围索引有一个值)。在给定点处使用的特定的LPS范围取决于范围属于哪一片段。表中所使用的可能的LPS范围的数目为表列数(即,可能的LPS范围值的数目)与LPS范围精确度之间的折衷。一般来说,更多列生成LPS范围值的更少量化错误,且还增加对用于存储表的更多存储器的需求。更少列增加量化错误,且还减少需要用于存储表的存储器。
如上文所述,每一LPS机率状态具有对应机率。每一状态的机率p如下予以导出:
pσ=αpσ-1
其中状态σ为0至63。常量α表示每一上下文状态之间的机率改变的量。在一个实例中,α=0.9493,或更精确而言,α=(0.01875/0.5)1/63。在状态σ=0下,机率等于0.5(即,p0=1/2)。即,在上下文状态0下,LPS及MPS具有等同的机率。每一相继状态下的机率通过将先前状态与α相乘来导出。就此而论,出现在上下文状态的LPS的机率α=1为p0*0.9493(0.5*0.9493=.47465)。因此,随着状态α的索引增大,LPS出现的机率下降。
CABAC为自适应的,这是因为机率状态经更新以便遵循信号统计(即,经先前译码二进制位的值)。更新过程如下。对于给定机率状态,更新取决于状态索引及经识别为LPS或MPS的经编码符号的值。作为更新过程的结果,新的机率状态经导出,其由潜在经修改LPS机率估计及(必要时)经修改MPS值构成。
如果二进制位值等于MPS,则给定状态索引可增加1。此用于除当MPS出现在状态索引62处时之外的所有状态,其中LPS机率已处于其最小值(或等效地,达至最大MPS机率)。在此状况下,状态索引62保持固定直至LPS可见,或最末二进制位值经编码(状态63用于最末二进制位值的特殊状况)。当LPS出现时,通过以特定量递减状态索引来改变状态索引,如下文等式中所展示。此规则应用于具有以下例外的LPS每次出现时。假定已在具有索引σ=0的状态处编码LPS,所述索引对应于等机率情况,则状态索引保持固定,但将切换MPS值使得LPS及MPS的值将被互换。在所有其它情况下,不管哪一符号已经编码,将不改变MPS值。用于LPS机率的变换规则的导出是基于以下的给定LPS机率Pold及其经更新对应物pnew之间的关系:
Pnew=max(α Pold,P62) 如果MPS出现
pnew=(1-α)+αpold 如果LPS出现
关于CABAC中的机率估计过程的实际实施,值得注意的是,所有变换规则可通过各自具有6位无符号整数值的63个条目的至多两个表实现。在一些实例中,可通过单一表TransIdxLPS确定状态转换,所述表在已观测到LPS的状况下针对给定状态索引σ确定新的经更新状态索引TransIdxLPS[σ]。可通过使状态索引仅(饱和)增加固定值1,得到经更新状态索引min(σ+1,62),从而获得MPS驱动转换。下表3为部分TransIdxLPS表的实例。
表3-TransIdxLPS
机率状态(σ) 新状态TransIdxLPS[σ]
... ...
9 6
10 8
11 8
12 8
... ...
上文关于图15A、15B及16所描述的技术仅表示CABAC的一个实例实施。应理解,本发明的技术不仅限于CABAC的此所述实施。举例来说,在先前BAC方法(例如,H.264/AVC中所用的BAC方法)中,表RangeLPS及TransIdxLPS经调谐用于低分辨率视频(即,通用中间格式(CIF)及四分的一CIF(QCIF))视频)。通过HEVC及例如VVC的未来编解码器,在一些情况下,大量视频内容为高清晰度(HD)且大于HD。HD或高于HD分辨率的视频内容具有不同于用于开发H.264/AVC的10年前的QCIF序列的不同统计数据。因此,来自H.264/AVC的表RangeLPS及TransIdxLPS可以太快速的方式使得状态之间的适配。即,机率状态之间的尤其在LPS出现时的转换可能会对于更光滑、更高分辨率的HD视频内容而言过好。因此,根据常规技术使用的概率模型对于HD及额外HD内容而言不那么精确。另外,由于HD视频内容包含更大范围像素值,因此H.264/AVC表不包含足够条目来考虑可存在于HD内容中的更多极值。
因此,对于HEVC及例如VVC的未来译码标准,RangeLPS及TransIdxLPS表可经修改以解释此新内容的特性。特定地,用于HEVC及未来译码标准的BAC过程可使用允许较慢适配过程的表且可解释更多极端情况(即偏斜概率)。因此,作为一个实例,RangeLPS及TransIdxLPS表可经修改以通过包含除通过H.264/AVC或HEVC的BAC中所用于外的更多机率状态及范围来实现这些目标。
图17为根据本发明的技术的可经配置以执行CABAC的实例熵编码单元1700的框图。熵编码单元1700可例如对应于或为图13的熵编码单元118的组件。将语法元素1718输入至熵编码单元1700中。如果语法元素已为二进制值语法元素(即仅具有0及1值的语法元素),则可跳过二进制化步骤。如果语法元素为非二进制值语法元素(例如,用多个位表示的语法元素,例如变换系数层级),则非二进制值语法元素通过二进制化器1720进行二进制化。二进制化器1720执行非二进制值语法元素至二进制决策序列的映像。这些二进制决策通常被称作“二进制”。举例来说,对于变换系数层级,可将层级的值分解为连续二进制,每一二进制指示系数层级的绝对值是否大于某一值。举例来说,二进制0(有时被称作有效旗标)指示变换系数层级的绝对值是否大于0。二进制1指示变换系数层级的绝对值是否大于1,等等。可针对每一非二进制值语法元素生成唯一映像。
由二进制化器1720生成的每一二进制位经馈入至熵编码单元1700的二进制算术译码侧。即,对于预定非二进制值语法元素集合,每一二进制位类型(例如,二进制位0)在下一二进制位类型(例如,二进制位1)之前经译码。可以常规模式或旁路模式执行译码。在旁路模式中,旁路译码引擎1726使用固定机率模型(例如,使用哥伦布莱斯(Golomb-Rice)或指数哥伦布(exponential Golomb)译码)执行算术译码。旁路模式通常用于更可预测语法元素。
常规模式下的译码涉及执行CABAC。常规模式CABAC用于译码二进制位值,其中二进制位的值的机率为预先经译码二进制位的可预测给定值。由上下文建模器1722确定为LPS的二进制位的机率。上下文建模器1722输出二进制位值及上下文模型(例如,机率状态σ)。上下文模型可为用于一系列二进制位的初始上下文模型,或可基于先前经译码二进制位的经译码值而确定。如上文所述,上下文建模器可基于先前经译码二进制位为MPS还是LPS而更新状态。
在通过上下文建模器1722确定上下文模型及机率状态σ之后,常规译码引擎1724对二进制位值执行BAC。根据本发明的技术,常规译码引擎1724使用包含超过64个机率状态σ的TransIdxLPS表1730执行BAC。在一个实例中,机率状态的数目为128。TransIdxLPS用于在先前二进制位(二进制位n)为LPS时确定哪一机率状态用于下一二进制位(二进制位n+1)。常规译码引擎1724还可在给定特定机率状态σ的情况下使用RangeLPS表128来确定LPS的范围值。然而,根据本发明的技术,将机率状态索引σ映像至分群索引以供用于RangeLPS表中,而非使用TransIdxLPS表1730的所有可能的机率状态σ。即,至RangeLPS表1728的每一索引可表示机率状态的总数目中的两者或大于两者。机率状态索引σ至分群索引的映像可为线性的(例如,通过除以二),或可为非线性的(例如,对数函数或映像表)。
在本发明的其它实例中,相继机率状态之间的差异可通过将参数α设定为大于0.9493而变得较小。在一个实例中,α=0.9689。在本发明的另一实例中,可将LPS出现的最高机率(p0)设定成低于0.5。在一个实例中,p0可等于0.493。
根据本发明的一或多种技术,相较于使用用于更新二进制算术译码过程中的机率状态的变量的相同值(例如,窗口大小、缩放因子(α)及机率更新速度),熵编码单元1700可使用用于不同上下文模型及/或不同语法元素的变量的不同值。举例来说,熵编码单元1700可针对多个上下文模型中的一上下文模型确定在二进制算术译码过程中用于更新机率状态的变量的值,且基于所确定的值更新机率状态。
图18为根据本发明的技术的可经配置以执行CABAC的实例熵解码单元1800的框图。熵解码单元1800可例如对应于或为图14的熵解码单元150的组件。图18的熵解码单元1800以与图17中所描述的熵编码单元1700的所述方式互逆的方式执行CABAC。将来自位流1848的经译码位输入至熵解码单元1800中。基于经译码位是使用旁路模式还是常规模式经熵译码而将所述经译码位馈入至上下文建模器1850或旁路译码引擎1852。如果经译码位以旁路模式译码,则旁路解码引擎1852可(例如)使用哥伦布莱斯或指数哥伦布解码以撷取非二进制语法元素的二进制值语法元素或二进制位。
如果经译码位以常规模式译码,则上下文建模器1850可确定经译码位的机率模型,且常规解码引擎1854可解码所述经译码位以生成非二进制值语法元素的二进制位(或语法元素自身(在语法元素为二进制值时)。在通过上下文建模器1850确定上下文模型及机率状态σ之后,常规解码引擎1854对二进制值执行BAC。根据本发明的技术,常规解码引擎1854使用包含超过64个机率状态σ的TransIdxLPS表1858执行BAC。在一个实例中,机率状态的数目为128,但可定义符合本发明的技术的其它数目个机率状态。TransIdxLPS表1858用于在先前二进制位(二进制位n)为LPS时确定哪一机率状态用于下一二进制位(二进制位n+1)。常规解码引擎1854还可在给定特定机率状态σ的情况下使用RangeLPS表1856而确定LPS的范围值。然而,根据本发明的技术,将机率状态索引σ映像至分群索引以供用于RangeLPS表1856中,而非使用TransIdxLPS表1858的所有可能的机率状态σ。即,至RangeLPS表1856的每一索引可表示机率状态的总数目中的两者或大于两者。机率状态索引σ至分群索引的映像可为线性的(例如,通过除以二),或可为非线性的(例如,对数函数或映像表)。
在本发明的其它实例中,相继机率状态之间的差异可通过将参数α设定为大于0.9493而变得较小。在一个实例中,α=0.9689。在本发明的另一实例中,可将LPS出现的最高机率(p0)设定成低于0.5。在一个实例中,p0可等于0.493。
在常规解码引擎1854解码二进制位之后,反向二进制化器1860可执行将二进制反向转换为非二进制值语法元素的值的逆向映射。
图19为展示用于解码视频数据的实例过程的流程图。图19的技术可例如通过视频解码装置执行。视频解码装置可为或包含视频解码器30、熵解码单元150、熵解码单元或上文所描述的各种其它组件中的任一者。
视频解码装置通过将二进制算术解码应用于视频数据的位流中包含的第一语法元素的经编码版本而确定第一经解码语法元素(1900)。作为通过将二进制算术解码应用于视频数据的位流中包含的第一语法元素的经编码版本而确定第一经解码语法元素的部分,视频解码装置通过基于第一参数集合而确定对于第一二进制位流中的至少一个二进制位的第一机率估计以生成第一二进制位流(1902)且将所述第一二进制位流去二进制化以形成第一经解码语法元素(1904)。视频解码装置还通过将二进制算术解码应用于视频数据的位流中包含的第二语法元素的经编码版本而确定第二经解码语法元素(1906)。作为将二进制算术解码应用于第二语法元素的经编码版本的部分,视频解码装置通过基于第二参数集合而确定对于第二二进制位流中的至少一个二进制位的第二机率估计来生成第二二进制位流(1908)且将第二二进制位流去二进制化以形成第二经解码语法元素(1910)。第二参数集合包括与第一参数集合不同的参数。视频解码装置还部分地基于第一经解码语法元素及第二经解码语法元素来重构视频数据的图片。
为了说明的目的,本发明的某些方面已经关于HEVC标准的扩展而经描述。然而,本发明中所描述的技术可用于其它视频译码过程,包含尚未开发的其它标准或专有视频译码过程。
如本发明中所描述的视频译码器可指视频编码器或视频解码器。类似地,视频译码单元可指视频编码器或视频解码器。同样地,视频译码可指视频编码或视频解码(在适用时)。在本发明中,词组“基于”可指示仅仅基于、至少部分地基于,或以某一方式基于。本发明可使用术语“视频单元”或“视频块”或“块”以指代一或多个样本块及用于译码样本的一或多个块的样本的语法结构。视频单元的实例类型可包含CTU、CU、PU、变换单元(TU)、宏块、宏块分区,等等。在一些情形中,PU的论述可与宏块或宏块分区的论述互换。视频块的实例类型可包含译码树型块、译码块及视频数据的其它类型的块。
本发明的技术可应用于支持多种多媒体应用中的任一者的视频译码,例如,空中电视广播、有线电视传输、卫星电视传输、因特网流式视频传输(例如,经由HTTP的动态自适应流式传输(DASH))、经编码至数据存储媒体上的数字视频、存储于数据存储媒体上的数字视频的解码或其它应用。
应认识到,取决于实例,本文中所描述的技术中的任一者的某些动作或事件可以不同序列经执行、可经添加、合并或完全省去(例如,并非所有所描述动作或事件为实践所述技术所必要)。此外,在某些实例中,可例如经由多线程处理、中断处理或多个处理器同时而非依序执行动作或事件。
在一或多个实例中,所描述功能可以硬件、软件、固件或其任何组合来实施。如果以软件实施,则所述功能可作为一或多个指令或码而在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体(其对应于例如数据存储媒体的有形媒体)或通信媒体,所述通信媒体包含(例如)根据通信协议促进计算机程序自一处传送至另一处的任何媒体。以此方式,计算机可读媒体通常可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波的通信媒体。数据存储媒体可为可通过一或多个计算机或一或多个处理电路存取以撷取指令、程序代码及/或数据结构以用于实施本发明中描述的技术的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁性存储装置、闪存或可用于存储呈指令或数据结构形式的所要程序代码且可由计算机存取的任何其它媒体。又,任何连接被适当地称为计算机可读媒体。举例来说,如果使用同轴缆线、光缆、双绞线、数字用户线(digitalsubscriber line;DSL)或无线技术(例如红外线、无线电及微波)自网站、服务器或其它远程源传输指令,则同轴缆线、光缆、双绞线、DSL或无线技术(例如红外线、无线电及微波)包含于媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它暂时性媒体,而实际上有关于非暂时性有形存储媒体。如本文中所使用,磁盘及光盘包含紧密光盘(CD)、激光光盘、光学光盘、数字激光视盘(DVD)、软盘及蓝光光盘,其中磁盘通常以磁性方式再生数据,而光盘通过激光以光学方式再生数据。以上各者的组合还应包含于计算机可读媒体的范围内。
本发明中所描述的功能可通过固定功能及/或可编程处理电路执行。例如,指令可通过固定功能及/或可编程处理电路执行。这些处理电路可包含一或多个处理器,例如一或多个数字信号处理器(DSP)、通用微处理器、特殊应用集成电路(ASIC)、场可编程逻辑阵列(FPGA)或其它等效整合或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指前述结构或适于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文所描述的功能可经提供于经配置以供编码及解码或并入于经组合编码解码器中的专用硬件及/或软件模块内。此外,所述技术可完全实施于一或多个电路或逻辑组件中。处理电路可以各种方式耦接至其它组件。举例来说,处理电路可经由内部装置互连件、有线或无线网络连接件或另一通信媒体耦接至其它组件。
本发明的技术可实施于多种装置或装置中,包含无线手持机、集成电路(IC)或IC集合(例如,芯片集合)。在本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但未必要求由不同硬件单元来实现。相反,如上文所描述,可将各种单元组合于编解码器硬件单元中,或通过互操作性硬件单元(包含如上文所描述的一或多个处理器)的集合与合适软件及/或固件一起组合来提供所述单元。
已描述各种实例。这些及其它实例在随附权利要求书的范围内。

Claims (21)

1.一种解码视频数据的方法,所述方法包括:
通过将二进制算术解码应用于所述视频数据的位流中包含的第一语法元素的经编码版本来确定第一经解码语法元素,其中将所述二进制算术解码应用于所述第一语法元素的所述经编码版本包括:
生成第一二进制位流,其中生成所述第一二进制位流包括基于初始参数集合而确定用于所述第一二进制位流中的至少一个二进制位的第一机率估计;
将所述第一二进制位流去二进制化以形成所述第一经解码语法元素;
通过将所述二进制算术解码应用于所述视频数据的所述位流中包含的第二语法元素的经编码版本来确定第二经解码语法元素,其中将所述二进制算术解码应用于所述第二语法元素的所述经编码版本包括:
生成第二二进制位流,其中生成所述第二二进制位流包括基于更新后参数集合而确定用于所述第二二进制位流中的至少一个二进制位的第二机率估计,其中所述更新后参数集合包括与所述初始参数集合不同的参数,其中基于所述更新后参数集合而确定用于所述第二二进制位流中的所述至少一个二进制位的所述第二机率估计包括根据以下等式确定所述第二机率估计:
Figure FDA0003353728790000011
其中i=1,2,…n,
Figure FDA0003353728790000012
其中针对i=1,2,…n的ai和针对i=1,2,…n的wi包括所述更新后参数集合,且wi
Figure FDA0003353728790000013
均不等于0,针对k=1,2,…n的b[k]表示二进制位流的第k个二进制位,针对i=1,2,…n的qi[k+1]表示针对二进制位流的第k+1个二进制位的中间机率估计值,且p[k+1]表示针对二进制位流的第k+1个二进制位的所述第二机率估计;
将所述第二二进制位流去二进制化以形成所述第二经解码语法元素;及
部分地基于所述第一经解码语法元素及所述第二经解码语法元素来重构所述视频数据的图片。
2.根据权利要求1所述的解码视频数据的方法,其中基于所述更新后参数集合而确定用于所述第二二进制位流中的所述至少一个二进制位的所述第二机率估计包括响应于超出阈值的进展的测量而确定所述更新后参数集合。
3.根据权利要求2所述的解码视频数据的方法,其中所述进展的测量包括多个预先经解码二进制位,所述方法进一步包括:
使用所述更新后参数集合以响应于超出所述阈值的所述进展的测量及响应于对应新视频数据块的所述第二经解码语法元素而确定用于所述第二二进制位流中的所述至少一个二进制位的所述第二机率估计。
4.根据权利要求2所述的解码视频数据的方法,其中所述进展的测量包括块的位置。
5.根据权利要求2所述的解码视频数据的方法,其中所述进展的测量包括多个预先经解码像素。
6.根据权利要求1所述的解码视频数据的方法,其进一步包括:
通过将所述二进制算术解码应用于所述视频数据的所述位流中包含的第三语法元素的经编码版本来确定第三经解码语法元素,其中将所述二进制算术解码应用于所述第三语法元素的所述经编码版本包括:
生成第三二进制位流,其中生成所述第三二进制位流包括对于所述第三二进制位流中的至少一个二进制位,基于第三参数集合而确定用于所述第三二进制位流中的所述至少一个二进制位的第三机率估计,其中所述第三参数集合包括与所述初始参数集合及所述更新后参数集合不同的参数;
将所述第三二进制位流去二进制化以形成所述第三经解码语法元素;及
部分地基于所述第一经解码语法元素、所述第二经解码语法元素及所述第三经解码语法元素来重构所述视频数据的所述图片。
7.一种用于解码视频数据的装置,所述装置包括:
存储器,其经配置以存储视频数据的位流;
一或多个处理器,其与所述存储器通信且实施于处理电路中,其中所述一或多个处理器经配置以执行以下步骤:
通过将二进制算术解码应用于所述视频数据的位流中包含的第一语法元素的经编码版本而确定第一经解码语法元素,其中为将所述二进制算术解码应用于所述第一语法元素的所述经编码版本,所述一或多个处理器进一步经配置以执行以下步骤:
通过基于初始参数集合确定对于第一二进制位流中的至少一个二进制位的第一机率估计来生成第一二进制位流;
将所述第一二进制位流去二进制化以形成所述第一经解码语法元素;
通过将所述二进制算术解码应用于所述视频数据的所述位流中包含第二语法元素的经编码版本来确定第二经解码语法元素,其中为将所述二进制算术解码应用于所述第二语法元素的所述经编码版本,所述一或多个处理器进一步经配置以执行以下步骤:
通过基于更新后参数集合确定用于第二二进制位流中的至少一个二进制位的第二机率估计来生成第二二进制位流,其中所述更新后参数集合包括与所述初始参数集合不同的参数,其中基于所述更新后参数集合而确定用于所述第二二进制位流中的所述至少一个二进制位的所述第二机率估计包括根据以下等式确定所述第二机率估计:
Figure FDA0003353728790000031
其中i=1,2,…n,
Figure FDA0003353728790000032
其中针对i=1,2,…n的ai和针对i=1,2,…n的wi包括所述更新后参数集合,且wi
Figure FDA0003353728790000033
均不等于0,针对k=1,2,…n的b[k]表示二进制位流的第k个二进制位,针对i=1,2,…n的qi[k+1]表示针对二进制位流的第k+1个二进制位的中间机率估计值,且p[k+1]表示针对二进制位流的第k+1个二进制位的所述第二机率估计;
将所述第二二进制位流去二进制化以形成所述第二经解码语法元素;及
部分地基于所述第一经解码语法元素及所述第二经解码语法元素来重构所述视频数据的图片。
8.根据权利要求7所述的用于解码视频数据的装置,其中为基于所述更新后参数集合确定用于所述第二二进制位流中的所述至少一个二进制位的所述第二机率估计,所述一或多个处理器进一步经配置以响应于超出阈值的进展的测量而确定所述更新后参数集合。
9.根据权利要求8所述的用于解码视频数据的装置,其中所述进展的测量包括多个预先经解码二进制位,且其中所述一或多个处理器进一步经配置以执行以下步骤:
使用所述更新后参数集合以响应于超出所述阈值的所述进展的测量及响应于对应新视频数据块的所述第二经解码语法元素而确定用于所述第二二进制位流中的所述至少一个二进制位的所述第二机率估计。
10.根据权利要求8所述的用于解码视频数据的装置,其中所述进展的测量包括块的位置。
11.根据权利要求8所述的用于解码视频数据的装置,其中所述进展的测量包括多个预先经解码像素。
12.根据权利要求7所述的用于解码视频数据的装置,其中所述一或多个处理器经进一步配置以执行以下步骤:
通过将所述二进制算术解码应用于所述视频数据的所述位流中包含的第三语法元素的经编码版本来确定第三经解码语法元素,其中为将所述二进制算术解码应用于所述第三语法元素的所述经编码版本,所述一或多个处理器进一步经配置以执行以下步骤:
生成第三二进制位流,其中生成所述第三二进制位流包括对于所述第三二进制位流中的至少一个二进制位,基于第三参数集合而确定用于所述第三二进制位流中的所述至少一个二进制位的第三机率估计,其中所述第三参数集合包括与所述初始参数集合及所述更新后参数集合不同的参数;
将所述第三二进制位流去二进制化以形成所述第三经解码语法元素;及
部分地基于所述第一经解码语法元素、所述第二经解码语法元素及所述第三经解码语法元素来重构所述视频数据的所述图片。
13.根据权利要求7所述的用于解码视频数据的装置,其中所述装置包括无线通信装置,所述装置进一步包括经配置以接收所述视频数据的位流的接收器。
14.根据权利要求13所述的用于解码视频数据的装置,其中所述无线通信装置包括电话手机,且其中所述接收器经配置以根据无线通信标准对包括所述经编码视频数据的信号进行解调。
15.一种存储指令的计算机可读媒体,所述指令在由一或多个处理器执行时使所述一或多个处理器执行以下步骤:
通过将二进制算术解码应用于视频数据的位流中包含的第一语法元素的经编码版本来确定第一经解码语法元素,其中为将所述二进制算术解码应用于所述第一语法元素的所述经编码版本,所述指令使得所述一或多个处理器执行以下步骤:
生成第一二进制位流,其中为生成所述第一二进制位流,所述指令使得所述一或多个处理器基于初始参数集合确定用于所述第一二进制位流中的至少一个二进制位的第一机率估计;
将所述第一二进制位流去二进制化以形成所述第一经解码语法元素;
通过将所述二进制算术解码应用于所述视频数据的所述位流中包含的第二语法元素的经编码版本来确定第二经解码语法元素,其中为将所述二进制算术解码应用于所述第二语法元素的所述经编码版本,所述指令使得所述一或多个处理器执行以下步骤:
生成第二二进制位流,其中为生成所述第二二进制位流,所述指令使得所述一或多个处理器基于更新后参数集合确定用于所述第二二进制位流中的所述至少一个二进制位的第二机率估计,其中所述更新后参数集合包括与所述初始参数集合不同的参数,其中为基于所述更新后参数集合确定用于所述第二二进制位流中的所述至少一个二进制位的所述第二机率估计,所述指令使得所述一或多个处理器根据以下等式确定所述第二机率估计:
Figure FDA0003353728790000051
其中i=1,2,…n,
Figure FDA0003353728790000052
其中针对i=1,2,…n的ai和针对i=1,2,…n的wi包括所述更新后参数集合,且wi
Figure FDA0003353728790000053
均不等于0,针对k=1,2,…n的b[k]表示二进制位流的第k个二进制位,针对i=1,2,…n的qi[k+1]表示针对二进制位流的第k+1个二进制位的中间机率估计值,且p[k+1]表示针对二进制位流的第k+1个二进制位的所述第二机率估计;
将所述第二二进制位流去二进制化以形成所述第二经解码语法元素;及
部分地基于所述第一经解码语法元素及所述第二经解码语法元素来重构所述视频数据的图片。
16.根据权利要求15所述的存储指令的计算机可读媒体,其中为基于所述更新后参数集合确定用于所述第二二进制位流中的所述至少一个二进制位的所述第二机率估计,所述指令使得所述一或多个处理器响应于超出阈值的进展的测量而确定所述更新后参数集合。
17.根据权利要求16所述的存储指令的计算机可读媒体,其中所述进展的测量包括多个预先经解码二进制位,其中所述指令使得所述一或多个处理器执行以下步骤:
使用所述更新后参数集合以响应于超出所述阈值的所述进展的测量及响应于对应新视频数据块的所述第二经解码语法元素而确定用于所述第二二进制位流中的所述至少一个二进制位的所述第二机率估计。
18.根据权利要求16所述的存储指令的计算机可读媒体,其中所述进展的测量包括块的位置。
19.根据权利要求16所述的存储指令的计算机可读媒体,其中所述进展的测量包括多个预先经解码像素。
20.根据权利要求15所述的存储指令的计算机可读媒体,其中所述指令使所述一或多个处理器执行以下步骤:
通过将所述二进制算术解码应用于所述视频数据的所述位流中包含的第三语法元素的经编码版本来确定第三经解码语法元素,其中为将所述二进制算术解码应用于所述第三语法元素的所述经编码版本,所述指令使得所述一或多个处理器执行以下步骤:
生成第三二进制位流,其中生成所述第三二进制位流包括对于所述第三二进制位流中的至少一个二进制位,基于第三参数集合而确定用于所述第三二进制位流中的所述至少一个二进制位的第三机率估计,其中所述第三参数集合包括与所述初始参数集合及所述更新后参数集合不同的参数;
将所述第三二进制位流去二进制化以形成所述第三经解码语法元素;及
部分地基于所述第一经解码语法元素、所述第二经解码语法元素及所述第三经解码语法元素来重构所述视频数据的所述图片。
21.一种用于解码视频数据的设备,所述设备包括:
用于通过将二进制算术解码应用于所述视频数据的位流中包含的第一语法元素的经编码版本来确定第一经解码语法元素的装置,其中用于确定所述第一经解码语法元素的装置的所述装置包括:
生成第一二进制位流的装置,其中用于生成所述第一二进制位流的所述装置包括用于基于初始参数集合确定用于所述第一二进制位流中的所述至少一个二进制位的第一机率估计的装置;
用于将所述第一二进制位流去二进制化以形成所述第一经解码语法元素的装置;
用于通过将所述二进制算术解码应用于所述视频数据的所述位流中包含的第二语法元素的经编码版本来确定第二经解码语法元素的装置,其中用于确定所述第二经解码语法元素的所述装置包括:
用于生成第二二进制位流的装置,其中用于生成所述第二二进制位流的所述装置包括用于基于更新后参数集合确定用于所述第二二进制位流中的至少一个二进制位的第二机率估计的装置,其中所述更新后参数集合包括与所述初始参数集合不同的参数,其中用于基于更新后参数集合确定用于所述第二二进制位流中的至少一个二进制位的第二机率估计的装置包括根据以下等式确定所述第二机率估计的装置:
Figure FDA0003353728790000071
其中i=1,2,…n,
Figure FDA0003353728790000072
其中针对i=1,2,…n的ai和针对i=1,2,…n的wi包括所述更新后参数集合,且wi
Figure FDA0003353728790000073
均不等于0,针对k=1,2,…n的b[k]表示二进制位流的第k个二进制位,针对i=1,2,…n的qi[k+1]表示针对二进制位流的第k+1个二进制位的中间机率估计值,且p[k+1]表示针对二进制位流的第k+1个二进制位的所述第二机率估计;
用于将所述第二二进制位流去二进制化以形成所述第二经解码语法元素的装置;及
用于部分地基于所述第一经解码语法元素及所述第二经解码语法元素来重构所述视频数据的图片的装置。
CN201880064752.0A 2017-10-10 2018-10-10 用于解码视频数据的方法、装置和计算机可读媒体 Active CN111183647B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762570560P 2017-10-10 2017-10-10
US62/570,560 2017-10-10
US16/155,708 2018-10-09
US16/155,708 US10791341B2 (en) 2017-10-10 2018-10-09 Binary arithmetic coding with progressive modification of adaptation parameters
PCT/US2018/055214 WO2019075063A1 (en) 2017-10-10 2018-10-10 BINARY ARITHMETIC CODING WITH PROGRESSIVE CHANGE OF ADAPTATION PARAMETERS

Publications (2)

Publication Number Publication Date
CN111183647A CN111183647A (zh) 2020-05-19
CN111183647B true CN111183647B (zh) 2022-03-29

Family

ID=65992760

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880064752.0A Active CN111183647B (zh) 2017-10-10 2018-10-10 用于解码视频数据的方法、装置和计算机可读媒体

Country Status (8)

Country Link
US (1) US10791341B2 (zh)
EP (1) EP3695609A1 (zh)
CN (1) CN111183647B (zh)
AU (1) AU2018347343A1 (zh)
BR (1) BR112020006572A2 (zh)
CA (1) CA3075491A1 (zh)
TW (1) TW201924339A (zh)
WO (1) WO2019075063A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102646890B1 (ko) * 2015-10-13 2024-03-12 삼성전자주식회사 영상을 부호화 또는 복호화하는 방법 및 장치
US10554988B2 (en) 2017-03-22 2020-02-04 Qualcomm Incorporated Binary arithmetic coding with parameterized probability estimation finite state machines
KR20190140862A (ko) * 2018-06-12 2019-12-20 한국전자통신연구원 문맥 적응적 이진 산술 부호화 방법 및 장치
US10411727B1 (en) * 2018-10-10 2019-09-10 Ambarella, Inc. High throughput hardware unit providing efficient lossless data compression in convolution neural networks
CN117560489A (zh) 2019-05-14 2024-02-13 北京字节跳动网络技术有限公司 用于残差编解码的上下文建模
CN113994679A (zh) * 2019-06-21 2022-01-28 北京字节跳动网络技术有限公司 关于上下文编解码二进制位的数量的限制
CN111757119B (zh) * 2020-05-21 2022-05-13 瑞芯微电子股份有限公司 一种软硬件协同工作实现vp9 prob更新的方法和存储设备
GB2595651A (en) 2020-05-29 2021-12-08 Univ Southampton Sterlisation of endoscopes

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7379608B2 (en) * 2003-12-04 2008-05-27 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. Arithmetic coding for transforming video and picture data units
CN102650969A (zh) * 2011-02-27 2012-08-29 浙江大学 一种获取、更新bin的上下文概率模型值的方法及装置
CN107113445A (zh) * 2014-11-04 2017-08-29 三星电子株式会社 用于二进制算术编/解码的概率更新方法及使用该方法的熵编/解码器

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100873636B1 (ko) * 2005-11-14 2008-12-12 삼성전자주식회사 단일 부호화 모드를 이용하는 영상 부호화/복호화 방법 및장치
US7991237B2 (en) * 2007-06-28 2011-08-02 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method and image decoding method
EP2532156A1 (en) * 2010-02-03 2012-12-12 Thomson Licensing Valid replacement data in encoded video
JP5676744B2 (ja) * 2010-04-13 2015-02-25 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン エントロピー符号化
US20120014433A1 (en) * 2010-07-15 2012-01-19 Qualcomm Incorporated Entropy coding of bins across bin groups using variable length codewords
CN107517384B (zh) * 2011-06-16 2020-06-30 Ge视频压缩有限责任公司 解码器、编码器、解码方法、编码方法以及存储介质
EP2760201A4 (en) 2011-06-28 2015-06-17 Samsung Electronics Co Ltd METHOD AND DEVICE FOR ENTROPY CODING AND DECODING
US9363510B2 (en) 2012-03-02 2016-06-07 Qualcomm Incorporated Scan-based sliding window in context derivation for transform coefficient coding
US10368072B2 (en) 2015-05-29 2019-07-30 Qualcomm Incorporated Advanced arithmetic coder
US10554988B2 (en) 2017-03-22 2020-02-04 Qualcomm Incorporated Binary arithmetic coding with parameterized probability estimation finite state machines

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7379608B2 (en) * 2003-12-04 2008-05-27 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. Arithmetic coding for transforming video and picture data units
CN102650969A (zh) * 2011-02-27 2012-08-29 浙江大学 一种获取、更新bin的上下文概率模型值的方法及装置
CN107113445A (zh) * 2014-11-04 2017-08-29 三星电子株式会社 用于二进制算术编/解码的概率更新方法及使用该方法的熵编/解码器

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Arithmetic coding with context-dependent double-window adaptation response;Amir Said;《JVET》;20170714;全文 *
Context-Based Adaptive Binary Arithmetic Coding;Detlev Marpe;《IEEE》;20030701;全文 *
HIGH PRECISION PROBABILITY ESTIMATION FOR CABAC;Alexander Aishin;《IEEE》;20131117;全文 *
Multi-parameter probability up-date for CABAC;E.Alshina;《JCT-VC》;20110702;全文 *
高效视频编码;沈燕飞;《计算机学报》;20131115;全文 *

Also Published As

Publication number Publication date
CN111183647A (zh) 2020-05-19
WO2019075063A1 (en) 2019-04-18
US10791341B2 (en) 2020-09-29
CA3075491A1 (en) 2019-04-18
TW201924339A (zh) 2019-06-16
EP3695609A1 (en) 2020-08-19
US20190110080A1 (en) 2019-04-11
AU2018347343A1 (en) 2020-04-02
BR112020006572A2 (pt) 2020-10-06

Similar Documents

Publication Publication Date Title
JP7368414B2 (ja) 画像予測方法および装置
CN111183647B (zh) 用于解码视频数据的方法、装置和计算机可读媒体
US9215473B2 (en) Sub-slices in video coding
JP5792382B2 (ja) ビデオコーディングにおける最後の有意変換係数のスキャン順序での位置の導出
CN112514386B (zh) 网格编解码量化系数编解码
KR102600727B1 (ko) 파라미터화된 확률 추정 유한 상태 머신들을 이용한 이진 산술 코딩
TW201705760A (zh) 進階之算術寫碼器
JP2016511975A (ja) イントラ予測のためのモード決定の簡略化
JP2014534733A (ja) ビデオコード化のデブロッキングフィルタリングのための境界強度値の決定
CN111316642A (zh) 信令图像编码和解码划分信息的方法和装置
JP2023554264A (ja) 高ビット深度ビデオコーディング用のriceパラメータ導出のための低複雑度履歴の使用
CN112352430B (zh) 用于二进制算术编码的有效加权概率估计

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant