CN104471935B - 具有变换跳过的视频译码中的预测残余块的旋转 - Google Patents

具有变换跳过的视频译码中的预测残余块的旋转 Download PDF

Info

Publication number
CN104471935B
CN104471935B CN201380036740.4A CN201380036740A CN104471935B CN 104471935 B CN104471935 B CN 104471935B CN 201380036740 A CN201380036740 A CN 201380036740A CN 104471935 B CN104471935 B CN 104471935B
Authority
CN
China
Prior art keywords
residual block
block
residual
video
borders
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
CN201380036740.4A
Other languages
English (en)
Other versions
CN104471935A (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 CN104471935A publication Critical patent/CN104471935A/zh
Application granted granted Critical
Publication of CN104471935B publication Critical patent/CN104471935B/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks
    • 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

Abstract

本发明描述用于译码具有变换跳过的预测残余块的残余数据的技术。当使用变换跳过模式中的无损译码模式或有损译码模式译码残余块时,可跳过用于所述残余块的变换。根据所述技术,基于用于残余块的变换被跳过,包含在视频编码器或视频解码器中的旋转单元确定在译码所述残余块的残余数据之前是否旋转所述残余块。在一些实例中,可明确地在所述视频编码器与所述视频解码器之间用信号发出旋转值。在其它实例中,所述视频编码器及所述视频解码器可各自独立地基于所述残余块的两个或两个以上边缘处的边界的类型确定是否旋转所述残余块。

Description

具有变换跳过的视频译码中的预测残余块的旋转
本申请案主张2012年7月11日申请的第61/670,569号美国临时申请案、2013年4月23日申请的第61/815,148号美国临时申请案及2013年6月11日申请的第61/833,781号美国临时申请案的权利,所述临时申请案中的每一者的全部内容以引用的方式并入本文中。
技术领域
本发明涉及具有变换跳过的视频译码(即,视频编码及视频解码)。
背景技术
数字视频能力可并入到广泛范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子图书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、所谓的“智能电话”、视频电话会议装置、视频流装置及其类似者。数字视频装置实施视频压缩技术,例如,由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)定义的标准、目前正在开发的高效率视频译码(HEVC)标准及此类标准的扩展中所描述的视频压缩技术。视频装置可通过实施此类视频压缩技术来更有效率地发射、接收、编码、解码及/或存储数字视频信息。
视频压缩技术执行空间(图片内)预测及/或时间(图片间)预测来减少或去除视频序列中固有的冗余。对于基于块的视频译码,可以将视频切片(即,视频帧或视频帧的一部分)分割成视频块,视频块也可被称作树块、译码单元(CU)及/或译码节点。图片的经帧内译码(I)切片中的视频块是使用相对于同一图片中的相邻块中的参考样本的空间预测来编码。图片的经帧间译码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。
空间或时间预测导致译码块的预测性块。残余数据表示待译码的原始块与预测性块之间的像素差。经帧间译码块是根据指向形成预测性块的参考样本块的运动向量及指示经译码块与预测性块的像素之间的差的残余数据来编码。经帧内译码块是根据帧内译码模式及残余数据来编码。为了进一步压缩,可将残余数据从像素域变换到变换域,从而产生残余变换系数,接着可将残余变换系数量化。可扫描最初布置为二维阵列的经量化的变换系数,以便产生变换系数的一维向量,且可应用熵译码以实现更多压缩。
发明内容
一般来说,本发明描述用于译码具有变换跳过的预测残余块的残余数据的技术。所述残余数据包括视频块与预测块之间的像素差值。当使用变换跳过模式中的无损译码模式或有损译码模式译码残余块时,可跳过用于所述残余块的变换。在未将变换应用于所述残余块时,具有高于平均值的能量的所述残余数据(即,较大像素差值)可能并不定位于所述残余块的左上角处,所述情形为熵译码所期望的。
根据所述技术,基于用于残余块的变换被跳过,包含在视频编码器或视频解码器中的旋转单元确定在译码所述残余块的残余数据之前是否旋转所述残余块。在一些实例中,可明确地在所述视频编码器与所述视频解码器之间用信号发出旋转值。在其它实例中,所述视频编码器及所述视频解码器可各自独立地基于所述残余块的两个或两个以上边缘处的边界的类型确定是否旋转所述残余块。在此情况下,所述旋转单元确定所述残余块的两个或两个以上边缘处的边界的类型,且接着基于所述边缘处的边界的所述类型确定是否旋转所述残余块以便重新定位所述残余数据。
在一个实例中,本发明涉及一种解码视频数据的方法,所述方法包括基于指示用于所述视频数据的残余块的变换跳过的一或多个语法元素跳过用于所述残余块的反变换,及确定在从所述残余块的残余数据重新构造视频块之前是否旋转所述残余块。
在另一实例中,本发明涉及一种编码视频数据的方法,所述方法包括跳过用于从所述视频数据的视频块计算的残余块的变换,及确定在编码所述残余块的残余数据之前是否旋转所述残余块。
在另一实例中,本发明涉及一种用于译码视频数据的视频译码装置,所述装置包括一或多个处理器,所述一或多个处理器经配置以跳过用于所述视频数据的残余块的变换,及确定在译码所述残余块的残余数据之前是否旋转所述残余块。
在一额外实例中,本发明涉及一种用于译码视频数据的视频译码装置,所述装置包括用于跳过用于所述视频数据的残余块的变换的装置,及用于确定在译码所述残余 块的残余数据之前是否旋转所述残余块的装置。
在另一实例中,本发明涉及一种计算机可读媒体,其包括用于译码视频数据的指令,所述指令在被执行时致使一或多个可编程处理器跳过用于所述视频数据的残余块的变换,及确定在译码所述残余块的残余数据之前是否旋转所述残余块。
随附图式及以下描述中阐述一或多个实例的细节。其它特征、目标及优点将从所述描述及图式以及权利要求书而显而易见。
附图说明
图1为说明可利用本发明中描述的技术来译码具有变换跳过的残余数据的实例视频编码及解码系统的框图。
图2为说明可实施本发明中描述的技术以确定在编码残余块的残余数据之前是否旋转残余块的实例视频编码器的框图。
图3为说明可实施本发明中描述的技术以确定在从残余块的残余数据重新构造视频块之前是否旋转残余块的实例视频解码器的框图。
图4为说明根据运动预测模式分割成一或多个预测单元(PU)及根据四叉树数据结构分割成多个变换单元(TU)的残余块的译码单元(CU)的框图。
图5为说明视频编码器确定在编码残余块的残余数据之前是否旋转残余块的示例性操作的流程图。
图6为说明视频解码器确定在从残余块的残余数据重新构造视频块之前是否旋转残余块的示例性操作的流程图。
图7为说明基于残余块的边缘处的边界的类型确定是否将残余块旋转达预定旋转值的一个实例操作的流程图。
图8为说明确定是否旋转残余块的另一实例操作的流程图,所述确定包含针对两个或两个以上可能的旋转值中的每一者基于残余块的边缘处的边界的类型确定用于残余块的旋转值。
图9为说明使可执行旋转所针对的残余块的块大小与可在有损译码模式中跳过变换所针对的块大小对准的实例操作的流程图。
图10为说明使可执行沿着对角线的残余数据样本值的翻转所针对的残余块的块大小与可在有损译码模式中跳过变换所针对的块大小对准的实例操作的流程图。
具体实施方式
本发明描述用于译码具有变换跳过的预测残余块的残余数据的技术。残余块的残余数据包括待译码的视频块的像素与针对待译码的块产生的预测块的相对应的像素之间的像素差值。当使用变换跳过模式中的无损译码模式或有损译码模式译码残余块时,可跳过用于所述残余块的变换。在未将变换应用于所述残余块时,具有高于平均值的能量的所述残余数据(即,较大像素差值)可能并不定位于所述残余块的左上角处,所述情形为熵译码所期望的。
当跳过用于残余块的变换时,可通过在编码期间旋转残余块以便将具有高于平均值的能量的残余数据定位于残余块的左上角处来改善熵译码效率。在解码期间,需要将在编码期间执行的旋转反转以便从残余块及预测块重新构造原始视频块。
在帧内预测模式中,当跳过用于残余块的变换时,具有高于平均值的能量的残余数据通常定位于残余块的右下角处。在一些情况下,可在译码残余块之前自动地将帧内预测残余块旋转达180度以便将具有高于平均值的能量的残余数据定位于残余块的左上角处。然而,在帧间预测模式中,可能不会始终需要自动地将残余块旋转达180度。
根据本发明的技术,基于用于残余块的变换被跳过,包含在视频编码器或视频解码器中的旋转单元确定在译码残余块的残余数据之前是否旋转残余块。在一些实例中,可明确地在所述视频编码器与所述视频解码器之间用信号发出旋转值。在其它实例中,所述视频编码器及所述视频解码器可各自独立地基于所述残余块的两个或两个以上边缘处的边界的类型确定是否旋转所述残余块。
在帧间预测模式中,残余块的变换单元(TU)边界(即,属于同一预测单元(PU)的两个TU之间的边界)处的残余数据通常具有低于残余块中的平均残余数据的能量。另外,残余块的PU边界(即,属于不同PU的两个TU之间的边界)处的残余数据通常具有高于残余块中的平均残余数据的能量。基于此观察,本发明的技术包含基于残余块的两个或两个以上边缘处的边界的类型旋转具有变换跳过的帧间预测残余块。举例来说,旋转单元可确定残余块的两个或两个以上边缘处的边界的类型,且接着基于所述边缘处的边界的类型确定是否旋转所述残余块以便重新定位残余数据。
在一些实例中,旋转单元确定是将残余块旋转达预定旋转值(例如,180度)还是不旋转残余块。在其它实例中,旋转单元从两个或两个以上旋转值确定将残余块旋转所达的旋转值,例如,0度或不旋转、180度、90度或270度。
在编码侧上,所述旋转在编码残余块的残余数据之前将具有高于平均值的能量的残余数据定位于被旋转的残余块的左上角处以改善熵译码效率。在解码侧上,所述旋 转将在编码期间执行的旋转反转且将具有高于平均值的能量的残余数据传回到其在原始残余块中的原始位置以便使用预测性块从残余块重新构造视频块。
图1为说明可利用本发明中描述的技术来译码具有变换跳过的残余数据的实例视频编码及解码系统10的框图。如图1中所展示,系统10包含源装置12,其产生例如在稍后时间待由目的地装置14解码的经编码视频数据。源装置12及目的地装置14可包括广泛范围的装置中的任一者,包含桌上型计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如,所谓的“智能”电话)、所谓的“智能”平板计算机、电视机、摄像机、显示装置、数字媒体播放器、视频游戏控制台、视频流装置或其类似者。在一些情况下,源装置12及目的地装置14可能经装备以用于无线通信。
目的地装置14可经由链路16接收待解码的经编码视频数据。链路16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一个实例中,链路16可包括使得源装置12能够实时地将经编码视频数据直接发射到目的地装置14的通信媒体。经编码视频数据可根据通信标准(例如,无线通信协议)来调制,且被发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。通信媒体可形成分组网络(例如,局域网、广域网或全球网络,例如因特网)的部分。通信媒体可包含路由器、交换器、基站或可用于促进从源装置12到目的地装置14的通信的任何其它装备。
替代地,可将经编码数据从输出接口22输出到存储装置34。类似地,可通过输入接口从存储装置34存取经编码数据。存储装置34可包含多种分布式或本地存取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器或用于存储经编码视频数据的任何其它合适的数字存储媒体。在另一实例中,存储装置34可对应于文件服务器或可保持由源装置12产生的经编码视频的另一中间存储装置。目的地装置14可经由流式传输或下载从存储装置34存取所存储的视频数据。文件服务器可为能够存储经编码视频数据且将经编码视频数据发射到目的地装置14的任何类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置或本地磁盘驱动器。目的地装置14可通过任何标准数据连接(包含因特网连接)来存取经编码视频数据。此连接可包含适合于存取存储在文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等)或两者的组合。经编码视频数据从存储装置34的传输可为流式传输、下载传输或两者的组合。
本发明的技术未必限于无线应用或设置。所述技术可应用于视频译码以支持多种多媒体应用中的任一者,例如空中电视广播、有线电视发射、卫星电视发射、流式视频传输(例如,经由因特网)、编码数字视频以用于存储在数据存储媒体上、解码存储在数据存储媒体上的数字视频,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频发射,以支持例如视频流式传输、视频回放、视频广播及/或视频电话等应用。
在图1的实例中,源装置12包含视频源18、视频编码器20及输出接口22。在一些情况下,输出接口22可包含调制器/解调器(调制解调器)及/或发射器。在源装置12中,视频源18可包含例如视频俘获装置(例如,摄像机)、含有先前俘获的视频的视频存档、用于从视频内容提供者接收视频的视频馈入接口及/或用于产生计算机图形数据作为源视频的计算机图形系统或此类源的组合等源。作为一个实例,如果视频源18是摄像机,那么源装置12及目的地装置14可以形成所谓的摄像机电话或视频电话。然而,本发明中描述的技术一般可适用于视频译码,且可应用于无线及/或有线应用。
可由视频编码器20来编码所俘获视频、经预先俘获的视频或计算机产生的视频。可经由源装置12的输出接口22将经编码视频数据直接发射到目的地装置14。还可(或替代地)将经编码视频数据存储到存储装置34上以供稍后由目的地装置14或其它装置存取以用于解码及/或回放。
目的地装置14包含输入接口28、视频解码器30及显示装置32。在一些情况下,输入接口28可包含接收器及/或调制解调器。目的地装置14的输入接口28经由链路16接收经编码视频数据。经由链路16传达或在存储装置34上提供的经编码视频数据可包含由视频编码器20产生的多种语法元素以供由例如视频解码器30等视频解码器用于解码视频数据。此类语法元素可与在通信媒体上发射、存储在存储媒体上或存储在文件服务器上的经编码视频数据包含在一起。
显示装置32可与目的地装置14集成或在目的地装置14外部。在一些实例中,目的地装置14可包含集成式显示装置,且还经配置以与外部显示装置介接。在其它实例中,目的地装置14可为显示装置。一般来说,显示装置32将经解码视频数据显示给用户,且可包括多种显示装置中的任一者,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
数字视频装置实施视频压缩技术更有效率地编码及解码数字视频信息。视频压缩可应用空间(帧内)预测及/或时间(帧间)预测技术来减少或去除视频序列中固有的冗余。视频编码器20及视频解码器30可以根据一种视频译码标准(例如,目前正在开发的高 效率视频译码(HEVC)标准)来操作,并且可以符合HEVC测试模型(HM)。替代地,视频编码器20及视频解码器30可根据其它专有或业界视频译码标准来操作。然而,本发明的技术不限于任何特定译码标准。
视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1Visua1、ITU-T H.262或ISO/IECMPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual及ITU-T H.264(也被称为ISO/IECMPEG-4AVC),包含其可缩放视频译码(SVC)及多视图视频译码(MVC)扩展。另外,存在新的视频译码标准,即,HEVC,其正由ITU-T视频译码专家组(VCEG)及ISO/IEC动画专家组(MPEG)的视频译码联合合作小组(JCT-VC)进行开发。
即将到来的HEVC标准的“工作草案7”或“WD7”描述于布洛斯(Bross)等人的文档HCTVC-I1003“高效率视频译码(HEVC)文本规范草案7(High efficiency video coding(HEVC)text specification draft 7)”(ITU-T SG16WP3及ISO/IEC JTC1/SC29/WG11的视频译码联合合作小组(JCT-VC),第9次会议:瑞士日内瓦,2012年4月27日到2012年5月7日)中,所述文档从2013年7月3日起可从http://phenix.it-sudparis.eu/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I1003-v6.zip下载。另外,HEVC标准的“工作草案8”或“WD8”描述于布洛斯(Bross)等人的文档JCTVC-J1003_d7“高效率视频译码(HEVC)文本规范草案8(High Efficiency Video Coding(HEVC)Text Specification Draft 8)”(ITU-TSG16WP3及ISO/IEC JTC1/SC29/WG11的视频译码联合合作小组(JCT-VC),第10次会议:瑞典斯德哥尔摩,2012年7月11日到20日)中,所述文档从2013年7月3日起可从http://phenix.int-evry.fr/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J1003-v8.zip下载。
尽管图1中未展示,但在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器集成,且可包含适当MUX-DEMUX单元或其它硬件及软件,以处置对共同数据流或单独数据流中的音频及视频两者的编码。在一些实例中,如果适用的话,MUX-DEMUX单元可以符合ITU H.223多路复用器协议,或例如用户数据报协议(UDP)等其它协议。
视频编码器20及视频解码器30各自可实施为多种合适的编码器电路中的任一者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分地用软件实施所述技术时,装置可将用于软件的指令存储在合适的非暂时性计算机可读媒体中且使用一或多个处理器用硬件执行所述指令以执行本发明的技术。视频编码器20及视频解码器30中的每一者可包含在一或多个编码器或解码器中,所述编码器或解码器中的任 一者可集成为相应装置中的组合编码器/解码器(CODEC)的部分。
JCT-VC正在致力于开发HEVC标准。HEVC标准化努力是基于被称作HEVC测试模型(HM)的视频译码装置的演进模型。HM假设视频译码装置根据(例如)ITU-TH.264/AVC相对于现有装置的若干额外能力。举例来说,虽然H.264提供了九种帧内预测编码模式,但是HM可提供多达三十四种帧内预测编码模式。
一般来说,HM的工作模型描述:可将视频帧或图像分割成一或多个切片,所述一或多个切片可被进一步分割成一序列树块或最大译码单元(LCU),所述树块或最大译码单元可被进一步分割成译码单元(CU)。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分裂成4个子CU,那么对应于CU的节点包含4个叶或子节点,所述叶或子节点中的每一者对应于所述子CU中的一者。四叉树数据结构的每一节点可以提供用于相对应的CU的语法数据。举例来说,四叉树中的节点可包含分裂旗标,从而指示对应于所述节点的CU是否分裂成数个子CU。用于CU的语法元素可以递归地来定义,且可以取决于CU是否分裂成数个子CU。如果CU未经进一步分裂,那么可将其称作叶CU。
此外,叶CU的TU还可与相应四叉树数据结构(例如,残余四叉树(RQT))相关 联。也就是说,叶CU可包含指示叶CU如何分割成TU的四叉树。本发明将指示LCU如何分割的四叉树称作CU四叉树且将指示叶CU如何分割成TU的四叉树称作TU四叉树。TU四叉树的根节点一般对应于叶CU,而CU四叉树的根节点一般对应于LCU。TU四叉树的未分裂的TU被称作叶TU。TU可为正方形或非正方形形状。
叶CU可包含一或多个PU。一般来说,PU表示相对应的CU的全部或一部分,且可包含用于检索PU的参考样本的数据。举例来说,当PU经帧内模式编码时,PU可包含描述PU的帧内预测模式的数据。作为另一实例,当PU经帧间模式编码时,PU可包含定义PU的运动向量的数据。举例来说,定义运动向量的数据可以描述运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量指向的参考帧及/或运动向量的参考列表(例如,列表0或列表1)。举例来说,定义PU的叶CU的数据还可描述CU到一或多个PU的分割。分割模式可取决于CU未经译码、经帧内预测模式译码还是经帧间预测模式译码而有所不同。对于帧内译码,可将PU视为与叶TU相同。PU可分割成正方形或非正方形形状。
一般来说,TU用于变换及量化过程。在预测之后,针对由译码节点识别的视频块使用预测性块计算残余数据值。接着更新译码节点以参考除原始视频块之外的残余值。残余值包括像素差值,所述像素差值可变换成变换系数、经量化及经扫描以产生串行化变换系数以用于熵译码。可再次更新译码节点,以参考这些串行化变换係数。
视频序列通常包含一系列视频帧或图片。图片群组(GOP)一般包括一系列一或多个视频图片。GOP可包含GOP的标头、图片中的一或多者的标头或其它地方中的语法数据,其描述GOP中包含的图片的数目。图片的每一切片可包含描述用于相应切片的编码模式的切片语法数据。每一切片被进一步分割成用以编码视频数据的视频块。视频块可以对应于CU内的译码节点。视频块可以具有固定或变化的大小,并且根据指定译码标准可以有不同大小。
作为实例,HM支持各种PU大小的预测。假设特定CU的大小是2N×2N,那么HM支持2N×2N或N×N的PU大小的帧内预测,及2N×2N、2N×N、N×2N或N×N的对称PU大小的帧间预测。HM还支持用于2N×nU、2N×nD、nL×2N及nR×2N的PU大小的帧间预测的不对称分割。在不对称分割中,不分割CU的一个方向,而将另一方向分割成25%及75%。CU的对应于25%分割区的部分通过“n”后接续“上(U)”、“下(D)”、“左(L)”或“右(R)”指示来指示。因此,例如,“2N×nU”是指经水平分割的2N×2N CU,其中顶部为2N×0.5N PU,而底部为2N×1.5N PU。
在本发明中,“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。
为了译码块(例如,视频数据的PU),首先导出用于块的预测值。可通过帧内(I)预测(即,空间预测)或帧间(P或B)预测(即,时间预测)来导出也被称作预测性块的预测值。因此,一些预测单元可使用相对于同一帧(或切片)中的相邻参考块中的参考样本的空间预测来进行帧内译码(I),且其它预测单元可相对于其它先前经译码帧(或切片)中的参考样本块进行单向帧间译码(P)或双向帧间译码(B)。在每一种情况下,参考样本均可用于形成用于待译码块的预测性块。
在识别出预测性块后,便确定原始视频数据块与其预测性块之间的差。此差可被称作预测残余数据,且指示待译码块中的像素值与经选择以表示经译码块的预测性块中的像素样本值之间的像素差。为了实现更好的压缩,可以例如使用离散余弦变换(DCT)、整数变换、卡忽南-拉维(K-L)变换或另一变换对预测残余数据进行变换。
变换块(例如,TU)中的残余数据可以布置在驻留在空间像素域中的像素差值的二维(2D)阵列中。变换将残余像素值转换成变换域(例如,频域)中的变换系数的二维阵列。为了进一步压缩,可以在熵译码之前将变换系数量化。量化一般是指其中将变换系数量化以有可能减少用以表示系数的数据量的过程。量化过程可减少与系数中的一些系数或全部相关联的位深度。举例来说,可在量化期间将n位值向下舍入到m位值,其中n大于m。
为了熵译码经量化的变换系数块,通常执行扫描过程以便根据特定扫描次序将块中的经量化的变换系数的二维(2D)阵列重新布置成变换系数的有序的一维(1D)阵列,即向量。在一些实例中,使用预定义扫描次序来扫描经量化的变换系数以产生可经熵编码的串行化向量。在其它实例中,可执行自适应扫描。
接着将熵译码应用于变换系数的向量。对变换单元中的经量化的变换系数的扫描使得熵译码器的变换系数的2D阵列串行化。可以产生有效性图以指示有效(即,非零)系数的位置。可以应用扫描来扫描有效(即,非零)系数的层级,及/或译码有效系数的正负号。熵译码器将例如上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、概率区间分割熵译码(PIPE)或其类似者等熵译码应用于经扫描的经 量化的变换系数的一维向量。
为了执行CABAC,将上下文模型内的上下文指配给待发射的符号。上下文可涉及(例如)符号的相邻值是否为非零。为了执行CAVLC,针对待发射的符号选择可变长度码。VLC中的码字可经构造而使得相对较短的代码对应于更有可能的符号,而较长的代码对应于不太可能的符号。以此方式,使用VLC可例如实现优于对待发射的每一符号使用等长码字的位节省。概率确定可基于指配给符号的上下文。
在一些情况下,可在译码预测残余块的残余数据之前跳过变换。在一个实例中,可使用变换跳过模式中的有损译码模式译码残余块,其中在译码残余块的残余数据之前未将变换应用于残余块。在此情况下,仍可对残余块的残余数据执行量化。举例来说,HEVC使用语法元素来指示用于TU的变换跳过模式,即,transform_skip_flag语法元素。在另一实例中,可使用无损译码模式译码残余块,其中跳过变换及量化两者以实现残余块中的残余数据的无损译码。举例来说,HEVC使用语法元素来指示用于CU的无损译码模式,即,cu_transquant_bypass_flag语法元素。
在JCTVC-J0093(He,D.等人,“用于变换跳过的残余块的旋转(Rotation ofResidual Block for Transform Skipping)”,ITU-T SG16WP3及ISO/IEC JTC1/SC29/WG11的视频译码联合合作小组(JCT-VC),第10次会议:瑞典斯德哥尔摩,2012年7月11日到20日)中,提议:当在帧内预测模式中跳过用于残余块的变换时,在应用残余数据的熵译码之前,自动地将残余块旋转达180度。在JCTVC-J0053(An,J.等人,“用于帧内变换跳过模式的残余扫描(Residue Scan for Intra Transform Skip Mode)”,ITU-T SG16WP3及ISO/IECJTC1/SC29/WG11的视频译码联合合作小组(JCT-VC),第10次会议:瑞典斯德哥尔摩,2012年7月11日到20日)中,提议了类似想法,其中自动地改变扫描帧内预测残余块中的残余数据(即,像素差值)以用于熵译码的方向以实现相同目的。类似地,在JCTVC-K0294(Weerakkody,R等人,“用于变换跳过的系数的镜射(Mirroring of Coefficients forTransform Skipping)”,ITU-T SG16WP3及ISO/IEC JTC1/SC29/WG11的视频译码联合合作小组(JCT-VC),第11次会议:中国上海,2012年10月10日到19日)中,提议:取决于所使用的扫描,自动地沿着残余块的主对角线或反对角线翻转帧内预测残余块的残余数据。
此外,在无损译码模式中,始终跳过用于残余块的变换。JCTVC-J0093提议将预测残余块达180度的自动旋转扩展到用于帧内预测模式及帧间预测模式两者的无损译码模式。在以下文档中也论述了这些想法中的一些想法:JCTVC-J0468(筑波(Tsukuba)等人,“JCTVC-J0069及JCTVC-J0093的组合(Combination of JCTVC-J0069and JCTVC- J0093)”,ITU-T SG 16WP 3及ISO/IEC JTC 1/SC 29/WG 11的视频译码联合合作小组(JCT-VC),第10次会议:瑞典斯德哥尔摩,2012年7月),及JCTVC-M0333(速尔(Sole)等人,“AhG8:用于筛检内容译码的残余旋转及有效性图上下文(AhG8:Residual rotation and significancemap context for screen content coding)”,ITU-T SG 16WP 3及ISO/IEC JTC 1/SC 29/WG 11的视频译码联合合作小组(JCT-VC),第13次会议,韩国仁川,2013年4月)。还可将JCTVC-J0053及JCTVC-K0294中所提议的方法扩展到用于帧内预测模式及帧间预测模式的无损译码模式。
在帧内译码中,从其执行预测的样本定位于视频块的左侧或顶侧上。随着经预测样本距顶侧及左侧的距离增加,预测误差往往会增加。由于此原因,残余块的右下角处的残余数据样本值通常具有高于左上角处的残余数据样本值的绝对量值的绝对量值。设计变换系数译码(即,熵译码),其中假设较高能量残余数据集中在左上角中。因此,对于帧内预测残余块,当使用变换跳过模式中的有损译码模式时,残余视频块达180度的自动旋转可有效地改善熵译码效率。
然而,在无损模式中译码的残余块可使用帧内预测残余块或帧间预测残余块。对于帧间预测残余块,残余数据并不拥有上文针对帧内预测残余块所描述的性质。可能不会始终需要执行针对帧间预测残余块的达180度的自动旋转。
本发明的技术包含基于用于残余块的变换被跳过,确定在译码残余块的残余数据之前是否旋转残余块。在一些实例中,可明确地在视频编码器20与视频解码器30之间在位流中用信号发出用于残余块的旋转值。在其它实例中,视频编码器20及视频解码器30可各自独立地基于残余块的两个或两个以上边缘处的边界的类型确定是否旋转残余块。
在JCTVC-G281(An,J.等人,“非CE7:用于经帧间预测残余的取决于边界的变换(Non-CE7:Boundary-Dependent Transform for Inter-Predicted Residue)”,ITU-TSG16WP3及ISO/IEC JTC1/SC29/WG11的视频译码联合合作小组(JCT-VC),第7次会议:瑞士日内瓦,2011年11月21日到30日)中,进行关于经帧间预测残余数据的能量的以下观察。对于包括TU的残余块,如果残余块的特定边缘(顶部、底部、左侧或右侧)处的相邻块属于与残余块相同的PU(即,相邻块为属于相同PU的TU),那么特定边缘为TU边界且TU边界处的残余数据通常具有低于残余块的平均残余数据的能量。另一方面,如果残余视频块的特定边缘处的相邻块属于与残余块不同的PU(即,相邻块为属于不同PU的TU),那么特定边缘为PU边界且TU边界处的残余数据通常具有高于残余块的平均残余数据的能量。在本发明中,残余块的边缘处的残余数据的能级与残余 数据的大小(即,残余视频块的边缘处的残余数据样本值的像素差的绝对量值)成比例。
基于上述观察,本发明的技术包含基于残余块的两个或两个以上边缘处的边界的类型旋转具有变换跳过的帧间预测残余块。根据所述技术,包含在视频编码器或视频解码器中的旋转单元确定残余块的两个或两个以上边缘处的边界的类型,且接着基于边缘处的边界的类型确定是否旋转残余块以便将原始残余块的PU边界处的残余数据定位于被旋转的残余块的左上角处。所述技术可以由视频译码器(例如,视频编码器20或视频解码器30)来执行。
在一些实例中,旋转单元确定是将残余块旋转达预定旋转值(例如,180度)还是不旋转残余块。在其它实例中,旋转单元从两个或两个以上旋转值确定将残余块旋转所达的旋转值,例如,0度或不旋转、180度、90度或270度。在编码侧上,所述旋转经选择以在编码残余块的残余数据之前将具有高于平均值的能量的残余数据定位于被旋转的残余块的左上角处以改善熵译码效率。在解码侧上,所述旋转将在编码期间执行的旋转反转且将具有高于平均值的能量的残余数据传回到其在原始残余块中的原始位置以便使用预测性块从残余块重新构造视频块。
图2为说明可实施本发明中描述的技术以确定在编码残余块的残余数据之前是否旋转残余块的实例视频编码器20的框图。视频编码器20可执行视频切片内的视频块的帧内及帧间译码。帧内译码依赖于空间预测来减少或去除给定视频帧或图片内的视频中的空间冗余。帧间译码依赖于时间预测来减少或去除视频序列的邻接帧或图片内的视频中的时间冗余。帧内模式(I模式)可指若干基于空间的压缩模式中的任一者。例如单向预测(P模式)或双向预测(B模式)等帧间模式可指若干基于时间的压缩模式中的任一者。
在图2的实例中,视频编码器20包含分割单元35、预测处理单元41、参考图片存储器64、求和器50、变换处理单元52、量化单元54、旋转单元66及熵编码单元56。预测处理单元41包含运动估计单元42、运动补偿单元44及帧内预测处理单元46。为了视频块重新构造,视频编码器20还包含反量化单元58、反变换处理单元60,及求和器62。还可包含解块滤波器(图2中未图示)以便对块边界进行滤波,以将方块效应假影从经重新构造的视频中去除。必要时,解块滤波器通常将对求和器62的输出进行滤波。除了解块滤波器之外,还可使用额外环路过滤器(环路内或环路后)。
如图2中所展示,视频编码器20接收视频数据,且分割单元35将数据分割成视频块。此分割还可包含分割成切片、图像块或其它较大单元,以及例如根据LCU及CU的四叉树结构的视频块分割。视频编码器20一般说明编码待编码的视频切片内的 视频块的组件。所述切片可以划分成多个视频块(且可能划分成被称作图像块的数组视频块)。预测处理单元41可基于错误结果(例如,译码速率及失真等级)针对当前视频块选择多种可能译码模式中的一者,例如,多种帧内译码模式中的一者或多种帧间译码模式中的一者。预测处理单元41可将所得的经帧内译码或经帧间译码块提供到求和器50以产生残余块数据,且提供到求和器62以重新构造经编码块以用于用作参考图片。
预测处理单元41内的帧内预测处理单元46可相对于与待译码的当前块在相同的帧或切片中的一或多个相邻块执行当前视频块的帧内预测性译码,以提供空间压缩。预测处理单元41内的运动估计单元42及运动补偿单元44相对于一或多个参考图片中的一或多个预测性块执行当前视频块的帧间预测性译码以提供时间压缩。
运动估计单元42可经配置以根据用于视频序列的预定模式确定用于视频切片的帧间预测模式。预定模式可将序列中的视频切片指明为P切片或B切片。运动估计单元42与运动补偿单元44可高度集成,但出于概念目的而分别加以说明。由运动估计单元42执行的运动估计是产生运动向量的过程,所述过程估计视频块的运动。举例来说,运动向量可以指示当前视频帧或图片内的视频块的PU相对于参考图片内的预测性块的位移。
预测性块是被发现在像素差方面与待译码的视频块的PU密切匹配的块,像素差可通过绝对差总和(SAD)、平方差总和(SSD)或其它差异度量来确定。在一些实例中,视频编码器20可以计算存储在参考图片存储器64中的参考图片的子整数像素位置的值。举例来说,视频编码器20可以内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可相对于全像素位置及分数像素位置执行运动搜索并且输出具有分数像素精度的运动向量。
运动估计单元42通过比较经帧间译码切片中的视频块的PU的位置与参考图片的预测性块的位置来计算PU的运动向量。参考图片可选自第一参考图片列表(例表0)或第二参考图片列表(例表1),所述参考图片列表中的每一者识别存储在参考图片存储器64中的一或多个参考图片。运动估计单元42将所计算的运动向量发送到熵编码单元56及运动补偿单元44。
由运动补偿单元44执行的运动补偿可以涉及基于通过运动估计(有可能执行对子像素精度的内插)确定的运动向量提取或产生预测性块。在接收到当前视频块的PU的运动向量后,运动补偿单元44便可以在参考图片列表中的一者中定位所述运动向量指向的预测性块。视频编码器20通过从正被译码的当前视频块的像素值减去预测性块的像素值从而形成像素差值来形成残余视频块。像素差值形成所述块的残余数据,且可包 含明度及色度差分量两者。求和器50表示执行此减法运算的一或多个组件。运动补偿单元44还可产生与视频块及视频切片相关联的供视频解码器30在解码视频切片的视频块时使用的语法元素。
作为如上文所描述的由运动估计单元42及运动补偿单元44执行的帧间预测的替代方案,帧内预测处理单元46可以对当前块进行帧内预测。明确地说,帧内预测处理单元46可以确定用以编码当前块的帧内预测模式。在一些实例中,帧内预测处理单元46可(例如)在单独编码遍次期间使用各种帧内预测模式编码当前块,且帧内预测处理单元46可从经测试模式中选择适当帧内预测模式来使用。举例来说,帧内预测处理单元46可以使用速率失真分析计算用于各种经测试帧内预测模式的速率失真值,并且从所述经测试模式当中选择具有最佳速率失真特性的帧内预测模式。速率失真分析一般确定经编码块与经编码以产生所述经编码块的原始的未经编码块之间的失真(或误差)的量,以及用于产生经编码块的位速率(也就是说,位数目)。帧内预测处理单元46可以从用于各种经编码块的失真及速率计算比率,以确定哪个帧内预测模式对于所述块展现最佳速率失真值。
在任何情况下,在选择用于块的帧内预测模式之后,帧内预测处理单元46可将指示用于块的选定帧内预测模式的信息提供到熵译码单元56。熵译码单元56可根据本发明的技术编码指示所述选定帧内预测模式的信息。视频编码器20可在所发射的位流中包含配置数据,所述配置数据可包含多个帧内预测模式索引表及多个修改的帧内预测模式索引表(还被称作码字映射表)、编码用于各种块的上下文的定义,及用于所述上下文中的每一者的最可能的帧内预测模式、帧内预测模式索引表及修改的帧内预测模式索引表的指示。
在预测处理单元41经由帧间预测或帧内预测产生用于当前视频块的预测性块之后,视频编码器20通过从当前视频块减去所述预测性块而形成残余视频块。残余视频块中的残余数据包括待译码的当前视频块与预测性块之间的像素差值。残余视频块可包括包含用于视频块的残余数据的至少一部分的一或多个TU。当使用有损译码模式译码视频块时,将残余块中的每一者施加到变换处理单元52。变换处理单元52使用例如离散余弦变换(DCT)或概念上类似的变换等变换将残余数据变换成残余变换系数。变换处理单元52可将残余视频数据从像素域转换到变换域,例如频域。
变换处理单元52可将所得变换系数发送到量化单元54。量化单元54可将所述变换系数量化以进一步减小位速率。量化过程可减少与系数中的一些系数或全部相关联的位深度。可通过调整量化参数来修改量化程度。在一些实例中,量化单元54可以接 着执行对包含经量化的变换系数的矩阵的扫描。替代地,熵编码单元56可以执行所述扫描。
当使用变换跳过模式中的有损译码模式译码视频块时,并不将变换应用于残余块。此外,当使用无损译码模式译码视频块时,既不对残余块应用变换也不对残余块应用量化。根据本发明的技术,当跳过用于残余块的变换时,将残余块施加到旋转单元66。在此情况下,残余数据保持在像素域中且包括空间像素位置处的像素差值。此情形与以下情形形成对比:使用变换处理单元52将残余数据转换到变换域作为对应于频率分量的位置处的变换系数。
旋转单元66确定是否旋转残余块以将具有高于平均值的能量(即,较大像素差值)的残余数据定位于残余块的左上角中。高能量残余数据的移位通常由于由变换处理单元52执行的变换过程而发生。然而,当跳过变换时,可能需要旋转残余块,这是因为熵编码单元56是基于高能量残余数据将集中在经变换的残余块的左上角处的假设而设计。
在帧内预测残余块的情况下,旋转单元66可自动地将残余块旋转达180度以便将具有高于平均值的能量的残余数据定位于残余块的左上角处。当跳过用于帧内预测残余块的变换时,高能量残余数据通常集中在右下角处以使得180度旋转将改善熵译码效率。在帧间预测残余块的情况下,高能量残余数据可集中在残余块内的任何位置处。在所述情况下,旋转单元66可首先确定是否旋转残余块且接着,基于所述确定,将残余块旋转达所确定旋转值或并不旋转残余块。在一些实例中,旋转单元66可在逆时针方向上将所确定的旋转值应用于残余块。下文关于图5到8更详细地描述用于确定是否旋转帧间预测残余块的实例操作。
对于变换跳过模式中的有损译码模式,在由熵编码单元56进行熵编码之前,旋转单元66将被旋转的残余块发送到量化单元54以用于实现进一步压缩。在一些情况下,可在确定是否通过旋转单元66旋转残余块之前将残余块发送到量化单元54。对于无损译码模式,旋转单元66将被旋转的残余块直接发送到熵编码单元56以用于在无任何进一步压缩的情况下实现熵编码。
熵编码单元56熵编码残余系数,例如,经量化的变换系数、经量化的残余系数或未经压缩的残余系数。举例来说,熵编码单元56可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵译码方法或技术。在由熵编码单元56进行熵编码之后,可以将经编码位流发射到例如视频解码器30等视频解码 器,或将经编码位流存档以用于稍后由视频解码器发射或检索。熵编码单元56还可熵编码正被译码的当前视频切片的运动向量及其它语法元素。
反量化单元58及反变换处理单元60分别将反量化及反变换应用于经量化的变换系数以便在像素域中重新构造残余块以用于稍后用作参考图片的参考块。对于变换跳过模式中的有损译码模式,反量化单元58将反量化应用于经量化的残余系数且旋转单元66执行反向旋转以将高能量残余数据传回到其原始位置以便重新构造残余块。在一些情况下,可在通过反量化单元58执行反量化之前,将经量化的残余系数发送到旋转单元66以执行反向旋转。对于无损译码模式,旋转单元66执行残余系数的反向旋转以将高能量残余数据传回到其原始位置以便重新构造残余块。
运动补偿单元44可接着通过将经重新构造的残余块加到参考图片列表中的一者内的参考图片中的一者的预测性块来计算参考块。运动补偿单元44还可将一或多个内插滤波器应用于经重新构造的残余块以计算子整数像素值以用于运动估计。求和器62将经重新构造的残余块加到由运动补偿单元44产生的经运动补偿的预测块以产生参考块以用于存储在参考图片存储器64中。参考块可供运动估计单元42及运动补偿单元44用作参考块以对后续视频帧或图片中的块进行帧间预测。
视频编码器20可经配置以执行本发明的技术,包含跳过用于残余块的变换,及确定是否旋转残余块。视频编码器20的旋转单元66可确定是否旋转残余块。在一些实例中,旋转单元66基于熵编码残余块所需的位数确定是否旋转残余块。举例来说,旋转单元66可基于产生用于熵编码的最低位数的旋转值确定是否旋转残余块。在其它实例中,旋转单元66可基于残余块的两个或两个以上边缘处的边界的类型确定是否旋转残余块。
当旋转残余块时,视频编码器20的旋转单元66可确定是否将残余块旋转达预定旋转值,或可确定将残余块旋转所达的旋转值。在任一情况下,视频编码器20接着在通过熵编码单元56编码残余块的残余数据之前,将残余块旋转达所确定的旋转值。下文关于图5到8更详细描述用于基于残余块的边缘处的边界的类型确定是否旋转帧间预测残余块的实例操作。
在一些实例中,视频编码器20可仅用信号发出变换跳过是否用于残余块,即,是使用变换跳过模式中的无损译码模式还是使用有损译码模式来编码残余块。在此情况下,视频解码器可使用确定残余块的边缘处的边界的类型的相同操作来确定是否旋转残余块,以将在编码期间执行的旋转反转以便从残余块重新构造视频块。在其它实例中,视频编码器20可将在编码期间应用于残余块的旋转的旋转值用信号发出到视频解 码器。在此情况下,视频解码器可基于用信号发出的旋转值旋转残余块以将在编码期间执行的旋转反转以便从残余块重新构造视频块。
在一些额外实例中,视频编码器20经配置以执行本发明的技术,包含在残余块的大小小于或等于阈值块大小时,跳过用于残余块的变换及旋转残余块。阈值块大小可等于在有损译码模式中允许进行变换跳过及旋转所针对的块大小。以此方式,对于使用变换跳过模式中的无损译码模式或有损译码模式译码的残余块,可执行旋转所针对的块大小对准,即,相同。此技术可适用于帧间预测残余块及帧内预测残余块两者。
此外,视频编码器20可经配置以执行本发明的技术,包含在残余块的大小小于或等于阈值块大小时,跳过用于残余块的变换,及沿着残余块的对角线翻转残余数据样本值。翻转残余块的残余数据样本值包含交换残余块的对角线的一侧上的残余数据样本值与对角线的另一侧上的相对应的镜像位置处的残余数据样本值。此技术还可适用于帧间预测残余块及帧内预测残余块两者。
在一些实例中,在无损译码模式的情况下,可将旋转或翻转仅应用于大小小于或等于阈值块大小的帧内预测残余块。在其它实例中,可将旋转或翻转应用于大小小于或等于阈值块大小的所有残余块,即,帧内预测及帧间预测残余块。在额外实例中,在变换跳过模式中的有损译码模式的情况下,可将旋转或翻转仅应用于帧内预测残余块,或可将旋转或翻转应用于帧内预测及帧间预测残余块两者。
图3为说明可实施本发明中描述的技术以确定在从残余块的残余数据重新构造视频块之前是否旋转残余块的实例视频解码器30的框图。在图3的实例中,视频解码器30包含熵解码单元80、预测处理单元81、反量化单元86、反变换单元88、旋转单元94、求和器90及参考图片存储器92。预测处理单元81包含运动补偿单元82及帧内预测处理单元84。在一些实例中,视频解码器30可执行一般与关于图2的视频编码器20描述的编码遍次互逆的解码遍次。
在解码过程期间,视频解码器30从视频编码器(例如,视频编码器20)接收经编码视频位流,所述经编码视频位流表示经编码视频切片的视频块及相关联的语法元素。视频解码器30的熵解码单元80对位流进行熵解码以产生残余系数、运动向量及其它语法元素。熵解码单元80将运动向量及其它语法元素转发到预测处理单元81。视频解码器30可以接收视频切片等级及/或视频块等级的语法元素。
当视频切片经译码为经帧内译码(I)切片时,预测处理单元81的帧内预测处理单元84可基于用信号发出的帧内预测模式及来自当前帧或图片的先前经解码块的数据产生用于当前视频切片的视频块的预测数据。当视频帧经译码为经帧间译码(即,B或P)切 片时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收的运动向量及其它语法元素产生用于当前视频切片的视频块的预测性块。可以从参考图片列表中的一者内的参考图片中的一者产生预测性块。视频解码器30可以基于存储在参考图片存储器92中的参考图片使用默认构造技术构造参考帧列表(例表0及列表1)。
运动补偿单元82通过剖析运动向量及其它语法元素确定用于当前视频切片的视频块的预测信息,并且使用所述预测信息产生用于经解码的当前视频块的预测性块。举例来说,运动补偿单元82使用所接收语法元素中的一些语法元素确定用于译码视频切片的视频块的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,B切片或P切片)、切片的参考图片列表中的一或多者的构造信息、切片的每一经帧间编码的视频块的运动向量、切片的每一经帧间译码的视频块的帧间预测状态,及用以解码当前视频切片中的视频块的其它信息。
运动补偿单元82还可基于内插滤波器执行内插。运动补偿单元82可使用如由视频编码器20在编码视频块期间使用的内插滤波器来计算参考块的子整数像素的内插值。在此情况下,运动补偿单元82可从所接收的语法元素确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生预测性块。
如上文所描述,熵解码单元80对位流进行熵解码以产生视频块的残余系数,例如,经量化的变换系数、经量化的残余系数或未经压缩的残余系数。当使用有损译码模式译码视频块时,反量化单元86将位流中所提供的残余块的经量化的变换系数反量化(即,解量化)。所述反量化过程可包含使用针对视频切片中的每一视频块计算的用以确定量化程度及同样的应应用的反量化程度的量化参数。反变换处理单元88将例如反DCT、反整数变换或概念上类似的反变换过程等反变换应用于变换系数,以便重新构造像素域中的残余块。
当使用变换跳过模式中的有损译码模式译码视频块时,并不将反变换应用于残余块。此外,当使用无损译码模式译码视频块时,既不对残余块应用反变换也不对残余块应用解量化。根据本发明的技术,当跳过用于残余块的残余系数的反变换时,将残余块施加到旋转单元94。在此情况下,残余数据保持在像素域中且包括空间像素位置处的像素差值。此情形与以下情形形成对比:使用反变换处理单元88将残余数据从变换域转换作为对应于频率分量的位置处的变换系数。
旋转单元94可旋转残余块,以便将在编码期间执行的旋转反转,使得具有高于平均值的能量的经定位的残余数据(即,较大像素差值)位于所述残余块的左上角处。高能量残余数据回到其原始位置的移位通常由于由反变换处理单元88执行的反变换过程而 发生。然而,当跳过反变换时,可能有必要旋转残余块以使用预测性块适当地重新构造视频块。
对于变换跳过模式中的有损译码模式,反量化单元86将反量化应用于在位流中提供的残余块的经量化的残余系数以用于解压缩。旋转单元94接着执行旋转以将在编码期间执行的旋转反转且将高能量残余数据传回到其原始位置以便重新构造残余块。在一些情况下,可在通过反量化单元86执行反量化之前,将经量化的残余系数发送到旋转单元94以执行反向旋转。对于无损译码模式,旋转单元94直接接收在位流中提供的残余块的残余系数而不进行任何解压缩。旋转单元94接着执行旋转以将在编码期间执行的旋转反转且将高能量残余数据传回到其原始位置以便重新构造残余块。以此方式,将像素差值旋转回到相对应的像素的原始空间位置。
在具有变换跳过的帧内预测残余块的情况下,高能量残余数据通常集中在右下角处以使得编码期间的180度旋转将改善熵译码效率。在此情况下,旋转单元94可自动地将帧内预测残余块旋转达180度以将具有高于平均值的能量的残余数据传回到其在原始残余块的右下角处的位置。
在帧间预测残余块的情况下,高能量残余数据可集中在残余块内的任何位置处。在此情况下,旋转单元94首先确定是否旋转残余块且接着,基于所述确定,将残余块旋转达所确定旋转值或并不旋转残余块。为了将在编码期间对残余块执行的旋转反转,旋转单元94确定是否旋转残余块,但在与来自图2的视频编码器20的旋转单元66相反的方向上应用所确定的旋转值,例如,在与逆时针方向形成对比的顺时针方向上。
在运动补偿单元82基于运动向量及其它语法元素产生当前视频块的预测性块之后,视频解码器30通过将经重新构造的残余块与由运动补偿单元82产生的相对应的预测性块加总来形成经解码视频块。更具体来说,将残余块的像素差值与相对应的预测性块的相对应的预测性像素值加总。此加总过程是针对明度及色度块两者执行以便重新构造整个视频块。求和器90表示执行此加总运算的一或多个组件。必要时,还可应用解块滤波器以对经解码块进行滤波以便去除方块效应假影。还可使用其它环路滤波器(在译码环路中或在译码环路之后)来使像素转变变平滑或者以其它方式改善视频质量。接着将给定帧或图片中的经解码视频块存储在参考图片存储器92中,参考图片存储器92存储用于后续运动补偿的参考图片。参考图片存储器92还存储经解码视频以供稍后呈现在显示装置(例如,图1的显示装置32)上。
视频解码器30可经配置以执行本发明的技术,包含跳过用于残余块的反变换,及确定是否旋转残余块。视频解码器30的旋转单元94可确定是否旋转残余块。在一些实例中,旋转单元94基于位流中指示在视频编码器20处使用的残余块的旋转值的语法元素确定是否旋转残余块。在其它实例中,旋转单元94可基于残余块的两个或两个以上边缘处的边界的类型确定是否旋转残余块。
当旋转残余块时,视频解码器30的旋转单元94可确定是否将残余块旋转达预定旋转值,或可确定将残余块旋转所达的旋转值。在任一情况下,视频解码器30接着在使用预测性块从残余块重新构造视频块之前将残余块旋转达所确定的旋转值。下文关于图5到8更详细描述用于基于残余块的边缘处的边界的类型确定是否旋转帧间预测残余块的实例操作。
在一些实例中,视频解码器30可接收仅指示变换跳过是否用于残余块的语法元素,即,是使用变换跳过模式中的无损译码模式还是使用有损译码模式来编码残余块。在此情况下,旋转单元94使用与视频编码器20确定残余块的边缘处的边界的类型的操作相同的操作来确定是否旋转残余块,以将在编码期间执行的旋转反转以便从残余块重新构造视频块。在其它实例中,视频解码器30可接收指示在编码期间应用于残余块的旋转的旋转值(例如,0度、90度、180度或270度)的语法元素。在此情况下,旋转单元94可基于用信号发出的旋转值旋转残余块以将在编码期间执行的旋转反转,例如,通过在相反方向上旋转0度、90度、180度或270度,以便从残余块重新构造视频块。下文关于图5到8更详细地描述用于确定是否旋转帧间预测残余块的实例操作。
在一些额外实例中,视频解码器30经配置以执行本发明的技术,包含在残余块的大小小于或等于阈值块大小时,跳过用于残余块的变换及旋转残余块。阈值块大小可等于在有损译码模式中允许进行变换跳过及旋转所针对的块大小。以此方式,对于使用变换跳过模式中的无损译码模式或有损译码模式译码的残余块,可执行旋转所针对的块大小对准,即,相同。此技术可适用于帧间预测残余块及帧内预测残余块两者。
此外,视频解码器30可经配置以执行本发明的技术,包含在残余块的大小小于或等于阈值块大小时,跳过用于残余块的变换,及沿着残余块的对角线翻转残余数据样本值。翻转残余块的残余数据样本值包含交换残余块的对角线的一侧上的残余数据样本值与对角线的另一侧上的相对应的镜像位置处的残余数据样本值。此技术可适用于帧间预测残余块及帧内预测残余块两者。
在一些实例中,在无损译码模式的情况下,可将旋转或翻转仅应用于大小小于或等于阈值块大小的帧内预测残余块。在其它实例中,可将旋转或翻转应用于大小小于 或等于阈值块大小的所有残余块,即,帧内预测及帧间预测残余块。在额外实例中,在变换跳过模式中的有损译码模式的情况下,可将旋转或翻转仅应用于帧内预测残余块,或可将旋转或翻转应用于帧内预测及帧间预测残余块两者。
图4为说明根据运动预测模式分割成一或多个PU 102、104及根据四叉树数据结构分割成多个TU 110、112、114、116的残余块的CU 100的框图。在图4中,将PU边界说明为围绕PU 102及104的边缘的粗体实线。PU边界包括属于不同PU的两个TU之间的边界,例如,PU102内的TU 110与PU 104内的TU 114之间的边界。在图4中,将TU边界说明为PU 102内的TU110与TU 112之间及PU 104内的TU 114与TU 116之间的粗体短划线。TU边界包括属于同一PU的两个TU之间的边界,例如,PU 102内的TU 110与TU 112之间的边界。
一般来说,本发明描述用于译码具有变换跳过的预测残余块(例如,TU 112)的残余数据的技术。TU 112的残余数据包括视频块的一部分与相关联的预测块之间的像素差值。当使用变换跳过模式中的无损译码模式或有损译码模式译码TU 112时,可跳过用于TU112的变换。在未将变换应用于TU 112时,具有高于平均值的能量的残余数据(即,较大像素差值)可能并不定位于TU 112的左上角处,所述情形为熵译码所期望的。
在帧内预测模式中,当跳过用于残余块的变换时,具有高于平均值的能量的残余数据通常定位于帧内预测残余块的右下角处。在一些情况下,可在译码残余块之前自动地将帧内预测残余块旋转达180度以便将具有高于平均值的能量的残余数据定位于残余块的左上角处。然而,在帧间预测模式中,可能不会始终需要自动地将残余块旋转达180度。
做出关于帧间预测残余块的残余数据的能量的以下观察。帧间预测残余块的TU边界处的残余数据通常具有低于残余块中的平均残余数据的能量。另外,帧间预测残余块的PU边界处的残余数据通常具有高于残余块中的平均残余数据的能量。基于此观察,本发明的技术包含基于TU 112的两个或两个以上边缘处的边界的类型旋转具有变换跳过的帧间预测残余块(例如,TU 112)。
根据本发明的技术,当跳过用于TU 112的变换时,旋转单元(例如,来自图2的视频编码器20的旋转单元66或来自图3的视频解码器30的旋转单元94)可确定TU 112的两个或两个以上边缘处的边界的类型,且接着确定是否旋转TU 112以便将TU 112的原始版本的PU边界处的残余数据定位于TU 112的被旋转的版本的左上角处。在一些情况下,可仅将所述技术应用于使用变换跳过模式中的无损译码模式或有损译码模 式译码的帧间预测残余块。在所述情况下,可在译码残余视频块中的残余数据之前自动地将使用变换跳过模式中的无损译码模式或有损译码模式译码的经帧内预测的残余块旋转达180度。在其它情况下,还可将所述技术应用于使用变换跳过模式中的无损译码模式或有损译码模式译码的帧间预测及帧内预测残余块两者。
在一些实例中,所述技术包含确定是将TU 112旋转达预定旋转值(例如,180度)还是不旋转TU 112。在其它实例中,所述技术包含从两个或两个以上旋转值中确定将TU 112旋转所达的旋转值,例如,0度或不旋转、180度、90度或270度。在编码侧上,执行旋转以在编码TU 112的残余数据之前将具有高于平均值的能量的残余数据定位于TU 112的被旋转的版本的左上角处以改善熵译码效率。在一些情况下,可在编码侧上在逆时针方向上执行旋转。在解码侧上,执行旋转以将在编码期间执行的旋转反转且将具有高于平均值的能量的残余数据传回到其在TU 112中的原始位置以便使用预测性块从TU 112重新构造视频块。在一些情况下,可在解码侧上在顺时针方向上执行旋转。
在本发明的技术的第一实例中,在译码帧内预测残余块的残余数据之前,自动地将跳过变换的所述残余块旋转达180度。相反地,不管是否跳过变换,均不对帧间预测残余块(例如,TU 112)应用旋转。
在本发明的技术的第二实例中,可将残余块旋转达180度或不旋转残余块,这取决于残余块的边缘处的边界的类型。将旋转限于0度或180度可能为合乎需要的,这是因为难以在硬件中实施达90度或270度的旋转(因为可能需要转置缓冲器)。一般来说,如果残余块的左侧及顶部边缘为PU边界(例如,TU 110),那么左上角中的残余数据很可能具有高于TU110中的平均残余数据的能量。在所述情况下,TU 110达180度的旋转可能为不合乎需要的,这是因为高能量残余数据已经集中在TU 110的左上角处。因此,视频译码装置可确定不执行TU 110的旋转。然而,如果残余块的左侧及顶部边缘为TU边界且残余视频块的右侧及底部边缘为PU边界,那么达180度的旋转可能为合乎需要的,以便将高能量残余数据定位于残余块的被旋转的版本的左上角中。因此,视频译码装置可确定将所述残余块旋转达180度。
根据本发明的技术,视频译码装置的旋转单元可将残余块的每一边缘分类为PU边界或TU边界。旋转单元接着应用规则来确定是否将残余块旋转达180度。如果残余块的右侧及底部边缘上的PU边界的数目大于残余块的左侧及顶部边缘上的PU边界的数目,那么旋转单元确定将残余块旋转达180度。下文的表1展示将执行达180度的旋转所针对的边缘分类的组合。对于剩余组合,视频译码装置的旋转单元确定不对残余 块执行旋转。在左侧及顶部边缘的PU边界的数目等于残余块的底部及右侧边缘处的PU边界的数目的情况下,视频译码装置的旋转单元可确定将残余块旋转达180度或不旋转残余块。
表1
作为实例,视频译码装置的旋转单元可基于TU 112的每一边缘处的边界的类型确定是否将TU 112的残余块旋转(例如)达180度。旋转单元确定TU 112的左侧边缘及顶部边缘处的PU边界的第一数目等于一个PU边界,即,顶部边缘。旋转单元还确定TU 112的右侧边缘及底部边缘处的PU边界的第二数目等于两个PU边界,即,右侧边缘与底部边缘两者。在此情况下,PU边界的第二数目大于PU边界的第一数目,因此旋转单元确定在译码TU 112的残余数据之前将TU 112旋转达180度。
在本发明的技术的第三实例中,视频译码装置的旋转单元可考虑用于每一残余视频块的高达4个可能的旋转值,即,0度或不旋转、180度、90度及270度。在一些情况下,旋转单元可能仅考虑所述旋转值中的两者,例如0度及180度,这是因为难以在硬件中实施达90度或270度的旋转(因为可能需要转置缓冲器)。因此,在此实例中,仅考虑不旋转或达180度的旋转。
在应用旋转值(0度、180度、90度及270度)中的每一者之后,旋转单元针对所述旋转值中的相应旋转值计算残余块的左侧及顶部边缘处的PU边界的数目。假设PU边界的这些数目用n0、n180、n90及n270来表示。类似地,在应用旋转值(0度、180度、90度及270度)中的每一者之后,旋转单元针对所述旋转值中的相应旋转值计算残余块的右侧及底部边缘处的PU边界的数目。假设PU边界的这些数目用m0、m180、m90及m270来表示。可在编码侧上在逆时针方向上执行旋转,且可在解码侧上在顺时针方向上执行旋转。
根据这些技术,视频译码装置的旋转单元接着针对所述旋转值中的每一者计算残余块的左侧及顶部边缘处及残余块的右侧及底部边缘处的PU边界的数目之间的差值,即,d0=(n0-m0),d90=(n90-m90),d180=(n180-m180),且d270=(n270-m270)。旋转单元从用于所 有旋转值的差值d0、d90、d180及d270中确定最大差值。视频译码装置的旋转单元接着确定将残余块旋转达对应于最大差值的旋转值。
如果所述差值中的两者或两者以上等于最大差值,那么旋转单元可根据预定次序选择待应用于残余块的旋转值。预定次序的一个实例为:不旋转、旋转达180度、旋转达90度,及旋转达270度。在此实例中,如果d0、d90及d180皆等于最大差值,那么不对残余块应用旋转。如果d90及d180两者等于最大差值,那么将180度的旋转值应用于残余块。在其它实例中,可使用在最大值约束的情况下选择旋转的不同次序。下文表2展示原始残余块的边界类型与用于残余块的所得旋转值的两种组合。
表2
作为实例,视频译码器的旋转单元可基于TU 112的每一边缘处的边界的类型确定是否将TU 112的残余视频块旋转(例如)达0度、180度、逆时针的90度或逆时针的270度。旋转单元针对所述旋转值中的每一者确定TU 112的左侧边缘及顶部边缘处的PU边界的第一数目以使得n0=1,n180=2,n90=2,且n270=1。旋转单元接着针对所述旋转值中的每一者确定TU 112的右侧边缘及底部边缘处的PU边界的第二数目以使得m0=2,m180=1,m90=1且m270=2。
旋转单元接着针对所述旋转值中的每一者计算PU边界的第一数目与PU边界的第二数目之间的差值以使得d0=-1,d180=1,d90=1,且d270=-1。旋转单元接下来确定TU112的所有旋转值的不同差值中的最大差值等于d180及d90,其均等于1。在约束的情况下,根据上文所描述的预定次序,优先于90度选择180度的旋转值。视频译码装置的旋转单元接着确定在译码残余视频块中的残余数据之前将残余块旋转达具有最大差值的旋转值,在此情况下,所述差值为180度。
图5为说明视频编码器确定在编码残余块的残余数据之前是否旋转残余块的示例性操作的流程图。所述操作是关于来自图2的视频编码器20加以描述。视频编码器20在帧间预测模式中使用来自运动补偿单元44的预测性块从视频块计算残余块(120)。在一些实例中,可使用无损译码模式译码残余块,其中始终跳过用于残余块的变换及量化两者。在其它实例中,可使用变换跳过模式中的有损译码模式译码残余块,其中仅跳过用于残余块的变换。
响应于选择使用变换跳过译码残余块,视频编码器20跳过执行变换处理单元52处的用于残余块的变换(122)。作为一个实例,视频编码器20可编码语法元素(即,cu_transquant_bypass_flag),其指示是否使用无损译码模式译码残余块,其中始终跳过用于残余块的变换及量化两者。在另一实例中,视频编码器20可编码语法元素(即,transform_skip_flag),其指示是否使用变换跳过模式,其中在使用有损译码模式译码残余块期间,仅跳过变换。
根据所述技术,当跳过用于残余块的变换时,视频编码器20的旋转单元66确定残余块的每一边缘处的边界的类型(124)。残余块的特定边缘处的边界的类型指示通常可见于残余块的特定边缘处的残余数据的能级。旋转单元66接着基于每一边缘处的边界的类型确定是否旋转残余块(126)。旋转单元66可确定旋转残余块以便将具有高于平均值的能量的残余数据定位于残余块的左上角处以改善熵译码效率。
当旋转单元66确定旋转残余块时(128的是分支),旋转单元66将残余块旋转达所确定的旋转值(130)。在一些情况下(关于图7更详细加以描述),所确定的旋转值可为静态的预定旋转值,例如180度。在其它情况下(关于图8更详细地加以描述),旋转单元66可从多个旋转值中确定将残余块旋转所达的旋转值。多个旋转值可包含180度、逆时针的90度或逆时针的270度。
当旋转单元66确定不旋转残余块时(128的否分支),旋转单元66并不旋转残余块。不管旋转单元66是否旋转残余块,熵编码单元56均编码残余块的残余数据(132)。在一些情况下(例如,变换跳过模式中的有损译码模式),在由熵编码单元56进行熵编码之前,可使用量化单元54将残余块的残余数据量化。还可能有可能在确定是否使用旋转单元66旋转残余块之前使用量化单元54将残余块的残余数据量化。在其它情况下(例如,无损译码模式),跳过变换及量化两者且直接由熵编码单元56熵编码残余块的残余数据而不进行任何进一步压缩。
替代地,不是确定残余块的边缘中的每一者处的边界的类型及基于边缘处的边界的类型确定是否旋转,而是旋转单元66可基于熵编码残余块所需的位数确定是否旋转残余块。在此情况下,旋转单元66可将一或多个旋转值应用于残余块且针对每一旋转值确定熵编码被旋转的残余块中所包含的经量化的残余系数所需的位数。旋转单元66可接着基于产生用于熵编码的最低位数的旋转值确定是否旋转残余块。
在此替代实例中,熵编码单元56可编码指示是否旋转残余块的语法元素。视频解码器并不存取相同信息以确定是否旋转或用于残余块的旋转值。因此,需要明确地在位流中用信号发出旋转值。在仅两个可能的旋转值(即,0度或不旋转及180度)的情况 下,一位足以用信号发出旋转值。熵编码单元56可使用上下文或在绕过模式中对位进行CABAC译码。在4个可能的旋转值(即,0度、180度、逆时针的90度或逆时针的270度)的情况下,可使用两位来用信号发出旋转值。熵编码单元56可使用上下文或在绕过模式中对两位进行CABAC译码。
图6为说明视频解码器确定在从残余块的残余数据重新构造视频块之前是否旋转残余块的示例性操作的流程图。所述操作是关于来自图3的视频解码器30加以描述。视频解码器30的熵解码单元80解码残余块的残余数据及来自从视频编码器接收的视频块的位流的相关联的语法元素(140)。作为一个实例,语法元素(即,cu_transquant_bypass_flag)指示是否使用无损译码模式译码残余块,其中始终跳过用于残余块的变换及量化两者。在另一实例中,语法元素(即,transform_skip_flag)指示是否使用变换跳过模式,其中在使用有损译码模式译码残余块期间,仅跳过变换。
在一些情况下(例如,变换跳过模式中的有损译码模式),在旋转残余块及从残余块的残余数据重新构造视频块之前,使用反量化单元86将残余块的残余数据解量化。还可能有可能确定在使用反量化单元86将残余块的残余数据解量化之前是否使用旋转单元94旋转残余块。在其它情况下(例如,无损译码模式),跳过解量化及反变换两者且使用残余块的残余数据直接重新构造视频块而不进行任何进一步解压缩。
视频解码器30基于通过相关联的语法元素指示的变换跳过跳过执行反变换处理单元88处的残余块的反变换(142)。根据所述技术,当跳过用于残余块的反变换时,视频解码器30的旋转单元94确定残余块的每一边缘处的边界的类型(144)。旋转单元94接着基于每一边缘处的边界的类型确定是否旋转残余块(146)。旋转单元94可确定旋转残余块以便将在编码期间执行的残余块的旋转反转以便将具有高于平均值的能量的残余数据定位于残余块的左上角处以改善熵译码效率。
当旋转单元94确定旋转残余块时(148的是分支),旋转单元94将残余块旋转达所确定的旋转值(150)。在一些情况下(关于图7更详细加以描述),所确定的旋转值可为静态的预定旋转值,例如180度。在其它情况下(关于图8更详细地加以描述),旋转单元94可从多个旋转值中确定将残余块旋转所达的旋转值。多个旋转值可包含180度、顺时针的90度或顺时针的270度,例如,在其中视频编码器在逆时针方向上执行旋转的情况下。
当旋转单元94确定不旋转残余块时(148的否分支),旋转单元94并不旋转残余块。不管旋转单元94是否旋转残余块,视频解码器30均在帧间预测模式中使用来自运动补偿单元82的预测性块从残余块重新构造视频块(152)。
替代地,不是确定残余块的边缘中的每一者处的边界的类型及基于边缘处的边界的类型确定是否旋转,而是旋转单元94可基于指示是否将残余块旋转达明确地用信号发出的旋转值的语法元素确定是否旋转残余块。在此情况下,视频编码器可基于熵编码残余块所需的位数确定是否旋转残余块。举例来说,视频编码器可基于产生用于熵编码的最低位数的旋转值确定是否旋转残余块,且明确地将旋转值用信号发出到视频解码器30。
在此替代实例中,熵解码单元80可解码指示是否旋转残余块的语法元素。视频解码器30并不存取与视频编码器相同的信息以确定是否旋转或用于残余块的旋转值。因此,需要明确地在位流中用信号发出旋转值。在仅两个可能的旋转值(即,0度或不旋转及180度)的情况下,一位足以用信号发出旋转值。熵解码单元80可使用上下文或在绕过模式中对位进行CABAC译码。在4个可能的旋转值(即,0度、180度、顺时针的90度或顺时针的270度)的情况下,可使用两位来用信号发出旋转值。熵解码单元80可使用上下文或在绕过模式中对两位进行CABAC译码。
图7为说明基于残余块的边缘处的边界的类型确定是否将残余块旋转达预定旋转值的一个实例操作的流程图。所说明的操作为基于边缘处的边界的类型确定是否旋转残余块的来自图5的步骤126及来自图6的步骤146的更详细实例。
当跳过用于残余块的变换时(例如,变换跳过模式中的无损译码模式或有损译码模式),可通过在编码期间旋转残余块以便将具有高于平均值的能量的残余数据定位于残余块的左上角处来改善熵译码效率。在解码期间,需要将在编码期间执行的旋转反转以便在帧间预测模式中使用预测性块从残余块适当地重新构造视频块。
在帧间预测模式中,如果残余块的特定边缘为同一PU内的两个TU之间的TU边界,那么残余块的TU边界处的残余数据通常具有低于残余块中的平均残余数据的能量。另外,如果残余块的特定边缘为不同PU中的两个TU之间的PU边界,那么残余块的PU边界处的残余数据通常具有高于残余块中的平均残余数据的能量。基于此观察,图7中所说明的技术使用残余块的边缘处的边界的类型来确定是否将残余块旋转达预定旋转值(例如,180度),以将原始残余块的PU边界处的残余数据定位于被旋转的残余块的左上角处。在编码侧上,此旋转将具有高于平均值的能量的残余数据定位于被旋转的残余块的左上角处以改善熵译码效率。在解码侧上,此旋转将在编码期间执行的旋转反转且将具有高于平均值的能量的残余数据传回到其在原始残余块中的原始位置。
图7中所说明的操作将关于来自图2的视频编码器20的旋转单元66加以描述。 在其它实例中,相同操作还可由来自图3的视频解码器30的旋转单元94来执行。在所说明的操作中,旋转单元66可将残余块旋转达预定旋转值(例如,180度)或不旋转残余块。为了确定是否旋转残余块,旋转单元66确定残余块的左侧边缘及顶部边缘处的PU边界的第一数目(160)。旋转单元66还确定残余块的右侧边缘及底部边缘处的PU边界的第二数目(162)。
如果PU边界的第二数目大于PU边界的第一数目(164的是分支),那么具有高于平均值的能量的残余数据很可能集中在残余块的右下角处。在此情况下,旋转单元66将残余块旋转达预定旋转值(168)。将残余块旋转达180度(例如)将具有高于平均值的能量的残余数据定位于被旋转的残余块的左上角处。另一方面,如果PU边界的第二数目小于或等于PU边界的第一数目(164的否分支),那么具有高于平均值的能量的残余数据很可能已经集中在残余块的左上角处。在所述情况下,旋转单元66并不旋转残余块(166)。
图8为说明确定是否旋转残余块的另一实例操作的流程图,所述确定包含针对两个或两个以上可能的旋转值中的每一者基于残余块的边缘处的边界的类型确定用于残余块的旋转值。所说明的操作为基于边缘处的边界的类型确定是否旋转残余块的来自图5的步骤126及来自图6的步骤146的另一更详细实例。
当跳过用于残余块的变换时(例如,变换跳过模式中的无损译码模式或有损译码模式),可通过在编码期间旋转残余块以便将具有高于平均值的能量的残余数据定位于残余块的左上角处来改善熵译码效率。在解码期间,需要将在编码期间执行的旋转反转以便在帧间预测模式中使用预测性块从残余块适当地重新构造视频块。
在帧间预测模式中,如果残余块的特定边缘为同一PU内的两个TU之间的TU边界,那么残余块的TU边界处的残余数据通常具有低于残余块中的平均残余数据的能量。另外,如果残余块的特定边缘为不同PU中的两个TU之间的PU边界,那么残余块的PU边界处的残余数据通常具有高于残余块中的平均残余数据的能量。基于此观察,图8中所说明的技术使用残余块的边缘处的边界的类型来确定将残余块旋转所达的旋转值(例如,0度、180度、90度或270度),以将原始残余块的PU边界处的残余数据定位于被旋转的残余块的左上角处。在编码侧上,此旋转将具有高于平均值的能量的残余数据定位于被旋转的残余块的左上角处以改善熵译码效率。在解码侧上,此旋转将在编码期间执行的旋转反转且将具有高于平均值的能量的残余数据传回到其在原始残余块中的原始位置。
图8中所说明的操作将关于来自图2的视频编码器20的旋转单元66加以描述。 在其它实例中,相同操作还可由来自图3的视频解码器30的旋转单元94来执行。在所说明的操作中,旋转单元66可将残余块旋转达选自多个旋转值的旋转值。在一些情况下,旋转值可包含0度,即,不旋转,及180度。在其它情况下,旋转值可包含0度、180度、90度及270度。作为实例,在编码侧上,旋转值可在逆时针方向上,且,在解码侧上,旋转值可在顺时针方向上。
为了确定将残余块旋转所达的旋转值,旋转单元66针对旋转值中的每一者确定残余块的左侧边缘及顶部边缘处的PU边界的第一数目(170)。旋转单元66还针对旋转值中的每一者确定残余块的右侧边缘及底部边缘处的PU边界的第二数目(172)。因此,旋转单元66执行残余块的可能的旋转中的每一者且确定所述旋转中的每一者下的PU边界的位置及数目。
旋转单元66针对旋转值中的每一者计算第一数目与第二数目之间的差值(174)。以此方式,在执行所述旋转中的每一者之后,旋转单元66确定具有高于平均值的能量的残余数据很可能集中于残余块中何处。旋转单元66接着确定针对所有旋转值的所计算的差值中的最大差值(176)。为了使具有高于平均值的能量的残余数据在残余块的左上角处的集中最大化,旋转单元66选择旋转值中与最大差值相关联的旋转值。旋转单元94接着将残余块旋转达具有最大差值的旋转值(178)。
图9为说明使可在有损译码模式及无损译码模式两者中执行旋转所针对的残余块的块大小与可在有损译码模式中跳过变换所针对的块大小对准的实例操作的流程图。图9中所说明的操作将关于来自图2的视频编码器20的旋转单元66加以描述。在其它实例中,相同操作还可由来自图3的视频解码器30的旋转单元94来执行。可将所说明的操作应用于帧内预测残余块及帧间预测残余块两者。
上文所描述的技术包含在跳过用于残余块的变换时,将残余块旋转达所确定的旋转值。上述技术描述对使用变换跳过模式中的无损译码模式或有损译码来译码的帧间预测残余块及帧内预测残余块两者执行旋转。
在无损译码模式中,跳过用于所有残余块大小的变换,且可对所有残余块大小执行旋转。然而,对于硬件实施方案来说,对大小较大的残余块(例如,16×16或32×32块)执行旋转可能较困难。在有损译码模式中,变换跳过模式仅可用于具有特定大小的残余块。当跳过变换时,仅在有损译码模式中执行旋转,因此旋转还限于具有特定大小的残余块。在一些情况下,有损译码模式中用于残余块的特定大小可包括4×4TU。因此,确定是否旋转残余块可取决于指示无损译码模式的cu_transquant_bypass_flag、指示有损译码模式中的变换跳过模式的变换跳过旗标,及残余块的大小。
在图9中所说明的操作中,当跳过用于残余块的变换时,旋转单元66接收残余块,即,使用变换跳过模式中的无损译码模式或有损译码模式译码残余块。如上文所描述,在有损译码模式中,可跳过变换且执行旋转所针对的残余块已经限于特定大小,例如,4×4。本发明的技术包含限制可在无损译码模式中执行旋转所针对的残余块的大小。
在此情况下,为了确定是否旋转残余块,旋转单元66确定残余块的大小(180)。如果残余块的大小小于或等于阈值块大小(182的是分支),那么旋转单元66确定是否将残余块旋转达所确定的旋转值(186)。如果残余块的大小大于特定块大小(182的否分支),那么旋转单元66并不旋转残余块(184)。可通过上文更详细描述的操作中的一者来执行旋转确定。在一些实例中,如果残余块为帧内预测残余块,那么当残余块的块大小满足阈值块大小准则时,将始终应用旋转。在一些情况下,残余块的旋转可限于180度。在其它情况下,可根据上文所描述的技术确定残余块的旋转为0度、90度、180度或270度中的一者。
在一个实例中,用于在无损译码模式中执行残余块的旋转的阈值大小为8×8。在此情况下,可将旋转应用于无损译码模式中满足阈值块大小准则(即,残余块大小小于或等于阈值块大小)的帧内预测及帧间预测残余块两者。
在另一实例中,用于在无损译码模式中执行残余块的旋转的阈值大小等于可在有损译码模式中跳过变换所针对的特定块大小,例如,4×4。在此情况下,可将旋转应用于无损译码模式中满足阈值块大小准则的帧内预测及帧间预测残余块两者。将阈值块大小设置为等于可在有损译码模式中跳过变换所针对的块大小操作使得针对无损及有损译码模式情况的块大小处理对准。
在额外实例中,用于在无损译码模式中执行残余块的旋转的阈值大小等于可在有损译码模式中跳过变换所针对的特定块大小,例如,4×4。在此情况下,可将旋转仅应用于无损译码模式中满足阈值块大小准则的帧内预测残余块。在此情况下,可能并不将旋转应用于无损译码模式中的帧间预测残余块,而不管块大小。
在另一实例中,用于在有损译码模式或无损译码模式中执行残余块的旋转的阈值大小等于可在有损译码模式中跳过变换所针对的特定块大小,例如,4×4。在此情况下,可将旋转仅应用于具有变换跳过的有损译码模式中满足阈值块大小准则的帧内预测残余块,及将旋转应用于无损译码模式中满足阈值块大小准则的帧内预测及帧间预测残余块两者。
图10为说明使可在有损及无损译码模式两者中执行沿着对角线的残余数据样本值 的翻转所针对的残余块的块大小与可在有损译码模式中跳过变换所针对的块大小对准的实例操作的流程图。图10中所说明的操作将关于来自图2的视频编码器20的旋转单元66加以描述。在其它实例中,相同操作还可由来自图3的视频解码器30的旋转单元94来执行。可将所说明的操作应用于帧内预测残余块及帧间预测残余块两者。
上文所描述的适用于旋转残余块的技术还可适用于翻转残余块的残余数据样本值。如上文所论述,JCTVC-K0294提议:当跳过用于残余块的变换时,取决于所使用的扫描,可沿着残余块的主对角线或反对角线翻转帧内预测残余块的样本值。还可应用上文关于图9所描述的可对残余块执行旋转所针对的准则来确定何时可执行预测残余值的翻转。
当翻转残余块的残余数据样本值时,残余块的对角线的一侧上的样本值与对角线的另一侧上的相对应的镜像位置处的样本值交换位置。在一些实例中,翻转残余块的样本值可包含跨越残余块的主对角线(即,从残余块的左上角到右下角的对角线)镜射样本值。在其它实例中,翻转残余块的样本值可包含跨越残余块的反对角线(即,从残余块的左下角到右上角的对角线)镜射样本值。在一些情况下,当针对变换被跳过的残余块选择水平或垂直扫描模式时,将围绕主对角线翻转残余块的样本值。在其它情况下,当针对变换被跳过的残余块选择对角线扫描模式时,将围绕反对角线翻转残余块的样本值。
在无损译码模式中,跳过用于所有残余块大小的变换,且可对所有残余块大小执行翻转。在有损译码模式中,变换跳过模式仅可用于具有特定大小的残余块。当跳过变换时,仅在有损译码模式中执行翻转,因此翻转还限于具有特定大小的残余块。在一些情况下,有损译码模式中用于残余块的特定大小可包括4×4TU。
在图10中所说明的操作中,当跳过用于残余块的变换时,旋转单元66接收残余块,即,使用变换跳过模式中的无损译码模式或有损译码模式译码残余块。如上文所描述,在有损译码模式中,可跳过变换且执行翻转所针对的残余块已经限于特定大小,例如,4×4。本发明的技术包含限制可在无损译码模式中执行翻转所针对的残余块的大小。
在此情况下,为了确定是否翻转残余块,旋转单元66确定残余块的大小(190)。如果残余块的大小小于或等于阈值块大小(192的是分支),那么旋转单元66确定是否沿着残余块的对角线翻转残余数据样本值(196)。如果残余块的大小大于特定块大小(192的否分支),那么旋转单元66并不翻转残余块的残余数据样本值(194)。可沿着残余块的主对角线(即,左上到右下)或沿着反对角线(即,左下到右上)翻转残余数据样本值。
在一个实例中,用于在无损译码模式中翻转残余块的残余数据的阈值大小为8×8。在此情况下,可将翻转应用于无损译码模式中满足阈值块大小准则(即,残余块大小小于或等于阈值块大小)的帧内预测及帧间预测残余块两者的残余数据。
在另一实例中,用于在无损译码模式中翻转残余块的残余数据的阈值大小等于可在有损译码模式中跳过变换所针对的特定块大小,例如,4×4。在此情况下,可将翻转应用于无损译码模式中满足阈值块大小准则的帧内预测及帧间预测残余块两者的残余数据。将阈值块大小设置为等于可在有损译码模式中跳过变换所针对的块大小操作使得针对无损及有损译码模式情况的块大小处理对准。
在额外实例中,用于在无损译码模式中翻转残余块的残余数据的阈值大小等于可在有损译码模式中跳过变换所针对的特定块大小,例如,4×4。在此情况下,可将翻转仅应用于无损译码模式中满足阈值块大小准则的帧内预测残余块的残余数据。在此情况下,并不将翻转应用于无损译码模式中的帧间预测残余块的残余数据,而不管块大小。
在另一实例中,用于在有损译码模式或无损译码模式中翻转残余块的残余数据的阈值大小等于可在有损译码模式中跳过变换所针对的特定块大小,例如,4×4。在此情况下,可将翻转应用于具有变换跳过的有损译码模式中满足阈值块大小准则的仅帧内预测残余块的残余数据,且将翻转应用于无损译码模式中满足阈值块大小准则的帧内预测及帧间预测残余块两者的残余数据。
在一或多个实例中,所描述的功能可以用硬件、软件、固件或其任何组合来实施。如果用软件来实施,那么所述功能可以作为一或多个指令或代码存储在计算机可读媒体上或在计算机可读媒体上予以传输,并且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包含促进将计算机程序从一处传送到另一处的任何媒体(例如,根据一种通信协议)的通信媒体。以此方式,计算机可读媒体一般可对应于(1)非暂时性的有形计算机可读存储媒体或(2)例如信号或载波等通信媒体。数据存储媒体可为可由一或多个计算机或一个或多个处理器存取以检索用于实施本发明中描述的技术的指令、代码及/或数据结构的任何可用媒体。计算机程序产品可以包含计算机可读媒体。
以实例说明而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器,或可用以存储呈指令或数据结构形式的所要程序代码且可由计算机存取的任何其它媒体。而且,将任何连接恰当地称为计算机可读媒体。举例来说,如果使用同轴电缆、 光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源传输指令,那么将同轴电缆、光纤缆线、双绞线、DSL或例如红外线、无线电及微波等无线技术包含在媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体并不包含连接、载波、信号或其它暂时性媒体,而是实际上针对于非暂时性的有形存储媒体。如本文所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字影音光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘使用激光以光学方式再现数据。以上各者的组合也应包含在计算机可读媒体的范围内。
指令可以由一或多个处理器执行,所述一或多个处理器例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效的集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可以在经配置用于编码及解码的专用硬件及/或软件模块内提供,或者并入于组合编码解码器中。并且,可将所述技术完全实施于一或多个电路或逻辑元件中。
本发明的技术可以在广泛多种装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元是为了强调经配置以执行所揭示的技术的装置的功能方面,但未必需要通过不同硬件单元实现。实际上,如上文所描述,各种单元可以结合合适的软件及/或固件组合在编码解码器硬件单元中,或者通过互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多个处理器。
已描述各种实例。这些及其它实例在所附权利要求书的范围内。

Claims (30)

1.一种解码视频数据的方法,所述方法包括:
基于指示用于所述视频数据的残余块的变换跳过的一或多个语法元素跳过用于所述残余块的反变换;
确定所述残余块的每一边缘处的边界的类型,其中,针对所述残余块的相应边缘,基于在所述相应边缘的两侧的块属于相同的预测单元PU,所述残余块的所述相应边缘为TU边界,且其中,基于在所述相应边缘的两侧的块属于不同的预测单元PU,所述残余块的所述相应边缘为PU边界;
基于在所述残余块的每一边缘处确定的边界类型,确定所述残余块的左侧边缘和顶部边缘处的PU边界的第一数目;
基于在所述残余块的每一边缘处确定的边界类型,确定所述残余块的右侧边缘和底部边缘处的PU边界的第二数目;以及
基于PU边界的所述第二数目大于PU边界的所述第一数目,确定在从所述残余块的残余数据重新构造视频块之前旋转所述残余块。
2.根据权利要求1所述的方法,其中所述残余块包括具有变换跳过的无损译码模式或有损译码模式中的一者中的帧间预测残余块。
3.根据权利要求2所述的方法,其进一步包括自动地旋转具有变换跳过的无损译码模式或有损译码模式中的一者中的帧内预测残余块。
4.根据权利要求1所述的方法,其进一步包括基于旋转所述残余块的所述确定,旋转所述残余块以将在编码所述残余块的所述残余数据期间执行的旋转反转以便将具有高于平均值的能量的所述残余数据定位于所述残余块的左上角处。
5.根据权利要求1所述的方法,其进一步包括基于旋转所述残余块的确定,将所述残余块旋转达预定旋转值。
6.根据权利要求1所述的方法,其中确定是否旋转所述残余块包括确定用于所述残余块的旋转值,所述方法进一步包括将所述残余块旋转达所述所确定的旋转值。
7.根据权利要求1所述的方法,其中确定是否旋转所述残余块包括解码指示是否旋转所述残余块的一或多个语法元素。
8.根据权利要求1所述的方法,其进一步包括基于PU边界的所述第二数目小于或等于PU边界的所述第一数目,确定不旋转所述残余块。
9.一种编码视频数据的方法,所述方法包括:
跳过用于从所述视频数据的视频块计算的残余块的变换;
确定所述残余块的每一边缘处的边界的类型,其中,针对所述残余块的相应边缘,基于在所述相应边缘的两侧的块属于相同的预测单元PU,所述残余块的所述相应边缘为TU边界,且其中,基于在所述相应边缘的两侧的块属于不同的预测单元PU,所述残余块的所述相应边缘为PU边界;
基于在所述残余块的每一边缘处确定的边界类型,确定所述残余块的左侧边缘和顶部边缘处的PU边界的第一数目;
基于在所述残余块的每一边缘处确定的边界类型,确定所述残余块的右侧边缘和底部边缘处的PU边界的第二数目;以及
基于PU边界的所述第二数目大于PU边界的所述第一数目,确定在从所述残余块的残余数据重新构造视频块之前旋转所述残余块。
10.根据权利要求9所述的方法,其中所述残余块包括具有变换跳过的无损译码模式或有损译码模式中的一者中的帧间预测残余块。
11.根据权利要求10所述的方法,其进一步包括自动地旋转具有变换跳过的无损译码模式或有损译码模式中的一者中的帧内预测残余块。
12.根据权利要求9所述的方法,其进一步包括基于旋转所述残余块的所述确定,旋转所述残余块以便将具有高于平均值的能量的所述残余数据定位于所述残余块的左上角处。
13.根据权利要求9所述的方法,其进一步包括基于旋转所述残余块的确定,将所述残余块旋转达预定旋转值。
14.根据权利要求9所述的方法,其中确定是否旋转所述残余块包括确定用于所述残余块的旋转值,所述方法进一步包括将所述残余块旋转达所述所确定的旋转值。
15.根据权利要求9所述的方法,其进一步包括编码指示是否旋转所述残余块的一或多个语法元素。
16.根据权利要求9所述的方法,其进一步包括基于PU边界的所述第二数目小于或等于PU边界的所述第一数目,确定不旋转所述残余块。
17.一种用于译码视频数据的视频译码装置,所述装置包括经配置以进行以下操作的一或多个处理器:
跳过用于所述视频数据的残余块的变换;
确定所述残余块的每一边缘处的边界的类型,其中,针对所述残余块的相应边缘,基于在所述相应边缘的两侧的块属于相同的预测单元PU,所述残余块的所述相应边缘为TU边界,且其中,基于在所述相应边缘的两侧的块属于不同的预测单元PU,所述残余块的所述相应边缘为PU边界;
基于在所述残余块的每一边缘处确定的边界类型,确定所述残余块的左侧边缘和顶部边缘处的PU边界的第一数目;
基于在所述残余块的每一边缘处确定的边界类型,确定所述残余块的右侧边缘和底部边缘处的PU边界的第二数目;以及
基于PU边界的所述第二数目大于PU边界的所述第一数目,确定在从所述残余块的残余数据重新构造视频块之前旋转所述残余块。
18.根据权利要求17所述的装置,其中所述残余块包括具有变换跳过的无损译码模式或有损译码模式中的一者中的帧间预测残余块。
19.根据权利要求18所述的装置,其中所述处理器经配置以自动地旋转具有变换跳过的无损译码模式或有损译码模式中的一者中的帧内预测残余块。
20.根据权利要求17所述的装置,其中所述视频译码装置包括用于编码视频数据的视频编码装置,且其中,基于旋转所述残余块的所述确定,所述处理器经配置以旋转所述残余块以便将具有高于平均值的能量的所述残余数据定位于所述残余块的左上角处。
21.根据权利要求17所述的装置,其中所述视频译码装置包括用于解码视频数据的视频解码装置,且其中,基于旋转所述残余块的确定,所述处理器经配置以旋转所述残余块以将在编码所述残余块的所述残余数据期间执行的旋转反转以便将具有高于平均值的能量的所述残余数据定位于所述残余块的左上角处。
22.根据权利要求17所述的装置,其中,基于旋转所述残余块的确定,所述处理器经配置以将所述残余块旋转达预定旋转值。
23.根据权利要求17所述的装置,其中所述处理器经配置以确定用于所述残余块的旋转值,及将所述残余块旋转达所述所确定的旋转值。
24.根据权利要求17所述的装置,其进一步包括译码指示是否旋转所述残余块的一或多个语法元素。
25.根据权利要求17所述的装置,其中,基于PU边界的所述第二数目小于或等于PU边界的所述第一数目,所述处理器经配置以确定不旋转所述残余块。
26.一种用于译码视频数据的视频译码装置,所述装置包括:
用于跳过用于所述视频数据的残余块的变换的装置;
用于确定所述残余块的每一边缘处的边界的类型的装置,其中,针对所述残余块的相应边缘,基于在所述相应边缘的两侧的块属于相同的预测单元PU,所述残余块的所述相应边缘为TU边界,且其中,基于在所述相应边缘的两侧的块属于不同的预测单元PU,所述残余块的所述相应边缘为PU边界;
用于基于在所述残余块的每一边缘处确定的边界类型确定所述残余块的左侧边缘和顶部边缘处的PU边界的第一数目的装置;
用于基于在所述残余块的每一边缘处确定的边界类型确定所述残余块的右侧边缘和底部边缘处的PU边界的第二数目的装置;以及
用于基于PU边界的所述第二数目大于PU边界的所述第一数目确定在从所述残余块的残余数据重新构造视频块之前旋转所述残余块的装置。
27.根据权利要求26所述的装置,其中所述残余块包括具有变换跳过的无损译码模式或有损译码模式中的一者中的帧间预测残余块。
28.根据权利要求27所述的装置,其进一步包括用于自动地旋转具有变换跳过的无损译码模式或有损译码模式中的一者中的帧内预测残余块的装置。
29.根据权利要求26所述的装置,其进一步包括用于译码指示是否旋转所述残余块的一或多个语法元素的装置。
30.一种非易失性计算机可读媒体,其包括用于译码视频数据的指令,所述指令在被执行时致使一或多个可编程处理器进行以下操作:
跳过用于所述视频数据的残余块的变换;
确定所述残余块的每一边缘处的边界的类型,其中,针对所述残余块的相应边缘,基于在所述相应边缘的两侧的块属于相同的预测单元PU,所述残余块的所述相应边缘为TU边界,且其中,基于在所述相应边缘的两侧的块属于不同的预测单元PU,所述残余块的所述相应边缘为PU边界;
基于在所述残余块的每一边缘处确定的边界类型,确定所述残余块的左侧边缘和顶部边缘处的PU边界的第一数目;
基于在所述残余块的每一边缘处确定的边界类型,确定所述残余块的右侧边缘和底部边缘处的PU边界的第二数目;以及
基于PU边界的所述第二数目大于PU边界的所述第一数目,确定在从所述残余块的残余数据重新构造视频块之前旋转所述残余块。
CN201380036740.4A 2012-07-11 2013-07-11 具有变换跳过的视频译码中的预测残余块的旋转 Active CN104471935B (zh)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201261670569P 2012-07-11 2012-07-11
US61/670,569 2012-07-11
US201361815148P 2013-04-23 2013-04-23
US61/815,148 2013-04-23
US201361833781P 2013-06-11 2013-06-11
US61/833,781 2013-06-11
US13/939,037 2013-07-10
US13/939,037 US9264713B2 (en) 2012-07-11 2013-07-10 Rotation of prediction residual blocks in video coding with transform skipping
PCT/US2013/050099 WO2014011894A1 (en) 2012-07-11 2013-07-11 Rotation of prediction residual blocks in video coding with transform skipping

Publications (2)

Publication Number Publication Date
CN104471935A CN104471935A (zh) 2015-03-25
CN104471935B true CN104471935B (zh) 2017-12-15

Family

ID=49913979

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380036740.4A Active CN104471935B (zh) 2012-07-11 2013-07-11 具有变换跳过的视频译码中的预测残余块的旋转

Country Status (3)

Country Link
US (1) US9264713B2 (zh)
CN (1) CN104471935B (zh)
WO (1) WO2014011894A1 (zh)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130188736A1 (en) 2012-01-19 2013-07-25 Sharp Laboratories Of America, Inc. High throughput significance map processing 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
US9549182B2 (en) 2012-07-11 2017-01-17 Qualcomm Incorporated Repositioning of prediction residual blocks in video coding
US11323747B2 (en) 2013-06-05 2022-05-03 Qualcomm Incorporated Residual differential pulse code modulation (DPCM) extensions and harmonization with transform skip, rotation, and scans
KR101871869B1 (ko) * 2013-07-15 2018-06-27 후아웨이 테크놀러지 컴퍼니 리미티드 Hevc의 cabac를 위한 변환 스킵된 블록의 수정된 코딩
US20160227253A1 (en) * 2013-10-11 2016-08-04 Sony Corporation Decoding device, decoding method, encoding device and encoding method
EP3720132A1 (en) 2013-10-14 2020-10-07 Microsoft Technology Licensing LLC Features of color index map mode for video and image coding and decoding
CA2924763A1 (en) 2013-10-14 2015-04-23 Microsoft Corporation Features of intra block copy prediction mode for video and image coding and decoding
US11109036B2 (en) 2013-10-14 2021-08-31 Microsoft Technology Licensing, Llc Encoder-side options for intra block copy prediction mode for video and image coding
CN105684441B (zh) 2013-10-25 2018-09-21 微软技术许可有限责任公司 视频和图像编码中的基于散列的块匹配
EP3061233B1 (en) 2013-10-25 2019-12-11 Microsoft Technology Licensing, LLC Representing blocks with hash values in video and image coding and decoding
US9588882B2 (en) * 2013-12-02 2017-03-07 Intel Corporation Non-volatile memory sector rotation
MX360926B (es) 2014-01-03 2018-11-22 Microsoft Technology Licensing Llc Prediccion de vector de bloque en codificacion/descodificacion de video e imagen.
US10390034B2 (en) 2014-01-03 2019-08-20 Microsoft Technology Licensing, Llc Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
US10368092B2 (en) * 2014-03-04 2019-07-30 Microsoft Technology Licensing, Llc Encoder-side decisions for block flipping and skip mode in intra block copy prediction
WO2015131325A1 (en) 2014-03-04 2015-09-11 Microsoft Technology Licensing, Llc Hash table construction and availability checking for hash-based block matching
AU2014385769B2 (en) * 2014-03-04 2018-12-06 Microsoft Technology Licensing, Llc Block flipping and skip mode in intra block copy prediction
KR20220133337A (ko) * 2014-03-16 2022-10-04 브이아이디 스케일, 인크. 무손실 비디오 코딩의 시그널링을 위한 방법 및 장치
US9860559B2 (en) * 2014-03-17 2018-01-02 Mediatek Singapore Pte. Ltd. Method of video coding using symmetric intra block copy
KR20230130178A (ko) 2014-06-19 2023-09-11 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 통합된 인트라 블록 카피 및 인터 예측 모드
KR102287779B1 (ko) 2014-06-23 2021-08-06 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 해시 기반의 블록 매칭의 결과에 기초한 인코더 결정
US9521423B2 (en) * 2014-06-26 2016-12-13 Sony Corporation Data encoding and decoding apparatus, method and storage medium
EP2980793A1 (en) * 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoder, decoder, system and methods for encoding and decoding
EP3202150B1 (en) 2014-09-30 2021-07-21 Microsoft Technology Licensing, LLC Rules for intra-picture prediction modes when wavefront parallel processing is enabled
MX2017004210A (es) 2014-09-30 2017-11-15 Microsoft Technology Licensing Llc Decisiones de codificador basadas en hash para codificar video.
US10405000B2 (en) * 2014-11-21 2019-09-03 Vid Scale, Inc. One-dimensional transform modes and coefficient scan order
US9591325B2 (en) 2015-01-27 2017-03-07 Microsoft Technology Licensing, Llc Special case handling for merged chroma blocks in intra block copy prediction mode
EP3308540B1 (en) 2015-06-09 2020-04-15 Microsoft Technology Licensing, LLC Robust encoding/decoding of escape-coded pixels in palette mode
US10255323B1 (en) 2015-08-31 2019-04-09 Google Llc Quantization-based fast inner product search
WO2017088093A1 (en) * 2015-11-23 2017-06-01 Mediatek Singapore Pte. Ltd. On the smallest allowed block size in video coding
WO2017173593A1 (en) * 2016-04-06 2017-10-12 Mediatek Singapore Pte. Ltd. Separate coding secondary transform syntax elements for different color components
US10501973B2 (en) 2016-06-14 2019-12-10 Microsoft Technology Licensing, Llc Hinge with free-stop function
US10301858B2 (en) 2016-06-14 2019-05-28 Microsoft Technology Licensing, Llc Hinge mechanism
US9840861B1 (en) 2016-06-14 2017-12-12 Microsoft Technology Licensing, Llc Hinged device with snap open lock
US10061359B2 (en) 2016-07-28 2018-08-28 Microsoft Technology Licensing, Llc Hinged device with living hinge
US10390039B2 (en) 2016-08-31 2019-08-20 Microsoft Technology Licensing, Llc Motion estimation for screen remoting scenarios
US10719509B2 (en) * 2016-10-11 2020-07-21 Google Llc Hierarchical quantization for fast inner product search
CN110024410B (zh) * 2016-11-25 2023-07-28 株式会社Kt 用于对视频进行编码和解码的方法
US11095877B2 (en) 2016-11-30 2021-08-17 Microsoft Technology Licensing, Llc Local hash-based motion estimation for screen remoting scenarios
US10999591B2 (en) * 2017-06-02 2021-05-04 Lg Electronics Inc. Method and apparatus for processing video signal through target area modification
US10438597B2 (en) * 2017-08-31 2019-10-08 Dolby International Ab Decoder-provided time domain aliasing cancellation during lossy/lossless transitions
US10986349B2 (en) 2017-12-29 2021-04-20 Microsoft Technology Licensing, Llc Constraints on locations of reference blocks for intra block copy prediction
US11392596B2 (en) 2018-05-14 2022-07-19 Google Llc Efficient inner product operations
EP3930331A4 (en) * 2019-03-11 2022-03-23 Guangdong Oppo Mobile Telecommunications Corp., Ltd. METHOD OF DETERMINING A PREDICTED VALUE, ENCODER, DECODER AND COMPUTER STORAGE MEDIUM
JP7448559B2 (ja) * 2019-04-19 2024-03-12 バイトダンス インコーポレイテッド 変換スキップモードのためのコンテキスト符号化
CA3137163A1 (en) 2019-04-24 2020-10-29 Bytedance Inc. Constraints on quantized residual differential pulse code modulation representation of coded video
JP7311627B2 (ja) 2019-05-01 2023-07-19 バイトダンス インコーポレイテッド 量子化残差差分パルス符号変調符号化を使用したイントラ符号化映像
CN113785306A (zh) 2019-05-02 2021-12-10 字节跳动有限公司 基于编解码树结构类型的编解码模式
CN117221544A (zh) * 2019-05-19 2023-12-12 字节跳动有限公司 数字视频中的变换旁路编解码残差块
JPWO2021054380A1 (zh) * 2019-09-20 2021-03-25
US20210092388A1 (en) * 2019-09-23 2021-03-25 Alibaba Group Holding Limited Lossless coding of video data
US20210176468A1 (en) * 2019-12-06 2021-06-10 Qualcomm Incorporated Residual coding selection and low-level signaling based on quantization parameter
JP2023517695A (ja) * 2020-03-12 2023-04-26 インターデジタル ブイシー ホールディングス フランス ビデオ符号化及び復号化のための方法並びに装置
CN113709476B (zh) * 2020-06-05 2022-12-23 杭州海康威视数字技术股份有限公司 编码方法、解码方法、装置及机器可读存储介质
US11202085B1 (en) 2020-06-12 2021-12-14 Microsoft Technology Licensing, Llc Low-cost hash table construction and hash-based block matching for variable-size blocks
CN114513663A (zh) * 2020-11-17 2022-05-17 腾讯科技(深圳)有限公司 视频解码方法、装置及电子设备
WO2023193723A1 (en) * 2022-04-05 2023-10-12 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing
WO2024011140A2 (en) * 2022-07-06 2024-01-11 Bytedance Inc. Method, apparatus, and medium for video processing

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101682771A (zh) * 2007-06-15 2010-03-24 高通股份有限公司 视频译码中的自适应系数扫描
CN101822065A (zh) * 2007-10-12 2010-09-01 高通股份有限公司 对视频块的经交错子块的熵译码
WO2012006568A1 (en) * 2010-07-09 2012-01-12 Qualcomm Incorporated Video coding using a subset of intra prediction modes and corresponding directional transforms
WO2012044840A1 (en) * 2010-10-01 2012-04-05 Qualcomm Incorporated Video coding using intra-prediction
WO2012087713A1 (en) * 2010-12-22 2012-06-28 Qualcomm Incorporated Mode dependent scanning of coefficients of a block of video data
WO2012088325A1 (en) * 2010-12-22 2012-06-28 Qualcomm Incorporated Using a most probable scanning order to efficiently code scanning order information for a video block in video coding

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110045949A (ko) 2009-10-28 2011-05-04 삼성전자주식회사 회전 변환을 이용한 영상 부호화, 복호화 방법 및 장치
US8693795B2 (en) 2010-10-01 2014-04-08 Samsung Electronics Co., Ltd. Low complexity secondary transform for image and video compression
US9106913B2 (en) 2011-03-08 2015-08-11 Qualcomm Incorporated Coding of transform coefficients for video coding
US20130003856A1 (en) * 2011-07-01 2013-01-03 Samsung Electronics Co. Ltd. Mode-dependent transforms for residual coding with low latency
US9756360B2 (en) 2011-07-19 2017-09-05 Qualcomm Incorporated Coefficient scanning in video coding
US9344722B2 (en) 2011-11-18 2016-05-17 Futurewei Technologies, Inc. Scanning of prediction residuals in high efficiency video coding
US9549182B2 (en) 2012-07-11 2017-01-17 Qualcomm Incorporated Repositioning of prediction residual blocks in video coding

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101682771A (zh) * 2007-06-15 2010-03-24 高通股份有限公司 视频译码中的自适应系数扫描
CN101822065A (zh) * 2007-10-12 2010-09-01 高通股份有限公司 对视频块的经交错子块的熵译码
WO2012006568A1 (en) * 2010-07-09 2012-01-12 Qualcomm Incorporated Video coding using a subset of intra prediction modes and corresponding directional transforms
WO2012044840A1 (en) * 2010-10-01 2012-04-05 Qualcomm Incorporated Video coding using intra-prediction
WO2012087713A1 (en) * 2010-12-22 2012-06-28 Qualcomm Incorporated Mode dependent scanning of coefficients of a block of video data
WO2012088325A1 (en) * 2010-12-22 2012-06-28 Qualcomm Incorporated Using a most probable scanning order to efficiently code scanning order information for a video block in video coding

Also Published As

Publication number Publication date
CN104471935A (zh) 2015-03-25
WO2014011894A1 (en) 2014-01-16
US9264713B2 (en) 2016-02-16
US20140016698A1 (en) 2014-01-16

Similar Documents

Publication Publication Date Title
CN104471935B (zh) 具有变换跳过的视频译码中的预测残余块的旋转
CN104221381B (zh) 用于视频译码的波前并行处理的方法、装置及计算机可读存储媒体
CN104509113B (zh) 视频压缩中的变换跳过模式
CN105284113B (zh) 分量间滤波
CN104054341B (zh) 用于上下文自适应性二进制算术译码系数层级译码的通过量改进
CN105191307B (zh) 在视频译码过程中用于系数级别译码的莱斯参数更新
CN103891293B (zh) 用于色度分量的自适应环路滤波的方法及设备
CN105379266B (zh) 停用帧内预测滤波
CN103931182B (zh) 帧内预测视频译码中的非正方形变换
CN104471942B (zh) 重新使用参数集用于视频译码
CN103609118B (zh) 用于视频译码的并行化友好合并候选者
CN103404144B (zh) 视频译码中的经量化脉码调制
CN103444178B (zh) 用于视频译码的变换系数的译码
CN103636224B (zh) 用于视频压缩中的系数等级译码的上下文
CN103959785B (zh) 在视频译码中用于色度分量的变换单位分割
CN104067524B (zh) 具有精简的初始化值集合的上下文自适应熵译码
CN105165012A (zh) 视频译码中的预测残余块的再定位
CN104604224B (zh) 可缩放视频译码中的变换基底调整
CN109716774A (zh) 用于视频译码的可变数目的帧内模式
CN108464001A (zh) 用于视频译码的多类型树框架
CN107810636A (zh) 使用混合递归滤波器的视频帧内预测
CN104247420A (zh) 转换系数译码
CN104904222A (zh) 对视频译码中的视频时序的图片次序计数与时序信息关系的信令
CN105723707A (zh) 用于视频译码的色彩残差预测
CN104685876A (zh) 用于视频译码中的4:2:2样本格式的经译码块旗标(cbf)译码

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