CN103299625B - 转变区中的样本的识别 - Google Patents

转变区中的样本的识别 Download PDF

Info

Publication number
CN103299625B
CN103299625B CN201180064656.4A CN201180064656A CN103299625B CN 103299625 B CN103299625 B CN 103299625B CN 201180064656 A CN201180064656 A CN 201180064656A CN 103299625 B CN103299625 B CN 103299625B
Authority
CN
China
Prior art keywords
sample
adjacent region
unit
region size
limited proportionality
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
CN201180064656.4A
Other languages
English (en)
Other versions
CN103299625A (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 CN103299625A publication Critical patent/CN103299625A/zh
Application granted granted Critical
Publication of CN103299625B publication Critical patent/CN103299625B/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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/127Prioritisation of hardware or computational resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation

Abstract

在视频编码或解码过程期间,产生CU的所预测预测块。所述CU可具有两个或两个以上预测单元PU。计算装置选择相邻区大小。在所述计算装置选择所述相邻区大小之后,识别所述预测块的转变区中的样本。如果含有与第一PU相关联的样本的相邻区还含有与第二PU相关联的样本,那么与第一PU相关联的所述样本位于所述转变区中。如果含有与所述第二PU相关联的样本的相邻区还含有与所述第一PU相关联的样本,那么与所述第二PU相关联的所述样本可位于所述转变区中。所述相邻区具有所述选定相邻区大小。接着对所述转变区中的所述样本执行平滑操作。

Description

转变区中的样本的识别
相关申请案的交叉参考
本申请案主张2011年1月10日申请的第61/431,408号美国临时申请案、2011年3月8日申请的第61/450,532号美国临时申请案、2011年3月8日申请的第61/450,538号美国临时申请案以及2011年9月21日申请的第61/537,450号美国临时申请案的权益,每一临时申请案的整个内容特此以引用的方式并入本文中。
技术领域
本发明涉及视频译码。
背景技术
数字视频能力可并入到广泛范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数字摄像机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电话会议装置等。数字视频装置实施视频压缩技术,例如由MPEG-2、MPEG-4、ITU-T H.263或ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)定义的标准和所述标准的扩展部分中所描述的那些视频压缩技术,以更有效率地传输和接收数字视频信息。
视频压缩技术执行空间预测和/或时间预测以减少或去除视频序列中固有的冗余。对于基于块的视频译码,可将一视频帧或切片分割为若干块。可进一步分割每一块。使用关于相邻块的空间预测来编码经帧内译码(I)帧或切片中的块。经帧间译码(P或B)帧或切片中的块可使用关于同一帧或切片中的相邻块的空间预测或关于其它参考帧的时间预测。
发明内容
大体来说,本发明所述的技术可通过自适应地选择相邻区大小来增加译码单元(CU)的译码效率。如本发明中所述,CU可具有多个预测单元(PU)。计算装置可执行运动补偿操作以产生CU的预测块。所述预测块可为二维样本块。所述样本中的每一者可指示像素值。当计算装置执行运动补偿操作时,计算装置可使用PU的运动信息。
在一些情况下,可通过对预测块的转变区中的样本执行平滑操作来提高译码效率。转变区位于预测块的与PU中的不同者相关联的样本之间的边界处。如果含有所述预测块的样本的相邻区还含有所述预测块的与所述PU中的不同者相关联的样本,那么所述预测块的所述样本可位于所述转变区中。可取决于相邻区的大小来实现与CU相关联的数据的不同译码效率。根据本发明的技术,相邻区的大小可由计算装置选择,以便提高与CU相关联的数据的译码效率。
在一个实例中,本发明描述一种译码视频数据的方法。所述方法包括执行运动补偿操作以产生视频数据的帧中的CU的预测块。CU具有第一PU和第二PU。所述方法还包括通过计算装置选择第一相邻区大小。另外,所述方法包括在选择第一相邻区大小之后,识别预测块的第一转变区中的样本。当相邻区含有与第一PU相关联的样本且还含有预测块的与第二PU相关联的样本时,第一转变区包含与第一PU相关联的所述样本。所述相邻区具有第一相邻区大小。所述方法还包括对第一转变区中的样本执行第一平滑操作。
在另一实例中,本发明描述一种译码视频数据的计算装置。所述计算装置包括处理器,其经配置以执行运动补偿操作以产生视频数据的帧中的CU的预测块。CU具有第一PU和第二PU。另外,处理器经配置以选择第一相邻区大小。所述处理器还经配置以使得在选择第一相邻区大小之后,所述处理器识别预测块的第一转变区中的样本。当相邻区含有与第一PU相关联的样本且还含有预测块的与第二PU相关联的样本时,第一转变区包含与第一PU相关联的所述样本。所述相邻区具有第一相邻区大小。另外,所述处理器经配置以对第一转变区中的样本执行第一平滑操作。
在另一实例中,本发明描述一种译码视频数据的计算装置。所述计算装置包括用于执行运动补偿操作以产生视频数据的帧中的CU的预测块的装置。CU具有第一PU和第二PU。所述计算装置还包括用于选择相邻区大小的装置。另外,所述计算装置包括用于在选择相邻区大小之后识别预测块的转变区中的样本的装置。当相邻区含有与第一PU相关联的样本且还含有预测块的与第二PU相关联的样本时,转变区包含与第一PU相关联的所述样本。所述相邻区具有相邻区大小。另外,所述计算装置包括用于对所述转变区中的所述样本执行平滑操作的装置。
在另一实例中,本发明描述一种用于译码视频数据的计算机程序产品。所述计算机程序产品包括上面存储有指令的计算机可读存储媒体,所述指令使得一个或一个以上处理器执行运动补偿操作以产生视频数据的帧中的CU的预测块。CU具有第一预测单元(PU)和第二PU。所述指令还使得处理器选择相邻区大小。另外,在选择相邻区大小之后,所述指令使得处理器识别预测块的转变区中的样本。当相邻区含有与第一PU相关联的样本且还含有预测块的与第二PU相关联的样本时,转变区包含与第一PU相关联的所述样本。所述相邻区具有相邻区大小。所述指令还使得处理器对转变区中的样本执行平滑操作。
在附图及下文描述中陈述本发明的一个或一个以上实施例的细节。本发明的其它特征、目标和优点将从描述和图式且从所述权利要求书显见。
附图说明
图1是说明实例多媒体译码系统的框图。
图2是说明视频中的实例帧系列的概念图。
图3是说明编码单元的实例配置的框图。
图4是说明分割为若干树块的实例帧的概念图。
图5是说明树块的另一实例分割的概念图。
图6是说明帧间预测单元的实例配置的框图。
图7是说明解码单元的实例配置的框图。
图8是说明由帧间预测单元执行的实例帧间译码操作的流程图。
图9是说明实例矩形分割模式的概念图。
图10是说明实例几何分割模式的概念图。
图11是说明CU的转变区的概念图。
图12是说明自适应地使预测块的转变区中的样本平滑的实例操作的流程图。
图13是说明自适应地使预测块的转变区中的样本平滑的另一实例操作的流程图。
图14是说明自适应地使预测块的转变区中的样本平滑的另一实例操作的流程图。
图15是说明自适应地使预测块的转变区中的样本平滑的另一实例操作的流程图。
图16是说明自适应地使预测块的转变区中的样本平滑的另一实例操作的流程图。
图17是说明自适应地使预测块的转变区中的样本平滑的另一实例操作的流程图。
图18是说明自适应地使预测块的转变区中的样本平滑的另一实例操作的流程图。
图19是说明实例转变样本识别操作的流程图。
图20是说明平滑单元的另一实例操作的流程图。
图21是说明另一实例转变样本识别操作的流程图。
具体实施方式
附图说明实例。附图中的参考数字所指示的元件对应于以下描述中的相似参考数字所指示的元件。在附图中,椭圆形指示类似于由所述椭圆形分开的那些元件的一个或一个以上元件的存在。类似元件的参考数字上的字母顺序后缀无意指示特定数目个元件的存在。在本发明中,具有以序数词(例如,“第一”、“第二”、“第三”等等)开始的名称的元件不一定暗示所述元件具有特定次序。相反,此类序数词可仅用以指代相同或类似种类的不同元件。
视频数据帧与一个或一个以上样本块(即,样本块)相关联。样本可为定义像素的分量(例如,像素的明度或色度分量)的值。样本块可指代此类样本的二维阵列。帧的样本块中的每一者可指定帧中的像素的不同分量。编码器可首先将帧分割为“切片”。切片为大体用以指代帧的可独立解码部分的术语。
编码器可接下来将这些切片分割为“树块”。树块也可被称为最大译码单元(LCU)。编码器可将树块分割为逐渐变小的样本块的层级,其在说明时可表示为分层树结构,因此名为“树块”。此分层树结构的叶节点可对应于译码单元(CU),因为这些叶节点定义待译码的样本块或单元。以此方式,CU中的每一者与帧的不同样本块相关联。以此方式分割树块可使得编码器能够俘获不同大小的运动。
CU中的每一者可具有一个或一个以上预测单元(PU)。将CU的样本块分割为与CU的PU相关联的预测区域。译码器可执行关于样本块的预测区域的运动估计操作,以产生每一预测区域的运动信息。将预测区域中的每一者的运动信息存储为PU。编码器或解码器使用针对PU确定的运动信息来产生CU的预测块。在本发明中,术语“译码器”可指代编码器或解码器,且术语“译码”可指代编码或解码。
在一些情况下,译码器执行平滑操作,以使预测块的转变区中的样本平滑。转变区大体上出现在预测块的与不同PU相关联的样本之间的边界处。译码器可执行此平滑操作,以改进CU的残余数据的后续译码和/或当由解码器重构时的视频数据的所得视频质量(其中此视频数据可被称为“经重构视频数据”)。
虽然在一些情况下,使转变区中的样本平滑改进经重构视频数据的压缩性能和/或视觉质量,但在其它情况下,平滑操作的执行引入了使压缩性能降级的人为效应。因此,执行平滑操作可归因于平滑操作引入了额外残余数据而产生大小上较大的经压缩视频数据。此外,这些所引入人为效应可使经重构视频数据在由查看者查看时的主观感知降级,这影响主观视频质量。在一些其它情况下,执行此平滑操作可去除视频内容中可被视为对特定帧重要的数据,这可进一步降低视觉质量,且影响依赖此帧来重构其它帧的所述其它帧的重构。此外,通过执行此平滑操作而导致的数据损失可为不可逆的,意味着解码器可能不能够恢复损失的数据。
本发明提供用于以潜在地改进视觉质量和压缩性能的方式自适应地执行平滑操作的技术。不是执行平滑操作来使每个预测块的转变区中的样本平滑,如常规编码器中常见的,而是所述技术使得译码器能够在译码器确定将为最有益(如在视觉质量或压缩性能方面测量)的情况下自适应地执行平滑操作。举例来说,译码器可基于CU的一个或一个以上PU的大小来自适应地执行平滑操作。
在大的转变区的情况下,可操纵较多的样本。然而,处理过多样本可引入额外失真。在小的转变区的情况下,平滑操作的性能可受限。根据本发明中所描述的一些技术,译码器自适应地选择相邻区大小。译码器使用选定相邻区大小的区来确定预测块的样本是否在转变区内。以此方式,译码器可选择转变区的大小以使平滑操作的性能最大化。
图1是说明实例多媒体译码系统100的框图。多媒体译码系统100俘获视频数据,编码所俘获的视频数据,传输经编码视频数据,解码经编码视频数据,且接着重放经解码视频数据。
多媒体译码系统100包括源单元102、编码单元104、解码单元106以及呈现单元108。源单元102产生视频数据。编码单元104编码视频数据。解码单元106解码经编码视频数据。呈现单元108呈现经解码视频数据。
一个或一个以上计算装置实施源单元102、编码单元104、解码单元106以及呈现单元108。在本发明中,术语“计算装置”包含处理信息的物理装置。计算装置的实例类型包含个人计算机、膝上型计算机、移动电话、智能电话、平板计算机、车内计算机、电视机顶盒、视频会议系统、视频产生设备、视频摄像机、视频游戏控制台或处理信息的其它类型的装置。
在一些实例中,单个计算装置可实施源单元102、编码单元104、解码单元106以及呈现单元108中的两者或两者以上。举例来说,单个计算装置可实施源单元102和编码单元104。在此实例中,另一计算装置可实施解码单元106和呈现单元108。在其它实例中,不同计算装置实施源单元102、编码单元104、解码单元106以及呈现单元108。
在图1的实例中,计算装置103实施编码单元104,且计算装置107实施解码单元106。在一些实例中,计算装置103可提供除编码单元104之外的功能性。此外,在一些实例中,计算装置107可提供除解码单元106之外的功能性。
如上文简要提到,源单元102产生表示帧系列的视频数据。帧通常也被称为“图片”。当快速连续地向用户呈现视频数据中的帧系列(例如,每秒24或25帧)时,用户可感知帧中的对象处于运动中。
图2是说明视频数据中的实例帧系列200A到200P的概念图。本发明将帧200A到200P统称为“帧200”。视频数据表示自行车竞赛的场景。行202和204中的帧展示人骑自行车的场景。行206中的帧展示坐在桌子后面的两个解说员。行208中的帧从头顶展示自行车竞赛者的场景。场景内的每一帧可与前一帧稍稍不同。通过快速连续地呈现帧200,用户可感知这些场景中的运动。
现在继续参考图1的实例。在各种实例中,源单元102以各种方式产生视频数据。举例来说,源单元102可包括视频摄像机。在此实例中,视频摄像机从可见环境俘获图像。在另一实例中,源单元102可包括一个或一个以上传感器以用于医学、工业或科学成像。此类传感器可包含x射线检测器、磁共振成像传感器、粒子检测器等等。在又一实例中,源单元102可包括动画系统。在此实例中,一个或一个以上用户可使用动画系统来根据其想象绘画、起草、编程或以其它方式设计视频数据的内容。
编码单元104接收由源单元102产生的视频数据。编码单元104编码视频数据,使得较少数据表示视频数据中的帧系列。在一些情况下,以此方式编码视频数据对于确保视频数据可存储在给定类型的计算机可读媒体(例如DVD或CD-ROM)上来说可为必要的。此外,在一些情况下,以此方式编码视频数据对于确保视频数据可经由通信网络(例如因特网)有效率地传输来说可为必要的。
编码单元104可编码视频数据,其常常表达为视频帧序列或系列。为了编码视频数据,编码单元104可将这些帧分裂为可独立解码的部分(其通常被称为“切片”),编码单元104又可将切片分裂为若干树块。这些树块可经历某一形式的递归分层四元树分裂。编码单元104可执行此分裂以产生分层树状数据结构,其中根节点被称为“树块”。此分层树状数据结构的叶节点可被称为“译码节点”。“译码单元”或“CU”包含译码节点以及其它类型的信息,包含运动信息和变换信息。每一译码节点识别树块内的一样本块。在本发明中,由与CU相关联的译码节点识别的样本块可被称为CU的样本块。
编码单元104可使用矩形和/或几何分割模式来将CU的样本块分割为预测区域。当编码单元104使用几何分割模式来分割CU的样本块时,分割区域之间的边界可能不以直角与样本块的边缘交汇。编码单元104可关于每一预测区域执行某一形式的运动估计以产生每一预测区域的运动信息,例如运动向量。CU的“预测单元”或“PU”可含有指示CU的预测区域的信息、预测区域的运动信息和/或关于预测区域的其它信息。编码单元104可使用运动信息来产生预测块。
根据本发明的技术,编码单元104可基于CU的第一PU的大小作出是否执行平滑操作的确定。转变区出现在预测块的与CU的第一PU相关联的样本和预测块的与CU的第二PU相关联的样本之间的边界处。在编码单元104作出执行平滑操作的确定之后,编码单元104可执行平滑操作以使预测块的转变区中的样本平滑。
此外,根据本发明的技术,编码单元104可通过选择相邻区大小来确定预测块的样本是否在转变区中。在选择相邻区大小之后,编码单元104可识别预测块的转变区中的样本。当相邻区含有与CU的第一PU相关联的样本且还含有预测块的与CU的第二PU相关联的样本时,转变区包含与CU的第一PU相关联的所述样本。相邻区具有选定的相邻区大小。
编码单元104接着通过将CU的原始样本块与预测块进行比较来确定残余数据。在确定此残余数据之后,编码单元104可将变换应用于残余数据。因此,在将变换应用于从预测块导出的残余数据之前,编码单元104将平滑操作应用于预测块的转变区中的样本。为了变换此残余数据,编码单元104可将残余数据分割为一个或一个以上变换区域。编码单元104接着将一个或一个以上变换应用于残余数据的变换区域以产生经变换残余数据,其也可被称为“变换系数块”。此变换系数块通常将残余数据表达为变换系数块。接着将经变换残余数据存储到对应CU的变换单元(TU)。因此,CU包括译码节点或样本块、TU和CU,以及对于解码经变换残余数据来说可为必要的任何其它语法元素。
解码单元106接收经编码视频数据。在各种实例中,解码单元106可以各种方式接收经编码视频数据。举例来说,解码单元106可接收存储视频数据的计算机可读媒体,例如DVD。在另一实例中,解码单元106可从通信媒体(例如,因特网、局域网(LAN)、连接到另一计算装置的电缆,或无线连网链接)接收经编码视频数据。
在接收到经编码视频数据之后,解码单元106解码经编码视频数据。当解码单元106解码经编码视频数据时,解码单元106可产生视频数据中的帧的CU的预测块。解码单元106可接着确定是否对预测块的转变区中的样本执行平滑操作。所预测块的转变区可在预测块的与CU的第一PU相关联的样本和预测块的与CU的第二PU相关联的样本之间的边界处。在解码单元106作出对转变区中的样本执行平滑操作的确定之后,解码单元106执行平滑操作以使预测块的转变区中的样本平滑。
此外,根据本发明的技术,解码单元106可通过选择相邻区大小来确定预测块的样本是否在转变区中。在选择相邻区大小之后,解码单元106可识别预测块的转变区中的样本。当相邻区含有与CU的第一PU相关联的样本且还含有预测块的与CU的第二PU相关联的样本时,转变区包含与CU的第一PU相关联的所述样本。相邻区具有选定的相邻区大小。
呈现单元108从解码单元106接收经解码视频数据。在各种实例中,呈现单元108以各种方式接收经解码视频数据。举例来说,在单个计算装置提供解码单元106和呈现单元108的情况下,呈现单元108可经由一个或一个以上内部通信媒体(例如电缆或总线)来接收经解码视频数据。在另一实例中,呈现单元108可从一个或一个以上计算机可读媒体(例如,网络连接、DVD、CD-ROM、固态存储器装置等等)接收经解码视频数据。在接收到经解码视频数据之后,呈现单元108向一个或一个以上用户呈现经解码视频数据中的帧。
图3是说明编码单元104的实例配置的框图。在图3的实例中,编码单元104提供模式选择单元302、帧间预测单元304、帧内预测单元308、残余产生单元310、变换模块312、量化单元314、熵译码单元316、逆量化单元318、逆变换单元320、重构单元322以及参考帧存储器324。读者将理解,编码单元104的一些实例可包括较多、较少或不同单元。
在各种实例中,编码单元104以各种方式实施模式选择单元302、帧间预测单元304、帧内预测单元308、残余产生单元310、变换模块312、量化单元314、熵译码单元316、逆量化单元318、逆变换单元320、重构单元322以及参考帧存储器324。举例来说,当实施编码单元104的一个或一个以上计算装置的处理器执行存储在一个或一个以上计算机可读媒体上的某些计算机可读指令时,所述一个或一个以上计算装置可实施这些单元中的一者或一者以上。在此实例中,这些单元或模块可实施为或可不实施为若干片离散、模块化的计算机软件。在另一实例中,实施编码单元104的一个或一个以上计算装置可包括实施这些单元中的一者或一者以上的功能性的一个或一个以上专用集成电路(ASIC)。在一些实例中,这些单元的功能性可由单独的计算装置提供。
编码单元104接收表示视频数据的帧的数据。当编码单元104接收表示帧的数据时,编码单元104编码所述帧。为了便于阐释,本发明将正被编码的帧称为源帧。表示源帧的数据包括一个或一个以上样本块。
为了编码源帧,模式选择单元302在多个树块当中分割帧的样本块。在一些情况下,树块可为一N×N明度样本块以及两个对应的色度样本块。在一些实例中,块为样本或变换系数的二维阵列。在其它情况下,树块可为明度样本或色度样本阵列的块。
模式选择单元302可产生用于树块中的每一者的四元树。树块的四元树包括节点层级。最初,给定树块的四元树仅包括根节点。根节点对应于给定树块。模式选择单元302可将给定树块分割为多个较小样本块。当模式选择单元302将给定树块分割为多个较小样本块时,模式选择单元302将子节点添加到给定树块的四元树。子节点中的每一者对应于较小样本块中的不同者。在一些实例中,模式选择单元302可将所述较小样本块中的一者或一者以上再分为更加小的样本块。当模式选择单元302将较小样本块分割为更加小的样本块时,模式选择单元302可将孙节点添加到给定树块的四元树。孙节点中的每一者对应于更加小的样本块中的一者。孙节点为子节点的子代。模式选择单元302可在适当时继续分割给定树块并产生给定树块的四元树中的节点,直到预先配置的极限。四元树中不具有子节点(即,叶节点)的节点在本文中被称为译码节点。
译码节点中的每一者对应于不同CU。CU的译码节点为预测树和变换树的根节点。预测树存储CU的PU的信息。举例来说,预测树可指定PU的预测区域的大小和位置。CU的PU还可包括额外的相关联预测数据。变换树存储关于CU的TU的信息。举例来说,变换树可指定TU的变换区域的大小和位置。CU的TU还可包括额外的相关联变换数据。
图4是说明分割为树块400A到400P(统称为“树块400”)的实例帧200A的概念图。树块400中的每一者为正方形,且具有相同大小。举例来说,树块400的样本块可为32个样本宽乘以32个样本高(即,32×32)。在另一实例中,树块400的样本块可为64个样本宽乘以64个样本高(即,64×64)。
图5是说明树块400的另一实例分割的概念图。在图5的实例中,模式选择单元302已将树块400J的样本块分割为四个较小样本块500A到500D。此外,在图5的实例中,模式选择单元302已将样本块400D分割为四个样本块502A到502D。模式选择单元302已进一步将样本块502A再分为另外四个样本块504A到504D。
现在继续参考图3的实例。在模式选择单元302产生树块的四元树之后,帧间预测单元304对树块的每一CU执行帧间译码操作。当帧间预测单元304对CU执行帧间译码操作时,帧间预测单元304使用矩形和/或几何分割模式来将CU的样本块分割为预测区域。CU的PU指定这些预测区域。
在帧间预测单元304使用给定分割模式将样本块分割为两个或两个以上预测区域之后,帧间预测单元304可执行运动估计操作,所述运动估计操作产生与这些预测区域相关联的PU的运动信息。在运动估计操作期间,帧间预测单元304搜索参考帧以寻找PU的参考样本。PU的参考样本是参考帧的对应于PU的预测区域中的样本的部分。帧间预测单元304产生PU的运动信息以指示PU的参考样本。
帧间预测单元304使用CU的PU的参考样本来产生CU的预测块。CU的预测块为所预测样本块。CU的预测块可与CU的样本块稍稍不同。举例来说,预测块中的样本可具有与CU的样本块的对应样本稍稍不同的色彩或亮度。
根据本发明的技术,帧间预测单元304可作出是否对预测块的转变区中的样本执行平滑操作的确定。如果帧间预测单元304作出对转变区中的样本执行平滑操作的确定,那么帧间预测单元304执行平滑操作以使转变区中的样本平滑。此外,帧间预测单元304可自适应地识别预测块的转变区中的样本。举例来说,帧间预测单元304可选择相邻区大小。在选择相邻区大小之后,帧间预测单元304可识别转变区中的样本。在此实例中,当相邻区含有与CU的第一PU相关联的样本且还含有预测块的与CU的第二PU相关联的样本时,转变区包含与CU的第一PU相关联的所述样本。相邻区具有选定的相邻区大小。
帧内预测单元308可使用源帧的其它CU的样本块中的样本来产生CU的预测块。在各种实例中,帧内预测单元308以各种方式产生预测块。举例来说,帧内预测单元308可产生CU的预测块,使得相邻CU中的样本水平延伸越过或向下垂直延伸穿过预测块。帧内预测单元308还可选择最佳对应于CU的样本块的帧内预测模式。
在帧间预测单元304和帧内预测单元308产生CU的预测块之后,模式选择单元302可选择CU的预测块中的一者。如果模式选择单元302选择由帧内预测单元308产生的预测块,那么模式选择单元302可将语法元素添加到CU的译码节点,以指示在产生选定预测块时帧内预测单元308所使用的帧内预测模式。如果模式选择单元302选择由帧间预测单元304产生的预测块,那么模式选择单元302可将语法元素添加到CU的译码节点,所述语法元素指示使用了帧间预测来编码所述CU。另外,模式选择单元302可将语法元素添加到CU的预测树。举例来说,模式选择单元302可将指示CU的PU的大小和位置、PU的运动向量以及在帧间译码操作期间产生的其它数据的语法元素添加到预测树。此外,模式选择单元302可将语法元素添加到CU的变换树。举例来说,模式选择单元302可将指示CU的TU的大小和位置的语法元素添加到变换树。
在一些实例中,语法元素是以位流表示的数据元素。位流可为形成经译码图片的表示的位序列,以及形成一个或一个以上经译码视频序列的相关联数据。经译码视频序列可为存取单元序列。存取单元可为一组网络抽象层(NAL)单元,其在解码次序上是连续的且确切含有一个初级经译码图片。NAL单元可为含有将遵循的数据的类型的指示以及以在必要时点缀有防止仿真位的原始字节序列有效负载的形式含有所述数据的字节的语法结构。初级经译码图片可为待由解码过程用于位流的图片的经译码表示。
在模式选择单元302选择CU的预测块之后,残余产生单元310可使用CU的原始样本块和CU的选定预测块来产生CU的残余数据。在一些实例中,CU的残余数据可布置为残余数据的二维阵列(即,残余块)。CU的残余数据可表示CU的原始样本块与CU的预测块之间的差异。在各种实例中,残余产生单元310可以各种方式产生残余数据。举例来说,残余产生单元310可通过从CU的样本块中的样本中减去CU的预测块中的样本来产生CU的残余数据。
如上文简要提到,每一CU具有一个或一个以上TU。变换单元可包括变换树和相关联的变换数据。变换树可指定变换区域的大小和位置。举例来说,变换树可指示变换区域的左上角的位置。在此实例中,可从变换树中的对应节点的深度导出变换区域的大小。
当残余产生单元310产生CU的残余数据时,变换模块312可对CU的每一TU执行变换操作。当变换模块312对CU的TU执行变换操作时,变换模块312将残余数据的可应用样本从空间域变换为频域。变换模块312可将频域中的样本存储为变换系数块。残余数据的可应用样本可包含由TU指定的变换区域中的残余数据的样本。变换系数块是变换系数的二维阵列。在一些实例中,变换系数可为标量,其被视为在频域中,其与解码过程的逆变换部分中的特定一维或二维频率索引相关联。
当变换模块312对残余数据的样本执行变换操作时,变换模块312将数学变换应用于所述样本。举例来说,变换模块312可对样本执行离散余弦变换(DCT)以将样本从空间域变换为频域。
变换模块312可将所得的变换系数块提供给量化单元314。量化单元314可对变换系数块执行量化操作。当量化单元314执行量化操作时,量化单元314可量化变换系数块中的变换系数中的每一者,由此产生经量化变换系数块。经量化变换系数块是经量化变换系数的二维阵列。在各种实例中,量化单元314执行各种量化操作。举例来说,量化单元314可执行量化操作,其通过将变换系数除以量化参数且接着剪切所得商来量化变换系数。
在量化单元314对CU的变换系数块执行量化操作之后,熵译码单元316对CU的经量化变换系数块、CU的译码节点、CU的预测树以及CU的变换树执行熵译码操作。作为执行此熵译码操作的结果,熵译码单元316产生CU的经熵译码数据。在一些情况下,当熵译码单元316执行熵译码操作时,量化单元314可减少表示CU的数据所需的位的数目。在各种情况下,熵译码单元316可对CU的数据执行各种熵译码操作。举例来说,熵译码单元316可对CU的数据执行上下文自适应可变长度译码(CAVLC)操作或上下文自适应二进制算术译码(CABAC)操作。
编码单元104产生包含CU的经熵编码数据的位流。在各种实例中,编码单元104可产生包含CU的经熵编码数据的各种类型的位流。举例来说,编码单元104可输出NAL单元流。在此实例中,NAL单元流包括称为NAL单元的语法结构序列。NAL单元以解码次序排序。所述NAL单元中的一者或一者以上可包含CU的经熵编码数据。在另一实例中,编码单元104可输出字节流。编码单元104通过将NAL单元以解码次序排序且用开始代码前缀以及零或较多零值字节对每一NAL单元加前缀以形成字节流来从NAL单元流构造字节流。
逆量化单元318对经量化变换系数块执行逆量化操作。逆量化操作至少部分地反转由量化单元314执行的量化操作的效应,由此产生变换系数块。
逆变换单元320对由逆量化单元318产生的变换系数块执行逆变换操作。当逆变换单元320执行逆变换操作时,逆变换单元320反转由变换模块312执行的变换操作的效应,由此产生经重构残余数据。
重构单元322执行产生经重构样本块的重构操作。重构单元322基于经重构残余数据以及由帧间预测单元304或帧内预测单元308产生的预测块产生经重构样本块。在各种实例中,重构单元322执行各种重构操作。举例来说,重构单元322通过将经重构残余数据中的样本与预测块中的对应样本相加来执行重构操作。
参考帧存储器324存储经重构样本块。在编码单元104已编码源帧的每一CU的数据之后,编码单元104产生源帧中的每一CU的经重构样本块。因此,参考帧存储器324存储源帧的样本块的完整重构。模式选择单元302可将源帧的样本块的重构作为参考帧提供给帧间预测单元304。
图6是说明帧间预测单元304的实例配置的框图。在图6的实例中,帧间预测单元304包括运动估计单元602、运动补偿单元604以及TU产生单元606。运动补偿单元604包括平滑单元608。读者将理解,帧间预测单元304的其它实例配置可包含较多、较少或不同组件。
运动估计单元602可对CU的每一PU执行运动估计操作。运动补偿单元604可执行产生CU的预测块的运动补偿操作。TU产生单元606可执行产生CU的TU的变换单元选择操作。根据本发明的技术,平滑单元608可自适应地对预测块的转变区中的样本执行平滑操作。另外,平滑单元608可确定预测块的哪些样本在转变区中。尽管图12到21经描述为由平滑单元608执行的操作,但图12到21中所描述的操作可由解码单元106的运动补偿单元执行。
当运动估计单元602对CU执行运动估计操作时,运动估计单元602可产生一个或一个以上预测树。预测树中的每一者可与CU的不同PU相关联。预测树中的每一者可指定预测区域的位置和大小。为了便于阐释,本发明可将由PU的预测树指定的预测区域的位置或大小称为PU的位置或大小。
运动估计单元602可搜索一个或一个以上参考帧以寻找参考样本。PU的参考样本可为在视觉上对应于CU的样本块的属于PU的预测区域内的部分的参考帧的区域。如果运动估计单元602找到PU中的一者的此参考样本,那么运动估计单元602可产生运动向量。运动向量是描述PU的参考样本的空间位置与PU的空间位置之间的差异的一组数据。举例来说,运动向量可指示PU的参考样本比PU高五个样本且在PU右边第三个样本处。此外,在一些情况下,运动估计单元602可能不能够识别PU的参考样本。在此类情况下,运动估计单元602可针对PU选择跳过模式或直接模式。
在一些实例中,不是执行对PU的参考样本的搜索,而是运动估计单元602可预测PU的运动向量。在执行此运动向量预测中,运动估计单元602可选择针对源帧中的空间上相邻CU确定的运动向量或针对参考帧中位于同一位置处的CU确定的运动向量中的一者。运动估计单元602可执行运动向量预测而不是对参考样本的搜索,以便降低与确定每一分割区的运动向量相关联的复杂性。
运动补偿单元604使用PU的帧间译码模式来产生CU的预测块。如果运动估计单元602针对PU选择了跳过模式,那么运动补偿单元604可产生CU的预测块,使得预测块中与PU相关联的样本与参考帧中的并置样本匹配。如果运动估计单元602针对PU选择了直接模式,那么运动补偿单元604可产生预测块,使得预测块中与PU相关联的样本与CU的样本块中的并置样本匹配。如果运动估计单元602产生PU的运动向量,那么运动补偿单元604可产生预测块,使得预测块中与PU相关联的样本对应于参考帧的由运动向量指示的部分中的样本。如果运动估计单元602产生PU的多个运动向量,那么运动补偿单元604可产生预测块,使得预测块中与PU相关联的样本对应于多个参考帧的由PU的运动向量指示的部分中的样本。
图7是说明解码单元106的实例配置的框图。如图7的实例中所说明,解码单元106实施熵解码单元700、运动补偿单元702、帧内预测单元704、逆量化单元708、逆变换模块710、重构单元712以及参考帧存储器714。在各种实例中,解码单元106以各种方式实施这些组件。举例来说,当提供解码单元106的一个或一个以上计算装置的处理器执行某些计算机可读指令时,所述计算装置可实施这些单元。在此实例中,这些单元或模块可实施为或可不实施为若干片离散、模块化的计算机软件。在另一实例中,实施解码单元106的一个或一个以上计算装置可包括提供这些单元中的一者或一者以上的功能性的ASIC。
解码单元106接收表示视频数据的经编码位流。经编码位流可包括表示视频数据中的帧的数据。举例来说,经编码位流可包括表示帧200(图2)中的每一者的数据。当解码单元106接收表示帧的数据时,解码单元106解码所述数据以重构所述帧。为了便于阐释,本发明可将此帧称为源帧。
当解码单元106解码源帧的数据时,解码单元106接收源帧的每一CU的经编码数据。举例来说,解码单元106可接收CU的经量化变换系数块的经编码版本、CU的译码节点的经编码版本、CU的预测树的经编码版本以及CU的变换树的经编码版本。解码单元106接着解码源帧的每一CU的数据。当解码单元106解码给定CU的数据时,熵解码单元700接收给定CU的经编码数据。熵解码单元700对给定CU的经编码数据执行熵解码操作。熵解码操作反转由熵译码单元316(图3)执行的熵译码操作的效应。
熵解码单元700将CU的经量化变换系数块提供给逆量化单元708。熵解码单元700可将CU的译码数据提供给运动补偿单元702和/或帧内预测单元704,例如CU的译码节点、预测树和变换树。
当运动补偿单元702接收到CU的译码数据时,运动补偿单元702使用所述译码数据来执行产生CU的预测块的运动补偿操作。在运动补偿操作期间,运动补偿单元702可从参考帧存储器714检索一个或一个以上参考帧。运动补偿单元702可接着识别CU的PU的参考样本。PU的运动向量将参考帧内的区域识别为PU的参考样本。在识别CU的PU的参考样本之后,运动补偿单元702产生CU的预测块。在预测块中,CU的PU可含有CU的参考样本。
根据本发明的技术,运动补偿单元702可执行自适应地对预测块的转变区中的样本执行平滑操作的操作。举例来说,运动补偿单元702可执行图12到18以及20中所说明的实例操作中的一者。此外,在一些情况下,运动补偿单元702可确定哪些样本在转变区内。在一些实例中,运动补偿单元702可通过执行图20和21中所说明的实例操作来确定哪些样本在转变区内。
当帧内预测单元704接收到CU的译码数据时,帧内预测单元704使用源帧中的先前经解码样本块的经重构样本块来产生CU的预测块。帧内预测单元704可根据所指示的帧内预测模式来修改预测块中的样本。
逆量化单元708接收每一CU的一个或一个以上经量化变换系数块。当逆量化单元708接收到CU的经量化变换系数块时,逆量化单元708执行逆量化操作,其至少部分地反转由量化单元314(图3)执行的量化操作的效应,由此产生CU的未经量化变换系数块。
逆变换模块710对变换系数块执行逆变换操作。逆变换操作可反转由变换模块312(图3)执行的变换操作的效应,由此产生经重构残余数据。逆变换模块710将经重构残余数据提供给重构单元712。
重构单元712从运动补偿单元702和帧内预测单元704接收预测块。重构单元712还从逆变换模块710接收对应的经重构残余数据。重构单元712执行重构操作,其使用CU的经重构残余数据以及CU的预测块来产生CU的经重构样本块。在各种实例中,重构单元712可执行各种重构操作。举例来说,重构单元712可通过将CU的经重构残余数据中的样本与CU的预测块中的对应样本相加来产生CU的经重构样本块。
在产生CU的经重构样本块之后,重构单元712输出经重构样本块。重构单元712还将经重构样本块提供给参考帧存储器714。参考帧存储器714存储经重构样本块。运动补偿单元702和/或帧内预测单元704可随后使用经重构样本块来产生额外的预测块。
图8是说明由帧间预测单元304执行的实例帧间译码操作800的流程图。在编码单元104开始帧间译码操作800之后,运动估计单元602对CU的PU执行运动估计操作(802)。在一些情况下,运动估计单元602可通过在参考帧的搜索区域内搜索PU的参考样本来对PU执行运动估计操作。PU的参考样本可为参考帧的对应于由PU的预测树指定的预测区域的部分。如果运动估计单元602找到PU的参考样本,那么运动估计单元602可产生指示PU与PU的参考样本之间的位置差异的运动向量。在其它情况下,运动估计单元602可预测PU的运动向量。
在此一般框架内,运动估计单元602的各种实例可以各种方式执行运动估计操作。举例来说,运动估计单元602的不同实例可在搜索参考帧的对应于PU的部分时使用不同的搜索区域。在一些此类实例中,编码单元104具有控制由运动估计单元602使用的搜索区域的大小的搜索区域参数。搜索区域参数的值可由人类用户或由计算机程序设置。
在对CU的PU执行运动估计操作之后,运动补偿单元604执行运动补偿操作以产生CU的预测块(804)。此外,在操作800的执行期间,平滑单元608可执行自适应地对预测块的转变区中的样本执行平滑操作的操作(806)。平滑操作可使预测块的转变区中的样本平滑。转变区可出现在预测块的与CU的不同PU相关联的样本之间的边界处。举例来说,转变区可出现在预测块的与CU的第一PU相关联的样本与预测块的与第二PU相关联的样本之间的边界处。当预测块的样本在由PU的预测树指定的预测区域内时,所述样本可与所述PU相关联。
在一些实例中,使转变区域中的样本平滑可减少样本与相邻于所述样本的样本之间的差异。如本发明中别处所述,平滑单元608可通过执行平滑操作来改进CU的经解码样本块的译码效率和/或视觉外观。在各种实例中,平滑单元608执行各种平滑操作。在本发明中别处详细描述的图12到18以及20说明由平滑单元608执行以自适应地使预测块的转变区中的样本平滑的实例操作。
另外,TU产生单元606可执行变换选择操作以选择CU的TU的大小(808)。如上文所论述,变换模块312可接收CU的残余数据。变换模块312可接着对CU的每一TU执行变换操作。当变换模块312对TU执行变换操作时,变换模块312可将变换应用于残余数据的对应于TU的样本,由此产生TU的变换系数块。当残余数据的样本在由TU的变换树指定的变换区域内时,所述样本可对应于所述TU。当将变换系数块变换为样本块时,编码单元104中的逆变换单元320以及解码单元106中的逆变换模块710还使用具有选定变换大小的变换。
此外,帧间预测单元304可产生帧间预测语法元素(810)。帧间预测语法元素可提供关于CU和预测块的信息。举例来说,帧间预测语法元素可包含指示CU是否具有一个以上PU的语法元素。在此实例中,如果CU具有一个以上PU,那么帧间预测语法元素还可指示PU的预测区域的大小、形状和/或位置。在另一实例中,帧间预测语法元素可指定CU的PU的帧间预测模式。此外,帧间预测语法元素可包含基于CU的PU中的一者或一者以上的运动向量的数据。在另一实例中,帧间预测语法元素可指示CU的TU的大小和/或位置。在一些实例中,帧间预测语法元素的集合包含由H.264MPEG第10部分标准指定的帧间预测语法元素中的一些或全部。
如果模式选择单元302选择在步骤804中产生的预测块,那么帧间预测单元304可将预测块输出到残余产生单元310和重构单元322。此外,如果模式选择单元302选择在步骤804中产生的预测块,那么模式选择单元302可包含CU的译码节点、预测树和/或变换树中的帧间预测语法元素。
图9是说明实例矩形分割模式的概念图。如上文简要阐释,运动估计单元602可产生CU的一个或一个以上PU。PU中的每一者可具有指定预测区域的大小和位置的预测树。预测区域中的每一者可对应于CU的样本块的不同分割区。为了便于阐释,本发明可阐释当由PU的预测树指定的预测区域对应于CU的样本块的分割区时,PU对应于CU的样本块的分割区。
在各种实例中,运动估计单元602可使用各种分割模式来产生CU的PU。此类分割模式可包含矩形分割模式。在矩形分割模式中,PU对应于CU的样本块的矩形分割区。在一些实例中,运动估计单元602能够使用H.264MPEG第10部分标准中所定义的一些或所有矩形分割模式。
图9的实例说明矩形分割模式900A到900H(统称为“矩形分割模式900”)。在矩形分割模式900A中,运动估计单元602产生CU的单个PU。此PU的预测区域的大小与CU的样本块的大小相同。在矩形分割模式900B中,运动估计单元602产生CU的四个PU。使用矩形分割模式900B产生的PU对应于CU的样本块的四个同等大小的分割区。
在矩形分割模式900C到900H中,运动估计单元602产生CU的两个PU。使用矩形分割模式900C产生的PU对应于CU的样本块的同等大小的经水平划分的分割区。使用矩形分割模式900D产生的PU对应于CU的样本块的同等大小的经垂直划分的分割区。
使用矩形分割模式900E产生的PU对应于下部分割区大于上部分割区的样本块的经水平划分的分割区。在一些实例中,运动估计单元602可在样本块中高于样本块的水平中线的任何样本处水平分割样本块。使用矩形分割模式900F产生的PU对应于下部分割区小于上部分割区的样本块的经水平划分的分割区。在一些实例中,运动估计单元602可在样本块中低于样本块的水平中线的任何样本处水平分割样本块。
使用矩形分割模式900G产生的PU对应于左侧分割区小于右侧分割区的样本块的经垂直划分的分割区。在一些实例中,运动估计单元602可在样本块中在样本块的垂直中线左侧的任何样本处垂直分割样本块。使用矩形分割模式900H产生的PU对应于左侧分割区大于右侧分割区的样本块的经垂直划分的分割区。在一些实例中,运动估计单元602可在样本块中在样本块的垂直中线右侧的任何样本处垂直分割样本块。
图10是说明实例几何分割模式的概念图。在一些实例中,运动估计单元602使用几何分割模式来产生CU的两个PU。当运动估计单元602使用几何分割模式来产生CU的PU时,PU对应于CU的样本块的分割区,其边界不一定以直角与样本块的边缘交汇。
在图10的实例中,运动估计单元602使用几何分割模式将样本块1000分割为第一分割区1002和第二分割区1004。分割线1006分离第一分割区1002与第二分割区1004。为了便于阐释,图10说明样本块1000的垂直中线1008和水平中线1010。两个参数定义用以分割样本块1000的几何分割模式。在本发明中,这两个参数被称为θ(theta)和ρ(rho)。θ参数指示线1014从样本块1000的中心点延伸的角度1012。ρ参数指示线1014的长度1016。因此,θ和ρ参数充当极坐标以指示样本块1000内的点1018。定义分割线1006,使得分割线1006以直角与线1014交汇。在图10的实例中,分割线1006与样本块1000的边缘交汇的角度1020不是直角。以此方式,θ和ρ参数定义分割线1006的位置。通过使用θ和ρ参数的各个值,运动估计单元602可定义分割样本块1000的各个线。
分割线1006和线1014不一定在视觉上存在于样本块1000中,且在图10中经展示以说明可如何几何分割样本块1000。
图11是说明CU的预测块1202的转变区1200的概念图。在图11的实例中,预测块1202包含与CU的第一PU相关联的样本1204以及与CU的第二PU相关联的样本1206。分割线1208将样本1204与样本1206分离。转变区1200为预测块1202的出现在样本1204与样本1206之间的边界处的部分。在图11的实例中,转变区1200中的样本经展示为块。
下文详细描述的图12到18以及20说明用以自适应地使预测块的转变区中的样本平滑的实例操作。在这些实例操作中的每一者中,平滑单元608确定是否对转变区中的样本执行平滑操作。在一些情况下,可通过使转变区中的样本平滑来提高CU的译码效率。在其它情况下,可通过使转变区中的样本平滑来降低CU的译码效率。因此,通过自适应地对转变区中的样本执行平滑操作,编码单元104可提高CU的译码效率。
图12是说明用以自适应地使预测块的转变区中的样本平滑的实例操作1250的流程图。平滑单元608可执行操作1250作为对图13到18以及20中所说明的实例操作的替代例。
如上文所论述,残余产生单元310可将预测块的样本从CU的样本减去以产生残余数据。帧间预测单元304可产生CU的一个或一个以上TU。TU中的每一者指定变换区域。CU的残余数据在TU当中予以分割。为了便于阐释,本发明可将CU的残余数据的在TU的变换区域内的部分描述为在TU内。对于每一TU,变换模块312将变换应用于CU的残余数据在TU中的部分,以产生TU的变换系数块。
当TU的变换区域与PU的预测区域重叠时,CU的TU可横跨CU的两个或两个以上PU。当CU的TU横跨CU的两个或两个以上PU时,PU之间的分割线的相对侧上的样本之间较可能存在色彩或亮度的尖锐不连续性。在一些实例中,与在变换模块312将变换应用于不具有有尖锐不连续性的样本的TU时相比,变换模块312在变换模块312将变换应用于具有有尖锐不连续性的样本的TU时产生具有较重要(即,非零)系数的变换系数块。
将平滑滤波器应用于变换区中的样本可减少与不同PU相关联的预测块的部分之间的分割线的相对侧上的样本之间的色彩或亮度的不连续性。因为可通过应用平滑滤波器来减少不连续性,所以变换模块312可产生具有较少重要系数的变换系数块。
然而,如果TU整个出现在一个PU内。那么将平滑滤波器应用于TU中的样本可增加CU的预测块与CU的原始样本块之间的差异,从而产生较复杂的残余数据。变换模块312可产生对于较复杂的残余数据具有较重要系数的变换系数块。
在平滑单元608开始操作1250之后,平滑单元608确定CU的TU是否横跨CU的多个PU(1252)。如果平滑单元608确定CU的TU横跨CU的多个PU,那么平滑单元608作出对CU的预测块的转变区中的样本执行平滑操作的确定。因此,如果平滑单元608确定CU的TU横跨CU的多个PU(1252的“是”),那么平滑单元608识别CU的预测块的转变区中的样本(1254),且对转变区中的样本执行平滑操作(1256)。否则,如果平滑单元608确定TU并不横跨多个PU(1252的“否”),那么平滑单元608不对转变区中的样本执行平滑操作(1258)。
在各种实例中,平滑单元608以各种方式识别转变区中的样本。举例来说,平滑单元608可使用图20中所说明的实例转变样本识别操作,或图21中所说明的实例转变样本识别操作,以识别转变区中的样本。
在各种实例中,平滑单元608可对转变区中的样本执行各种平滑操作。举例来说,平滑单元608可对转变区中的样本执行重叠块运动补偿(OBMC)平滑操作。在OBMC平滑操作中,平滑单元608产生转变区中的样本中的每一者的两个预测。平滑单元608通过识别由PU中的一者的运动向量指示的参考帧的样本来产生给定样本的第一预测。平滑单元608通过识别由PU中的另一者的运动向量指示的参考帧的样本来产生给定样本的第二预测。如果PU中的一者不具有运动向量,那么平滑单元608可通过将相同空间位置处的参考帧的样本识别为给定样本来产生预测。
此外,在OBMC平滑操作中,平滑单元608掺合转变区中的每一样本的预测。在各种实例中,平滑单元608以各种方式掺合给定实例的预测。举例来说,平滑单元608可通过计算预测的经加权平均值来掺合给定样本的预测。在各种实例中,平滑单元608可将不同权重给予所述预测。举例来说,平滑单元608可基于含有给定样本的PU的运动向量将权重3/4给予预测,且可基于另一PU的运动向量将权重1/4给予预测。
在其它实例中,平滑单元608可执行基于滤波器的平滑操作。当平滑单元608执行基于滤波器的平滑操作时,平滑单元608可将一个或一个以上滤波器应用于转变区中的样本。在此类基于滤波器的平滑操作中,平滑单元608可将各种平滑滤波器应用于转变区中的所识别样本。在此实例中,平滑单元608可将以下3×3平滑滤波器应用于转变区中的每一样本:
1/15 2/15 1/15
2/15 3/15 2/15
1/15 2/15 1/15
在此实例中,当平滑单元608将平滑滤波器应用于给定样本时,给定样本的新值的1/15是基于给定样本上方和左侧的样本,新值的2/15是基于给定样本上方的样本,新值的1/15是基于给定样本上方和右侧的样本,新值的2/15是基于给定样本左侧的样本,新值的3/15是基于给定样本的当前值,新值的2/15是基于给定样本右侧的样本,新值的1/15是基于给定样本下方和左侧的样本,新值的2/15是基于给定样本下方的样本,且新值的1/15是基于给定样本下方和右侧的样本。平滑单元608可将其它平滑滤波器应用于转变区中的样本。举例来说,平滑单元608可应用具有不同权重的平滑滤波器。在另一实例中,平滑单元608可应用其它大小(例如5×5、7×7等)的平滑滤波器。
在一些实例中,操作1250是用于译码视频数据的方法的部分。所述方法包括产生视频数据的帧中的CU的预测块。所述方法还包括通过计算装置基于CU的TU是否横跨CU的多个PU来确定是否对预测块的转变区的样本执行平滑操作。转变区位于预测块的与CU的第一PU相关联的样本和预测块的与CU的第二PU相关联的样本之间的边界处。所述方法还包括在计算装置作出对转变区中的样本执行平滑操作的确定之后,执行平滑操作以使预测块的转变区中的样本平滑。
在一些实例中,平滑单元608可基于TU是否横跨多个PU且基于其它因素作出是否执行平滑操作的确定。举例来说,平滑单元608可基于TU是否横跨多个PU且基于CU的PU的大小作出是否执行平滑操作的确定。
图13是说明用以自适应地使预测块的转变区中的样本平滑的另一实例操作1300的流程图。平滑单元608可执行操作1300作为对执行图12、14到18以及20中所说明的实例操作的替代例。
平滑单元608可执行操作1300以确定是否对预测块的转变区中的样本执行平滑操作。在操作1300中,平滑单元608基于CU的PU的大小作出是否对转变区中的样本执行平滑操作的确定。在一些情况下,CU的PU可相对较小。在此类情况下,使PU之间的转变区中的样本平滑可能不改进图像质量或显著改进译码效率。
在平滑单元608开始操作1300之后,平滑单元608确定PU中的一者的大小是否低于给定阈值(1302)。在一些实例中,PU的大小为由PU的预测树指定的预测区域的大小。在各种实例中,平滑单元608可确定PU的大小是否低于各种阈值。举例来说,如果PU具有大小M×N,那么平滑单元608可确定M或N中的任一者是否小于4。在一些实例中,将给定阈值预先配置到编码单元104和解码单元106中。在其它实例中,编码单元104和解码单元106以编程方式确定给定阈值。
在各种实例中,平滑单元608可以各种方式确定PU中的一者的大小是否低于给定阈值。举例来说,编码单元104可存储查找表。查找表含有对应于不同PU大小的条目。条目中的每一者指示对应PU大小高于还是低于给定阈值。
如果PU的大小不低于给定阈值(1302的“否”),那么平滑单元608作出对转变区中的样本执行平滑操作的确定。举例来说,如果PU具有大小M×N,那么当M或N为四或大于四时,平滑单元608可作出对转变区中的样本执行平滑操作的确定。因此,如果PU的大小不低于给定阈值(1302的“否”),那么平滑单元608识别转变区中的样本(1304),且接着对转变区中的样本执行平滑操作(1306)。否则,如果PU中的一者的大小低于给定阈值(1302的“是”),那么平滑单元608作出不对转变区中的样本执行平滑操作的确定(1308)。在各种实例中,平滑单元608可以各种方式识别转变区中的样本。举例来说,平滑单元608可使用图19和21中所说明的实例操作来识别转变区中的样本。此外,在各种实例中,平滑单元608可对转变区中的样本执行各种平滑操作。举例来说,平滑单元608可执行一个或一个以上OBMC或基于滤波器的平滑操作,如上文关于图12所述。
在其它实例中,平滑单元608可执行操作1300的一版本,其中平滑单元608确定变换的大小是否低于阈值,而不是确定PU的大小是否低于阈值。当基于预测块将残余数据从空间域转换为频域时,变换模块312可使用所述变换。因此,平滑单元608可基于变换的大小确定是否对转变区中的样本执行平滑操作。
在一些实例中,操作1300是用于译码视频数据的方法的部分。所述方法包括产生视频数据的帧中的CU的预测块。所述方法还包括通过计算装置基于CU的PU的大小或基于变换的大小来确定是否对预测块的转变区的样本执行平滑操作。转变区位于预测块的与CU的第一PU相关联的样本和预测块的与CU的第二PU相关联的样本之间的边界处。所述方法还包括在计算装置作出对转变区中的样本执行平滑操作之后,执行平滑操作以使预测块的转变区中的样本平滑。
在一些实例中,平滑单元608可基于PU或变换的大小且基于其它因素作出是否执行平滑操作的确定。举例来说,平滑单元608可基于PU或变换的大小且基于CU的PU的运动向量作出是否执行平滑操作的确定。
图14是说明用以自适应地使预测块的转变区中的样本平滑的另一实例操作1400的流程图。平滑单元608可执行操作1400作为对执行图12、13、15到18以及20中所说明的实例操作的替代例。
当运动估计单元602对CU的PU执行运动估计操作时,运动估计单元602可产生PU中的每一者的运动向量。举例来说,如果CU具有第一PU和第二PU,那么运动估计单元602可产生第一运动向量和第二运动向量。第一运动向量指示第一PU与第一参考样本之间的空间位置差异。第一参考样本是参考帧内对应于第一PU的区域。第二运动向量指示第二分割单元与第二参考样本之间的空间位置差异。第二参考样本是参考帧内对应于第二PU的区域。
在平滑单元608开始操作1400之后,平滑单元608接收CU的PU的运动向量(1402)。平滑单元608接着将函数应用于PU的运动向量(1404)。所述函数产生结果值。在各种实例中,平滑单元608可将各种函数应用于运动向量。举例来说,平滑单元608可应用计算将运动向量中的一者从另一运动向量减去所得值的绝对值的函数。在另一实例中,平滑单元608可应用基于针对相邻PU确定的运动向量的振幅以及所预测运动向量的函数。在此实例中,可从以下各项中的一者或一者以上预测所预测运动向量:针对相邻预测单元确定的运动向量,以及针对参考帧中位于同一位置处的预测单元确定的运动向量。
在将函数应用于运动向量之后,平滑单元608确定结果值是否超过阈值(1406)。在各种实例中,平滑单元608可确定结果值是否超过各种阈值。举例来说,如果结果是运动向量之间的差的绝对值,那么平滑单元608可确定结果值是否大于阈值。在此实例中,阈值可为1个整数像素。在一些实例中,阈值为在编码单元104和解码单元106两者处设置的预定参数。在其它实例中,编码单元104可产生指定阈值的语法元素,且将所述语法元素提供给解码单元106。举例来说,编码单元104可将阈值作为与CU相关联的序列参数集中的语法元素提供给解码单元106。
如果函数的结果值超过给定阈值(1406的“是”),那么平滑单元608作出对转变区中的样本执行平滑操作的确定。因此,如果函数的结果值超过给定阈值(1406的“是”),那么平滑单元608识别转变区中的样本(1408),且对转变区中的样本执行平滑操作(1410)。否则,如果函数的结果值不超过给定阈值(1406的“否”),那么平滑单元608不对转变区中的样本执行平滑操作(1412)。以此方式,平滑单元608至少部分地基于第一运动向量和第二运动向量来确定是否对转变区中的样本执行平滑操作。在各种实例中,平滑单元608可以各种方式识别转变区中的样本。举例来说,平滑单元608可使用图19和21中所说明的实例操作来识别转变区中的样本。此外,在各种实例中,平滑单元608可对转变区中的样本执行各种平滑操作。举例来说,平滑单元608可执行一个或一个以上OBMC或基于滤波器的平滑操作,如上文关于图12所述。
在一些实例中,平滑单元608可基于运动向量且基于其它因素作出是否执行平滑操作的确定。举例来说,平滑单元608可基于运动向量且基于CU的PU的大小来作出是否执行平滑操作的确定。举例来说,平滑单元608可在运动向量之间的差大于给定阈值且CU中的PU的大小超过阈值时,作出执行平滑操作的确定。
图15是说明用以自适应地使预测块的转变区中的样本平滑的另一实例操作1500的流程图。帧间预测单元304可执行平滑确定操作1500,作为对执行图12到14、16到18以及20所说明的实例操作的替代例。在图15的实例中,平滑单元608基于给定CU的PU的帧间预测方向性来确定是否对给定CU的残余数据的转变区中的样本执行平滑操作。PU的帧间预测方向性可确定CU的预测块的与PU相关联的部分是否基于来自一个或两个参考帧的参考样本。
编码单元104可将帧编码为帧内帧(即,“I帧”)、预测帧(即,“P帧”)或双向预测帧(即,“B帧”)。类似地,编码单元104可将帧的切片编码为帧内切片(即,“I切片”)、预测切片(即,“P切片”)或双向切片(即,“B切片”)。如果编码单元104将帧或切片编码为I帧或I切片,那么帧或切片内的PU可仅为经帧内预测的PU。如果编码单元104将帧或切片编码为P帧或P切片,那么帧或切片内的PU可为经帧内预测的PU或经单向预测的PU。如果编码单元104将帧或切片编码为B帧或B切片,那么帧或切片内的PU可为经帧内预测的PU、经单向预测的PU或经双向预测的PU。运动补偿单元604和/或运动补偿单元702可在不参考其它帧或切片的情况下,产生预测块的与经帧内预测的PU相关联的部分。运动补偿单元604和/或运动补偿单元702可基于视频数据中的单个参考帧,产生预测块的与经单向预测的PU相关联的部分。在一些情况下,仅具有经单向预测的PU的CU可被称为经单向预测或单向预测CU。运动补偿单元604和/或运动补偿单元702可基于两个参考帧而产生预测块的与经双向预测的PU相关联的部分。在一些情况下,包含一个或一个以上经双向预测的PU的CU可被称为经双向预测或双向预测CU。
举例来说,当给定PU为经单向预测的PU时,编码单元104搜索单个参考帧以寻找给定PU的参考样本。此单个参考帧可在给定PU的帧之前或之后临时出现。换句话说,所述单个参考帧可在LIST_0中或LIST_1中。编码单元104可接着使用给定PU的参考样本来产生CU的预测块的与给定PU相关联的部分。
当给定PU为经双向预测的PU时,编码单元104可搜索两个参考帧以获得给定PU的两个参考样本。参考帧中的一者可在给定PU的帧之前临时出现,且参考帧中的一者可在给定PU的帧之后临时出现。为了产生CU的预测块,编码单元104可执行关于给定PU的掺合操作。当编码单元104执行关于给定PU的掺合操作时,编码单元104可基于给定PU的两个参考样本产生预测块的与给定PU相关联的部分。举例来说,编码单元104可基于给定PU的两个参考样本中的样本的经加权平均值来产生预测块的与给定PU相关联的部分。
与对不包含经双向预测的PU的CU的预测块中的样本执行OBMC平滑操作相比,对包含经双向预测的PU的CU(即,双向预测CU)的预测块中的样本执行OBMC平滑操作可能需要从存储器检索相对较多的数据。因此,在CU包含经双向预测的PU时抑制执行平滑操作可减少从存储器检索的数据的量,且加速编码或解码过程。
如图15的实例中所说明,平滑单元608可确定CU是否具有经双向预测的PU(1502)。如果CU不具有经双向预测的PU(1502的“否”),那么平滑单元608作出对CU的预测块的转变区的样本执行平滑操作的确定。因此,如果CU不具有经双向预测的PU(1502的“否”),那么平滑单元608识别转变区中的样本(1504),且对转变区中的样本执行平滑操作(1506)。在其它实例中,平滑单元608可在CU具有经双向预测的PU时作出对转变区中的样本执行平滑操作的确定。在另一实例中,CU可具有两个PU,且PU中的一者为经双向预测的PU。为了执行OBMC平滑操作,平滑单元608可能需要使用经双向预测的PU的两个参考样本来导出转变区中的样本的子集(这将增加如先前所阐释从存储器检索的数据的量)。因此,在此实例中,平滑单元608可作出不对转变区的与经双向预测的PU相关联的样本的子集执行OBMC平滑操作的确定。平滑单元608还可基于另一PU是否为经双向预测的PU而作出对转变区的与所述另一PU相关联的其它样本执行OBMC平滑操作的确定。
在各种实例中,平滑单元608可以各种方式识别转变区中的样本。举例来说,平滑单元608可使用图19和21中所说明的实例操作来识别转变区中的样本。此外,在各种实例中,平滑单元608可对转变区中的样本执行各种平滑操作。举例来说,平滑单元608可执行一个或一个以上OBMC或基于滤波器的平滑操作,如上文关于图12所述。
否则,如果CU具有经双向预测的PU(1502的“是”),那么平滑单元608不对CU的预测块的转变区中的样本执行平滑操作(1508)。因此,如果CU具有经双向预测的PU,那么平滑单元608不将平滑操作应用于预测块的转变区中的样本。以此方式,平滑单元608基于CU的PU的帧间预测方向性且因此基于CU的帧间预测方向性来作出是否执行平滑操作的确定。
在一些实例中,平滑单元608可基于CU的PU的帧间预测方向性且基于其它因素作出是否执行平滑操作的确定。举例来说,平滑单元608可基于PU的帧间预测方向性且基于CU的PU的大小来作出是否执行平滑操作的确定。举例来说,平滑单元608可在CU不具有双向预测PU且CU中的PU的大小超过阈值时,作出执行平滑操作的确定。
图16是说明用以自适应地使预测块的转变区中的样本平滑的另一实例操作1600的流程图。平滑单元608可执行操作1600作为对执行图12到15、17、18以及20的实例所说明的操作的替代例。
当帧间预测单元304执行操作1600时,平滑单元608识别CU的预测块的转变区中的样本(1602)。在各种实例中,平滑单元608可以各种方式识别转变区中的样本。举例来说,平滑单元608可使用图19和21中所说明的实例操作来识别转变区中的样本。
在识别转变区中的样本之后,平滑单元608确定转变区中与CU的不同PU相关联的样本之间的差异量(1604)。举例来说,平滑单元608可确定转变区中与CU的第一PU相关联的样本和转变区中与CU的第二PU相关联的样本之间的差异量。
平滑单元608接着确定分割线的相对侧上的样本之间的差异量是否超过给定阈值(1606)。在不同实例中,平滑单元608确定差异量是否超过各种阈值。举例来说,平滑单元608可确定分割线的相对侧上的对应样本之间的差异量是否大于二。在一些实例中,人类用户可配置给定阈值。在其它实例中,编码单元104和解码单元106以编程方式确定给定阈值。
如果分割线的相对侧上的样本之间的差异超过给定阈值(1606的“是”),那么平滑单元608可对转变区中的样本执行平滑操作(1608)。举例来说,如果分割线的相对侧上的对应样本之间的差异为二或小于二,那么平滑单元608可对转变区中的样本执行平滑操作。在各种实例中,平滑单元608可对样本执行各种平滑操作。举例来说,平滑单元608可对转变区中的样本执行基于OBMC或基于滤波器的平滑操作,如上文关于图12所述。否则,如果分割线的相对侧上的样本之间的差异不超过给定阈值(1606的“否”),那么平滑单元608不对转变区中的样本执行平滑操作(1610)。以此方式,平滑单元608可至少部分地基于转变区中与CU的一个PU相关联的样本和转变区中与CU的另一PU相关联的样本之间的差异量来确定是否执行平滑操作。
在一些实例中,平滑单元608可基于转变区中与不同PU相关联的样本之间的差异量且基于其它因素作出是否执行平滑操作的确定。举例来说,平滑单元608可基于转变区中与不同PU相关联的样本之间的差异量且基于CU的PU的大小作出是否执行平滑操作的确定。
图17是说明用以自适应地使预测块的转变区中的样本平滑的另一实例操作1700的流程图。平滑单元608可执行操作1700作为对执行图12到16、18和20中所说明的实例操作的替代例。当帧间预测单元304执行操作1700时,帧间预测单元304可选择性地对转变区中的样本执行平滑操作。换句话说,帧间预测单元304不一定使转变区中的所有样本平滑。
当帧间预测单元304执行操作1700时,平滑单元608执行转变样本识别操作以识别CU的预测块的转变区中的样本(1702)。在各种实例中,平滑单元608可执行各种转变样本识别操作。举例来说,平滑单元608可执行图19中所说明的实例转变样本识别操作,或图21中所说明的实例转变样本识别操作。
在识别转变区中的样本之后,平滑单元608确定转变区中是否存在剩余样本(1704)。如果转变区中存在一个或一个以上剩余样本(1704的“是”),那么平滑单元608选择转变区中的剩余样本中的一者(1706)。在平滑单元608选择样本之后,平滑单元608可不将所述样本视为剩余样本。
平滑单元608接着确定选定样本是否满足特定准则(1708)。如果选定样本满足所述准则(1708的“是”),那么平滑单元608对选定样本执行平滑操作(1710)。举例来说,平滑单元608可对选定样本执行基于OBMC或基于滤波器的平滑操作。如果选定样本不满足所述准则(1708的“否”),那么平滑单元608不对选定样本执行平滑操作(1712)。在任一情况下,平滑单元608再次确定转变区中是否存在剩余样本(1704)。如果转变区中存在剩余样本,那么平滑单元608可关于剩余样本重复步骤1706、1708、1710和1712。
在各种实例中,平滑单元608可确定选定样本是否满足各种准则。举例来说,如果选定样本在CU的给定PU中,那么平滑单元608可确定选定样本满足所述准则。在此实例中,如果选定样本在CU的另一PU中,那么平滑单元608可确定选定样本不满足所述准则。以此方式,平滑单元608可对给定PU中的样本但不对另一PU中的样本执行平滑操作。举例来说,当平滑单元608执行平滑操作时,平滑单元608修改转变区中与CU的第一PU相关联的样本,且不修改转变区中与CU的第二PU相关联的样本。
在另一实例中,平滑单元608可接收序列参数集(SPS)。在此实例中,如果SPS指定所述样本,那么平滑单元608可确定样本满足准则。在此实例中,如果SPS不指定所述样本,那么平滑单元608可确定所述样本不满足准则。
图18是说明用以自适应地使预测块的转变区中的样本平滑的另一实例操作1800的流程图。帧间预测单元304可执行操作1800,作为对执行图12到17和20中所说明的实例操作的替代例。在图18的实例中,平滑单元608从多个可用平滑操作当中自适应地选择一平滑操作。在一些实例中,从多个可用平滑操作当中自适应地选择一平滑操作可产生较大的译码效率和/或图像质量。
在平滑单元608开始操作1800之后,平滑单元608确定是否对CU的预测块的转变区中的样本执行第一平滑操作(1802)。如果平滑单元608作出对转变区中的样本执行第一平滑操作的确定(1802的“是”),那么平滑单元608可识别转变区中的样本(1804),且接着对转变区中的样本执行第一平滑操作(1806)。在各种实例中,平滑单元608可以各种方式作出执行第一平滑操作的确定。举例来说,平滑单元608可使用图12到17中所说明的实例操作以作出是否执行第一平滑操作的确定。在此实例中,如果CU的大小为32×32或16×16,那么平滑单元608可作出将第一平滑操作应用于转变区中的样本的确定。
否则,如果平滑单元608作出不执行第一平滑操作的确定(1802的“否”),那么平滑单元608可确定是否对转变区中的样本执行第二平滑操作(1808)。如果平滑单元608作出对转变区中的样本执行第二平滑操作的确定(1808的“是”),那么平滑单元608可识别转变区中的样本(1810),且对转变区中的样本执行第二平滑操作(1812)。在各种实例中,平滑单元608可以各种方式作出执行第二平滑操作的确定。举例来说,平滑单元608可使用图12到17中所说明的实例操作以作出执行第二平滑操作的确定。在此实例中,如果CU的大小为8×8,且如果CU的帧间预测方向为经双向预测的CU,那么平滑单元608可作出将第二平滑操作应用于转变区中的样本的确定。因此,当平滑单元608执行操作1800时,平滑单元608可基于上文所述操作的组合来确定是否执行平滑操作。
在执行第一平滑操作、执行第二平滑操作之后,或在作出不执行第二平滑操作的确定之后,平滑单元608可输出语法元素,其指示对转变区中的样本执行哪一(如果存在的话)平滑操作(1814)。当将CU作为参考帧的部分重构时,编码单元104中的运动补偿单元604可使用此语法元素。另外,当重构CU的预测块时,解码单元106中的运动补偿单元702可使用此语法元素。
第一和第二平滑操作可为相同或不同类型的平滑操作。举例来说,第一平滑内核配置第一平滑操作,且第二平滑内核可配置第二平滑操作。在此实例中,所述内核定义由平滑滤波器执行的平滑的类型和程度。在此实例中,平滑单元608可基于变换的大小、CU的PU的大小、针对相邻PU确定的运动向量的振幅以及所预测运动向量来作出是否执行第一平滑操作的确定。在此实例中,从针对相邻预测单元确定的运动向量以及针对参考帧中位于同一位置处的预测单元确定的运动向量中的一者或一者以上预测运动向量。
在另一实例中,第一平滑操作可为基于OBMC的平滑操作,且第二平滑操作可为基于滤波器的平滑操作。因为第一和第二平滑操作可为不同类型的平滑操作,所以第一平滑操作和第二平滑操作可产生预测块的不同于彼此的版本。
图19是说明实例转变样本识别操作2100的流程图。平滑单元608可执行转变样本识别操作2100以识别预测块的转变区中的样本。在平滑单元608开始转变样本识别操作2100之后,平滑单元608选择相邻区的大小(2102)。换句话说,平滑单元608选择相邻区大小。在各种实例中,平滑单元608可选择各种相邻区大小。举例来说,平滑单元608可选择3×3、5×5、7×7或另一大小作为相邻区大小。
在各种实例中,平滑单元608以各种方式选择相邻区大小。举例来说,编码单元104和解码单元106可存储指示大小的预定相邻区大小语法元素。在此实例中,编码单元104和解码单元106读取相邻区大小语法元素,且使用相邻区大小语法元素来选择相邻区大小。
在另一实例中,编码单元104存储指示大小的相邻区大小参数。在一些实例中,编码单元104和/或解码单元106从人类用户接收相邻区大小参数。在其它实例中,以编程方式设置相邻区大小参数。编码单元104使用相邻区大小参数来选择相邻区大小。另外,编码单元104用信号将相邻区大小通知给解码单元106。举例来说,编码单元104可在图片参数集(PPS)中或指示相邻区大小的切片参数集(SPS)中输出语法元素。
在另一实例中,在平滑单元608执行转变样本识别操作2100之前,编码单元104可针对以下各者选择相邻区大小:多媒体内容的帧、包含当前帧的图片群组、另一CU、CU群组、子CU群组、当前帧的切片、当前帧的两个或两个以上部分,或多媒体内容的另一部分。在此实例中,编码单元104可基于某些准则来选择相邻区大小,且明确地用信号将选定相邻区大小通知给解码器。平滑单元608基于先前针对多媒体内容的与CU相关联的部分选择的相邻区大小选择相邻区大小。
在又一实例中,平滑单元608可基于CU的特性选择相邻区大小。在各种实例中,平滑单元608可基于CU的各种特性来选择相邻区大小。举例来说,平滑单元608可基于CU的大小选择相邻区大小。在另一实例中,平滑单元608可基于CU中的PU的运动向量来选择相邻区大小。在此实例中,平滑单元608可基于运动向量的振幅来选择相邻区大小。在又一实例中,平滑单元608可基于CU的PU的预测模式(即,跳过模式、直接模式、帧间模式或帧内模式)来选择相邻区大小。在又一实例中,平滑单元608可基于预测块中的样本的差异来选择相邻区大小。
在又一实例中,平滑单元608可基于编码视频数据中的其它CU的结果来选择相邻区大小。举例来说,平滑单元608可确定:针对其它CU使用较大相邻区大小产生的预测块产生比使用较小相邻区大小产生的预测块少的失真,或反之亦然。在其它实例中,可基于先前经编码CU的分割模式、先前经编码CU的分割模式、先前经编码CU的运动向量来确定相邻区大小。基于此确定,平滑单元608可选择趋向于产生具有最低失真等级的预测块的相邻区大小。
在选择相邻区大小之后,平滑单元608识别转变区中的样本。如下文所述,当相邻区含有与CU的给定PU相关联的样本且还含有预测块的与CU的另一PU相关联的样本时,转变区包含与CU的给定PU相关联的所述样本。所述相邻区具有选定相邻区大小。为了识别转变区中的样本,平滑单元608可确定预测块中是否存在任何剩余样本(2104)。如果预测块中存在一个或一个以上剩余样本(2104的“是”),那么平滑单元608选择剩余样本中的一者(2106)。在平滑单元608选择样本之后,平滑单元608不将所述样本视为预测块的剩余样本。平滑单元608接着识别与选定样本相关联的PU(2108)。
接下来,平滑单元608识别相邻区中的样本(2110)。相邻区是预测块的具有选定相邻区大小且含有选定样本的区(2110)。在一些实例中,相邻区居中定位于选定样本上。举例来说,如果相邻区为3×3正方形,那么选定样本将为3×3正方形的中心样本。在另一实例中,相邻区不居中定位于选定样本上。举例来说,如果相邻区为3×3正方形,那么选定样本可位于3×3正方形的顶部、底部、左边缘或右边缘上。因此,如果相邻区不居中定位于选定样本上,那么转变区可进一步延伸到一个PU中而不是另一PU中。
在一些实例中,帧间预测单元304可使用平滑单元608来多次执行转变样本识别操作2100。举例来说,平滑单元608可对居中定位于选定样本上的相邻区执行转变样本识别操作2100一次,且对不居中定位于选定区上的相邻区执行转变样本识别操作2100一次。帧间预测单元304可评估当相邻区居中定位于选定样本上时或当相邻区不居中定位于选定样本上时,预测块是否具有较少失真。帧间预测单元304可选择具有较少失真的预测块。
在识别相邻区中的样本之后,平滑单元608确定相邻区中的样本中的任一者是否在与选定样本不同的PU中(2112)。如果相邻区中的样本中的任一者位于与选定样本不同的PU中(2112的“是”),那么平滑单元608将选定样本识别为在转变区中(2114)。否则,如果相邻区中的样本中无一者位于与选定样本不同的PU中(2112的“否”),那么平滑单元608不将选定样本识别为在转变区中(2116)。在任一情况下,平滑单元608可再次确定预测块中是否存在剩余样本(2104)。
如果预测块中存在剩余样本,那么平滑单元608可关于预测块中的剩余样本重复步骤2106、2108、2110、2112、2114和2116。如果预测块中不存在剩余样本(2104的“否”),那么平滑单元608结束转变样本识别操作2100。
图20是说明平滑单元608的另一实例操作2200的流程图。在平滑单元608开始操作2200之后,平滑单元608识别CU的预测块的第一转变区中的样本(2202)。在各种实例中,平滑单元608以各种方式识别第一转变区中的样本。举例来说,平滑单元608可测试预测块中的样本。当平滑单元608测试给定样本时,平滑单元608可确定相邻区中的样本是否与CU的不同于给定样本的PU相关联。在此实例中,相邻区可具有各种大小。举例来说,相邻区可为3×3正方形。
平滑单元608接着识别预测块的第二转变区中的样本(2204)。在各种实例中,平滑单元608以各种方式识别第二转变区中的样本。举例来说,平滑单元608可测试预测块中的样本。在此实例中,当平滑单元608测试给定样本时,平滑单元608确定相邻区中的样本是否与CU的不同于给定样本的PU相关联。在此实例中,平滑单元608可识别第二转变区中的预测块的样本,其中如果含有与CU的第一PU相关联的样本的相邻区含有与CU的第二PU相关联的样本,那么所述样本位于第二转变区中。在此实例中,如果含有与第二PU相关联的样本的相邻区含有与第一PU相关联的样本,那么所述样本位于第二转变区中。在此实例中,相邻区为预测块的包含给定样本的区。相邻区的大小可不同于用以识别第一转变区中的样本的相邻区的大小。举例来说,用以识别第一转变区中的样本的相邻区的大小可为3×3,且用以识别第二转变区中的样本的相邻区的大小可为5×5。
平滑单元608接着对第一转变区中的样本执行第一平滑操作(2206)。平滑单元608对第二转变区中的样本执行第二平滑操作(2208)。第二平滑操作可与第一平滑操作不同。举例来说,第一和第二平滑操作可均为基于OBMC的平滑操作。然而,在此实例中,基于OBMC的平滑操作可以不同方式掺合所预测样本。举例来说,基于OBMC的平滑操作可针对来自不同PU的预测使用不同权重。举例来说,在此实例中,如果样本与CU的第一PU相关联且也在第一转变区中,那么平滑单元608可针对来自CU的第一PU的预测使用权重3/4,且针对来自CU的第二PU的预测使用权重1/4。在此实例中,如果样本与第一PU相关联且也在第二转变区中,那么平滑单元608可针对来自第一PU的预测使用权重7/8,且针对来自第二PU的预测使用权重1/8。在另一实例中,平滑操作中的一者可为基于OBMC的平滑操作,且平滑操作中的一者可为基于滤波器的平滑操作。在又一实例中,第一和第二平滑操作可均为基于滤波器的平滑操作。然而,在此实例中,用于第一和第二平滑操作中的滤波器可不同。
以此方式,平滑单元608可以不同方式使预测块的不同部分平滑。这可产生较大的译码效率和/或较低量的失真。
图21是说明另一实例转变样本识别操作2300的流程图。平滑单元608可执行转变样本识别操作2300以识别CU的预测块的转变区中的样本。在平滑单元608开始转变样本识别操作2300之后,平滑单元608确定预测块中是否存在任何剩余样本(2302)。如果预测块中存在一个或一个以上剩余样本(2304的“是”),那么平滑单元608选择剩余样本中的一者(2304)。在平滑单元608选择样本之后,平滑单元608不将所述样本视为预测块的剩余样本。平滑单元608接着识别CU的与选定样本相关联的PU(2306)。
接下来,平滑单元608选择与相关联于选定样本的PU相关联的相邻区大小(2308)。不同PU可与不同的相邻区大小相关联。举例来说,CU可具有第一PU和第二PU。在此实例中,第一PU可与3×3个样本的相邻区大小相关联,且第二区PU可与5×5个样本的相邻区大小相关联。在此实例中,如果选定样本与第一PU相关联,那么平滑单元608选择3×3个样本的相邻区大小。在此实例中,如果选定样本与第二PU相关联,那么平滑单元608选择5×5个样本的相邻区大小。
在各种实例中,PU可以各种方式与相邻区大小相关联。举例来说,编码单元104和解码单元106可存储且/或接收单独地指示与PU相关联的相邻区大小的数据。在另一实例中,编码单元104和解码单元106可存储且/或接收指示与第一PU相关联的相邻区大小的数据。在此实例中,编码单元104和解码单元106可从与第一PU相关联的相邻区大小导出与第二PU相关联的相邻区大小。
平滑单元608接着识别相邻区中的样本(2310)。相邻区是预测块的具有选定相邻区大小且含有选定样本的区。类似于上文所论述的实例转变样本识别操作2100,相邻区可居中定位于选定样本上或不居中定位于选定样本上。
在识别相邻区中的样本之后,平滑单元608确定相邻区中的样本中的任一者是否与不同于选定样本的PU相关联(2312)。如果相邻区中的样本中的任一者与不同于选定样本的PU相关联(2312的“是”),那么平滑单元608将选定样本识别为在转变区中(2314)。否则,如果相邻区中的样本中无一者与不同于选定样本的PU相关联(2312的“否”),那么平滑单元608不将选定样本识别为在转变区中(2316)。在任一情况下,平滑单元608可再次确定预测块中是否存在剩余样本(2302)。
如果预测块中存在剩余样本,那么平滑单元608可关于预测块中的剩余样本重复步骤2304、2306、2308、2310、2312、2314和2316。如果预测块中不存在剩余样本(2302的“否”),那么平滑单元608结束转变样本识别操作2300。
在一些情况下,转变样本识别操作2300实施一种方法,所述方法包括产生视频数据的帧中的CU的预测块,所述CU具有第一PU和第二PU。所述方法还包括选择预测块中的第一样本,以及确定第一样本与第一PU相关联。所述方法还包括借助计算装置通过确定第一PU与第一相邻区大小相关联来选择第一相邻区大小。所述方法还包括当具有第一相邻区大小的相邻区含有第一样本且还含有与第二PU相关联的样本时,将第一样本识别为在第一转变区内。所述方法还包括:选择预测块中的第二样本;确定第二样本与第二PU相关联;以及确定第二PU与第二相邻区大小相关联。第二相邻区大小不同于第一相邻区大小。所述方法还包括当具有第二相邻区大小的相邻区含有第二样本且还含有与第一PU相关联的样本时,将第二样本识别为在第一转变区内。所述方法还包括对第一转变区中的样本执行第一平滑操作。
在一个或一个以上实例中,所描述的功能可以硬件、软件、固件或其任何组合来实施。如果实施于软件中,那么所述功能可作为一个或一个以上指令或代码存储在计算机可读媒体上或经由计算机可读媒体而传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于例如数据存储媒体等有形媒体,或包含例如根据通信协议促进计算机程序从一处到另一处的传送的任何媒体的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波的通信媒体。数据存储媒体可为可由一个或一个以上计算机或一个或一个以上处理器存取以检索指令、代码和/或数据结构以供实施本发明中所描述的技术的任何可用媒体。计算机程序产品可包含计算机可读媒体。
在一个或一个以上实例中,所描述的功能可以硬件、软件、固件或其任何组合来实施。如果实施于软件中,那么所述功能可作为一个或一个以上指令或代码存储在计算机可读媒体上或经由计算机可读媒体而传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于例如数据存储媒体等有形媒体,或包含例如根据通信协议促进计算机程序从一处到另一处的传送的任何媒体的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波的通信媒体。数据存储媒体可为可由一个或一个以上计算机或一个或一个以上处理器存取以检索指令、代码和/或数据结构以供实施本发明中所描述的技术的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例(而非限制),所述计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置,或其它磁性存储装置,快闪存储器,或可用于存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。同样,可恰当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴电缆、光纤缆线、双绞线、DSL或例如红外线、无线电及微波等无线技术包含于媒体的定义中。然而,应理解,计算机可读存储媒体和数据存储媒体不包含连接、载波、信号或其它瞬态媒体,而是针对非瞬态有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘使用激光以光学方式再现数据。上文的组合也应包含在计算机可读媒体的范围内。
指令可由一个或一个以上处理器执行,例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA),或其它等效集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文所述的功能性可提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或并入在组合式编码解码器中。并且,可将所述技术完全实施于一个或一个以上电路或逻辑元件中。
本发明的技术可在广泛多种装置或设备中实施,包含无线手机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元,以强调经配置以执行所揭示技术的装置的功能方面,但不一定要求由不同硬件单元来实现。相反,如上文所述,各种单元可组合在编码解码器硬件单元中,或由互操作硬件单元的集合提供,包含如上文所述的一个或一个以上处理器,结合合适的软件和/或固件。
已描述了各种实例。这些和其它实例在由所附权利要求书定义的本发明的范围内。

Claims (35)

1.一种译码视频数据的方法,所述方法包括:
执行运动补偿操作以产生所述视频数据的帧中的译码单元CU的预测块,所述CU具有第一预测单元PU和第二PU;
由计算装置适应性地选择相邻区大小;
在选择所述相邻区大小之后,识别所述预测块的转变区中的样本,其中识别所述转变区中的所述样本包括:
识别具有选定相邻区大小且含有选定样本的区中的样本;以及
当所述区中的所述样本中的任何者位于与所述选定样本不同的PU中时,将所述选定样本识别为位于所述转变区中;
响应于识别所述样本在所述转变区内,对所述转变区中的样本的每一者产生两种预测并掺合对所述转变区中的每一样本的两种预测;以及
对所述转变区中的所述样本执行平滑操作。
2.根据权利要求1所述的方法,
其中所述方法进一步包括从用户接收相邻区大小参数,所述相邻区大小参数指定所述相邻区大小;且
其中选择所述相邻区大小包括使用所述相邻区大小参数来选择所述相邻区大小。
3.根据权利要求1所述的方法,其中选择所述相邻区大小包括基于所述CU的特性选择所述相邻区大小。
4.根据权利要求3所述的方法,其中基于所述CU的特性选择所述相邻区大小包括基于所述CU的大小选择所述相邻区大小。
5.根据权利要求1所述的方法,其中选择所述相邻区大小包括基于所述PU的预测模式选择所述相邻区大小。
6.根据权利要求1所述的方法,其中选择所述相邻区大小包括基于所述PU的运动向量选择所述相邻区大小。
7.根据权利要求1所述的方法,其中选择所述相邻区大小包括基于所述预测块中的样本的差异选择所述相邻区大小。
8.根据权利要求1所述的方法,其中选择所述相邻区大小包括基于编码所述视频数据中的其它CU的结果选择所述相邻区大小。
9.根据权利要求1所述的方法,其中所述区居中定位于相应样本上。
10.根据权利要求1所述的方法,其中所述区不居中定位于所述相应样本上。
11.根据权利要求1所述的方法,其中:
所述转变区为第一转变区,所述平滑操作为第一平滑操作,且
所述方法进一步包括:
识别所述预测块的在第二转变区中的样本,其中如果含有与所述第一PU相关联的样本的区含有与所述第二PU相关联的样本,那么与所述第一PU相关联的所述样本位于所述第二转变区中,其中如果含有与所述第二PU相关联的样本的区含有与所述第一PU相关联的样本,那么与所述第二PU相关联的所述样本位于所述第二转变区中,用以确定样本是否位于所述第二转变区中的所述区具有与用以确定样本是否在所述转变区中的所述区不同的大小;以及
对所述第二转变区中的所述样本执行第二平滑操作,所述第二平滑操作不同于所述第一平滑操作。
12.根据权利要求1所述的方法,其中当具有所述相邻区大小的区含有所述第二PU中的样本且还含有所述第一PU中的样本时,所述转变区包含所述第二PU中的所述样本。
13.根据权利要求1所述的方法,
其中所述相邻区大小为第一相邻区大小;
其中所述方法进一步包括:
选择所述预测块中的第一样本;
确定所述第一样本与所述第一PU相关联;
选择所述预测块中的第二样本;
确定所述第二样本与所述第二PU相关联;
确定所述第二PU与第二相邻区大小相关联,所述第二相邻区大小不同于所述第一相邻区大小;以及
当具有所述第二相邻区大小的区含有所述第二样本且还含有与所述第一PU相关联的样本时,将所述第二样本识别为在所述转变区内。
14.根据权利要求1所述的方法,其中选择所述相邻区大小包括基于先前针对与所述CU相关联的多媒体内容的一部分选择的相邻区大小选择所述相邻区大小,与所述CU相关联的所述多媒体内容的所述部分是当前帧、另一CU、CU群组、子CU群组、所述当前帧的切片以及所述当前帧的两个或两个以上部分中的一者。
15.根据权利要求1所述的方法,
其中译码所述视频数据包括编码所述视频数据;且
其中所述方法进一步包括使用所述CU的原始样本块和所述预测块来产生所述CU的残余数据。
16.根据权利要求1所述的方法,其中:
译码所述视频数据包括解码所述视频数据;且
所述方法进一步包括使用所述CU的经重构残余数据和所述预测块来产生所述CU的经重构样本块。
17.根据权利要求1所述的方法,其中所述计算装置选自包含以下各项中的一者或多者的群组:蜂窝电话、个人计算机、膝上型计算机、智能电话、平板计算机、车内计算机、电视机顶盒、视频会议系统、视频产生设备、视频摄像机、视频游戏控制台或处理信息的其它类型的装置。
18.一种译码视频数据的计算装置,所述计算装置包括处理器,所述处理器经配置以:
执行运动补偿操作以产生所述视频数据的帧中的译码单元CU的预测块,所述CU具有第一预测单元PU和第二PU;
适应性地选择相邻区大小;
在选择所述相邻区大小之后,识别所述预测块的转变区中的样本,其中为了识别所述转变区中的所述样本,所述处理器:
识别具有选定相邻区大小且含有选定样本的区中的样本;以及
当所述区中的所述样本中的任何者位于与所述选定样本不同的PU中时,将所述选定样本识别为位于所述转变区中;
响应于识别所述样本在所述转变区内,对所述转变区中的样本的每一者产生两种预测并掺合对所述转变区中的每一样本的两种预测;以及
对所述转变区中的所述样本执行平滑操作。
19.根据权利要求18所述的计算装置,其中所述处理器经配置以:
从用户接收相邻区大小参数,所述相邻区大小参数指定所述相邻区大小;以及
使用所述相邻区大小参数来选择所述相邻区大小。
20.根据权利要求18所述的计算装置,其中所述处理器经配置以基于所述CU的特性选择所述相邻区大小。
21.根据权利要求20所述的计算装置,其中所述处理器经配置以基于所述CU的大小选择所述相邻区大小。
22.根据权利要求18所述的计算装置,其中所述处理器经配置以基于所述第一PU的预测模式选择所述相邻区大小。
23.根据权利要求18所述的计算装置,其中所述处理器经配置以基于所述第一PU的运动向量选择所述相邻区大小。
24.根据权利要求18所述的计算装置,其中所述处理器经配置以基于所述预测块中的样本的差异选择所述相邻区大小。
25.根据权利要求18所述的计算装置,其中所述处理器经配置以基于编码所述视频数据中的其它CU的结果选择所述相邻区大小。
26.根据权利要求18所述的计算装置,其中所述区居中定位于相应样本上。
27.根据权利要求18所述的计算装置,其中所述区不居中定位于所述相应样本上。
28.根据权利要求18所述的计算装置,其中:
所述转变区为第一转变区,且
所述处理器经配置以:
识别所述预测块的在第二转变区中的样本,其中如果含有与所述第一PU相关联的样本的区含有与所述第二PU相关联的样本,那么与所述第一PU相关联的所述样本位于所述第二转变区中,其中如果含有与所述第二PU相关联的样本的区含有与所述第一PU相关联的样本,那么与所述第二PU相关联的所述样本位于所述第二转变区中,用以确定样本是否位于所述第二转变区中的所述区具有与用以确定样本是否在所述转变区中的所述区不同的大小;以及
对所述第二转变区中的所述样本执行第二平滑操作,所述第二平滑操作不同于所述平滑操作。
29.根据权利要求18所述的计算装置,其中当具有所述相邻区大小的区含有所述第二PU中的样本且还含有所述第一PU中的样本时,所述转变区包含所述第二PU中的所述样本。
30.根据权利要求18所述的计算装置,
其中所述相邻区大小为第一相邻区大小,
其中所述处理器经进一步配置以:
选择所述预测块中的第一样本;
确定所述第一样本与所述第一PU相关联;
选择所述预测块中的第二样本;
确定所述第二样本与所述第二PU相关联;
确定所述第二PU与第二相邻区大小相关联,所述第二相邻区大小不同于所述第一相邻区大小;以及
当具有所述第二相邻区大小的区含有所述第二样本且还含有与所述第一PU相关联的样本时,将所述第二样本识别为在所述转变区内。
31.根据权利要求18所述的计算装置,其中所述处理器经配置以基于先前针对与所述CU相关联的多媒体内容的一部分选择的相邻区大小选择所述相邻区大小,与所述CU相关联的所述多媒体内容的所述部分是当前帧、另一CU、CU群组、子CU群组、所述当前帧的切片以及所述当前帧的两个或两个以上部分中的一者。
32.根据权利要求18所述的计算装置,
其中所述计算装置编码所述视频数据;且
其中所述处理器经进一步配置以使用所述CU的原始样本块和所述预测块来产生所述CU的残余数据。
33.根据权利要求18所述的计算装置,
其中所述计算装置解码所述视频数据;且
其中所述处理器经进一步配置以使用所述CU的经重构残余数据和所述预测块来产生所述CU的经重构样本块。
34.根据权利要求18所述的计算装置,其中所述计算装置选自包含以下各项中的一者或多者的群组:蜂窝电话、个人计算机、膝上型计算机、智能电话、平板计算机、车内计算机、电视机顶盒、视频会议系统、视频产生设备、视频摄像机、视频游戏控制台或处理信息的其它类型的装置。
35.一种译码视频数据的计算装置,所述计算装置包括:
用于执行运动补偿操作以产生所述视频数据的帧中的译码单元CU的预测块的装置,所述CU具有第一预测单元PU和第二PU;
用于适应性地选择相邻区大小的装置;
用于在选择所述相邻区大小之后识别所述预测块的转变区中的样本的装置,其中所述用于识别所述转变区中的所述样本的装置:
识别具有选定相邻区大小且含有选定样本的区中的样本;且
当所述区中的所述样本中的任一者位于与所述选定样本不同的PU中时,将所述选定样本识别为位于所述转变区中;
用于响应于识别所述样本在所述转变区内,对所述转变区中的样本的每一者产生两种预测并掺合对所述转变区中的每一样本的两种预测的装置;以及
用于对所述转变区中的所述样本执行平滑操作的装置。
CN201180064656.4A 2011-01-10 2011-12-07 转变区中的样本的识别 Active CN103299625B (zh)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201161431408P 2011-01-10 2011-01-10
US61/431,408 2011-01-10
US201161450532P 2011-03-08 2011-03-08
US201161450538P 2011-03-08 2011-03-08
US61/450,538 2011-03-08
US61/450,532 2011-03-08
US201161537450P 2011-09-21 2011-09-21
US61/537,450 2011-09-21
US13/311,834 US9807424B2 (en) 2011-01-10 2011-12-06 Adaptive selection of region size for identification of samples in a transition zone for overlapped block motion compensation
US13/311,834 2011-12-06
PCT/US2011/063795 WO2012096730A1 (en) 2011-01-10 2011-12-07 Identification of samples in a transition zone

Publications (2)

Publication Number Publication Date
CN103299625A CN103299625A (zh) 2013-09-11
CN103299625B true CN103299625B (zh) 2017-09-22

Family

ID=46455221

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201180064450.1A Active CN103299624B (zh) 2011-01-10 2011-12-07 自适应地执行平滑操作
CN201180064656.4A Active CN103299625B (zh) 2011-01-10 2011-12-07 转变区中的样本的识别

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201180064450.1A Active CN103299624B (zh) 2011-01-10 2011-12-07 自适应地执行平滑操作

Country Status (7)

Country Link
US (3) US9807424B2 (zh)
EP (2) EP2664138A1 (zh)
JP (2) JP5752809B2 (zh)
KR (2) KR101540167B1 (zh)
CN (2) CN103299624B (zh)
ES (1) ES2891175T3 (zh)
WO (2) WO2012096730A1 (zh)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9736500B2 (en) * 2009-07-06 2017-08-15 Thomson Licensing Methods and apparatus for spatially varying residue coding
US9807424B2 (en) 2011-01-10 2017-10-31 Qualcomm Incorporated Adaptive selection of region size for identification of samples in a transition zone for overlapped block motion compensation
US8724854B2 (en) * 2011-04-08 2014-05-13 Adobe Systems Incorporated Methods and apparatus for robust video stabilization
US9143795B2 (en) 2011-04-11 2015-09-22 Texas Instruments Incorporated Parallel motion estimation in video coding
US9369723B2 (en) * 2011-07-14 2016-06-14 Comcast Cable Communications, Llc Preserving image quality in temporally compressed video streams
US20130083840A1 (en) * 2011-09-30 2013-04-04 Broadcom Corporation Advance encode processing based on raw video data
US9883203B2 (en) * 2011-11-18 2018-01-30 Qualcomm Incorporated Adaptive overlapped block motion compensation
US9544612B2 (en) * 2012-10-04 2017-01-10 Intel Corporation Prediction parameter inheritance for 3D video coding
US9813730B2 (en) * 2013-12-06 2017-11-07 Mediatek Inc. Method and apparatus for fine-grained motion boundary processing
US10230980B2 (en) * 2015-01-26 2019-03-12 Qualcomm Incorporated Overlapped motion compensation for video coding
US10306229B2 (en) 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
US10250904B2 (en) * 2015-05-05 2019-04-02 Avago Technologies International Sales Pte. Limited Apparatus and method for overlapped motion compensation for video coding
EP3340622A4 (en) * 2015-08-20 2019-03-20 Nippon Hoso Kyokai IMAGE ENCODING DEVICE, IMAGE DECODING DEVICE, AND PROGRAMS THEREOF
US10212444B2 (en) 2016-01-15 2019-02-19 Qualcomm Incorporated Multi-type-tree framework for video coding
US11223852B2 (en) 2016-03-21 2022-01-11 Qualcomm Incorporated Coding video data using a two-level multi-type-tree framework
US10623774B2 (en) 2016-03-22 2020-04-14 Qualcomm Incorporated Constrained block-level optimization and signaling for video coding tools
US10560712B2 (en) 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
KR20180021942A (ko) 2016-08-22 2018-03-06 광운대학교 산학협력단 보안 카메라용 영상 코덱에서 블록 분할 정보 전송 방법 및 장치
US10863186B2 (en) * 2016-08-26 2020-12-08 Sharp Kabushiki Kaisha Image decoding apparatus and image coding apparatus
US10609423B2 (en) 2016-09-07 2020-03-31 Qualcomm Incorporated Tree-type coding for video coding
US10674175B2 (en) * 2016-09-22 2020-06-02 Lg Electronics Inc. Inter-prediction method and apparatus in image coding system
US10880570B2 (en) 2016-10-05 2020-12-29 Qualcomm Incorporated Systems and methods of adaptively determining template size for illumination compensation
US10448010B2 (en) 2016-10-05 2019-10-15 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding
US10848788B2 (en) 2017-01-06 2020-11-24 Qualcomm Incorporated Multi-type-tree framework for video coding
US10645408B2 (en) * 2017-09-17 2020-05-05 Google Llc Dual deblocking filter thresholds
US11877001B2 (en) 2017-10-10 2024-01-16 Qualcomm Incorporated Affine prediction in video coding
WO2019078581A1 (ko) * 2017-10-16 2019-04-25 디지털인사이트주식회사 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
EP3704857A1 (en) * 2017-11-01 2020-09-09 VID SCALE, Inc. Overlapped block motion compensation
EP3738310A4 (en) 2018-01-11 2021-08-11 Qualcomm Incorporated VIDEO ENCODING USING LOCAL LIGHTING COMPENSATION
KR102207258B1 (ko) * 2018-01-15 2021-01-25 삼성전자주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
WO2019147403A1 (en) 2018-01-29 2019-08-01 Interdigital Vc Holdings, Inc. Encoding and decoding with refinement of the reconstructed picture
US10715810B2 (en) 2018-02-20 2020-07-14 Qualcomm Incorporated Simplified local illumination compensation
US11233996B2 (en) * 2018-02-22 2022-01-25 Lg Electronics Inc. Image decoding method and apparatus according to block division structure in image coding system
KR20200123787A (ko) 2018-02-26 2020-10-30 인터디지털 브이씨 홀딩스 인코포레이티드 일반화된 obmc를 위한 방법 및 장치
WO2019201203A1 (en) 2018-04-16 2019-10-24 Mediatek Inc. Methods and apparatuses of video processing with overlapped block motion compensation in video coding systems
CN112514394A (zh) * 2018-07-17 2021-03-16 松下电器(美国)知识产权公司 用于视频编码的系统和方法
CN111147850B (zh) 2018-11-02 2022-10-11 北京字节跳动网络技术有限公司 用于基于历史的运动矢量预测的表维护
CN112997489B (zh) * 2018-11-06 2024-02-06 北京字节跳动网络技术有限公司 具有几何分割的帧间预测的边信息信令
CN112219400B (zh) * 2018-11-06 2024-03-26 北京字节跳动网络技术有限公司 依赖位置的对运动信息的存储
CN113170184A (zh) * 2018-11-22 2021-07-23 北京字节跳动网络技术有限公司 默认运动候选的配置方法
US11323748B2 (en) 2018-12-19 2022-05-03 Qualcomm Incorporated Tree-based transform unit (TU) partition for video coding
CN113170166B (zh) 2018-12-30 2023-06-09 北京字节跳动网络技术有限公司 具有几何分割的帧间预测在视频处理中有条件的应用
US20200213595A1 (en) * 2018-12-31 2020-07-02 Comcast Cable Communications, Llc Methods, Systems, And Apparatuses For Adaptive Processing Of Non-Rectangular Regions Within Coding Units
US11122297B2 (en) * 2019-05-03 2021-09-14 Google Llc Using border-aligned block functions for image compression
CN114097228B (zh) 2019-06-04 2023-12-15 北京字节跳动网络技术有限公司 具有几何分割模式编解码的运动候选列表
WO2020244546A1 (en) * 2019-06-05 2020-12-10 Beijing Bytedance Network Technology Co., Ltd. Motion information derivation for inter prediction
KR20220030995A (ko) 2019-07-14 2022-03-11 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 변환 블록 크기 제한
WO2021057996A1 (en) * 2019-09-28 2021-04-01 Beijing Bytedance Network Technology Co., Ltd. Geometric partitioning mode in video coding
EP4131958A4 (en) * 2020-04-03 2023-04-26 Guangdong Oppo Mobile Telecommunications Corp., Ltd. INTERFRAME PREDICTION METHOD, ENCODER, DECODER AND STORAGE MEDIUM

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1812580A (zh) * 2005-01-04 2006-08-02 三星电子株式会社 去块控制方法及使用该方法的多层视频编码器/解码器
CN101848391A (zh) * 2005-09-26 2010-09-29 三菱电机株式会社 运动图像编码装置以及运动图像译码装置

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2853553B2 (ja) 1994-02-22 1999-02-03 日本電気株式会社 動画像符号化方式
US5649032A (en) * 1994-11-14 1997-07-15 David Sarnoff Research Center, Inc. System for automatically aligning images to form a mosaic image
US5818969A (en) 1995-05-12 1998-10-06 Intel Corporation Intelligent start for motion estimation search
GB2317525B (en) * 1996-09-20 2000-11-08 Nokia Mobile Phones Ltd A video coding system
FI106071B (fi) 1997-03-13 2000-11-15 Nokia Mobile Phones Ltd Mukautuva suodatin
US6868114B2 (en) * 2001-01-18 2005-03-15 The Titan Corporation Interference suppression in a spread spectrum communications system using non-linear frequency domain excision
US6728415B2 (en) * 2001-03-30 2004-04-27 Hewlett-Packard Development Company, L.P. Method and apparatus for image processing using adaptive convolution filters
US6983078B2 (en) 2001-05-01 2006-01-03 Hewlett-Packard Development Company, L.P. System and method for improving image quality in processed images
EP1404136B1 (en) 2001-06-29 2018-04-04 NTT DoCoMo, Inc. Image encoder, image decoder, image encoding method, and image decoding method
US7110455B2 (en) * 2001-08-14 2006-09-19 General Instrument Corporation Noise reduction pre-processor for digital video using previously generated motion vectors and adaptive spatial filtering
WO2003021936A2 (en) 2001-09-05 2003-03-13 Emblaze Semi Conductor Ltd Method for reducing blocking artifacts
US8107535B2 (en) * 2003-06-10 2012-01-31 Rensselaer Polytechnic Institute (Rpi) Method and apparatus for scalable motion vector coding
US7539248B2 (en) 2004-04-29 2009-05-26 Mediatek Incorporation Adaptive de-blocking filtering apparatus and method for MPEG video decoder
CN1981536A (zh) 2004-05-04 2007-06-13 高通股份有限公司 运动补偿帧速率上调方法和设备
TW200607355A (en) * 2004-05-04 2006-02-16 Qualcomm Inc Method and apparatus for motion compensated frame rate up conversion for block-based low bit rate video
US20080309817A1 (en) 2004-05-07 2008-12-18 Micronas Usa, Inc. Combined scaling, filtering, and scan conversion
WO2005124664A2 (en) 2004-06-14 2005-12-29 Precoad, Inc. Image clean-up and pre-coding
KR100621584B1 (ko) 2004-07-15 2006-09-13 삼성전자주식회사 스무딩 필터를 이용하는 비디오 디코딩 방법 또는 비디오디코더
EP1797722B1 (en) * 2004-10-05 2019-05-29 Vectormax Corporation Adaptive overlapped block matching for accurate motion compensation
JP4191729B2 (ja) 2005-01-04 2008-12-03 三星電子株式会社 イントラblモードを考慮したデブロックフィルタリング方法、及び該方法を用いる多階層ビデオエンコーダ/デコーダ
US9258519B2 (en) * 2005-09-27 2016-02-09 Qualcomm Incorporated Encoder assisted frame rate up conversion using various motion models
GB0600141D0 (en) 2006-01-05 2006-02-15 British Broadcasting Corp Scalable coding of video signals
US7974478B2 (en) * 2006-08-24 2011-07-05 Dell Products L.P. Methods and apparatus for reducing storage size
US9014280B2 (en) 2006-10-13 2015-04-21 Qualcomm Incorporated Video coding with adaptive filtering for motion compensated prediction
KR101016224B1 (ko) 2006-12-12 2011-02-25 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 인코더, 디코더 및 시간 영역 데이터 스트림을 나타내는 데이터 세그먼트를 인코딩하고 디코딩하는 방법
US8804829B2 (en) * 2006-12-20 2014-08-12 Microsoft Corporation Offline motion description for video generation
KR101680951B1 (ko) 2007-04-12 2016-11-29 톰슨 라이센싱 비디오 인코더에서 고속으로 기하학적 모드를 결정하기 위한 방법들 및 장치
US8428133B2 (en) * 2007-06-15 2013-04-23 Qualcomm Incorporated Adaptive coding of video block prediction mode
US8169216B2 (en) * 2007-07-20 2012-05-01 Medical College Of Georgia Research Institute, Inc. System and method for synthesizing crossing ADC distributions via reassembly of multiple k-spaces
CN103124354B (zh) * 2007-09-28 2016-01-20 杜比实验室特许公司 处理视频信息
CN101822064A (zh) * 2007-10-16 2010-09-01 汤姆逊许可公司 用于几何分割超级块的视频编码和解码的方法和设备
CN101878486B (zh) 2007-11-30 2016-10-26 杜比实验室特许公司 处理运动图像序列的方法和设备
US9445121B2 (en) 2008-08-04 2016-09-13 Dolby Laboratories Licensing Corporation Overlapped block disparity estimation and compensation architecture
KR101543298B1 (ko) 2008-10-13 2015-08-10 에스케이 텔레콤주식회사 동영상 부호화/복호화 장치 및 그를 위한 가변 단위의 적응적 중첩 블록 움직임 보상 장치 및 방법
WO2010151334A1 (en) 2009-06-26 2010-12-29 Thomson Licensing Methods and apparatus for video encoding and decoding using adaptive geometric partitioning
US20100329362A1 (en) 2009-06-30 2010-12-30 Samsung Electronics Co., Ltd. Video encoding and decoding apparatus and method using adaptive in-loop filter
US8879632B2 (en) 2010-02-18 2014-11-04 Qualcomm Incorporated Fixed point implementation for geometric motion partitioning
CN105847814B (zh) 2010-04-13 2019-01-08 太阳专利托管公司 图像编码方法及图像编码装置
JP2012070277A (ja) 2010-09-24 2012-04-05 Jvc Kenwood Corp 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
US20120147961A1 (en) 2010-12-09 2012-06-14 Qualcomm Incorporated Use of motion vectors in evaluating geometric partitioning modes
US9807424B2 (en) 2011-01-10 2017-10-31 Qualcomm Incorporated Adaptive selection of region size for identification of samples in a transition zone for overlapped block motion compensation
US8340458B2 (en) * 2011-05-06 2012-12-25 Siemens Medical Solutions Usa, Inc. Systems and methods for processing image pixels in a nuclear medicine imaging system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1812580A (zh) * 2005-01-04 2006-08-02 三星电子株式会社 去块控制方法及使用该方法的多层视频编码器/解码器
CN101848391A (zh) * 2005-09-26 2010-09-29 三菱电机株式会社 运动图像编码装置以及运动图像译码装置

Also Published As

Publication number Publication date
KR101540167B1 (ko) 2015-08-06
KR101540168B1 (ko) 2015-07-28
EP2664138A1 (en) 2013-11-20
US9807424B2 (en) 2017-10-31
WO2012096729A1 (en) 2012-07-19
EP2664137B1 (en) 2021-09-08
CN103299624A (zh) 2013-09-11
JP2014506444A (ja) 2014-03-13
EP2664137A1 (en) 2013-11-20
US20120177114A1 (en) 2012-07-12
US20180103273A1 (en) 2018-04-12
JP5823538B2 (ja) 2015-11-25
ES2891175T3 (es) 2022-01-26
CN103299624B (zh) 2016-05-25
WO2012096730A1 (en) 2012-07-19
KR20130119472A (ko) 2013-10-31
US20120177120A1 (en) 2012-07-12
KR20130105912A (ko) 2013-09-26
US10257543B2 (en) 2019-04-09
JP2014506443A (ja) 2014-03-13
US9071851B2 (en) 2015-06-30
JP5752809B2 (ja) 2015-07-22
CN103299625A (zh) 2013-09-11

Similar Documents

Publication Publication Date Title
CN103299625B (zh) 转变区中的样本的识别
CN106105228B (zh) 一种处理视频数据的方法、装置及计算机可读介质
CN106797479B (zh) 对于并行处理的帧内块复制预测限制
CN104255029B (zh) 产生用于不同的颜色取样格式的子像素值
CN106658019B (zh) 参考帧编解码的方法与装置
CN103636215B (zh) 对视频数据应用非正方形变换
CN108028940A (zh) 调色板模式视频译码中转义像素信号值的限制
CN108605126A (zh) 从用于视频译码的固定滤波器预测滤波器系数
CN110024403A (zh) 用于视频译码的仿射运动模型的运动向量生成
CN109565594A (zh) 基于几何变换的自适应环路滤波
CN107566848A (zh) 编解码的方法及装置
CN105874796A (zh) 用于基于调色板的视频译码的颜色索引译码
CN105103557B (zh) 用于视频译码的方法、装置和存储媒体
CN107113436A (zh) 用于次取样格式的调色模式
CN105917650A (zh) 视频和图像编码/解码中的块向量预测
CN102450010A (zh) 定向内插和数据后处理
CN107925763A (zh) 等级分割中的块级别变换选择和隐式信令的编码变换方法和设备
CN106105207A (zh) 用于视频译码的具有行程长度码的调色板预测器信令
CN106471809A (zh) 视频译码中的单一色彩调色板模式
CN106664430A (zh) 利用嵌入块分割对视频信号进行编码和解码的方法及装置
CN106797474A (zh) 基于调色板的视频译码中的调色板游程隐藏
CN106717003A (zh) 调色板索引译码的解析依赖性减小
CN110100443A (zh) 编码装置、解码装置、编码方法及解码方法
CN106998470A (zh) 解码方法、编码方法、解码设备和编码设备
CN106664429A (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