CN105191307B - 在视频译码过程中用于系数级别译码的莱斯参数更新 - Google Patents

在视频译码过程中用于系数级别译码的莱斯参数更新 Download PDF

Info

Publication number
CN105191307B
CN105191307B CN201480020121.0A CN201480020121A CN105191307B CN 105191307 B CN105191307 B CN 105191307B CN 201480020121 A CN201480020121 A CN 201480020121A CN 105191307 B CN105191307 B CN 105191307B
Authority
CN
China
Prior art keywords
coefficient
value
parameter
lay
block
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
CN201480020121.0A
Other languages
English (en)
Other versions
CN105191307A (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 CN105191307A publication Critical patent/CN105191307A/zh
Application granted granted Critical
Publication of CN105191307B publication Critical patent/CN105191307B/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
    • 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/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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/176Methods 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 block, e.g. a macroblock
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • 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

本发明描述用于更新用以定义用于系数级别译码的哥伦布码的莱斯参数的值的技术。由所述莱斯参数定义的所述哥伦布码可用以译码系数群组CG中的至少一个系数的系数级别的剩余绝对值。根据所述技术,基于所述莱斯参数的最大值或所述莱斯参数的所述值的可变增量中的最小者的选择而更新所述莱斯参数的所述值。基于所述莱斯参数的所述值及正被译码的所述当前系数的所述系数级别的绝对值而确定所述可变增量。本发明还描述用于基于变换是否应用于变换块而调整用以定义用于系数级别译码的哥伦布码的所述莱斯参数的所述值的技术。

Description

在视频译码过程中用于系数级别译码的莱斯参数更新
本申请案主张2013年4月12日申请的美国临时专利申请案第61/811,632号、2013年6月7日申请的美国临时专利申请案第61/832,652号、2013年7月12日申请的美国临时专利申请案第61/845,850号及2014年3月14日申请的美国临时专利申请案第61/953,647号的权利,所述专利申请案中的每一者的全部内容以引用的方式并入本文中。
技术领域
本发明涉及视频译码,且更特定地说涉及用于译码变换系数的技术。
背景技术
数字视频能力可并入到广泛范围的装置中,所述装置包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数字相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝或卫星无线电话、视频电话会议装置及其类似者。数字视频装置实施视频压缩技术(诸如,在由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分(高级视频译码(AVC))、当前在开发中的高效率视频译码(HEVC)标准定义的标准及此类标准的扩展中所描述的那些视频压缩技术)以更有效地发射、接收及存储数字视频信息。
视频压缩技术包含空间预测及/或时间预测以缩减或移除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(即,视频帧或视频帧的部分)分割为视频块。图片的经帧内译码(I)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测予以编码。经帧间译码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。
空间预测或时间预测引起译码用于块的预测性块。残差数据表示待译码的原始块与预测性块之间的像素差。根据指向形成预测性块的参考样本的块的运动矢量,及指示经译码块与预测性块之间的差的残差数据来编码经帧间译码块。根据帧内译码模式及残差数据来编码经帧内译码块。为了进行进一步压缩,可将残差数据从像素域变换到变换域,从而产生可接着被量化的残差变换系数。可以特定次序扫描最初布置成二维阵列的经量化变换系数,以产生变换系数的一维矢量,且可应用熵译码以实现甚至更多的压缩。
发明内容
一般来说,本发明描述用于更新用以定义用于系数级别译码的哥伦布(Golomb)码的莱斯(Rice)参数的值的技术。特定地说,本发明描述用于更新所述莱斯参数的所述值的技术,所述值用以定义用于译码系数的系数级别的剩余绝对值的哥伦布码,其中上下文自适应二进制算术译码(CABAC)用于译码有效系数、大于1的系数级别及大于2的系数级别的指示。在一些实例中,可在高效率视频译码(HEVC)标准的范围扩展中将所述技术应用于针对系数级别译码的莱斯参数更新。由所述莱斯参数定义的所述哥伦布码可用于译码系数群组(CG)(即,系数的块)中的至少一个系数的系数级别的剩余绝对值。所述CG可驻留于变换单元(TU)的变换块内。
根据本发明的所述技术,基于所述莱斯参数的最大值或所述莱斯参数的所述值的可变增量中的最小者的选择而更新所述莱斯参数的所述值。基于所述莱斯参数的所述值及正被译码的所述当前系数的所述系数级别的绝对值而确定所述可变增量的量。本发明中所描述的所述莱斯参数更新方案允许所述莱斯参数在译码所述CG中的系数的系数级别的剩余绝对值期间快速地且有效地适应于自然内容与屏幕内容之间。
另外,本发明描述用于基于变换是否应用于包含所述CG的变换块而调整用以定义用于系数级别译码的哥伦布码的所述莱斯参数的所述值的技术。根据所述技术,如果所述变换并未应用于所述变换块(即,在变换跳过或绕过的状况下),那么本发明中所描述的所述莱斯参数更新方案用于更新所述莱斯参数的所述值,以用于译码所述CG中的后续系数的系数级别的剩余绝对值。另外,根据所述技术,如果所述变换并未应用于所述变换块,那么可在译码所述当前CG中的所述系数的系数级别的所述剩余绝对值之后,基于所述莱斯参数的所述值而针对所述变换块中的后续CG初始化所述莱斯参数的所述值。否则,如果所述变换应用于所述变换块,那么可根据所述HEVC莱斯参数更新及初始化方案调整所述莱斯参数。
在一个实例中,本发明涉及一种在视频解码过程中解码系数的方法,所述方法包括:确定残差视频数据的系数的块;使用由莱斯参数定义的哥伦布码来解码所述系数中的至少一者的系数级别的剩余绝对值;及基于变换是否应用于包含系数的所述块的变换块而调整所述莱斯参数的值。
在另外实例中,本发明涉及一种在视频解码过程中编码系数的方法,所述方法包括:确定残差视频数据的系数的块;使用由莱斯参数定义的哥伦布码来编码所述系数中的至少一者的系数级别的剩余绝对值;及基于变换是否应用于包含系数的所述块的变换块而调整所述莱斯参数的值。
在额外实例中,本发明涉及一种视频译码装置,其包括经配置以存储视频数据的存储器及一或多个处理器。所述处理器经配置以:确定残差视频数据的系数的块;使用由莱斯参数定义的哥伦布码来译码所述系数中的至少一者的系数级别的剩余绝对值;及基于变换是否应用于包含系数的所述块的变换块而调整所述莱斯参数的值。
在另一实例中,本发明涉及一种视频译码装置,其包括:用于确定残差视频数据的系数的块的装置;用于使用由莱斯参数定义的哥伦布码来译码所述系数中的至少一者的系数级别的剩余绝对值的装置;及用于基于变换是否应用于包含系数的所述块的变换块而调整所述莱斯参数的值的装置。
在额外实例中,本发明涉及一种包括指令的计算机可读存储媒体,所述指令在由视频译码装置的一或多个处理器执行时致使所述处理器:确定残差视频数据的系数的块;使用由莱斯参数定义的哥伦布码来译码所述系数中的至少一者的系数级别的剩余绝对值;及基于变换是否应用于包含系数的所述块的变换块而调整所述莱斯参数的值。
在另一实例中,本发明涉及一种在视频解码过程中解码系数的方法,所述方法包括:确定残差视频数据的系数的块;使用由莱斯参数定义的哥伦布码来解码所述系数中的至少一者的系数级别的剩余绝对值;及基于所述莱斯参数的最大值或所述莱斯参数的值的可变增量中的最小者的选择而更新所述莱斯参数的所述值,其中基于所述莱斯参数的所述值及正被解码的所述系数的所述系数级别的绝对值而确定所述可变增量。
在另一实例中,本发明涉及一种在视频编码过程中编码系数的方法,所述方法包括:确定残差视频数据的系数的块;使用由莱斯参数定义的哥伦布码来编码所述系数中的至少一者的系数级别的剩余绝对值;及基于所述莱斯参数的最大值或所述莱斯参数的值的可变增量中的最小者的选择而更新所述莱斯参数的所述值,其中基于所述莱斯参数的所述值及正被编码的所述系数的所述系数级别的绝对值而确定所述可变增量。
在另外实例中,本发明涉及一种视频译码装置,其包括经配置以存储视频数据的存储器及一或多个处理器。所述处理器经配置以:确定残差视频数据的系数的块;使用由莱斯参数定义的哥伦布码来译码所述系数中的至少一者的系数级别的剩余绝对值;及基于所述莱斯参数的最大值或所述莱斯参数的值的可变增量中的最小者的选择而更新所述莱斯参数的所述值,其中基于所述莱斯参数的所述值及正被译码的所述系数的所述系数级别的绝对值而确定所述可变增量。
一或多个实例的细节被阐述于随附图式及以下描述中。从所述描述及所述图式以及从权利要求书将显而易见其它特征、目标及优势。
附图说明
图1为说明可利用本发明中所描述的用于译码系数级别的技术的实例视频编码及解码系统的框图。
图2为展示用于系数级别译码的实例反扫描次序的概念图。
图3为展示用于系数群组(CG)的系数级别译码的实例基于子块的反对角线扫描次序的概念图。
图4为展示用于译码用于CG的系数级别的实例反对角线扫描次序的概念图。
图5为说明可实施本发明中所描述的用于编码系数级别的技术的实例视频编码器的框图。
图6为说明可实施本发明中所描述的用于解码系数级别的技术的实例视频解码器的框图。
图7为说明根据本发明中所描述的技术的在系数级别的熵编码期间更新莱斯参数的值的实例操作的流程图。
图8为说明根据本发明中所描述的技术的在系数级别的熵解码期间更新莱斯参数的值的实例操作的流程图。
图9为说明根据本发明中所描述的技术的在系数级别的熵编码期间调整莱斯参数的值的实例操作的流程图。
图10为说明根据本发明中所描述的技术的在系数级别的熵解码期间调整莱斯参数的值的实例操作的流程图。
具体实施方式
本发明描述用于更新莱斯参数的值的技术,所述值用以定义用于系数级别译码的哥伦布码。特定地说,本发明描述用于更新莱斯参数的值的技术,所述值用以定义用于译码系数的系数级别的剩余绝对值的哥伦布码,其中上下文自适应二进制算术译码(CABAC)用于译码有效系数、大于1的系数级别及大于2的系数级别的指示。在一些实例中,可在高效率视频译码(HEVC)标准的范围扩展中将技术应用于针对系数级别译码的莱斯参数更新。莱斯参数为用于从哥伦布码的家族选择码字集的可调谐值。由莱斯参数定义的哥伦布码可用于译码系数群组(CG)中的至少一个系数(即,系数的块)的系数级别的剩余绝对值。
根据本发明的技术,基于莱斯参数的最大值或莱斯参数的值的可变增量中的最小者的选择而更新莱斯参数的值。基于莱斯参数的值及正被译码的当前系数的系数级别的绝对值而确定可变增量的量。在一些实例中,可基于当前系数的系数级别的绝对值的经右移位版本而确定可变增量,其中右移位的量是基于莱斯参数的值。
可变增量使莱斯参数的值能够增加任何整数值,直到莱斯参数的最大值。举例来说,莱斯参数的最大值可等于7,且取决于莱斯参数的值及当前系数的系数级别的绝对值,可变增量可等于0、1、2、3、4、5或6中的任一者。在其它实例中,莱斯参数的最大值可等于4或5。在另外实例中,本发明的技术可允许在更新期间减低或递减莱斯参数。
在一些实例中,视频编码器可将残差视频数据的系数级别编码成位流,以用于发射到视频解码器或存储装置。在接收到经编码位流后,视频解码器就可以与视频编码器互逆的方式解码残差视频数据的系数级别。在有损视频译码的状况下,系数可为经量化变换系数。在无损视频译码或具有变换跳过或绕过的有损视频译码的状况下,系数可具有具大绝对值的系数级别。当系数表示屏幕内容(其可包含图形及文本区域)时,可并未良好地预测内容,从而产生系数的系数级别的大绝对值。
本发明中所描述的莱斯参数更新方案允许莱斯参数快速地且有效地适应于大系数值,此情况可发生在屏幕内容的块中及具有变换跳过或绕过的块中。根据技术,可基于可变增量更新莱斯参数的值,以便较快速地进行适应,来适应尚未经变换或经量化的屏幕内容及/或系数,但仍通过类似于HEVC莱斯参数更新方案的执行而处置自然内容的变换系数的系数级别译码。举例来说,当正被译码的当前系数的系数级别具有大绝对值时,可变增量可等于大于1的整数值,以便较快速地适应大系数值。通过在莱斯参数更新期间缩减或消除系数级别熵译码的回路内的条件运算,本发明的技术还提供较大的计算效率。
另外,本发明描述用于基于变换是否应用于包含CG的变换块而调整用以定义用于系数级别译码的哥伦布码的莱斯参数的值的技术。如本发明中所描述,调整莱斯参数的值可包含:更新莱斯参数的值,以定义用于译码CG中的后续系数的系数级别的剩余绝对值的哥伦布码;或初始化莱斯参数的值,以定义用于译码后续CG中的至少一个系数的系数级别的剩余绝对值的哥伦布码。
根据技术,如果变换并未应用于变换块(即,在变换跳过或绕过的状况下),那么本发明中所描述的莱斯参数更新方案用于更新莱斯参数的值。否则,如果变换应用于变换块,那么HEVC莱斯参数更新方案可用于更新莱斯参数的值。在另一实例中,根据技术,如果变换并未应用于变换块,那么对于变换块中的后续CG,可基于解码当前CG中的系数的系数级别的剩余绝对值之后的莱斯参数的值初始化莱斯参数的值。否则,如果变换应用于变换块,那么可针对变换块中的后续CG而将莱斯参数的值初始化为等于零。
图1为说明可利用本发明中所描述的用于译码系数级别的技术的实例视频编码及解码系统10的框图。如图1所展示,系统10包含将经编码视频经由通信信道16发射到目的地装置14的源装置12。按需要,经编码视频数据也可存储在存储媒体34或文件服务器36上,且可由目的地装置14存取。当存储到存储媒体或文件服务器时,视频编码器20可将经译码视频数据提供到另一装置(诸如网络接口、压缩光盘(CD)、蓝光(Blu-ray)或数字视频光盘(DVD)刻录机或压印设施装置,或其它装置),以用于将经译码视频数据存储到存储媒体。同样地,与视频解码器30分离的装置(诸如,网络接口、CD或DVD读取器,或其类似者)可从存储媒体检索经译码视频数据,且将经检索数据提供到视频解码器30。
源装置12及目的地装置14可包括广泛范围的装置中的任一者,所述装置包含桌上型计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、诸如所谓的智能电话的电话手机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台或其类似者。在许多状况下,此类装置可被配备以用于无线通信。因此,通信信道16可包括适于发射经编码视频数据的无线信道、有线信道或无线及有线信道的组合。类似地,可由目的地装置14经由任何标准数据连接(包含因特网连接)存取文件服务器36。此数据连接可包含适于存取存储在文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等等)或两者的组合。
根据本发明的实例,用于译码系数级别的技术可应用于视频译码以支持多种多媒体应用中的任一者,诸如,空中电视广播、有线电视发射、卫星电视发射、(例如)经由因特网的流式处理视频发射、数字视频的编码以供存储在数据存储媒体上、存储在数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频发射,以支持诸如视频流式处理、视频回放、视频广播及/或视频电话的应用。
在图1的实例中,源装置12包含视频源18、视频编码器20、调制器/解调器22及发射器24。在源装置12中,视频源18可包含诸如视频捕获装置(诸如,视频相机)、含有先前所捕获视频的视频存档、用以从视频内容提供者接收视频的视频馈送接口,及/或用于将计算机图形数据产生为源视频的计算机图形系统的源,或此类源的组合。作为一个实例,如果视频源18为视频相机,那么源装置12与目的地装置14可形成所谓的相机电话或视频电话,所述电话可提供在(例如)智能电话或平板计算机内。然而,一般来说,本发明中所描述的技术可适用于视频译码,且可应用于无线及/或有线应用,或经编码视频数据存储在本地磁盘的应用。
可由视频编码器20编码所捕获、预捕获或计算机产生的视频。可由调制解调器22根据通信标准(诸如,有线或无线通信协议)调制经编码视频信息,且经由发射器24将其发射到目的地装置14。调制解调器22可包含各种混合器、滤波器、放大器或经设计以用于信号调制的其它组件。发射器24可包含经设计以用于发射数据的电路,包含放大器、滤波器及(在无线通信的状况下)一或多个天线。
由视频编码器20编码的所捕获、预捕获或计算机产生的视频也可存储到存储媒体34或文件服务器36上,以用于稍后消耗。存储媒体34可包含蓝光光盘、DVD、CD-ROM、闪速存储器,或用于存储经编码视频的任何其它合适的数字存储媒体。存储在存储媒体34上的经编码视频可接着由目的地装置14存取,以用于解码及回放。尽管图1中未图示,但在一些实例中,存储媒体34及/或文件服务器36可存储发射器24的输出。
文件服务器36可为能够存储经编码视频且将那个经编码视频发射到目的地装置14的任何类型的服务器。实例文件服务器包含web服务器(例如,用于网站)、FTP服务器、网络连接存储(NAS)装置、本地磁盘驱动器,或能够存储经编码视频数据且将其发射到目的地装置的任何其它类型的装置。来自文件服务器36的经编码视频数据的发射可为流式处理发射、下载发射或两者的组合。可由目的地装置14经由任何标准数据连接(包含因特网连接)存取文件服务器36。此标准数据连接可包含适于存取存储在文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器、乙太网、USB等等)或两者的组合。
在图1的实例中,目的地装置14包含接收器26、调制解调器28、视频解码器30及显示装置32。目的地装置14的接收器26经由信道16接收信息,且调制解调器28解调信息以产生用于视频解码器30的经解调位流。经由信道16所传达的信息可包含由视频编码器20产生以用于由视频解码器30在解码视频数据时使用的多种语法信息。此类语法也可与存储在存储媒体34或文件服务器36上的经编码视频数据一起被包含。视频编码器20及视频解码器30中的每一者可形成能够编码或解码视频数据的相应编码器-解码器(编码解码器)的部分。
显示装置32可与目的地装置14整合在一起,或在目的地装置外部。在一些实例中,目的地装置14可包含整合式显示装置,且也经配置以与外部显示装置进行接口连接。在其它实例中,目的地装置14可为显示装置。一般来说,显示装置32向用户显示经解码视频数据,且可包括多种显示装置中的任一者,诸如,液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
在图1的实例中,通信信道16可包括任何无线或有线通信媒体,诸如,射频(RF)频谱或一或多个物理传输线,或无线及有线媒体的任何组合。通信信道16可形成基于分组的网络(诸如,局域网、广域网或诸如因特网的全局网络)的部分。通信信道16大体上表示用于将视频数据从源装置12发射到目的地装置14的任何合适通信媒体或不同通信媒体的集合,包含有线或无线媒体的任何合适组合。通信信道16可包含路由器、交换机、基站或可用于促进从源装置12到目的地装置14的通信的任何其它装备。
视频编码器20及视频解码器30可根据视频压缩标准(诸如,由ITU-T视频译码专家群组(VCEG)及ISO/IEC运动图片专家群组(MPEG)的视频译码联合合作小组(JCT-VC)开发的高效率视频译码(HEVC)标准)而操作。文档JCTVC-L1003v34中的HEVC标准的草案(Bross等人的“High Efficiency Video Coding(HEVC)Text Specification Draft 10”,ITU-TSG16 WP3及ISO/IEC JTC1/SC29/WG11的视频译码联合合作小组(JCT-VC),第12次会议,Geneva,CH,2013年1月14日到23日)可从http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zip得到。
尽管图1中未图示,但在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器整合,且可包含适当MUX-DEMUX单元或其它硬件及软件,以处置共同数据流或单独数据流中的音频及视频两者的编码。适用时,在一些实例中,MUX-DEMUX单元可符合ITU H.223多路复用器协议,或诸如用户数据报协议(UDP)的其它协议。
视频编码器20及视频解码器30可各自被实施为多种合适编码器电路系统中的任一者,诸如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当在软件中部分地实施技术时,装置可将用于软件的指令存储在合适的非暂时性计算机可读媒体中,且在硬件中使用一或多个处理器来执行所述指令以执行本发明的技术。视频编码器20及视频解码器30中的每一者可包含在一或多个编码器或解码器中,其中任一者可被整合为相应装置中的组合编码器/解码器(编码解码器)的部分。
视频编码器20可实施本发明的技术中的任一者或全部,以用于在视频编码过程中编码系数级别。同样地,视频解码器30可实施这些技术中的任一者或全部,以用于在视频解码过程中解码系数级别。如本发明中所描述的视频译码器可指视频编码器或视频解码器。类似地,视频译码单元可指视频编码器或视频解码器。同样地,视频译码可指视频编码或视频解码。
数字视频装置实施视频压缩技术以更有效地编码及解码数字视频信息。视频压缩可应用空间(帧内)预测及/或时间(帧间)预测技术,以缩减或移除视频序列中固有的冗余。上文所描述的HEVC标准是基于视频译码装置的演进模型,其被称作HEVC测试模型(HM)。HM假设视频译码装置相对于根据(例如)ITU-T H.264/AVC的现有装置的若干额外能力。举例来说,H.264提供九个帧内预测编码模式,而HEVC HM可提供多达三十三个帧内预测编码模式。以下章节将较详细地论述HM的某些方面。
对于根据HEVC标准的视频译码,可将视频帧分割成译码单元。译码单元(CU)通常是指充当被应用各种译码工具以用于视频压缩的基本单元的图像区域。CU通常具有被表示为Y的亮度分量,及被表示为U及V的两个色度分量。取决于视频取样格式,U及V分量的大小可依据样本的数目而与Y分量的大小相同或不同。
CU通常为正方形,且可认为其类似于(例如)其它视频译码标准(诸如,ITU-TH.264)下的所谓的宏块。出于说明的目的,将在本申请案中描述根据正开发的HEVC标准的目前提议方面中的一些的译码。然而,本发明中所描述的技术可用于其它视频译码过程,诸如根据H.264或其它标准或专有视频译码过程所定义的那些过程。
根据HM,CU可包含一或多个预测单元(PU)及/或一或多个变换单元(TU)。位流内的语法数据可定义最大译码单元(LCU),最大译码单元为就像素的数目而说的最大CU。一般来说,除CU不具有大小区分之外,CU具有与H.264的宏块相似的目的。因此,可将CU分裂成子CU。一般来说,本发明中对CU的参考可指图片的最大译码单元或LCU的子CU。LCU可分裂为多个子CU,且每一子CU可进一步分裂为多个子CU。用于位流的语法数据可定义可分裂LCU的最大次数(被称为CU深度)。因此,位流也可定义最小译码单元(SCU)。本发明还使用术语“块”或“部分”来指CU、PU或TU中的任一者。一般来说,“部分”可指视频帧的任何子集。
LCU可与四叉树数据结构相关联。一般来说,四叉树数据结构每CU包含一个节点,其中根节点对应于LCU。如果将CU分裂成四个子CU,那么对应于所述CU的节点包含四个叶节点,所述叶节点中的每一者对应于所述子CU中的一者。四叉树数据结构中的每一节点可提供用于对应CU的语法数据。举例来说,四叉树中的节点可包含分裂旗标,其指示是否将对应于所述节点的CU分裂成子CU。可递归地定义用于CU的语法元素,且所述语法元素可取决于CU是否分裂成子CU。如果CU未进一步分裂,那么所述CU被称作叶CU。在本发明中,尽管不存在原始叶CU的显式分裂,但叶CU的四个子CU也被称作叶CU。举例来说,如果处于16×16大小的CU未进一步分裂,那么尽管16×16CU从未分裂,但四个8×8子CU也将被称作叶CU。
叶CU可包含一或多个预测单元(PU)。一般来说,PU表示对应CU的全部或部分,且可包含用于检索PU的参考样本的数据。举例来说,当PU被帧间模式编码时,PU可包含定义用于PU的运动矢量的数据。定义运动矢量的数据可描述(例如)运动矢量的水平分量、运动矢量的垂直分量、运动矢量的分辨率(例如,四分之一像素精确度或八分之一像素精确度)、运动矢量所指向的参考帧,及/或运动矢量的参考列表(例如,列表0或列表1)。定义PU的叶CU的数据也可描述(例如)将CU分割成一或多个PU。取决于CU被未译码、帧内预测模式编码还是帧间预测模式编码,分割模式可不同。对于帧内译码,可相同于下文所描述的叶变换单元而对待PU。
新出现的HEVC标准允许根据变换单元(TU)的变换,对于不同CU,TU可不同。通常基于针对经分割LCU所定义的给定CU内的PU的大小而对TU定大小,但可并非总是如此状况。TU通常相同于PU的大小,或小于PU的大小。在一些实例中,可使用被称为“残差四叉树”(RQT)的四叉树结构而将对应于CU的残差样本再分为较小单元。RQT的叶节点可被称作变换单元(TU)。可变换与TU相关联的像素差值以产生可被量化的变换系数。TU包含明度变换块及两个色度变换块。因而,应用于TU的下文所论述的任何译码过程可实际上应用于明度及色度变换块。
一般来说,PU是指与预测过程相关的数据。举例来说,当帧内模式编码PU时,PU可包含描述所述PU的帧内预测模式的数据。作为另一实例,当帧间模式编码PU时,PU可包含定义所述PU的运动矢量的数据。
一般来说,TU用于变换过程及量化过程。具有一或多个PU的给定CU也可包含一或多个变换单元(TU)。在预测之后,视频编码器20可根据PU而从由译码节点识别的视频块计算残差值。接着,更新译码节点以参考残差值而非原始视频块。残差值包括像素差值,可使用TU中所指定的变换及其它变换信息将所述像素差值变换成变换系数,将其量化及扫描,以产生序列化变换系数以供熵译码。可再次更新译码节点,以指这些序列化变换系数。本发明通常使用术语“视频块”来指CU的译码节点。在一些特定状况下,本发明还可使用术语“视频块”来指包含译码节点以及PU及TU的树型块(即,LCU或CU)。
视频序列通常包含一系列视频帧或图片。图片群组(GOP)通常包括一系列视频图片中的一或多者。GOP可在GOP的标头、图片中的一或多者的标头中或在别处包含描述包含在GOP中的图片数目的语法数据。图片的每一切片可包含描述相应切片的编码模式的切片语法数据。视频编码器20通常对个别视频切片内的视频块进行操作,以便编码视频数据。视频块可对应于CU内的译码节点。视频块可具有固定或变化的大小,且可根据指定译码标准而在大小方面不同。
为了译码块(例如,视频数据的预测单元),首先导出用于块的预测符。可经由帧内(I)预测(即,空间预测)或帧间(P或B)预测(即,时间预测)导出预测符(也被称作预测性块)。因此,可使用相对于同一帧(或切片)中的相邻参考块中的参考样本的空间预测帧内译码(I)一些预测单元,且可相对于其它先前经译码帧(或切片)中的参考样本的块单向帧间译码(P)或双向帧间译码(B)其它预测单元。在每一状况下,参考样本可用以形成用于待译码的块的预测性块。
在识别预测性块后,就确定原始视频数据块中的像素与其预测性块中的像素之间的差。此差可被称作预测残差数据,且指示待译码的块中的像素值与经选择以表示经译码块的预测性块中的像素值之间的像素差。为了实现较好压缩,可(例如)使用离散余弦变换(DCT)、离散正弦变换(DST)、整数变换、卡-洛(K-L)变换或另一变换对预测残差数据进行变换,以产生变换系数。
可以驻留于空间像素域中的像素差值的二维(2D)阵列布置变换块(诸如,TU)中的残差数据。变换将残差像素值转换为变换域(诸如,频域)中的变换系数的二维阵列。为了进一步压缩,可在熵译码之前量化变换系数。在一些实例(诸如无损译码或具有变换跳过或绕过的有损译码)中,可跳过系数的变换过程及量化过程两者。
接着,熵译码器将熵译码应用于系数,诸如上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、概率区间分割熵译码(PIPE)或其类似者。在一些实例中,视频编码器20可利用预定义扫描次序来扫描系数,以产生可经熵编码的序列化矢量。在其它实例中,视频编码器20可执行自适应扫描。在扫描系数以形成一维矢量之后,视频编码器20可熵编码一维矢量,视频编码器20也可熵编码与用于由视频解码器30在解码视频数据时所使用的经编码视频数据相关联的语法元素。
本发明为用于上下文自适应二进制算术译码(CABAC)熵译码器或其它熵译码器(诸如,概率区间分割熵译码(PIPE)或相关译码器)的相关技术。算术译码为用于具有较高译码效率的许多压缩算法中的一种形式的熵译码,这是因为其能够将符号映射到非整数长度的码字。算术译码算法的实例为基于上下文的二进制算术译码(CABAC)。
一般来说,使用CABAC的熵译码数据符号涉及以下步骤中的一或多者:
(1)二进制化:如果待译码的符号为非二进制值,那么将其映射到一连串所谓的“二进制”。每一二进制可具有“0”或“1”的值。
(2)上下文指派:向每一二进制(规则模式中)指派上下文。上下文模型确定如何基于可用于二进制的信息(诸如,先前经编码符号的值或二进制数目)来计算用于给定二进制的上下文。
(3)二进制编码:通过算术编码器编码二进制。为了编码二进制,算术编码器要求将二进制的值的概率作为输入,即,二进制的值等于“0”的概率及二进制的值等于“1”的概率。由被称为“上下文状态”的整数值表示每一上下文的估计概率。每一上下文具有状态,且因此对于指派到一个上下文的二进制而言,状态(即,估计概率)是相同的,且在上下文之间不同。
(4)状态更新:基于二进制的实际经译码值更新选定上下文的概率状态(例如,如果二进制值为“1”,那么增加“1”的概率)。
在绕过模式中使用CABAC熵译码数据符号的状况下,将待译码的符号二进制化为一连串二进制,且通过固定相等概率模型(例如,通过指数哥伦布码或哥伦布莱斯码)以算数方式对其进行译码。绕过模式并不要求上下文指派或概率状态更新。举例来说,本发明描述用于使用由莱斯参数定义的哥伦布码来绕过译码系数的系数级别的剩余绝对值的技术。应注意,概率区间分割熵译码(PIPE)使用类似于算术译码的那些原理的原理,且因此其也可利用本发明的技术。
H.264/AVC及HEVC中的CABAC使用状态,且每一状态与概率隐式地相关。存在CABAC的变型,其中直接使用符号的概率(“0”或“1”),即,概率或概率的整数版本为状态。举例来说,CABAC的此类变型被描述于“由法国电信、NTT、NTT DOCOMO、松下和特艺提议的视频译码技术的描述(Description of video coding technology proposal by France Telecom,NTT,NTT DOCOMO,Panasonic and Technicolor)”(JCTVC-A 114,第一次JCT-VC会议,德国德雷斯顿(Dresden),2010年4月,在下文中被称作“JCTVC-A114”)中,及A.Alshin与E.Alshina的“用于CABAC的多参数概率更新(Multi-parameter probability update forCABAC)”(JCTVC-F254,第六次JCT-VC会议,意大利都灵(Torino),2011年7月,在下文中被称作“JCTVC-F254”)中。
为了熵译码系数的块(无论被变换且被量化还是既未被变换也未被量化),通常执行扫描过程,使得根据特定扫描次序将块中的系数的二维(2D)阵列重新布置成系数的有序一维(1D)阵列,即,矢量。接着,将熵译码应用于系数的矢量。扫描变换单元中的系数序列化用于熵译码器的系数的2D阵列。可产生有效性图以指示有效(即,非零)系数的位置。扫描可应用于有效(即,非零)系数的扫描级别,及/或有效系数的码正负号。
在HEVC标准中,首先针对变换块译码有效变换(例如,有效性图)的位置信息,以指示扫描次序中的最后非零系数的位置。针对反扫描次序中的每一系数,译码有效性图及级别信息(即,系数的绝对值及正负号)。
图2为展示用于系数级别译码的实例反扫描次序的概念图。H.264标准定义曲折扫描。HEVC标准定义三种不同扫描:子块对角线扫描、子块水平扫描及子块垂直扫描。图2说明各自应用于变换块的8×8子块的反曲折扫描样式29、反垂直扫描样式31、反水平扫描样式33及反对角线扫描样式35。应注意,反对角线扫描样式35、反曲折扫描样式29、反垂直扫描样式31及反水平扫描样式33中的每一者从变换块的右下角的较高频率系数到变换块的左上角的较低频率系数进行。
子块对角线扫描样式35、子块水平扫描样式33及子块垂直扫描样式31可应用于4×4及8×8变换块。在HEVC标准中,子块对角线扫描样式35也可应用于16×16及32×32变换块。在一些实例中,子块对角线扫描样式35也可应用于8×8TU。在基于子块的扫描中,在进行到较大变换块内的另一4×4子块之前,扫描较大变换块的一个4×4子块。在其它实例中,“子块”可由根据所使用的扫描次序的数个经连续扫描系数组成。举例来说,“子块”可由沿着对角线扫描次序的16个经连续扫描系数组成。
图3为展示用于系数群组(CG)的系数级别译码的实例基于子块的反对角线扫描次序的概念图。图3说明由四个4×4子块(37A、37B、37C、37D)组成的8×8变换块38。如图3所展示,在扫描子块37C中的系数之前扫描子块37D中的系数。接着,从子块37C到子块37B且最后到子块37A进行扫描。图3描绘每一子块中的反对角线扫描次序。在其它实例中,可使用任何扫描次序(例如,水平、垂直、曲折等等)。在一些实例中,可在每一子块内使用前向扫描次序。
在HEVC标准中,可将系数分组成区块或子集。针对每一子集,译码系数的有效性图及级别信息(即,绝对值及正负号)。在本发明中,系数的子集可被称作系数群组(CG)。CG可经定义为变换块在扫描次序中的16个连续系数,其可对应于4×4子块。在一个实例中,子集由4×4变换块及8×8变换块沿着扫描次序(例如,前向或反对角线、水平或垂直扫描次序)的16个连续系数组成。对于16×16及32×32变换块,将较大变换块内的系数的4×4子块对待为子集。在图3的实例中,子块37中的每一者可为CG。
译码以下所描述的符号以表示CG内的系数级别信息。在一个实例中,以反扫描次序译码所有符号。可根据反扫描次序在CG的单独扫描中译码符号中的每一者。以下符号可被称作“旗标”。应注意,本发明中所论述的“旗标”中的任一者未必限于二进制符号,而是也可被实施为多位语法元素。
significant_coeff_flag(也被称作sigMapFlag)指示子集中的每一系数的有效性。具有大于零的绝对值的系数被认为是有效的。作为一个实例,0的sigMapFlag值(即,并不大于零)指示系数并不有效,而1的值(即,大于零)指示系数是有效的。此旗标可大体上被称作有效性旗标。coeff_sign_flag(也被称作signFlag)指示任何非零系数(即,具有为1的sigMapFlag的系数)的正负号信息。举例来说,此旗标的零指示正号,而1指示负号。
coeff_abs_level_greaterl_flag(也被称作grlFlag)指示对于任何非零系数(即,具有为1的sigMapFlag的系数或其中将sigMapFlag隐式地导出为1),系数的绝对值是否大于1。作为一个实例,0的grlFlag值指示系数并不具有大于1的绝对值,而grlFlag的1值指示系数确实具有大于1的绝对值。此旗标可大体上被称作大于1旗标。
coeff_abs_level_greater2_flag(也被称作gr2Flag)指示对于具有大于1的绝对值的任何系数(即,具有为1的grlFlag的系数),系数的绝对值是否大于2。作为一个实例,0的gr2Flag值指示系数并不具有大于2的绝对值,而gr2Flag的1值指示系数确实具有大于2的绝对值。此旗标可大体上被称作大于2旗标。可各自使用CABAC译码sigMapFlag、gr1Flag及gr2Flag。
coeff_abs_level_remaining语法元素(也被称作levelRem语法元素)指示绝对值大于由先前旗标译码的值的任何系数的系数级别的剩余绝对值。一般来说,对于levelRem语法元素,译码具有大于2的绝对值的每一系数(即,具有为1的gr2Flag的系数)的系数级别的绝对值减去三(即,abs(级别)-3)。在一些实例中,当达到当前CG的gr1Flag及/或gr2Flag的最大数目时,levelRem语法元素可用于译码具有小于或等于二的绝对值的系数级别。可使用由莱斯参数的值定义的哥伦布码来译码levelRem语法元素。
图4为展示用于译码用于CG 39的系数级别的实例反对角线扫描次序的概念图。CG39可为4×4变换块或可为8×8、16×16或32×32变换块中的4×4子块。表1中概述以反扫描次序扫描的用于图4所展示的系数的经编码符号。在表1中,scan_pos是指系数沿着图4所展示的CG 39的反对角线扫描样式的位置。Scan_pos 15为所扫描的第一系数,且位于CG 39的右下角处。scan_pos 15处的系数具有0的绝对值。Scan_pos 0为所扫描的最后系数,且位于CG 39的左上角处。scan_pos 0处的经量化系数具有10的绝对值。在4×4变换块或较大变换块中的最后4×4子块的状况下,并不需要译码前四个sigMapFlags,这是由于知道最后非零系数的位置。即,sigMapFlag的译码可开始于最后非零系数处(在此实例中,为scan_pos11处的系数)。
表1.用于系数群组的系数的经译码符号
在这些符号当中,通过自适应上下文模型(例如,使用CABAC)编码sigMapFlag、gr1Flag及gr2Flag的二进制。经由通过固定相等概率模型(例如,通过指数哥伦布码或哥伦布莱斯码)的绕过模式编码signFlag及levelRem的二进制化二进制。
如上文所论述,HEVC标准中的语法元素coeff_abs_level_remaining(即,levelRem)指示系数(如果值大于用于系数译码的先前扫描遍次中所译码的那个值)的系数级别的剩余绝对值。在绕过模式中译码此语法元素以便增加吞吐量。对于小值,HEVC标准利用哥伦布莱斯译码,且对于较大值,其切换到指数哥伦布(Exp-Golomb)译码。哥伦布莱斯码与指数哥伦布码之间的转变点为一元码长度等于4时。莱斯参数为用以从哥伦布码的家族选择码字集的可调谐值。
举例来说,哥伦布莱斯码为哥伦布码的子集,且在给出可调谐莱斯参数m的情况下,将值n>=0表示为商q=底限(n/m)且余数r=n-q×m,其中m为2的幂。商q为前缀且具有一元码表示。余数r为后缀且具有固定长度表示。在指数哥伦布码中,通过一元前缀接着固定长度后缀而类似地形成码结构,但在一元码中的每一位之后,加倍后缀部分中的码字的数目。因此,指数哥伦布码的码字长度较慢地增长。一般来说,莱斯参数的较大值引起码较慢增长,当译码大系数值时,此情况允许较大效率。关于莱斯参数的额外细节可发现于J.Sole、R.Joshi、M.Karczewicz、N.Nguyen、T.Ji、G.Clare、F.Henry、A.Duenas的HEVC中的变换系数译码(IEEE用于视频发射的电路及系统汇刊(关于HEVC的特刊),2012年12月)中。
在HEVC标准中,在每一系数群组(CG)的开始时将莱斯参数设置为等于0的值,且在译码CG期间,取决于莱斯参数的值及如下所译码的当前系数的系数级别的绝对值,有条件地更新所述参数:
如果absCoeffLevel>3*2cRiceParam,那么cRiceParam=min(cRiceParam+1,4)
否则,cRiceParam=cRiceParam,
其中cRiceParam为莱斯参数,absCoeffLevel为当前系数的系数级别的绝对值,且min()为选择最小值的函数。当在分布中观察到大绝对值时,HEVC莱斯参数更新方案允许二进制化过程逐渐地适应系数统计。如上文的方程式中可见,HEVC莱斯参数更新方案将莱斯参数的值更新1或0的固定增量。
下文展示C-码中的HEVC莱斯参数更新过程的实例:
if(absCoeff>3*(1<<cRiceParam))
{
cRiceParam=min<UInt>(cRiceParam+1,4);
}
其中cRiceParam为莱斯参数,absCoeff为当前系数的系数级别的绝对值,min()为选择最小值的函数,且<<为左位移位运算。
在HEVC标准中,如下描述HEVC莱斯参数更新过程。
从cLastAbsLevel及cLastRiceParam如下导出变量cRiceParam:
cRiceParam=Min(cLastRiceParam+(cLastAbsLevel>
(3*(1<<cLastRiceParam))?1:0),4)
在上文的方程式中,cRiceParam为莱斯参数的经更新值,Min()为选择最小值的函数,cLastRiceParam为莱斯参数的当前值,且cLastAbsLevel为当前经译码系数的系数级别的绝对值。使用术语“最后”来指参数,这是因为莱斯参数的经更新值可用以定义用于译码CG中的后续系数的哥伦布码。“?”为条件“如果”语句的速记。举例来说,可认为上文的方程式陈述:如果cLastAbsLevel大于(3*(1<<cLastRicParam)),那么cLastRiceParam递增1,否则cLastRiceParam不变。
JCTVC-M0316(M.Budagavi的“AHG8:Coefficient level cRiceParam updatesfor screen content coding”(ITU-T SG16WP3及ISO/IEC JTC1/SC 29/WG11的视频译码联合合作小组(JCT-VC),第13次会议,韩国仁川,2013年4月18日到26日,在下文为JCTVC-M0316))中所提议的技术描述用于莱斯参数的较快更新过程。JCTVC-M0316的技术将具有HEVC帧内预测工具有时并未良好地预测的锐边的图形及文本区域作为目标。由于预测误差,系数值可具有较高幅度增加。
JCTVC-M0316的贡献呈现对用于译码coeff_abs_level_remaining语法元素的莱斯参数更新过程的两个修改,以便当编码屏幕内容视频时,改善HEVC标准中的无损译码效率。两个修改为:(1)快速更新莱斯参数的值及(2)将莱斯参数的最大值从4增加到5。
如下为用于JCTVC-M0316的修改(1)的经修改C-码的实例。
if(absCoeff>25*(1<<cRiceParam)){
cRiceParam=4;
}
else
if(absCoeff>3*(1<<cRiceParam))
{
cRiceParam=min<UInt>(cRiceParam+1,4);
}
如下为用于修改(1)的经修改HEVC标准的实例。
if(cLastAbsLevel>(25*(1<<cLastRiceParam)))cRiceParam=4
else cRiceParam=Min(cLastRiceParam+(cLastAbsLevel>
(3*(1<<cLastRiceParam))?1:0),4)
对于JCTVC-M0316的修改(1)及(2)的组合,如下为经修改C-码的实例。
if(absCoeff>25*(1<<cRiceParam)){
cRiceParam=4:
}
else
if(absCoeff>3*(1<<cRiceParam))
{
cRiceParam=min<UInt>(cRiceParam+1,4);
}
if(cRiceParam==4){
cRiceParam=5;
}
如下为用于修改(1)及(2)的组合的经修改HEVC标准的实例。
if(cLastAbsLevel>(25*(1<<cLastRiceParam)))cRiceParam=4
else cRiceParam=Min(cLastRiceParam+(cLastAbsLevel>
(3*(1<<cLastRiceParam))?1:0),4)
if(cRiceParam==4)cRiceParam=5
JCTVC-M0316中所提议的快速更新技术展示对一些屏幕内容的良好效率。相比于HEVC莱斯参数更新方案,JCTVC-M0316的技术较好地适应一些视频统计,这是由于当当前系数的系数级别的绝对值高于阈值时,莱斯参数直接行进到其最大值。当观察到大系数时,JCTVC-M0316中的快速适应过程基本上将莱斯参数设置为最大值。在HEVC标准中,在译码每一系数的系数级别的剩余绝对值时,莱斯参数(如上文的方程式中所展示)仅增加1或0。因此,在HEVC莱斯参数更新方案中,莱斯参数可不能快速地适应大系数值的译码。
JCTVC-M0316中所提议的方法的一个潜在缺点为其在莱斯参数更新过程中并入条件检查。此类检查可使视频编码器20及视频解码器30较慢。此外,JCTVC-M0316的技术要求计算额外乘法。此类额外计算必须在系数熵译码的回路(其为视频译码中的临界回路)内进行,且可为瓶颈。
鉴于这些缺点,本发明根据系数级别值或视频内容提议用于基于可变增量的快速且有效的莱斯参数更新方案的技术。本发明的技术并不要求在临界回路中引入额外条件,且在一些状况下可甚至移除HEVC莱斯参数更新方案中的一些现有条件。本发明在无需可较灵活的额外逻辑的情况下引入快速更新,这是因为可变增量允许莱斯参数的值增加任何量,直到实现莱斯参数的最大值。
在本发明的第一实例中,描述用于发信用于莱斯参数更新的参数的技术。如下重复HEVC标准中用于莱斯参数更新过程的当前技术:
其中在CG的开始时,cRiceParam等于0。
可通过四个新参数表达本发明的技术。
●INIT_PARAM:莱斯参数在CG开始时的初始值
●INC_PARAM:莱斯参数的增量值
●MAX_PARAM:莱斯参数的最大值
●THRESH_ABS_COEFF:用于与系数级别的绝对值比较的更新方案中所使用的阈值
根据本发明的技术,视频编码器20可经配置以在位流中发信这些参数中的一或多者,例如,在序列参数集(SPS)、图片参数集(PPS)、切片标头、LCU、CU、TU或变换块级别处进行发信。在此状况下,视频编码器20可经配置以针对正被编码的内容选择最佳参数,且将选择发信到视频解码器30。
如下为本发明的莱斯参数更新功能的C-码中的表达的实例(包含所发信的参数)。
cRiceParam=INIT_PARAM
if(absCoeff>THRESH_ABS_COEFF*(1<<cRiceParam))
{
cRiceParam=min<UInt>(cRiceParam+INC_PARAM,MAX_PARAM);
}
在一些实例中,视频编码器20及视频解码器30可存储用于本发明的莱斯参数更新方案的参数的默认值。对于自然内容的经量化变换系数的HEVC标准译码,如下可为所述参数的值(其可为默认值)。
●INIT_PARAM=0
●INC_PARAM=1
●MAX_PARAM=4
●THRESH_ABS_COEFF=3
对于译码屏幕内容的尚未经变换或经量化系数或对于无损译码,默认参数可不同。举例来说,如下可为默认参数。
●INIT_PARAM=2
●INC_PARAM=1
●MAX_PARAM=5
●THRESH_ABS_COEFF=3
上文的参数值仅仅为实例。在其它实例中,其它默认值可存储在视频编码器20及视频解码器30处。举例来说,MAX_PARAM可等于7的值。作为另一实例,INC_PARAM可等于大于1直到最大值的任何整数值。
在另一实例中,当以有损方式译码残差时,视频编码器20及/或视频解码器30可经配置以使用值的一个集合,且当以任一无损方式译码残差时(即,当cu_transquant_bypass_flag起作用时),所述装置可使用值的另一集合。在另一实例中,不同于用于有损译码的HEVC值的一个集合的值可用于变换跳过或变换绕过模式中的有损译码。在另一实例中,默认值的集合可取决于变换类型(例如,DCT、DST、跳过或其类似者)。
如上文所描述,HEVC莱斯参数更新方案在每一更新时(即,在待在绕过模式中使用由莱斯参数定义的哥伦布码译码的每一系数时)将莱斯参数至多增加1。当观察到大系数时,JCTVC-M0316中的快速适应过程基本上将莱斯参数设置为最大值。
在另一实例中,本发明呈现可无需额外逻辑或甚至通过缩减HEVC莱斯参数更新方案中的检查数目而利用的快速更新技术。本发明提议用于快速且有效地更新灵活的莱斯参数的值的以下方法,这是因为其可将莱斯参数的值增加任何量直到实现最大值。
根据本发明的此实例,下文重复的用于HEVC莱斯参数更新方案的C-码区:
if(absCoeff>3*(1<<cRiceParam))
{
cRiceParam=min<UInt>(cRiceParam+1,4);
}
将由下式替换
cRiceParam=min<UInt>((cRiceParam+(absCoeff>>
(PARAM1*(2<<cRiceParam)))),MAX_RICE_PARAM);
其中(absCoeff>>(PARAM1*(2<<cRiceParam)))定义基于莱斯参数的值(即,cRiceParam)及正被译码的系数的系数级别的绝对值(即,absCoeff)所确定的莱斯参数的值的可变增量。在此实例中,基于正被译码的系数的系数级别的绝对值(即,absCoeff)的经右移位版本确定可变增量,其中右移位的量是基于莱斯参数的值(即,cRiceParam)。
在本发明的莱斯参数更新方案的上文表示中,从HEVC莱斯参数更新方案移除一个检查,且相对于JCTVC-M0316中所引入的莱斯参数更新方案移除两个或三个检查。基本上,基于莱斯参数的最大值(即,MAX_RICE_PARAM)或莱斯参数的值(即,cRiceParam)的可变增量中的最小者的选择而更新cRiceParam,基于正被译码的系数的绝对值(即,absCoeff)除以(即,右移位“>>”)乘以(即,左移位“<<”)恒定参数值(PARAM1)的莱斯参数的函数(即,cRiceParam)而确定所述可变增量。
HEVC标准将定义为如下。
cRiceParam=Min(cLastRiceParam+(cLastAbsLevel>>
(PARAM1*(2<<cLastRiceParam))),MAX_RICE_PARAM)
在本发明的一个实例中,将PARAM1设置为等于1,且将MAX_RICE_PARAM设置为等于4。如上文本发明的第一实例中所描述,可由视频编码器20将这些参数发信到视频解码器30,或可由视频解码器30在并未发信的情况下导出这些参数。举例来说,对于有损译码,可将MAX_RICE_PARAM设置为等于4,且对于无损译码(即,当cu_transquant_bypass_flag起作用时)可将其设置为等于5。
在一个实例中,在使用上文给出的实例值的情况下,用于本发明的莱斯参数更新方案的C-码公式将为如下。
cRiceParam=min<UInt>((cRiceParam+(absCoeff>>
(2<<cRiceParam))),4);
等效地,HEVC标准将经定义为如下。
cRiceParam=Min(cLastRiceParam+(cLastAbsLevel>>
(2<<cLastRiceParam)),4)
应注意,如JCTVC-M0316中所呈现的莱斯参数更新仅将莱斯参数的值增加1,或取决于条件将莱斯参数设置为等于其最大值4或5。本发明的技术可在任何更新时将可变增量的量增加任何整数值,即,1、2、3或更大,直到莱斯参数的最大值。在一些实例中,莱斯参数的最大值可为大于或等于4的整数值。在一个特定实例中,莱斯参数的最大值等于7。可变增量的量可取决于正被译码的系数的绝对值。在一个实例中,基于正被解码的系数的系数级别具有大绝对值,可确定可变增量具有大于1的整数值。因而,本发明的技术允许较多适应能力。
另外,如上文所提到,在表示HEVC更新过程及JCTVC-M0316的更新过程的函数中,“?”等效于“如果”条件语句。本发明中所描述的技术并不要求执行任何条件运算。条件运算在系数熵译码的临界回路中可为处理密集型及时间密集型的,且移除“如果”条件语句可改善效率。
此外,应注意,还可由查找表实现将莱斯参数增加不同量的此能力。举例来说,可使用查找表,其中到查找表的输入为莱斯参数的值及正被解码的系数的系数级别的绝对值,且查找表的输出为待应用于莱斯参数的值的可变增量的量,其可不同于0及1的常规增量。
可使用上文给出的实例中的任一者的组合。举例来说,可由视频编码器20将上文给出的实例中的任一者中的参数发信到视频解码器30,或由视频解码器30在并未发信的情况下导出所述参数,如上文所描述。本发明的技术可特别适于经无损译码或通过不同于HEVC标准中的变换的变换译码的数据,这是归因于那些情况下观察到的不同系数统计。作为一个特定实例,莱斯参数更新方程式cRiceParam=Min(cLastRiceParam+(cLastAbsLevel>>(2<<cLastRiceParam)),4)可用于并未应用变换(即,在无损译码或具有变换跳过或绕过的有损译码的状况下)的CG;否则,应用HEVC莱斯参数更新方法。本发明的技术可提供较多增益的另一情况为极高位速率(即,较高质量)视频译码的情况。因此,可取决于目标位速率、目标峰值信杂比(PSNR)或译码残差视频数据的量化步长或量化参数(QP)而应用本发明的技术。
本发明的技术包含上文所描述的莱斯参数更新方案的变型,下文重复所述变型的C-码公式。
cRiceParam=min<UInt>((cRiceParam+(absCoeff>>
(PARAM1*(2<<cRiceParam)))),MAX_RICE_PARAM);
在本发明的技术的一个实例中,可扩展上文的基本公式,以获得用于针对其而增加莱斯参数的系数的绝对值的不同阈值。可将参数值与正被译码的系数的绝对值(即,absCoeff)相加,或与通过其而执行绝对值的右移位运算的值相加或乘以所述值。如下给出C-码公式的实例:
cRiceParam=min<UInt>((cRiceParam+((absCoeff+P1)>>
(P2+P3*(P4<<cRiceParam)))),MAX_RICE_PARAM);
其中参数值为P1、P2、P3及P4(其为整数值),且其中((absCoeff+P1)>>(P2+P3*(P4<<cRiceParam)))定义基于莱斯参数的值(即,cRiceParam)及正被译码的系数的系数级别的绝对值(即,absCoeff)所确定的莱斯参数的值的可变增量。在此实例中,基于正被译码的系数的系数级别的绝对值(即,absCoeff)的经右移位版本确定可变增量,其中右移位的量是基于莱斯参数的值(即,cRiceParam)。参数MAX_RICE_PARAM设置莱斯参数可实现的最大值。
如上文的实例中所展示,可将P1与正被译码的系数的系数级别的绝对值(即,absCoeff)相加,可将P2与通过其而执行绝对值的右移位运算的值(即,(P4<<cRiceParam))相加,P3可乘以通过其而执行绝对值的右移位运算的值(即,(P4<<cRiceParam))。参数值P4及莱斯参数的值(即,cRiceParam)可确定通过其而执行绝对值的右移位运算的值。
等效地,对于此最后状况,HEVC标准可经定义为如下。
cRiceParam=Min(cLastRiceParam+((cLastAbsLevel+P1)>>
(P2+P3*(P4<<cLastRiceParam))),MAX_RICE_PARAM)
在此公式的一个实施方案中,将参数值设置为P1=0、P2=1、P3=1、P4=1且MAX_RICE_PARAM=4。如下为用于此特定状况的HEVC文本。
cRiceParam=Min(cLastRiceParam+(cLastAbsLevel>>
(1+(1<<cLastRiceParam))),4)
在MAX_RICE_PARAM等于5的实例中,可改善屏幕内容的无损译码的性能结果。为了在屏幕内容的无损译码的状况下获得甚至较大的性能,可将MAX_RICE_PARAM设置为等于7。
在另一实例中,通过添加条件,可如下限制对由莱斯参数的值应用于绝对值的右移位的量的影响。
cRiceParam=Min(cLastRiceParam+((cLastAbsLevel+P1)>>
(P2+P3*(P4<<(cLastRiceParam>P5?P5:cLastRiceParam))),
MAX_RICE_PARAM)
在上文的实例中,修改莱斯参数更新方案以包含条件(cLastRiceParam>P5?P5:cLastRiceParam),其中当莱斯参数的值大于P5时,由莱斯参数应用的右移位量限于P5的值。在一个实施方案中,将参数值设置为P1=0、P2=1、P3=1、P4=1、P5=0且MAX_RICE_PARAM=4。如下为用于此特定状况的HEVC文本。
cRiceParam=Min(cLastRiceParam+(cLastAbsLevel>>
(2<<(cLastRiceParam>0?1:0)),4)
在此状况下,对于大于或等于1(即,大于0)的任何莱斯参数来说,应用于绝对值的右移位的量相同(即,等于1)。
可在不同条件下使用用于更新莱斯参数的值的不同过程。可取决于变换是否应用于包含正被译码的CG的变换块而应用本发明中所描述的莱斯参数更新方法。视频译码装置(诸如,视频编码器20或视频解码器30)可基于以下各者中的一或多者确定变换是否应用于变换块:无损译码状态、变换绕过状态、变换跳过状态或参数集(诸如SPS)中的配置文件集。使用本发明的莱斯参数更新方案的配置文件集可为用于HEVC的范围扩展4:4:4的配置文件,或致力于屏幕内容的配置文件,但其它配置文件可使用HEVC莱斯参数更新方案。
在一个实例中,基于变换是否应用于包含CG的变换块的条件可呈现为如下。
如果transform_skip_flag等于1或cu_transquant_bypass_flag等于1,那么从cLastAbsLevel及cLastRiceParam如下导出变量cRiceParam:
cRiceParam=Min(cLastRiceParam+(cLastAbsLevel>>
(1+(1<<cLastRiceParam))),4)
否则,从cLastAbsLevel及cLastRiceParam如下导出变量cRiceParam:
cRiceParam=Min(cLastRiceParam+(cLastAbsLevel>
(3*(1<<cLastRiceParam))?1:0),4)
因此,当并未应用变换时(即,在无损译码或具有变换跳过的有损译码的状况下),可应用本发明的莱斯参数更新方案的一个变型,且当应用变换时(即,在经量化变换系数的有损译码的状况下),可应用HEVC莱斯参数更新方案。
本发明的技术包含上文所描述的莱斯参数更新方案的额外变型,下文重复所述变型的C-码公式。
cRiceParam=min<UInt>((cRiceParam+(absCoeff>>
(PARAMl*(2<<cRiceParam)))),MAX_RICE_PARAM);
本发明的技术进一步描述用以减低莱斯参数的值,且在每一CG的开始时设置或初始化莱斯参数的方法。
在本发明的技术的一个实例中,可扩展上文的基本公式,以获得用于针对其而增加莱斯参数的系数的绝对值的不同阈值,且移除乘法运算(即,左位移位运算“<<”)。如下给出C-码公式的实例:
cRiceParam=min((cRiceParam+((absCoeff+P1)>>
(P2+P3*cRiceParam))),MAX_RICE_PARAM);
其中参数值为P1、P2及P3(其为整数值),且其中((absCoeff+P1)>>(P2+P3*cRiceParam))定义基于莱斯参数的值(即,cRiceParam)及正被译码的系数的系数级别的绝对值(即,absCoeff)所确定的莱斯参数的值的可变增量。在此实例中,基于正被译码的系数的系数级别的绝对值(即,absCoeff)的经右移位版本确定可变增量,其中右移位的量是基于莱斯参数的值(即,cRiceParam)。参数MAX_RICE_PARAM设置莱斯参数可实现的最大值。
如上文的实例中所展示,可将P1与正被译码的系数的系数级别的绝对值(即,absCoeff)相加,可将P2与通过其而执行绝对值的右移位运算的莱斯参数的值(即,cRiceParam)相加,P3可乘以通过其而执行绝对值的右移位运算的莱斯参数的值(即,cRiceParam)。
HEVC标准将定义为如下。
cRiceParam=Min(cLastRiceParam+((cLastAbsLevel+P1)>>
(P2+P3*cLastRiceParam)),MAX_RICE_PARAM)
在上文的实例更新方法的一个实施方案中,将参数值设置为P1=0、P2=2及P3=1,且MAX_RICE_PARAM=4。可由视频编码器20将这些参数发信到视频解码器30,或可由视频解码器30在并未发信的情况下导出这些参数。在一些实例中,对于有损译码,可将MAX_RICE_PARAM设置为等于4,且对于无损译码,可将其设置为等于5。在一些其它实例中,可将MAX_RICE_PARAM设置为等于7。
如下为用于使用上文的默认值的本发明的莱斯参数更新方案的C-码公式的实例。
cRiceParam=min((cRiceParam+(absCoeff>>(2+cRiceParam))),4);
等效地,对于此最后状况,HEVC标准将定义为如下。
cRiceParam=Min(cLastRiceParam+(cLastAbsLevel>>
(2+cLastRiceParam)),4)
在另一实例中,可设置在莱斯参数的值的每一更新时的可变增量的量的上限。举例来说,可施加额外限制,其中莱斯参数的值可在每一更新时(即,对于使用由莱斯参数定义的哥伦布码所译码的每一系数级别)至多增加最大增量值(即,MAX_INCREMENT)。如下可为用于经定上限的莱斯参数更新方案的实例公式。
increment=Min((cLastAbsLevel>>
(2+cLastRiceParam)),MAX_INCREMENT)
cRiceParam=Min(cLastRiceParam+increment,MAX_RICE_PARAM)
在其它实例中,引入通过其而缩放可变增量的阻尼因子,而非在莱斯参数的值的每一更新时将可变增量的量定上限到MAX_INCREMENT。如下可为经阻尼莱斯参数更新方案的实例。
cRiceParam=Min(cLastRiceParam+increment,MAX_RICE_PARAM)
在一些实例中,阻尼因子(即,damp_fact)小于或等于1。
在一个更新步骤中设置cRiceParam的最大增量的上限或阻尼增量的量的此概念可应用于本发明中所描述的莱斯参数更新方案的实例中的任一者。还可应用同一概念以在允许莱斯参数减低的状况下设置莱斯参数的值的减量的上限或阻尼所述减量,如下文较详细地所描述。上文所描述的技术可应用于所有块中的CG,或仅应用于并未应用变换(即,用于无损译码或具有变换跳过或绕过的有损译码)的块中的CG。
上文所描述的莱斯参数更新技术可不允许CG上的莱斯参数减低。代替地,已将更新功能描述为增加功能。本发明的技术进一步包含允许莱斯参数的值在一些状况下减低的莱斯参数更新方法。概括地,允许递增及递减莱斯参数两者的莱斯参数更新方案可经表示为:
cRiceParam=F1(cRiceParam,absCoeff)
其中F1为在莱斯参数的一些输入值(即,cRiceParam)及正被译码的系数的系数级别的绝对值(即,absCoeff)可正在减低的情况下使得cRiceParam的输出值小于cRiceParam的输入值的函数。
在较特定实例中,更新方案可被描述为:
其中在函数F2上测试条件,且函数F3及F4将cRiceParam及absCoeff作为输入,及潜在其它输入(诸如先前CG的统计),且输出大于或等于0的莱斯参数的值。
在上文的实例更新方案的一个实施方案中,简单函数F2、F3及F4各自经定义为如下:
其中P1及P2为参数值。在一个实例中,可将参数值设置为P1=1、P2=0,及MAX_RICE_PARAM=4以提供良好的译码性能增益。在其它实例中,尤其是对于无损译码,可将莱斯参数的最大值设置为等于大于4的整数值,诸如5或7。
在上文的实例中,可执行条件运算,以确定正被译码的当前系数的系数级别的绝对值(即,absCoeff)是否大于或等于莱斯参数的值(即,cRiceParam)。如果当前系数的系数级别的绝对值大于或等于莱斯参数的值,那么可基于莱斯参数的最大值或莱斯参数的值的可变增量中的最小者的选择而更新莱斯参数的值,如上文详细地所描述。如果当前系数的系数级别的绝对值小于莱斯参数的值,那么可基于零或莱斯参数的值的减量中的最大者的选择而更新莱斯参数的值。
允许递增及递减莱斯参数两者的莱斯参数更新方案的上文实例可包含用以决定是否增加或减低莱斯参数的一个额外条件运算(即,如果/否则条件)。然而,所述技术是基于本发明的莱斯参数更新方案,在所述方案中相对于HEVC莱斯参数更新方案移除条件,使得条件的总数目保持与HEVC方案中的数目相同。在一些实例中,可修改其它莱斯参数更新方法,以递增或递减莱斯参数。
另外,在具有变换跳过的有损译码的状况下,莱斯参数的值的减量可仅如下应用于变换跳过块:
其中transform_skip_flag发信CG或CG的变换块是否已跳过变换。
在上文实例中,莱斯参数可仅减低1。在其它实例中,如果莱斯参数的当前值大且当前系数的绝对值小,那么可选择函数F4,使得莱斯参数可减低大于1。
本发明的技术迄今集中于当译码CG或系数的块时更新莱斯参数的值。以下实例描述用于在CG的开始时初始化莱斯参数的值的技术。通常,在HEVC标准中,在译码CG(例如,4×4变换块或变换块中的4×4子块)中的系数的剩余绝对值之后,将莱斯参数重置到0的值。在译码屏幕内容的系数级别的状况下或在无损译码或具有变换跳过或绕过的有损译码的状况下,将莱斯参数的值初始化到零可并非最佳的。本发明的技术可在变换块的每一CG的开始时将莱斯参数的值初始化或设置为非零值。
作为本发明的莱斯参数初始化方案的一个实例,在译码CG之后并不重置莱斯参数。根据本发明的技术,代替地,将用于后续CG的莱斯参数的值设置为相同于在译码当前CG的结束时获得的莱斯参数的值。如在HEVC初始化方案中,可在后续CG的开始时将值设置为等于0。然而,不同于HEVC方案,并不要求将莱斯参数的值设置为0。
作为本发明的莱斯参数初始化方案的另一实例,将用于后续CG的莱斯参数的值设置为基于译码当前CG之后的莱斯参数的值的值。在特定实例中,如下设置每一CG的开始时的莱斯参数。
cRiceParam=max(0,cRiceParam-1);
在上文的实例中,基于零或译码当前CG之后的莱斯参数的值的减低中的最大者的选择而针对后续CG初始化莱斯参数的值。在一些其它实例中,可如下文实例而设置莱斯参数的初始化值的上限。
cRiceParam=min(2,max(0,cRiceParam-1));
在此实例中,将莱斯参数的初始化值定上限为不大于2。
在一些实例中,除了1以外的值可用于缩减莱斯参数的当前值(例如,值n),包含从莱斯参数的当前值减去2(即,n等于2)而非1。举例来说,可基于后续CG是否包含在应用变换的变换块中而变化用于初始化莱斯参数的减低值。如下可为实例公式。
基于变换是否应用于变换块,本发明中所描述的莱斯参数初始化方案的实例状况可应用于包含在所有变换块中的CG,或可应用于CG。举例来说,在具有变换跳过或变换绕过的变换块的状况下,可并不将用于块中的后续CG的莱斯参数的值重置为0,但对于已应用变换的变换块,可将用于块中的后续CG的莱斯参数重置为0。
举例来说,在具有变换跳过的有损译码的状况下,减低用于初始化后续CG的莱斯参数的值可仅应用于变换跳过块中的CG。如下可为实例公式。
一般来说,本发明描述用于基于变换是否应用于包含CG的变换块而调整用以定义用于系数级别译码的哥伦布码的莱斯参数的值的技术。根据本发明,调整莱斯参数的值可包含:更新莱斯参数的值,以定义用于译码CG中的后续系数的系数级别的剩余绝对值的哥伦布码;或初始化莱斯参数的值,以定义用于译码后续CG中的至少一个系数的系数级别的剩余绝对值的哥伦布码。
举例来说,如果变换并未应用于变换块(即,在变换跳过或绕过的状况下),那么本发明中所描述的莱斯参数更新方案可用于针对CG中的后续系数更新莱斯参数的值。否则,如果变换应用于变换块,那么HEVC莱斯参数更新方案可用于针对CG中的后续系数更新莱斯参数的值。在另一实例中,如果变换并未应用于变换块,那么可基于译码当前CG之后的莱斯参数的值而针对变换块中的后续CG初始化莱斯参数的值。否则,如果变换应用于变换块,那么可针对变换块中的后续CG而将莱斯参数的值初始化为等于零。
尽管上文单独地描述调整莱斯参数的值(例如,莱斯参数更新及初始化方案)的实例方法,但本发明的技术并不限于如此情况。一般来说,上文所描述的实例技术的各种组合可为可能的。也可单独地实施上文所描述的实例方法。另外,上文所描述的方法中的全部或其组合可应用于所有变换块,或仅跳过或绕过变换的变换块内的CG。
图5为说明可实施本发明中所描述的用于编码系数级别的技术的视频编码器20的实例的框图。出于说明的目的,将在HEVC译码的上下文中描述视频编码器20,但本发明关于可要求扫描变换系数的其它译码标准或方法不受限制。视频编码器20可执行视频帧内的CU的帧内译码及帧间译码。帧内译码依赖于空间预测,以缩减或移除给定视频帧内的视频数据的空间冗余。帧间译码依赖于时间预测,以缩减或移除视频序列的当前帧与先前经译码帧之间的时间冗余。帧内模式(I模式)可指若干基于空间的视频压缩模式中的任一者。诸如单向预测(P模式)或双向预测(B模式)的帧间模式可指若干基于时间的视频压缩模式中的任一者。
如图5所展示,视频编码器20接收待编码的视频帧内的当前视频块。在图5的实例中,视频编码器20包含模式选择单元40、视频数据存储器41、运动补偿单元44、运动估计单元42、帧内预测处理单元46、经解码图片缓冲器(DPB)64、求和器50、变换处理单元52、量化单元54及熵编码单元56。图5所说明的变换处理单元52为将实际变换或变换的组合应用于残差数据的块的单元,且不应与变换系数的块(其也可被称作CU的变换单元(TU))混淆。为了进行视频块重构,视频编码器20还包含反量化单元58、反变换处理单元60及求和器62。还可包含解块滤波器(图5中未图示)来对块边界滤波以从经重构视频移除块效应假象。视需要,解块滤波器将通常对求和器62的输出滤波。
视频数据存储器41可存储待由视频编码器20的组件编码的视频数据。可(例如)从视频源18获得存储在视频数据存储器41中的视频数据。经解码图片缓冲器64可为存储用于由视频编码器20在编码视频数据(例如,以帧内或帧间译码模式)时使用的参考视频数据的参考图片存储器。视频数据存储器41及经解码图片缓冲器64可由多种存储器装置中的任一者形成,诸如动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。可由同一存储器装置或单独存储器装置提供视频数据存储器41及经解码图片缓冲器64。在各种实例中,视频数据存储器41可与视频编码器20的其它组件一起在芯片上,或相对于那些组件在芯片外。
在编码过程期间,视频编码器20接收待译码的视频帧或切片。可将帧或切片划分成多个视频块,例如最大译码单元(LCU)。运动估计单元42及运动补偿单元44相对于一或多个参考帧中的一或多个块来执行所接收视频块的帧间预测译码以提供时间压缩。帧内预测单元46可相对于与待译码的块相同的帧或切片中的一或多个相邻块来执行所接收视频块的帧内预测译码以提供空间压缩。
模式选择单元40可选择译码模式(帧内或帧间)中的一者(例如,基于每一模式的误差(即,失真)结果),且将所得的经帧内或帧间预测块(例如,预测单元(PU))提供到求和器50以产生残差块数据,及提供到求和器62以重构经编码块以用于参考图片。求和器62组合经预测的块与针对所述块的来自反变换处理单元60的经反量化、经反变换的数据,以重构经编码块,如下文较详细地所描述。可将一些视频帧指定为I帧,其中以帧内预测模式编码I帧中的全部块。在一些状况下,(例如)当由运动估计单元42执行的运动搜索并未带来对块的充分预测时,帧内预测处理单元46可执行P或B帧中的块的帧内预测编码。
运动估计单元42及运动补偿单元44可高度地整合,但出于概念目的而被单独地说明。运动估计(或运动搜索)为产生运动矢量的过程,所述运动矢量估计视频块的运动。举例来说,运动矢量可指示当前帧中的预测单元相对于参考帧的参考样本的移位。运动估计单元42通过比较预测单元与存储在经解码图片缓冲器64中的参考图片的参考样本而计算经帧间译码帧的预测单元的运动矢量。参考样本可为被发现紧密地匹配包含依据像素差而译码的PU的CU的部分的块,可通过绝对差总和(SAD)、平方差总和(SSD)或其它差度量来确定像素差。参考样本可出现在参考帧或参考切片内的任何处,且未必在参考帧或切片的块(例如,译码单元)边界处。在一些实例中,参考样本可出现在分率像素位置处。
运动估计单元42将所计算的运动矢量发送到熵编码单元56及运动补偿单元44。由运动矢量识别的参考帧的部分可被称作参考样本。运动补偿单元44可(例如)通过检索由PU的运动矢量识别的参考样本来计算用于当前CU的预测单元的预测值。
作为对由运动估计单元42及运动补偿单元44执行的帧间预测的替代方案,帧内预测处理单元46可帧内预测所接收块。帧内预测处理单元46可相对于相邻的先前经译码块(例如,当前块上方、右上方、左上方或左方的块)预测所接收块,这是假定用于块的由左到右、由顶到底的编码次序。帧内预测处理单元46可经配置为具有多种不同帧内预测模式。举例来说,基于正被编码的CU的大小,帧内预测处理单元46可经配置为具有一某一数目个方向预测模式,例如,三十三个方向预测模式。
帧内预测处理单元46可通过(例如)计算各种帧内预测模式的误差值且选择产生最低误差值的模式来选择帧内预测模式。方向预测模式可包含用于组合空间相邻像素的值且将组合值应用于PU中的一或多个像素位置的功能。一旦已计算PU中的所有像素位置的值,帧内预测处理单元46就可基于PU与待编码的所接收块之间的像素差而计算预测模式的误差值。帧内预测处理单元46可继续测试帧内预测模式,直到发现产生可接受的误差值的帧内预测模式。接着,帧内预测处理单元46可将PU发送到求和器50。
视频编码器20通过从正被译码的原始视频块减去由运动补偿单元44或帧内预测处理单元46计算的预测数据而形成残差块。求和器50表示执行此减法运算的组件。残差块可对应于像素差值的二维矩阵,其中残差块中的值的数目与对应于残差块的PU中的像素的数目相同。残差块中的值可对应于PU中与待译码的原始块中的协同定位的像素的值之间的差(即,误差)。取决于经译码块的类型,所述差可为色度差或明度差。
变换处理单元52可由残差块形成一或多个变换单元(TU)。变换处理单元52在复数个变换当中选择变换。可基于一或多个译码特性(诸如,块大小、译码模式或其类似者)选择变换。接着,变换处理单元52将选定变换应用于TU,从而产生包括变换系数的二维阵列的视频块。变换处理单元52可将所得的变换系数发送到量化单元54。接着,量化单元54可量化变换系数。
接着,熵编码单元56可根据扫描模式对矩阵中的系数执行扫描。在有损译码的状况下,系数可为经量化变换系数。在无损译码或具有变换跳过或绕过的有损译码的状况下,系数可为尚未经变换或经量化的系数。本发明将熵编码单元56描述为执行扫描。然而,应理解,在其它实例中,诸如量化单元54的其它处理单元可执行扫描。
一旦将变换系数扫描到一维阵列中,熵编码单元56就可将熵译码(诸如CABAC、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)或另一熵译码方法)应用于系数。熵编码单元56可经配置以根据本发明的技术译码系数。在CABAC的实例中,熵编码单元56可使用规则译码模式或绕过模式编码系数。为了执行CABAC,熵编码单元56可选择用以应用某一上下文的上下文模型,以编码待发射的符号。举例来说,所述上下文可与相邻值是否为非零相关。熵编码单元56可基于(例如)帧内预测模式的帧内预测方向、对应于语法元素的系数的扫描位置、块类型及/或变换类型以及用于上下文模型选择的其它因素选择用于编码这些符号的上下文模型。
熵编码单元56将残差视频数据的系数级别编码成位流,以用于发射到视频解码器或存储装置。在无损视频译码或具有变换跳过或绕过的有损视频译码的状况下,待编码的系数可具有具大绝对值的系数级别。当系数表示屏幕内容(其可包含图形及文本区域)时,可并未良好地预测内容,从而产生待编码的系数的系数级别的大绝对值。
熵编码单元56使用由莱斯参数定义的哥伦布码,以绕过模式编码系数群组(CG)中的至少一个系数的系数级别的剩余绝对值(例如,coeff_abs_level_remaining或levelRem)。根据本发明的技术,熵编码单元56经配置以基于莱斯参数的最大值或莱斯参数的值的可变增量中的最小者的选择而更新莱斯参数的值。基于莱斯参数的值及正被编码的当前系数的系数级别的绝对值而确定可变增量的量。可变增量使莱斯参数的值能够增加任何整数值,直到莱斯参数的最大值。上文较详细地描述表示莱斯参数更新的实例方程式。本发明中所描述的莱斯参数更新方案允许莱斯参数快速地且有效地适应于大系数值,此情况可发生在屏幕内容的块中及具有变换跳过或绕过的块中。
在一些实例中,熵编码单元56可经进一步配置以基于变换是否应用于包含CG的变换块而调整用以定义用于系数级别译码的哥伦布码的莱斯参数的值。根据本发明中所描述的技术,当变换并未应用于变换块时(即,在变换跳过或绕过的状况下),熵编码单元56可执行灵活地适应CG的系数的系数级别的大绝对值的莱斯参数更新及莱斯参数初始化方案。另一方面,当变换应用于变换块时,熵编码单元56可应用针对经变换系数的小系数值而优化的HEVC莱斯参数更新及初始化方案。
在由熵编码单元56进行的熵译码之后,所得的经编码视频可发射到另一装置(诸如,视频解码器30)或经存档以供稍后发射或检索。在一些状况下,除熵译码之外,熵编码单元56或视频编码器20的另一单元可经配置以还执行其它译码功能。举例来说,熵编码单元56可经配置以确定用于CU及PU的译码块样式(CBP)值。此外,在一些状况下,熵编码单元56可执行系数的行程长度译码。
反量化单元58及反变换处理单元60分别应用反量化及反变换,以在像素域中重构残差块,(例如)以供稍后用作参考块。运动补偿单元44可通过将残差块与经解码图片缓冲器64的参考图片中的一者的预测性块相加而计算参考块。运动补偿单元44还可将一或多个内插滤波器应用于经重构残差块,以计算用于运动估计的次整数像素值。求和器62将经重构残差块与由运动补偿单元44产生的运动补偿预测块相加,以产生用于存储在经解码图片缓冲器64中的经重构视频块。可由运动估计单元42及运动补偿单元44将经重构视频块用作参考块,以帧间译码后续视频帧中的块。
图6为说明可实施本发明中所描述的用于解码系数级别的技术的视频解码器30的实例的框图。在图6的实例中,视频解码器30包含熵解码单元70、视频数据存储器71、运动补偿单元72、帧内预测处理单元74、反量化单元76、反变换单元78、经解码图片缓冲器(DPB)82及求和器80。在一些实例中,视频解码器30可执行与关于视频编码器20(参见图5)所描述的编码遍次大体上互逆的解码遍次。
视频数据存储器71可存储待由视频解码器30的组件解码的视频数据,诸如经编码视频位流。可经由视频数据的有线或无线网络通信(例如)从计算机可读媒体16(例如,从本地视频源(诸如,相机))或通过存取物理数据存储媒体而获得存储在视频数据存储器71中的视频数据。视频数据存储器71可形成存储来自经编码视频位流的经编码视频数据的经译码图片缓冲器(CPB)。经解码图片缓冲器82可为存储用于由视频解码器30在解码视频数据(例如,以帧内或帧间译码模式)时使用的参考视频数据的参考图片存储器。视频数据存储器71及经解码图片缓冲器82可由多种存储器装置中的任一者形成,诸如动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。可由同一存储器装置或单独存储器装置提供视频数据存储器71及经解码图片缓冲器82。在各种实例中,视频数据存储器71可与视频解码器30的其它组件一起在芯片上,或相对于那些组件在芯片外。
熵解码单元70对经编码位流执行熵解码过程,以检索残差视频数据系数的一维阵列。所使用的熵解码过程取决于由视频编码器20使用的熵译码(例如,CABAC)。可在经编码位流中发信由编码器使用的熵译码过程,或熵译码过程可为预定过程。熵解码单元70可经配置以根据本发明的技术解码系数。在CABAC的实例中,熵解码单元70可使用规则译码模式或绕过模式解码系数。
在一些实例中,熵解码单元70可使用反映由视频编码器20的熵编码单元56使用的扫描模式的扫描来扫描所接收值。尽管可在反量化单元76中执行系数的扫描,但出于说明的目的而将描述为由熵解码单元70执行扫描。另外,尽管为了易于说明而展示为单独功能单元,但熵解码单元70、反量化单元76及视频解码器30的其它单元的结构及功能性可彼此高度地整合。
熵解码单元70以与视频编码器20互逆的方式解码来自位流的残差视频数据系数的系数级别。在有损视频译码的状况下,待解码的系数可为经量化变换系数。在无损视频译码或具有变换跳过或绕过的有损视频译码的状况下,待解码的系数可具有具大绝对值的系数级别。当系数表示屏幕内容(其可包含图形及文本区域)时,可并未良好地预测内容,从而产生待解码的系数的系数级别的大绝对值。
熵解码单元70使用由莱斯参数定义的哥伦布码来解码系数群组(CG)中的至少一个系数的系数级别的剩余绝对值。根据本发明的技术,熵解码单元70经配置以基于莱斯参数的最大值或莱斯参数的值的可变增量中的最小者的选择而更新莱斯参数的值。基于莱斯参数的值及正被解码的当前系数的系数级别的绝对值而确定可变增量的量。可变增量使莱斯参数的值能够增加任何整数值,直到莱斯参数的最大值。上文较详细地描述表示莱斯参数更新的实例方程式。本发明中所描述的莱斯参数更新方案允许莱斯参数快速地且有效地适应于大系数值,此情况可发生在屏幕内容的块中及具有变换跳过或绕过的块中。
在一些实例中,熵解码单元70可经进一步配置以基于变换是否应用于包含CG的变换块而调整用以定义用于系数级别译码的哥伦布码的莱斯参数的值。根据本发明中所描述的技术,当变换并未应用于变换块时(即,在变换跳过或绕过的状况下),熵解码单元70可执行灵活地适应CG的系数的系数级别的大绝对值的莱斯参数更新及莱斯参数初始化方案。另一方面,当变换应用于变换块时,熵解码单元70可应用针对经变换系数的小系数值而优化的HEVC莱斯参数更新及初始化方案。
反量化单元76反量化(即,解量化)位流中所提供且由熵解码单元70解码的经量化变换系数。反量化过程可包含常规过程,例如类似于针对HEVC所提议的过程,或由H.264解码标准定义的过程。反量化过程可包含使用由视频编码器20针对CU所计算的量化参数QP以确定量化的程度,且同样地确定应被应用的反量化的程度。反量化单元76可在将系数从一维阵列转换为二维阵列之前或之后反量化变换系数。
反变换处理单元78将反变换应用于经反量化变换系数。在一些实例中,反变换处理单元78可基于来自视频编码器20的发信来确定反变换,或通过从一或多个译码特性(诸如块大小、译码模式或其类似者)推断变换来确定反变换。在一些实例中,反变换处理单元78可基于包含当前块的LCU的四叉树的根节点处的所发信变换来确定用以应用于当前块的变换。替代地,可在LCU四叉树中的叶节点CU的TU四叉树的根部处发信变换。在一些实例中,反变换处理单元78可应用级联反变换,其中反变换处理单元78将两个或两个以上反变换应用于正被解码的当前块的变换系数。
帧内预测处理单元74可基于所发信的帧内预测模式及来自当前讯框的先前经解码块的数据来产生用于当前讯框的当前块的预测数据。
运动补偿单元72可从经编码位流检索运动矢量、运动预测方向及参考索引。参考预测方向指示帧间预测模式为单向(例如,P帧)还是双向(B帧)。参考索引指示候选运动矢量是基于哪个参考帧。基于所检索的运动预测方向、参考帧索引及运动矢量,运动补偿单元72产生用于当前部分的运动补偿块。这些运动补偿块本质上重新产生用以产生残差数据的预测性块。
运动补偿单元72可产生运动补偿块,可能地基于内插滤波器执行内插。用于具有次像素精确度的运动估计的内插滤波器的标识符可包含在语法元素中。运动补偿单元72可使用如由视频编码器20在视频块的编码期间所使用的内插滤波器来计算用于参考块的次整数像素的内插值。运动补偿单元72可根据所接收的语法信息来确定由视频编码器20使用的内插滤波器,且使用所述内插滤波器来产生预测性块。
另外,在HEVC实例中,运动补偿单元72及帧内预测处理单元74可使用语法信息中的一些(例如,由四叉树所提供)以确定用于编码经编码视频序列的帧的LCU的大小。运动补偿单元72及帧内预测处理单元74也可使用语法信息以确定描述经编码视频序列的帧的每一CU分裂的方式(且同样地,子CU如何分裂)的分裂信息。语法信息还可包含指示每一分裂被编码的方式的模式(例如,帧内预测或帧间预测,及用于帧内预测及帧内预测编码模式)、用于每一经帧间编码PU的一或多个参考帧(及/或含有用于参考帧的标识符的参考列表),及解码经编码视频序列的其它信息。
求和器80组合残差块与由运动补偿单元72或帧内预测处理单元74产生的对应预测块,以形成经解码块。视需要,还可应用解块滤波器来对经解码块滤波,以便移除块效应假象。接着,将经解码视频块存储在经解码图片缓冲器82中,所述缓冲器提供用于后续运动补偿的参考块,且还产生用于呈现在显示装置(诸如图1的显示装置32)上的经解码视频。
图7为说明根据本发明中所描述的技术的在系数级别的熵编码期间更新莱斯参数的值的实例操作的流程图。关于包含来自图5的熵编码单元56的视频编码器20描述实例操作。
熵编码单元56接收残差视频数据的系数,所述视频数据待编码成位流,以用于发射到视频解码器30或用于存储在存储媒体34或文件服务器36上。在接收到用于编码的残差视频数据系数后,熵编码单元56就确定系数的块或系数群组(CG)(100)。CG可为变换块的子块,诸如,如图4所说明的n×n(例如,4×4)子块。
如上文较详细地所描述,熵编码单元56可根据反扫描次序对CG执行一或多个扫描,以编码CG中的系数的系数级别。举例来说,熵编码单元56可使用上下文模型以规则译码模式编码旗标或语法元素,以指示系数的系数级别是否具有大于1或大于2的绝对值。接着,熵编码单元56使用由莱斯参数定义的哥伦布码来编码旗标或语法元素,以指示CG中的系数中的至少一者的系数级别的剩余绝对值(102)。举例来说,熵编码单元56可以绕过模式编码语法元素,所述语法元素指示具有大于2的系数级别的系数中的任一者的系数级别的剩余绝对值。
根据本发明的技术,熵编码单元56基于莱斯参数的最大值或莱斯参数的值的可变增量中的最小者的选择而更新莱斯参数的值(104)。如上文详细地所描述,基于莱斯参数的值及正被编码的系数的系数级别的绝对值而确定可变增量的量。在一些实例中,可基于当前系数的系数级别的绝对值的经右移位版本而确定可变增量的量,其中右移位的量是基于莱斯参数的值。在一些实例中,熵编码单元56可使用莱斯参数的经更新值以定义哥伦布码,以用于编码CG中的后续系数的系数级别的剩余绝对值。
图8为说明根据本发明中所描述的技术的在系数级别的熵解码期间更新莱斯参数的值的实例操作的流程图。关于包含来自图6的熵解码单元70的视频解码器30描述实例操作。
视频解码器30从视频编码器20或从诸如存储媒体34或文件服务器36的存储装置接收经编码视频位流。所接收的视频位流表示待解码的残差视频数据的系数。在接收到视频位流后,熵解码单元70就从位流确定待解码的残差视频数据系数的块或系数群组(CG)(110)。CG可为变换块的子块,诸如,如图4所说明的4×4子块。
如上文较详细地所描述,熵解码单元70可根据反扫描次序对CG执行一或多个扫描,以解码CG中的系数的系数级别。举例来说,熵解码单元70可使用上下文模型以规则译码模式解码旗标或语法元素,以指示系数的系数级别是否具有大于1或大于2的绝对值。熵解码单元70还使用由莱斯参数定义的哥伦布码来解码旗标或语法元素,所述旗标或语法元素指示CG中的系数中的至少一者的系数级别的剩余绝对值(112)。举例来说,熵解码单元70可以绕过模式解码语法元素,所述语法元素指示具有大于2的系数级别的系数中的任一者的系数级别的剩余绝对值。
根据本发明的技术,熵解码单元70基于莱斯参数的最大值或莱斯参数的值的可变增量中的最小者的选择而更新莱斯参数的值(114)。如上文详细地所描述,基于莱斯参数的值及正被解码的系数的系数级别的绝对值而确定可变增量的量。在一些实例中,可基于当前系数的系数级别的绝对值的经右移位版本而确定可变增量的量,其中右移位的量是基于莱斯参数的值。在一些实例中,熵解码单元70可使用莱斯参数的经更新值以定义哥伦布码,以用于解码CG中的后续系数的系数级别的剩余绝对值。
图9为说明根据本发明中所描述的技术的在系数级别的熵编码期间调整莱斯参数的值的实例操作的流程图。关于包含来自图5的熵编码单元56的视频编码器20描述实例操作。
熵编码单元56接收残差视频数据的系数,所述视频数据待编码成位流,以用于发射到视频解码器30或用于存储在存储媒体34或文件服务器36上。在接收到用于编码的残差视频数据系数后,熵编码单元56就确定系数的块或系数群组(CG)(120)。CG可为变换块的子块,诸如,如图4所说明的4×4子块。在有损视频译码的状况下,待编码系数可为经量化变换系数。在无损视频译码及具有变换跳过或绕过的有损视频译码的状况下,对于待编码系数,跳过变换及量化操作。
如上文较详细地所描述,熵编码单元56可根据反扫描次序对CG执行一或多个扫描,以编码CG中的系数的系数级别。举例来说,熵编码单元56使用由莱斯参数定义的哥伦布码来编码旗标或语法元素,所述旗标或语法元素指示CG中的系数中的至少一者的系数级别的剩余绝对值(122)。根据本发明的技术,熵编码单元56基于变换是否应用于包含CG的变换块而调整莱斯参数的值(124)。熵编码单元56可基于无损译码状态、变换绕过状态、变换跳过状态或用于变换块的参数集中的配置文件集中的至少一者而确定变换是否应用于变换块。
在一个实例中,根据本发明的技术,如果变换并未应用于变换块,那么本发明中所描述的莱斯参数更新方案可用于更新莱斯参数的值,以用于译码CG中的后续系数的系数级别的剩余绝对值。否则,如果变换应用于变换块,那么HEVC莱斯参数更新方案可用于针对CG中的后续系数更新莱斯参数的值。在另一实例中,根据技术,如果变换并未应用于变换块,那么对于变换块中的后续CG,可在编码当前CG中的系数的系数级别的剩余绝对值之后基于莱斯参数的值而初始化莱斯参数的值。否则,如果变换应用于变换块,那么可针对变换块中的后续CG而将莱斯参数的值初始化为等于零。
图10为说明根据本发明中所描述的技术的在系数级别的熵解码期间调整莱斯参数的值的实例操作的流程图。关于包含来自图6的熵解码单元70的视频解码器30描述实例操作。
视频解码器30从视频编码器20或从诸如存储媒体34或文件服务器36的存储装置接收经编码视频位流。所接收的视频位流表示待解码的残差视频数据的系数。在接收到视频位流后,熵解码单元70就从位流确定待解码的残差视频数据系数的块或系数群组(CG)(130)。CG可为变换块的子块,诸如,如图4所说明的4×4子块。在有损视频译码的状况下,待解码的系数可为经量化变换系数。在无损视频译码及具有变换跳过或绕过的有损视频译码的状况下,对于待解码的系数,跳过变换及量化操作。
如上文较详细地所描述,熵解码单元70可根据反扫描次序对CG执行一或多个扫描,以解码CG中的系数的系数级别。举例来说,熵解码单元70使用由莱斯参数定义的哥伦布码来解码旗标或语法元素,所述旗标或语法元素指示CG中的系数中的至少一者的系数级别的剩余绝对值(132)。根据本发明的技术,熵解码单元70基于变换是否应用于包含CG的变换块而调整莱斯参数的值(134)。熵解码单元70可基于无损译码状态、变换绕过状态、变换跳过状态或用于变换块的参数集中的配置文件集中的至少一者而确定变换是否应用于变换块。
在一个实例中,根据本发明的技术,如果变换并未应用于变换块,那么本发明中所描述的莱斯参数更新方案可用于更新莱斯参数的值,以用于译码CG中的后续系数的系数级别的剩余绝对值。否则,如果变换应用于变换块,那么HEVC莱斯参数更新方案可用于针对CG中的后续系数更新莱斯参数的值。在另一实例中,根据技术,如果变换并未应用于变换块,那么对于变换块中的后续CG,可在解码当前CG中的系数的系数级别的剩余绝对值之后基于莱斯参数的值而初始化莱斯参数的值。否则,如果变换应用于变换块,那么可针对变换块中的后续CG而将莱斯参数的值初始化为等于零。
在一或多个实例中,可在硬件、软件、固件或其任何组合中实施所描述的功能。如果实施于软件中,那么可将功能作为一或多个指令或代码而存储在计算机可读媒体上,或经由计算机可读媒体而发射,及由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体(其对应于诸如数据存储媒体的有形媒体)或通信媒体,通信媒体包含(例如)根据通信协议而促进计算机程序从一处传送到另一处的任何媒体。以此方式,计算机可读媒体大体上可对应于(1)为非暂时性的有形计算机可读存储媒体,或(2)诸如信号或载波的通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索指令、代码及/或数据结构以用于实施本发明中所描述的技术的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、闪速存储器,或可用以存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。此外,任何连接可被适当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或无线技术(诸如,红外线、无线电及微波)而从网站、服务器或其它远程源发射指令,那么同轴电缆、光纤电缆、双绞线、DSL或无线技术(诸如,红外线、无线电及微波)包含在媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它暂时性媒体,而是有关于非暂时性有形存储媒体。如本文中所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘通过激光以光学方式再现数据。以上各者的组合也应包含在计算机可读媒体的范围内。
可由诸如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效整合式或离散逻辑电路系统的一或多个处理器来执行指令。因此,本文中所使用的术语“处理器”可指上述结构或适于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,可将本文中所描述的功能性提供在经配置以用于编码及解码的专用硬件及/或软件模块内,或并入在组合编码解码器中。此外,所述技术可完全地实施于一或多个电路或逻辑元件中。
本发明的技术可以广泛多种装置或设备予以实施,所述装置或设备包含无线手机、集成电路(IC)或IC集合(例如,芯片集)。在本发明中描述各种组件、模块或单元以强调经配置以执行所揭示的技术的装置的功能方面,但未必要求通过不同硬件单元来实现。代替地,如上文所描述,可将各种单元组合在编码解码器硬件单元中,或通过互操作性硬件单元(包含如上文所描述的一或多个处理器)的集合且结合合适软件及/或固件来提供所述单元。
已描述各种实例。这些及其它实例是在所附权利要求书的范围内。

Claims (68)

1.一种在视频解码过程中解码系数的方法,所述方法包括:
确定残差视频数据的系数的块;
使用自适应上下文模型来解码系数的所述块中的至少一个系数的系数级别具有大于给定值的绝对值的指示,其中所述给定值等于零、一或二;
使用由莱斯参数定义的哥伦布码来解码所述至少一个系数的所述系数级别的剩余绝对值,其中所述系数级别的所述剩余绝对值包括大于所述给定值的所述绝对值的剩余值;及
基于变换是否应用于包含系数的所述块的变换块而调整所述莱斯参数的值。
2.根据权利要求1所述的方法,其中系数的所述块包括系数群组CG且系数的所述块中的所述至少一个系数包括所述CG中的第一系数,且其中调整所述莱斯参数的所述值包括更新所述莱斯参数的所述值以获得经更新值,所述方法进一步包括使用由所述莱斯参数的所述经更新值定义的哥伦布码来解码在所述CG中的所述第一系数之后的所述CG中的第二系数的系数级别的剩余绝对值。
3.根据权利要求1所述的方法,其中系数的所述块包括第一系数群组CG,且其中调整所述莱斯参数的所述值包括针对在所述第一CG之后的第二CG初始化所述莱斯参数的所述值以获得经初始化值,所述方法进一步包括使用由所述莱斯参数的所述经初始化值定义的哥伦布码来解码所述第二CG中的至少一个系数的系数级别的剩余绝对值。
4.根据权利要求1所述的方法,其中,如果所述变换并未应用于所述变换块,那么调整所述莱斯参数的所述值包括基于所述莱斯参数的最大值或所述莱斯参数的所述值的可变增量中的最小者的选择而更新所述莱斯参数的所述值,其中基于所述莱斯参数的所述值及正被解码的所述系数的所述系数级别的绝对值而确定所述可变增量。
5.根据权利要求4所述的方法,其中所述可变增量将所述莱斯参数的所述值增加任何整数值,直到所述莱斯参数的所述最大值。
6.根据权利要求4所述的方法,其中基于正被解码的所述系数的所述系数级别的所述绝对值的经右移位版本而确定所述可变增量,其中所述右移位的量是基于所述莱斯参数的所述值。
7.根据权利要求4所述的方法,其中在所述莱斯参数的所述值的每一更新时的所述可变增量的量为由阻尼因子缩放或经定上限为小于或等于最大增量值的量。
8.根据权利要求1所述的方法,其中,如果所述变换并未应用于所述变换块,那么调整所述莱斯参数的所述值包括基于所述莱斯参数的所述值及正被解码的所述系数的所述系数级别的所述绝对值而减低所述莱斯参数的所述值。
9.根据权利要求1所述的方法,其中系数的所述块包括所述变换块中的系数的第一块,且其中,如果所述变换并未应用于所述变换块,那么调整所述莱斯参数的所述值包括在解码系数的所述第一块中的所述至少一个系数的所述系数级别的所述剩余绝对值之后,基于所述莱斯参数的所述值而针对在所述变换块中的系数的所述第一块之后的所述变换块中的系数的第二块初始化所述莱斯参数的所述值。
10.根据权利要求1所述的方法,其中系数的所述块中的所述至少一个系数包括系数的所述块中的第一系数,且其中,如果所述变换应用于所述变换块,那么调整所述莱斯参数的所述值包括针对在系数的所述块中的所述第一系数之后的系数的所述块中的第二系数而根据高效率视频译码HEVC莱斯参数更新方案来更新所述莱斯参数的所述值。
11.根据权利要求1所述的方法,其中系数的所述块包括所述变换块中的系数的第一块,且其中,如果所述变换应用于所述变换块,那么调整所述莱斯参数的所述值包括针对在所述变换块中的系数的所述第一块之后的所述变换块中的系数的第二块而将所述莱斯参数的所述值初始化为等于零。
12.根据权利要求1所述的方法,其进一步包括基于无损译码状态、变换绕过状态、变换跳过状态或用于所述变换块的参数集中的配置文件集中的至少一者而确定所述变换是否应用于所述变换块。
13.一种在视频解码过程中编码系数的方法,所述方法包括:
确定残差视频数据的系数的块;
使用自适应上下文模型来编码系数的所述块中的至少一个系数的系数级别具有大于给定值的绝对值的指示,其中所述给定值等于零、一或二;
使用由莱斯参数定义的哥伦布码来编码所述至少一个系数的所述系数级别的剩余绝对值,其中所述系数级别的所述剩余绝对值包括大于所述给定值的所述绝对值的剩余值;及
基于变换是否应用于包含系数的所述块的变换块而调整所述莱斯参数的值。
14.根据权利要求13所述的方法,其中系数的所述块包括系数群组CG且系数的所述块中的所述至少一个系数包括所述CG中的第一系数,且其中调整所述莱斯参数的所述值包括更新所述莱斯参数的所述值以获得经更新值,所述方法进一步包括使用由所述莱斯参数的所述经更新值定义的哥伦布码来编码在所述CG中的所述第一系数之后的所述CG中的第二系数的系数级别的剩余绝对值。
15.根据权利要求13所述的方法,其中系数的所述块包括第一系数群组CG,且其中调整所述莱斯参数的所述值包括针对在所述第一CG之后的第二CG初始化所述莱斯参数的所述值以获得经初始化值,所述方法进一步包括使用由所述莱斯参数的所述经初始化值定义的哥伦布码来编码所述第二CG中的至少一个系数的系数级别的剩余绝对值。
16.根据权利要求13所述的方法,其中,如果所述变换并未应用于所述变换块,那么调整所述莱斯参数的所述值包括基于所述莱斯参数的最大值或所述莱斯参数的所述值的可变增量中的最小者的选择而更新所述莱斯参数的所述值,其中基于所述莱斯参数的所述值及正被编码的所述系数的所述系数级别的绝对值而确定所述可变增量。
17.根据权利要求16所述的方法,其中所述可变增量将所述莱斯参数的所述值增加任何整数值,直到所述莱斯参数的所述最大值。
18.根据权利要求16所述的方法,其中基于正被编码的所述系数的所述系数级别的所述绝对值的经右移位版本而确定所述可变增量,其中所述右移位的量是基于所述莱斯参数的所述值。
19.根据权利要求16所述的方法,其中在所述莱斯参数的所述值的每一更新时的所述可变增量的量为由阻尼因子缩放或经定上限为小于或等于最大增量值的量。
20.根据权利要求13所述的方法,其中,如果所述变换并未应用于所述变换块,那么调整所述莱斯参数的所述值包括基于所述莱斯参数的所述值及正被编码的所述系数的所述系数级别的所述绝对值而减低所述莱斯参数的所述值。
21.根据权利要求13所述的方法,其中系数的所述块包括所述变换块中的系数的第一块,且其中,如果所述变换并未应用于所述变换块,那么调整所述莱斯参数的所述值包括在编码系数的所述第一块中的所述至少一个系数的所述系数级别的所述剩余绝对值之后,基于所述莱斯参数的所述值而针对在所述变换块中的系数的所述第一块之后的所述变换块中的系数的第二块初始化所述莱斯参数的所述值。
22.根据权利要求13所述的方法,其中系数的所述块中的所述至少一个系数包括系数的所述块中的第一系数,且其中,如果所述变换应用于所述变换块,那么调整所述莱斯参数的所述值包括针对在系数的所述块中的所述第一系数之后的系数的所述块中的第二系数而根据高效率视频译码HEVC莱斯参数更新方案来更新所述莱斯参数的所述值。
23.根据权利要求13所述的方法,其中系数的所述块包括所述变换块中的系数的第一块,且其中,如果所述变换应用于所述变换块,那么调整所述莱斯参数的所述值包括针对在所述变换块中的系数的所述第一块之后的所述变换块中的系数的第二块而将所述莱斯参数的所述值初始化为等于零。
24.根据权利要求13所述的方法,其进一步包括基于无损译码状态、变换绕过状态、变换跳过状态或用于所述变换块的参数集中的配置文件集中的至少一者而指示所述变换是否应用于所述变换块。
25.一种视频译码装置,其包括:
存储器,其经配置以存储视频数据;及
一或多个处理器,其经配置以:
确定残差视频数据的系数的块;
使用自适应上下文模型来译码系数的所述块中的至少一个系数的系数级别具有大于给定值的绝对值的指示,其中所述给定值等于零、一或二;
使用由莱斯参数定义的哥伦布码来译码所述至少一个系数的所述系数级别的剩余绝对值,其中所述系数级别的所述剩余绝对值包括大于所述给定值的所述绝对值的剩余值;及
基于变换是否应用于包含系数的所述块的变换块而调整所述莱斯参数的值。
26.根据权利要求25所述的装置,其中所述视频译码装置包括视频解码装置,且系数的所述块包括系数群组CG且系数的所述块中的所述至少一个系数包括所述CG中的第一系数,其中所述处理器经配置以:
使用自适应上下文模型来解码所述CG中的所述第一系数的所述系数级别具有大于所述给定值的绝对值的所述指示;
使用由所述莱斯参数定义的所述哥伦布码来解码所述CG中的所述第一系数的所述系数级别的所述剩余绝对值;
基于所述变换是否应用于包含所述CG的所述变换块而更新所述莱斯参数的所述值以获得经更新值;及
使用由所述莱斯参数的所述经更新值定义的哥伦布码来解码在所述CG中的所述第一系数之后的所述CG中的第二系数的系数级别的剩余绝对值。
27.根据权利要求25所述的装置,其中所述视频译码装置包括视频编码装置,且系数的所述块包括系数群组CG且系数的所述块中的所述至少一个系数包括所述CG中的第一系数,其中所述处理器经配置以:
使用自适应上下文模型来编码所述CG中的所述第一系数的所述系数级别具有大于所述给定值的绝对值的所述指示;
使用由所述莱斯参数定义的所述哥伦布码来编码所述CG中的所述第一系数的所述系数级别的所述剩余绝对值;
基于所述变换是否应用于包含所述CG的所述变换块而更新所述莱斯参数的所述值以获得经更新值;及
使用由所述莱斯参数的所述经更新值定义的哥伦布码来编码在所述CG中的所述第一系数之后的所述CG中的第二系数的系数级别的剩余绝对值。
28.根据权利要求25所述的装置,其中所述视频译码装置包括视频解码装置,且系数的所述块包括第一系数群组CG,其中所述处理器经配置以:
使用自适应上下文模型来解码所述第一CG中的所述系数的所述系数级别具有大于所述给定值的绝对值的所述指示;
使用由所述莱斯参数定义的所述哥伦布码来解码所述第一CG中的所述系数的所述系数级别的所述剩余绝对值;
基于所述变换是否应用于包含所述第一CG及在所述第一CG之后的第二CG的所述变换块而针对所述第二CG初始化所述莱斯参数的所述值以获得经初始化值;
使用由所述莱斯参数的所述经初始化值定义的哥伦布码来解码所述第二CG中的至少一个系数的系数级别的剩余绝对值。
29.根据权利要求25所述的装置,其中所述视频译码装置包括视频编码装置,且系数的所述块包括第一系数群组CG,其中所述处理器经配置以:
使用自适应上下文模型来编码所述第一CG中的所述系数的所述系数级别具有大于所述给定值的绝对值的所述指示;
使用由所述莱斯参数定义的所述哥伦布码来编码所述第一CG中的所述系数的所述系数级别的所述剩余绝对值;
基于所述变换是否应用于包含所述第一CG及在所述第一CG之后的第二CG的所述变换块而针对所述第二CG初始化所述莱斯参数的所述值以获得经初始化值;
使用由所述莱斯参数的所述经初始化值定义的哥伦布码来编码所述第二CG中的至少一个系数的系数级别的剩余绝对值。
30.根据权利要求25所述的装置,其中,如果所述变换并未应用于所述变换块,那么所述处理器经配置以基于所述莱斯参数的最大值或所述莱斯参数的所述值的可变增量中的最小者的选择而更新所述莱斯参数的所述值,其中基于所述莱斯参数的所述值及正被译码的所述系数的所述系数级别的绝对值而确定所述可变增量。
31.根据权利要求30所述的装置,其中所述可变增量将所述莱斯参数的所述值增加任何整数值,直到所述莱斯参数的所述最大值。
32.根据权利要求30所述的装置,其中基于正被译码的所述系数的所述系数级别的所述绝对值的经右移位版本而确定所述可变增量,其中所述右移位的量是基于所述莱斯参数的所述值。
33.根据权利要求30所述的装置,其中在所述莱斯参数的所述值的每一更新时的所述可变增量的量为由阻尼因子缩放或经定上限为小于或等于最大增量值的量。
34.根据权利要求25所述的装置,其中,如果所述变换并未应用于所述变换块,那么所述处理器经配置以基于所述莱斯参数的所述值及正被译码的所述系数的所述系数级别的所述绝对值而减低所述莱斯参数的所述值。
35.根据权利要求25所述的装置,其中系数的所述块包括所述变换块中的系数的第一块,且其中,如果所述变换并未应用于所述变换块,那么所述处理器经配置以在解码系数的所述第一块中的所述至少一个系数的所述系数级别的所述剩余绝对值之后,基于所述莱斯参数的所述值而针对在所述变换块中的系数的所述第一块之后的所述变换块中的系数的第二块初始化所述莱斯参数的所述值。
36.根据权利要求25所述的装置,其中系数的所述块中的所述至少一个系数包括系数的所述块中的第一系数,且其中,如果所述变换应用于所述变换块,那么所述处理器经配置以针对在系数的所述块中的所述第一系数之后的系数的所述块中的第二系数而根据高效率视频译码HEVC莱斯参数更新方案来更新所述莱斯参数的所述值。
37.根据权利要求25所述的装置,其中系数的所述块包括所述变换块中的系数的第一块,且其中,如果所述变换应用于所述变换块,那么所述处理器经配置以针对在所述变换块中的系数的所述第一块之后的所述变换块中的系数的第二块而将所述莱斯参数的所述值初始化为等于零。
38.根据权利要求25所述的装置,其中所述处理器经配置以基于无损译码状态、变换绕过状态、变换跳过状态或用于所述变换块的参数集中的配置文件集中的至少一者而确定所述变换是否应用于所述变换块。
39.一种视频译码装置,其包括:
用于确定残差视频数据的系数的块的装置;
用于使用自适应上下文模型来译码系数的所述块中的至少一个系数的系数级别具有大于给定值的绝对值的指示的装置,其中所述给定值等于零、一或二;
用于使用由莱斯参数定义的哥伦布码来译码所述至少一个系数的所述系数级别的剩余绝对值的装置,其中所述系数级别的所述剩余绝对值包括大于所述给定值的所述绝对值的剩余值;及
用于基于变换是否应用于包含系数的所述块的变换块而调整所述莱斯参数的值的装置。
40.一种包括指令的计算机可读存储媒体,所述指令在由视频译码装置的一或多个处理器执行时致使所述处理器:
确定残差视频数据的系数的块;
使用自适应上下文模型来译码系数的所述块中的至少一个系数的系数级别具有大于给定值的绝对值的指示,其中所述给定值等于零、一或二;
使用由莱斯参数定义的哥伦布码来译码所述至少一个系数的所述系数级别的剩余绝对值,其中所述系数级别的所述剩余绝对值包括大于所述给定值的所述绝对值的剩余值;及
基于变换是否应用于包含系数的所述块的变换块而调整所述莱斯参数的值。
41.一种在视频解码过程中解码系数的方法,所述方法包括:
确定残差视频数据的系数的块;
确定变换是否应用于包含系数的所述块的变换块;
使用自适应上下文模型来解码系数的所述块中的至少一个系数的系数级别具有大于给定值的绝对值的指示,其中所述给定值等于零、一或二;
使用由莱斯参数定义的哥伦布码来解码所述至少一个系数的所述系数级别的剩余绝对值,其中所述系数级别的所述剩余绝对值包括大于所述给定值的所述绝对值的剩余值;及
基于所述变换并未应用于所述变换块,基于所述莱斯参数的最大值或所述莱斯参数的值的可变增量中的最小者的选择而更新所述莱斯参数的所述值,其中基于所述莱斯参数的所述值及正被解码的所述系数的所述系数级别的绝对值而确定所述可变增量。
42.根据权利要求41所述的方法,其中所述可变增量将所述莱斯参数的所述值增加任何整数值,直到所述莱斯参数的所述最大值,且其中所述莱斯参数的所述最大值为大于或等于4的整数值。
43.根据权利要求42所述的方法,其中,基于正被解码的所述系数的所述系数级别具有大绝对值,所述可变增量将所述莱斯参数的所述值增加大于1的整数值。
44.根据权利要求41所述的方法,其中更新所述莱斯参数的所述值包括在并不执行任何条件运算的情况下更新所述莱斯参数的所述值。
45.根据权利要求41所述的方法,其中系数的所述块包括变换系数,或并未应用变换的系数。
46.根据权利要求41所述的方法,其中基于正被解码的所述系数的所述系数级别的所述绝对值的经右移位版本而确定所述可变增量,其中所述右移位的量是基于所述莱斯参数的所述值。
47.根据权利要求41所述的方法,其中,基于所述莱斯参数的所述值及正被解码的所述系数的所述系数级别的所述绝对值,更新所述莱斯参数的所述值包括减低所述莱斯参数的所述值。
48.根据权利要求41所述的方法,其进一步包括接收经配置以指示以下各者中的一或多者的语法元素:用于系数的所述块的所述莱斯参数的初始值、所述莱斯参数的所述可变增量、所述莱斯参数的所述最大值、用于正被解码的所述系数的所述系数级别的所述绝对值的阈值,及一或多个整数参数值。
49.一种在视频编码过程中编码系数的方法,所述方法包括:
确定残差视频数据的系数的块;
确定变换是否应用于包含系数的所述块的变换块;
使用自适应上下文模型来编码系数的所述块中的至少一个系数的系数级别具有大于给定值的绝对值的指示,其中所述给定值等于零、一或二;
使用由莱斯参数定义的哥伦布码来编码所述至少一个系数的所述系数级别的剩余绝对值,其中所述系数级别的所述剩余绝对值包括大于所述给定值的所述绝对值的剩余值;及
基于所述变换并未应用于所述变换块,基于所述莱斯参数的最大值或所述莱斯参数的值的可变增量中的最小者的选择而更新所述莱斯参数的所述值,其中基于所述莱斯参数的所述值及正被编码的所述系数的所述系数级别的绝对值而确定所述可变增量。
50.根据权利要求49所述的方法,其中所述可变增量将所述莱斯参数的所述值增加任何整数值,直到所述莱斯参数的所述最大值,且其中所述莱斯参数的所述最大值为大于或等于4的整数值。
51.根据权利要求50所述的方法,其中,基于正被编码的所述系数的所述系数级别具有大绝对值,所述可变增量将所述莱斯参数的所述值增加大于1的整数值。
52.根据权利要求49所述的方法,其中更新所述莱斯参数的所述值包括在并不执行任何条件运算的情况下更新所述莱斯参数的所述值。
53.根据权利要求49所述的方法,其中系数的所述块包括变换系数,或并未应用变换的系数。
54.根据权利要求49所述的方法,其中基于正被编码的所述系数的所述系数级别的所述绝对值的经右移位版本而确定所述可变增量,其中所述右移位的量是基于所述莱斯参数的所述值。
55.根据权利要求49所述的方法,其中,基于所述莱斯参数的所述值及正被编码的所述系数的所述系数级别的所述绝对值,更新所述莱斯参数的所述值包括减低所述莱斯参数的所述值。
56.根据权利要求49所述的方法,其进一步包括产生经配置以指示以下各者中的一或多者的语法元素:用于系数的所述块的所述莱斯参数的初始值、所述莱斯参数的所述可变增量、所述莱斯参数的所述最大值、用于正被编码的所述系数的所述系数级别的所述绝对值的阈值,及一或多个整数参数值。
57.一种视频译码装置,其包括:
存储器,其经配置以存储视频数据;及
一或多个处理器,其经配置以:
确定残差视频数据的系数的块;
确定变换是否应用于包含系数的所述块的变换块;
使用自适应上下文模型来译码系数的所述块中的至少一个系数的系数级别具有大于给定值的绝对值的指示,其中所述给定值等于零、一或二;
使用由莱斯参数定义的哥伦布码来译码所述至少一个系数的所述系数级别的剩余绝对值,其中所述系数级别的所述剩余绝对值包括大于所述给定值的所述绝对值的剩余值;及
基于所述变换并未应用于所述变换块,基于所述莱斯参数的最大值或所述莱斯参数的值的可变增量中的最小者的选择而更新所述莱斯参数的所述值,其中基于所述莱斯参数的所述值及正被译码的所述系数的所述系数级别的绝对值而确定所述可变增量。
58.根据权利要求57所述的装置,其中所述视频译码装置包括视频解码装置,且系数的所述块包括系数群组CG且系数的所述块中的所述至少一个系数包括所述CG中的第一系数,其中所述处理器经配置以:
使用自适应上下文模型来解码所述CG中的所述第一系数的所述系数级别具有大于所述给定值的绝对值的所述指示;
使用由所述莱斯参数定义的所述哥伦布码来解码所述CG中的所述第一系数的所述系数级别的所述剩余绝对值;
更新所述莱斯参数的所述值以获得经更新值;及
使用由所述莱斯参数的所述经更新值定义的哥伦布码来解码在所述CG中的所述第一系数之后的所述CG中的第二系数的系数级别的剩余绝对值。
59.根据权利要求57所述的装置,其中所述视频译码装置包括视频编码装置,且系数的所述块包括系数群组CG且系数的所述块中的所述至少一个系数包括所述CG中的第一系数,其中所述处理器经配置以:
使用自适应上下文模型来编码所述CG中的所述第一系数的所述系数级别具有大于所述给定值的绝对值的所述指示;
使用由所述莱斯参数定义的所述哥伦布码来编码所述CG中的所述第一系数的所述系数级别的所述剩余绝对值;
更新所述莱斯参数的所述值以获得经更新值;及
使用由所述莱斯参数的所述经更新值定义的哥伦布码来编码在所述CG中的所述第一系数之后的所述CG中的第二系数的系数级别的剩余绝对值。
60.根据权利要求57所述的装置,其中所述可变增量将所述莱斯参数的所述值增加任何整数值,直到所述莱斯参数的所述最大值,且其中所述莱斯参数的所述最大值为大于或等于4的整数值。
61.根据权利要求60所述的装置,其中,基于正被译码的所述系数的所述系数级别具有大绝对值,所述可变增量将所述莱斯参数的所述值增加大于1的整数值。
62.根据权利要求57所述的装置,其中所述处理器经配置以在并不执行任何条件运算的情况下更新所述莱斯参数的所述值。
63.根据权利要求57所述的装置,其中系数的所述块包括变换系数,或并未应用变换的系数。
64.根据权利要求57所述的装置,其中基于正被译码的所述系数的所述系数级别的所述绝对值的经右移位版本而确定所述可变增量,其中所述右移位的量是基于所述莱斯参数的所述值。
65.根据权利要求57所述的装置,其中所述处理器经配置以基于所述莱斯参数的所述值及正被译码的所述系数的所述系数级别的所述绝对值而减低所述莱斯参数的所述值。
66.根据权利要求57所述的装置,其中所述处理器经配置以确定经配置以指示以下各者中的一或多者的语法元素:用于系数的所述块的所述莱斯参数的初始值、所述莱斯参数的所述可变增量、所述莱斯参数的所述最大值、用于正被译码的所述系数的所述系数级别的所述绝对值的阈值,及一或多个整数参数值。
67.一种视频译码装置,其包括:
用于确定残差视频数据的系数的块的装置;
用于确定变换是否应用于包含系数的所述块的变换块的装置;
用于使用自适应上下文模型来译码系数的所述块中的至少一个系数的系数级别具有大于给定值的绝对值的指示的装置,其中所述给定值等于零、一或二;
用于使用由莱斯参数定义的哥伦布码来译码所述至少一个系数的所述系数级别的剩余绝对值的装置,其中所述系数级别的所述剩余绝对值包括大于所述给定值的所述绝对值的剩余值;及
用于基于所述变换并未应用于所述变换块,基于所述莱斯参数的最大值或所述莱斯参数的值的可变增量中的最小者的选择而更新所述莱斯参数的所述值的装置,其中基于所述莱斯参数的所述值及正被译码的所述系数的所述系数级别的绝对值而确定所述可变增量。
68.一种包括指令的计算机可读存储媒体,所述指令在由视频译码装置的一或多个处理器执行时致使所述处理器:
确定残差视频数据的系数的块;
确定变换是否应用于包含系数的所述块的变换块;
使用自适应上下文模型来译码系数的所述块中的至少一个系数的系数级别具有大于给定值的绝对值的指示,其中所述给定值等于零、一或二;
使用由莱斯参数定义的哥伦布码来译码所述至少一个系数的所述系数级别的剩余绝对值,其中所述系数级别的所述剩余绝对值包括大于所述给定值的所述绝对值的剩余值;及
基于所述变换并未应用于所述变换块,基于所述莱斯参数的最大值或所述莱斯参数的值的可变增量中的最小者的选择而更新所述莱斯参数的所述值,其中基于所述莱斯参数的所述值及正被译码的所述系数的所述系数级别的绝对值而确定所述可变增量。
CN201480020121.0A 2013-04-12 2014-04-11 在视频译码过程中用于系数级别译码的莱斯参数更新 Active CN105191307B (zh)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201361811632P 2013-04-12 2013-04-12
US61/811,632 2013-04-12
US201361832652P 2013-06-07 2013-06-07
US61/832,652 2013-06-07
US201361845850P 2013-07-12 2013-07-12
US61/845,850 2013-07-12
US201461953647P 2014-03-14 2014-03-14
US61/953,647 2014-03-14
US14/250,282 2014-04-10
US14/250,282 US9936200B2 (en) 2013-04-12 2014-04-10 Rice parameter update for coefficient level coding in video coding process
PCT/US2014/033780 WO2014169199A2 (en) 2013-04-12 2014-04-11 Rice parameter update for coefficient level coding in video coding process

Publications (2)

Publication Number Publication Date
CN105191307A CN105191307A (zh) 2015-12-23
CN105191307B true CN105191307B (zh) 2018-07-31

Family

ID=51686792

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480020121.0A Active CN105191307B (zh) 2013-04-12 2014-04-11 在视频译码过程中用于系数级别译码的莱斯参数更新

Country Status (11)

Country Link
US (1) US9936200B2 (zh)
EP (1) EP2984830B1 (zh)
JP (1) JP6469652B2 (zh)
KR (1) KR102283307B1 (zh)
CN (1) CN105191307B (zh)
BR (1) BR112015025910B1 (zh)
DK (1) DK2984830T3 (zh)
ES (1) ES2865389T3 (zh)
HU (1) HUE054102T2 (zh)
TW (1) TWI554082B (zh)
WO (1) WO2014169199A2 (zh)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10021419B2 (en) 2013-07-12 2018-07-10 Qualcomm Incorported Rice parameter initialization for coefficient level coding in video coding process
EP2937789A4 (en) * 2014-02-07 2016-05-25 Entrix Co Ltd CLOUD STREAMING SERVICE SYSTEM, METHOD FOR PROVIDING A CLOUD STREAMING SERVICE AND DEVICE THEREFOR
US9683130B2 (en) 2014-03-19 2017-06-20 Xerox Corporation Polydiphenylsiloxane coating formulation and method for forming a coating
US9494884B2 (en) 2014-03-28 2016-11-15 Xerox Corporation Imaging plate coating composite composed of fluoroelastomer and aminosilane crosslinkers
US9428663B2 (en) 2014-05-28 2016-08-30 Xerox Corporation Indirect printing apparatus employing sacrificial coating on intermediate transfer member
US9611404B2 (en) 2014-09-23 2017-04-04 Xerox Corporation Method of making sacrificial coating for an intermediate transfer member of indirect printing apparatus
US9550908B2 (en) 2014-09-23 2017-01-24 Xerox Corporation Sacrificial coating for intermediate transfer member of an indirect printing apparatus
US9593255B2 (en) 2014-09-23 2017-03-14 Xerox Corporation Sacrificial coating for intermediate transfer member of an indirect printing apparatus
CN104410863B (zh) * 2014-12-11 2017-07-11 上海兆芯集成电路有限公司 图像处理器以及图像处理方法
US9956760B2 (en) 2014-12-19 2018-05-01 Xerox Corporation Multilayer imaging blanket coating
US9458341B2 (en) 2015-02-12 2016-10-04 Xerox Corporation Sacrificial coating compositions comprising polyvinyl alcohol and waxy starch
US9816000B2 (en) 2015-03-23 2017-11-14 Xerox Corporation Sacrificial coating and indirect printing apparatus employing sacrificial coating on intermediate transfer member
EP3292690B1 (en) 2015-06-23 2020-05-06 MediaTek Singapore Pte Ltd. Method and apparatus for transform coefficient coding of non-square blocks
WO2017000222A1 (en) * 2015-06-30 2017-01-05 Mediatek Singapore Pte. Ltd. Grouping bypass bins and improved sign data hiding for residual coding
US9718964B2 (en) 2015-08-19 2017-08-01 Xerox Corporation Sacrificial coating and indirect printing apparatus employing sacrificial coating on intermediate transfer member
US10432952B2 (en) * 2015-11-19 2019-10-01 Qualcomm Incorporated System and methods for fixed-point approximations in display stream compression (DSC)
CN108259896B (zh) * 2016-12-29 2021-10-08 四川大学 一种利用系数分布特性的哥伦布-莱斯初始参数自适应决策方法
KR102495753B1 (ko) * 2017-10-10 2023-02-03 삼성전자주식회사 카메라를 이용하여 획득한 원시 이미지를 외부 전자 장치를 이용하여 처리하는 방법 및 전자 장치
KR102553150B1 (ko) * 2018-03-23 2023-07-10 삼성전자주식회사 외부 전자 장치와 이미지를 처리하는 전자 장치 및 그 동작 방법
US11516462B2 (en) * 2018-03-27 2022-11-29 Kt Corporation Method and apparatus for processing video signal
US11451840B2 (en) * 2018-06-18 2022-09-20 Qualcomm Incorporated Trellis coded quantization coefficient coding
US11336918B2 (en) 2018-09-05 2022-05-17 Qualcomm Incorporated Regular coded bin reduction for coefficient coding
KR102613155B1 (ko) * 2018-09-24 2023-12-13 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 종속 스칼라 양자화를 사용하거나 이와 조합하는 데에적합한 변환 계수의 효율적인 코딩
US10951898B2 (en) * 2018-10-11 2021-03-16 Lg Electronics Inc. Image decoding method and device using residual information in image coding system
EP3883248A4 (en) * 2018-11-12 2022-10-26 Samsung Electronics Co., Ltd. METHOD AND DEVICE FOR COEFFICIENT-LEVEL ENTROPIC CODING, AND METHOD AND DEVICE FOR COEFFICIENT-LEVEL ENTROPIC DECODER
WO2020112453A1 (en) * 2018-11-30 2020-06-04 Interdigital Vc Holdings, Inc. Entropy coding optimization
US10904548B2 (en) * 2018-12-06 2021-01-26 Qualcomm Incorporated Coefficient processing for video encoding and decoding
US11134273B2 (en) 2019-02-14 2021-09-28 Qualcomm Incorporated Regular coded bin reduction for coefficient coding
TW202046729A (zh) * 2019-04-24 2020-12-16 美商松下電器(美國)知識產權公司 編碼裝置、解碼裝置、編碼方法、及解碼方法
CN117714688A (zh) * 2019-06-14 2024-03-15 松下电器(美国)知识产权公司 编码装置、解码装置和非暂时性的计算机可读取介质
US11368511B2 (en) * 2019-06-20 2022-06-21 Tencent America LLC Unification of rice parameter lookup table
CN112118456B (zh) 2019-06-20 2022-03-25 腾讯美国有限责任公司 莱斯参数选择方法、装置、计算机设备及存储介质
US11184642B2 (en) * 2019-08-02 2021-11-23 Mediatek Inc. Methods and apparatus for simplification of coding residual blocks
JP2022546451A (ja) * 2019-08-31 2022-11-04 エルジー エレクトロニクス インコーポレイティド ビデオ/映像コーディングシステムにおける変換係数コーディング方法及び装置
JP7201873B2 (ja) * 2019-09-24 2023-01-10 ベイジン ダジア インターネット インフォメーション テクノロジー カンパニー リミテッド 残差及び係数符号化の方法、プログラム並びに装置
WO2021071187A1 (ko) * 2019-10-07 2021-04-15 엘지전자 주식회사 비디오/영상 코딩 시스템에서 라이스 파라미터 도출 방법 및 장치
US20240080480A1 (en) * 2019-10-07 2024-03-07 Lg Electronics Inc. Entropy coding method and device in video/image coding system
US11336891B2 (en) * 2019-11-25 2022-05-17 Tencent America LLC Coding method and system with improved transform domain coefficient computation
EP4082214A1 (en) * 2019-12-23 2022-11-02 Interdigital VC Holdings France Residual processing for video encoding and decoding
US11478991B2 (en) 2020-06-17 2022-10-25 Xerox Corporation System and method for determining a temperature of an object
US11499873B2 (en) 2020-06-17 2022-11-15 Xerox Corporation System and method for determining a temperature differential between portions of an object printed by a 3D printer
US11498354B2 (en) 2020-08-26 2022-11-15 Xerox Corporation Multi-layer imaging blanket
US11722672B2 (en) * 2020-10-06 2023-08-08 Qualcomm Incorporated Adaptively deriving rice parameter values for high bit-depth video coding
US11767447B2 (en) 2021-01-19 2023-09-26 Xerox Corporation Topcoat composition of imaging blanket with improved properties
KR20220121747A (ko) * 2021-02-25 2022-09-01 주식회사 케이티 비디오 신호 부호화/복호화 방법 및 상기 부호화 방법에 의해 생성된 데이터 스트림을 저장하는 기록 매체
WO2022193386A1 (zh) * 2021-03-17 2022-09-22 Oppo广东移动通信有限公司 系数编解码方法、编解码设备、终端及存储介质
US20230097659A1 (en) * 2021-09-29 2023-03-30 Tencent America LLC Techniques for constraint flag signaling for range extension with rice coding
WO2023056219A1 (en) * 2021-09-30 2023-04-06 Qualcomm Incorporated History-based adaptive interpretation of context coded syntax elements for high bit-depth video coding
US20230107599A1 (en) * 2021-09-30 2023-04-06 Qualcomm Incorporated History-based adaptive interpretation of context coded syntax elements for high bit-depth video coding

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6987468B1 (en) * 2004-10-29 2006-01-17 Microsoft Corporation Lossless adaptive encoding and decoding of integer data
CN102238387A (zh) * 2011-05-25 2011-11-09 深圳市融创天下科技股份有限公司 一种视频熵编码、熵解码方法、装置及介质
CN102368385A (zh) * 2011-09-07 2012-03-07 中科开元信息技术(北京)有限公司 后向块自适应Golomb-Rice编解码方法及装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060051157A (ko) 2004-10-29 2006-05-19 마이크로소프트 코포레이션 정수 데이터의 무손실 적응 인코딩 및 디코딩을 위한시스템 및 방법
US9591320B2 (en) 2010-07-15 2017-03-07 Texas Instruments Incorporated Context and bypass encoding video
GB2500347B (en) 2011-05-16 2018-05-16 Hfi Innovation Inc Apparatus and method of sample adaptive offset for luma and chroma components
WO2013003823A1 (en) * 2011-06-30 2013-01-03 Huawei Technologies, Co., Ltd. Lossless coding and associated signaling methods for compound video
MX339141B (es) 2011-06-30 2016-05-13 Panasonic Ip Corp America Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
US9743116B2 (en) * 2012-01-19 2017-08-22 Huawei Technologies Co., Ltd. High throughput coding for CABAC in HEVC
US10616581B2 (en) * 2012-01-19 2020-04-07 Huawei Technologies Co., Ltd. Modified coding for a transform skipped block for CABAC in HEVC
MY170555A (en) 2012-01-20 2019-08-19 Ge Video Compression Llc Transform coefficient coding
US9866829B2 (en) 2012-01-22 2018-01-09 Qualcomm Incorporated Coding of syntax elements that correspond to coefficients of a coefficient block in video coding
PL2837185T3 (pl) * 2012-04-13 2020-03-31 Canon Kabushiki Kaisha Sposób, aparat i system do kodowania i dekodowania podzbioru jednostek transformacji zakodowanych danych wideo
CN104380737B (zh) * 2012-06-22 2018-10-26 夏普株式会社 算术解码装置
US9426466B2 (en) 2012-06-22 2016-08-23 Qualcomm Incorporated Transform skip mode
US9350998B2 (en) 2012-06-29 2016-05-24 Qualcomm Incorporated Coding of significance flags
US10021419B2 (en) 2013-07-12 2018-07-10 Qualcomm Incorported Rice parameter initialization for coefficient level coding in video coding process

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6987468B1 (en) * 2004-10-29 2006-01-17 Microsoft Corporation Lossless adaptive encoding and decoding of integer data
CN102238387A (zh) * 2011-05-25 2011-11-09 深圳市融创天下科技股份有限公司 一种视频熵编码、熵解码方法、装置及介质
CN102368385A (zh) * 2011-09-07 2012-03-07 中科开元信息技术(北京)有限公司 后向块自适应Golomb-Rice编解码方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Reduced-complexity entropy coding of transform coefficient levels using a combination of VLC and PIPE;NGUYEN T ET AL;《4.JCT-VC MEETING-D336》;20110116;全文 *

Also Published As

Publication number Publication date
WO2014169199A2 (en) 2014-10-16
TW201445979A (zh) 2014-12-01
DK2984830T3 (da) 2021-05-03
BR112015025910B1 (pt) 2023-03-28
TWI554082B (zh) 2016-10-11
US9936200B2 (en) 2018-04-03
KR20150139888A (ko) 2015-12-14
BR112015025910A2 (pt) 2017-07-25
JP2016515786A (ja) 2016-05-30
KR102283307B1 (ko) 2021-07-28
HUE054102T2 (hu) 2021-08-30
EP2984830A2 (en) 2016-02-17
EP2984830B1 (en) 2021-04-07
JP6469652B2 (ja) 2019-02-13
ES2865389T3 (es) 2021-10-15
WO2014169199A3 (en) 2014-12-18
US20140307800A1 (en) 2014-10-16
CN105191307A (zh) 2015-12-23

Similar Documents

Publication Publication Date Title
CN105191307B (zh) 在视频译码过程中用于系数级别译码的莱斯参数更新
CN105474641B (zh) 视频译码过程中用于系数层级译码的莱斯(rice)参数初始化
CN104054341B (zh) 用于上下文自适应性二进制算术译码系数层级译码的通过量改进
CN107211124B (zh) 用于译码视频数据的方法、装置和计算机可读存储媒体
CN103404144B (zh) 视频译码中的经量化脉码调制
CN106105040B (zh) 视频译码过程中的系数层级译码
CN104247421B (zh) 用于系数扫描的系数群及系数译码
CN103636224B (zh) 用于视频压缩中的系数等级译码的上下文
JP6285559B2 (ja) 低複雑度サンプル適応オフセット符号化
CN104471935B (zh) 具有变换跳过的视频译码中的预测残余块的旋转
EP3270591B1 (en) Modified coding for a transform skipped block for cabac in hevc
CN103703776B (zh) 在视频译码中的系数扫描
KR20220006057A (ko) 비디오 코딩에서 아핀 선형 가중 인트라 예측
US20190313108A1 (en) Non-square blocks in video coding
CN108353167A (zh) 译码视频数据的正负号信息
CN103718554A (zh) 用于视频译码的变换系数的译码
CN103348677A (zh) 像素层级自适应帧内平滑化
CN108307195A (zh) 最后有效系数的位置的渐进式译码
JP2014533048A (ja) ビデオコーディングのための適応的な中心帯域オフセットフィルタ
CN104067524A (zh) 具有精简的初始化值集合的上下文自适应熵译码
CN103636223A (zh) 用于视频译码的多区扫描次序
CN104685890B (zh) 用于处理和编码多层视频数据的方法、装置和设备
CN104247417A (zh) 用于视频译码中的解块滤波器的β偏移控制
CN114402604A (zh) 用于视频编解码的简化调色板预测器更新
CN103283229A (zh) 视频块系数的可变长度译码

Legal Events

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