CN104335586A - 运动向量舍入 - Google Patents

运动向量舍入 Download PDF

Info

Publication number
CN104335586A
CN104335586A CN201380018770.2A CN201380018770A CN104335586A CN 104335586 A CN104335586 A CN 104335586A CN 201380018770 A CN201380018770 A CN 201380018770A CN 104335586 A CN104335586 A CN 104335586A
Authority
CN
China
Prior art keywords
motion vector
current
candidate
candidate list
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201380018770.2A
Other languages
English (en)
Other versions
CN104335586B (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 CN104335586A publication Critical patent/CN104335586A/zh
Application granted granted Critical
Publication of CN104335586B publication Critical patent/CN104335586B/zh
Expired - Fee Related 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • 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
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy

Landscapes

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

Abstract

一种视频解码器至少部分基于预测单元PU的大小确定是否将所述PU的运动向量的水平分量或垂直分量的任一者或两者从子像素精度舍入到整数像素精度。所述视频解码器至少部分基于所述运动向量产生用于所述PU的预测性样本块,并且部分基于用于所述PU的所述预测性样本块产生经重构样本块。

Description

运动向量舍入
本申请案主张以下各者的权益:
2012年4月11日提交的第61/623,037号美国临时专利申请案,
2012年4月12日提交的第61/623,470号美国临时专利申请案,
2012年4月20日提交的第61/636,529号美国临时专利申请案,以及
2013年4月23日提交的第61/637,216号美国临时专利申请案,
所述申请案中的每一者的全部内容以引用的方式并入本文中。
技术领域
本发明涉及视频译码和视频压缩,并且更确切地说,涉及运动向量的译码。
背景技术
数字视频能力可以并入到广泛范围的装置中,包括数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电话会议装置及其类似者。数字视频装置实施视频压缩技术,例如通过MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分、高级视频译码(AVC)、目前正在开发的高效率视频译码(HEVC)标准和此类标准的扩展部分定义的标准中描述的技术,以便更有效地发射、接收和存储数字视频信息。
视频压缩技术执行空间(图片内)预测和/或时间(图片间)预测来减少或移除视频序列中固有的冗余。对于基于块的视频译码,可以将视频切片分割成视频块,视频块还可以被称为树块、译码单元(CU)及/或译码节点。使用相对于相同图片中的相邻块中的参考样本的空间预测对图片的经帧内编码(I)切片中的视频块进行编码。图片的经帧间编码(P或B)切片中的视频块可以使用相对于相同图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可以被称为帧,且参考图片可以被称为参考帧。
发明内容
一般来说,本发明描述用于在视频译码中处理运动向量的技术。更确切地说,视频解码器可以至少部分基于预测单元(PU)的大小确定是否将PU的运动向量的水平分量或垂直分量中的任一者或两者从子像素精度舍入到整数像素精度。在一些实例中,视频解码器可以舍入由用于PU的合并候选者列表和/或高级运动向量预测(AMVP)候选者列表中的候选者指示的运动向量。视频解码器可以至少部分基于运动向量产生用于PU的预测性样本块。视频解码器可以部分基于用于PU的预测性样本块产生经重构样本块。
在一个实例中,本发明描述一种对视频数据进行解码的方法。所述方法包括响应于确定当前PU具有特定大小,舍入运动向量。舍入运动向量包括将运动向量的水平分量或垂直分量中的至少一者从子像素精度舍入到整数像素精度。所述方法还包括至少部分基于运动向量产生用于当前PU的预测性样本块。此外,所述方法包括部分基于用于当前PU的预测性样本块产生经重构样本块。
在另一实例中,本发明描述一种对视频数据进行编码的方法。所述方法包括响应于确定当前PU具有特定大小,舍入运动向量。舍入运动向量包括将运动向量的水平分量或垂直分量中的至少一者从子像素精度舍入到整数像素精度。此外,所述方法包括至少部分基于运动向量产生用于当前PU的预测性样本块。另外,所述方法包括部分基于用于当前PU的预测性样本块产生用于当前PU的残余样本块。所述方法还包括在位流中用信号发送用于当前PU的残余样本块。
在另一实例中,本发明描述一种视频译码装置,包括一或多个处理器,一或多个处理器经配置以响应于确定当前PU具有特定大小将运动向量的水平分量或垂直分量中的至少一者从子像素精度舍入到整数像素精度。一或多个处理器还经配置以至少部分基于运动向量产生用于当前PU的预测性样本块。
在另一实例中,本发明描述一种视频译码装置,包括用于响应于确定当前PU具有特定大小,舍入运动向量,使得运动向量的水平分量或垂直分量中的至少一者从子像素精度舍入到整数像素精度的装置。所述视频译码装置还包括用于至少部分基于运动向量产生用于当前PU的预测性样本块的装置。
在另一实例中,本发明描述一种在其上存储有指令的计算机可读存储媒体,所述指令在执行时配置视频译码装置以响应于确定当前PU具有特定大小,舍入运动向量,使得运动向量的水平分量或垂直分量中的至少一者从子像素精度舍入到整数像素精度。另外,指令配置视频译码装置以至少部分基于运动向量产生用于当前PU的预测性样本块。
在附图及下文描述中陈述本发明的一或多个实例的细节。从描述内容、图式和权利要求书中将了解其它特征、目的和优点。
附图说明
图1是说明可以利用本发明的技术的实例视频译码系统的方框图。
图2是说明可以实施本发明的技术的实例视频编码器的方框图。
图3是说明可以实施本发明的技术的实例视频解码器的方框图。
图4是说明提取用于二维(2D)内插的块大小的概念图。
图5A到5C是说明根据本发明的一或多个技术的像素填充的概念图。
图6是说明根据本发明的一或多个技术的视频编码器的实例操作的流程图。
图7是说明根据本发明的一或多个技术的视频解码器的实例操作的流程图。
具体实施方式
在HEVC中,每一图片被划分为一组大小相等的区域,被称为译码树块(CTB)。每一CTB与译码树单元(CTU)相关联。与CTU相关联的区域可以根据四叉树细分过程细分为与译码单元(CU)相关联的一或多个区域。与CU相关联的每一区域可以细分为与预测单元(PU)相关联的一或多个区域。
视频编码器可以产生用于每一PU的预测性样本块。视频编码器可以使用帧内预测或帧间预测以产生用于PU的预测性样本块。当使用帧内预测时,视频编码器可以使用当前图片的相邻块的样本以产生用于PU的预测性样本块。
帧间预测可以是单向帧间预测(即,单向预测)或双向帧间预测(即,双向预测)。为了执行单向预测或双向预测,视频编码器可以产生用于当前切片的第一参考图片列表(RefPicList0)以及第二参考图片列表(RefPicList1)。参考图片列表中的每一者可以包含一或多个参考图片。当使用单向预测时,视频编码器可以搜寻RefPicList0以及RefPicList1的任一者或两者中的参考图片,以确定参考图片内的参考位置。此外,当使用单向预测时,视频编码器可以至少部分基于对应于参考位置的样本产生用于PU的预测性样本块。此外,当使用单向预测时,视频编码器可以产生指示PU的样本块与参考位置之间的空间移位的单个运动向量(MV)。为了指示PU的样本块与参考位置之间的空间移位,MV可以包含指定PU的样本块与参考位置之间的水平移位的水平分量并且可以包含指定PU的样本块与参考位置之间的垂直移位的垂直分量。
当使用双向预测以对PU进行编码时,视频编码器可以确定RefPicList0中的参考图片中的第一参考位置以及RefPicList1中的参考图片中的第二参考位置。视频编码器随后可以至少部分基于对应于第一参考位置和第二参考位置的样本产生用于PU的预测性样本块。此外,当使用双向预测对PU进行编码时,视频编码器可以产生指示PU的样本块与第一参考位置之间的空间移位的第一MV,以及指示PU的样本块与第二参考位置之间的空间移位的第二MV。
在产生用于CU的PU的预测性样本块之后,视频编码器可以通过从用于CU的PU的预测性样本块减去CU的原始样本块来产生残余块。视频编码器可以变换残余块的样本,量化所得的变换系数,并且对表示经量化的变换系数的语法元素进行熵编码。视频编码器可以输出包含经熵编码的语法元素的位流。
视频解码器可以使用MV或PU的MV以产生用于PU的预测性样本块。视频解码器可以将用于CU的PU的预测性样本块添加到用于CU的残余块上以重构CU的原始样本块。通过重构图片的每一CU的原始样本块,视频解码器可以重构图片。
MV可以指示完全对应于参考图片的像素的位置。在此实例中,MV称为具有“全像素”精度或“整数像素”精度。本发明可以将具有整数像素精度的MV称为整数像素MV。在一些情况下,术语“像素(pixel)”可以简称为“像素(pel)”。
此外,MV可以指示在参考图片的两个像素之间的位置。换句话说,MV可以指示参考图片内的子像素位置。例如,MV可以指示在参考图片的两个像素之间的一半距离的位置、在参考图片的两个像素之间的四分之一距离的位置等。本发明可以将指示在两个像素之间的一半距离的位置的MV称为具有半像素精度的MV或称为半像素MV。本发明可以将指示在两个像素之间的四分之一距离的位置的MV称为具有四分之一像素精度的MV或称为四分之一像素MV。指示子像素位置(即,在两个像素之间的位置)的MV可以被称为具有子像素精度的MV或简单地称为子像素MV。例如,子像素MV的水平分量和垂直分量的任一者或两者指示参考图片的子像素位置。
当PU的MV指示参考图片内的子像素位置时,视频译码器(即,视频编码器或视频解码器)可以从参考图片中的样本的实际值内插对应于子像素位置的样本的值。例如,如果MV指示在两个像素之间的一半距离的位置,则视频译码器可以从所述两个像素和/或其它像素内插样本的值。视频译码器可以在用于PU的预测性样本块中使用经内插的值。
使用子像素MV可以通过使视频编码器能产生更接近用于PU的原始样本块的用于PU的预测性样本块来提高位流的译码效率(即,降低位速率)。然而,为了从相邻样本内插样本的值,视频译码器可能需要从存储器传送相邻样本中的每一者的值。从存储器传送样本的值可能是计算密集型的。这对于视频编码器可能尤其难以解决,因为在合并模式或高级运动向量预测(AMVP)模式任一者中,视频编码器可能需要内插与由合并候选者列表或AMVP候选者列表中的每一MV候选者指示的子像素MV相关联的样本,从而从合并候选者列表或AMVP候选者列表中选择MV候选者。
因此,为了支持可接受的或所需的译码速率,由于用于内插所需的额外像素,使用子像素MV可能需要提高从存储器传送数据的速率(即,存储器带宽)。在一些情况下,增加存储器带宽可能是不现实的或不经济的。在此上下文中,存储器带宽减少是指减少需要从存储器传送的数据的量。因此,在一些情况下,可能需要限制从存储器传送的数据的量,而不是增加存储器带宽。
用于减少从存储器传送的数据的量的一个方法是减少从存储器提取的用于内插的样本的数目。此减少可以通过将子像素MV的水平分量和/或垂直分量舍入到整数像素精度来实施。在一些实例中,可以在内插明度样本时以及在内插色度样本时应用此舍入。在其它实例中,可以在内插明度样本时或在内插色度样本任一者时应用此舍入。例如,子像素MV可以被舍入到用于色度样本的整数像素精度,但是视频译码器可以使用子像素MV用于内插明度样本。
根据本发明的技术,存储器带宽减少可以通过将MV的水平分量或垂直分量的任一者或两者舍入到用于特定CU和PU大小的整数像素精度来实现。例如,视频译码器可以将用于4×8、8×4或更小PU的MV的分量的任一者或两者舍入到整数像素精度。在此实例中,视频译码器并不将用于较大PU大小的MV的分量舍入到整数像素精度。
图1是说明可以利用本发明的技术的实例视频译码系统10的方框图。如本文中所描述,术语“视频译码器”一般是指视频编码器以及视频解码器两者。在本发明中,术语“视频译码”或“译码”可一般地指代视频编码或视频解码。
如图1中所示,视频译码系统10包含源装置12和目的地装置14。源装置12产生经编码视频数据。因此,源装置12可以被称为视频编码装置或视频编码设备。目的地装置14可以对由源装置12产生的经编码视频数据进行解码。因此,目的地装置14可以被称为视频解码装置或视频解码设备。源装置12以及目的地装置14可以是视频译码装置或视频译码设备的实例。
源装置12及目的地装置14可以包括广泛范围的装置,包含桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、电视、摄影机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机(in-car computer)或其类似者。
目的地装置14可以经由信道16从源装置12接收经编码视频数据。信道16可以包括能够将经编码视频数据从源装置12移动到目的地装置14的一或多个媒体或装置。在一个实例中,信道16可以包括使得源装置12能够实时地将经编码视频数据直接传输到目的地装置14的一或多个通信媒体。在此实例中,源装置12可以根据例如无线通信协议等通信标准调制经编码视频数据,并且可以将经调制的视频数据传输到目的地装置14。一或多个通信媒体可以包含无线通信媒体和/或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。一或多个通信媒体可以形成基于数据包的网络的一部分,基于数据包的网络例如局域网、广域网或全球网络(例如,因特网)。信道16可以包含各种类型的装置,例如路由器、交换器、基站或促进从源装置12到目的地装置14的通信的其它设备。
在另一实例中,信道16可以包含存储由源装置12产生的经编码视频数据的存储媒体。在此实例中,目的地装置14可以经由磁盘存取或卡存取来存取存储媒体。存储媒体可以包含多种本地存取的数据存储媒体,例如蓝光光盘、DVD、CD-ROM、快闪存储器或用于存储经编码视频数据的其它合适数字存储媒体。
在另一实例中,信道16可以包含存储由源装置12产生的经编码视频数据的文件服务器或另一中间存储装置。在此实例中,目的地装置14可以经由流式传输或下载来存取存储于文件服务器或其它中间存储装置处的经编码视频数据。文件服务器可以是能够存储经编码视频数据并且将经编码视频数据传输到目的地装置14的类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、文件传送协议(FTP)服务器、网络连接存储(NAS)装置及本地磁盘驱动器。
目的地装置14可以通过标准数据连接(例如,因特网连接)来存取经编码视频数据。数据连接的实例类型可以包含适合于存取存储于文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等)或两者的组合。经编码视频数据从文件服务器的传输可以是流式传输、下载传输或两者的组合。
本发明的技术不限于无线应用或设定。所述技术可以应用于视频译码以支持多种多媒体应用,例如空中电视广播、有线电视传输、卫星电视传输、流式视频传输(例如,经由因特网)、编码视频数据以存储于数据存储媒体上、解码存储于数据存储媒体上的视频数据,或其它应用。在一些实例中,视频译码系统10可经配置以支持单向或双向视频传输以支持例如视频流式传输、视频回放、视频广播和/或视频电话等应用。
在图1的实例中,源装置12包含视频源18、视频编码器20以及输出接口22。在一些情况下,输出接口22可以包含调制器/解调器(调制解调器)和/或发射器。视频源18可以包含视频俘获装置(例如,摄像机)、含有先前俘获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频馈入接口、和/或用于产生视频数据的计算机图形系统,或视频数据的此些源的组合。
视频编码器20可以对来自视频源18的视频数据进行编码。在一些实例中,源装置12经由输出接口22将经编码视频数据直接传输到目的地装置14。在其它实例中,经编码视频数据还可以存储到存储媒体或文件服务器上以供稍后由目的地装置14存取以用于解码和/或回放。
在图1的实例中,目的地装置14包含输入接口28、视频解码器30以及显示装置32。在一些实例中,输入接口28包含接收器和/或调制解调器。输入接口28可以在信道16上接收经编码视频数据。显示装置32可以与目的地装置14整合在一起或可以在目的地装置14的外部。一般来说,显示装置32显示经解码视频数据。显示装置32可以包括多种显示装置,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
在一些实例中,视频编码器20以及视频解码器30根据例如ISO/IEC MPEG-4Visual和ITU-T H.264(也称为ISO/IEC MPEG-4AVC)等视频压缩标准操作,所述视频压缩标准包含其可缩放视频译码(SVC)以及多视图视频译码(MVC)扩展。在其它实例中,视频编码器20以及视频解码器30可以根据其它视频压缩标准操作,所述其它视频压缩标准包含目前正在开发的高效率视频译码(HEVC)标准。布洛斯(Bross)等人于2011年11月在瑞士日内瓦(Geneva,Switzerland)的ITU-T SG16WP3和ISO/IEC JTC1/SC29/WG11视频译码(JCT-VC)联合协作小组第7次会议中在“高效率视频译码(HEVC)文本规范草案6(HighEfficiency Video Coding(HEVC)text specification draft6)”中描述了即将形成的HEVC标准的草案(被称为“HEVC工作草案6”),所述草案在2013年4月4日可从网址http://phenix.int-evry.fr/jct/doc_end_user/documents/8_San%20Jose/wg11/JCTVC-H1003-v22.zip下载,所述草案的全部内容以引用的方式并入本文中。布洛斯(Bross)等人于2012年10月在中国上海(Shanghai,China)的ITU-T SG16WP3和ISO/IEC JTC1/SC29/WG11视频译码(JCT-VC)联合协作小组第11次会议中在“高效率视频译码(HEVC)文本规范草案9(High Efficiency Video Coding(HEVC)text specification draft9)”中描述了即将形成的HEVC标准的另一个草案(被称为“HEVC工作草案9”),所述草案在2013年4月4日可从网址http://phenix.int-evry.fr/jct/doc_end_user/documents/11_Shanghai/wg11/JCTVC-K1003-v8.zip下载,所述草案的全部内容以引用的方式并入本文中。然而,本发明的技术不限于任何特定译码标准或技术。
图1仅为实例,并且本发明的技术可以适用于未必包含视频编码装置与视频解码装置之间的任何数据通信的视频译码设定(例如,视频编码或视频解码)。在其它实例中,数据可从本地存储器检索、在网络上流式传输,等。视频编码装置可以对数据进行编码并且将数据存储到存储器,和/或视频解码装置可以从存储器检索数据并且对数据进行解码。在许多实例中,通过并不彼此通信而是简单地将数据编码到存储器和/或从存储器检索数据且对数据进行解码的装置来执行编码以及解码。
视频编码器20以及视频解码器30各自可以实施为例如以下各者的多种合适电路中的任一者:一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、硬件或其任何组合。当部分地以软件实施技术时,装置可以将软件的指令存储于合适的非暂时性计算机可读存储媒体中以及可以使用一或多个处理器以硬件执行指令从而执行本发明的技术。可以将前述内容中的任一者(包含硬件、软件、硬件与软件的组合等)视为一或多个处理器。视频编码器20以及视频解码器30中的每一者可以包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可以整合为相应装置中的组合编码器/解码器(编解码器)的一部分。
本发明可以大体上是指视频编码器20“用信号发送”某些信息。术语“用信号发送”可以大体上是指对用以对经压缩的视频数据进行解码的语法元素和/或其它数据的通信。此通信可以实时地或接近实时地发生。替代地,此通信可以经过一段时间后发生,例如可以在编码之时在经编码位流中将语法元素存储到计算机可读存储媒体时发生,视频解码装置接着可以在存储到此媒体之后的任何时间检索所述语法元素。
如上文简要提及,视频编码器20对视频数据进行编码。视频数据可以包括一或多个图片。图片中的每一者是形成视频的一部分的静态图像。当视频编码器20对视频数据进行编码时,视频编码器20可以产生位流。位流可以包含形成视频数据的经译码的表示的一连串位。位流可以包含经译码的图片以及相关联的数据。经译码的图片是图片的经译码的表示。相关联的数据可以包含序列参数集(SPS)、图片参数集(PPS)以及其它语法结构。SPS可以含有适用于图片的零或更多序列的参数。PPS可以含有适用于零或更多图片的参数。
图片可以包含三个样本阵列,表示为SL、SCb以及SCr。SL是明度样本的二维阵列(即,块)。明度样本在本文中还可以被称为“Y”样本。SCb是Cb彩度样本的二维阵列。SCr是Cr彩度样本的二维阵列。彩度样本在本文中还可以被称为“色度”样本。Cb彩度样本在本文中可以被称为“U样本”。Cr彩度样本在本文中可以被称为“V样本”。
在一些实例中,视频编码器20可以对图片的色度阵列(即,SCb以及SCr)进行向下采样。例如,视频编码器20可以使用YUV4:2:0视频格式、YUV4:2:2视频格式或4:4:4视频格式。在YUV4:2:0视频格式中,视频编码器20可以对色度阵列进行向下采样,使得色度阵列高度是明度阵列高度的1/2并且宽度是明度阵列宽度的1/2。在YUV4:2:2视频格式中,视频编码器20可以对色度阵列进行向下采样,使得色度阵列宽度是明度阵列宽度的1/2并且高度与明度阵列高度相同。在YUV4:4:4视频格式中,视频编码器20并不对色度阵列进行向下采样。
为了产生图片的经编码表示,视频编码器20可以产生一组译码树单元(CTU)。CTU中的每一者可以是明度样本的译码树块、色度样本的两个对应译码树块,以及用以对译码树块的样本进行译码的语法结构。译码树块可以是样本的NxN块。CTU也可以被称为“树块”或“最大译码单元”(LCU)。HEVC的CTU可以广泛地类似于例如H.264/AVC等其它标准的宏块。然而,CTU未必限于特定大小,并且可以包含一或多个译码单元(CU)。
作为对图片进行编码的部分,视频编码器20可以产生图片的每一切片的经编码表示(即,经译码的切片)。为了产生经译码的切片,视频编码器20可以对一系列CTU进行编码。本发明可以将CTU的经编码表示称为经译码的CTU。在一些实例中,切片中的每一者包含整数数目的经译码的CTU。
为了产生经译码的CTU,视频编码器20可以对CTU的译码树块递归地执行四叉树分割,以将译码树块划分为译码块,因此命名为“译码树单元”。译码块是样本的NxN块。CU可以是具有明度样本阵列、Cb样本阵列和Cr样本阵列的图片的明度样本的译码块,以及色度样本的两个对应译码块,以及用以对译码块的样本进行译码的语法结构。视频编码器20可以将CU的译码块分割成一或多个预测块。预测块可以是应用相同预测的样本的矩形(即,正方形或非正方形)块。CU的预测单元(PU)可以是图片的明度样本的预测块、图片的色度样本的两个对应预测块,以及用以对预测块样本进行预测的语法结构。视频编码器20可以产生用于CU的每一PU的明度预测块、Cb预测块以及Cr预测块的预测性明度块、Cb块以及Cr块。
视频编码器20可以使用帧内预测或帧间预测来产生用于PU的预测性块。如果视频编码器20使用帧内预测产生PU的预测性块,则视频编码器20可以基于与PU相关联的图片的经解码样本来产生PU的预测性块。
如果视频编码器20使用帧间预测产生PU的预测性块,则视频编码器20可以基于不同于与PU相关联的图片的一或多个图片的经解码样本来产生PU的预测性块。视频编码器20可以使用单向预测或双向预测以产生PU的预测性块。当视频编码器20使用单向预测以产生用于PU的预测性块时,PU可以具有单个MV。当视频编码器20使用单向预测以产生用于PU的预测性块时,PU可以具有两个MV。
在视频编码器20产生用于CU的一或多个PU的预测性明度块、Cb块以及Cr块之后,视频编码器20可以产生用于CU的明度残余块。CU的明度残余块中的每一样本指示CU的预测性明度块中的一者中的明度样本与CU的原始明度译码块中对应样本之间的差。另外,视频编码器20可以产生用于CU的Cb残余块。CU的Cb残余块中的每一样本可以指示CU的预测性Cb块中的一者中的Cb样本与CU的原始Cb译码块中对应样本之间的差。视频编码器20还可以产生用于CU的Cr残余块。CU的Cr残余块中的每一样本可以指示CU的预测性Cr块中的一者中的Cr样本与CU的原始Cr译码块中对应样本之间的差。
此外,视频编码器20可以使用四叉树分割将CU的明度残余块、Cb残余块以及Cr残余块分解成一或多个明度变换块、Cb变换块以及Cr变换块。变换块可以是应用相同变换的样本的矩形块。CU的变换单元(TU)可以是明度样本的变换块、色度样本的两个对应变换块,以及用以对变换块样本进行变换的语法结构。因此,CU的每一TU可以与明度变换块、Cb变换块以及Cr变换块相关联。与TU相关联的明度变换块可以是CU的明度残余块的子块。Cb变换块可以是CU的Cb残余块的子块。Cr变换块可以是CU的Cr残余块的子块。
视频编码器20可以将一或多个变换应用于TU的明度变换块从而为TU产生明度系数块。系数块可以是变换系数的二维阵列。变换系数可以是标量。视频编码器20可以将一或多个变换应用于TU的Cb变换块从而为TU产生Cb系数块。视频编码器20可以将一或多个变换应用于TU的Cr变换块从而产生用于TU的Cr系数块。
在产生系数块(例如,明度系数块、Cb系数块或Cr系数块)之后,视频编码器20可以量化系数块。量化大体上是指对变换系数进行量化以可能减少用以表示变换系数的数据的量从而提供进一步压缩的过程。在视频编码器20量化系数块之后,视频编码器20可以对指示经量化的变换系数的语法元素进行熵编码。例如,视频编码器20可以对指示经量化的变换系数的语法元素执行上下文自适应二进制算术译码(CABAC)。视频编码器20可以在位流中输出经熵编码的语法元素。
视频解码器30可以接收由视频编码器20产生的位流。另外,视频解码器30可以剖析位流以对来自位流的语法元素进行解码。视频解码器30可以至少部分基于从位流解码的语法元素重构视频数据的图片。用以重构视频数据的过程大体上可以与由视频编码器20执行的过程互逆。例如,视频解码器30可以使用PU的MV来确定用于当前CU的PU的预测性样本块。另外,视频解码器30可以反量化与当前CU的TU相关联的变换系数块。视频解码器30可以对变换系数块执行反变换以重构与当前CU的TU相关联的变换块。通过将用于当前CU的PU的预测性样本块的样本添加到当前CU的TU的变换块的对应样本上,视频解码器30可以重构当前CU的译码块。通过重构用于图片的每一CU的译码块,视频解码器30可以重构图片。
在一些情况下,视频编码器20可以使用合并模式或高级MV预测(AMVP)模式用信号发送PU的运动信息。PU的运动信息可以包含PU的运动向量以及PU的参考索引。当视频编码器20使用合并模式用信号发送当前PU的运动信息时,视频编码器20产生合并候选者列表。合并候选者列表包含一组候选者。候选者可以指示在空间上或在时间上邻近当前PU的PU的运动信息。视频编码器20可以接着从候选者列表中选择候选者并且可以将由选定候选者指示的运动信息用作当前PU的运动信息。此外,在合并模式中,视频编码器20可以用信号发送候选者列表中的选定候选者的位置。视频解码器30可以产生相同的候选者列表并且可以基于选定候选者的位置的指示来确定选定候选者。接着,视频解码器30可以使用选定候选者的运动信息以产生用于当前PU的预测性样本块。换句话说,视频解码器30可以至少部分基于由合并候选者列表中的选定MV候选者指示的参考图片样本产生用于当前PU的预测性样本块。
AMVP模式类似于合并模式,类似之处在于视频编码器20产生候选者列表并且从候选者列表选择候选者。然而,当视频编码器20使用AMVP模式用信号发送当前PU的运动信息时,除用信号发送候选者列表中的选定候选者的位置之外,视频编码器20可以用信号发送用于当前PU的运动向量差(MVD)以及参考索引。用于当前PU的MVD可以指示当前PU的MV与选定MV候选者的MV之间的差。在单向预测中,视频编码器20可以用信号发送用于当前PU的一个MVD以及一个参考索引。在双向预测中,视频编码器20可以用信号发送用于当前PU的两个MVD以及两个参考索引。
此外,当使用AMVP模式用信号发送当前PU的运动信息时,视频解码器30可以产生相同的候选者列表并且可以基于选定候选者的位置的指示来确定选定候选者。视频解码器30可以通过将MVD添加到选定候选者的MV上以恢复当前PU的MV。接着,视频解码器30可以使用当前PU的恢复的一个MV或多个MV以产生用于当前PU的预测性样本块。
如上文所指示,MV可以具有整数像素精度或子像素精度。使用具有子像素精度的MV可以提高位流的译码效率(即,降低位速率)。然而,使用具有子像素精度的MV可能增加从存储器传送数据所需的带宽的量。也就是说,为了从相邻样本内插样本的值,视频编解码器可能需要从存储器传送相邻样本中的每一者的值。此外,由于视频编码器可能比较合并候选者列表或AMVP候选者列表中的不同的MV候选者的速率/失真值从而选择MV候选者,因此视频编码器20可能提取用以内插由合并候选者列表或AMVP候选者列表中的MV候选者指示的子像素MV的样本所需的数据,从而进一步增加了所传送的数据的量。从存储器传送数据可能是相对较慢的操作。因此,可能需要限制从存储器传送的数据的量。
根据本发明的技术,减少需要从存储器传送的数据的量可以通过视频译码器(例如,视频编码器20或视频解码器30)将子像素MV舍入到用于特定CU和PU大小的整数像素精度来实现。在本发明中,舍入MV可指舍入MV的水平分量或垂直分量的任一者或两者。此外,在本发明中,CU的大小可指CU的明度块的大小并且PU的大小可指PU的明度块的大小。在一些实例中,其中视频译码器可以将用于4×8、8×4或更小PU的子像素MV舍入到整数像素精度。在此实例中,视频译码器并不将用于具有较大大小的PU的MV舍入到整数像素精度。例如,对于具有不到4×8和8×4的大小的PU,可以应用此舍入,但是用于较大PU,则不存在舍入。在其它实例中,视频译码器可以舍入用于8×8大小的PU的子像素MV。
此外,在一些实例中,可以根据带宽减少的需要设定视频译码器舍入子像素MV的大小阈值。换句话说,可以基于将从存储器传送的数据的量的所需减少设定大小阈值。在一些实例中,视频译码器可以自适应地设定此大小阈值。在其它实例中,可以预配置大小阈值。
因此,视频编码器20可以响应于确定PU具有特定大小,舍入MV。舍入MV可以包括将MV的水平分量或垂直分量中的至少一者从子像素精度舍入到整数像素精度。在一些实例中,视频编码器20可以将舍入MV作为产生合并候选者列表或AMVP候选者列表的过程的一部分来完成。在其它实例中,视频编码器20可以在运动补偿期间舍入MV。此外,视频编码器20可以至少部分基于经舍入的MV产生用于PU的预测性样本块。例如,如果MV在产生合并候选者列表期间被舍入,并且MV是选定MV候选者,则视频编码器20可以至少部分基于由经舍入的MV指示的参考图片样本产生用于PU的预测性样本块。在另一实例中,如果MV在产生AMVP候选者列表期间被舍入,并且MV是选定MV候选者,则视频编码器20可以基于MV以及MVD确定MV。此外,在此实例中,视频编码器20可以至少部分基于由所确定的MV指示的参考样本产生用于PU的预测性样本块。在其中视频编码器20在运动补偿期间舍入MV的实例中,视频编码器20可以基于由经舍入的MV指示的参考样本产生用于PU的预测性样本块。视频编码器20可以部分基于用于PU的预测性样本块产生用于PU的残余样本块。视频编码器20可以在位流中用信号发送用于PU的残余样本块。视频编码器20可以通过将样本块的残余样本变换至变换系数,量化变换系数,对表示变换系数的语法元素进行熵编码,并且在位流中输出经熵编码的语法元素来用信号发送用于PU的残余样本块。
在一些实例中,视频解码器30可以响应于确定PU具有特定大小,舍入MV。舍入MV可以包括将MV的水平分量或垂直分量中的至少一者从子像素精度舍入到整数像素精度。在一些实例中,视频解码器30可以将舍入MV作为产生合并候选者列表或AMVP候选者列表的过程的一部分来完成。在其它实例中,视频解码器30可以在运动补偿期间舍入MV。
此外,视频解码器30可以至少部分基于经舍入的MV产生用于PU的预测性样本块。例如,如果MV在产生合并候选者列表期间被舍入,并且MV是选定MV候选者,则视频解码器30可以至少部分基于由经舍入的MV指示的参考图片样本产生用于PU的预测性样本块。在另一实例中,如果MV在产生AMVP候选者列表期间被舍入,并且MV是选定MV候选者,则视频解码器30可以基于MV以及MVD确定MV。此外,在此实例中,视频解码器30可以至少部分基于由所确定的MV指示的参考样本产生用于PU的预测性样本块。在其中视频解码器30在运动补偿期间舍入MV的实例中,视频解码器30可以基于由经舍入的MV指示的参考样本产生用于PU的预测性样本块。视频解码器30可以至少部分基于用于PU的预测性样本块产生用于PU的经重构样本块。
在一些实例中,视频译码器(例如,视频编码器20或视频解码器30)可以至少部分基于PU的帧间预测方向确定是否将PU的MV舍入(例如,舍入MV的分量的任一者或两者)到整数像素精度。换句话说,可以根据帧间预测方向模式来执行MV舍入。例如,如果PU是经单向预测的,则视频译码器并不将PU的MV的分量舍入到整数像素精度。在此实例中,如果PU是经双向预测的,则视频译码器将PU的MV的任一者或两者的分量的任一者或两者舍入到整数像素精度。例如,如果PU是经双向预测的,则视频译码器可以舍入PU的一个MV的分量的任一者或两者,但是不舍入PU的另一个MV的任一分量。以此方式,可以对单向预测以及双向预测MV,或仅对双向预测MV应用舍入。在另一实例中,如果PU是经单向预测的,则视频译码器将PU的MV的分量舍入到整数像素精度。在此实例中,如果PU是经双向预测的,则视频译码器并不将PU的MV的任一者或两者的分量的任一者或两者舍入到整数像素精度。因此,视频译码器可以至少部分基于具有特定大小的当前PU以及当前PU的帧间预测方向模式(即,经单向预测或经双向预测)确定是否将运动向量的水平分量或垂直分量中的至少一者从子像素精度舍入到整数像素精度。
如上文所描述,视频编码器20可以使用合并模式或AMVP模式以用信号发送PU的运动信息。在合并模式以及AMVP模式中,视频编码器20以及视频解码器30可以产生MV候选者列表。当视频译码器(例如,视频编码器20或视频解码器30)产生MV候选者列表时,视频译码器可以执行删除过程以从MV候选者列表中移除重复的MV候选者。在合并模式中,如果第一MV候选者指示与第二MV候选者相同的MV以及相同的参考索引,则第一MV候选者可能是第二MV候选者的重复。换句话说,在合并模式中,重复的MV候选者可以指示相同的MV以及指示相同的参考索引。在AMVP模式中,如果第一MV候选者指示与第二MV候选者相同的MV,则第一MV候选者可能是第二MV候选者的重复。换句话说,在AMVP模式中,重复的MV候选者指示相同的MV。
在一些实例中,视频译码器可以在执行删除过程之前舍入MV候选者列表中的MV候选者的MV的分量的任一者或两者。在执行删除过程之前舍入MV的分量可以减少以增加复杂性为代价的MV候选者列表中的重复的MV候选者。换句话说,如果在删除之前进行MV舍入,则可以避免具有相同的经舍入的MV候选者的额外冗余。然而,在删除之前的MV舍入可能引起对合并MV候选者列表产生和/或AMVP MV候选者列表产生的删除过程的修改。在任一情况下,由于由MV候选者指示的MV被舍入到整数像素精度,因此视频编码器20并不需要传送用以内插对应于由MV指示的位置的样本所需的样本值。这可以减少当视频编码器20从合并候选者列表或AMVP候选者列表中选择MV候选者时从存储器提取的数据的量。
在其它实例中,视频译码器可以在执行删除过程之后舍入MV候选者列表中的MV候选者的MV的分量。在删除之后的MV舍入可以使得MV候选者列表产生过程能够相对于HEVC工作草案6保持不变。
此外,当视频译码器产生MV候选者列表用于使用合并模式用信号发送当前PU的运动信息时,视频译码器可以包含MV候选者列表中的人工MV候选者。人工MV候选者并不指示在空间上或在时间上邻近当前PU的任何PU的运动信息。例如,视频译码器可以包含MV候选者列表中的一或多个组合的双向MV候选者。在此实例中,组合的双向MV候选者由已经在合并候选者列表中的任何两个空间或时间MV候选者构成,通过合并来自第一MV候选者的RefPicListL0的MV以及来自第二MV候选者的RefPicListL1的MV,制得双向MV候选者。在另一实例中,视频译码器可以包含MV候选者列表中的一或多个零MV候选者。零MV候选者可以指定水平分量和垂直分量等于0的MV。
根据本发明的一或多个技术,视频译码器可以基于具有子像素精度的单个MV产生具有整数像素精度的多个MV。视频译码器可以通过在不同方向上舍入具有子像素精度的MV的分量的任一者或两者产生具有整数像素精度的MV。换句话说,视频译码器可以通过将子像素MV的水平分量和垂直分量的任一者或两者舍入到下一个更高的整数值来产生第一整数像素MV,并且可以通过将相同子像素MV的水平分量和垂直分量的任一者或两者舍入到下一个更低的整数值来产生第二MV。通过在不同方向上舍入MV的分量产生的MV可以代替MV候选者列表中的人工MV候选者中的一或多者。其结果是,视频译码器可以跳过将人工MV候选者添加到MV候选者列表上的过程。也就是说,当应用MV舍入时,可以在合并MV候选者列表建构期间跳过添加人工MV候选者。
因此,视频译码器可以通过在第一方向上将MV的一或多个分量舍入到整数像素精度产生第一经舍入的MV,并且可以通过在第二方向上将MV的一或多个分量舍入到整数像素精度产生第二经舍入的MV。换句话说,视频译码器可以通过将MV的至少一个分量舍入到下一个更高的整数值来产生第一经舍入的MV,并且可以通过将MV的至少一个分量舍入到下一个更低的整数值来产生第二经舍入的MV。另外,视频译码器可以产生用于PU的合并候选者列表或AMVP候选者列表。候选者列表可以包含分别指定第一经舍入的MV和第二经舍入的MV的第一MV候选者和第二MV候选者。因此,在此实例中,非整数像素MV可以被舍入到不同的相邻整数像素位置,这可以产生可以比人工MV候选者更好地充当MV预测符的多个额外的候选者。在此实例中,视频编码器可以在位流中用信号发送候选者列表中的选定MV候选者的索引。另外,视频解码器可以至少部分基于MVD以及由AMVP候选者列表中的选定MV候选者指示的运动向量确定用于当前PU的运动向量。
当在AMVP模式中用信号发送用于当前PU的运动信息时,视频编码器20可以用信号发送MVD以及用信号发送选定MV候选者在MV候选者列表内的参考索引和位置。视频解码器30可以通过将MVD添加到由选定MV候选者指定的MV上来确定PU的MV。为了确保视频解码器30产生用于当前PU的整数像素MV,视频编码器20以及视频解码器30可以舍入MV候选者列表中的MV候选者的子像素MV。另外,视频编码器20以及视频解码器30可以将MVD的水平分量(x)和垂直分量(y)的任一者或两者舍入到整数精度。视频编码器20可以在位流中用信号发送经舍入的MVD。由于MV候选者的MV以及MVD两者具有整数精度,因此所得的用于当前PU的MV具有整数精度(至少在一个维度中)。
此外,在一些实例中,视频解码器可以至少部分基于当前PU的块大小以及当前PU的PU索引确定是否将当前PU的MV的水平分量和垂直分量中的至少一者从子像素精度舍入到整数像素精度。因此,可以通过CU中的PU索引和/或PU大小来进一步自适应地控制MV和/或MV分量舍入,使得仅对CU中的一些PU应用MV舍入。PU的PU索引可以根据译码次序(例如,z扫描次序)指示PU在CU内的位置。例如,视频译码器可以仅舍入CU的第一PU的MV或MV分量且不舍入所述CU的后续PU。在其他实例中,视频译码器可以仅对CU的第二PU应用MV舍入且不对所述CU的第一PU应用MV舍入。此外,在一些实例中,视频译码器可以对CU的PU中的一或多者的预定子集应用MV舍入。以此方式,视频译码器可以至少部分基于具有特定大小的当前PU以及当前PU的PU索引确定是否将运动向量的水平分量或垂直分量中的至少一者从子像素精度舍入到整数像素精度。
MV或MV分量的基于PU的自适应舍入可以应用于CU的非对称运动分割区(AMP)以及CU的PU上。CU的AMP的样本块可以是CU的译码块的非对称分割区。例如,CU的明度译码块的大小可以是16x16。在此实例中,可以存在具有16x4和16x12、16x12和16x4、4×16和12x16以及12x16和4×16的对应大小的AMP的四个情况。每一AMP可以包含或充当单个PU。
在一些实例中,视频译码器可以舍入相对较小的AMP的PU的MV或MV分量,例如16x4或4×16AMP。在此类实例中,视频译码器并不舍入相对较大AMP的MV或MV分量,例如16x12或12x16大小的AMP。换句话说,对于最小的PU(16x4或4×16),可以应用MV或MV分量的舍入,但是对于16x12或12x16的相对较大的分割区,则不应用MV或MV分量的舍入。在此实例中,视频译码器可以按以下方式检查是否舍入AMP的MV或MV分量:
若(PU_宽度<8||PU_高度<8),则{应用MV或MV分量舍入}
在另一实例中,视频译码器可以仅舍入某些PU的MV的垂直分量。此外,在其它实例中,CU可以具有不同于16x16的大小并且因此AMP的大小可以不同。
由于用信号发送和存储整数数目可以比发送和存储非整数数目更有效,因此可以以整数数目用信号发送和存储MV的分量。例如,视频编码器20可以使用整数值的MVD以用信号发送具有整数像素精度以及子像素精度的MV分量。在其中支持四分之一像素精度的一些实例中,用以表示MV分量的整数可以等于MV分量的实际值的四倍。因此,值4可以指示MV分量实际上具有等于1的值。因此,值…-8、-4、0、4、8、…可以指示像素间MV分量的值,而值-7、-6、-5、-3、-2、-1、1、2、3、5、6、7、…可以指示子像素MV分量的值。在此类实例中,将MV分量从子像素精度舍入到整数像素精度可以包括用表示整数像素MV分量的整数值代替表示子像素MV分量的整数值。例如,子像素MV分量可以指示在两个像素之间的3/4距离的位置。在此实例中,值3可以表示此子像素MV分量。此外,在此实例中,当子像素MV分量被舍入到整数像素精度时,值4可以表示所得的整数像素MV分量。
图2是说明可以实施本发明的技术的实例视频编码器20的方框图。图2是出于解释的目的而提供,并且不应被视为将技术限制为本发明中所大致例示和描述者。出于解释的目的,本发明在HEVC译码的上下文中描述视频编码器20。然而,本发明的技术可以适用于其它译码标准或方法。
在图2的实例中,视频编码器20包含预测处理单元100、残余产生单元102、变换处理单元104、量化单元106、反量化单元108、反变换处理单元110、重构单元112、滤波器单元114、经解码图片缓冲器116以及熵编码单元118。预测处理单元100包含帧间预测处理单元120以及帧内预测处理单元126。帧间预测处理单元120包含运动估计单元122以及运动补偿单元124。在其它实例中,视频编码器20可以包含更多、更少或不同的功能组件。
视频编码器20可以接收视频数据。视频编码器20可以对视频数据的图片的切片中的每一CTU进行编码。CTU中的每一者可以与图片的大小相等的明度译码树块(CTB)以及对应CTB相关联。作为对CTU进行编码的一部分,预测处理单元100可以执行四叉树分割以将CTU的CTB划分为逐渐更小的块。这些更小的块可以是CU的译码块。例如,预测处理单元100将与CTU相关联的CTB分割成四个大小相等的子块、将子块中的一或多者分割成四个大小相等的子子块等。
视频编码器20可以对CTU的CU进行编码以产生CU的经编码表示(即,经译码的CU)。作为对CU进行编码的一部分,预测处理单元100可以在CU的一或多个PU当中分割与CU相关联的译码块。因此,每一PU可以与明度预测块以及对应色度预测块相关联。视频编码器20以及视频解码器30可以支持具有各种大小的PU。如上文所指示,CU的大小可指CU的明度译码块的大小并且PU的大小可指PU的明度预测块的大小。假定特定CU的大小是2Nx2N,则视频编码器20以及视频解码器30可以支持用于帧内预测的2Nx2N或NxN的PU大小,以及用于帧间预测的2Nx2N、2NxN、Nx2N、NxN或类似大小的对称PU大小。视频编码器20以及视频解码器30还可以支持用于帧间预测的2NxnU、2NxnD、nLx2N以及nRx2N的PU大小的非对称分割。
帧间预测处理单元120可以通过对CU的每一PU执行帧间预测产生用于PU的预测性数据。用于PU的预测性数据可以包含PU的预测性样本块以及用于PU的运动信息。取决于PU是在I切片中、P切片中或B切片中,帧间预测处理单元120可以对CU的PU执行不同操作。在I切片中,所有PU都是经帧内预测的。因此,如果PU是在I切片中,则帧间预测处理单元120并不对PU执行帧间预测。因此,对于在I模式中编码的块,经预测的块使用来自经先前编码的相同帧内的相邻块的空间预测来形成。
如果PU是在P切片中,则运动估计单元122可以对用于PU的参考区域搜寻参考图片列表(例如,“RefPicList0”)中的参考图片。用于PU的参考区域可以是在参考图片内含有最紧密地对应于PU的样本块的样本块的区域。运动估计单元122可以产生指示含有用于PU的参考区域的参考图片的RefPicList0中的位置的参考索引。另外,运动估计单元122可以产生指示PU的译码块与相关联于参考区域的参考位置之间的空间移位的MV。例如,MV可以是用以提供自当前经解码图片中的座标至参考图片中的座标的偏移的二维向量。运动估计单元122可以将参考索引以及MV输出为PU的运动信息。基于由PU的运动向量指示的参考位置处的实际样本或经内插样本,运动补偿单元124可以产生PU的预测性样本块。
如果PU是在B切片中,则运动估计单元122可以对PU执行单向预测或双向预测。为了对PU执行单向预测,运动估计单元122可以搜寻RefPicList0的参考图片,或用于PU的参考区域的第二参考图片列表(“RefPicList1”)。运动估计单元122可以将指示含有参考区域的参考图片的RefPicList0或RefPicList1中的位置的参考索引、指示PU的样本块与相关联于参考区域的参考位置之间的空间移位的MV、以及指示参考图片是在RefPicList0中或在RefPicList1中的一或多个预测方向指示符输出为PU的运动信息。运动补偿单元124可以至少部分基于由PU的运动向量指示的参考区域处的实际样本或经内插样本来产生PU的预测性样本块。
为了对PU执行双向帧间预测,运动估计单元122可以在RefPicList0中的参考图片内搜寻用于PU的参考区域,并且还可以在RefPicList1中的参考图片内搜寻用于PU的另一参考区域。运动估计单元122可以产生指示含有参考区域的参考图片的RefPicList0以及RefPicList1中的位置的参考索引。另外,运动估计单元122可以产生指示与参考区域相关联的参考位置与PU的样本块之间的空间移位的MV。PU的运动信息可以包含PU的参考索引以及MV。运动补偿单元124可以至少部分基于由PU的运动向量指示的参考区域处的实际样本或经内插样本来产生PU的预测性样本块。
根据本发明的一或多个技术,帧间预测处理单元120可以使用当前PU的MV在运动补偿单元124之前舍入当前PU的MV以产生用于当前PU的预测性样本块。在一些实例中,帧间预测处理单元120可以确定当前PU是否具有特定大小并且可以确定当前PU的MV是否具有子像素精度。在此类实例中,帧间预测处理单元120可以响应于确定当前PU具有特定大小以及确定当前PU的MV具有子像素精度将MV的水平分量或垂直分量中的至少一者从子像素精度舍入到整数像素精度。在其它实例中,运动补偿单元124可以舍入MV分量。
帧间预测处理单元120可以使用各种舍入技术以将MV从子像素精度舍入到整数像素精度。也就是说,出于舍入目的可以使用不同方法。例如,明度MV是用以指示参考图片在明度阵列内的位置的MV。在此实例中,由于明度MV可以具有四分之一像素精度,因此帧间预测处理单元120可以通过简单地除以4或右移操作(2个)来舍入明度MV。
在一些实例中,当帧间预测处理单元120通过将分量除以4来舍入MV的分量时,帧间预测处理单元120可以在将分量除以4之前向分量添加额外的偏移。也就是说,当MV是MV的分量的原始值,MV′是分量的经舍入的值时,帧间预测处理单元120可以计算:
MV′=[(MV+偏移)/4]
此外,色度MV可以是用以指示参考图片在色度(例如,Cb或Cr)阵列内的位置的MV。在许多编解码器中,视频编码器并不在位流中用信号发送色度MV,因为视频解码器可以能够从对应明度MV中计算色度MV。在其中使用4:4:4视频格式的实例中,不相对于图片的明度阵列对图片的色度阵列进行向下采样。因此,在4:4:4视频格式中,用于PU的色度MV可以匹配用于PU的明度MV。在其中使用4:2:0视频格式的实例中,PU的色度MV的水平分量可以等于PU的明度MV的水平分量的1/2,并且PU的色度向量的垂直分量可以等于PU的明度MV的垂直分量的1/2。类似地,在4:2:2视频格式中,PU的色度MV的水平分量可以等于PU的明度MV的水平分量的1/2,并且PU的色度MV的垂直分量可以等于PU的明度MV的垂直分量。
如果帧间预测处理单元120将PU的明度MV以及色度MV一起舍入,则帧间预测处理单元120可以同步舍入以避免明度分量与色度分量之间的相移。例如,如果使用4:2:0采样格式,则具有半像素精度的色度MV可以对应于具有整数像素精度的明度MV。在此实例中,如果帧间预测处理单元120将明度MV舍入到整数像素精度,则帧间预测处理单元120并不简单地连同明度MV一起将色度MV舍入到整数像素精度,因为这样可能造成相移。当出现相移时,由明度MV指示的明度样本并不对应于由色度MV指示的色度样本。更确切而言,由色度MV指示的色度样本可以从由明度MV指示的明度样本水平地或垂直地移位。因此,在此实例中,如果帧间预测处理单元120舍入明度MV以及色度MV两者,则帧间预测处理单元120可以将明度MV除以8以及可以将色度MV除以4。也就是说,帧间预测处理单元120可以将明度MV移动到第二最近整数点而不是最近整数位置,同时帧间预测处理单元120可以将色度MV移动到最近整数位置。
在另一实例中,帧间预测处理单元120可以使用以下操作以执行舍入。在此实例中,帧间预测处理单元120可以通过将分量除以4以及使用以下公式来舍入MV的分量:
MV′=Sign(MV)×((abs(MV)+1)>>2)
在以上公式中,MV′表示经舍入的MV分量。Sign()是若MV分量大于或等于0则返回1以及若MV分量小于0则返回-1的函数,abs()是返回MV分量的绝对值的函数。>>表示右移操作。在HEVC工作草案6中在MV定标期间使用类似的舍入技术。因此,可以使用相同物理舍入模块用于MV定标以及用于MV舍入,从而减少存储器带宽。这样可以减少HEVC的硬件实施方案的复杂度。
在一些实例中,帧间预测处理单元120并不产生以及接着舍入子像素MV。更确切而言,在一些实例中,帧间预测处理单元120受约束而不能产生用于具有特定大小的PU的子像素MV。在一个实例中,帧间预测处理单元120并不产生用于具有小于8×8大小的明度块的PU的子像素MV。此类限制可以施加为位流约束。因此,对于小块(例如,8×8或更小的块),在位流中不存在用于经双向预测的PU的非整数MV或非整数MV分量。这可以适用于用于MV预测的MV或用于运动补偿的MV。非整数MV或其分量的限制可以在配置文件描述或等级描述中定义。
在上文以及本发明的其它地方描述了在视频编码器20处通过帧间预测处理单元120来执行舍入。然而,在其它实例中,可以通过视频编码器20的其它组件(例如运动估计单元122、运动补偿单元124等)来执行舍入。因此,在一些实例中,舍入可以在候选者列表建构期间发生。在其它实例中,舍入可以在运动补偿之前发生。在其它实例中,舍入可以在运动补偿期间发生。
现在继续参考图2的实例。帧内预测处理单元126可以通过对PU执行帧内预测产生用于PU的预测性数据。用于PU的预测性数据可以包含用于PU的预测性样本块以及各种语法元素。帧内预测处理单元126可以对I切片、P切片以及B切片中的PU执行帧内预测。
为了对PU执行帧内预测,帧内预测处理单元126可以使用多个帧内预测模式以产生用于PU的多组预测性数据。为了使用帧内预测模式以产生用于PU的一组预测性数据,帧内预测处理单元126可以在与帧内预测模式相关联的方向上将样本从相邻PU的样本块延伸跨越PU的样本块。假定对于PU、CU及CTU采用从左到右、从上到下的编码次序,相邻PU可以在所述PU的上方、右上方、左上方或左方。帧内预测处理单元126可以使用各种数目的帧内预测模式,例如,33个定向帧内预测模式。在一些实例中,帧内预测模式的数目可以取决于与PU相关联的区域的大小。
预测处理单元100可以从用于PU的由帧间预测处理单元120产生的预测性数据或用于PU的由帧内预测处理单元126产生的预测性数据当中选择用于CU的PU的预测性数据。在一些实例中,预测处理单元100基于预测性数据的集合的速率/失真量度选择用于CU的PU的预测性数据。选定预测性数据的预测性样本块在本文中可以被称为选定预测性样本块。
残余产生单元102可以基于CU的明度译码块、Cb译码块和Cr译码块以及CU的PU的选定预测性明度块、Cb块和Cr块产生CU的明度残余块、Cb残余块以及Cr残余块。例如,残余产生单元102可以产生CU的残余块以使得残余块中的每一样本具有等于CU的译码块中的样本与CU的PU的对应选定预测性样本块中的对应样本之间的差的值。
变换处理单元104可以执行四叉树分割以将与CU相关联的残余块分割成与CU的TU相关联的变换块。因此,TU可以与明度变换块以及两个色度变换块相关联。CU的TU的明度变换块以及色度变换块的大小和位置可以或可不基于CU的PU的预测块的大小和位置。被称为“残余四叉树”(RQT)的四叉树结构可以包含与区域中的每一者相关联的节点。CU的TU可以对应于RQT的叶节点。
变换处理单元104可以通过将一或多个变换应用于TU的变换块而产生用于CU的每一TU的变换系数块。变换处理单元104可以将各种变换应用于与TU相关联的变换块。例如,变换处理单元104可以将离散余弦变换(DCT)、定向变换或概念上类似的变换应用于变换块。在一些实例中,变换处理单元104并不将变换应用于变换块。在此类实例中,变换块可以处理为变换系数块。
量化单元106可以量化系数块中的变换系数。量化过程可以减小与变换系数中的一些或全部相关联的位深度。例如,可在量化期间将n位变换系数向下舍入到m位变换系数,其中n大于m。量化单元106可以基于与CU相关联的量化参数(QP)值来量化与CU的TU相关联的系数块。视频编码器20可以通过调整与CU相关联的QP值来调整应用于与CU相关联的系数块的量化的程度。量化可能使得信息丢失,因此经量化的变换系数可以具有比原始变换系数更低的精度。
反量化单元108以及反变换处理单元110可以分别将反量化以及反变换应用于系数块,以从系数块重构残余块。重构单元112可以将经重构残余块添加到来自由预测处理单元100产生的一或多个预测性样本块的对应样本,以产生与TU相关联的经重构变换块。通过以此方式重构用于CU的每一TU的变换块,视频编码器20可以重构CU的译码块。
滤波器单元114可以执行一或多个解块操作以减少与CU相关联的译码块中的成块假影。经解码图片缓冲器116可以在滤波器单元114对经重构译码块执行一或多个解块操作之后存储经经重构译码块。帧间预测单元120可以使用含有经重构译码块的参考图片以对其它图片的PU执行帧间预测。另外,帧内预测处理单元126可以使用经解码图片缓冲器116中的经重构译码块以对处于与CU相同的图片中的其它PU执行帧内预测。
熵编码单元118可以从视频编码器20的其它功能组件接收数据。例如,熵编码单元118可以从量化单元106接收系数块,并且可以从预测处理单元100接收语法元素。熵编码单元118可以对数据执行一或多个熵编码操作以产生经熵编码的数据。例如,熵编码单元118可以对数据执行上下文自适应可变长度译码(CAVLC)操作、CABAC操作、可变至可变(V2V)长度译码操作、基于语法的上下文自适应二进制算术译码(SBAC)操作、概率区间分割熵(PIPE)译码操作、指数哥伦布编码操作或另一类型的熵编码操作。视频编码器20可以输出包含由熵编码单元118产生的经熵编码的数据的位流。例如,位流可以包含表示用于CU的RQT的数据。
图3是说明经配置以实施本发明的技术的实例视频解码器30的方框图。图3是出于解释的目的而提供,并且不将技术限制为本发明中所大致例示和描述者。出于解释的目的,本发明在HEVC译码的上下文中描述视频解码器30。然而,本发明的技术可以适用于其它译码标准或方法。
在图3的实例中,视频解码器30包含熵解码单元150、预测处理单元152、反量化单元154、反变换处理单元156、重构单元158、滤波器单元160以及经解码图片缓冲器162。预测处理单元152包含运动补偿单元164以及帧内预测处理单元166。在其它实例中,视频解码器30可以包含更多、更少或不同的功能组件。
视频解码器30可以接收位流。熵解码单元150可以剖析位流以对来自位流的语法元素进行解码。熵解码单元150可以对位流中的经熵编码的语法元素进行熵解码。预测处理单元152、反量化单元154、反变换处理单元156、重构单元158以及滤波器单元160可以基于自位流提取的语法元素来产生经解码视频数据。
位流可以包括一系列NAL单元。位流的NAL单元可以包含经译码的切片NAL单元。作为对位流进行编码的一部分,熵解码单元150可以从经译码的切片NAL单元提取语法元素并且对所述语法元素进行熵解码。经译码的切片中的每一者可以包含切片标头以及切片数据。切片标头可以含有关于切片的语法元素。切片标头中的语法元素可以包含识别与含有所述切片的图片相关联的PPS的语法元素。
除了对来自位流的语法元素进行解码之外,视频解码器30可以对未分割CU执行重构操作。为了对未分割CU执行重构操作,视频解码器30可以对CU的每一TU执行重构操作。通过对CU的每一TU执行重构操作,视频解码器30可以重构CU的残余块。
作为对CU的TU执行重构操作的一部分,反量化单元154可以反量化(即,解量化)与TU相关联的系数块。反量化单元154可以使用与TU的CU相关联的QP值来确定量化的程度和(同样)反量化单元154将应用的反量化的程度。也就是说,可以通过调整当量化变换系数时所使用的QP的值来控制压缩比,即用以表示原始序列以及经压缩的序列的位的数目的比率。压缩比还可以取决于所采用的熵译码的方法。
在反量化单元154反量化系数块之后,反变换处理单元156可以将一或多个反变换应用于系数块以便产生与TU相关联的残余块。例如,反变换处理单元156可以将反DCT、反整数变换、反卡忽南-拉维(Karhunen-Loeve)变换(KLT)、反旋转变换、反定向变换或另一反变换应用于系数块。
如果使用帧内预测对PU进行编码,则帧内预测处理单元166可以执行帧内预测以产生用于PU的预测性块。帧内预测处理单元166可以使用帧内预测模式,以基于空间上相邻的PU的预测块产生用于PU的预测性明度块、Cb块以及Cr块。帧内预测处理单元166可以基于从位流解码的一或多个语法元素来确定用于PU的帧内预测模式。
预测处理单元152可以基于从位流提取的语法元素建构第一参考图片列表(RefPicList0)以及第二参考图片列表(RefPicList1)。此外,如果使用帧间预测对PU进行编码,则熵解码单元150可以提取用于PU的运动信息。运动补偿单元164可以基于PU的运动信息确定用于PU的一或多个参考区域。运动补偿单元164可以基于在用于PU的一或多个参考块处的样本块产生用于PU的预测性明度块、Cb块以及Cr块。
如上文所指示,视频编码器20可以使用合并模式或AMVP模式用信号发送PU的运动信息。当视频编码器20使用AMVP模式用信号发送当前PU的运动信息时,熵解码单元150可以对来自位流的参考索引、用于当前PU的MVD以及候选者索引进行解码。此外,运动补偿单元164可以产生用于当前PU的AMVP候选者列表。AMVP候选者列表包含一或多个MV预测符候选者。MV预测符候选者中的每一者指定在空间上或在时间上邻近当前PU的PU的MV。运动补偿单元164可以至少部分基于候选者索引确定AMVP候选者列表中的选定MV预测符候选者。运动补偿单元164可以接着通过将MVD添加到由选定MV预测符候选者指定的MV来确定当前PU的MV。换句话说,对于AMVP,MV计算为MV=MVP+MVD,其中运动向量预测符(MVP)的索引经信号发送,且MVP是来自AMVP列表的MV候选者(例如,空间或时间)中的一者,并且MVD经信号发送到解码器侧。
如果当前PU是经双向预测的,则熵解码单元150可以对来自位流的额外的参考索引、MVD以及候选者索引进行解码。运动补偿单元164可以使用额外的参考索引、MD以及候选者索引重复上文所描述的过程从而推导用于当前PU的第二MV。以此方式,运动补偿单元164可以推导用于RefPicList0的MV(即,RefPicList0MV)以及用于RefPicList1的MV(即,RefPicList1MV)。
在HEVC工作草案6中,如果低延迟条件为真实,则对于RefPicList1,不用信号发送MVD。如果任何参考帧的图片次序计数(POC)值小于当前图片的POC值,则低延迟条件可以为真实。如果低延迟条件为真实,则视频编码器20以及视频解码器30可以假定(即,自动地确定)用于RefPicList1的MVD等于零。无论低延迟条件是否为真实,如果使用AMVP模式用信号发送当前PU的运动信息,则视频编码器20用信号发送用于RefPicList0的MVD。
如果帧间预测处理单元120确定PU的MV具有整数像素精度,则帧间预测处理单元120可以选择具有子像素精度的MVP。然而,在此情况下,帧间预测处理单元120可以产生当被添加到选定MVP时会产生整数像素MV的MVD并且用信号发送所述MVD。例如,如果选定MVP具有半像素精度,则帧间预测处理单元120可以产生具有半像素精度的MVD并且用信号发送所述MVD。以此方式,为了保证MV将是整数像素MV,如果MVD还经信号发送到视频解码器30,则MVP并不需要具有整数像素精度,因为子像素MVP可以通过MVD补偿,并且MVP和MVD的总和仍可以具有整数像素精度。
在一些实例中,并非全部MVD值在位流中用信号发送。例如,当使用AMVP模式用信号发送PU的运动信息并且特定语法元素(例如,mvd_11_zero_flag)具有特定值(例如,1)时,就不从位流剖析(或在位流中用信号发送)用于PU的RefPicList1MVD。在此实例中,如果特定语法元素具有不同的值(例如,0),则在位流中用信号发送并且从位流剖析用于PU的RefPicList1MVD。当低延迟条件为真实时,可以启用特定语法元素(例如,mvd_11_zero_flag)。因此,在一些实例中,当低延迟条件为真实时,帧间预测处理单元120并不用信号发送用于当前PU的RefPicList1MVD。RefPicList1MVD是用以指示用于确定PU的RefPicList1MV而产生的AMVP候选者列表中的MVP(即,RefPicList1MVP)与PU的RefPicList1MV(即,指示RefPicList1中的参考图片内的位置的MV)之间的差的MVD。当帧间预测处理单元120并不用信号发送用于当前PU的RefPicList1MVD时,以及当帧间预测处理单元120确定当前PU的RefPicList1MV将具有整数像素精度时,帧间预测处理单元120无法选择当添加在一起时产生整数像素RefPicList1MV的子像素RefPicList1MVP以及子像素RefPicList1MVD。因此,在对于RefPicList1MVD不用信号发送MVD的情况下,此类补偿可能不可能进行,并且因此,RefPicList1MVP可能必须被舍入到整数像素精度。以此方式,当RefPicList1MVD不在位流中用信号发送时,当当前PU的RefPicList1MV将具有整数像素精度时,以及当选定RefPicList1MVP具有子像素精度时,帧间预测处理单元120可以将RefPicList1MVP舍入到整数像素精度。此外,当RefPicList1MVD不在位流中用信号发送时,当当前PU的RefPicList1MV将具有整数像素精度时,以及当选定RefPicList1MVP具有子像素精度时,视频解码器30可以将RefPicList1MVP舍入到整数像素精度,并且可以使用所得的整数像素MVP以确定RefPicList1参考块。
在一些实例中,帧间预测处理单元120可以对来自参考图片列表RefPicList0以及RefPicList1两者的MV应用舍入,从而为MVD提供更多灵活性。由于几个分数值可以被舍入到相同的整数值,因此MVD的实际量值可以减小,并且视频编码器可以选择最小的一个量值。在此情况下,MV可以通过公式MV=[MVP+MVD]来给出,其中方括号[]表示舍入函数。例如,帧间预测处理单元120可以将相同的MVP添加到两个或两个以上不同的子像素MVD并且可以舍入所得的MV以获得相同的MV。例如,在此实例中,MVP可以等于3,第一MVD可以等于2,并且第二MVD可以等于0。在此实例中,帧间预测处理单元120可以将通过将MVP添加到第一MVD和第二MVD所得的两个MV舍入到4(即,[3+2]=[5]=4和[3+0]=[3]=4,其中方括号[]表示舍入函数)。在此实例中,帧间预测处理单元120可以用信号发送第二MVD,因为用信号发送第二MVD比用信号发送第一MVD所需的位可以更少。
如上所述。帧间预测处理单元120可以舍入MV的两个分量(MVx以及MVy)。在其它实例中,帧间预测处理单元120可以仅舍入MV的一个分量(例如,MVx或MVy)。在其中帧间预测处理单元120仅舍入MV的水平分量并且当前PU的运动信息使用AMVP模式经信号发送的实例中,舍入操作可以表示为:MVx=[MVPx+MVDx],其中方括号[]指示舍入。类似地,在其中帧间预测处理单元120仅舍入MV的垂直分量并且当前PU的运动信息使用AMVP模式经信号发送的实例中,舍入操作可以表示为:MVy=[MVPy+MVDy],其中方括号[]指示舍入。
在其它实例中,帧间预测处理单元120可以使MVD的分量的任一者或两者具有整数像素精度。在此类实例中,帧间预测处理单元120可以用信号发送经舍入形式的MVD的分量的任一者或两者。例如,帧间预测处理单元120可以用信号发送MVD/4、MVDx/4或MVDy/4而不是MVD。由于MVD二进制化长度可以更短,因此舍入MVD的分量的任一者或两者可以减少信号开支。信号开支可以是在位流中用以用信号发送MVD的位的数目。MVD二进制化长度可以是用于熵译码(例如,CABAC)的MVD的二进制化形式中的位的数目。
在至少其中帧间预测处理单元120用信号发送经舍入形式的MVD的一些实例中,整数像素MVD可以被定义为:
MV=[MVP]+(MVD<<2)
在此类实例中,视频解码器30可以重构MV为:
MV=[MVP+(MVD<<2)]
可替代地,视频解码器30可以重构MV为:
MV=[MVP]+(MVD<<2)
在此替代方案中,视频解码器30仅舍入MVP。如果MVD具有整数像素精度,则用于重构MV的这些技术的任一者可以提供相同的结果。
在其中帧间预测处理单元120使MVD的水平分量具有整数像素精度的实例中,MVD的水平分量可以被计算为:
MVDx=[MVx-[MVPx]]>>2
并且视频解码器30可以重构MVx为:
MVx=[MVPx+(MVDx<<2)]
可替代地,视频解码器30可以重构MVx为:
MVx=[MVPx]+(MVDx<<2)
类似地,在其中帧间预测处理单元120使MVD的垂直分量具有整数像素精度的实例中,MVD的垂直分量可以被计算为:
MVDy=[MVy-[MVPy]]>>2
并且视频解码器30可以重构MVy为:
MVy=[MVPy+(MVDy<<2)]
可替代地,视频解码器30可以重构MVy为:
MVy=[MVPy]+(MVDy<<2)
在一些实例中,MV、MVP或MVD的舍入可以在以下方面与合并MV候选者的舍入同步:舍入MV的两个分量或MV的一个分量(MVx或MVy)或来自两个参考图片列表中的一者的MV或哪些块大小将经舍入。换句话说,MV、MVP或MVD可以用合并MV候选者的MV经舍入的相同方式来舍入。当在合并模式或AMVP模式中用信号发送运动信息时,在本发明的其它地方描述的舍入方法可以用来舍入MV、MVP或MVD。
在一些实例中,视频编码器20的帧间预测处理单元120并不舍入MV。更确切而言,MV的舍入可以在运动补偿期间由运动补偿单元124、164发生。当MV的舍入发生在运动补偿阶段时,无论PU大小,经信号发送或衍生用于PU的MV都可以具有子像素精度。例如,视频编码器20可以在位流中用信号发送当前PU的子像素MVD。然而,在运动补偿期间,运动补偿单元124、164可以将PU的子像素MV舍入到整数像素精度并且可以使用所得的整数像素MV以确定PU的参考块的位置。运动补偿单元124、164可以用本发明中所描述的帧间预测处理单元120用以舍入MV或MV分量的方法中的至少一些来舍入MV或MV分量。
与其中帧间预测处理单元120将子像素MV舍入到整数像素精度的实例不同,运动补偿单元124、164可以使用未经舍入的子像素MV用于预测接续块的MV。接续块可以是在译码次序中跟随当前PU的PU。例如,帧间预测处理单元120可以产生用于特定PU的子像素MV并且运动补偿单元124、164可以在运动补偿期间将子像素MV舍入到整数像素MV。在此实例中,当运动补偿单元124、164产生用于接续PU的合并候选者列表或AMVP候选者列表时,合并候选者列表或AMVP候选者列表可以包含用于特定PU的原始子像素MV而不是经舍入的整数像素MV。相反,当特定PU的子像素MV在运动估计期间经舍入时,用于接续PU的合并候选者列表或AMVP候选者列表可以包含用于接续PU的经舍入的整数像素MV而不是子像素MV。
在其中运动补偿单元124、164舍入MV的实例中,运动补偿单元124、164可以至少部分基于PU的大小确定是否舍入PU的MV。此外,在一些实例中,运动补偿单元124、164可以至少部分基于PU是经单向预测还是经双向预测的来确定是否舍入PU的MV。例如,运动补偿单元124、164可以仅将8×4或4×8大小的经双向预测的PU的MV(或MV的垂直分量)舍入到像素间精度。换句话说,仅对于具有8×4或4×8大小的双向块,才可以在运动补偿阶段将MV或MVy分量舍入到整数像素精度。
此外,在其中运动补偿单元124、164舍入MV的实例中,无论PU的大小,都可以允许子像素MV。因此,在此类实例中,视频编码器20可以用在HEVC工作草案6中描述的方式用信号发送MVD。换句话说,由于无论块大小都允许子像素MV,因此在MVD信号发送中可以不需要任何改变。
在其中运动补偿单元124、164舍入MV的一些实例中,运动补偿单元124、164可以仅舍入明度MV或MV分量。在其它实例中,运动补偿单元124、164可以仅舍入色度MV或MV分量。在又一些其它实例中,运动补偿单元124、164可以舍入明度以及色度MV或MV分量。
在一些实例中,视频编码器20可以在位流中用信号发送用以指示MV将在运动补偿期间被舍入的语法元素(例如,旗标)。因此,运动补偿单元164可以至少部分基于语法元素确定是否将PU的子像素MV舍入到整数像素精度。例如,可以通过旗标在合并列表建构或用于AMVP模式的MV/MVP的任一者中通过经双向预测的块上的MV舍入来开启或关闭对MV精度的限制。视频编码器20可以在位流的各种层级处用信号发送语法元素。例如,视频编码器20可以在特定层级(例如,图片层级或切片层级)处的标头中或在自适应参数集中用信号发送语法元素。在其它实例中,视频编码器20可以在用于更精细的信号发送结构的更低层级(例如,CTU(LCU)层级、CU层级或PU层级)处用信号发送语法元素。
现在继续参考图3。重构单元158可以在适当时使用与CU的TU相关联的明度变换块、Cb变换块和Cr变换块以及CU的PU的预测性明度块、Cb块及Cr块(即,帧内预测数据或帧间预测数据)来重构CU的明度译码块、Cb译码块以及Cr译码块。例如,重构单元158可以将明度变换块、Cb变换块以及Cr变换块的样本添加到预测性明度块、Cb块以及Cr块的对应样本以重构CU的明度译码块、Cb译码块以及Cr译码块。
滤波器单元160可以执行解块操作以减少与CU的明度译码块、Cb译码块以及Cr译码块相关联的成块假影。视频解码器30可以在经解码图片缓冲器162中存储CU的明度译码块、Cb译码块以及Cr译码块。经解码图片缓冲器162可以提供参考图片用于后续运动补偿、帧内预测以及在显示装置(例如图1的显示装置32)上的呈现。例如,视频解码器30可以基于经解码图片缓冲器162中的明度块、Cb块以及Cr块对其它CU的PU执行帧内预测或帧间预测操作。以此方式,视频解码器30可以从位流提取重要明度系数块的变换系数层级,反量化变换系数层级,对变换系数层级应用变换以产生变换块,至少部分基于变换块产生译码块并且输出译码块用于显示。
图4是说明提取用于二维(2D)内插的块大小的概念图。在给出位置处的值可以使用一维内插基于通过所述位置的一维、水平、垂直或对角线中的样本来计算。给出位置的值可以使用二维内插基于在包含给出位置的二维空间中排列的样本来计算。例如,当使用二维内插来计算给出位置的值时,可以基于在X形图案(其中给出位置在其中心处)中排列的样本来计算所述值。
在一些实例中,帧间预测处理单元120可以基于最差情况考虑确定是否舍入MV的一或多个分量。换句话说,可以由最差情况考虑(即,最差情况情境)来界定将被舍入的MV。在本发明中,“最差情况情境”可指其中从存储器提取的样本的数目最大的情境。例如,在HEVC工作草案6中,如果4×4块被禁用,则在存储器带宽要求方面的最差情况可能是使用2D内插的4×8和8×4经双向预测的PU(即,MVx以及MVy均具有子像素精度,其中MVx是MV的水平分量并且MVy是MV的垂直分量)。在此实例中,如果使用4:2:0视频格式,如果使用8抽头内插滤波器用于明度样本以及使用4抽头内插滤波器用于色度样本,运动补偿单元(例如,运动补偿单元124或运动补偿单元164)可以从存储器提取用于PU的8×4明度块的15×11大小的两个块以及用于PU的4×2色度块的7×5大小的四个块。在此实例中,4×2色度块对应于8×4明度块,因为在4:2:0视频格式中,色度块是在水平方向以及垂直方向上向下采样的。
一般说来,由运动补偿单元提取用于内插的块大小是(N-1+W)×(N-1+H),其中N是滤波器长度,W是块的宽度并且H是块的高度。滤波器长度(即,内插滤波器的长度)指示使用多少沿着特定线的整数位置样本来计算经内插的值。如图4的实例中所示,经提取块的高度可以延伸超出PU的样本块的高度,超出程度约为内插滤波器的长度。因此,在PU的样本块上方提取的样本的数目可以等于N/2-1并且在PU的样本块下方提取的样本的数目可以等于N/2。
在其它实例中,存储器带宽要求可以使得帧间预测处理单元120舍入用于具有小于8×8明度预测块的PU的MV分量。也就是说,假定对于4×8和8×4块,减少了存储器带宽要求,使得4×8和8×4块不再是在将提取的样本的数目方面的最差情况情境,那么次最差情况情境是使用2D内插的8×8经双向预测的PU。在一些此类实例中,运动补偿单元(例如,运动补偿单元124、164)可以提取15×15大小的两个明度参考块以及7×7大小的四个色度参考块。在此实例中,运动补偿单元提取两个明度参考块以及四个色度参考块,因为在双向预测中,PU的明度预测块以及PU的色度预测块各自是从两个参考块中确定的。在其中在存储器带宽要求方面最差情况情境是使用2D内插的16x8经双向预测的PU的实例中,运动补偿单元可以提取23x15大小的两个明度参考块以及11×7大小的四个色度(例如,U和V)参考块。
考虑到从一个最差情况情境改进到次最差情况情境,将经提取像素的数目限制为小于次最差情况时的数目的方法可以适用。也就是说,当CU的PU具有与最差情况情境相关联的配置(例如,8×4经双向预测的PU)时,视频译码器(例如,视频编码器20或视频解码器30)可以舍入子像素MV,其方式为使得经提取的像素比当CU的PU具有次最差配置(例如,8×8经双向预测的PU)时经提取的像素少。为了减少最差情况情境,可能使用各种MV舍入的方法。换句话说,视频译码器可以实施各种舍入方法以减少最差情况情境的发生(即,其中从存储器传送最大量的数据从而产生用于CU的PU的预测性块的情境。)例如,帧间预测处理单元120可以舍入经双向预测的PU的两个MV。在另一实例中,帧间预测处理单元120可以仅舍入经双向预测的PU的一个MV。在另一实例中,帧间预测处理单元120可以仅舍入经双向预测的PU的任一个或两个MV的一个分量(例如,MVx或MVy)。
在另一实例中,帧间预测处理单元120可以基于矩形PU的定向选择性地舍入矩形PU的MV分量。换句话说,对于矩形PU,MV舍入可以取决于PU定向。矩形PU是具有矩形(即,非正方形)样本块的PU。例如,矩形PU可以具有8×4或4×8明度样本块。在一个实例中,帧间预测处理单元120可以仅舍入用于经水平定向的PU的MV的垂直分量(即,MVy)。在此实例中,帧间预测处理单元120可以仅舍入用于经水平定向的PU的MV的水平分量(即,MVx)。在一些实例中,视频解码器30还可以基于PU的定向确定是否舍入MV的分量的任一者或两者。因此,视频译码器可以至少部分基于具有特定大小的当前PU以及当前PU的定向确定是否将运动向量的水平分量或垂直分量中的至少一者从子像素精度舍入到整数像素精度。
在另一实例中,帧间预测处理单元120可以用交叉的方式舍入MV分量。也就是说,帧间预测处理单元120可以舍入PU的第一MV的MVx分量并且可以舍入PU的第二MV的MVy分量,或反之亦然。在一些实例中,视频解码器30也可以用交叉的方式舍入MV分量。因此,视频译码器可以响应于确定当前PU具有特定大小,将当前PU的第一运动向量的水平分量但是不将垂直分量从子像素精度舍入到整数像素精度,并且可以将当前PU的第二运动向量的垂直分量但是不将水平分量从子像素精度舍入到整数像素精度。
下表1指示当帧间预测处理单元120使用各种舍入技术时经提取的像素的数目。
表1
表1中指示的每一舍入方法可以适合于具有4×8或8×4明度块的PU的MV的舍入。然而,在次最差情况情境(即,具有8×8大小的明度块的经双向预测的PU)中,帧间预测处理单元120可以仅使用具有4×8或8×4大小的明度块的PU的两个MV的舍入。另外,对于具有4×8或8×4大小的明度块的PU经提取像素的数目可以大于对于具有8×8大小的明度块的PU经提取像素的数目。这从表1的最后一栏(关于提取用于内插每一新像素的参考像素的数目)可以看到。
帧间预测处理单元120的一些配置可以提供一致的设计。例如,如果最差情况情境是8×4或4×8,则帧间预测处理单元120可以舍入PU的两个MV或者可以舍入PU的两个MV的MVy分量。也就是说,只要处理8×4或者4×8的最差情况,就能执行舍入两个MV或者舍入两个MV的MVy分量。在另一实例中,如果最差情况情境是具有8×8大小的明度块的经双向预测的PU,则帧间预测处理单元120可以舍入用于具有4×8或8×4大小的明度块的PU的两个MV。此外,在此实例中,帧间预测处理单元120可以仅舍入具有8×8大小的明度块的PU的两个MV的MVy分量。在其它实例中,舍入技术可以延伸到具有比8×8更大或更小的大小的明度块的PU。例如,帧间预测处理单元120可以舍入用于具有4×4大小的明度块的PU的两个MV或仅舍入所述PU的MV的MVy分量。
假定像素存储在线性存储器存储模块中,舍入MVy分量可以比舍入MVx分量更有利,因为舍入MVy分量可以比舍入MVx分量减少更多的经提取像素的数目。这是因为来自存储器的每一读取操作可以提取固定量的连续数据(例如,64个连续像素)。然而,当运动补偿单元124沿着垂直轴执行内插时,运动补偿单元124可能仅需要来自通过单个读取操作提取的数据的单个像素。相反,当运动补偿单元124沿着水平轴执行内插时,运动补偿单元124可以使用来自通过单个读取操作提取的数据的多个像素。因此,运动补偿单元124沿着水平轴执行内插比沿着垂直轴执行内插所需的读取操作的执行可以更少。因此,当MVy被舍入到整数精度时,运动补偿单元124可以仅沿着水平轴执行内插。以此方式,通过舍入MVy可以减少由运动补偿单元124执行的读取操作的数目(以及因此从存储器提取的数据的量)。
图5A到5C是说明根据本发明的一或多个技术的像素填充的概念图。作为舍入MV的替代方案,在内插中使用的像素填充可以减少存储器带宽要求。也就是说,通过MV舍入实现的存储器带宽减少可以通过在内插中使用的像素填充来实现。如先前关于图4所描述,提供了将提取用于内插的块大小并且MV舍入减小了块的大小,因为整数像素MV导致不执行内插。当使用像素填充时,帧间预测处理单元120并不舍入MV。更确切而言,当运动补偿单元(例如,运动补偿单元124或运动补偿单元164)确定用于当前PU的参考块时,运动补偿单元可以基于当前PU的子像素MV确定参考图片中的整数像素样本的块。运动补偿单元接着可以从存储器检索所确定的整数像素样本的块。运动补偿单元接着可以在经检索的整数像素样本的块的边缘处基于整数像素样本产生整数像素填充样本。运动补偿单元可以使用整数像素填充样本以内插由当前PU的子像素MV指示的参考块的子像素样本的值。在其中运动补偿单元产生填充像素的实例中,内插操作可以与HEVC工作草案6中的操作相同,但是对内插操作的輸入可以不同。
运动补偿单元可以以各种方式产生整数填充样本。如图5A的实例中所示,运动补偿单元可以在参考图片的区域250中检索整数像素样本的块。另外,运动补偿单元可以产生从区域250在每一方向上延伸的整数像素填充样本。换句话说,运动补偿单元仅提取对应于整数像素MV的区域250的整数像素样本,并且运动补偿单元在水平方向和垂直方向上通过复制边界像素来填充像素,如阴影区域252中所描绘。因此,在图5A的实例中,在经检索块上方的整数像素填充样本可以具有与经检索块的整数像素样本的顶行中的整数像素样本的值匹配的值,在经检索块右侧的整数像素填充样本可以具有与经检索块的整数像素样本的最右栏中的整数像素样本的值匹配的值,在经检索块左侧的整数像素填充样本可以具有与经检索块的整数像素样本的最左栏中的整数像素样本的值匹配的值,并且在经检索块下方的整数像素填充样本可以具有与经检索块的整数像素样本的底行中的整数像素样本的值匹配的值。
图5B是提供像素填充的另一实例的概念图。在图5B的实例中,运动补偿单元可以从存储器提取区域260中的整数像素样本以及区域262、264中的整数像素样本。运动补偿单元可以基于PU的MV确定区域260。区域262、264中的整数像素样本可以是运动补偿单元用于垂直内插的整数像素样本。运动补偿单元可以产生用于区域266、268的整数像素填充样本而不是检索用于区域266、268的样本。运动补偿单元可以通过沿着区域260的左边缘以及右边缘复制整数像素样本来产生用于区域266、268的整数像素填充样本。因此,在图5B的实例中,运动补偿单元可以仅提取用于垂直内插所需的像素(区域262、264中示出),并且可以填充区域266、268中的像素。
图5C是提供像素填充的另一实例的概念图。在图5C的实例中,运动补偿单元可以提取区域270中的整数像素样本以及区域272、274、276和278中的像素间样本。运动补偿单元可以基于PU的MV确定区域270。运动补偿单元可以基于参数x确定区域272、274。此外,运动补偿单元可以基于参数y确定区域276、278。参数x和y可以表示为与像素的数目有关。运动补偿单元可以在区域280中产生整数像素填充样本而不是提取整数像素样本。因此,在图5C的实例中,一些区域由与像素的数目有关的参数x和y指定,其中对需要提取用于2D(水平和垂直)内插的像素以及保留区域中的像素进行填充。
图6是说明根据本发明的一或多个技术的视频编码器20的实例操作300的流程图。在图6的实例中,视频编码器20可以确定MV是否具有子像素(sub-pixel)(即,子像素(sub-pixel))精度(304)。换句话说,视频编码器20可以确定MV的水平分量和/或垂直分量是否具有子像素精度。当MV具有子像素精度时(304的“是”),视频编码器20可以确定当前PU是否具有特定大小(306)。在一些实例中,视频编码器20可以通过确定当前PU的大小是否小于特定大小阈值,确定当前PU是否具有特定大小。此外,在一些实例中,特定大小可以是4×8、8×4或更小。响应于确定当前PU具有特定大小(306的“是”),视频编码器20可以舍入MV(308)。舍入MV可以包括将MV的水平分量和/或垂直分量从子像素精度舍入到整数像素精度。如在本发明的其它地方所描述的,在一些实例中,帧间预测处理单元120可以舍入MV的水平分量和/或垂直分量。在其它实例中,运动补偿单元124可以在运动补偿期间舍入MV的水平分量和/或垂直分量。
在一些实例中,帧间预测处理单元120可以产生合并候选者列表。在此实例中,合并候选者列表中的每一候选者可以指定MV。由合并候选者列表中的候选者指定的MV可以包含动作304和306的MV。在产生合并候选者列表之后,根据本发明的一或多个技术,帧间预测处理单元120可以将由合并候选者列表中的MV候选者指示的MV从子像素精度舍入到整数像素精度。在舍入由MV候选者指示的MV之后,帧间预测处理单元120可以从合并候选者列表删除重复的MV候选者。重复的MV候选者可以指定相同的MV以及相同的参考索引。合并候选者列表中的选定MV候选者可以指定当前PU的运动向量。在另一实例中,帧间预测处理单元120可以产生合并候选者列表并且可以从合并候选者列表删除重复的MV候选者。在从合并候选者列表删除重复的MV候选者之后,帧间预测处理单元120可以将由MV候选者指示的MV从子像素精度舍入到整数像素精度。合并候选者列表中的选定MV候选者可以指定用于当前PU的MV。
在另一实例中,帧间预测处理单元120可以产生用于当前PU的AMVP候选者列表。在产生AMVP候选者列表之后,帧间预测处理单元120可以将由AMVP候选者列表中的MV候选者指示的MV从子像素精度舍入到整数像素精度。动作304和306的MV可以在由AMVP候选者列表中的MV候选者指示的MV当中。在舍入由MV候选者指示的运动向量之后,帧间预测处理单元120可以从AMVP候选者列表删除重复的MV候选者,并且可以在位流中用信号发送指示当前PU的运动向量与由AMVP候选者列表中的选定MV候选者指示的运动向量之间的差的MVD。在类似的实例中,帧间预测处理单元120可以产生用于当前PU的AMVP候选者列表并且可以从AMVP候选者列表删除重复的MV候选者。在从AMVP候选者列表删除重复的MV候选者之后,帧间预测处理单元120可以将由MV候选者指示的运动向量从子像素精度舍入到整数像素精度。此外,帧间预测处理单元120可以在位流中用信号发送指示当前PU的运动向量与由AMVP候选者列表中的选定MV候选者指示的运动向量之间的差的MVD。
在MV已经被舍入之后,或当MV不具有子像素精度时(304的“否”),或在当前PU不具有特定大小时(306的“否”),运动补偿单元124可以至少部分基于MV产生用于当前PU的预测性样本块(310)。例如,如果MV是合并候选者列表中的选定MV,则运动补偿单元124可以至少部分基于由合并候选者列表中的选定MV候选者指示的参考图片样本产生用于当前PU的预测性样本块。在另一实例中,运动补偿单元124可以基于MVD以及AMVP候选者列表中的MV候选者确定MV,并且可以至少部分基于由MV指示的参考图片样本确定用于当前PU的预测性样本块。在一些实例中,运动补偿单元124可以产生用于当前PU的一明度预测性块以及两个色度预测性块。视频编码器20的残余产生单元102接着可以产生用于当前CU的残余块(312)。视频编码器20可以在位流中用信号发送基于残余样本块的语法元素(314)。例如,视频编码器20可以对残余样本块的残余样本应用变换,量化所得的变换系数,产生指示变换系数的语法元素,对语法元素进行熵编码,并且在位流中输出经熵编码的语法元素。
图7是说明根据本发明的一或多个技术的视频解码器30的实例操作350的流程图。图7的实例可以适用于其中视频编码器20在运动补偿期间舍入MV的一或多个分量且因此可以用信号发送用于PU的子像素或整数像素MV的实施方案。
在图7的实例中,运动补偿单元164可以确定MV是否具有子像素精度(354)。换句话说,运动补偿单元164可以确定MV的水平分量和/或垂直分量是否具有子像素精度。在一个实例中,运动补偿单元164可以产生合并候选者列表。在此实例中,MV可以由合并候选者列表中的MV候选者指示。在另一实例中,运动补偿单元164可以产生AMVP候选者列表。在此实例中,MV可以由AMVP候选者列表中的MV候选者指示。在另一实例中,MV可以等于经信号发送用于当前PU的MVD以及由AMVP候选者列表中的选定候选者指示的MV的总和。
当MV具有子像素精度时(354的“是”),运动补偿单元164可以确定PU是否具有特定大小(356)。在一些实例中,运动补偿单元164可以通过确定当前PU的大小是否小于特定大小阈值,确定当前PU是否具有特定大小。此外,在一些实例中,特定大小可以是4×8、8×4或更小。响应于确定当前PU具有特定大小(356的“是”),运动补偿单元164可以舍入MV(358)。舍入MV可以包括将MV的水平分量和/或垂直分量从子像素精度舍入到整数像素精度。
此外,在一个实例中,运动补偿单元164可以产生合并候选者列表。在此实例中,合并候选者列表中的每一候选者可以指定运动向量。在产生合并候选者列表之后,根据本发明的一或多个技术,运动补偿单元164可以将由合并候选者列表中的MV候选者指示的运动向量从子像素精度舍入到整数像素精度。MV可以在由合并候选者列表中的MV候选者指示的MV当中。在舍入由MV候选者指示的运动向量之后,帧间预测处理单元120可以从合并候选者列表删除重复的MV候选者。重复的MV候选者可以指定相同的MV以及参考索引。合并候选者列表中的选定MV候选者可以指定当前PU的运动向量。在另一实例中,运动补偿单元164可以产生合并候选者列表并且可以从合并候选者列表删除重复的MV候选者。在从合并候选者列表删除重复的MV候选者之后,运动补偿单元164可以将由MV候选者指示的运动向量从子像素精度舍入到整数像素精度。合并候选者列表中的选定MV候选者可以指定用于当前PU的运动向量。
在另一实例中,运动补偿单元164可以产生用于当前PU的AMVP候选者列表。在产生AMVP候选者列表之后,运动补偿单元164可以将由AMVP候选者列表中的MV候选者指示的运动向量从子像素精度舍入到整数像素精度。运动向量可以在由AMVP候选者列表中的MV候选者指示的运动向量当中。在舍入由MV候选者指示的运动向量之后,运动补偿单元164可以从AMVP候选者列表删除重复的MV候选者,并且可以至少部分基于MVD以及由AMVP候选者列表中的选定MV候选者指示的运动向量确定用于当前PU的运动向量。在类似的实例中,运动补偿单元164可以产生用于当前PU的AMVP候选者列表并且可以从AMVP候选者列表删除重复的MV候选者。在从AMVP候选者列表删除重复的MV候选者之后,运动补偿单元164可以将由MV候选者指示的运动向量从子像素精度舍入到整数像素精度。运动补偿单元164可以至少部分基于MVD以及由AMVP候选者列表中的选定MV候选者指示的运动向量确定用于当前PU的运动向量。
在舍入MV之后,或当MV不具有子像素精度时(354的“否”),或在当前PU不具有特定大小时(356的“否”),运动补偿单元164可以至少部分基于MV产生用于当前PU的预测性样本块(360)。例如,运动补偿单元164可以基于MV以及MVD确定用于当前PU的运动向量。此外,在此实例中,运动补偿单元164可以至少部分基于由用于当前PU的运动向量指示的参考图片样本确定用于当前PU的预测性样本块。在另一实例中,运动补偿单元164可以至少部分基于由MV指示的参考图片样本确定用于当前PU的预测性样本块。运动补偿单元164可以产生用于当前PU的一明度预测性块以及两个色度预测性块。视频解码器30可以至少部分基于用于当前PU的样本块产生用于当前CU的经重构样本块(362)。
在一或多个实例中,所描述的功能可以用硬件、软件、固件或其任何组合来实施。如果用软件实施,则所述功能可以作为一或多个指令或代码在计算机可读媒体上存储或传输,并且由基于硬件的处理单元来执行。计算机可读媒体可以包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包含促进将计算机程序从一处传送到另一处(例如,根据通信协议)的任何媒体的通信媒体。以此方式,计算机可读媒体大体上可以对应于(1)非暂时形的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可以是可由一或多个计算机或一或多个处理器存取以检索用于实施本发明中所描述的技术的指令、代码和/或数据结构的任何可用的媒体。计算机程序产品可以包含计算机可读媒体。
借助于实例而非限制,此类计算机可读存储媒体可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可以用来存储指令或数据结构的形式的期望程序代码并且可以由计算机存取的任何其它媒体。同样,任何连接被恰当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电以及微波的无线技术从网站、服务器或其它远程源传输指令,则同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电以及微波的无线技术包含在媒体的定义中。然而,应理解,计算机可读存储媒体和数据存储媒体并不包含连接、载波、信号或其它暂时性媒体,而是实际上针对于非暂时性有形存储媒体。如本文所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘使用激光光学地复制数据。上文的组合也应包含在计算机可读媒体的范围内。
指令可以由一或多个处理器执行,所述一或多个处理器例如是一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)、或其它等效的集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可以在经配置用于编码和解码的专用硬件和/或软件模块内提供,或者并入在组合编解码器中。并且,可将所述技术完全实施于一或多个电路或逻辑元件中。
本发明的技术可以在广泛多种装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元是为了强调经配置以执行所公开的技术的装置的功能方面,但未必需要通过不同硬件单元实现。实际上,如上文所描述,各种单元可以结合合适的软件和/或固件组合在编解码器硬件单元中,或者通过互操作硬件单元的集合来提供,所述硬件单元包括如上文所描述的一或多个处理器。
已经描述了各种实例。这些以及其它实例属于所附权利要求书的范围内。

Claims (56)

1.一种对视频数据进行解码的方法,所述方法包括:
响应于确定当前预测单元PU具有特定大小,舍入运动向量,其中舍入所述运动向量包括将所述运动向量的水平分量或垂直分量中的至少一者从子像素精度舍入到整数像素精度;
至少部分基于所述经舍入的运动向量产生用于所述当前PU的预测性样本块;以及
部分基于用于所述当前PU的所述预测性样本块产生经重构样本块。
2.根据权利要求1所述的方法,其中所述特定大小是4×8、8×4或更小。
3.根据权利要求1所述的方法,其进一步包括:至少部分基于具有所述特定大小的所述当前PU以及所述当前PU的PU索引确定是否舍入所述运动向量,其中所述当前PU的所述PU索引指示所述当前PU在译码单元CU内的位置。
4.根据权利要求1所述的方法,其进一步包括:至少部分基于具有所述特定大小的所述当前PU以及所述当前PU的帧间方向模式确定是否舍入所述运动向量。
5.根据权利要求1所述的方法,其进一步包括:至少部分基于具有所述特定大小的所述当前PU以及所述当前PU的定向确定是否舍入所述运动向量。
6.根据权利要求1所述的方法,其中:
所述运动向量是所述当前PU的第一运动向量;
舍入所述当前PU的所述第一运动向量包括:响应于确定所述当前PU具有所述特定大小,将所述当前PU的所述第一运动向量的所述水平分量而非所述当前PU的所述第一运动向量的所述垂直分量从子像素精度舍入到整数像素精度;且
所述方法进一步包括响应于确定所述当前PU具有所述特定大小,将所述当前PU的第二运动向量的垂直分量而非所述当前PU的所述第二运动向量的水平分量从子像素精度舍入到整数像素精度。
7.根据权利要求1所述的方法,其中:
所述运动向量是第一运动向量,
所述方法进一步包括:
产生用于所述当前PU的合并候选者列表;以及
在产生所述合并候选者列表之后,将由所述合并候选者列表中的运动向量MV候选者指示的运动向量从子像素精度舍入到整数像素精度,其中所述第一运动向量在由所述合并候选者列表中的所述MV候选者指示的所述运动向量当中,且产生用于所述当前PU的所述预测性样本块包括至少部分基于由所述合并候选者列表中的选定MV候选者指示的参考图片样本产生用于所述当前PU的所述预测性样本块。
8.根据权利要求7所述的方法,其进一步包括在舍入由所述合并候选者列表中的所述MV候选者指示的所述运动向量之后,从所述合并候选者列表删除重复的MV候选者。
9.根据权利要求7所述的方法,其进一步包括在舍入由所述合并候选者列表中的MV候选者指示的所述运动向量之前,从所述合并候选者列表删除重复的MV候选者。
10.根据权利要求1所述的方法,其中:
所述运动向量是第一运动向量,
所述方法进一步包括:
产生用于所述当前PU的高级运动向量预测AMVP候选者列表;
在产生所述AMVP候选者列表之后,将由所述AMVP候选者列表中的MV候选者指示的运动向量从子像素精度舍入到整数像素精度,其中所述第一运动向量在由所述AMVP候选者列表中的所述MV候选者指示的所述运动向量当中;以及
至少部分基于运动向量差MVD以及由所述AMVP候选者列表中的选定MV候选者指示的运动向量确定所述当前PU的运动向量;且
产生所述预测性样本块包括至少部分基于由所述当前PU的所述运动向量指示的参考图片样本确定用于所述当前PU的所述预测性样本块。
11.根据权利要求10所述的方法,其进一步包括在舍入由所述AMVP候选者列表中的所述MV候选者指示的所述运动向量之后,从所述AMVP候选者列表删除重复的MV候选者。
12.根据权利要求10所述的方法,其进一步包括在舍入由所述AMVP候选者列表中的所述MV候选者指示的运动向量之前,从所述AMVP候选者列表删除重复的MV候选者。
13.根据权利要求1所述的方法,其中:
所述经舍入的运动向量是第一经舍入的运动向量,
舍入所述运动向量包括通过将所述运动向量的至少一个分量舍入到下一个更高的整数值来产生所述第一经舍入的运动向量,且
所述方法进一步包括:
通过将所述运动向量的所述至少一个分量舍入到下一个更低的整数值来产生第二经舍入的运动向量;
产生用于所述当前PU的候选者列表,所述候选者列表包含分别指定所述第一和第二经舍入的运动向量的第一和第二MV候选者;以及
至少部分基于运动向量差MVD以及由所述候选者列表中的选定MV候选者指示的运动向量确定所述当前PU的运动向量。
14.根据权利要求1所述的方法,其中舍入所述运动向量包括将所述运动向量的所述水平分量以及所述垂直分量两者从子像素精度舍入到整数像素精度。
15.一种对视频数据进行编码的方法,所述方法包括:
响应于确定当前预测单元PU具有特定大小,舍入运动向量,其中舍入所述运动向量包括将所述运动向量的水平分量或垂直分量中的至少一者从子像素精度舍入到整数像素精度;
至少部分基于所述运动向量产生用于当前PU的预测性样本块;
部分基于用于所述当前PU的所述预测性样本块产生用于所述当前PU的残余样本块;以及
在位流中用信号发送用于所述当前PU的所述残余样本块。
16.根据权利要求15所述的方法,其中所述特定大小是4×8、8×4或更小。
17.根据权利要求15所述的方法,其进一步包括:至少部分基于具有所述特定大小的所述当前PU以及所述当前PU的PU索引确定是否舍入所述运动向量,其中所述当前PU的所述PU索引指示所述当前PU在译码单元CU内的位置。
18.根据权利要求15所述的方法,其进一步包括至少部分基于具有所述特定大小的所述当前PU以及所述当前PU的帧间方向模式确定是否将所述运动向量从子像素精度舍入到整数像素精度。
19.根据权利要求15所述的方法,其进一步包括至少部分基于具有所述特定大小的所述当前PU以及所述当前PU的定向确定是否将所述运动向量从子像素精度舍入到整数像素精度。
20.根据权利要求15所述的方法,其中:
所述当前PU的所述运动向量是所述当前PU的第一运动向量;
舍入所述当前PU的所述第一运动向量包括:响应于确定所述当前PU具有所述特定大小,将所述当前PU的所述第一运动向量的所述水平分量而非所述当前PU的所述第一运动向量的所述垂直分量从子像素精度舍入到整数像素精度;且
所述方法进一步包括响应于确定所述当前PU具有所述特定大小,将所述当前PU的第二运动向量的垂直分量而非所述当前PU的所述第二运动向量的水平分量从子像素精度舍入到整数像素精度。
21.根据权利要求15所述的方法,其中:
所述运动向量是第一运动向量,
所述方法进一步包括:
产生用于所述当前PU的合并候选者列表;以及
在产生所述合并候选者列表之后,将由所述合并候选者列表中的运动向量MV候选者指示的运动向量从子像素精度舍入到整数像素精度,其中所述第一运动向量在由所述合并候选者列表中的所述MV候选者指示的所述运动向量当中,且
产生用于所述当前PU的所述预测性样本块包括至少部分基于由所述合并候选者列表中的选定MV候选者指示的参考图片样本产生用于所述当前PU的所述预测性样本块。
22.根据权利要求21所述的方法,其进一步包括在舍入由所述MV候选者指示的所述运动向量之后,从所述合并候选者列表删除重复的MV候选者,其中所述重复的MV候选者指示相同的MV且指示相同的参考索引。
23.根据权利要求21所述的方法,其进一步包括在舍入由所述合并候选者列表中的MV候选者指示的运动向量之前,从所述合并候选者列表删除重复的MV候选者,其中所述重复的MV候选者指示相同的MV且指示相同的参考索引。
24.根据权利要求15所述的方法,其中:
所述运动向量是第一运动向量;
所述方法进一步包括:
产生用于所述当前PU的高级运动向量预测AMVP候选者列表;
在产生所述AMVP候选者列表之后,将由所述AMVP候选者列表中的MV候选者指示的运动向量从子像素精度舍入到整数像素精度,其中所述第一运动向量在由所述AMVP候选者列表中的所述MV候选者指示的所述运动向量当中;以及
在所述位流中用信号发送指示所述当前PU的运动向量与由所述AMVP候选者列表中的选定MV候选者指示的运动向量之间的差的运动向量差MVD。
25.根据权利要求24所述的方法,其进一步包括在舍入由所述MV候选者指示的所述运动向量之后,从所述AMVP候选者列表删除重复的MV候选者,其中所述重复的MV候选者指示相同的MV。
26.根据权利要求24所述的方法,其进一步包括在舍入由所述AMVP候选者列表中的MV候选者指示的运动向量之前,从所述AMVP候选者列表删除重复的MV候选者,其中所述重复的MV候选者指示相同的MV。
27.根据权利要求15所述的方法,其中:
所述经舍入的运动向量是第一经舍入的运动向量,
舍入所述运动向量包括通过将所述运动向量的至少一个分量舍入到下一个更高的整数值来产生所述第一经舍入的运动向量,且
所述方法进一步包括:
通过将所述运动向量的所述至少一个分量舍入到下一个更低的整数值来产生第二经舍入的运动向量;
产生用于所述当前PU的候选者列表,所述候选者列表包含分别指定所述第一和第二经舍入的运动向量的第一和第二MV候选者;
在所述位流中用信号发送所述候选者列表中的选定MV候选者的索引。
28.根据权利要求15所述的方法,其中:
所述运动向量是所述当前PU的MVD,且
所述方法进一步包括在所述位流中用信号发送所述当前PU的所述经舍入的MVD。
29.根据权利要求15所述的方法,其中舍入所述运动向量包括将所述运动向量的所述水平分量以及所述垂直分量两者从子像素精度舍入到整数像素精度。
30.根据权利要求15所述的方法,其中:
舍入所述运动向量包括在运动补偿期间舍入所述运动向量;且
在所述位流中用信号发送所述当前PU的子像素MVD。
31.一种视频译码装置,其包括经配置以进行以下操作的一或多个处理器:
响应于确定当前预测单元PU具有特定大小,舍入运动向量,使得所述运动向量的水平分量或垂直分量中的至少一者从子像素精度被舍入到整数像素精度;以及
至少部分基于所述运动向量产生用于当前PU的预测性样本块。
32.根据权利要求31所述的视频译码装置,其中所述特定大小是4×8、8×4或更小。
33.根据权利要求31所述的视频译码装置,其中所述一或多个处理器经配置以至少部分基于具有所述特定大小的所述当前PU以及所述当前PU的PU索引确定是否将所述运动向量从子像素精度舍入到整数像素精度,其中所述当前PU的所述PU索引指示所述当前PU在译码单元CU内的位置。
34.根据权利要求31所述的视频译码装置,其中所述一或多个处理器经配置以至少部分基于具有所述特定大小的所述当前PU以及所述当前PU的帧间方向模式确定是否舍入所述运动向量。
35.根据权利要求31所述的视频译码装置,其中所述一或多个处理器经配置以至少部分基于具有所述特定大小的所述当前PU以及所述当前PU的定向确定是否舍入所述运动向量。
36.根据权利要求31所述的视频译码装置,其中:
所述运动向量是所述当前PU的第一运动向量;
所述一或多个处理器经配置以:
响应于确定所述当前PU具有所述特定大小,将所述当前PU的所述水平分量而非所述第一运动向量的所述垂直分量从子像素精度舍入到整数像素精度;以及
响应于确定所述当前PU具有所述特定大小,将所述当前PU的第二运动向量的垂直分量而非所述当前PU的所述第二运动向量的水平分量从子像素精度舍入到整数像素精度。
37.根据权利要求31所述的视频译码装置,其中:
所述运动向量是第一运动向量,
所述一或多个处理器经配置以:
产生用于所述当前PU的合并候选者列表;以及
在产生所述合并候选者列表之后,将由所述合并候选者列表中的运动向量MV候选者指示的运动向量从子像素精度舍入到整数像素精度,其中所述第一运动向量在由所述合并候选者列表中的所述MV候选者指示的所述运动向量当中,且
至少部分基于由所述合并候选者列表中的选定MV候选者指示的参考图片样本产生用于所述当前PU的所述预测性样本块。
38.根据权利要求37所述的视频译码装置,其中所述一或多个处理器经配置以在舍入由所述MV候选者指示的所述运动向量之后,从所述合并候选者列表删除重复的MV候选者,其中所述重复的MV候选者指示相同的MV且指示相同的参考索引。
39.根据权利要求37所述的视频译码装置,其中所述一或多个处理器经配置以使得在舍入由所述MV候选者指示的所述运动向量之前,所述一或多个处理器从所述合并候选者列表删除重复的MV候选者,其中所述重复的MV候选者指示相同的MV且指示相同的参考索引。
40.根据权利要求31所述的视频译码装置,其中:
所述运动向量是第一运动向量,
所述一或多个处理器经配置以:
产生用于所述当前PU的高级运动向量预测AMVP候选者列表;
在产生所述AMVP候选者列表之后,将由所述AMVP候选者列表中的MV候选者指示的运动向量从子像素精度舍入到整数像素精度,其中所述第一运动向量在由所述AMVP候选者列表中的所述MV候选者指示的所述运动向量当中;以及
至少部分基于运动向量差MVD以及由所述AMVP候选者列表中的选定MV候选者指示的运动向量确定所述当前PU的运动向量;
至少部分基于由所述当前PU的所述运动向量指示的参考图片样本确定用于所述当前PU的所述预测性样本块。
41.根据权利要求40所述的视频译码装置,其中所述一或多个处理器经配置以使得在舍入由所述MV候选者指示的所述运动向量之后,所述一或多个处理器从所述AMVP候选者列表删除重复的MV候选者,其中所述重复的MV候选者指示相同的MV。
42.根据权利要求40所述的视频译码装置,其中所述一或多个处理器经配置以使得在舍入由所述MV候选者指示的所述运动向量之前,所述一或多个处理器从所述AMVP候选者列表删除重复的MV候选者,其中所述重复的MV候选者指示相同的MV。
43.根据权利要求40所述的视频译码装置,其中所述一或多个处理器进一步经配置以在位流中用信号发送指示所述当前PU的所述运动向量与由所述AMVP候选者列表中的选定MV候选者指示的运动向量之间的差的运动向量差MVD。
44.根据权利要求31所述的视频译码装置,其中:
所述经舍入的运动向量是第一经舍入的运动向量,且
所述一或多个处理器经配置以:
通过将所述运动向量的至少一个分量舍入到下一个更高的整数值来产生所述第一经舍入的运动向量;
通过将所述运动向量的所述至少一个分量舍入到下一个更低的整数值来产生第二经舍入的运动向量;
产生用于所述当前PU的候选者列表,所述候选者列表包含分别指定所述第一和第二经舍入的运动向量的第一和第二MV候选者;以及
至少部分基于MVD以及由所述候选者列表中的选定MV候选者指示的运动向量确定所述当前PU的运动向量。
45.根据权利要求31所述的视频译码装置,其中:
所述经舍入的运动向量是第一经舍入的运动向量,且
所述一或多个处理器经配置以:
通过将所述运动向量的至少一个分量舍入到下一个更高的整数值来产生所述第一经舍入的运动向量;
通过将所述运动向量的所述至少一个分量舍入到下一个更低的整数值来产生第二经舍入的运动向量;
产生用于所述当前PU的候选者列表,所述候选者列表包含分别指定所述第一和第二经舍入的运动向量的第一和第二MV候选者;以及
在位流中用信号发送所述候选者列表中的选定MV候选者的索引。
46.根据权利要求31所述的视频译码装置,其中所述一或多个处理器经配置以将所述运动向量的所述水平分量以及所述垂直分量两者从子像素精度舍入到整数像素精度。
47.根据权利要求31所述的视频译码装置,其中所述一或多个处理器进一步经配置以:
部分基于用于所述当前PU的所述预测性样本块产生经重构样本块;以及
输出所述经重构样本块以供显示。
48.根据权利要求31所述的视频译码装置,其中所述一或多个处理器进一步经配置以:
部分基于用于所述当前PU的所述预测性样本块产生用于所述当前PU的残余样本块;以及
在位流中用信号发送用于所述当前PU的所述残余样本块。
49.根据权利要求31所述的视频译码装置,其中所述一或多个处理器经配置以:
在运动补偿期间舍入所述运动向量;以及
在位流中用信号发送所述当前PU的子像素MVD。
50.根据权利要求31所述的视频译码装置,其中所述一或多个处理器经配置以:
舍入所述当前PU的MVD的至少x分量或y分量;以及
在位流中用信号发送所述当前PU的所述经舍入的MVD。
51.一种视频译码装置,其包括:
用于以下操作的装置:响应于确定当前预测单元PU具有特定大小,舍入运动向量,使得运动向量的水平分量或垂直分量中的至少一者从子像素精度被舍入到整数像素精度;以及
用于至少部分基于所述运动向量产生用于所述当前PU的预测性样本块的装置。
52.根据权利要求51所述的视频译码装置,其进一步包括:
用于部分基于用于所述当前PU的所述预测性样本块产生经重构样本块的装置;以及
用于输出所述经重构样本块以供显示的装置。
53.根据权利要求51所述的视频译码装置,其进一步包括用于在位流中用信号发送用于所述当前PU的所述残余样本块的装置。
54.一种在其上存储有指令的计算机可读存储媒体,所述指令在执行时配置视频译码装置以:
响应于确定当前预测单元PU具有特定大小,舍入运动向量,使得运动向量的水平分量或垂直分量中的至少一者从子像素精度被舍入到整数像素精度;以及
至少部分基于所述运动向量产生用于所述当前PU的预测性样本块。
55.根据权利要求54所述的计算机可读存储媒体,其中所述指令进一步配置所述视频译码装置以:
部分基于用于所述当前PU的所述预测性样本块产生经重构样本块;以及
输出所述经重构样本块以供显示。
56.根据权利要求54所述的计算机可读存储媒体,其中所述指令进一步配置所述视频译码装置以在位流中用信号发送用于所述当前PU的所述残余样本块。
CN201380018770.2A 2012-04-11 2013-04-11 运动向量舍入 Expired - Fee Related CN104335586B (zh)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201261623037P 2012-04-11 2012-04-11
US61/623,037 2012-04-11
US201261623470P 2012-04-12 2012-04-12
US61/623,470 2012-04-12
US201261636529P 2012-04-20 2012-04-20
US61/636,529 2012-04-20
US201261637216P 2012-04-23 2012-04-23
US61/637,216 2012-04-23
US13/860,460 2013-04-10
US13/860,460 US9325991B2 (en) 2012-04-11 2013-04-10 Motion vector rounding
PCT/US2013/036123 WO2013155267A2 (en) 2012-04-11 2013-04-11 Motion vector rounding

Publications (2)

Publication Number Publication Date
CN104335586A true CN104335586A (zh) 2015-02-04
CN104335586B CN104335586B (zh) 2017-12-29

Family

ID=49325066

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380018770.2A Expired - Fee Related CN104335586B (zh) 2012-04-11 2013-04-11 运动向量舍入

Country Status (5)

Country Link
US (1) US9325991B2 (zh)
EP (1) EP2837191A2 (zh)
KR (1) KR101714135B1 (zh)
CN (1) CN104335586B (zh)
WO (1) WO2013155267A2 (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017156669A1 (en) * 2016-03-14 2017-09-21 Mediatek Singapore Pte. Ltd. Methods for motion vector storage in video coding
WO2018228260A1 (en) * 2017-06-12 2018-12-20 Huawei Technologies Co., Ltd. Selection and Signaling of Motion Vector (MV) Precisions
CN110620923A (zh) * 2018-06-19 2019-12-27 北京字节跳动网络技术有限公司 广义的运动矢量差分辨率
CN111226439A (zh) * 2019-01-02 2020-06-02 北京大学 视频处理方法和装置
CN111226440A (zh) * 2019-01-02 2020-06-02 深圳市大疆创新科技有限公司 视频处理方法和装置
CN111670578A (zh) * 2019-03-13 2020-09-15 北京大学 一种视频编码或解码方法、装置、设备及存储介质
WO2020181543A1 (zh) * 2019-03-13 2020-09-17 北京大学 视频处理方法和设备
CN111989927A (zh) * 2018-04-16 2020-11-24 联发科技股份有限公司 视频编解码系统中具有重叠块运动补偿的视频处理的方法及装置
CN112673636A (zh) * 2018-07-24 2021-04-16 高通股份有限公司 将运动向量四舍五入以自适应运动向量差分辨率及提高视频译码中的运动向量存储精度
CN113302938A (zh) * 2019-01-11 2021-08-24 北京字节跳动网络技术有限公司 整数mv运动补偿
CN113475078A (zh) * 2019-01-08 2021-10-01 腾讯美国有限责任公司 用于小帧间块的存储器带宽减小的方法和装置
CN113841412A (zh) * 2019-03-12 2021-12-24 腾讯美国有限责任公司 基于cu的插值滤波器选择的信令
US11265573B2 (en) 2018-09-19 2022-03-01 Beijing Bytedance Network Technology Co., Ltd. Syntax reuse for affine mode with adaptive motion vector resolution
US11330289B2 (en) 2019-01-31 2022-05-10 Beijing Bytedance Network Technology Co., Ltd. Context for coding affine mode adaptive motion vector resolution

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10721487B2 (en) 2012-04-17 2020-07-21 Texas Instruments Incorporated Converting a bi-predicted merging candidate in a merging candidate list for a prediction unit of a picture
US9591312B2 (en) * 2012-04-17 2017-03-07 Texas Instruments Incorporated Memory bandwidth reduction for motion compensation in video coding
GB2501535A (en) * 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
US10531116B2 (en) * 2014-01-09 2020-01-07 Qualcomm Incorporated Adaptive motion vector resolution signaling for video coding
BR112016017201B1 (pt) * 2014-01-29 2023-09-26 Hfi Innovation Inc Método de codificação e decodificação para precisão adaptativa de vetor de movimento de um bloco de dados de vídeo
US10110916B2 (en) * 2014-04-22 2018-10-23 Sony Corporation Encoding device and encoding method
EP3189660B1 (en) * 2014-09-30 2023-07-12 HFI Innovation Inc. Method of adaptive motion vector resolution for video coding
WO2016119104A1 (en) * 2015-01-26 2016-08-04 Mediatek Inc. Motion vector regularization
US9805472B2 (en) * 2015-02-18 2017-10-31 Sony Corporation System and method for smoke detection during anatomical surgery
US10979732B2 (en) * 2016-10-04 2021-04-13 Qualcomm Incorporated Adaptive motion vector precision for video coding
US10701391B2 (en) * 2017-03-23 2020-06-30 Qualcomm Incorporated Motion vector difference (MVD) prediction
EP3410717A1 (en) * 2017-05-31 2018-12-05 Thomson Licensing Methods and apparatus for candidate list pruning
EP3451663A1 (en) * 2017-08-31 2019-03-06 Thomson Licensing Pools of transforms for local selection of a set of transforms in video coding
EP3682634A1 (en) * 2017-10-09 2020-07-22 Huawei Technologies Co., Ltd. Motion vector refinement of a motion vector pointing to a fractional sample position
CN111713110A (zh) * 2017-12-08 2020-09-25 松下电器(美国)知识产权公司 图像编码设备、图像解码设备、图像编码方法以及图像解码方法
US20190246134A1 (en) * 2018-02-06 2019-08-08 Panasonic Intellectual Property Corporation Of America Encoding method, decoding method, encoder, and decoder
JP7104186B2 (ja) 2018-06-05 2022-07-20 北京字節跳動網絡技術有限公司 Ibcとatmvpとの間でのインタラクション
CN110636298B (zh) 2018-06-21 2022-09-13 北京字节跳动网络技术有限公司 对于Merge仿射模式和非Merge仿射模式的统一约束
TWI729422B (zh) 2018-06-21 2021-06-01 大陸商北京字節跳動網絡技術有限公司 色彩分量間的子區塊移動向量繼承
BR112020026830A2 (pt) 2018-06-28 2021-04-06 Huawei Technologies Co., Ltd. Janela de acesso à memória e preenchimento para refinamento de vetor de movimento e compensação de movimento
JP7460617B2 (ja) 2018-06-29 2024-04-02 北京字節跳動網絡技術有限公司 Lut更新条件
BR112020024142A2 (pt) 2018-06-29 2021-03-02 Beijing Bytedance Network Technology Co., Ltd. método para processamento de vídeo, aparelho para codificação de dados de vídeo, meio de armazenamento e meio de gravação legíveis por computador não transitório
KR20240005239A (ko) 2018-06-29 2024-01-11 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut와 amvp 사이의 상호작용
KR102611261B1 (ko) 2018-06-29 2023-12-08 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 업데이트 대상 lut 또는 비업데이트 lut의 구별
JP7137008B2 (ja) 2018-06-29 2022-09-13 北京字節跳動網絡技術有限公司 1つまたは複数のルックアップテーブルを使用して、以前コーディングされた動き情報を順に記憶させてそれらを後続のブロックのコーディングに使用する概念
KR20240007299A (ko) 2018-06-29 2024-01-16 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 룩업 테이블의 업데이트: fifo, 제약된 fifo
KR102646649B1 (ko) 2018-06-29 2024-03-13 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut에서의 모션 후보들의 검사 순서
CN110662057B (zh) 2018-06-29 2022-06-21 北京字节跳动网络技术有限公司 视频处理方法、装置、设备以及存储比特流的方法
TWI723443B (zh) 2018-06-29 2021-04-01 大陸商北京字節跳動網絡技術有限公司 每條帶/片/lcu行的查找表的重置
WO2020008350A1 (en) 2018-07-02 2020-01-09 Beijing Bytedance Network Technology Co., Ltd. Luts with intra prediction modes and intra mode prediction from non-adjacent blocks
US11310520B2 (en) * 2018-09-04 2022-04-19 Hfi Innovation Inc. Method and apparatus of motion-vector rounding unification for video coding system
CN112771872A (zh) * 2018-09-11 2021-05-07 有限公司B1影像技术研究所 使用帧间预测的图像编码/解码方法和装置
TW202025760A (zh) 2018-09-12 2020-07-01 大陸商北京字節跳動網絡技術有限公司 要檢查多少個hmvp候選
CN112997480B (zh) * 2018-11-10 2023-08-22 北京字节跳动网络技术有限公司 成对平均候选计算中的取整
US11570430B2 (en) 2018-12-06 2023-01-31 Lg Electronics Inc. Method and device for processing video signal on basis of inter-prediction
MX2021003506A (es) * 2018-12-13 2021-05-27 Jvckenwood Corp Dispositivo de decodificacion de imagenes, metodo de decodificacion de imagenes y programa de decodificacion de imagenes.
CN113545050B (zh) * 2019-01-03 2023-05-30 北京达佳互联信息技术有限公司 利用三角形预测的视频编解码方法及装置
WO2020143741A1 (en) 2019-01-10 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Invoke of lut updating
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
CN113330739A (zh) 2019-01-16 2021-08-31 北京字节跳动网络技术有限公司 Lut中的运动候选的插入顺序
EP3925222A4 (en) 2019-02-20 2022-08-10 Beijing Dajia Internet Information Technology Co., Ltd. METHODS AND APPARATUS FOR ROUNDING, SHAPING AND STORING MOTION VECTOR FOR INTERPREDICTION BASED ON MANTISSA-EXPOSITOR REPRESENTATIONS
CN116800959B (zh) * 2019-03-12 2024-03-26 北京达佳互联信息技术有限公司 用于视频编码的方法、装置和存储介质
WO2020190853A1 (en) * 2019-03-16 2020-09-24 Vid Scale, Inc. Inter prediction memory access bandwidth reduction method with optical flow compensation
CN113615193A (zh) 2019-03-22 2021-11-05 北京字节跳动网络技术有限公司 Merge列表构建和其他工具之间的交互
US10904558B2 (en) * 2019-04-26 2021-01-26 Tencent America LLC Method and apparatus for motion compensation for 360 video coding
WO2020227892A1 (en) * 2019-05-13 2020-11-19 Alibaba Group Holding Limited Non-local intra block copy and parallel coding for motion prediction
CA3144797A1 (en) * 2019-06-24 2020-12-30 Huawei Technologies Co., Ltd. Method for computing position of integer grid reference sample for block level boundary sample gradient computation in bi-predictive optical flow computation and bi-predictive correction
CN113766244A (zh) * 2020-06-05 2021-12-07 Oppo广东移动通信有限公司 帧间预测方法、编码器、解码器以及计算机存储介质
US11622106B2 (en) * 2021-05-17 2023-04-04 Meta Platforms, Inc. Supporting multiple partition sizes using a unified pixel input data interface for fetching reference pixels in video encoders
US20230094825A1 (en) * 2021-09-28 2023-03-30 Qualcomm Incorporated Motion vector difference sign prediction for video coding

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1741618A (zh) * 2004-09-03 2006-03-01 北京航空航天大学 一种快速亚像素运动估计方法
US20080075169A1 (en) * 2006-09-27 2008-03-27 Kemal Ugur Method, Apparatus, and Computer Program Product for Providing Motion Estimation for Video Encoding
CN101795409A (zh) * 2010-03-03 2010-08-04 北京航空航天大学 内容自适应分数像素运动估计方法
CN102215386A (zh) * 2010-04-09 2011-10-12 华为技术有限公司 视频图像块处理方法及装置
EP2377324A1 (en) * 2009-01-12 2011-10-19 Mediatek USA, Inc. One step sub-pixel motion estimation

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6950469B2 (en) 2001-09-17 2005-09-27 Nokia Corporation Method for sub-pixel value interpolation
US20030095603A1 (en) 2001-11-16 2003-05-22 Koninklijke Philips Electronics N.V. Reduced-complexity video decoding using larger pixel-grid motion compensation
NO319629B1 (no) 2003-11-28 2005-09-05 Tandberg Telecom As Fremgangsmate for korrigering av interpolerte pikselverdier
EP1617672A1 (en) 2004-07-13 2006-01-18 Matsushita Electric Industrial Co., Ltd. Motion estimator/compensator including a 16-bit 1/8 pel interpolation filter
US20090257499A1 (en) 2008-04-10 2009-10-15 Qualcomm Incorporated Advanced interpolation techniques for motion compensation in video coding
EP2625858A4 (en) * 2010-10-06 2015-01-14 Intel Corp SYSTEM AND METHOD FOR MOVING VECTOR REMOVAL WITH LOW COMPLEXITY
US8755437B2 (en) * 2011-03-17 2014-06-17 Mediatek Inc. Method and apparatus for derivation of spatial motion vector candidate and motion vector prediction candidate
US20130287111A1 (en) * 2011-03-15 2013-10-31 Lidong Xu Low memory access motion vector derivation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1741618A (zh) * 2004-09-03 2006-03-01 北京航空航天大学 一种快速亚像素运动估计方法
US20080075169A1 (en) * 2006-09-27 2008-03-27 Kemal Ugur Method, Apparatus, and Computer Program Product for Providing Motion Estimation for Video Encoding
EP2377324A1 (en) * 2009-01-12 2011-10-19 Mediatek USA, Inc. One step sub-pixel motion estimation
CN101795409A (zh) * 2010-03-03 2010-08-04 北京航空航天大学 内容自适应分数像素运动估计方法
CN102215386A (zh) * 2010-04-09 2011-10-12 华为技术有限公司 视频图像块处理方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ELENA ALSHINA: "CE3: The worst case memory band-width reduction by 2D->1D interpolation replacement (from Samsung)", 《7TH MEETING: GENEVA, CH, 21-30 NOVEMBER, 2011》 *
TAKESHI CHUJOH: "AHG07: A restriction of motion vector for small PU size", 《8TH MEETING: SAN JOSÉ, CA, USA, 1–10 FEBRUARY, 2012》 *

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10382778B2 (en) 2016-03-14 2019-08-13 Mediatek Singapore Pte. Ltd. Method for motion vector storage in video coding and apparatus thereof
WO2017156669A1 (en) * 2016-03-14 2017-09-21 Mediatek Singapore Pte. Ltd. Methods for motion vector storage in video coding
WO2018228260A1 (en) * 2017-06-12 2018-12-20 Huawei Technologies Co., Ltd. Selection and Signaling of Motion Vector (MV) Precisions
US11272207B2 (en) 2017-06-12 2022-03-08 Futurewei Technologies, Inc. Selection and signaling of motion vector (MV) precisions
US11223847B2 (en) 2017-06-12 2022-01-11 Huawei Technologies Co., Ltd. Selection and signaling of motion vector (MV) precisions
US11843800B2 (en) 2017-06-12 2023-12-12 Huawei Technologies Co., Ltd. Selection and signaling of motion vector (MV) precisions
CN111989927A (zh) * 2018-04-16 2020-11-24 联发科技股份有限公司 视频编解码系统中具有重叠块运动补偿的视频处理的方法及装置
CN111989927B (zh) * 2018-04-16 2023-05-09 联发科技股份有限公司 视频编解码系统中具有重叠块运动补偿的视频处理的方法及装置
CN110620923A (zh) * 2018-06-19 2019-12-27 北京字节跳动网络技术有限公司 广义的运动矢量差分辨率
CN110620923B (zh) * 2018-06-19 2022-07-12 北京字节跳动网络技术有限公司 广义的运动矢量差分辨率
US11477458B2 (en) 2018-06-19 2022-10-18 Beijing Bytedance Network Technology Co., Ltd. Mode dependent motion vector difference precision set
CN112673636A (zh) * 2018-07-24 2021-04-16 高通股份有限公司 将运动向量四舍五入以自适应运动向量差分辨率及提高视频译码中的运动向量存储精度
CN112673636B (zh) * 2018-07-24 2023-12-26 高通股份有限公司 将运动向量取整以自适应运动向量差分辨率及提高视频译码中的运动向量存储精度
US11653020B2 (en) 2018-09-19 2023-05-16 Beijing Bytedance Network Technology Co., Ltd Fast algorithms for adaptive motion vector resolution in affine mode
US11265573B2 (en) 2018-09-19 2022-03-01 Beijing Bytedance Network Technology Co., Ltd. Syntax reuse for affine mode with adaptive motion vector resolution
CN111226440A (zh) * 2019-01-02 2020-06-02 深圳市大疆创新科技有限公司 视频处理方法和装置
CN111226439A (zh) * 2019-01-02 2020-06-02 北京大学 视频处理方法和装置
CN113475078A (zh) * 2019-01-08 2021-10-01 腾讯美国有限责任公司 用于小帧间块的存储器带宽减小的方法和装置
CN113302938A (zh) * 2019-01-11 2021-08-24 北京字节跳动网络技术有限公司 整数mv运动补偿
US11330289B2 (en) 2019-01-31 2022-05-10 Beijing Bytedance Network Technology Co., Ltd. Context for coding affine mode adaptive motion vector resolution
CN113841412A (zh) * 2019-03-12 2021-12-24 腾讯美国有限责任公司 基于cu的插值滤波器选择的信令
CN111670578B (zh) * 2019-03-13 2023-02-21 北京大学 一种视频编码或解码方法、装置、设备及存储介质
WO2020181542A1 (zh) * 2019-03-13 2020-09-17 北京大学 一种视频编码或解码方法、装置、设备及存储介质
WO2020181543A1 (zh) * 2019-03-13 2020-09-17 北京大学 视频处理方法和设备
CN111670578A (zh) * 2019-03-13 2020-09-15 北京大学 一种视频编码或解码方法、装置、设备及存储介质

Also Published As

Publication number Publication date
EP2837191A2 (en) 2015-02-18
US20130272410A1 (en) 2013-10-17
KR20150008394A (ko) 2015-01-22
WO2013155267A2 (en) 2013-10-17
US9325991B2 (en) 2016-04-26
CN104335586B (zh) 2017-12-29
KR101714135B1 (ko) 2017-03-08
WO2013155267A3 (en) 2013-12-19

Similar Documents

Publication Publication Date Title
CN104335586B (zh) 运动向量舍入
EP3849182A1 (en) Restriction of prediction units in b slices to uni-directional inter prediction
CN104365105A (zh) 视频译码中的外部图片
CN104041047A (zh) 在使用深度的3d视频译码中的多重假设差异向量构建
CN105009586A (zh) 多视图或3维视频译码中的视图间残余预测
CN103797799A (zh) 用于视频译码的运动向量确定
CN104685883A (zh) 用于3d视频的经视图间预测运动向量
CN106797477A (zh) 用于帧内bc和帧间预测统一的amvp和合并候选者列表导出
CN105052145A (zh) 剖析三维视频译码中的语法元素
CN104412591A (zh) 用于差域帧内预测的帧内模式扩展
CN105556974A (zh) 基于调色板的视频译码中的调色板预测
CN105230022A (zh) 使用基于相邻者的视差向量导出的用于3d视频译码的并行经导出视差向量
CN104756499A (zh) 用于视频译码的参考图片状态
CN105393536A (zh) 使用位移向量从预测性块的帧内预测
CN105580372A (zh) 用于3d视频译码的组合式双向预测合并候选者
CN105075272A (zh) 在基于调色板的视频译码中确定调色板索引
CN105103560A (zh) 用于仅高级语法可缩放视频译码的层间参考图片限制
CN103843347A (zh) 用于视频译码的运动向量预测值候选剪裁移除
CN104904217A (zh) 用于视频译码扩展的时间运动向量预测
CN104769949A (zh) 用于视差向量导出的图片的选择
CN104396243A (zh) 用于视频压缩的自适应上取样滤波器
CN104704833A (zh) 多视图或3维视频译码中的高级视图间残差预测
CN104396250A (zh) 用于3d视频译码的深度图的帧内译码
CN103988505A (zh) 在视频数据的波前并行处理中的受约束参考图片集合
CN104160704A (zh) B切片中的预测单元限于单向帧间预测

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171229

Termination date: 20190411

CF01 Termination of patent right due to non-payment of annual fee