CN107667533A - 高级算术译码器 - Google Patents

高级算术译码器 Download PDF

Info

Publication number
CN107667533A
CN107667533A CN201680030202.8A CN201680030202A CN107667533A CN 107667533 A CN107667533 A CN 107667533A CN 201680030202 A CN201680030202 A CN 201680030202A CN 107667533 A CN107667533 A CN 107667533A
Authority
CN
China
Prior art keywords
context
window size
decoding
video
entropy coding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201680030202.8A
Other languages
English (en)
Other versions
CN107667533B (zh
Inventor
张莉
陈建乐
赵欣
李翔
刘鸿彬
陈颖
马尔塔·卡切维奇
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 CN107667533A publication Critical patent/CN107667533A/zh
Application granted granted Critical
Publication of CN107667533B publication Critical patent/CN107667533B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • H03M7/4012Binary arithmetic codes
    • H03M7/4018Context adapative binary arithmetic codes [CABAC]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6011Encoder aspects
    • 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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/17Methods 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 an image region, e.g. an object
    • H04N19/174Methods 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 an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • 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
    • 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/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

Abstract

一种熵译码视频数据的实例方法包含:针对在上下文自适应译码过程中使用以熵译码所述视频数据的语法元素的值的多个上下文中的上下文确定多个窗口大小中的窗口大小;基于所述上下文的概率状态熵译码所述语法元素的所述值的二进制数;基于所述窗口大小及所述经译码二进制数更新所述上下文的概率状态。所述实例方法还包含基于所述上下文的所述经更新概率状态用相同上下文熵译码下一二进制数。

Description

高级算术译码器
本申请案主张2015年5月29日申请的美国临时申请案第62/168,503号的权益,所述申请案的全部内容以引用的方式并入本文中。
技术领域
本发明涉及视频译码,且更特定地说涉及用于视频数据的二进制算术译码的技术。
背景技术
数字视频能力可并入到广泛范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或台式计算机、数字相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电话会议装置及类似者。数字视频装置实施视频压缩技术(例如由MPEG-2、MPEG-4、ITU-T H.263、ITU-TH.264/MPEG-4第10部分、高级视频译码(AVC)、高效率视频译码(HEVC)标准所定义的标准及这些标准的扩展中所描述的那些视频压缩技术)以更有效地发射、接收及存储数字视频信息。
视频压缩技术包含空间预测及/或时间预测以减少或去除视频序列中所固有的冗余。对于基于块的视频译码,可将视频帧或切片分割成块。可进一步分割每一块。帧内译码(I)帧或切片中的块是使用关于同一帧或切片中的相邻块中的参考样本的空间预测来编码。帧间译码(P或B)帧或切片中的块可使用关于同一帧或切片中的相邻块中的参考样本的空间预测或关于其它参考帧中的参考样本的时间预测。空间或时间预测导致待译码块的预测性块。残余数据表示待译码的原始块与预测性块之间的像素差。
根据指向形成预测性块的参考样本的块的运动向量及指示经译码块与预测性块之间的差异的残余数据来编码经帧间译码块。根据帧内译码模式及残余数据来编码经帧内译码块。为了进行进一步压缩,可将残余数据从像素域变换到变换域,从而导致可接着进行量化的残余变换系数。可按特定次序扫描最初布置成二维阵列的经量化的变换系数,以产生变换系数的一维向量以用于熵译码。
可利用不同熵译码过程来译码残余变换系数、运动向量信息、语法元素及其它相关联信息。不同熵译码及其它数据压缩过程的实例包含:上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、概率区间分割熵译码(PIPE)、哥伦布(Golomb)译码、哥伦布莱斯(Golomb-Rice)译码及指数哥伦布译码。
发明内容
一般来说,本发明描述用于执行视频译码的技术。更特定地说,本发明描述用于通过不同窗口大小执行基于上下文的熵译码的实例技术。在一些实例中,本发明中描述的技术可通过不同窗口大小启用CABAC的性能。在其它实例中,本发明中描述的技术可应用于其它熵译码器,所述其它熵译码器将上下文用于译码符号,例如基于上下文的可变长度译码。
在一个实例中,一种用于熵译码视频数据的方法包含针对在上下文自适应熵译码过程(例如,CABAC或CAVLC过程)中使用以熵译码语法元素的值的多个上下文中的上下文确定多个窗口大小中的窗口大小。在此实例中,所述方法还包含熵译码语法元素的值的二进制数,且基于窗口大小及经译码二进制数更新上下文的概率状态。在此实例中,所述方法还包含基于上下文的经更新概率状态通过相同上下文熵译码下一二进制数。
在另一实例中,一种用于熵译码视频数据的设备包含一或多个处理器及存储器,所述存储器经配置以存储在上下文自适应熵译码过程中使用以熵译码视频数据的语法元素的值的多个上下文。在此实例中,所述一或多个处理器经配置以针对多个上下文中的上下文确定窗口大小。在此实例中,所述一或多个处理器进一步经配置以:基于上下文的概率状态熵译码语法元素的值的二进制数;基于窗口大小及经译码二进制数更新上下文的概率状态;和基于上下文的经更新概率状态基于上下文的经更新概率状态通过相同上下文译码下一二进制数。
在另一实例中,一种用于熵译码视频数据的设备包含:用于针对在上下文自适应译码过程中使用以熵译码视频数据的语法元素的值的多个上下文中的上下文确定多个窗口大小中的窗口大小的装置;用于基于上下文的概率状态熵译码语法元素的值的二进制数的装置;用于基于窗口大小及经译码二进制数更新上下文模型的概率状态的装置。在此实例中,所述设备还包含用于基于上下文模型的经更新概率状态通过相同上下文熵译码下一二进制数的装置。
在另一实例中,一种计算机可读存储媒体存储指令,所述指令在执行时使得视频译码装置的一或多个处理器进行以下操作:针对在上下文自适应译码过程中使用以熵译码视频数据的语法元素的值的多个上下文中的上下文确定多个窗口大小中的窗口大小;基于上下文的概率状态熵译码语法元素的值的二进制数;基于窗口大小及经译码二进制数更新上下文的概率状态;和基于上下文模型的经更新概率状态通过相同上下文熵译码下一二进制数。
在另一实例中,一种计算机可读存储媒体存储视频数据,所述视频数据在由视频解码装置处理时使得视频解码装置的一或多个处理器进行以下操作:针对使用于上下文自适应译码过程中以熵译码语法元素的值的多个上下文中的上下文确定多个窗口大小中的窗口大小;基于上下文的概率状态熵译码语法元素的值的二进制数;基于窗口大小及经译码二进制数更新上下文的概率状态;和基于上下文模型的经更新概率状态用相同上下文熵译码下一二进制数。
在附图及以下描述中阐述本发明的一或多个方面的细节。本发明中描述的技术的其它特征、目标及优点将从描述及图式且从权利要求书显而易见。
附图说明
图1是说明实例视频编码及解码系统的框图。
图2A及2B是说明二进制算术译码中的范围更新过程的概念图。
图3是说明二进制算术译码中的输出过程的概念图。
图4是说明实例视频编码器的框图。
图5是说明视频编码器中的上下文自适应二进制算术译码器的框图。
图6是说明实例视频解码器的框图。
图7是说明视频解码器中的上下文自适应二进制算术译码器的框图。
图8说明针对给定二进制数值使用常规译码模式的二进制算术编码过程。
图9是说明基于残余四分树的实例变换方案的概念图。
图10是说明基于系数群的实例系数扫描的概念图。
图11是说明根据本发明的一或多种技术的用于通过不同窗口大小执行基于上下文的熵编码的实例过程的流程图。
图12是说明根据本发明的一或多种技术的用于通过不同窗口大小执行基于上下文的熵解码的实例过程的流程图。
具体实施方式
本发明的技术大体上涉及基于块的混合视频译码中的熵译码模块。这些技术可应用于任何现有视频编解码器,例如HEVC(高效率视频译码)或这些技术可以是任何未来视频译码标准或其它专有或非专有译码技术中的高效译码工具。出于实例及解释的目的,大体上关于HEVC(或ITU-T H.265)及/或ITU-T H.264描述本发明的技术。另外,出于实例及解释的目的,大体上关于CABAC译码器描述本发明的技术,但应理解,本发明的技术可适用于其它基于上下文的熵译码器,例如上下文自适应可变长度译码器。
图1是说明根据具有可变窗口大小的CABAC设计可利用译码数据的技术的实例视频编码及解码系统10的框图。如图1中所展示,系统10包含源装置12,其提供稍后将由目的地装置14解码的经编码视频数据。具体地说,源装置12经由计算机可读媒体16将视频数据提供到目的地装置14。源装置12及目的地装置14可包括广泛范围的装置中的任一者,包含台式计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、电话手机(例如,所谓的“智能”手机)、所谓的“智能”平板计算机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置或其类似者。在一些情况下,源装置12及目的地装置14可经装备以用于无线通信。
目的地装置14可经由计算机可读媒体16接收待解码的经编码视频数据。计算机可读媒体16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一个实例中,计算机可读媒体16可包括使得源装置12能够实时将经编码视频数据直接发射到目的地装置14的通信媒体。可根据通信标准(例如,无线通信协议)调制经编码视频数据,且将其发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如,射频(RF)频谱或一或多个物理发射线。通信媒体可形成基于包的网络(例如,局域网、广域网或例如因特网的全球网络)的一部分。通信媒体可包含路由器、交换器、基站或可用于促进从源装置12到目的地装置14的通信的任何其它设备。
在一些实例中,经编码数据可从输出接口22输出到存储装置。类似地,可通过输入接口从存储装置存取经编码数据。存储装置可包含多种分布式或本地存取的数据存储媒体中的任一者,例如,硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器或用于存储经编码视频数据的任何其它合适的数字存储媒体。在另一实例中,存储装置可对应于文件服务器或可存储由源装置12产生的经编码视频的另一中间存储装置。目的地装置14可经由流式传输或下载从存储装置存取所存储的视频数据。文件服务器可为能够存储经编码视频数据且将所述经编码视频数据发射到目的地装置14的任何类型的服务器。实例文件服务器包含网页服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置或本地磁盘机。目的地装置14可经由任何标准数据连接(包含因特网连接)存取经编码视频数据。此数据连接可包含适于存取存储于文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等),或两者的组合。来自存储装置的经编码视频数据的发射可为流式传输发射、下载发射,或其组合。
本发明的技术不必限于无线应用或设定。所述技术可应用于支持多种多媒体应用中的任一者的视频译码,例如,空中电视广播、有线电视发射、卫星电视发射、因特网流式传输视频发射(例如,经由HTTP的动态自适应流式传输(DASH))、经编码到数据存储媒体上的数字视频、存储于数据存储媒体上的数字视频的解码或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频发射从而支持例如视频流式传输、视频播放、视频广播及/或视频电话的应用。
在图1的实例中,源装置12包含视频源18、视频编码器20及输出接口22。目的地装置14包含输入接口28、视频解码器30及显示装置31。根据本发明,源装置12的视频编码器20可经配置以根据增强型CABAC设计将所述技术应用于译码数据。在其它实例中,源装置及目的地装置可包含其它组件或布置。举例来说,源装置12可从外部视频源18(例如,外部相机)接收视频数据。同样地,目的地装置14可与外部显示装置介接,而非包含集成式显示装置。
图1的所说明系统10仅为一个实例。可由任何数字视频编码及/或解码装置执行根据增强型CABAC设计用于译码数据的技术。尽管本发明的技术一般由视频编码装置执行,但所述技术还可由视频编码器/解码器(通常被称为“编解码器”)执行。此外,本发明的技术还可由视频预处理器执行。源装置12及目的地装置14仅仅是源装置12在其中产生经译码视频数据以供发射到目的地装置14的此类译码装置的实例。在一些实例中,装置12、14可以大体上对称的方式操作,使得装置12、14中的每一者包含视频编码及解码组件。因此,系统10可支持视频装置12、14之间的单向或双向视频传播,以用于(例如)视频流式传输、视频播放、视频广播或视频电话。
源装置12的视频源18可包含视频捕获装置,例如相机、含有先前捕获的视频的视频存档及/或用以从视频内容提供者接收视频的视频馈入接口。作为另一替代,视频源18可产生基于计算机图形的数据作为源视频,或实况视频、存档视频及计算机产生的视频的组合。在一些情况下,如果视频源18是相机,那么源装置12及目的地装置14可形成所谓的相机电话或视频电话。然而,如上文所提及,本发明中描述的技术一般可适用于视频译码,且可适用于无线及/或有线应用。在每一情况下,可由视频编码器20编码所捕获、经预先捕获或计算机产生的视频。可接着通过输出接口22将经编码视频信息输出到计算机可读媒体16上。
计算机可读媒体16可包含暂时性媒体,例如无线广播或有线网络发射,或非暂时性存储媒体(即,非暂时性存储媒体),例如硬盘、闪存驱动器、紧密光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未展示)可从源装置12接收经编码视频数据,且(例如)经由网络发射将经编码视频数据提供到目的地装置14。类似地,媒体生产设施(例如光盘冲压设施)的计算装置可从源装置12接收经编码视频数据且生产含有经编码视频数据的光盘。当通过视频解码装置进行处理时,光盘上的经编码视频数据可使得视频解码装置根据本文所公开的不同实例解码视频数据。因此,在不同实例中,可理解计算机可读媒体16包含不同形式的一或多个计算机可读媒体。
目的地装置14的输入接口28从计算机可读媒体16接收信息。计算机可读媒体16的信息可包含由视频编码器20定义的语法信息,所述语法信息还供视频解码器30使用,其包含描述块及其它经译码单元(例如,GOP)的特性及/或处理的语法元素。显示装置32将经解码视频数据显示给用户,且可包括多种显示装置中的任一者,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
视频编码器20及视频解码器30可根据视频译码标准操作,例如,高效率视频译码(HEVC)标准,还被称作ITU-T H.265。替代地,视频编码器20及视频解码器30可根据其它专有或行业标准(例如,ITU-T H.264标准,替代地被称作MPEG-4第10部分,高级视频译码(AVC))或这些标准的扩展而操作。然而,本发明的技术并不限于任何特定译码标准。视频译码标准的其它实例包含MPEG-2及ITU-T H.263。尽管图1中未展示,但在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器集成,且可包含适当多路复用器-多路分用器单元或其它硬件及软件,以处置共同数据流或单独数据流中的音频及视频两者的编码。如果适用,那么多路复用器-多路分用器单元可遵照ITU H.223多路复用器协议或例如用户数据报协议(UDP)的其它协议。
视频编码器20及视频解码器30各自可实施为多种合适的编码器电路中的任一者,例如,一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件,或其任何组合。当所述技术部分地在软件中实施时,装置可将用于软件的指令存储于合适的非暂时性计算机可读媒体中,且在硬件中使用一或多个处理器来执行所述指令以执行本发明的技术。视频编码器20及视频解码器30中的每一者可包含于一或多个编码器或解码器中,编码器或解码器中的任一者可集成为相应装置中的组合式编码器/解码器(编解码器)的部分。
一般来说,根据HEVC,视频帧或图片可划分成包含明度及色度样本两者的树块或最大译码单元(LCU)的序列。位流内的语法数据可定义LCU的大小,LCU就像素的数目来说是最大译码单元。切片包含按译码次序的许多连续树块。视频帧或图片可分割成一或多个切片。每一树块可根据四分树而拆分成若干译码单元(CU)。一般来说,四分树数据结构每CU包含一个节点,其中根节点对应于树块。如果将CU拆分成四个子CU,那么对应于所述CU的节点包含四个叶节点,所述四个叶节点中的每一者对应于所述子CU中的一者。
四分树数据结构中的每一节点可提供对应CU的语法数据。举例来说,所述四分树中的节点可包含分裂旗标,从而指示是否将对应于所述节点的CU分裂成子CU。针对CU的语法元素可经递归地定义,且可取决于所述CU是否分裂成子CU。如果CU未经进一步分裂,那么其被称作叶CU。在本发明中,即使不存在原始叶CU的明显分裂,叶CU的四个子CU也将被称作叶CU。举例来说,如果16×16大小的CU未进一步分裂,那么四个8×8子CU也将被称作叶CU,尽管16×16CU从未分裂。
除CU不具有大小区别外,CU具有与H.264标准的宏块类似的用途。举例来说,可将树块分裂成四个子节点(还被称作子CU),且每一子节点又可为父节点且可被分裂成另外四个子节点。被称作四分树的叶节点的最终的未分裂子节点包括译码节点,所述译码节点也被称作叶CU。与经译码位流相关联的语法数据可定义可分裂树块的最大次数(其被称作最大CU深度),且还可定义所述译码节点的最小大小。因此,位流还可定义最小译码单元(SCU)。本发明使用术语“块”以在HEVC的上下文中指代CU、预测单元(PU)或变换单元(TU)中的任一者,或在其它标准(例如,H.264/AVC中的其宏块及子块)的上下文中指代类似数据结构。
CU包含译码节点以及与所述译码节点相关联的预测单元(PU)及变换单元(TU)。CU的大小大体上对应于译码节点的大小,且大体上为正方形形状。CU的大小可在8×8像素达到具有最大64×64像素或更大像素的树块的大小的范围内。每一CU可含有一或多个PU及一或多个TU。与CU相关联的语法数据可描述(例如)将CU分割成一或多个PU。分割模式可在CU经跳过或直接模式编码、帧内预测模式编码抑或帧间预测模式编码之间有区别。PU可分割成非正方形形状。与CU相关联的语法数据还可描述(例如)根据四分树将CU分割成一或多个TU。TU可为正方形或非正方形(例如,矩形)形状。
HEVC标准允许根据TU进行变换,所述变换对于不同CU可不同。TU的大小通常是基于针对经分割LCU定义的给定CU内的PU的大小,但可能并非总是此状况。TU的大小通常与PU相同或比PU小。在一些实例中,可使用被称为“残余四分树”(RQT)的四分树结构而将对应于CU的残余样本再分为更小单元。可将RQT的叶节点称作变换单元(TU)。与TU相关联的像素差值可经变换以产生可加以量化的变换系数。
叶CU可包含一或多个预测单元(PU)。一般来说,PU表示对应于所述对应CU的全部或一部分的空间区域,且可包含用于针对PU检索及/或产生参考样本的数据。此外,PU包含与预测有关的数据。举例来说,当PU经帧内模式编码时,PU的数据可包含于残余四分树(RQT)中,所述RQT可包含描述用于对应于所述PU的TU的帧内预测模式的数据。RQT还可被称作变换树。在一些实例中,可在分叶CU语法而非RQT中用信号表示帧内预测模式。作为另一实例,当PU经帧间模式编码时,PU可包含用于定义PU的运动信息(例如一或多个运动向量)的数据。定义PU的运动向量的数据可描述(例如)运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量所指向的参考图片,及/或运动向量的参考图片列表(例如,列表0、列表1或列表C)。
具有一或多个PU的叶CU还可包含一或多个变换单元(TU)。如上文所论述,可使用RQT(还称作TU四分树结构)来指定所述变换单元。举例来说,分裂旗标可指示叶CU是否分裂成四个变换单元。接着,可将每一变换单元进一步分裂为其它若干子TU。当TU未进一步分裂时,其可被称为叶TU。一般来说,对于帧内译码来说,属于叶CU的所有叶TU共享同一帧内预测模式。也就是说,一般应用同一帧内预测模式来计算叶CU的所有TU的预测值。对于帧内译码,视频编码器可使用帧内预测模式将每一叶TU的残余值计算为CU对应于所述TU的部分与原始块之间的差。TU不必限于PU的大小。因此,TU可大于或小于PU。对于帧内译码,PU可与用于同一CU的对应叶TU共置。在一些实例中,叶TU的最大大小可对应于对应叶CU的大小。
此外,叶CU的TU还可与相应四分树数据结构(被称作残余四分树(RQT))相关联。也就是说,叶CU可包含指示所述叶CU如何被分割成TU的四分树。TU四分树的根节点大体对应于叶CU,而CU四分树的根节点大体对应于树块(或LCU)。将RQT的未被分裂的TU称作叶TU。一般来说,除非另有指示,否则本发明分别使用术语CU及TU来指叶CU及叶TU。
视频序列通常包含一系列视频帧或图片。图片群组(GOP)大体上包括一系列视频图片中的一或多者。GOP可包含GOP的标头中、图片中的一或多者的标头中或别处的语法数据,所述语法数据描述包含于GOP中的图片的数目。图片的每一切片可包含描述所述相应切片的编码模式的切片语法数据。视频编码器20通常对个别视频切片内的视频块进行操作,以便编码视频数据。视频块可对应于CU内的译码节点。视频块可具有固定或变化的大小,且可根据指定译码标准而在大小方面不同。
作为实例,可针对不同大小的PU执行预测。假设特定CU的大小是2N×2N,那么可对2N×2N或N×N的PU大小执行帧内预测,且对2N×2N、2N×N、N×2N或N×N的对称PU大小执行帧间预测。还可针对2N×nU、2N×nD、nL×2N及nR×2N的PU大小执行帧间预测的不对称分割。在不对称分割中,CU的一方向未分割,而另一方向分割成25%及75%。CU的对应于25%分割的部分由“n”随后“上(Up)”、“下(Down)”、“左(Left)”或“右(Right)”的指示来指示。因此,例如,“2N×nU”是指水平地以顶部的2N×0.5N PU及底部的2N×1.5N PU分割的2N×2NCU。
在本发明中,“N×N”与“N乘N”可互换地使用以指视频块在垂直尺寸与水平尺寸方面的像素尺寸,例如,16×16像素或16乘16像素。一般来说,16×16块在垂直方向上将具有16个像素(y=16)且在水平方向上将具有16个像素(x=16)。同样地,N×N块通常在垂直方向上具有N个像素且在水平方向上具有N个像素,其中N表示非负整数值。可按行及列来布置块中的像素。此外,块未必需要在水平方向上与在垂直方向上具有相同数目个像素。举例来说,块可包括N×M个像素,其中M未必等于N。
在使用CU的PU的帧内预测性或帧间预测性译码之后,视频编码器20可计算CU的TU的残余数据。PU可包括描述在空间域(还被称作像素域)中产生预测性像素数据的方法或模式的语法数据,且TU可包括在对残余视频数据应用变换(例如离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换)之后变换域中的系数。残余数据可对应于未经编码的图片的像素与对应于PU的预测值之间的像素差。视频编码器20可形成包含表示CU的残余数据的经量化变换系数的TU。也就是说,视频编码器20可计算残余数据(以残余块的形式)、变换残余块以产生变换系数的块,且接着量化变换系数以形成经量化变换系数。视频编码器20可形成包含经量化变换系数的TU,以及其它语法信息(例如,TU的分裂信息)。
如上文所述,在任何变换以产生变换系数后,视频编码器20可执行变换系数的量化。量化通常指代对变换系数进行量化以可能减少用以表示系数的数据的量,从而提供进一步压缩的过程。所述量化过程可减小与所述系数中的一些或所有相关联的位深度。举例来说,可在量化期间将n位值降值舍位到m位值,其中n大于m。
在量化之后,视频编码器可扫描变换系数,从而从包含经量化变换系数的二维矩阵产生一维向量。所述扫描可经设计以将较高能量(且因此较低频率)系数置于阵列前部,及将较低能量(且因此较高频率)系数置于阵列后部。在一些实例中,视频编码器20可利用预定义扫描次序来扫描经量化变换系数以产生可经熵编码的串行化向量。在其它实例中,视频编码器20可执行自适应扫描。在扫描经量化变换系数以形成一维向量之后,视频编码器20可(例如)根据本发明中描述的上下文自适应二进制算术译码(CABAC)设计来熵编码一维向量。视频编码器20还可熵编码与经编码视频数据相关联的供视频解码器30用于解码视频数据的语法元素。
一般来说,视频解码器30执行尽管与由视频编码器20执行的过程互逆但与其大体上类似的过程,以解码经编码数据。举例来说,视频解码器30逆量化且反变换所接收TU的系数以再生残余块。视频解码器30使用经用信号表示预测模式(帧内预测或帧间预测)以形成经预测块。接着视频解码器30(在逐像素基础上)使经预测块与残余块组合以再生原始块。可执行额外处理,例如执行解块过程以减少沿块边界的视觉伪影。另外,视频解码器30可以尽管与视频编码器20的CABAC编码过程互逆但与其大体上类似的方式使用CABAC解码语法元素。
本发明可大体上指代将某些信息“用信号表示”到另一装置(例如,视频解码器30)的视频编码器20。然而,应理解,视频编码器20可通过使某些语法元素与视频数据的不同经编码部分相关联来用信号表示信息。也就是说,视频编码器20可通过将某些语法元素存储到视频数据的不同经编码部分的标头来“用信号表示”数据。在一些情况下,此类语法元素可在由视频解码器30接收及解码之前经编码及存储(例如,存储到存储装置32)。因此,术语“用信号表示”可大体上指用于解码经压缩视频数据的语法或其它数据的通信,而不管此通信是实时抑或几乎实时发生抑或历时时间跨度而发生,例如,可能在编码时在将语法元素存储到媒体时发生,接着可由解码装置在将语法元素存储到此媒体之后的任何时间处检索语法元素。
以下部分将更详细描述BAC及CABAC技术。一般来说,BAC是递归区间再分程序。BAC在H.264/AVC及H.265/HEVC视频译码标准中的CABAC过程中用于编码二进制数。BAC译码器的输出为表示最终经译码概率区间内的概率的值或指标的二进制流。概率区间是由范围及下端值指定。范围是概率区间的扩展。低点是译码区间的下限。
将算术译码应用于视频译码描述于D.Marpe、H.Schwarz及T.Wiegand的“H.264/AVC视频压缩标准中的基于上下文的自适应二进制算术译码(Context-Based AdaptiveBinary Arithmetic Coding in the H.264/AVC Video Compression Standard)”(用于视频技术的电路及系统,IEEE汇刊,2003年7月,第7期,第13卷,)中。CABAC涉及三个主要功能,即,二进制化、上下文模型化及算术译码。二进制化指代将语法元素映射到二进制符号(或“二进制数”)的功能。二进制符号还可被称作“二进制数串”。上下文模型化指代估计不同二进制数的概率的功能。算术译码指代基于所估计概率将二进制数压缩到位的后续功能。不同装置及/或其模块(例如,二进制算术译码器)可执行算术译码功能。
在HEVC中使用若干不同二进制化过程,包含一元(U)、截断一元(TU)、k级(kth-order)指数哥伦布(EGk)及固定长度(FL)。不同二进制化过程的细节描述于V.Sze及M.Budagavi的“HEVC中的高吞吐量CABAC熵译码(High throughput CABAC entropy codingin HEVC)”(用于视频技术的电路及系统上的IEEE汇刊(TCSVT),2012年12月,第12期,第22卷,第1778到1791页)中。
CABAC中的每一上下文(即,概率模型)由状态表示。每一状态(σ)隐含地表示特定符号(例如,二进制数)是最不可能符号(LPS)的概率(pσ)。符号可以是LPS或最可能符号(MPS)。符号是二进制,且因此,MPS及LPS可是0或1。概率针对对应上下文经估计且(隐含地)用以使用算术译码器来熵译码符号。
BAC的过程由取决于待译码的上下文及正经译码的二进制数的值改变其内部值‘范围’及‘低点’的状态机处理。取决于上下文的状态(即,其概率),将范围划分为rangeMPSσ(stateσ中最可能符号的范围)及rangeLPSσ(stateσ中最不可能符号的范围)。理论上,概率stateσ的rangeLPSσ值由乘法运算导出:
rangeLPSσ=range×pσ
其中pσ是选择LPS的概率。当然,MPS的概率是1-pσ。等效地,rangeMPSσ等于范围减去rangeLPSσ。BAC反复地更新取决于待译码的上下文的状态的范围、当前范围以及正经译码的二进制数(即,是等于LPS或MPS的二进制数)的值。
图2A及2B展示在二进制数n处的此过程的实例。在图2A的实例100中,在二进制数n处,二进制数2处的范围包含通过LPS(pσ)给定特定上下文状态(σ)的概率而给定的RangeMPS及RangeLPS。实例100展示当二进制数n的值等于MPS时在二进制数n+1处的范围的更新。在此实例中,低点保持相同,但在二进制数n+1处的范围的值缩小到在二进制数n处的RangeMPS的值。图2B的实例102展示当二进制数n的值不等于MPS(即,等于LPS)时在二进制数n+1处的范围的更新。在此实例中,低点移动到在二进制数n处的RangeLPS的较低范围值。另外,在二进制数n+1处的范围的值缩小到在二进制数n处的RangeLPS的值。
在HEVC中,用9个位表达范围且用10个位表达低点。存在以足够精度维持范围及低点值的再归一化过程。再归一化出现在每当范围小于256时。因此,在再归一化之后范围始终等于或大于256。取决于范围及低点的值,BAC将‘0’或‘1’输出到位流,或更新内部变量(被称作BO:突出位)以保留用于未来输出。图3展示取决于范围的BAC输出的实例。举例来说,当范围及低点高于特定阈值(例如,512)时,将‘1’输出到位流。当范围及低点低于特定阈值(例如,512)时,将‘0’输出到位流。当范围及低点在某些阈值之间时,不输出任何事物到位流。替代地,递增BO值且编码下一二进制数。
在HEVC的CABAC上下文模型中,存在128种状态。存在可从0到63的64种可能的LPS概率(由状态σ表示)。每一MPS可以是零或一。因此,128种状态是64种状态概率乘以MPS的2个可能值(0或1)。因此,可将概率模型存储为7位条目。在每一7位条目中,可分配6个位以用于表示概率状态,且可分配1个位以用于可适用上下文存储器中的最可能符号(MPS)。
为减少导出LPS范围(rangeLPSσ)的计算,针对所有情况的结果经预先计算且存储为HEVC中的查找表中的近似值。因此,可在无任何乘法运算的情况下通过使用简单表查找来获得LPS范围。对于一些装置或应用来说避免乘法运算可以是到关重要的,这是由于此操作可引起多种硬件架构中的显著时延。
可使用4列预先计算的LPS范围表而非乘法运算。将范围划分为四个片段。可由问题(range>>6)&3导出片段索引。实际上,片段索引是通过从实际范围移位及丢弃位来导出。以下表1展示可能范围及其对应索引。
表1-范围索引
范围 256-319 320-383 384-447 448-511
(range>>6)&3 0 1 2 3
LPS范围表接着具有64个条目(每一概率状态有一者)乘以4(每一范围索引有一者)。每一条目为LPS范围,即,将范围乘以LPS概率的值。以下表2中展示此表的部分的实例。表2描绘概率状态9到12。在HEVC的一个提议中,概率状态可在0到63的范围内。
表2-RangeLPS
在每一片段(即,范围值)中,每一概率状态σ的LPS范围为预定义的。换句话说,概率状态σ的LPS范围经量化为四个值(即,每一范围索引有一个值)。在给定点处使用的特定的LPS范围取决于范围属于哪一片段。表中所使用的可能的LPS范围的数目为表列数(即,可能的LPS范围值的数目)与LPS范围精度之间的折衷。一般来说,更多列产生LPS范围值的更小量化错误,而且增加对用以存储表的更多存储器的需求。更少列增加量化错误,而且减少需要用以存储表的存储器。
如上文所述,每一LPS概率状态具有对应概率。在HEVC中,根据为递归方程的以下方程(1)针对LPS(最不可能符号)导出64个代表性概率值pσ∈[0.01875,0.5]。
在上述实例中,所述组概率中的所选比例因子α≈0.9492及基数N=64两者表示概率表示的准确度与对快速适应的需要之间的良好折衷。在一些实例中,更接近1的值α可产生具有较高准确度(“稳态行为”)的缓慢适应,而可针对非静止情况通过以经降低准确度为代价减少值α来实现更快适应。比例因子α可对应于指示先前经编码二进制数的数目的窗口大小,所述先前经编码二进制数对当前更新具有显著影响。MPS(最可能符号)的概率等于1减去LPS(最不可能符号)的概率。换句话说,可由公式(1-LPS)表示MPS的概率,其中‘LPS’表示LPS的概率。因此,可由HEVC中的CABAC表示的概率范围为[0.01875,0.98125(=1-0.01875)]。
由于用于译码语法元素的值的位(或“二进制数”)的上下文的概率状态经更新,CABAC为自适应的,以便遵循信号统计(即,先前经译码二进制数的值,例如,对于语法元素来说)。更新过程如下。对于给定概率状态,更新取决于状态索引及经识别为LPS或MPS的经编码符号的值。作为更新过程的结果,新的概率状态经导出,其包含潜在经修改LPS概率估计及(必要时)经修改MPS值。
上下文交换可出现在译码每一二进制数之后。倘若二进制数值等于MPS,那么给定状态索引仅增加1。这用于除当MPS出现在状态索引62处时之外的所有状态,其中LPS概率已处于其最小值(或等效地,达到最大MPS概率)。在此情况下,状态索引保持固定,直到LPS可见或最末二进制数值经编码(将特殊终止状态用于最末二进制数值的特殊情况)。当LPS出现时,通过以特定量递减状态索引来改变状态索引,如以下方程中所展示。一般来说,此规则应用于具有以下异常的LPS每次出现时。假设已在具有索引σ=0的状态处编码LPS,所述索引对应于等概率情况,那么状态索引保持固定,但将切换MPS值使得LPS及MPS的值将被互换。在所有其它情况下,不管哪一符号已经编码,MPS值将未更改。一般来说,视频译码器可根据以下方程(2)导出新的概率状态,所述方程展示给定LPS可能性pold与其经更新对应物pnew之间的关系。
为了降低复杂度,视频译码器可实施CABAC,使得可通过各自具有多个条目的至多两个表实现所有转换规则。作为一个实例,可通过各自具有7位无正负号整数值的128个条目的至多两个表(例如,以下表3及表4)实现所有转换规则。作为另一实例,可通过各自具有6位无正负号整数值的63条目的至多两个表(例如,HEVC中的表9-41)实现所有转换规则。在更新之后,视频译码器可在MPS值经译码时将给定状态索引i定义为新的状态索引TransIdxMPS[i],或在LPS值经译码时定义为TransIdxLPS[i]。
表3
表4
在一些实例中,视频译码器可通过单一表TransIdxLPS确定状态转换,所述表在已观测到LPS的情况下针对给定状态索引σ确定新的经更新状态索引TransIdxLPS[σ]。可通过使状态索引仅(饱和)增加固定值1获得MPS驱动转换,从而得到经更新状态索引min(σ+1,62)。
如上文所论述,上下文模型化提供准确概率估计,所述估计是达成较高译码效率的促进因子。因此,上下文模型化是自适应过程。不同上下文可用于不同二进制数,且可基于先前译码二进制数的值更新上下文的概率。具有类似分布的二进制数常常共享同一上下文。可基于语法元素类型、语法元素中的二进制数位置(binIdx)、明度/色度信息,相邻信息等选择每一二进制数的上下文。
在译码给定切片之前,基于一或多个预定义值初始化概率模型。举例来说,给定由qp表示的输入量化参数及由initVal表示的预定义值,可根据以下方程(3)导出概率模型(由状态及MPS表示)的7位条目。
经导出状态索引隐含地包含MPS信息。更特定地说,当状态索引是偶数(even)值时,MPS值等于0。相反地,当状态索引是奇数(odd)值时,MPS值等于1。“initVal”的值在具有8位精度的范围[0,255]内。预定义值“initVal”取决于切片。换句话说,使用概率模型的三组上下文初始化参数,每一组分别在I切片、P切片及B切片中。以此方式,经配置以执行CABAC的视频编码装置经启用以在三个初始化表之间选择这些切片类型,使得可实现对不同译码情境及/或不同类型的视频内容的更优选拟合。
根据HEVC,另一方法可应用于允许通过B(或P)切片初始化一个P(或B)切片。相反地,所述方法可应用于允许通过P切片初始化一个B切片。相关语法元素描述于下表5(其对应于HEVC的章节7.3.6.1)中,且相关语义及解码过程在表5之后的下文中描述。
表5
表5的语法元素的语义可定义如下:
cabac_init_present_flag等于1指定cabac_init_flag存在于指代PPS的切片标头中。cabac_init_present_flag等于0指定cabac_init_flag不存在于指代PPS的切片标头中。
如下文描述的解码过程中所定义,cabac_init_flag指定用于确定上下文变量的初始化过程中所使用的初始化表的方法。当cabac_init_flag不存在时,推断其等于0。
描述符:
ae(v):经上下文自适应算术熵译码的语法元素。
b(8):具有位串(8个位)的任何模式的位组。
f(n):使用n个位书写(从左到右)的固定模式位串,其中首先为左方位。
se(v):经带正负号整数0阶指数哥伦布译码的语法元素,其中首先为左方位。
u(n):使用n个位的无正负号整数。当n为语法表中的“v”时,位数目以取决于其它语法元素的值的方式变化。
ue(v):经无正负号整数0阶指数哥伦布译码的语法元素,其中首先为左方位。
HEVC的表9-4为需要初始化的三种初始化类型中的每一者提供上下文索引(ctxIdx)。表9-4进一步包含表号(ctxTable),所述表号包含初始化所需的initValue的值。对于P及B切片类型,initType的导出取决于cabac_init_flag语法元素的值。视频译码器可导出变量,如使用由以下伪码描述的操作导出initType:
if(slice_type==I)
initType=0
else if(slice_type==P)
initType=cabac_init_flag?2:1
else
initType=cabac_init_flag?1:2
新的算术译码器描述于以下文件中:Alshin等人的“用于CABAC的多参数概率更新(Multi-parameter probability up-date for CABAC)”(文件:JCTVC-F254,ITU-T SG16WP 3及ISO/IEC JTC 1/SC 29/WG 11的JCT-VC,第6次会议:意大利,托里诺,2011年7月14日到22日(在下文中为“JCTVC-F254”))及Alshin等人的“CE1(子集B):用于CABAC的多参数概率更(CE1(subset B):Multi-parameter probability up-date for CABAC)”(文件:JCTVC-G764,ITU-T SG 16WP 3及ISO/IEC JTC 1/SC 29/WG 11的JCT-VC,第7次会议:瑞士,日内瓦,2011年11月21日到30日(在下文中为“JCTVC-G764”))。在JCTVC-F254及JCTV-G764中,将每一概率表示为从1到32767的整数。如此,通过16位的精度进行所有计算。JCTVC-F254及JCTV-G764中提出的译码器将具有无乘法公式的均匀网格及显式计算用于概率更新,而非将AVC CABAC中利用的查找表(例如,如上文所论述的TransIdxMPS及TransIdxLPS)及指数网格用于概率。
假设概率Pi由概率索引表示,所述概率索引是从0到2k的整数Pi(例如,其中k等于15)(例如,如以下方程(4)所展示)。
pi=Pi/2k (4)
随后用于概率的最常使用的后继公式在现代算术编解码器中更新(例如,如由以下方程(5)所展示)。
pnew=αy+(1-α)pold (5)
在方程(5)中,如果当前符号与最可能符号(MPS)匹配,那么y等于“零”,否则y等于“一”。此公式(即,方程(5))为最不可能符号(LPS)的概率提供估计值。类似于以上论述,参数α可对应于指示先前经编码二进制数的数目的窗口大小,所述先前经编码二进制数对当前更新具有显著影响。
如果假设窗口大小(W)为二的幂(W=1/2M,M为正整数),且将方程(4)中的Pi给定为输入pold,,那么可以如下展示的方程(6)重写经更新概率索引。
Pi=((2k)>>M)+Pi-(Pi>>M) (6)
在由JCTVC-F254及JCTV-G764提出的一种概率更新模型中,M对于所有上下文来说为固定的且仅一个寄存器用于记录经更新概率。在一个实例中,M经设定等于6。也就是说,窗口大小等于64。概率更新过程可由以下方程(7)表示。
Pnew=((2k)>>6)+Pi-(Pi>>6) (7)
由JCTVC-F254及JCTV-G764提出的技术的主要想法是通过不同窗口大小使用若干概率估计(而非仅一个)且将其组合为加权平均值以用于下一二进制数概率预测。以下方程(8)及(9)说明由JCTVC-F254及JCTV-G764提出的技术的实例。方程(8)中的计算对于每一概率pi来说是独立的。
pi new=Wi y+(1-Wi)pi old (8)
pnew=Σβi pi new (9)
方程(8)中的计算对于每一概率pi来说是独立的。
在由JCTVC-F254及JCTV-G764提出的方法中,用于概率估计的线性组合由对应W0=16及W1=256(Wi=1/αi)的两个被加数构成,如方程(10)及方程(11)中所展示。在方程(10)及方程(11)中,如果最末译码二进制数是“1”,那么Y=215,且如果最末译码二进制数是“0”,“>>M”是针对M个位的算术右移位,那么Y=0。
P0=(Y>>4)+P0-(P0>>4) (10)
P1=(Y>>8)+P1-(P0>>8) (11)
P=(P0+P1+1)>>1 (12)
对于短的过渡期,仅具有较快更新速度的短距离预测(即,更小窗口大小)是优选的。但在稳定之后,靠近最优选值概率二的更新模型对于大多数上下文来说为更准确的。JCTVC-F254及JCTV-G764提出在最末初始化以后引入更新计数器。在每一更新之后,计数增加一。直到计数超过某一阈值,将仅使用如由方程(10)所定义的短“窗口大小”模型。当计数达到阈值时,应切换到如上文由方程(12)所定义的更准确两种概率更新模型。通过512×64查找表执行由JCTVC-F254及JCTV-G764提出的范围计算过程。
根据由JCTVC-F254及JCTV-G764提出的方法,应用不同上下文初始化方法。具体地说,针对如方程(13)中所展示的每一上下文预定义两个参数(分别地由asCtxInit[0]及asCtxInit[1]表示)。
对于一种概率更新模型,由具有15位精度的iP0表示上下文。对于两种概率更新模型,首先将另一变量iP1设定等于iP0且进一步要求已经译码的二进制数的数目的计数。在由JCTVC-F254及JCTV-G764提出的方法中,asCtxInit[0]及asCtxInit[1]两者都存储于16位中。
然而,在一些实例中,上述技术(即,HEVC的CABAC技术及由JCTVC-F254及JCTV-G764提出的修改)可具有可降低译码效率及/或次优地利用译码器系统资源的一或多个问题。
作为一个实例,在基于算术译码器技术(例如,如HEVC或H.264/AVC中所使用)的上述查找表中,概率更新是基于具有固定窗口大小的固定表(即,TransIdxLPS及TransIdxMPS)。固定窗口大小的此使用使得更新速度是固定的。然而,针对给定CTU或切片,语法元素出现且需待译码的频率可完全不同。对与针对给定CTU或切片以不同频率出现的语法元素组合的固定更新速度的限制可导致较不频繁出现的语法元素的所估计概率是次优的。举例来说,对于一个CU,可用信号表示高达2的inter_pred_idc的值,而一个CU内的变换系数可经若干次译码。在此情况下,当对这些语法元素使用相同更新速度时,inter_pred_idc等于1的所估计概率在译码一个完整切片之后可仍是次优的,即使变换系数的概率可变为相对最优选。
作为另一实例,在基于计数器技术(例如,如由JCTVC-F254及JCTV-G764所提出)的上述算术译码器中,概率更新速度是固定的,而可能不需要导致针对较不频繁选择的语法元素的低效率的高精度(例如,可能概率索引可为[1,215-1])。
作为另一实例,在基于计数器技术的算术译码器的两种概率更新模型组件中,两个状态参数(概率索引)必须经存储及更新,所述两个状态参数可不合需要地限制CABAC过程的吞吐量。
作为又一实例,在图像/视频译码系统中,可使用数百个上下文。在由JCTVC-F254及JCTV-G764提出的技术中,每上下文要求32个位,而对HEVC中的算术译码器来说仅8个位为足够的。因此,用于在由JCTVC-F254及JCTV-G764提出的技术中的上下文初始化的预定义值的存储增加300%,对于关于存储的硬件实施来说所述增加可以是非所需的。
根据本发明的一或多种技术,视频译码器(例如,视频编码器20及/或视频解码器30)可将不同窗口大小用于不同上下文。举例来说,与将固定窗口大小用于所有上下文的HEVC相反,视频译码器可在更新第一上下文时使用第一窗口大小且在更新第二上下文时使用第二不同窗口大小。在一些实例中,视频译码器可将相对较小窗口大小用于不频繁使用的上下文,且可将相对较大窗口大小用于频繁使用的上下文。通过使用更紧密适合上下文使用的频率的窗口大小,视频译码器可通过准确度与将固定窗口大小用于所有上下文的适应速度之间的更有利平衡来更新上下文。以此方式,本发明的技术可改善CABAC的效率,CABAC可使得视频译码器能够减少编码视频数据所需的位数目。
本发明中所描述的技术可(例如)在视频编码器、视频解码器或组合式视频编码器解码器(编解码器)内执行。特定地说,此类技术可在视频编码器的熵编码单元及/或视频解码器的熵解码单元中执行。所述技术可(例如)在CABAC过程内执行,所述CABAC过程可经配置以支持视频译码,例如根据HEVC标准的方面的视频译码。熵编码及解码单元可以互逆或相反方式应用译码过程,(例如)以编码或解码各种视频数据中的任一者,例如与残余视频数据相关联的经量化变换系数、运动向量信息、语法元素及可在视频编码及/或视频解码过程中使用的其它类型的信息。
图4是说明如本发明中所描述的可经配置以利用BAC译码技术的视频编码器20的实例的框图。将出于说明的目的在HEVC译码的上下文中描述视频编码器20,但关于其它译码标准或方法并不限制本发明。此外,视频编码器20可经配置以根据HEVC的范围扩展实施技术。
视频编码器20可对视频切片内的视频块执行帧内译码及帧间译码。帧内译码依赖于空间预测以减少或去除给定视频图片内的视频的空间冗余。帧间译码依赖于时间预测或视图间预测以减少或去除视频序列的邻近图片内的视频的时间冗余或减少或去除其它视图中的视频冗余。
在图4的实例中,视频编码器20包含视频数据存储器40、预测处理单元42、参考图片存储器64、求和器50、变换处理单元52、量化处理单元54及熵编码单元56。预测处理单元42又包含运动估计单元44、运动补偿单元46及帧内预测单元48。为了视频块重新构建,视频编码器20还包含逆量化处理单元58、逆变换处理单元60及求和器62。还可包含解块滤波器(图4中未展示)以便对块边界进行滤波,从而从经重构建视频中去除块效应伪影。如果需要,解块滤波器通常将对求和器62的输出进行滤波。除解块滤波器之外,还可使用额外回路滤波器(回路中或回路后)。
视频数据存储器40可存储待由视频编码器20的组件编码的视频数据。存储于视频数据存储器40中的视频数据可(例如)从视频源18获得。参考图片存储器64是存储供由视频编码器20用于编码视频数据(例如,以帧内译码模式或帧间译码模式,还被称作帧内预测译码模式或帧间预测译码模式)的参考视频数据的解码图片缓冲器(DPB)的一个实例。视频数据存储器40及参考图片存储器64可由多种存储器装置中的任一者形成,例如动态随机存取存储器(DRAM)(包含同步DRAM(SDRAM))、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。视频数据存储器40及参考图片存储器64可由相同的存储器装置或单独存储器装置提供。在各种实例中,视频数据存储器40可与视频编码器20的其它组件一起在芯片上,或相对于那些组件在芯片外。
在编码过程期间,视频编码器20接收待译码的视频图片或切片。图片或切片可划分为多个视频块。运动估计单元44及运动补偿单元46执行所接收视频块相对于一或多个参考图片中的一或多个块的帧间预测性译码以提供时间压缩或提供视图间压缩。帧内预测单元48可替代地执行所接收视频块相对于与待译码块相同的图片或切片中的一或多个相邻块的帧内预测性译码以提供空间压缩。视频编码器20可执行多个译码遍次(例如,以选择用于视频数据的每一块的适当译码模式)。
此外,分割单元(未展示)可基于对先前译码遍次中的先前分割方案的评估而将视频数据的块分割为子块。举例来说,分割单元可首先将图片或切片分割成LCU,且基于率失真分析(例如,率失真优化)将所述LCU中的每一者分割成子CU。预测处理单元42可进一步产生指示将LCU分割为子CU的四分树数据结构。四分树的叶节点CU可包含一或多个PU及一或多个TU。
预测处理单元42可(例如)基于错误结果选择帧内或帧间译码模式中的一者,且将所得经帧内或帧间译码块提供到求和器50以产生残余块数据及提供到求和器62以重构建用作参考图片的经编码块。预测处理单元42还将语法元素(例如,运动向量、帧内模式指示符、分割信息及其它此类语法信息)提供到熵编码单元56。
运动估计单元44及运动补偿单元46可高度集成,但出于概念性目的而单独说明。由运动估计单元44所执行的运动估计为产生估计视频块的运动的运动向量的程序。举例来说,运动向量可指示在当前视频图片内的视频块的PU相对于在参考图片(或其它经译码单元)内的预测性块(其相对于在所述当前图片(或其它经译码单元)内正经译码的当前块)的位移。预测性块是就像素差来说被发现紧密地匹配待译码块的块,所述像素差可通过绝对差总和(SAD)、平方差总和(SSD)或其它差度量确定。在一些实例中,视频编码器20可计算存储于参考图片存储器64中的参考图片的子整数像素位置的值。举例来说,视频编码器20可内插所述参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元44可相对于全像素位置及分数像素位置执行运动搜索并输出具有分数像素精确度的运动向量。
运动估计单元44通过比较PU的位置与参考图片的预测性块的位置来计算经帧间译码切片中的视频块的PU的运动向量。参考图片可选自识别存储于参考图片存储器64中的一或多个参考图片的一或多个参考图片列表(RPL)。运动估计单元44将所计算的运动向量发送到熵编码单元56及运动补偿单元46。在一些实例中,运动估计单元44可将所选参考图片的指示发送到熵编码单元56。
由运动补偿单元46执行的运动补偿可涉及基于由运动估计单元44确定的运动向量来提取或产生预测性块。而且,在一些实例中,运动估计单元44及运动补偿单元46可在功能上集成。在接收到当前块的PU的运动向量后,运动补偿单元46即可在参考图片列表(RPL)中的一者中定位运动向量指向的预测性块。如下文所论述,求和器50通过从正经译码的当前块的像素值减去预测性块的像素值来形成残余视频块,从而形成像素差值。一般来说,运动估计单元44相对于明度分量执行运动估计,且运动补偿单元46将基于明度分量计算的运动向量用于色度分量与明度分量两者。预测处理单元42还可产生与供视频解码器30在解码视频切片的视频块时使用的视频块及视频切片相关联的语法元素。
作为由运动估计单元44及运动补偿单元46执行的帧间预测的替代方案,帧内预测单元48可对当前块进行帧内预测,如上文所描述。具体地说,帧内预测单元48可确定待用以编码当前块的帧内预测模式。在一些实例中,帧内预测单元48可(例如)在单独编码遍次期间使用不同帧内预测模式编码块,且帧内预测单元48可从多个帧内预测模式选择适当的帧内预测模式以供使用。
举例来说,帧内预测单元48可针对不同经测试帧内预测模式使用率失真分析计算率失真值,且从所述经测试模式当中选择具有最优选率失真特性的帧内预测模式。率失真分析大体上确定经编码块与原始、未编码块(其经编码以产生经编码块)之间的失真(或误差)量,以及用以产生经编码块的位率(即,位的数目)。帧内预测单元48可根据不同经编码块的失真及速率来计算比率以确定哪一帧内预测模式展现所述块的最优选率失真值。在一些实例中,多个帧内预测模式中的每一者可具有可由帧内预测单元48用信号表示(即,到视频解码器)的对应模式索引。
视频编码器20通过从正经译码的原始视频块减去来自预测处理单元42的预测数据而形成残余视频块。求和器50表示执行此减法运算的一或多个组件。
变换处理单元52将变换(例如离散余弦变换(DCT)或概念上类似的变换)应用于残余块,从而产生包括残余变换系数值的视频块。变换处理单元52可执行概念上类似于DCT的其它变换。还可使用小波变换、整数变换、子频带变换或其它类型的变换。在任何情况下,变换处理单元52将变换应用于残余块,从而产生残余变换系数块。所述变换可将残余信息从像素值域转换到变换域,例如频域。
变换处理单元52可将所得变换系数发送到量化处理单元54。量化处理单元54量化变换系数以进一步减小位率。所述量化过程可减小与所述系数中的一些或所有相关联的位深度。可通过调整量化参数来修改量化程度。在一些实例中,量化处理单元54可接着对包含经量化变换系数的矩阵执行扫描。替代地,熵编码单元56可执行所述扫描。
在将变换系数扫描到一维阵列后,熵编码单元56即可将例如上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、概率区间分割熵译码(PIPE)、哥伦布译码、哥伦布莱斯译码、指数哥伦布译码、基于语法的上下文自适应二进制算术译码(SBAC)的熵译码或另一熵译码方法应用于系数。根据本发明的实例,尽管对各种不同熵译码过程进行参考,但熵编码单元56可经配置以如上文所述执行BAC译码。
为了执行CAVLC,熵编码单元56可选择用于待发射的符号的可变长度码。可构建VLC中的码字,使得相对较短码对应于更可能的符号,而较长码对应于较不可能的符号。以此方式,相对于(例如)针对待发射的每一符号使用相等长度码字,使用VLC可达成位节省。
为执行CABAC,熵编码单元56可选择适用于特定上下文的上下文,以编码待发射的符号。上下文可涉及(例如)相邻值是否是非零。熵编码单元56还可熵编码语法元素,例如代表所选变换的信号。在通过熵编码单元56熵译码之后,可将所得经编码视频发射到另一装置(例如,视频解码器30)或加以存档以供稍后发射或检索。
根据本发明的一或多种技术,熵编码单元56可在熵编码供视频解码器(例如,视频解码器30)解码视频数据时使用的数据(例如,表示为一维二进制向量的语法元素值)时选择不同窗口大小。下文参考图5论述熵编码单元56的一个实例的其它细节。
逆量化处理单元58及逆变换处理单元60分别应用逆量化及逆变换以重构建像素域中的残余块(例如,供稍后用作参考块)。
运动补偿单元46还可将一或多个内插滤波器应用于参考块以计算用于运动估计的子整数像素值。求和器62将经重构建残余块添加到由运动补偿单元46产生的运动补偿预测块,以产生用于存储于参考图片存储器64中的经重构建视频块。经重构建视频块可由运动估计单元44及运动补偿单元46用作参考块,以对后续视频图片中的块进行帧间译码。在一些实例中,例如在将当前图片用作预测当前图片的参考图片的情况下,运动补偿单元46及/或求和器62可在译码当前图片时以规律时间间隔更新由参考图片存储器64存储的当前图片的版本。作为一个实例,运动补偿单元46及/或求和器62可在译码当前图片的每一块之后更新由参考图片存储器64存储的当前图片的版本。举例来说,在当前块的样本作为初始化值存储于参考图片存储器64中的情况下,运动补偿单元46及/或求和器62可通过当前块的经重构建样本更新参考图片存储器64存储的当前图片的当前的样本。
滤波单元(未展示)可执行各种滤波处理。举例来说,滤波单元可执行解块。也就是说,滤波单元可接收形成经重构建视频的切片或帧的多个经重构建视频块,且对块边界进行滤波,以从切片或帧去除块效应伪影。在一个实例中,滤波单元评估视频块的所谓的“边界强度”。基于视频块的边界强度,可相对于邻近视频块的边缘像素对视频块的边缘像素进行滤波,使得检视器更难以感知从一个视频块的变换。
在一些实例中,运动补偿单元46及/或求和器62可在滤波对样本执行滤波(例如,解块及/或SAO)之前更新由参考图片存储器64存储的当前图片的版本。举例来说,滤波单元可在应用滤波之前等待直到整个图片经译码。以此方式,运动估计单元44可在应用滤波之前将当前图片用作参考。在一些实例中,滤波单元可在由参考图片存储器64存储的当前图片的版本经更新时执行滤波。举例来说,滤波单元可在每一块经更新时应用滤波。以此方式,运动估计单元44可在应用滤波之后将当前图片用作参考。
虽然在本发明中描述所述技术的多个不同方面及实例,但是所述技术的各种方面及实例可以一起执行或彼此单独地执行。换句话说,所述技术不应严格地限制于上文所描述的各种方面及实例,而是可组合使用或一起执行及/或单独地执行。另外,虽然某些技术可归于视频编码器20的特定单元(例如,帧内预测单元48、运动补偿单元46或熵编码单元56),但是应理解,视频编码器20的一或多个其它单元也可负责执行此类技术。
图5是根据本发明的技术的可经配置以执行CABAC的实例熵编码单元56的框图。将语法元素118输入到熵编码单元56中。如果语法元素已经是二进制值语法元素(例如,仅具有值0及1的旗标或其它语法元素),那么可跳过二进制化步骤。如果语法元素是非二进制值语法元素(例如,可具有除1或0以外的值的语法元素),那么通过二进制化器120对非二进制值语法元素进行二进制化。二进制化器120执行非二进制值语法元素到二进制决策序列的映射。这些二进制决策通常被称作“二进制数”。举例来说,对于变换系数层级,可将层级的值分解为连续二进制数,每一二进制数指示系数层级的绝对值是否大于某一值。举例来说,二进制数0(有时被称作有效旗标)指示变换系数层级的绝对值是否大于0。二进制数1指示变换系数层级的绝对值是否大于1,等等。可针对每一非二进制值语法元素产生唯一映射。
由二进制化器120产生的每一二进制数馈入到熵编码单元56的二进制算术译码侧。也就是说,针对一组预定非二进制值语法元素,每一二进制数类型(例如,二进制数0)在下一二进制数类型(例如,二进制数1)之前经译码。可以常规模式或旁路模式执行译码。在旁路模式中,旁路译码引擎126使用固定概率模型(例如,使用哥伦布莱斯或指数哥伦布译码)执行算术译码。旁路模式大体上用于更可预测语法元素。
以常规模式译码涉及执行CABAC。在给定先前经译码二进制数的值则二进制数的值的概率为可预测的情况下,常规模式CABAC用于译码二进制数值。由上下文建模器122确定为LPS的二进制数的概率。上下文建模器122针对上下文输出二进制数值及概率状态(例如,概率状态σ,包含LPS的值及LPS出现的概率)。上下文可以是用于一系列二进制数的初始上下文,或可基于先前经译码二进制数的经译码值确定所述上下文。如上文所述,上下文建模器122可基于所接收二进制数是MPS抑或LPS而更新状态。在通过上下文建模器122确定上下文及概率状态σ之后,常规译码引擎124对二进制数值执行BAC。
根据本发明的一或多种技术,与在二进制算术译码过程中使用用于更新概率状态的变量(例如,窗口大小、或比例因子(α)或固定概率更新速度中的一或多者)的相同值相反,熵编码单元56可针对不同上下文及/或不同语法元素使用不同变量值。举例来说,上下文建模器122可针对多个上下文中的上下文确定在二进制算术译码过程中用于更新概率状态的变量的值,且基于所确定的值更新概率状态。
在一些实例中,由上下文建模器122使用以确定下一概率状态的窗口大小可取决于上下文制得。举例来说,上下文建模器122可将不同窗口大小用于不同上下文。作为一个实例,上下文建模器122可确定用于多个上下文中的第一上下文的第一窗口大小,且确定用于多个上下文中的第二上下文的不同于第一窗口大小的第二窗口大小。
在一些实例中,当取决于更新方法将上述上下文并入到基于计数器的算术译码器(例如,JCTVC-F254及JCTV-G764中)时,窗口大小的值可取决于上下文。另外,除了来自方程(4)的概率Pi之外,每一上下文可进一步与窗口大小相关联。
在一些实例中,上下文建模器122可使用可等于2M的窗口大小W,其中M可以是正整数。因此,每一上下文可具有可不同于其它上下文的其自身M值,但某些上下文模型可具有相同M值。
在一些实例中,上下文建模器122可从窗口大小的预定义组确定窗口大小。某些实例预定义窗口大小是16、32、64及128,但预期其它窗口大小。举例来说,可预定义一组可能的M值,例如,M可包含性地在4到7的范围内。在一些实例中,上下文建模器122可产生待在切片标头或参数集中用信号表示的所述组可能的窗口大小的指示(例如,一组可能的M值的指示),所述参数集包含图片参数集、主动参数集、序列参数集或视频参数集。
在一些实例中,可预定义与每一上下文相关联的窗口大小(例如,M的值)。在一些实例中,窗口大小可进一步取决于切片类型及/或时间识别符(例如,在HEVC中被称作temporalId)。在一些实例中,窗口大小可进一步取决于图片类型(或NAL单元类型),例如,图片是否是随机存取图片。
在一些实例中,上下文建模器122可使得与每一上下文相关联的窗口大小(例如,M的值)在位流中(例如,在切片标头/图片参数集/主动参数集/序列参数集中)用信号表示。举例来说,可首先预定义用于每一上下文的默认窗口大小。对于每一相应上下文模型,上下文建模器122可编码指示默认窗口大小是否用于相应上下文的相应语法元素(例如,旗标)。如果默认窗口大小不用于相应上下文,那么上下文建模器122可基于默认窗口大小有区别地编码实际使用的窗口大小。在一些实例中,上下文建模器122可将所有上下文的语法元素(即,指示是否使用默认窗口大小)组织在一起,且利用游程长度译码对这些语法元素进行译码。在一些实例中,上下文建模器122可在译码实际使用的窗口大小与默认窗口大小之间的差时利用映射表。举例来说,在默认M值等于6的情况下,可能的M值是4、5、6及7。可将映射表定义为:
实际M值 4 5 6 7
待译码值 0 1 - 2
在一些实例中,上下文建模器122可直接译码用于每一上下文的实际窗口大小与默认窗口大小之间的差。举例来说,在默认M值是4的情况下,上下文建模器122可针对每一上下文译码M-4。
在一些实例中,上下文建模器122可译码指示用于当前切片中的上下文的所有窗口大小相对于先前经译码切片中的对应上下文是否为继承(即,设定等于)窗口大小的第一语法元素。在一个实例中,可将“先前经解码切片”定义为具有与当前切片及/或相同初始化量化参数相同的切片类型、或相同切片类型及量化参数两者或相同切片类型及时间层两者的先前经译码切片。在一些实例中,可要求先前切片属于存在于DPB中的图片且可作为参考图片用于当前图片,具体地说,如在基于HEVC的平台中,可要求先前切片属于参考图片集(RPS)中的图片,或甚至为RPS的以下子集中的一者中的图片:RefPicSetStCurrBefore、RefPicSetStCurrAfter及RefPicSetLtCurr。
在一些实例中,上下文建模器122可译码指示默认窗口大小是否用于多个上下文(例如,在当前切片中)的第一语法元素。在默认窗口大小不用于多个上下文的情况下,上下文建模器122可译码指示上下文的窗口大小的第二语法元素。举例来说,上下文建模器122可译码指示上下文的窗口大小与默认窗口大小之间的差的第二语法元素。
在另一实例中,上下文建模器122可(例如)基于来自先前切片或图片的经译码信息导出窗口大小。举例来说,上下文建模器122可在与一个上下文相关联的先前切片中跟踪经译码二进制数。对于可能的窗口大小的每一候选者,上下文建模器122可获得为译码这些二进制数而消耗的位,且选择导致用于译码这些二进制数的最小位作为用于此上下文的窗口大小的窗口大小。上下文建模器122可将所选窗口大小用于译码后续切片/图片。
在一些实例中,用于确定算术译码器中的下一概率状态或概率更新速度的‘窗口大小’可以是语法元素特定的,例如,在上下文在不同语法元素当中共享的情况下。举例来说,当使用上下文编码语法元素的二进制数时,上下文建模器122可基于语法元素确定上下文的窗口大小。作为一个实例,用于在对译码单元分裂语法元素及译码单元跳过旗标语法元素的二进制数进行译码时更新上下文的状态的窗口大小可为相同的,例如,16(即,M=4)。
根据本发明的一或多种技术,上下文建模器122可在熵编码供视频解码器30解码视频数据时使用的数据(例如,表示一维向量及/或其它语法元素的语法元素)时自适应地确定不同窗口大小。举例来说,对于每一上下文,上下文建模器122可通过不同窗口大小计算译码所记录二进制数串的位,且选择具有最小位的一者。在窗口大小是选自窗口大小的预定义集合的情况下,上下文建模器122可针对窗口大小的预定义集合中的相应窗口大小确定用于通过上下文编码二进制数串的相应位量,且选择窗口大小的预定义集合中对应于是上下文的窗口大小的最小位量的窗口大小。
在一些实例中,上述技术可适用于特定上下文。也就是说,上下文的子集可使用经更新‘窗口大小’而非默认窗口大小。在一些实例中,上述技术可适用于特定切片类型。
返回到图4,在一些情况下,熵编码单元56或视频编码器20的另一单元可经配置以执行除熵译码之外的其它译码功能。举例来说,熵编码单元56可经配置以确定用于CU及PU的译码块模式(CBP)值。而且,在一些情况下,熵编码单元56可执行系数的游程长度译码。另外,熵编码单元56或其它处理单元还可译码其它数据(例如,量化矩阵的值)。
如上文所论述,逆量化单元58及逆变换处理单元60分别应用逆量化及逆变换以重构建像素域中的残余块(例如,供稍后用作参考块)。运动补偿单元46可通过将所述残余块添加到参考帧存储器64的帧中的一者的预测性块来计算参考块。运动补偿单元46还可将一或多个内插滤波器应用于经重构建残余块以计算用于次整数像素值以用于运动估计。求和器62将经重构建残余块添加到由运动补偿单元46产生的运动补偿预测块,以产生用于存储于参考帧存储器64中的经重构建视频块。经重构建视频块可由运动估计单元44及运动补偿单元46用作参考块,以对后续视频帧中的块进行帧间译码。
图6是说明可实施本发明中所描述的技术的视频解码器30的实例的框图。而且,将出于说明的目的在HEVC译码的上下文中描述视频解码器30,但关于其它译码标准并不限制本发明。此外,视频解码器30可经配置以根据范围扩展实施技术。
在图6的实例中,视频解码器30可包含视频数据存储器69、熵解码单元70、预测处理单元71、逆量化处理单元76、逆变换处理单元78、求和器80及参考图片存储器82。预测处理单元71包含运动补偿单元72及帧内预测单元74。在一些实例中,视频解码器30可执行与关于来自图4的视频编码器20所描述的编码遍次大体上互逆的解码遍次。
视频数据存储器69可存储待由视频解码器30的组件解码的视频数据(例如,经编码视频位流)。可(例如)从存储装置34、从本地视频源(例如,相机)经由视频数据的有线或无线网络通信或通过存取物理数据存储媒体而获得存储于视频数据存储器69中的视频数据。视频数据存储器69可形成存储来自经编码视频位流的经编码视频数据的经译码图片缓冲器(CPB)。
参考图片存储器82是存储供视频解码器30(例如,以帧内或帧间译码模式)解码视频数据时使用的参考视频数据的经解码图片缓冲器(DPB)的一个实例。视频数据存储器69及参考图片存储器82可由多种存储器装置中的任一者形成,例如动态随机存取存储器(DRAM)(包含同步DRAM(SDRAM))、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。视频数据存储器69及参考图片存储器82可由同一存储器装置或单独存储器装置提供。在各种实例中,视频数据存储器69可与视频解码器30的其它组件一起在芯片上,或相对于那些组件在芯片外。
在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频切片的视频块及相关联语法元素的经编码视频位流。视频解码器30的熵解码单元70熵解码位流以产生经量化系数、运动向量或帧内预测模式指示符及其它语法元素。在一些实例中,熵解码单元70可应用与编码器所使用的过程大体上互逆的过程。熵解码单元70对经编码位流执行熵解码过程,以检索变换系数的一维阵列。所使用的熵解码过程取决于视频编码器20使用的熵译码(例如,CABAC、CAVLC、PIPE或上文所描述的其它过程)。根据本发明中所描述的所述技术,熵解码单元70可如本发明中所描述应用BAC过程(例如,在CABAC过程内)。编码器使用的熵译码过程中的窗口大小可在经编码位流中用信号表示或可为预定过程。
熵解码单元70将运动向量及其它语法元素转递到运动补偿单元72。视频解码器30可接收视频切片层级及/或视频块层级的语法元素。
图7是根据本发明的技术的可经配置以执行CABAC的实例熵解码单元70的框图。图7的熵解码单元70以与图5中所描述的熵编码单元56的所述方式互逆的方式执行CABAC。将来自位流218的经译码位输入到熵解码单元70中。基于经译码位是使用旁路模式抑或常规模式经熵译码而将其馈入到上下文建模器220或旁路译码引擎222。如果经译码位以旁路模式译码,那么旁路解码引擎将使用哥伦布莱斯或指数哥伦布解码(例如)以检索非二进制语法元素的二进制值语法元素或二进制数。
如果经译码位以常规模式译码,那么上下文建模器220可确定经译码位的概率模型,且常规解码引擎224可解码所述经译码位以产生非二进制值语法元素的二进制数(或语法元素自身(在语法元素为二进制值时))。在通过上下文建模器220确定上下文及概率状态σ之后,常规解码引擎224执行BAC以解码二进制数值。换句话说,常规解码引擎224可确定上下文的概率状态,且基于先前经译码二进制数及当前范围解码二进制数值。在解码二进制数之后,上下文建模器220可基于窗口大小及经解码二进制数的值更新上下文的概率状态。
根据本发明的一或多种技术,与在二进制算术译码过程中使用用于更新概率状态的变量(例如,窗口大小、或比例因子(α)及固定概率更新速度中的一或多者)的相同值相反,熵编码单元56可针对不同上下文及/或不同语法元素使用不同变量值。举例来说,上下文建模器220可针对多个上下文中的上下文确定用于在二进制算术译码过程中更新概率状态的变量的值,且基于所确定的值更新概率状态。
在一些实例中,由上下文建模器220使用以确定下一概率状态的窗口大小可取决于上下文制得。举例来说,上下文建模器220可将不同窗口大小用于不同上下文。作为一个实例,上下文建模器220可确定用于多个上下文中的第一上下文的第一窗口大小,且确定用于多个上下文中的第二上下文的不同于第一窗口大小的第二窗口大小。
在一些实例中,当取决于更新方法将上述上下文模型并入到基于计数器的算术译码器中(例如,JCTVC-F254及JCTV-G764中)时,窗口大小的值可取决于上下文。另外,除了来自方程(4)的概率Pi之外,每一上下文可进一步与窗口大小相关联。
在一些实例中,上下文建模器220可使用可等于2M的窗口大小W,其中M可以是正整数。因此,每一上下文可具有可不同于其它上下文的其自身M值,但某些上下文可具有相同M值。
在一些实例中,上下文建模器220可从窗口大小的预定义集合确定窗口大小。举例来说,可预定义一组可能的M值,例如,M可包含性地在4到7的范围内。在一些实例中,熵解码单元70可从切片标头或参数集解码所述组可能的窗口大小的指示(例如,一组可能的M值的指示),所述参数集包含图片参数集、主动参数集、序列参数集或视频参数集。
在一些实例中,可预定义与每一上下文相关联的窗口大小(例如,M的值)。在一些实例中,窗口大小可进一步取决于切片类型及/或时间识别符(例如,在HEVC中被称作temporalId)。在一些实例中,窗口大小可进一步取决于图片类型(或NAL单元类型),例如,图片是否是随机存取图片。
在一些实例中,熵解码单元70可从位流(例如,在切片标头/图片参数集/主动参数集/序列参数集中)解码与每一上下文相关联的窗口大小(例如,M的值)。举例来说,可首先预定义用于每一上下文的默认窗口大小。对于每一相应上下文,熵解码单元70可解码指示默认窗口大小是否用于相应上下文的相应语法元素(例如,旗标)。如果默认窗口大小不用于相应上下文,那么熵解码单元70可基于默认窗口大小有区别地解码实际使用的窗口大小。在一些实例中,可将所有上下文的语法元素(即,指示是否使用默认窗口大小)组织在一起,且熵解码单元70可利用游程长度译码对这些语法元素进行解码。在一些实例中,上下文建模器220可在译码实际使用的窗口大小与默认窗口大小之间的差时利用映射表。举例来说,在默认M值等于6的情况下,可能的M值是4、5、6及7。可将映射表定义为:
实际M值 4 5 6 7
待译码值 0 1 - 2
在一些实例中,熵解码单元70可直接解码用于上下文的实际窗口大小与默认窗口大小之间的差。举例来说,在默认M值为4的情况下,熵解码单元70可针对每一上下文解码M-4的值。
在一些实例中,熵解码单元70可解码指示用于当前切片中的上下文的所有窗口大小相对于先前经译码切片中的对应上下文是否为继承(即,设定等于)窗口大小的第一语法元素。在一个实例中,可将“先前经解码切片”定义为具有与当前切片及/或相同初始化量化参数相同的切片类型、或相同切片类型及量化参数两者或相同切片类型及时间层两者的先前经译码切片。在一些实例中,可要求先前切片属于存在于DPB中的图片且可作为参考图片用于当前图片,具体地说,如在基于HEVC的平台中,可要求先前切片属于参考图片集(RPS)中的图片,或甚至是RPS的以下子集中的一者中的图片:RefPicSetStCurrBefore、RefPicSetStCurrAfter及RefPicSetLtCurr。
在一些实例中,熵解码单元70可解码指示默认窗口大小是否用于多个上下文(例如,在当前切片中)的第一语法元素。在默认窗口大小不用于多个上下文的情况下,熵解码单元70可解码指示上下文的窗口大小的第二语法元素。举例来说,熵解码单元70可解码指示上下文的窗口大小与默认窗口大小之间的差的第二语法元素。
在另一实例中,熵解码单元70可(例如)基于来自先前切片或图片的经译码信息导出窗口大小。举例来说,熵解码单元70可跟踪与经跟踪的一个上下文相关联的先前切片中的经解码二进制数。对于可能的窗口大小的每一候选者,熵解码单元70可获得为译码这些二进制数而消耗的位。熵解码单元70可选择导致用于译码这些二进制数的最小位作为用于此上下文的窗口大小的窗口大小。熵解码单元70可将所选窗口大小用于解码后续切片/图片。
在一些实例中,用于确定算术译码器中的下一概率状态或概率更新速度的‘窗口大小’可以是语法元素特定的。举例来说,当使用上下文编码语法元素的二进制数时,上下文建模器220可基于语法元素类型确定上下文的窗口大小。作为一个实例,用于在对译码单元分裂语法元素及译码单元跳过旗标语法元素的二进制数进行译码时更新上下文的窗口大小可以是相同的,例如,16(即,M=4)。
在一些实例中,上述技术可适用于特定上下文。也就是说,上下文的子集可使用经更新‘窗口大小’而非默认窗口大小。在一些实例中,上述技术可适用于特定切片类型。
在常规解码引擎224解码二进制数之后,反向二进制化器230可执行将二进制数反向转换为非二进制值语法元素的值的反向映射。
返回到图6,在一些实例中,熵解码单元70(或逆量化单元76)可使用视频编码器20的熵编码单元56(或量化单元54)所使用的扫描模式呈镜射的扫描来扫描所接收值。尽管可在逆量化单元76中执行系数的扫描,但出于说明的目的,将描述为由熵解码单元70执行扫描。另外,尽管为了易于说明展示为独立功能单元,但熵解码单元70、逆量化单元76及视频解码器30的其它单元的结构及功能性可彼此高度集成。
逆量化单元76逆量化(即,解量化)位流中所提供且由熵解码单元70解码的经量化变换系数。逆量化过程可包含常规过程,例如类似于HEVC或由H.264解码标准所定义的一些实例。逆量化过程可包含将由视频编码器20计算的量化参数QP用于CU以确定量化程度,且同样地,应应用的逆量化的程度。逆量化单元76可在将系数从一维阵列转换为二维阵列之前抑或之后逆量化变换系数。
逆变换处理单元78将逆变换应用于经逆量化变换系数。在一些实例中,逆变换处理单元78可基于来自视频编码器20的用信号表示,或通过从一或多个译码特性(例如块大小、译码模式或类似者)推断变换来确定逆变换。在一些实例中,逆变换处理单元78可基于包含当前块的LCU的四分树的根节点处的经用信号表示变换确定适用于当前块的变换。替代地,可针对LCU四分树中的叶节点CU在TU四分树的根处用信号表示变换。在一些实例中,逆变换处理单元78可应用级联逆变换,其中逆变换处理单元78将两个或更多个逆变换应用于正经解码的当前块的变换系数。
另外,逆变换处理单元可根据本发明的上述技术应用逆变换以产生变换单元分区。
帧内预测处理单元74可基于所用信号表示的帧内预测模式及来自当前帧的先前经解码块的数据产生用于当前帧的当前块的预测数据。基于所检索的运动预测方向、参考帧索引及所计算的当前运动向量(例如,根据合并模式从相邻块复制的运动向量),运动补偿单元产生当前部分的运动补偿块。这些运动补偿块本质上重建用于产生残余数据的预测性块。
运动补偿单元72可产生运动补偿块,可能基于内插滤波器执行内插。具有子像素精度的待用于运动估计的内插滤波器的识别符可包含于语法元素中。运动补偿单元72可使用如由视频编码器20在视频块的编码期间所使用的内插滤波器,以计算参考块的子整数像素的内插值。运动补偿单元72可根据所接收语法信息确定视频编码器20使用的内插滤波器,且使用所述内插滤波器以产生预测性块。
另外,在HEVC实例中,运动补偿单元72及帧内预测处理单元74可使用语法信息(例如,由四分树提供)中的一些,以确定用以对经编码视频序列的一或多个帧进行编码的LCU的大小。运动补偿单元72及帧内预测处理单元74还可使用语法信息,以确定描述经编码视频序列的帧的每一CU如何分裂(且同样地,子CU如何分裂)的分裂信息。语法信息还可包含指示每一分裂如何经编码的模式(例如,帧内或帧间预测,及针对帧内预测的帧内预测编码模式)、用于每一经帧间编码PU的一或多个参考帧(及/或含有参考帧的识别符的参考列表)及对经编码视频序列进行解码的其它信息。
求和器80使残余块与由运动补偿单元72或帧内预测处理单元74产生的对应预测块组合以形成经解码块。必要时,还可应用解块滤波器来对经解码块进行滤波以便去除块效应伪影。接着,将经解码视频块存储于参考图片存储器82中,参考图片存储器提供用于后续运动补偿的参考块,且还产生用于呈现于显示装置(例如图1的显示装置31)上的经解码视频。
图8说明针对给定二进制数值binVal使用常规译码模式的二进制算术编码过程。算术编码引擎的内部状态照常表征为两个量:当前译码区间的当前区间范围R及基础(较低端点)L。然而,应注意,将这些寄存器存储于CABAC引擎中(以常规及旁路模式两者)所需的精度可分别降低达到9个位及10个位。在如下的四个基础步骤序列中执行在具有概率状态索引δ及MPS的值(δ%2)的上下文中观测到的给定二进制值binVal的编码。
在第一且主要步骤中,根据给定概率估计再分当前区间。此区间再分过程涉及如图8中的流程图的最顶端框中所展示的三个基础操作。首先,通过经量化值Q(R)使用整个范围28≤R≤29到四个小区的等分割来估计当前区间范围R。而不是明确地使用CABAC引擎中的对应代表性经量化范围值Q0、Q1、Q2及Q3,仅由其量化器索引定址,所述量化器索引可通过移位及位掩码操作的组合而有效计算(即,根据以下方程(14))。
ρ=(R>>6)&3 (14)
接着,将此索引ρ及概率状态索引δ用作2-D表TabRangeLPS中的条目,以确定(大致)LPS相关的子区间范围RLPS,如图8中所展示。在此,针对8位精度中的0≤(δ>>1)≤63及0≤ρ≤3,表TabRangeLPS含有pσ·Qρ的所有64×4预先计算的产品值。
给定MPS的双子区间范围,在编码过程的第二步骤中选择对应于给定二进制数值binVal的子区间。如果binVal等于MPS值,那么选择较低子区间,以使得L不变(图8中分支的右方路径);否则,选择具有等于RLPS的范围的上部子区间(图8中的左方分支)。在常规算术编码过程的第三步骤中,如上文所述(例如,使用方程(2))执行概率状态的更新(图8中的灰色阴影框),且最后,第四步骤如Marpe所描述由寄存器L及R的再归一化构成(图8中的“RenormE”框)。
可将2-D表TabRangeLPS定义如下:
可在HEVC标准的章节9.3.4.3.2.2中发现实例CABAC解码过程。
图9是说明基于残余四分树的变换方案的概念图。为了调适残余块的不同特性,将使用残余四分树(RQT)的变换译码结构应用于HEVC中,所述HEVC经简要地描述于http://www.hhi.fraunhofer.de/departments/video-coding-analytics/research-groups/image-video-coding/hevc-high-efficiency-video-coding/transform-coding-using-the-residual-quadtree-rqt.html。
将每一图片划分为译码树型单元(CTU),所述译码树型单元以光栅扫描次序来译码以用于特定图片块或切片。CTU为方形块且表示四分树(即,译码树)的根。CTU大小可在8×8到64×64明度样本范围内,但通常使用64×64。每一CTU可进一步分裂成被称作译码单元(CU)的更小方形块。在CTU递归地分裂成CU之后,将每一CU进一步划分为PU及TU。基于四分树方法以递归方式进行将CU分割成TU,因此每一CU的剩余信号通过树型结构(即,剩余四分树(RQT))来译码。RQT允许从4×4达32×32明度样本的TU大小。图9展示其中CU包含10个TU(标记有字母a到j)及对应块分割的实例。RQT的每一节点实际上是变换单元(TU)。以深度优先树遍历次序处理个别TU,所述次序在图式中说明为字母表次序,所述次序之后为具有深度优先遍历的递归Z扫描。四分树方法使得能够将调适变换到残余信号的变化空间频率特性。通常,具有更大空间支持的更大变换块大小提供更优选频率分辨率。然而,具有更小空间支持的更小变换块大小提供更优选空间分辨率。(例如)基于率失真优化技术通过编码器模式决策选择两个(空间及频率)分辨率之间的折衷。率失真优化技术针对每一译码模式(例如,特定RQT分裂结构)计算译码位及重构建失真的加权总和(即,率失真成本),且选择具有最小率失真成本的译码模式作为最优选模式。
三个参数定义于RQT中:树的最大深度、最小允许的变换大小及最大允许的变换大小。在HEVC的一些实例中,最小及最大变换大小可在从4×4到32×32样本范围内改变,所述范围对应于先前段落中提及的所支持块变换。RQT的最大允许深度限制TU的数目。最大深度等于零意味着:如果每一所包含TU达到最大允许变换大小(例如,32×32),那么不能更进一步分裂CTU。
所有这些参数与RQT结构互相作用且影响RQT结构。考虑根CTU大小为64×64,最大深度等于零且最大变换大小等于32×32的情况。在此情况下,必须分割CTU至少一次,因为否则的话其将产生不被允许的64×64TU。RQT参数(即,最大RQT深度、最小及最大变换大小)于序列参数集层级处在位流中发射。考虑RQT深度,可针对经帧内及帧间译码CU指定且用信号表示不同值。
将四分树变换应用于帧内残余块及帧间残余块两者。通常,将相同大小的当前残余四分树分区的DCT-II变换应用于残余块。然而,如果当前残余四分树块为4×4且由帧内预测产生,那么应用上述4×4DST-VII变换。
在HEVC中,不采用更大的大小变换(例如,64×64变换),主要因为考虑到其受限的益处及对于相对较小分辨率视频的相对较高的复杂度。
图10是说明基于系数群的实例系数扫描的概念图。无论TU大小,通过非重叠系数群组(CG)来译码变换单元的残余,且每一者含有TU的4×4块的系数。举例来说,32×32TU总共具有64个CG,且16×16TU总共具有16个CG。可根据特定预定义扫描次序译码TU内部的CG。当译码每一CG时,根据用于4×4块的特定预定义扫描次序扫描及译码当前CG内部的系数。图10说明用于含有4个CG的8×8TU的系数扫描。
将语法元素表定义如下:
7.3.8.11残余译码语法
对于每一色彩分量,可首先用信号表示一个旗标以指示当前TU是否具有至少一个非零系数。如果存在至少一个非零系数,那么接着通过相对于变换单元的左上角的坐标明确地译码在TU中的系数扫描次序中的最末有效系数的位置。坐标的垂直或水平分量由其前缀及后缀表示,其中前缀通过截断莱斯(TR)二进制化且后缀通过固定长度二进制化。
语义:
last_sig_coeff_x_prefix指定变换块内的扫描次序中的最末有效系数的列位置的前缀。last_sig_coeff_x_prefix的值应包含性地在0到(log2TrafoSize<<1)-1的范围内。
last_sig_coeff_y_prefix指定变换块内的扫描次序中的最末有效系数的行位置的前缀。last_sig_coeff_y_prefix的值应包含性地在0到(log2TrafoSize<<1)-1的范围内。
last_sig_coeff_x_suffix指定变换块内的扫描次序中的最末有效系数的列位置的后缀。last_sig_coeff_x_suffix的值应包含性地在0到(1<<((last_sig_coeff_x_prefix>>1)-1))-1的范围内。
变换块LastSignificantCoeffX内的扫描次序中的最末有效系数的列位置经导出如下:
-如果不存在last_sig_coeff_x_suffix,那么下文应用:
LastSignificantCoeffX=last_sig_coeff_x_prefix
-否则的话(存在last_sig_coeff_x_suffix),下文应用:
LastSignificantCoeffX=(1<<((last_sig_coeff_x_prefix>>1)-1))*(2+(last_sig_coeff_x_prefix&1))+last_sig_coeff_x_suffix
last_sig_coeff_y_suffix指定变换块内的扫描次序中的最末有效系数的行位置的后缀。last_sig_coeff_y_suffix的值应包含性地在0到(1<<((last_sig_coeff_y_prefix>>1)-1))-1的范围内。
变换块LastSignificantCoeffY内的扫描次序中的最末有效系数的行位置经导出如下:
-如果不存在last_sig_coeff_y_suffix,那么下文应用:
LastSignificantCoeffY=last_sig_coeff_y_prefix
-否则的话(存在last_sig_coeff_y_suffix),下文应用:
LastSignificantCoeffY=(1<<((last_sig_coeff_y_prefix>>1)-1))*(2+(last_sig_coeff_y_prefix&1))+last_sig_coeff_y_suffix
当scanIdx等于2时,坐标被调换如下:
(LastSignificantCoeffX,LastSignificantCoeffY)=Swap(LastSignificantCoeffX,LastSignificantCoeffY)
通过经译码的此位置以及CG的系数扫描次序,进一步用信号表示一个旗标以用于除(扫描次序中的)最末CG外的CG,所述旗标指示其是否含有非零系数。
CG旗标的上下文建模。当译码一个CG是否具有非零系数(即,CG旗标(HEVC规格中的coded_sub_block_flag)时,利用相邻CG的信息以建置上下文。更具体来说,将用于译码CG旗标的上下文选择定义为:
(右方CG可用&&右方CG的旗标等于1)||(下方CG可用&&下方CG的旗标等于1)
在此,右方及下方CG为接近当前CG的两个相邻CG。举例来说,在图10中,当译码左上方4×4块时,将右方CG定义为右上方4×4块且将下方CG定义为左下方4×4块。
应注意,色度及明度使用上下文的不同组,但通过同一规则选择其中的一者。
上下文索引增加的导出的细节可发现于HEVC的9.3.4.2.4中。
在一个CG内的变换系数译码。对于可含有非零系数的那些CG,可针对每一系数根据预定义4×4系数扫描次序进一步译码有效旗标(significant_flag)、系数的绝对值(包含coeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag及coeff_abs_level_remaining)及正负号信息(coeff_sign_flag)。将译码变换系数层级分隔成多个扫描遍次。
1)第一二进制数译码的第一遍次。在此遍次中,除可导出特定变换系数等于0以外,译码一个CG内的每一位置处的变换系数的所有第一二进制数(或二进制数索引0,bin0)。
变量sigCtx取决于相对于当前TU的左上方位置的当前地点、色彩分量索引cIdx、变换块大小及语法元素coded_sub_block_flag的先前经解码二进制数。取决于TU大小应用不同规则。上下文索引增加的选择的实例细节定义于HEVC的9.3.4.2.5中。
2)第二二进制数译码的第二遍次。在此遍次中应用coeff_abs_level_greater1_flags的译码。上下文模型化取决于当前子块内的色彩分量索引、当前子块扫描索引及当前系数扫描索引。上下文索引增加的选择的实例细节定义于HEVC的9.3.4.2.6中。
3)第三二进制数译码的第三遍次。在此遍次中应用coeff_abs_level_greater2_flags的译码。上下文模型化类似于coeff_abs_level_greater1_flags所使用的所述上下文模型化。上下文索引增加的选择的实例细节定义于HEVC的9.3.4.2.7中。
应注意,为了改进吞吐量,第二及第三遍次可能不会处理CG中的所有系数。以常规模式译码CG中的前八个coeff_abs_level_greater1_flags。此后,维持所述值,从而在第五遍次中通过语法coeff_abs_level_remaining以旁路模式译码所述值。类似地,仅译码CG中具有大于1的量值的第一系数的coeff_abs_level_greater2_flags。CG的具有大于1的量值的系数的剩余部分使用coeff_abs_level_remaining译码所述值。此方法将系数阶的常规二进制数的数目限制为每CG最多9个:8个用于coeff_abs_level_greater1_flags且1个用于coeff_abs_level_greater2_flags。
4)正负号信息的第四遍次。在HEVC的一些实例中,在第四扫描遍次中以旁路模式译码每一非零系数的正负号。对于每一CG,且取决于准则,当使用正负号数据隐藏(SDH)时,仅省略最末非零系数(在反向扫描次序中)的正负号的编码。替代地,使用预定义定则将正负号值嵌入于CG的层级的总和的同位检查中:偶数对应于“+”且奇数对应于“-”。使用SDH的准则是CG的第一非零系数与最末非零系数之间的扫描次序中的距离。如果此距离等于或大于4,那么SDH经使用。由于此值4对HEVC测试序列提供最大增益,故选择所述值。
5)剩余二进制数的最末遍次。在另一扫描遍次中译码剩余二进制数。将系数的baseLevel定义为:
baseLevel=significant_flag+coeff_abs_level_greater1_flag+coeff_abs_level_greater2_flag
其中旗标具有值0或1,且如果不存在,那么推断为0。接着,系数的绝对值仅为:
absCoeffLevel=baseLevel+coeff_abs_level_remaining。
在每一CG的开始处将莱斯参数设定成0,且其取决于参数的先前值及当前绝对层级条件性地更新如下:
if absCoeffLevel>3×2m,m=min(4,m+1)。
可以旁路模式译码语法元素coeff_abs_level_remaining。另外,HEVC的一些实例针对较小值采用哥伦布莱斯码且针对较大值切换到指数哥伦布码。代码之间的转换点通常在一元码长度等于4时。参数更新过程在观测到较大值分布时允许二进制化适应于系数统计。
inter_pred_idc的上下文模型化。inter_pred_idc指定list0、list1或双向预测是否用于当前预测单元。语法元素已达到两个二进制数,所述二进制数两者都经CABAC上下文译码。将二进制化二进制数串定义如下:
其中nPbW及nPbH分别表示当前明度预测块的宽度及高度。
对于每一经帧间译码切片(例如,P切片或B切片),上下文选择是基于以下规则:
-如果(nPbW+nPbH)不等于12,那么使用四个上下文译码第一二进制数且通过一个上下文译码第二二进制数。第一二进制数的上下文选择是根据当前CU深度。在HEVC中,CU深度包含性地处于0到3的范围内。
图11是说明根据本发明的一或多种技术的用于通过不同窗口大小执行基于上下文的熵编码的实例过程的流程图。图11的技术可由视频编码器(例如图1及图4中所说明的视频编码器20)执行。出于说明的目的,在图1及图4的视频编码器20的上下文内描述图11的技术,但具有不同于视频编码器20的所述配置的配置的视频编码器也可执行图11的技术。
视频编码器20可获得待使用基于上下文的熵译码来编码的二进制数串(例如,一维二进制向量)(1102)。举例来说,视频编码器20的熵编码单元56可通过二进制化从视频编码器20的预测处理单元42接收的语法元素而获得二进制数串。在一些实例中,基于上下文的熵译码可包括上下文自适应二进制算术译码(CABAC)。
根据本发明的一或多种技术,视频编码器20可针对多个上下文中的上下文确定多个窗口大小中的窗口大小(1104)。在一些实例中,视频编码器20可基于用于上下文的预定窗口大小确定窗口大小。在一些实例中,视频编码器20可通过分析若干候选窗口大小的译码效率确定窗口大小,且将具有最优选译码效率的候选窗口大小选为上下文的窗口大小。
举例来说,对于每一上下文,熵编码单元56可通过不同窗口大小计算译码所记录二进制数串的位,且选择具有最小位的一者。在一些实例中,可预定义熵编码单元56使用的不同窗口大小。某些实例预定义窗口大小为16、32、64及128,但预期其它窗口大小。
在一些实例中,熵编码单元56可编码指示用于编码位串的窗口大小的一或多个语法元素。举例来说,熵编码单元56可在当前切片的切片标头中编码指示将默认窗口大小抑或经更新窗口大小用于每一上下文的第一旗标。作为一个实例,在熵编码单元56使用与除默认窗口大小外的窗口大小相关联的上下文译码当前切片的一或多个位串的情况下,熵编码单元56可在当前切片的切片标头中编码第一旗标以指示一或多个位串属于使用除默认窗口大小外的窗口大小来译码的当前切片。类似地,在熵编码单元56使用与默认窗口大小相关联的上下文译码切片的所有位串的情况下,熵编码单元56可编码当前切片的切片标头中的第一旗标以指示当前切片的所有位串使用默认窗口大小来译码。在一些实例中,如下文更详细描述,第一旗标可被称为default_updating_speed_flag。
在一些实例中,在熵编码单元56在当前切片的切片标头中编码指示一或多个位串属于使用除默认窗口大小外的窗口大小来译码的切片的第一旗标的情况下,熵编码单元56可在当前切片的切片标头中编码指示与用于译码当前切片的上下文相关联的窗口大小是否继承自先前经译码切片的第二旗标。在一些实例中,先前经译码切片可为具有与当前切片相同的一或多个参数(例如,相同切片类型及相同初始化QP)的最新经译码切片。在一些实例中,如下文更详细描述,第一旗标可被称为inheritance_from_previous_flag。
语法
7.3.6切片片段标头语法
7.3.6.1常用切片片段标头语法
下文提供上述语法元素的某些实例语义:
default_updating_speed_flag等于1可指定将默认窗口大小用于所有上下文且inheritance_from_previous_flag不存在于切片标头中。default_updating_speed_flag等于0可指定inheritance_from_previous_flag存在于切片标头中。
inheritance_from_previous_flag等于1可指定与上下文相关联的窗口大小是继承自具有相同切片类型及相同初始化QP的先前经译码切片。inheritance_from_previous_flag等于0可指定与上下文相关联的窗口大小在位流中用信号表示,存在bit_map_run_length_coding()及speed_index_level_coding。
在一些实例中,可明确地指定待使用的图片。如果图片含有多个切片,那么可使用第一切片抑或可明确地指定所述图片的切片的id。在一些实例中,inheritance_from_previous_flag等于1可指定与上下文相关联的窗口大小是继承自具有相同切片类型的先前经译码切片。
在一些实例中,在熵编码单元56编码第二旗标以指示与用于译码当前切片的上下文相关联的窗口大小并非继承自先前经译码切片的情况下,熵编码单元56可译码一或多个语法元素以指示与用于译码当前切片的上下文相关联的窗口大小。举例来说,熵编码单元56可译码指示不同窗口大小的使用的一个位映射,且在位指示新的窗口大小时译码新的窗口大小索引。在一些实例中,熵编码单元56可如下文所述编码一或多个语法元素以指示与用于译码当前切片的上下文相关联的窗口大小。
7.xxxx位映射游程长度译码语法
替代地,可定义下表:
7.xxxx速度索引层级译码语法
下文提供上述语法元素的某些实例语义:
run[i]可指示使用默认更新速度的连续上下文的数目。
ctxUpdatedSpeedFlag可以是具有totalCtxNr条目的阵列。对于每一条目,可在解码指示每一上下文使用默认概率更新速度的一个切片之前将其(即,默认窗口大小)设定成0。在一个实例中,默认窗口大小等于64。
在一个实例中,totalCtxNr可表示可用于当前切片中的上下文的总数目。在另一实例中,totalCtxNr可表示可用于所有切片中的上下文的总数目。在另一实例中,totalCtxNr可表示经预定义的所选上下文的总数目。
ctx_idx_difference可指示窗口大小的索引与默认窗口大小相比的差。
在一个实例中,默认窗口大小可等于64。在一些实例中,例如当ctx_idx_difference等于2时,窗口大小可设定成128。在一些实例中,例如当ctx_idx_difference等于0或1时,窗口大小可设定等于(1<<(ctx_idx_difference+4))。也就是说,可支持四个窗口大小(即,16、32、64及128),但预期具有额外或更少窗口大小的实例。在一些实例中,熵编码单元56可用信号表示主动参数集中的上述信息中的一些或所有。
在解码器侧,对于每一切片标头,第一旗标可首先经解码,所述第一旗标可指示将默认窗口大小或经更新窗口大小用于每一上下文。在一些实例中,如果第一旗标等于1(即,使用经更新窗口大小),那么第二旗标可进一步经解码,所述第二旗标可指示从先前经译码图片的继承或经更新窗口大小的额外用信号表示。如果用信号表示窗口大小为所需的,那么可首先用信号表示位映射以指示不同窗口大小的使用,且在位指示新的窗口大小时用信号表示新的窗口大小索引。
在任何情况下,视频编码器20可在视频位流中且基于上下文的概率状态编码二进制数串中的二进制数(1106)。举例来说,熵编码单元56可将表示值或指标的二进制流输出到上下文的最终经译码概率区间内的概率。
视频编码器20可基于所确定的窗口大小更新上下文模型的概率状态(1108)。举例来说,给定与第i个上下文模型相关联的所确定窗口大小Wi,熵编码单元56可根据以下方程(15)更新第i个上下文模型的概率状态,其中k可表示概率精度。在一个实例中,k等于15。
当Wi等于(1<<Mi)时,由熵编码单元56执行的概率更新过程可如以下方程(16)中所展示予以重写。
视频编码器20可在视频位流中且基于上下文的经更新概率状态编码另一二进制数(1106)。在一些实例中,经编码的其它二进制数可以是二进制数串中的第二二进制数。
图12是说明根据本发明的一或多种技术的用于通过不同窗口大小执行基于上下文的熵解码的实例过程的流程图。图12的技术可由视频解码器(例如图1及图6中所说明的视频解码器30)执行。出于说明的目的,在图1及图6的视频解码器30的上下文内描述图12的技术,但具有不同于视频解码器30的所述配置的配置的视频解码器也可执行图12的技术。
视频解码器30可从视频位流获得待使用基于上下文的熵译码来解码的二进制数串(例如,一维二进制向量)(1202)。举例来说,视频解码器30的熵解码单元70可从视频数据存储器69获得二进制数串。在一些实例中,基于上下文的熵译码可包括上下文自适应二进制算术译码(CABAC)。
根据本发明的一或多种技术,视频解码器30可针对多个上下文中的上下文确定多个窗口大小中的窗口大小(1204)。在一些实例中,视频解码器30可基于用于上下文的预定窗口大小确定窗口大小。在一些实例中,视频解码器30可通过分析若干候选窗口大小的译码效率确定窗口大小,且将具有最优选译码效率的候选窗口大小选为上下文的窗口大小。
在一些实例中,熵解码单元70可编码指示用于编码位串的窗口大小的一或多个语法元素。举例来说,熵解码单元70可从当前切片的切片标头解码指示将默认窗口大小抑或经更新窗口大小用于每一上下文的第一旗标。作为一个实例,在熵解码单元70使用与除默认窗口大小外的窗口大小相关联的上下文解码当前切片的一或多个位串的情况下,熵解码单元70可从当前切片的切片标头解码指示一或多个位串属于使用除默认窗口大小外的窗口大小来译码的当前切片的第一旗标。类似地,在熵解码单元70使用与默认窗口大小相关联的上下文解码切片的所有位串的情况下,熵解码单元70可从当前切片的切片标头解码指示当前切片的所有位串使用默认窗口大小来译码的第一旗标。在一些实例中,如上文更详细描述,第一旗标可被称为default_updating_speed_flag。
在一些实例中,在熵编码单元56在当前切片的切片标头中编码指示一或多个位串属于使用除默认窗口大小外的窗口大小来译码的切片的第一旗标的情况下,熵编码单元56可在当前切片的切片标头中编码指示与用于译码当前切片的上下文相关联的窗口大小是否继承自先前经译码切片的第二旗标。在一些实例中,先前经译码切片可以是具有与当前切片相同的一或多个参数(例如,相同切片类型及相同初始化QP)的最新经译码切片。在一些实例中,如上文参考图11所更详细描述,第一旗标可被称为inheritance_from_previous_flag。
在一些实例中,可明确地指定待使用的图片。如果图片含有多个切片,那么可使用第一切片抑或可明确地指定所述图片的切片的id。在一些实例中,inheritance_from_previous_flag等于1可指定与上下文相关联的窗口大小是继承自具有相同切片类型的先前经译码切片。
在一些实例中,在第二旗标指示与用于译码当前切片的上下文相关联的窗口大小并非继承自先前经译码切片的情况下,熵解码单元70可解码指示与用于译码当前切片的上下文相关联的窗口大小的一或多个语法元素。举例来说,熵解码单元70可解码指示不同窗口大小的使用的一个位映射,且在位指示新的窗口大小时解码新的窗口大小索引。在一些实例中,熵解码单元70可如上文参考图11所描述解码一或多个语法元素以指示与用于译码当前切片的上下文相关联的窗口大小。
在任何情况下,视频解码器30可基于上下文的概率状态解码二进制数串中的二进制数(1206)。视频解码器30可基于所确定的窗口大小及经解码二进制数更新上下文模型的概率状态(1208)。举例来说,给定与第i个上下文模型相关联的所确定窗口大小Wi,熵解码单元70可根据以上方程(15)更新第i个上下文模型的概率状态。
视频解码器30可基于上下文的经更新概率状态解码另一二进制数(1206)。在一些实例中,经编码的其它二进制数可为二进制数串中的第二二进制数。
以下编号实例可说明本发明的一或多个方面:
实例1.一种用于熵译码视频数据的方法,所述方法包括:针对在上下文自适应熵译码过程中使用以熵译码视频数据的语法元素的值的多个上下文中的上下文确定多个窗口大小中的窗口大小;基于上下文的概率状态熵译码语法元素的值的二进制数;和基于窗口大小及经译码二进制数更新上下文的概率状态。
实例2.根据权利要求1所述的方法,其中上下文自适应熵译码过程包括上下文自适应二进制算术译码(CABAC)过程或上下文自适应可变长度译码(CAVLC)过程。
实例3.根据权利要求1所述的方法,其进一步包括:基于经更新概率状态熵译码与同一上下文相关联的另一二进制数。
实例4.根据权利要求1所述的方法,其中上下文是第一上下文,所述方法进一步包括:针对多个上下文中的第二上下文确定多个窗口大小中的窗口大小,其中第二上下文的窗口大小不同于第一上下文的窗口大小。
实例5.根据权利要求4所述的方法,其中第一上下文的窗口大小及第二上下文的窗口大小不在包含经译码二进制数的位流中用信号表示。
实例6.根据权利要求1所述的方法,其中多个窗口大小包括窗口大小的预定义集合。
实例7.根据权利要求6所述的方法,其中熵译码包括熵编码,且其中确定窗口大小包括:针对窗口大小的预定义集合中的相应窗口大小确定用于熵编码包含语法元素的二进制数值的特定二进制数串的位的相应量;及选择窗口大小的预定义集合中对应于位的最小量的窗口大小作为上下文的窗口大小以熵编码特定二进制数串。
实例8.根据权利要求1所述的方法,其进一步包括:译码指示默认窗口大小是否用于多个上下文的第一语法元素。
实例9.根据权利要求8所述的方法,其进一步包括:基于指示默认窗口大小不用于多个上下文的第一语法元素,译码指示上下文的窗口大小的第二语法元素。
实例10.根据权利要求9所述的方法,其中为指示上下文的窗口大小,第二语法元素指示上下文的窗口大小与默认窗口大小之间的差。
实例11.根据权利要求8所述的方法,其中译码第一语法元素包括译码包含第一语法元素的当前切片的切片标头,其中第一语法元素指示当熵译码当前切片的二进制数时默认窗口大小是否用于多个上下文。
实例12.根据权利要求1所述的方法,其进一步包括:在当前切片的切片标头中译码指示用于多个上下文的窗口大小是否继承自先前经译码切片的语法元素。
实例13.根据权利要求1所述的方法,其中确定上下文的窗口大小包括:基于语法元素类型确定上下文的窗口大小。
实例14.根据权利要求1所述的方法,其中熵译码包括熵解码,所述方法进一步包括:从经译码视频位流解码指示上下文的窗口大小的一或多个语法元素。
实例15.一种用于熵译码视频数据的设备,所述设备包括:存储器,其经配置以存储在上下文自适应熵译码过程中使用以熵译码视频数据的语法元素的值的多个上下文;和一或多个处理器,其经配置以:执行如实例1到14的任何组合的方法。
实例16.如实例15所述的设备,其中所述设备包括以下中的至少一者:集成电路、微处理器或无线通信装置。
实例17.如实例15到16的任何组合所述的设备,其进一步包括经配置以显示经解码视频数据的显示器。
实例18.如实例15到17的任何组合所述的设备,其进一步包括经配置以捕获视频数据的相机。
实例19.一种用于熵译码视频数据的设备,所述设备包括:用于执行如实例1到14的任何组合的方法的装置。
实例20.一种存储指令的计算机可读存储媒体,所述指令在执行时使得视频译码装置的一或多个处理器执行如实例1到14的任何组合的方法。
实例21.一种存储视频数据的计算机可读存储媒体,所述视频数据在通过视频解码装置处理时使得视频解码装置的一或多个处理器针对在上下文自适应译码过程中使用以熵译码语法元素的值的多个上下文中的上下文确定多个窗口大小中的窗口大小;基于上下文的概率状态熵译码语法元素的值的二进制数;基于窗口大小及经译码二进制数更新上下文的概率状态;和基于上下文模型的经更新概率状态用相同上下文熵译码下一二进制数。
实例22.如实例21的计算机可读存储媒体,其进一步存储指令,所述指令使得所述一或多个处理器执行如实例1到14的任何组合的方法。
在一或多个实例中,所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件实施,那么所述功能可作为一或多个指令或代码而在计算机可读媒体上存储或发射,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包含有助于将计算机程序从一处传送到另一处(例如,根据通信协议)的任何媒体的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本发明中所描述的技术的指令、代码及/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
通过实例而非限制的方式,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁性存储装置、快闪存储器或可用以存储呈指令或数据结构形式的所要代码且可由计算机存取的任何其它媒体。而且,将任何连接适当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光缆、双绞线、数字用户线(DSL)或无线技术(例如红外线、无线电及微波)从网站、服务器或其它远程源发射指令,那么同轴电缆、光缆、双绞线、DSL或无线技术(例如红外线、无线电及微波)包含于媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它暂时性媒体,而是实际上有关非暂时性有形存储媒体。如本文所使用,磁盘及光盘包含紧密光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘及蓝光光盘,其中磁盘通常以磁性方式再生数据,而光盘用激光以光学方式再生数据。以上各者的组合也应包含于计算机可读媒体的范围内。
可由一或多个处理器执行指令,所述一或多个处理器例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效的集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指上述结构或适用于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可提供于经配置用于编码及解码的专用硬件及/或软件模块内,或并入于组合式编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。
本发明的技术可在广泛多种装置或设备中实施,所述装置或设备包含无线手机、集成电路(IC)或IC的集合(例如,芯片集合)。在本发明中描述各种组件、模块或单元以强调经配置以执行所公开技术的装置的功能性方面,但未必需要通过不同硬件单元来实现。确切地说,如上文所描述,可将各种单元组合于编解码器硬件单元中,或通过互操作性硬件单元(包含如上文所描述的一或多个处理器)的集合而结合合适软件及/或固件来提供所述单元。
已描述各种实例。这些及其它实例在以下权利要求书的范围内。

Claims (32)

1.一种用于熵译码视频数据的方法,所述方法包括:
针对在上下文自适应熵译码过程中使用以熵译码所述视频数据的语法元素的值的多个上下文中的上下文确定多个窗口大小中的窗口大小;
基于所述上下文的概率状态熵译码所述语法元素的所述值的二进制数;和
基于所述窗口大小及所述经译码二进制数更新所述上下文的所述概率状态。
2.根据权利要求1所述的方法,其中所述上下文自适应熵译码过程包括上下文自适应二进制算术译码CABAC过程或上下文自适应可变长度译码CAVLC过程。
3.根据权利要求1所述的方法,其进一步包括:
基于所述经更新概率状态熵译码与同一上下文相关联的另一二进制数。
4.根据权利要求1所述的方法,其中所述上下文为第一上下文,所述方法进一步包括:
针对所述多个上下文中的第二上下文确定所述多个窗口大小中的窗口大小,其中所述第二上下文的所述窗口大小不同于所述第一上下文的所述窗口大小。
5.根据权利要求4所述的方法,其中所述第一上下文的所述窗口大小及所述第二上下文的所述窗口大小不在包含所述经译码二进制数的位流中用信号表示。
6.根据权利要求1所述的方法,其中所述多个窗口大小包括窗口大小的预定义集合。
7.根据权利要求6所述的方法,其中熵译码包括熵编码,且其中确定所述窗口大小包括:
针对窗口大小的所述预定义集合中的相应窗口大小确定用于熵编码包含所述语法元素的所述二进制数值的特定二进制数串的位的相应量;和
选择窗口大小的所述预定义集合中对应于位的最小量的所述窗口大小作为所述上下文的所述窗口大小,以熵编码所述特定二进制数串。
8.根据权利要求1所述的方法,其进一步包括:
译码指示默认窗口大小是否用于所述多个上下文的第一语法元素。
9.根据权利要求8所述的方法,其进一步包括:
基于指示所述默认窗口大小不用于所述多个上下文的所述第一语法元素,译码指示所述上下文的所述窗口大小的第二语法元素。
10.根据权利要求9所述的方法,其中为指示所述上下文的所述窗口大小,所述第二语法元素指示所述上下文的所述窗口大小与所述默认窗口大小之间的差。
11.根据权利要求8所述的方法,其中译码所述第一语法元素包括译码包含所述第一语法元素的当前切片的切片标头,其中所述第一语法元素指示当熵译码所述当前切片的二进制数时所述默认窗口大小是否用于所述多个上下文。
12.根据权利要求1所述的方法,其进一步包括:
在当前切片的切片标头中译码指示所述多个上下文的窗口大小是否继承自先前经译码切片的语法元素。
13.根据权利要求1所述的方法,其中确定所述上下文的所述窗口大小包括:
基于所述语法元素的类型确定所述上下文的所述窗口大小。
14.根据权利要求1所述的方法,其中熵译码包括熵解码,所述方法进一步包括:
从经译码视频位流解码指示所述上下文的所述窗口大小的一或多个语法元素。
15.一种用于熵译码视频数据的设备,所述设备包括:
存储器,其经配置以存储在上下文自适应熵译码过程中使用以熵译码所述视频数据的语法元素的值的多个上下文;和
一或多个处理器,其经配置以:
针对所述多个上下文中的上下文确定多个窗口大小中的窗口大小;
基于上下文模型的概率状态熵译码所述语法元素的所述值的二进制数;和
基于所述窗口大小及所述经译码二进制数更新所述上下文模型的所述概率状态。
16.根据权利要求15所述的设备,其中所述一或多个处理器进一步经配置以:
基于所述经更新概率状态熵译码与同一上下文相关联的另一二进制数。
17.根据权利要求16所述的设备,其中所述上下文模型为第一上下文,且其中所述一或多个处理器进一步经配置以:
针对所述多个上下文中的第二上下文确定所述多个窗口大小中的窗口大小,其中所述第二上下文的所述窗口大小不同于所述第一上下文的所述窗口大小。
18.根据权利要求17所述的设备,其中所述第一上下文的所述窗口大小及所述第二上下文的所述窗口大小不在包含所述经译码二进制数的位流中用信号表示。
19.根据权利要求16所述的设备,其中所述多个窗口大小包括窗口大小的预定义集合。
20.根据权利要求19所述的设备,其中,为进行熵译码,所述一或多个处理器经配置以进行熵编码,且其中,为确定所述窗口大小,所述一或多个处理器经配置以:
针对窗口大小的所述预定义集合中的相应窗口大小确定用于熵编码包含所述语法元素的所述二进制数值的特定二进制数串的位的相应量;和
选择窗口大小的所述预定义集合中对应于位的最小量的所述窗口大小作为所述上下文的所述窗口大小,以熵编码所述特定二进制数串。
21.根据权利要求15所述的设备,其中所述一或多个处理器进一步经配置以:
译码指示默认窗口大小是否用于所述多个上下文的第一语法元素。
22.根据权利要求21所述的设备,其中,基于指示所述默认窗口大小不用于所述多个上下文的所述第一语法元素,所述一或多个处理器进一步经配置以:
译码指示所述上下文的所述窗口大小的第二语法元素。
23.根据权利要求22所述的设备,其中为指示所述上下文的所述窗口大小,所述第二语法元素指示所述上下文的所述窗口大小与所述默认窗口大小之间的差。
24.根据权利要求21所述的设备,其中,为译码所述第一语法元素,所述一或多个处理器经配置以译码包含所述第一语法元素的当前切片的切片标头,其中所述第一语法元素指示当熵译码所述当前切片的二进制数时所述默认窗口大小是否用于所述多个上下文模型。
25.根据权利要求15所述的设备,其中所述一或多个处理器进一步经配置以:
在当前切片的切片标头中译码指示所述多个上下文的窗口大小是否继承自先前经译码切片的语法元素。
26.根据权利要求15所述的设备,其中,为确定所述上下文的所述窗口大小,所述一或多个处理器经配置以:
基于所述语法元素的类型确定所述上下文的所述窗口大小。
27.根据权利要求15所述的设备,其中所述设备包括以下中的至少一者:
集成电路;
微处理器;或
无线通信装置。
28.根据权利要求27所述的设备,其进一步包括经配置以显示经解码视频数据的显示器。
29.根据27 15所述的设备,其进一步包括相机,所述相机经配置以捕获所述视频数据。
30.根据权利要求15所述的设备,其中,为进行熵译码,所述一或多个处理器经配置以熵解码所述语法元素的所述值。
31.一种用于熵译码视频数据的设备,所述设备包括:
用于针对在上下文自适应熵译码过程中使用以熵译码所述视频数据的语法元素的值的多个上下文中的上下文确定多个窗口大小中的窗口大小的装置;
用于基于所述上下文的概率状态熵译码所述语法元素的所述值的二进制数的装置;和
用于基于所述窗口大小及所述经译码二进制数更新所述上下文的所述概率状态的装置。
32.一种存储指令的计算机可读存储媒体,所述指令在执行时使得视频译码装置的一或多个处理器进行以下操作:
针对在上下文自适应熵译码过程中使用以熵译码所述视频数据的语法元素的值的多个上下文中的上下文确定多个窗口大小中的窗口大小;
基于所述上下文的概率状态熵译码所述语法元素的所述值的二进制数;和
基于所述窗口大小及所述经译码二进制数更新所述上下文的所述概率状态。
CN201680030202.8A 2015-05-29 2016-05-27 高级算术译码器 Active CN107667533B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562168503P 2015-05-29 2015-05-29
US62/168,503 2015-05-29
US15/166,044 US10148961B2 (en) 2015-05-29 2016-05-26 Arithmetic coder with multiple window sizes
US15/166,044 2016-05-26
PCT/US2016/034647 WO2016196287A1 (en) 2015-05-29 2016-05-27 Advanced arithmetic coder

Publications (2)

Publication Number Publication Date
CN107667533A true CN107667533A (zh) 2018-02-06
CN107667533B CN107667533B (zh) 2020-06-05

Family

ID=57399365

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201680030202.8A Active CN107667533B (zh) 2015-05-29 2016-05-27 高级算术译码器
CN201680030561.3A Active CN107667530B (zh) 2015-05-29 2016-05-27 一种用于对视频数据进行熵译码的方法、设备和计算机可读存储媒体

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201680030561.3A Active CN107667530B (zh) 2015-05-29 2016-05-27 一种用于对视频数据进行熵译码的方法、设备和计算机可读存储媒体

Country Status (9)

Country Link
US (2) US10368072B2 (zh)
EP (2) EP3304910A1 (zh)
JP (2) JP6728240B2 (zh)
KR (2) KR20180013927A (zh)
CN (2) CN107667533B (zh)
AU (2) AU2016270634B2 (zh)
BR (2) BR112017025605A2 (zh)
TW (2) TW201705760A (zh)
WO (2) WO2016196287A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112073729A (zh) * 2019-06-11 2020-12-11 北京三星通信技术研究有限公司 模型更新方法、装置、电子设备及计算机可读存储介质
CN116746147A (zh) * 2021-01-27 2023-09-12 高通股份有限公司 用于并行熵译码中的比特流索引的压缩

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PL2768145T3 (pl) 2011-01-14 2016-07-29 Ge Video Compression Llc Schemat kodowania i dekodowania entropijnego
FR2982447A1 (fr) 2011-11-07 2013-05-10 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
FR2982446A1 (fr) * 2011-11-07 2013-05-10 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
US10368072B2 (en) 2015-05-29 2019-07-30 Qualcomm Incorporated Advanced arithmetic coder
KR102469145B1 (ko) * 2015-10-13 2022-11-21 삼성전자주식회사 영상을 부호화 또는 복호화하는 방법 및 장치
EP3264763A1 (en) * 2016-06-29 2018-01-03 Thomson Licensing Method and apparatus for improved significance flag coding using simple local predictor
US10757412B2 (en) 2017-01-03 2020-08-25 Avago Technologies International Sales Pte. Limited Architecture flexible binary arithmetic coding system
US11265561B2 (en) * 2017-01-06 2022-03-01 Mediatek Inc. Method and apparatus for range derivation in context adaptive binary arithmetic coding
US10554988B2 (en) * 2017-03-22 2020-02-04 Qualcomm Incorporated Binary arithmetic coding with parameterized probability estimation finite state machines
CN110915213B (zh) * 2017-07-14 2021-11-02 联发科技股份有限公司 编解码符号的熵编解码的方法与装置
WO2019069902A1 (ja) * 2017-10-06 2019-04-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法および復号方法
US10791341B2 (en) 2017-10-10 2020-09-29 Qualcomm Incorporated Binary arithmetic coding with progressive modification of adaptation parameters
WO2019140083A1 (en) * 2018-01-12 2019-07-18 Futurewei Technologies, Inc. Adaptive multi-hypothesis context-adaptive binary arithmetic coding (mcabac)
JP7401309B2 (ja) 2018-01-30 2023-12-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
US11003811B2 (en) 2018-02-09 2021-05-11 International Business Machines Corporation Generating samples of outcomes from a quantum simulator
KR20240005114A (ko) * 2018-03-29 2024-01-11 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 비디오 디코더, 비디오 인코더, 비디오 컨텐츠를 디코딩하기 위한 방법, 비디오 컨텐츠를 인코딩하기 위한 방법, 컴퓨터 프로그램 및 비디오 비트스트림
WO2019191886A1 (zh) * 2018-04-02 2019-10-10 北京大学 上下文的概率更新方法与装置
CN108683921B (zh) * 2018-06-07 2020-04-07 四川大学 一种基于零量化dct系数组的视频可逆信息隐藏方法
CN110620932B (zh) 2018-06-19 2022-11-08 北京字节跳动网络技术有限公司 依赖模式的运动矢量差精度集
JP7313385B2 (ja) * 2018-06-21 2023-07-24 テレフオンアクチーボラゲット エルエム エリクソン(パブル) ビデオコーディングにおけるサブタイルを含むタイルパーティション
TWI728390B (zh) 2018-06-29 2021-05-21 大陸商北京字節跳動網絡技術有限公司 查找表尺寸
TWI723444B (zh) 2018-06-29 2021-04-01 大陸商北京字節跳動網絡技術有限公司 使用一個或多個查找表來按順序存儲先前編碼的運動信息並使用它們來編碼後面的塊的概念
BR112020024162A2 (pt) 2018-06-29 2021-03-02 Beijing Bytedance Network Technology Co., Ltd. método de processamento de vídeo e aparelho para processar dados de vídeo, meios de armazenamento e de gravação legíveis por computador não transitórios, método para armazenar uma representação de fluxo de bits de um vídeo
KR20240005240A (ko) 2018-06-29 2024-01-11 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut에서의 모션 후보들의 검사 순서
TWI731360B (zh) 2018-06-29 2021-06-21 大陸商北京字節跳動網絡技術有限公司 查找表的使用條件
EP3794825A1 (en) 2018-06-29 2021-03-24 Beijing Bytedance Network Technology Co. Ltd. Update of look up table: fifo, constrained fifo
CA3101730A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Partial/full pruning when adding a hmvp candidate to merge/amvp
WO2020008352A1 (en) 2018-07-02 2020-01-09 Beijing Bytedance Network Technology Co., Ltd. Update of look-up tables
AU2018217336A1 (en) * 2018-08-17 2020-03-05 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a transformed block of video samples
AU2018217333A1 (en) * 2018-08-17 2020-03-05 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a transformed block of video samples
TW202025760A (zh) 2018-09-12 2020-07-01 大陸商北京字節跳動網絡技術有限公司 要檢查多少個hmvp候選
CN110933420B (zh) 2018-09-19 2023-09-01 北京字节跳动网络技术有限公司 仿射模式中自适应运动矢量分辨率的快速算法
US10951898B2 (en) 2018-10-11 2021-03-16 Lg Electronics Inc. Image decoding method and device using residual information in image coding system
CN114390282B (zh) * 2018-11-12 2023-09-08 Lg电子株式会社 图像解码方法、图像编码方法和数据发送方法
CN111385570B (zh) * 2018-12-28 2021-11-02 杭州海康威视数字技术股份有限公司 编码方法、解码方法及装置
KR20240010576A (ko) 2019-01-10 2024-01-23 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut 업데이트의 호출
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
WO2020147773A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Inserting order of motion candidates in lut
EP3895429A4 (en) * 2019-01-31 2022-08-10 Beijing Bytedance Network Technology Co., Ltd. CONTEXT FOR CODE AN ADAPTIVE MOTION VECTOR RESOLUTION IN AFFINE MODE
WO2020164633A1 (en) 2019-02-15 2020-08-20 Beijing Bytedance Network Technology Co., Ltd. Transform parameter derivation based on block partition
US11178399B2 (en) * 2019-03-12 2021-11-16 Qualcomm Incorporated Probability initialization for video coding
KR102223790B1 (ko) 2019-03-15 2021-03-05 삼성전자주식회사 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치
CN113615193A (zh) 2019-03-22 2021-11-05 北京字节跳动网络技术有限公司 Merge列表构建和其他工具之间的交互
CA3134410A1 (en) * 2019-03-23 2020-10-01 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods for intra prediction
US11218735B2 (en) 2019-04-02 2022-01-04 Qualcomm Incorporated Context derivation for last position coding for video coding
CN113853785B (zh) 2019-05-14 2024-04-16 北京字节跳动网络技术有限公司 用于残差编解码的上下文建模
US11405617B1 (en) * 2019-05-21 2022-08-02 Xilinx, Inc. Method and system to enhance compression efficiency in encoded video by using dual pass entropy coding
JP7453337B2 (ja) * 2019-08-31 2024-03-19 エルジー エレクトロニクス インコーポレイティド レジデュアルコーディングに対する画像デコード方法及びその装置
WO2021047540A1 (en) 2019-09-09 2021-03-18 Beijing Bytedance Network Technology Co., Ltd. Coefficient scaling for high precision image and video coding
CN114731392A (zh) 2019-09-21 2022-07-08 北京字节跳动网络技术有限公司 用于图像和视频编解码的高精度变换和量化
US11356851B2 (en) 2019-12-03 2022-06-07 Harris Global Communications, Inc. Communications system having multiple carriers with selectively transmitted real information and fake information and associated methods
MX2022010116A (es) * 2020-02-24 2022-09-05 Bytedance Inc Interaccion entre subimagen y se?alizacion de fila de mosaico.
JP2023515884A (ja) 2020-03-03 2023-04-14 バイトダンス インコーポレイテッド ビデオ・コーディングにおける低周波ノン・セパラブル変換シグナリング
US11516514B2 (en) * 2020-03-27 2022-11-29 Tencent America LLC High level control for deblocking operations
CN115462085A (zh) 2020-04-05 2022-12-09 字节跳动有限公司 视频编解码中滤波的高级控制
JP2023548393A (ja) * 2020-11-05 2023-11-16 エルジー エレクトロニクス インコーポレイティド ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法
CN113489979A (zh) * 2021-05-28 2021-10-08 杭州博雅鸿图视频技术有限公司 熵编码方法、装置、电子设备及存储介质
US20220394284A1 (en) * 2021-06-07 2022-12-08 Sony Interactive Entertainment Inc. Multi-threaded cabac decoding
WO2023129680A1 (en) * 2021-12-29 2023-07-06 Beijing Dajia Internet Information Technology Co., Ltd. Methods and devices on probability calculation for context-based adaptive binary arithmetic coding
US20230254511A1 (en) * 2022-02-04 2023-08-10 Tencent America LLC Block-level window size update for arithmetic coding
US20230254489A1 (en) * 2022-02-07 2023-08-10 Tencent America LLC Adaptive context-based adaptive binary arithmetic coding (cabac) initial state selection from coded pictures
WO2023168257A2 (en) * 2022-03-01 2023-09-07 Innopeak Technology, Inc. State transition of dependent quantization for aom enhanced compression model
US20230336728A1 (en) * 2022-04-18 2023-10-19 Tencent America LLC CABAC Inherited Context Initialization
CN115334313A (zh) * 2022-06-22 2022-11-11 百果园技术(新加坡)有限公司 一种视频解码方法、装置、设备及存储介质
CN116567097B (zh) * 2023-07-04 2023-09-01 广东慧航天唯科技有限公司 基于数据监控的废机油调度数据安全管理系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1934871A (zh) * 2003-08-25 2007-03-21 新加坡科技研究局 在视频编码中对帧间预测进行模式判定
CN100495931C (zh) * 2002-04-26 2009-06-03 株式会社Ntt都科摩 信号编码及译码方法、信号编码及译码装置
US20120293343A1 (en) * 2011-05-17 2012-11-22 National Cheng Kung University Method for high throughput parallel avc/h.264 context-based adaptive binary arithmetic coding decoder
CN103797803A (zh) * 2011-06-28 2014-05-14 三星电子株式会社 用于熵编码/解码的方法和设备
CN103975532A (zh) * 2011-11-03 2014-08-06 高通股份有限公司 用于上下文自适应性熵译码的上下文状态和概率初始化
EP2770736A1 (en) * 2011-10-17 2014-08-27 Kabushiki Kaisha Toshiba, Inc. Encoding method and decoding method

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3491001B1 (ja) * 2002-04-26 2004-01-26 株式会社エヌ・ティ・ティ・ドコモ 信号符号化方法、信号復号方法、信号符号化装置、信号復号装置、信号符号化プログラム、及び、信号復号プログラム
US8107535B2 (en) * 2003-06-10 2012-01-31 Rensselaer Polytechnic Institute (Rpi) Method and apparatus for scalable motion vector coding
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
US7599435B2 (en) 2004-01-30 2009-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video frame encoding and decoding
US20070025441A1 (en) 2005-07-28 2007-02-01 Nokia Corporation Method, module, device and system for rate control provision for video encoders capable of variable bit rate encoding
KR101148614B1 (ko) * 2007-09-06 2012-05-25 닛본 덴끼 가부시끼가이샤 영상 부호화 장치 및 영상 부호화 방법
EP2164176A1 (en) * 2008-09-12 2010-03-17 Thomson Licensing Method for lossless compressing prefix-suffix-codes, method for decompressing a bit sequence representing integers or symbols encoded in compressed prefix-suffix-codes and storage medium or signal carrying compressed prefix-suffix-codes
WO2012031628A1 (en) * 2010-09-09 2012-03-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Entropy encoding and decoding scheme
US8344917B2 (en) * 2010-09-30 2013-01-01 Sharp Laboratories Of America, Inc. Methods and systems for context initialization in video coding and decoding
WO2012134246A2 (ko) * 2011-04-01 2012-10-04 엘지전자 주식회사 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치
US10123053B2 (en) * 2011-05-23 2018-11-06 Texas Instruments Incorporated Acceleration of bypass binary symbol processing in video coding
US9871537B2 (en) * 2011-10-27 2018-01-16 Qualcomm Incorporated Mapping states in binary arithmetic coder for video coding
US9538172B2 (en) * 2012-04-11 2017-01-03 Qualcomm Incorporated Grouping bypass coded syntax elements in video coding
US9948934B2 (en) 2014-07-02 2018-04-17 Apple Inc. Estimating rate costs in video encoding operations using entropy encoding statistics
WO2016072744A1 (ko) * 2014-11-04 2016-05-12 삼성전자 주식회사 이진 산술 부호화/복호화를 위한 확률 갱신 방법 및 이를 이용한 엔트로피 부호화/복호화 장치
US10368072B2 (en) 2015-05-29 2019-07-30 Qualcomm Incorporated Advanced arithmetic coder

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100495931C (zh) * 2002-04-26 2009-06-03 株式会社Ntt都科摩 信号编码及译码方法、信号编码及译码装置
CN1934871A (zh) * 2003-08-25 2007-03-21 新加坡科技研究局 在视频编码中对帧间预测进行模式判定
US20120293343A1 (en) * 2011-05-17 2012-11-22 National Cheng Kung University Method for high throughput parallel avc/h.264 context-based adaptive binary arithmetic coding decoder
CN103797803A (zh) * 2011-06-28 2014-05-14 三星电子株式会社 用于熵编码/解码的方法和设备
EP2760201A2 (en) * 2011-06-28 2014-07-30 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding/decoding
EP2770736A1 (en) * 2011-10-17 2014-08-27 Kabushiki Kaisha Toshiba, Inc. Encoding method and decoding method
CN103975532A (zh) * 2011-11-03 2014-08-06 高通股份有限公司 用于上下文自适应性熵译码的上下文状态和概率初始化

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A.ALSHIN, E.ALSHINA: "Multi-parameter probability up-date for CABAC", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11》 *
EUGENIY BELYAEV: "Binary Arithmetic Coding System with Adaptive Probability Estimation by "Virtual Sliding Window"", 《IEEE TENTH INTERNATIONAL SYMPOSIUM》 *
郭斌: "视频压缩中的熵编码研究", 《中国优秀硕士学位论文全文数据库》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112073729A (zh) * 2019-06-11 2020-12-11 北京三星通信技术研究有限公司 模型更新方法、装置、电子设备及计算机可读存储介质
CN112073729B (zh) * 2019-06-11 2024-04-05 北京三星通信技术研究有限公司 模型更新方法、装置、电子设备及计算机可读存储介质
CN116746147A (zh) * 2021-01-27 2023-09-12 高通股份有限公司 用于并行熵译码中的比特流索引的压缩

Also Published As

Publication number Publication date
US20160353108A1 (en) 2016-12-01
EP3304910A1 (en) 2018-04-11
AU2016270616A1 (en) 2017-11-09
CN107667530A (zh) 2018-02-06
JP2018521555A (ja) 2018-08-02
KR20180013928A (ko) 2018-02-07
KR20180013927A (ko) 2018-02-07
US20160353110A1 (en) 2016-12-01
CN107667530B (zh) 2020-02-21
TW201705760A (zh) 2017-02-01
AU2016270616B2 (en) 2020-06-25
TW201701664A (zh) 2017-01-01
JP6779918B2 (ja) 2020-11-04
US10148961B2 (en) 2018-12-04
JP6728240B2 (ja) 2020-07-22
KR102639864B1 (ko) 2024-02-22
AU2016270634A1 (en) 2017-11-09
WO2016196307A1 (en) 2016-12-08
EP3304909A1 (en) 2018-04-11
US10368072B2 (en) 2019-07-30
JP2018521556A (ja) 2018-08-02
AU2016270634B2 (en) 2020-03-12
EP3304909B1 (en) 2020-03-04
WO2016196287A1 (en) 2016-12-08
BR112017025612A2 (pt) 2018-08-07
CN107667533B (zh) 2020-06-05
BR112017025605A2 (pt) 2018-08-07

Similar Documents

Publication Publication Date Title
CN107667533A (zh) 高级算术译码器
JP6873051B2 (ja) 改善されたコンテキスト適応バイナリ算術コーティング(cabac)設計を使用したデータのコーディング
CN103975532B (zh) 用于上下文自适应性熵译码的方法和装置
CN112640457B (zh) 使用阈值和莱斯参数的用于系数编译码的常规编译码二进制数缩减
CN105393536B (zh) 使用位移向量从预测性块的帧内预测
CN103947207B (zh) 用于图片分割方案的统一设计
CN104054341B (zh) 用于上下文自适应性二进制算术译码系数层级译码的通过量改进
CN103947120B (zh) 使用二进制算术译码过程熵译码视频数据的方法及其设备
CN104205830B (zh) 用于在视频译码中的参考索引译码的旁路二进制位的方法、设备及装置
CN103828374B (zh) 参考图片信令和经解码图片缓冲器管理
CN105474641B (zh) 视频译码过程中用于系数层级译码的莱斯(rice)参数初始化
CN104025457B (zh) 用于最后有效系数位置译码的上下文最优化
CN104137542B (zh) 在视频译码过程中对与残余视频数据相关联的变换系数进行译码的方法、设备以及计算机可读介质
CN109716771A (zh) 用于视频译码的线性模型色度帧内预测
CN108353167A (zh) 译码视频数据的正负号信息
CN109565603A (zh) 使用解耦树结构的视频内译码
CN109565599A (zh) 使用解耦树结构的视频内译码
CN109196869A (zh) 帧内预测模式的基于邻近的发信号
CN107925764A (zh) 视频译码中的系数等级译码
CN106105206A (zh) 用于使用置零系数的低复杂度正变换的系统和方法
CN106664425A (zh) 视频译码中的跨分量预测
CN107211124A (zh) 适应性跨分量残差预测
CN104247421A (zh) 用于系数扫描的系数群及系数译码
CN103959775A (zh) 帧内模式视频译码
CN103262533A (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