CN107592972A - 用于视频数据中特定图片内的帧间译码的搜索区域确定 - Google Patents

用于视频数据中特定图片内的帧间译码的搜索区域确定 Download PDF

Info

Publication number
CN107592972A
CN107592972A CN201680026739.7A CN201680026739A CN107592972A CN 107592972 A CN107592972 A CN 107592972A CN 201680026739 A CN201680026739 A CN 201680026739A CN 107592972 A CN107592972 A CN 107592972A
Authority
CN
China
Prior art keywords
block
pixel
region
video
search
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
CN201680026739.7A
Other languages
English (en)
Other versions
CN107592972B (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 CN107592972A publication Critical patent/CN107592972A/zh
Application granted granted Critical
Publication of CN107592972B publication Critical patent/CN107592972B/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/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/57Motion estimation characterised by a search window with variable size or shape
    • 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
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for 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/182Methods 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 a pixel
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/186Methods 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 a colour or a chrominance component
    • 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

Landscapes

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

Abstract

一种编码视频数据的实例方法包含:针对视频数据的当前图片中的当前块确定将用于识别视频数据的所述当前图片中的预测子块的运动向量的分辨率;基于所述所确定分辨率确定所述当前块的搜索区域,使得所述搜索区域的大小在所述分辨率为分数像素的情况下比在所述分辨率为整数像素的情况下更小;从所述搜索区域内选择所述当前块的预测子块;确定识别所述当前块的所述所选预测子块的所述运动向量;及在经译码视频位流中编码所述运动向量的表示。

Description

用于视频数据中特定图片内的帧间译码的搜索区域确定
相关申请案
本申请案涉及2015年5月11日申请的美国临时申请案第62/159,839号、2015年6月9日申请的美国临时申请案第62/173,248号及2015年6月12日申请的美国临时申请案第62/175,179号,所述申请案中的每一者的全部内容以引用的方式并入本文中。
技术领域
本发明涉及视频编码及视频解码。
背景技术
数字视频能力可并入到广泛范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或台式计算机、平板计算机、电子书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话(所谓的“智能电话”)、视频电话会议装置、视频流式传输装置及其类似者。数字视频装置实施视频压缩技术,例如由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分、高级视频译码(AVC)、ITU-T H.265、高效率视频译码(HEVC)所定义的标准及这些标准的扩展中所描述的那些视频压缩技术。视频装置可通过实施这些视频压缩技术而更有效率地传输、接收、编码、解码及/或存储数字视频信息。
视频压缩技术执行空间(图片内)预测及/或时间(图片间)预测以减少或去除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(即,视频图片或视频图片的一部分)分割成视频块,其也可被称作树型块、译码单元(CU)及/或译码节点。图片的经帧内译码(I)切片中的视频块使用关于同一图片中的相邻块中的参考样本的空间预测来编码。图片的经帧间译码(P或B)切片中的视频块可使用关于同一图片中的相邻块中的参考样本的空间预测或关于其它参考图片中的参考样本的时间预测。
空间或时间预测产生待译码块的预测性块。残余数据表示待译码的原始块与预测性块之间的像素差。根据指向形成预测性块的参考样本的块的运动向量及指示经译码块与预测性块之间的差的残余数据来编码经帧间译码块。经帧内译码块根据帧内译码模式及残余数据来编码。为进行进一步压缩,可将残余数据从像素域变换到变换域,从而产生可接着进行量化的残余变换系数。
发明内容
一般来说,本发明描述在视频译码过程中用于调整基于识别预测子块的运动向量的分辨率从其选择预测子块的搜索区域的大小的技术。
在一个实例中,一种用于编码视频数据的方法包含:针对视频数据的当前图片中的当前块确定将用于识别视频数据的当前图片中的预测子块的运动向量的分辨率;基于所确定分辨率确定当前块的搜索区域,使得所述搜索区域的大小在分辨率为分数像素的情况下比在分辨率为整数像素的情况下更小;从搜索区域内选择当前块的预测子块;确定识别当前块的所选预测子块的运动向量;及在经译码视频位流中编码运动向量的表示。
在另一实例中,一种用于编码视频数据的装置包含经配置以存储视频数据的一部分的存储器以及一或多个处理器。在这个实例中,所述一或多个处理器经配置以:针对视频数据的当前图片中的当前块确定将用于识别视频数据的当前图片中的预测子块的运动向量的分辨率;基于所确定分辨率确定当前块的搜索区域,使得所述搜索区域的大小在分辨率为分数像素的情况下比在分辨率为整数像素的情况下更小;从搜索区域内选择当前块的预测子块;确定识别当前块的所选预测子块的运动向量;及在经译码视频位流中编码运动向量的表示。
在另一实例中,一种用于编码视频数据的设备包含:用于针对视频数据的当前图片中的当前块确定将用于识别视频数据的当前图片中的预测子块的运动向量的分辨率的装置;用于基于所确定分辨率确定当前块的搜索区域的装置,使得搜索区域的大小在分辨率为分数像素的情况下比在分辨率为整数像素的情况下更小;用于从搜索区域内选择当前块的预测子块的装置;用于确定识别当前块的所选预测子块的运动向量的装置;及用于在经译码视频位流中编码运动向量的表示的装置。
在另一实例中,一种计算机可读存储媒体存储指令,所述指令在经执行时使得视频编码装置的一或多个处理器进行以下操作:针对视频数据的当前图片中的当前块确定将用于识别视频数据的当前图片中的预测子块的运动向量的分辨率;基于所确定分辨率确定当前块的搜索区域,使得所述搜索区域的大小在分辨率为分数像素的情况下比在分辨率为整数像素的情况下更小;从搜索区域内选择当前块的预测子块;确定识别当前块的所选预测子块的运动向量;及在经译码视频位流中编码运动向量的表示。
在另一实例中,一种用于解码视频数据的方法包含:针对视频数据的当前图片中的当前块从经译码视频位流获得识别视频数据的当前图片中的预测子块的运动向量的表示;确定运动向量具有分数像素分辨率还是整数像素分辨率;基于运动向量从搜索区域内确定当前块的预测子块,所述搜索区域的大小在分辨率为分数像素的情况下比在分辨率为整数像素的情况下更小;响应于确定运动向量具有分数像素分辨率,使用分数像素内插法且至少部分地基于来自预测子块外部的样本像素值来确定预测子块的像素值;及基于预测子块的像素值重建当前块。
在另一实例中,一种用于解码视频数据的装置包含经配置以存储视频数据的一部分的存储器以及一或多个处理器。在这个实例中,所述一或多个处理器经配置以:针对视频数据的当前图片中的当前块从经译码视频位流获得识别视频数据的当前图片中的预测子块的运动向量的表示;确定运动向量具有分数像素分辨率还是整数像素分辨率;基于运动向量从搜索区域内确定当前块的预测子块,所述搜索区域的大小在分辨率为分数像素的情况下比在分辨率为整数像素的情况下更小;响应于确定运动向量具有分数像素分辨率,使用分数像素内插法且至少部分地基于来自预测子块外部的样本像素值来确定预测子块的像素值;及基于预测子块的像素值重建当前块。
在另一实例中,一种用于解码视频数据的设备包含:用于针对视频数据的当前图片中的当前块从经译码视频位流获得识别视频数据的当前图片中的预测子块的运动向量的表示的装置;用于确定运动向量具有分数像素分辨率还是整数像素分辨率的装置;用于基于运动向量从搜索区域内确定当前块的预测子块的装置,所述搜索区域的大小在分辨率为分数像素的情况下比在分辨率为整数像素的情况下更小;用于响应于确定运动向量具有分数像素分辨率,使用分数像素内插法且至少部分地基于来自预测子块外部的样本像素值来确定预测子块的像素值的装置;及用于基于预测子块的像素值重建当前块的装置。
在另一实例中,一种计算机可读存储媒体存储指令,所述指令在经执行时使得视频解码装置的一或多个处理器进行以下操作:针对视频数据的当前图片中的当前块从经译码视频位流获得识别视频数据的当前图片中的预测子块的运动向量的表示;确定运动向量具有分数像素分辨率还是整数像素分辨率;基于运动向量从搜索区域内确定当前块的预测子块,所述搜索区域的大小在分辨率为分数像素的情况下比在分辨率为整数像素的情况下更小;响应于确定运动向量具有分数像素分辨率,使用分数像素内插法且至少部分地基于来自预测子块外部的样本像素值来确定预测子块的像素值;及基于预测子块的像素值重建当前块。
在附图及以下描述中阐述本发明的一或多个方面的细节。本发明中所描述的技术的其它特征、目标及优势将从描述及图式且从权利要求书显而易见。
附图说明
图1为绘示可实施本发明的技术的实例视频编码及解码系统的框图。
图2为绘示根据本发明的一或多种技术的实例视频序列的概念图。
图3为绘示可使用本发明中描述的帧内块复制的技术的视频编码器的实例的框图。
图4为绘示可实施本发明中所描述的技术的视频解码器的实例的框图。
图5为绘示根据本发明的一或多种技术的帧内块复制过程的实例的图式。
图6A及6B为绘示根据本发明的一或多种技术的可从其选择预测子块的实例搜索区域的图式。
图7为绘示根据本发明的一或多种技术的可从其选择预测子块的实例搜索区域的图式。
图8为绘示根据本发明的一或多种技术的可从其选择预测子块的实例搜索区域的图式。
图9为绘示根据本发明的一或多种技术的用于填补位于图片外部的区域的实例技术的图式。
图10绘示根据本发明的一或多种技术的削波操作的一些实例情境。
图11绘示根据本发明的一或多种技术的削波操作的额外实例情境。
图12为绘示根据本发明的一或多种技术的用于确定视频数据块的搜索区域的实例过程的流程图。
图13为绘示根据本发明的一或多种技术的用于解码视频数据块的实例过程的流程图。
具体实施方式
视频序列一般表示为图片序列。通常,基于块的译码技术用于译码个别图片中的每一者。即,将每一图片划分成块,且单独地译码所述块中的每一者。译码视频数据块一般涉及形成块中的像素的经预测值及译码残余值。使用像素样本在一或多个预测性块中形成预测值。残余值表示原始块的像素与经预测像素值之间的差。具体来说,视频数据的原始块包含像素值阵列,且经预测块包含经预测像素值阵列。残余值表示原始块的像素值与经预测像素值之间的逐像素差。
用于视频数据块的预测技术一般分类为帧内预测及帧间预测。帧内预测(或空间预测)并未包含来自任何参考图片的预测。实际上,块根据相邻的先前经译码块的像素值加以预测。帧间预测(或时间预测)一般涉及根据选自一或多个参考图片列表(RPL)的一或多个先前经译码参考图片(例如,帧或切片)的像素值来预测块。视频译码器可包含经配置以存储包含于RPL中的图片的一或多个参考图片缓冲器。
例如远程桌面、远程游戏、无线显示器、车用娱乐信息节目、云计算等许多应用在日常生活中正变得常规。这些应用中的视频内容通常为固有内容、文本、人工图形等的组合。在文本及人工图形区域中,通常存在重复图案(例如字符、图标、符号等)。帧内块复制(帧内BC)为可使视频译码器能够去除所述冗余且改进图片内译码效率的技术。在一些情况下,帧内BC替代地可被称作帧内运动补偿(MC)。
根据一些帧内BC技术,视频译码器可使用与视频数据的当前块在同一图片内的先前经译码视频数据块中的经重建像素以用于预测当前块的像素。在一些实例中,先前经译码视频数据块可被称为预测子块或预测性块。视频译码器可使用运动向量识别预测子块。在一些实例中,运动向量也可被称作块向量、偏移向量或位移向量。在一些实例中,视频译码器可使用一维运动向量识别预测子块。因此,一些视频译码器可基于仅共享相同x值集合(即,与当前块垂直成一直线)或相同y值集合(即,与当前块水平成一直线)的先前经译码视频数据块来预测视频数据的当前块。在其它实例中,视频译码器可使用二维运动向量识别预测子块。举例来说,视频译码器可使用具有水平位移分量及垂直位移分量的二维运动向量,所述位移分量中的每一者可为零或非零。水平位移分量可表示视频数据的预测子块与视频数据的当前块之间的水平位移,且垂直位移分量可表示视频数据的预测子块与视频数据的当前块之间的垂直位移。
对于帧内BC,预测子块的像素可用作正经译码的块(即,当前块)中的对应像素的预测性样本。视频译码器可基于视频数据的当前块及预测块另外确定视频数据的残余块,且译码二维运动向量及视频数据的残余块。
在一些实例中,帧内BC可为高效译码工具,尤其对于屏幕内容译码而言。举例来说,在一些实例中,使用帧内BC译码块可产生比由使用帧间或帧内译码来译码块将产生的位流更小的位流。如上文所讨论,帧内BC为类帧间译码工具(意思是图片的像素值根据图片中的其它像素值加以预测),但使用来自与正经译码块相同的图片的参考数据。在一些实例中,由于施加于帧内BC的一或多个约束,可能难以将帧内BC集成到常规帧内图片中,其在实际设计中可能不会为优选的。一些实例约束包含(但不限于):预测子块必须与待译码的当前块在同一切片或图片块内、预测子块必须未与待译码的当前块重叠、预测子块中的所有像素必须经重建、预测子块在特定区域内(例如,由于与如Rapaka等人的“关于帧内块复制的并行处理能力(On parallel processing capability of intra block copy)”(文件:JCTVC-S0220,ITU-T SG 16WP 3与ISO/IEC JTC 1/SC 29/WG 11的JCT-VC,第19次会议:法国,斯特拉斯堡,2014年10月17日到24日)中所描述的并行化实施有关的考虑因素)(在下文中称“JCTVC-S0220”),及当启用受限的帧内预测时,预测子块必须未包含使用常规帧间模式来译码的任何像素。另外,在一些实例中,常规内帧(intra frame)及间帧(inter frame)的硬件架构在无修改的情况下可能不会再用于帧内BC(例如,由于帧内BC在图片内部产生块复制)。因此,可能需要使得视频译码器能够获得由帧内BC提供的效率,同时维持当前施加于帧内BC的约束中的一些或全部,且不对硬件架构做出(显著)修改。
在一些实例中,与基于当前图片中的样本使用常规帧内预测技术来预测当前图片的块相反,视频译码器可执行帧内BC以基于当前图片中的样本使用类似于常规帧间预测的技术来预测当前图片中的块。举例来说,视频译码器可将当前图片包含于用于预测当前图片的参考图片列表(RPL)中,将当前图片(或至少当前图片的已经重建的部分)的版本存储于参考图片缓冲器中,且基于包含于存储在参考图片缓冲器中的当前图片的版本中的视频数据的预测子块译码当前图片中的视频数据块。以这种方式,视频译码器可获得由帧内BC提供的效率,同时维持当前施加于帧内BC的约束中的一些或全部。而且,以这种方式,视频译码器可在无显著修改的情况下将常规内帧及间帧的硬件架构再用于帧内BC。
如上文所讨论,视频编码器可从同一图片内选择视频数据的当前块的预测子块。在一些实例中,视频编码器可评估若干候选预测子块且选择就像素差而言紧密匹配当前块的候选预测子块,所述像素差可由绝对差总和(SAD)、平方差总和(SSD)或其它差异度量确定。
在一些实例中,用于识别当前图片中的预测子块的运动向量可具有整数像素分辨率。举例来说,运动向量可将表示当前块与预测子块之间的位移的一或多个整数包含于单个像素的增量中。作为一个实例,具有整数像素分辨率的运动向量可包含表示当前块与预测子块之间的水平位移的第一整数(例如,3)及表示当前块与预测子块之间的垂直位移的第二整数(例如,2)。
在一些实例中,用于识别当前图片中的预测子块的运动向量可具有分数像素分辨率。举例来说,运动向量可将表示当前块与预测子块之间的位移的一或多个值包含于少于单个像素的增量中。分数像素运动向量可具有的一些实例分辨率包含(但未必限于)半像素分辨率(例如,1/2像素分辨率)、四分的一像素分辨率(例如,1/4像素分辨率)及八分的一像素分辨率(例如,1/8像素分辨率)等。作为一个实例,具有四分的一像素分辨率的运动向量可包含表示当前块与预测子块之间的水平位移的第一值(例如,2.75)及表示当前块与预测子块之间的垂直位移的第二值(例如,2.5)。
在一些实例中,例如在运动向量具有整数像素分辨率的情况下,由运动向量识别的样本像素值可落在整数像素位置处,且因此,视频译码器可在没有内插的情况下存取所述样本像素值。由于视频译码器可在没有内插的情况下存取样本像素,因此视频译码器可在运动向量具有整数像素分辨率的情况下仅使用位于预测子块内部的样本像素值来预测当前块。在一些实例中,例如在运动向量具有分数像素分辨率的情况下,由运动向量识别的样本像素值可能不会落在整数像素位置处,且因此,视频译码器可能需要执行内插以构建样本像素值。在一些实例中,为了执行内插以构建样本像素,视频译码器可需要使用位于预测子块内部及外部的样本像素值来预测当前块。然而,在一些实例中,可能不需要视频译码器使用位于预测子块外部的样本像素值来预测当前块。举例来说,当预测子块及当前块位于当前图片中时,由于这类样本可能为不可用的(即,这类样本可能不位于当前图片的已重建区域中),因此视频解码器使用位于预测子块外部的样本像素值也许是不可能的。
根据本发明的一或多种技术,视频译码器可从基于待用于识别预测子块的运动向量的分辨率确定的搜索区内选择当前块的预测子块。举例来说,视频译码器可使用待用于运动向量的分辨率为分数像素时比接着待用于运动向量的分辨率为整数像素时更小的搜索区域。作为一个实例,当待用于运动向量的分辨率为整数像素时,视频译码器可从包含当前图片的经重建区域的初始搜索区域内选择预测子块。作为另一实例,当待用于运动向量的分辨率为分数像素时,视频译码器可从缩小的搜索区域内选择预测子块,所述缩小的搜索区域通过使初始搜索区域的大小从初始搜索区域的右方及下方边界减小M个样本且使初始搜索区域的大小从初始搜索区域的上方及左方边界减小N个样本来确定。以这种方式,视频译码器可确保构建预测子块所需的所有样本像素值(包含位于预测子块外部的样本像素值)在基于预测子块译码当前块时可供使用。
本发明描述与在预测当前图片的部分时将当前图片用作参考图片相关的实例技术。为辅助理解,关于高效率视频译码(HEVC)视频译码标准的范围扩展(RExt)(包含支持可能较高位深度(例如,8位以上))、不同色度采样格式(包含4:4:4、4:2:2、4:2:0,4:0:0及其类似者)来描述实例技术。所述技术也可适用于屏幕内容译码。应理解,所述技术不受范围扩展或屏幕内容译码限制,且通常可适用于包含基于标准或非基于标准的视频译码的视频译码技术。而且,本发明中描述的技术可成为将来开发的标准的部分。换句话说,本发明中描述的技术可适用于先前开发的视频译码标准、当前正在开发的视频译码标准及即将出现的视频译码标准。
最近,ITU-T视频译码专家组(VCEG)及ISO/IEC动画专家组(MPEG)的视频译码联合合作小组(JCT-VC)已完成新的视频译码标准(即,高效率视频译码(HEVC))的设计。已完成的HEVC规范(在下文中简称HEVC版本1)的标题为ITU的ITU-T电信标准化部门,H系列:视听与多媒体系统,视听服务的基础设施—运动视频的译码:高效视频译码,H.265(ITU-TTelecommunication Standardization Sector of ITU,Series H:Audiovisual andMultimedia Systems,Infrastructure of Audiovisual Services-Coding of MovingVideo:High Efficiency Video Coding,H.265),2015年4月,其可从http://www.itu.int/rec/T-REC-H.265-201504-I获得。对HEVC的范围扩展(即HEVC RExt)也正由JCT-VC开发。标题为高效视频译码(HEVC)范围扩展规范文本:草案7(High Efficiency Video Coding(HEVC)Range Extensions text specification:Draft 7)(ITU-T SG 16WP 3及ISO/IECJTC1/SC 29/WG 11的视频译码联合合作小组(JCT-VC),第17次会议:西班牙,巴伦西亚市,2014年3月27日到4月4日,文件:JCTVC-Q1005_v4,在下文中简称“RExt WD 7”)的范围扩展的最近工作草案(WD)可从http://phenix.int-evry.fr/jct/doc_end_user/documents/17_Valencia/wg11/JCTVC-Q1005-v4.zip获得。
范围扩展规范可成为HEVC规范的版本2。然而,在较大范围中,就所提出的技术(例如,运动向量(MV)预测)而言,HEVC版本1及范围扩展规范在技术上类似。因此,每当变化被称为基于HEVC版本1时,相同变化可适用于范围扩展规范,且每当描述HEVC版本1模块时,描述也可适用于HEVC范围扩展模块(通过相同子条款)。
近来,要求研究用于例如文本及运动图形的屏幕内容材料的新译码工具,且已提出改进屏幕内容的译码效率的技术。由于有迹象表明可通过使用新颖的专用译码工具利用屏幕内容的特性获得译码效率的显著改进,提案(CfP)正发布高效率视频译码(HEVC)标准的可能开发中未来扩展的目标,包含用于屏幕内容译码(SCC)的特定工具。SCC规范的最近工作草案(WD)(在下文中被称作“SCC WD 6”)可从http://phenix.it-sudparis.eu/jct/doc_end_user/documents/22_Geneva/wg11/JCTVC-W1005-v1.zip获得。
图1为绘示可实施本发明的技术的实例视频编码及解码系统10的框图。如图1中所展示,系统10包含提供稍后将由目的地装置14解码的经编码视频数据的源装置12。特定而言,源装置12经由计算机可读媒体16将视频数据提供到目的地装置14。源装置12及目的地装置14可包括广泛范围的装置中的任一者,包含台式计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如所谓的“智能型”电话)、所谓的“智能型”平板、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置或类似者。在一些情况下,源装置12及目的地装置14可经装备以用于无线通信。
目的地装置14可经由计算机可读媒体16接收待解码的经编码视频数据。计算机可读媒体16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一个实例中,计算机可读媒体16可包括使得源装置12能够实时将经编码视频数据直接传输到目的地装置14的通信媒体。可根据通信标准(例如,无线通信协议)调制经编码视频数据,且将其传输到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如,射频(RF)频谱或一或多个物理传输线。通信媒体可形成基于包的网络(例如,局域网、广域网或例如因特网的全域网络)的部分。通信媒体可包含路由器、交换器、基站或可用于促进从源装置12到目的地装置14的通信的任何其它设备。
在一些实例中,经编码数据可从源装置12的输出接口22输出到存储装置32。类似地,可通过目的地装置14的输入接口28从存储装置32存取经编码数据。存储装置32可包含多种分散式或本地存取式数据存储媒体中的任一者,例如,硬盘驱动器、蓝光光盘、DVD、CD-ROM、闪速存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适的数字存储媒体。在另一实例中,存储装置32可对应于文件服务器或可存储由源装置12产生的经编码视频的另一中间存储装置。
目的地装置14可经由流式传输或下载从存储装置32存取所存储的视频数据。文件服务器可为能够存储经编码视频数据且将所述经编码视频数据传输到目的地装置14的任何类型的服务器。实例文件服务器包含网页服务器(例如,用于网站)、FTP服务器、网络连接存储(NAS)装置或本地磁盘驱动器。目的地装置14可经由任何标准数据连接(包含因特网连接)存取经编码视频数据。所述数据连接可包含适用于存取存储于文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、缆线调制解调器等),或两者的结合。经编码视频数据从存储装置的传输可为流式传输传输、下载传输或两者的组合。
本发明的技术不必限于无线应用或设定。所述技术可应用于支持多种多媒体应用中的任一者的视频译码,例如,空中电视广播、有线电视传输、卫星电视传输、因特网流式传输视频传输(例如,经由HTTP的动态自适应流式传输(DASH))、经编码到数据存储媒体上的数字视频、存储于数据存储媒体上的数字视频的解码或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频传输以支持例如视频流式传输、视频播放、视频广播及/或视频电话的应用。
在图1的实例中,源装置12包含视频源18、视频编码器20及输出接口22。目的地装置14包含输入接口28、视频解码器30及显示装置31。根据本发明,源装置12的视频编码器20可经配置以应用在视频译码中执行变换的技术。在其它实例中,源装置及目的地装置可包含其它组件或布置。举例来说,源装置12可从外部视频源18(例如外部相机)接收视频数据。同样地,目的地装置14可与外部显示装置介接,而非包含集成式显示装置。
图1的所绘示系统10仅为一个实例。可由任何数字视频编码及/或解码装置执行视频译码中的经改进帧内块复制信号传递的技术。尽管本发明的技术通常由视频编码或解码装置执行,但所述技术也可由组合式视频编解码器执行。此外,本发明的技术也可由视频预处理器执行。源装置12及目的地装置14仅为源装置12在其中产生经译码视频数据以供传输到目的地装置14的这类译码装置的实例。在一些实例中,装置12、14可以大体上对称的方式操作,使得装置12、14中的每一者包含视频编码及解码组件。因此,系统10可支持视频装置12、14之间的单向或双向视频传输以(例如)用于视频流式传输、视频播放、视频广播或视频电话。
源装置12的视频源18可包含视频捕获装置,例如摄像机、含有先前捕获的视频的视频存档及/或用于从视频内容提供者接收视频的视频馈入接口。作为另一替代,视频源18可产生基于计算机图形的数据作为源视频,或实况视频、存档视频及计算机产生的视频的组合。在一些情况下,如果视频源18为摄像机,那么源装置12及目的地装置14可形成所谓的相机电话或视频电话。然而,如上文所提及,本发明所描述的技术一般可适用于视频译码,且可适用于无线及/或有线应用。在每一情况下,可由视频编码器20编码所捕获、经预先捕获或计算机产生的视频。接着可通过输出接口22将经编码视频信息输出到计算机可读媒体16上。
计算机可读媒体16可包含暂时性媒体,例如无线广播或有线网络传输,或存储媒体(即,非暂时性存储媒体),例如硬盘、闪存驱动器、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未图示)可例如经由网络传输从源装置12接收经编码视频数据,且将经编码视频数据提供到目的地装置14。类似地,媒体生产设施(例如,光盘冲压设施)的计算装置可从源装置12接收经编码视频数据且生产含有经编码视频数据的光盘。因此,在各种实例中,计算机可读媒体16可被理解为包含各种形式的一或多个计算机可读媒体。
目的地装置14的输入接口28从计算机可读媒体16或存储装置32接收信息。计算机可读媒体16或存储装置32的信息可包含由视频编码器20定义的语法信息,所述信息也由视频解码器30使用,所述信息包含描述块及其它经译码单元(例如,GOP)的特性及/或处理的语法元素。显示装置31将经解码视频数据显示给用户,且可包括多种显示装置中的任一者,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
视频编码器20及视频解码器30分别可经实施为可适用的多种合适编码器或解码器电路中的任一者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑电路、软件、硬件、固件,或其任何组合。当所述技术部分以软件实施时,装置可将用于软件的指令存储于合适的非暂时性计算机可读媒体中,且使用一或多个处理器在硬件中执行所述指令,以执行本发明的技术。视频编码器20及视频解码器30中的每一者可包含于一或多个编码器或解码器中,编码器或解码器中的任一者可经集成为组合式编码器/解码器(编解码器)的部分。包含视频编码器20及/或视频解码器30的装置可包括集成电路、微处理器及/或无线通信装置(例如蜂窝式电话)。
尽管图1中未展示,但在一些方面中,视频编码器20及视频解码器30可分别与音频编码器及解码器集成,且可包含适当的MUX-DEMUX单元或其它硬件及软件,以处置共同数据流式传输或单独数据流式传输中的音频及视频的编码。如果适用,那么MUX-DEMUX单元可遵照ITU H.223多路复用器协议或例如用户数据报协议(UDP)的其它协议。
本发明可大体上指视频编码器20将某些信息“发信”到例如视频解码器30的另一装置。然而,应理解,视频编码器20可通过使某些语法元素与视频数据的各种经编码部分相关联来发信信息。即,视频编码器20可通过将某些语法元素存储到视频数据的各种经编码部分的标头来“发信”数据。在一些情况下,这类语法元素可在由视频解码器30接收及解码之前经编码及存储(例如,存储到存储装置32)。因此,术语“发信”可大体上指用于解码经压缩视频数据的语法或其它数据的通信,而不管这种通信是实时或几乎实时还是历时一时间跨度而发生,例如,可能在编码时在将语法元素存储到媒体时发生,接着可由解码装置在将语法元素存储到所述媒体之后的任何时间处检索语法元素。
视频编码器20及视频解码器30可根据例如HEVC标准的视频压缩标准操作。虽然本发明的技术不受任何特定译码标准限制,但所述技术可与HEVC标准有关,且特定而言与HEVC标准的扩展(例如SCC扩展)有关。
一般来说,HEVC描述可将视频图片划分为包含明度样本及色度样本的树型块或最大译码单元(LCU)的序列。位流内的语法数据可定义LCU的大小,LCU就像素数目而言为最大译码单元。切片包含多个连续译码树型单元(CTU)。CTU中的每一者可包括明度样本的译码树型块(CTB)、色度样本的两个对应译码树型块,及用于对译码树型块的样本进行译码的语法结构。在单色图片或具有三个单独色彩平面的图片中,CTU可包括单个译码树型块及用于对译码树型块的样本进行译码的语法结构。
视频图片可分割成一或多个切片。每一树型块可根据四分树而分裂成若干译码单元(CU)。一般来说,四分树数据结构包含每CU一个节点,其中根节点对应于树型块。如果将CU分裂成四个子CU,那么对应于所述CU的节点包含四个叶节点,所述四个叶节点中的每一者对应于所述子CU中的一者。CU可包括具有明度样本阵列、Cb样本阵列及Cr样本阵列的图片的明度样本的译码块及色度样本的两个对应的译码块,及用于对所述译码块的样本进行译码的语法结构。在单色图片或具有三个单独色彩平面的图片中,CU可包括单个译码块及用于对译码块的样本进行译码的语法结构。译码块为样本的N×N块。
四分树数据结构中的每一节点可提供对应CU的语法数据。举例来说,四分树中的节点可包含指示对应于所述节点的CU是否分裂成子CU的分裂旗标。CU的语法元素可递回地加以定义,且可取决于所述CU是否分裂成子CU。如果CU未经进一步分裂,那么其被称作叶CU。在本发明中,即使不存在原始叶CU的显式分裂,叶CU的四个子CU也将被称作叶CU。举例来说,如果16×16大小的CU未进一步分裂,那么尽管所述16×16CU从未分裂,但是四个8×8子CU也将被称作叶CU。
除CU不具有大小区别外,CU具有与H.264标准的宏块类似的用途。举例来说,树型块可分裂成四个子节点(也称作子CU),且每一子节点又可为父节点且可分裂成另外四个子节点。被称作四分树的叶节点的最终的未分裂子节点包括译码节点,所述译码节点也被称作叶CU。与经译码位流相关联的语法数据可定义树型块可分裂的最大次数(其被称作最大CU深度),且也可定义所述译码节点的最小大小。因此,位流也可定义最小译码单元(SCU)。本发明使用术语“块”来指在HEVC的上下文中的CU、PU或TU中的任一者,或在其它标准的上下文中的类似数据结构(例如,其在H.264/AVC中的宏块及子块)。
CU包含译码节点以及与所述译码节点相关联的预测单元(PU)及变换单元(TU)。CU的大小对应于译码节点的大小,且形状必须为正方形。CU的大小可在8×8像素达到具有最大64×64像素或更大像素的树型块的大小的范围内。每一CU可含有一或多个PU及一或多个TU。
一般来说,PU表示对应于对应CU的所有或一部分的空间区域,且可包含用于检索PU的参考样本的数据。此外,PU包含与预测有关的数据。举例来说,当PU经帧内模式编码时,PU的数据可包含于残余四分树(RQT)中,所述RQT可包含描述用于对应于所述PU的TU的帧内预测模式的数据。作为另一实例,当PU经帧间模式编码时,PU可包含定义PU的一或多个运动向量的数据。预测块可为上面应用相同预测的样本的矩形(即,正方形或非正方形)块。CU的PU可包括图片的明度样本的预测块、色度样本的两个对应预测块,及用于对预测块样本进行预测的语法结构。在单色图片或具有三个单独色彩平面的图片中,PU可包括单个预测块及用于对预测块样本进行预测的语法结构。
在将变换(例如,离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换)应用于残余视频数据之后,TU可包含变换域中的系数。残余数据可对应于未经编码图片的像素与对应于PU的预测值之间的像素差。视频编码器20可形成包含CU的残余数据的TU,且随后变换所述TU以产生CU的变换系数。变换块可为上面应用相同变换的样本的矩形块。CU的变换单元(TU)可包括明度样本的变换块、色度样本的两个对应变换块,及用于对变换块样本进行变换的语法结构。在单色图片或具有三个单独色彩平面的图片中,TU可包括单个变换块及用于对变换块样本进行变换的语法结构。
在变换之后,视频编码器20可执行变换系数的量化。量化大体上指代对变换系数进行量化以可能地减少用以表示系数的数据的量,从而提供进一步压缩的过程。量化过程可减小与系数中的一些或所有相关联的位深度。举例来说,可在量化期间将n位值降值舍位到m位值,其中n大于m。
视频编码器20可扫描变换系数,从而从包含经量化变换系数的二维矩阵产生一维向量。所述扫描可经设计以将较高能量(且因此较低频率)系数置于阵列前部,且将较低能量(且因此较高频率)系数置于阵列后部。在一些实例中,视频编码器20可利用预定义扫描次序来扫描经量化的变换系数以产生可经熵编码的串行化向量。在其它实例中,视频编码器20可执行自适应性扫描。
在扫描经量化变换系数以形成一维向量之后,视频编码器20可(例如)根据上下文自适应性可变长度译码(CAVLC)、上下文自适应性二进制算术译码(CABAC)、基于语法的上下文自适应性二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法来熵编码所述一维向量。视频编码器20也可熵编码与经编码视频数据相关联的语法元素以供视频解码器30用于解码视频数据。
视频编码器20可进一步将语法数据(例如,基于块的语法数据、基于图片的语法数据及基于图片群组(GOP)的语法数据)例如在图片标头、块标头、切片标头或GOP标头中发送到视频解码器30。GOP语法数据可描述个别GOP中的图片的数目,且图片语法数据可指示用于编码对应图片的编码/预测模式。
在获得经译码视频数据后,视频解码器30即可执行通常与关于视频编码器20描述的编码遍次互逆的解码遍次。举例来说,视频解码器30可从视频编码器20获得表示经编码视频切片的视频块及相关联语法元素的经编码视频位流。视频解码器30可使用位流中所含有的数据重建初始的未经编码视频序列。
视频编码器20及视频解码器30可在视频切片内执行视频块的帧内译码及帧间译码。帧内译码依赖于空间预测以减少或去除给定视频图片内的视频的空间冗余。帧间译码依赖于时间预测或视图间预测以减少或去除视频序列的邻近图片内的视频的时间冗余,或减少或去除其它视图中的视频冗余。帧内模式(I模式)可指若干基于空间的压缩模式中的任一者。例如单向预测(P模式)或双向预测(B模式)的帧间模式可指代若干基于时间的压缩模式中的任一者。
在一些实例中,例如在译码屏幕内容时,视频编码器20及/或视频解码器30可使用类似于常规帧间预测的技术执行帧内BC。举例来说,为了编码视频数据的当前图片的当前块,视频编码器20可选择包含于存储在参考图片缓冲器中的当前图片的版本中的视频数据的预测子块,编码识别预测子块相对于当前图片中的当前块的位置的运动向量,且编码表示视频数据的当前块与预测子块之间的差的视频数据的残余块。
在一些实例中,视频编码器20可将整数像素分辨率用于运动向量。在一些实例中,视频编码器20可将分数像素分辨率用于运动向量。
在一些实例中,例如在运动向量具有整数像素分辨率的情况下,由运动向量识别的样本像素值可落在整数像素位置处,且因此,视频编码器20及/或视频解码器30可在没有内插的情况下存取所述样本像素值。由于视频编码器20及/或视频解码器30可在没有内插的情况下存取样本像素,因此视频编码器20及/或视频解码器30可在运动向量具有整数像素分辨率的情况下仅使用位于预测子块内部的样本像素值来预测当前块。在一些实例中,例如在运动向量具有分数像素分辨率的情况下,由运动向量识别的样本像素值可能不会落在整数像素位置处,且因此,视频编码器20及/或视频解码器30可需要执行内插以构建所述样本像素值。在一些实例中,为执行内插以构建样本像素,视频编码器20及/或视频解码器30可需要使用位于预测子块内部及外部的样本像素值来预测当前块。然而,在一些实例中,可不需要视频编码器20及/或视频解码器30使用位于预测子块外部的样本像素值来预测当前块。举例来说,当预测子块及当前块位于当前图片中时,由于这类样本可为不可用的(即,可能不位于当前图片的经重建区域中),因此视频解码器30使用位于预测子块外部的样本像素值也许是不可能的。
根据本发明的一或多种技术,视频编码器20可从基于待用于识别预测子块的运动向量的分辨率确定的搜索区域内选择当前块的预测子块。举例来说,当待用于运动向量的分辨率为分数像素精确度时,那么视频编码器20可使用比在待用于运动向量的分辨率为整数像素精确度时更小的搜索区域。作为一个实例,当待用于运动向量的分辨率为整数像素时,视频编码器20可从包含当前图片的经重建区域的初始搜索区域内选择预测子块。作为另一实例,当待用于运动向量的分辨率为分数像素时,视频编码器20可从缩小的搜索区域内选择预测子块,所述缩小的搜索区域通过使初始搜索区域的大小从初始搜索区域的右方及下方边界减小M个样本且使初始搜索区域的大小从初始搜索区域的上方及左方边界减小N个样本来确定。以这种方式,视频编码器20可确保构建预测子块所需的所有样本像素值(包含位于预测子块外部的样本像素值)可供视频解码器30在基于预测子块解码当前块时使用。因此,视频编码器20可避免编码器/解码器不匹配。
图2为绘示实例视频序列33的概念图,所述视频序列按显示次序包含图片34、35A、36A、38A、35B、36B、38B及35C。这些图片中的一或多者可包含P切片、B切片或I切片。在一些情况下,视频序列33可被称为图片群组(GOP)。图片39为在视频序列33之后出现的序列的按显示次序的第一图片。图2通常表示视频序列的实例预测结构,且仅打算绘示用于编码不同的经帧间预测切片类型的图片参考。实际视频序列可含有包含不同切片类型且按不同显示次序的更多或更少视频图片。
对于基于块的视频译码而言,包含于视频序列33中的视频图片中的每一者可分割成视频块或译码单元(CU)。视频图片中的每一CU可包含一或多个预测单元(PU)。在一些实例中,可用于预测图片内的PU的预测方法可取决于图片类型。作为一个实例,可使用帧内预测模式(即,关于同一图片中的相邻块的空间预测)来预测经帧内预测图片(I图片)的切片中的视频块或PU。作为另一实例,可使用帧间或帧内预测模式(即,关于同一图片中的相邻块的空间预测或关于其它参考图片的时间预测)来预测经帧间预测图片(B图片或P图片)的切片中的视频块或PU。换句话说,I图片可包含I切片,P图片可包含I切片及P切片,且B图片可包含I切片、P切片及B切片。
可根据在参考图片列表中识别的参考图片使用单向预测性译码来编码P切片的视频块。可根据在多个参考图片列表中识别的多个参考图片使用双向预测性译码来编码B切片的视频块。
在图2的实例中,针对帧内模式译码将第一图片34指定为I图片。在其它实例中,可参考先前序列中的第一图片,通过帧间模式译码将第一图片34译码为(例如)P图片或B图片。参考过去图片及未来图片针对译码使用双向预测将视频图片35A到35C(统称为“视频图片35”)指定为B图片。如图2的实例中所绘示,可参考第一图片34及图片36A将图片35A编码为B图片,如由从图片34及图片36A到视频图片35A的箭头所指示。在图2的实例中,第一图片34及图片36A可包含于在图片35A的块的预测期间使用的参考图片列表中。类似地编码图片35B及35C。
可参考过去图片针对译码使用单向预测将视频图片36A到36B(统称为“视频图片36”)指定为P图片或B图片。如图2的实例中所绘示,参考第一图片34将图片36A编码为P图片或B图片,如由从图片34到视频图片36A的箭头所指示。参考图片38A将图片36B类似地编码为P图片或B图片,如由从图片38A到视频图片36B的箭头所指示。
可参考同一过去图片针对译码使用单向预测将视频图片38A到38B(统称为“视频图片38”)指定为P图片或B图片。如图2的实例中所绘示,通过对图片36A的两个参考编码图片38A,如由从图片36A到视频图片38A的两个箭头所指示。类似地编码图片38B。
在一些实例中,可将指示图片待输出的次序的唯一值(即,对特定视频序列(例如,按解码次序在瞬时解码器再新(IDR)图片之后的图片的序列)而言唯一的值)指配给图片中的每一者。这个唯一值可被称为图片次序计数(POC)。在一些实例中,图片待输出的次序可不同于图片经译码的次序。举例来说,虽然图片36A可在图片35A之前经译码,但图片35A可在图片36A之前输出。
在一些实例中,视频译码器(例如,视频编码器20或视频解码器30)可通过将当前图片插入用于预测当前图片中的块的参考图片列表(RPL)中而执行帧内BC。举例来说,在图2的实例中,视频译码器可将图片35A的指示以及图片34及图片36A的指示插入用于预测图片35A中的块的RPL中。视频译码器可接着在译码图片35A的块时将图片35A用作参考图片。
根据本发明的一或多种技术,视频译码器可针对当前图片中的当前块从基于待用于识别预测子块的运动向量的分辨率确定的搜索区域内选择当前图片中的预测子块。视频编码器20可基于所确定分辨率确定当前块的搜索区域,使得所述搜索区域的大小在分辨率为分数像素的情况下比在分辨率为整数像素的情况下更小。
图3为绘示可使用本发明中描述的帧内块复制的技术的视频编码器20的实例的框图。出于说明的目的,将在HEVC译码的上下文中描述视频编码器20,但就其它译码标准而言并不受本发明限制。此外,视频编码器20可经配置以实施根据HEVC的范围扩展的技术。
视频编码器20可执行视频切片内的视频块的帧内译码及帧间译码。帧内译码依赖于空间预测以减少或去除给定视频图片内的视频的空间冗余。帧间译码依赖于时间预测或视图间预测以减少或去除视频序列的邻近图片内的视频的时间冗余,或减少或去除其它视图中的视频冗余。
在图3的实例中,视频编码器20可包含视频数据存储器40、预测处理单元42、参考图片存储器64、求和器50、变换处理单元52、量化处理单元54及熵编码单元56。预测处理单元42又包含运动估计单元44、运动补偿单元46及帧内预测单元48。为了视频块重建,视频编码器20还包含逆量化处理单元58、逆变换处理单元60及求和器62。还可包含解块滤波器(图3中未展示)以对块边界进行滤波,从而从经重建视频去除方块效应伪影。如果需要,解块滤波器通常将对求和器62的输出进行滤波。除解块滤波器之外,还可使用额外回路滤波器(回路中或回路后)。
视频数据存储器40可存储待通过视频编码器20的组件编码的视频数据。可(例如)从视频源18获得存储于视频数据存储器40中的视频数据。参考图片存储器64为解码图片缓冲器(DPB)的一个实例,其存储参考视频数据以供视频编码器20用于编码视频数据(例如,在帧内或帧间译码模式中,也被称作帧内或帧间预测译码模式)。视频数据存储器40及参考图片存储器64可由多种存储器装置中的任一者形成,例如动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。视频数据存储器40及参考图片存储器64可由同一存储器装置或单独存储器装置提供。在各种实例中,视频数据存储器40可与视频编码器20的其它组件一起在芯片上,或相对于那些组件在芯片外。
在编码过程期间,视频编码器20接收待译码的视频图片或切片。可将图片或切片划分成多个视频块。运动估计单元44及运动补偿单元46执行所接收视频块相对于一或多个参考图片中的一或多个块的帧间预测性译码以提供时间压缩或提供视图间压缩。帧内预测单元48可替代地执行所接收视频块相对于与待译码块在同一图片或切片中的一或多个相邻块的帧内预测性译码以提供空间压缩。视频编码器20可执行多个译码遍次(例如,以选择用于视频数据中的每一块的适当译码模式)。
此外,分割单元(未展示)可基于对先前译码遍次中的先前分割方案的评估而将视频数据的块分割成子块。举例来说,分割单元可首先将图片或切片分割成LCU,且基于位率失真分析(例如,位率失真优化)将所述LCU中的每一者分割成子CU。预测处理单元42可进一步产生指示将LCU分割为子CU的四分树数据结构。四分树的叶节点CU可包含一或多个PU及一或多个TU。
预测处理单元42可(例如)基于错误结果选择帧内或帧间译码模式中的一者,且将所得经帧内译码或经帧间译码块提供到求和器50以产生残余块数据且提供到求和器62以重建供用作参考图片的经编码块。预测处理单元42还将例如运动向量、帧内模式指示符、分割信息及其它这类语法信息的语法元素提供到熵编码单元56。
运动估计单元44及运动补偿单元46可高度集成,但出于概念性目的而单独加以说明。由运动估计单元44所执行的运动估计为产生估计视频块的运动的运动向量的过程。举例来说,运动向量可指示当前视频图片内的视频块的PU相对于参考图片(或其它经译码单元)内的预测性块(其相对于所述当前图片(或其它经译码单元)内正经译码的当前块)的位移。预测性块为由视频编码器20所发现的就像素差而言紧密匹配待译码块的块,所述像素差可由绝对差总和(SAD)、平方差总和(SSD)或其它差异度量加以确定。在一些实例中,视频编码器20可计算存储于参考图片存储器64中的参考图片的子整数像素位置的值。举例来说,视频编码器20可内插所述参考图片的四分的一像素位置、八分的一像素位置或其它分数像素位置的值。因此,运动估计单元44可相对于全像素位置及分数像素位置执行运动搜索且输出具有整数像素精确度或分数像素精确度的运动向量。
运动估计单元44通过比较PU的位置与参考图片的预测性块的位置而计算经帧间译码切片中的视频块的PU的运动向量。参考图片可选自识别存储于参考图片存储器64中的一或多个参考图片的一或多个参考图片列表(RPL)。运动估计单元44将所计算的运动向量发送到熵编码单元56及运动补偿单元46。在一些实例中,运动估计单元44可将所选参考图片的指示发送到熵编码单元56。
如上文所讨论,运动估计单元44可将所选参考图片的指示发送到熵编码单元56。在一些实例中,运动估计单元44可通过发送RPL内的所选参考图片的索引值来发送所述指示。
在一些实例中,与限定帧间预测将其它图片用作参考图片相反,运动估计单元44可将当前图片用作参考图片以预测包含于当前图片中的视频数据的块。举例来说,运动估计单元44可将当前图片的版本存储于参考图片存储器64中。在一些实例中,运动估计单元44可通过经初始化为固定值的像素值存储当前图片的初始化版本。在一些实例中,固定值可基于当前图片的样本的位深度。举例来说,固定值可为1<<(bitDepth-1)。在一些实例中,运动估计单元44可在编码当前图片的任何块之前存储当前图片的初始化版本。通过存储当前图片的初始化版本,可不要求运动估计单元44将对预测性块的搜索(即,搜索区域)限制于已重建的块。相反地,如果运动估计单元44并未存储当前图片的初始化版本,那么对预测性块的搜索可受限于已重建的块以(例如)避免解码器/编码器不匹配。
预测处理单元42可产生当前图片的一或多个RPL。举例来说,预测处理单元42可将当前图片包含于当前图片的RPL中。
如上文所讨论,在编码视频数据的当前图片的视频数据块时,运动估计单元44可选择紧密匹配当前块的预测性块。在一些实例中,与搜索其它图片的块相反(或除了搜索其它图片的块之外),运动估计单元44可选择位于当前图片中的块以用作当前图片的当前块的预测性块。举例来说,运动估计单元44可对包含一或多个参考图片(包含当前图片)的图片执行搜索。对于每一图片,运动估计单元44可(例如)使用逐像素绝对差的总和(SAD)、平方差的总和(SSD)、平均绝对差(MAD)、均方差(MSD)或类似者计算反映预测块与当前块的匹配程度的搜索结果。接着,运动估计单元44可识别图片中与当前块最优选匹配的块,且将块及图片(其可为当前图片)的位置指示给预测处理单元42。以这种方式,例如在运动估计单元44确定预测子块包含于当前图片(即,与正经预测的当前块同一图片)中时,运动估计单元44可执行帧内BC。
在一些实例中,为确保帧内BC的预测子块有效,RExt WD 7假定预测处理单元42强制执行一或多个位流符合性约束。作为一个实例,预测处理单元42可确保预测子块与当前CU在同一切片/图片块内。作为另一实例,预测处理单元42可确保参考块不与当前CU重叠。作为另一实例,预测处理单元42可确保应重建预测子块内部的所有像素。作为另一实例,如由Rapaka等人的“关于帧内块复制的并行处理能力(On parallel processing capabilityof intra block copy)”(ITU-T SG 16WP 3及ISO/IEC JTC 1/SC 29/WG11的视频译码联合合作小组(JCT-VC),第19次会议:法国,斯特拉斯堡,2014年10月17日到24日,文件:JCTVC-S0220,可在http://phenix.it-sudparis.eu/jct/doc_end_user/documents/19_Strasbourg/wg11/JCTVC-S0220-v2.zip处获得)所描述,由于并行化实施考虑因素,预测处理单元42可确保预测子块在特定区域内。作为另一实例,当启用受限帧内预测时,预测处理单元42可确保预测子块并不包含通过常规帧间模式译码的任何像素。作为另一实例,预测处理单元42可确保用于预测的运动具有整数像素精确度以避免内插。
在一些实例中,与始终使用整数像素精确度相反,预测处理单元42可使用不同电平的精确度确定运动向量。举例来说,预测处理单元42可使用整数精确度、默认精确度或最精细运动精确度(例如,HEVC中的1/4像素(“像素(pel)”)精确度)确定运动向量。在一些实例中,预测处理单元42可在例如由当前图片参考的SPS或VPS中编码指示经译码帧内BC运动向量的精确度的语法元素。在一些实例中,帧内BC运动向量的精确度在图片层级处可为自适应的,且预测处理单元42可使得熵编码单元56编码指示在例如由当前块参考的PPS或切片中编码经译码帧内BC运动向量的精确度的语法元素。举例来说,在针对SCC的一些建议中,使用自适应MV分辨率(AMVR)。举例来说,如Li等人的“屏幕内容的自适应运动向量分辨率(Adaptive motion vector resolution for screen content)”(ITU-T SG 16WP 3及ISO/IEC JTC 1/SC 29/WG 11的视频译码联合合作小组(JCT-VC),第19次会议:法国,斯特拉斯堡,2014年10月17日到24日,文件:JCTVC-S0085,可在http://phenix.it-sudparis.eu/jct/doc_end_user/documents/19_Strasbourg/wg11/JCTVC-S0085-v3.zip处获得)中所描述,对于每一切片,可通过整数像素分辨率或四分的一像素分辨率表示及译码MV,且在切片标头中发信旗标use_integer_mv_flag以指示所使用的为哪一运动向量分辨率。
在一些实例中,例如在运动向量具有整数像素分辨率的情况下,由运动向量识别的样本像素值可落在整数像素位置处,且因此,预测处理单元42可在没有内插的情况下存取所述样本像素值。由于预测处理单元42可在没有内插的情况下存取样本像素,因此预测处理单元42可在运动向量具有整数像素分辨率的情况下仅使用位于预测子块内部的样本像素值来预测当前块。在一些实例中,例如在运动向量具有分数像素分辨率的情况下,由运动向量识别的样本像素值可能不会落在整数像素位置处,且因此,预测处理单元42可需要执行内插以构建所述样本像素值。在一些实例中,为了执行内插以构建样本像素,预测处理单元42可需要使用位于预测子块内部及外部的样本像素值以预测当前块。然而,在一些实例中,可不需要预测处理单元42使用位于预测子块外部的样本像素值来预测当前块。举例来说,当预测子块及当前块位于当前图片中时,由于这类样本在参考图片存储器64中可为不可用的(即,可不位于当前图片的经重建区域中),预测处理单元42使用位于预测子块外部的样本像素值也许是不可能的。
根据本发明的一或多种技术,预测处理单元42可确定预测子块,使得用于内插过程的任何样本(包含包含于预测子块中及未包含于预测子块中的样本)满足上述位流符合性约束。举例来说,运动估计单元44可从基于待用于识别预测子块的运动向量的分辨率确定的搜索区域内选择当前块的预测子块。举例来说,当待用于运动向量的分辨率为分数像素精确度时,那么运动估计单元44可使用比在待用于运动向量的分辨率为整数像素精确度时更小的搜索区域。作为一个实例,当待用于运动向量的分辨率为整数像素精确度时,运动估计单元44可从包含当前图片的经重建区域的初始搜索区域内选择预测子块。作为另一实例,当待用于运动向量的分辨率为分数像素精确度时,运动估计单元44可从缩小的搜索区域内选择预测子块。以这种方式,运动估计单元44可确保构建预测子块所需的所有样本像素值(包含位于预测子块外部的样本像素值)在基于预测子块译码当前块时可供使用。
如上文所讨论,CU可包括具有明度样本阵列、Cb样本阵列及Cr样本阵列的图片的明度样本的译码块及色度样本的两个对应译码块。在一些实例中,不同采样比率可用于明度样本、Cb样本及Cr样本。一般来说,采样比率可表达为三部分比率A:B:C,其中A表示水平采样参考(概念性区域的宽度,其通常为四),B表示A像素的第一列中的色度(Cr、Cb)样本的数目,且C表示A像素的第一列与第二列之间的色度样本(Cr、Cb)变化的数目。可由视频编码器20使用的一些实例采样比率包含但未必限于4:4:4、4:2:2、4:2:0及4:0:0。当使用4:4:4采样比率时,视频编码器20可以相同比率采样分量中的每一者。当使用4:2:2采样比率时,视频编码器20可以明度分量的样本比率的一半采样色度分量(即,Cb及Cr),使得水平色度分辨率减半。当使用4:2:0采样比率时,视频编码器20可在交替线上且以明度分量的样本比率的一半采样色度分量(即,Cb及Cr),使得水平及垂直色度分辨率都减半。在一些实例中,视频编码器20可编码指示采样比率的语法元素(例如,chroma_format_idc)。
在一些实例中,例如在采样比率为4:4:4的情况下,视频编码器20可共同地编码明度及色度分量。在一些实例中,视频编码器20可单独地编码明度及色度分量。在一些实例中,视频编码器20可编码指示明度及色度分量是共同地还是单独地经编码的语法元素(例如,separate_colour_plane_flag)。
在一些实例中,例如在明度及色度分量单独地经编码的情况下,视频编码器20可将不同运动向量用于明度及色度分量。举例来说,视频编码器20可使用明度运动向量以指示明度样本的预测块,且使用色度运动向量以指示色度样本的预测块。在一些实例中,视频编码器20可编码明度运动向量及色度运动向量。在其它实例中,视频编码器20可编码明度运动向量,且可基于明度运动向量及采样比率确定色度运动向量。举例来说,可根据以下方程式(1)及(2)基于明度运动向量确定色度运动向量,其中MVCHorizontal及MVCVertical为色度运动向量的水平及垂直分量,MVHorizontal及MVVertical为明度运动向量的水平及垂直分量,且基于采样比率使用表(1)确定SubWidthC及SubHeightC。
MVCHorizontal=MVHorizontal*2/SubWidthC (1)
MVCVertical=MVVertical*2/SubHeightC (2)
采样比率 SubWidthC SubHeightC
4:2:0 2 2
4:2:2 2 1
4:4:4 1 1
表(1)
在一些实例中,由于从明度运动向量导出色度运动向量,因此用于明度运动向量的分辨率可不同于用于色度运动向量的分辨率。举例来说,在一些实例中,明度运动向量可具有整数像素分辨率,且色度运动向量可具有分数像素分辨率。因此,根据本发明的一或多种技术,运动估计单元44可基于待用于色度运动向量的分辨率确定搜索区域的大小。举例来说,当待用于色度运动向量的分辨率为整数像素时,运动估计单元44可从包含当前图片的经重建区域的初始搜索区域内选择预测子块。作为另一实例,当待用于色度运动向量的分辨率为分数像素时,运动估计单元44可从缩小的搜索区域内选择预测子块,所述缩小的搜索区域小于当色度运动向量的分辨率为帧间像素时所使用的初始搜索区域。以这种方式,运动估计单元44可确保构建预测子块所需的所有样本像素值(包含位于预测子块外部的样本色度像素值)在基于预测子块译码当前块时可供使用。
在一些实例中,运动估计单元44可针对所有采样比率使用缩小的搜索区域。在其它实例中,运动估计单元44可在色度采样相对于明度样本的比率大于一(例如,4:2:0、4:2:2)时使用缩小的搜索区域。在一些实例中,运动估计单元44可不针对单色(即,4:0:0的采样比率)使用缩小的搜索区域。在一些实例中,运动估计单元44可针对除单色外的所有采样比率使用缩小的搜索区域。
如上文所讨论,在一些实例中,运动估计单元44可从缩小的搜索区域内选择预测子块。在一些实例中,运动估计单元44可通过使初始搜索区域的大小从初始搜索区域的右方及下方边界减小M(例如,1、2、3、4、5、6、7、8)个样本且使初始搜索区域的大小从初始搜索区域的上方及左方边界减小N(例如,1、2、3、4、5、6、7、8)个样本来确定缩小的搜索区域。下文参考图6到8讨论运动估计单元44可确定缩小的搜索区域的方式的额外细节及其它实例。
由运动补偿单元46执行的运动补偿可涉及基于由运动估计单元44确定的运动向量来提取或产生预测性块。此外,在一些实例中,运动估计单元44及运动补偿单元46可在功能上集成。在接收当前块的PU的运动向量之后,运动补偿单元46可找出运动向量指向的预测性块在参考图片列表(RPL)中的一者中的位置。如下文所讨论,求和器50通过从正经译码的当前块的像素值减去预测性块的像素值而形成残余视频块,从而形成像素差值。一般来说,运动估计单元44相对于明度分量执行运动估计,且运动补偿单元46将基于所述明度分量所计算的运动向量用于色度分量及明度分量。预测处理单元42还可产生与供视频解码器30用于解码视频切片的视频块的视频块及视频切片相关联的语法元素。
如上文所描述,作为由运动估计单元44及运动补偿单元46执行的帧间预测的替代方案,帧内预测单元48可对当前块进行帧内预测。特定而言,帧内预测单元48可确定用以编码当前块的帧内预测模式。在一些实例中,帧内预测单元48可(例如)在单独编码遍次期间使用各种帧内预测模式编码块,且帧内预测单元48可从多个帧内预测模式选择使用的适当帧内预测模式。
举例来说,帧内预测单元48可针对各种经测试帧内预测模式使用位率失真分析来计算位率失真值,且从所述经测试模式当中选择具有最优选位率失真特性的帧内预测模式。位率失真分析大体上确定经编码块与原始未编码块(其经编码以产生经编码块)之间的失真(或误差)量,以及用以产生经编码块的位率(即,位的数目)。帧内预测单元48可根据各种经编码块的失真及位率来计算比率以确定哪一帧内预测模式展现所述块的最优选位率失真值。
在一些实例中,可供帧内预测单元48使用的多个帧内预测模式可包含平面预测模式、DC预测模式及一或多个角度预测模式。不管所选模式为哪一种,帧内预测单元48可始终基于邻近当前块的经重建块预测当前块。作为一个实例,当使用平面预测模式时,帧内预测单元48可通过取水平及垂直预测的平均值来预测当前块。在一些实例中,帧内预测单元48可基于左方相邻块及右上方相邻块(由于在预测当前块时右方相邻块的样本可能未经重建)确定水平预测,且基于上方相邻块及左下方相邻块(由于在预测当前块时下方相邻块的样本可能未经重建)确定垂直预测。
作为另一实例,当使用DC预测模式时,帧内预测单元48可通过常量值预测当前块的样本。在一些实例中,常量值可表示左方相邻块中的样本及上方相邻块中的样本的平均值。作为另一实例,当使用一或多个角度预测模式中的一者时,帧内预测单元48可基于来自由预测方向指示的相邻块的样本预测当前块的样本。
视频编码器20通过从正经译码的原始视频块减去来自预测处理单元42的预测数据而形成残余视频块。求和器50表示执行所述减法运算的一或多个组件。
变换处理单元52将变换(例如,离散余弦变换(DCT)或概念上类似的变换)应用于残余块,从而产生包括残余变换系数值的视频块。变换处理单元52可执行概念上类似于DCT的其它变换。还可使用小波变换、整数变换、子频带变换或其它类型的变换。在任何情况下,变换处理单元52将变换应用于残余块,从而产生残余变换系数块。所述变换可将残余信息从像素值域转换到变换域,例如频域。
变换处理单元52可将所得变换系数发送到量化处理单元54。量化处理单元54量化变换系数以进一步减小位率。量化过程可减小与系数中的一些或所有相关联的位深度。可通过调整量化参数来修改量化程度。在一些实例中,量化处理单元54可接着执行对包含经量化变换系数的矩阵的扫描。替代地,熵编码单元56可执行所述扫描。
在量化之后,熵编码单元56对经量化变换系数进行熵译码。举例来说,熵编码单元56可执行上下文自适应性二进制算术译码(CABAC)、上下文自适应性可变长度译码(CAVLC)、基于语法的上下文自适应性二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵译码技术。在基于上下文的熵译码的情况下,上下文可基于相邻块。在由熵编码单元56进行熵译码之后,可将经编码位流传输到另一装置(例如,视频解码器30)或加以存档以供稍后传输或检索。
逆量化处理单元58及逆变换处理单元60分别应用逆量化及逆变换以重建像素域中的残余块,(例如)以供稍后用作参考块。
运动补偿单元46还可将一或多个内插滤波器应用于参考块以计算用于运动估计的子整数像素值。求和器62将经重建残余块添加到由运动补偿单元46产生的经运动补偿预测块以产生供存储于参考图片存储器64中的经重建视频块。经重建视频块可由运动估计单元44及运动补偿单元46用作参考块,以对后续视频图片中的块进行帧间译码。在一些实例中,例如在将当前图片用作预测当前图片的参考图片的情况下,运动补偿单元46及/或求和器62可在译码当前图片时以规律时间间隔更新参考图片存储器64存储的当前图片的版本。作为一个实例,运动补偿单元46及/或求和器62可在译码当前图片中的每一块之后更新参考图片存储器64存储的当前图片的版本。举例来说,在当前块的样本作为初始化值存储于参考图片存储器64中的情况下,运动补偿单元46及/或求和器62可通过当前块的经重建样本更新参考图片存储器64存储的当前图片的当前的样本。
滤波单元(未展示)可执行各种滤波处理。举例来说,滤波单元可执行解块。即,滤波单元可接收形成经重建视频的切片或帧的多个经重建视频块,且对块边界进行滤波以从切片或帧去除块效应伪影。在一个实例中,滤波单元评估视频块的所谓的“边界强度”。基于视频块的边界强度,可相对于邻近视频块的边缘像素对视频块的边缘像素进行滤波,使得检视器更难以感知从一个视频块的变换。
在一些实例中,运动补偿单元46及/或求和器62可在滤波对样本执行滤波(例如,解块、自适应性回路滤波(ALF)及/或样本自适应性偏移(SAO))之前更新参考图片存储器64存储的当前图片的版本。举例来说,滤波单元可在应用滤波之前等待直到整个图片经译码。以这种方式,运动估计单元44可在应用滤波之前将当前图片用作参考。在一些实例中,滤波单元可在参考图片存储器64存储的当前图片的版本经更新时执行滤波。举例来说,滤波单元可在每一块经更新时应用滤波。以这种方式,运动估计单元44可在应用滤波之后将当前图片用作参考。
虽然在本发明中描述所述技术的多个不同方面及实例,但是所述技术的各种方面及实例可以一起执行或彼此分离地执行。换句话说,所述技术不应严格地限制于上文所描述的各种方面及实例,而是可组合使用或一起执行及/或分离地执行。另外,虽然某些技术可归于视频编码器20的特定单元(例如,帧内预测单元48、运动补偿单元46或熵编码单元56),但是应理解,视频编码器20的一或多个其它单元也可负责执行这类技术。
以这种方式,视频编码器20可经配置以实施本发明中所描述的一或多个实例技术。举例来说,视频编码器20可经配置以使用包含于当前图片(即,同一图片)中的预测子块译码当前图片中的视频数据块。视频编码器20可进一步经配置以输出包含语法元素的位流,所述语法元素指示参考VPS/SPS/PPS的图片是否可存在于图片自身的参考图片列表中,例如,出于使用帧内BC译码当前图片中的一或多个块的目的。即,当使用帧内BC模式译码块时,视频编码器20可(假定语法元素指示当前图片可包含于自身的参考图片列表中)例如使用参考图片列表中的索引值发信块的参考图片为包含所述块的图片,使得索引值对应于图片自身。视频编码器20可将这个索引值包含于使用帧内BC模式来译码的块的运动信息中。在一些实例中,视频编码器20的硬件架构可或可能不特别适用于将当前图片用作参考图片以预测当前图片的当前块。
图4为绘示可实施本发明中所描述的技术的视频解码器30的实例的框图。此外,出于说明的目的将在HEVC译码的上下文中描述视频解码器30,但关于其它译码标准并不限制本发明。此外,视频解码器30可经配置以实施根据范围扩展的技术。
在图4的实例中,视频解码器30可包含视频数据存储器69、熵解码单元70、预测处理单元71、逆量化处理单元76、逆变换处理单元78、求和器80及参考图片存储器82。预测处理单元71包含运动补偿单元72及帧内预测单元74。在一些实例中,视频解码器30可执行与关于图3的视频编码器20所描述的编码遍次大体上互逆的解码遍次。
视频数据存储器69可存储待由视频解码器30的组件解码的视频数据(例如,经编码视频位流)。可(例如)从存储装置34、从本地视频源(例如,相机)经由视频数据的有线或无线网络通信或者通过存取物理数据存储媒体而获得存储于视频数据存储器69中的视频数据。视频数据存储器69可形成存储来自经编码视频位流的经编码视频数据的经译码图片缓冲器(CPB)。
参考图片存储器82为存储供视频解码器30(例如,以帧内或帧间译码模式)用于解码视频数据的参考视频数据的经解码图片缓冲器(DPB)的一个实例。视频数据存储器69及参考图片存储器82可由多种存储器装置中的任一者形成,例如动态随机存取存储器(DRAM)(包含同步DRAM(SDRAM))、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。视频数据存储器69及参考图片存储器82可由同一存储器装置或单独存储器装置提供。在各种实例中,视频数据存储器69可与视频解码器30的其它组件一起在芯片上,或相对于那些组件在芯片外。
在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频切片的视频块及相关联的语法元素的经编码视频位流。视频解码器30的熵解码单元70熵解码位流以产生经量化系数、运动向量或帧内预测模式指示符及其它语法元素。熵解码单元70将运动向量及其它语法元素转递到运动补偿单元72。视频解码器30可接收视频切片层级及/或视频块层级处的语法元素。
在一些实例中,当视频切片经译码为经帧内译码(I)切片时,帧内预测单元74可基于所发信的帧内预测模式及来自当前图片的先前经解码块的数据而产生当前视频切片的视频块的预测数据。在一些实例中,当视频图片经译码为经帧间译码(即,B或P)切片时,运动补偿单元72基于从熵解码单元70接收的运动向量及其它语法元素产生当前视频切片的视频块的预测性块。预测性块可根据参考图片列表(RPL)中的一者内的参考图片中的一者而产生。预测处理单元71可基于存储于参考图片存储器82中的参考图片使用构建技术构建RPL(例如,列表0及列表1)。
在一些实例中,与限定帧间预测将其它图片用作参考图片相反,视频解码器30可将当前图片用作参考图片以预测包含于当前图片中的视频数据的块。举例来说,预测处理单元71可将当前图片的版本存储于预测处理单元71中。在一些实例中,预测处理单元71可通过经初始化为固定值的像素值存储当前帧的初始化版本。在一些实例中,固定值可基于当前图片的样本的位深度。举例来说,固定值可为1<<(bitDepth-1)。在一些实例中,预测处理单元71可在编码当前图片的任何块之前存储当前图片的初始化版本。通过存储当前图片的初始化版本,预测处理单元71可使用尚未经重建的预测性块。相反地,如果预测处理单元71并未存储当前图片的初始化版本,那么仅已重建的块可用作预测子块(即,以避免解码器/编码器不匹配)。
如上文所讨论,预测处理单元71可产生当前图片的一或多个RPL。举例来说,预测处理单元71可将当前图片包含于当前图片的RPL中。
如上文所讨论,视频解码器30可基于预测性块解码视频数据的当前图片的视频数据块。在一些实例中,运动补偿单元72可选择位于当前图片中的块以用作当前图片的当前块的预测性块。特定而言,预测处理单元71可针对当前块构建包含当前图片的RPL,运动补偿单元72可接收指示RPL中的索引的当前块的运动参数。在一些实例中,索引可识别RPL中的当前图片。当这种情形出现时,运动补偿单元72可使用包含于运动参数中的运动向量以在由运动向量相对于当前块识别的位置处从当前图片自身检索预测子块。以这种方式,运动补偿单元72可执行帧内BC。
预测处理单元71可确定表示视频数据的当前块与视频数据的预测子块之间的位移的运动向量。在一些实例中,预测处理单元71可基于在经编码视频位流中接收的一或多个语法元素确定运动向量。在一些实例中,预测处理单元71可使用整数精确度确定运动向量。在这类实例中,例如在当前图片经标记为长期参考图片的情况下,预测处理单元71可不使用标准长期参考图片预测当前图片(即,并非当前图片的长期参考图片)。
在一些实例中,预测处理单元71可使用不同电平的精确度确定运动向量。举例来说,预测处理单元71可使用整数精确度、默认精确度或最精细运动精确度(例如,HEVC中的1/4像素精确度)确定运动向量。在一些实例中,预测处理单元71可(例如)在由当前图片参考的SPS或VPS中接收指示经译码帧内BC运动向量的精确度的语法元素。在一些实例中,帧内BC运动向量的精确度在图片层级处可为自适应的,且预测处理单元71可(例如)在由当前块参考的PPS或切片中接收指示经译码帧内BC运动向量的精确度的语法元素。
运动补偿单元72通过剖析运动向量及其它语法元素来确定当前视频切片的视频块的预测信息,且使用所述预测信息产生正经解码的当前块的预测性块。举例来说,运动补偿单元72使用所接收语法元素中的一些,以确定用以译码视频切片的视频块的预测模式(例如,帧内或帧间预测)、帧间预测切片类型(例如,B切片或P切片)、用于所述切片的参考图片列表中的一或多者的构建信息、用于所述切片的每一经帧间编码视频块的运动向量、用于所述切片的每一经帧间译码视频块的帧间预测状态及用以解码当前视频切片中的视频块的其它信息。
运动补偿单元72也可基于内插滤波器执行内插。运动补偿单元72可使用如视频编码器20在编码视频块期间使用的内插滤波器,以计算参考块的子整数像素的内插值。在这种情况下,运动补偿单元72可根据接收的语法元素确定视频编码器20使用的内插滤波器且使用所述内插滤波器来产生预测性块。作为一个实例,在指示预测子块的运动向量具有分数像素分辨率的情况下,运动补偿单元72可执行分数像素内插以计算预测子块的子整数像素的内插值。在一些情况下,为了执行分数像素内插以计算预测子块的子整数像素的内插值,运动补偿单元72可需要参考来自预测子块内及来自预测子块外部的样本像素值。然而,在一些实例中,运动补偿单元72参考来自预测子块外部的样本像素值也许是不可能的。
根据本发明的一或多种技术,由于从其选择预测子块的搜索区域可基于运动向量的分辨率而改变,因此运动补偿单元72可能够参考来自预测子块外部的样本像素值。作为一个实例,当运动向量具有整数像素分辨率时,当前块的搜索区域可为初始搜索区域。作为另一实例,当运动向量具有分数像素分辨率时,当前块的搜索区域可为缩小的搜索区域。在一些实例中,缩小的搜索区域可通过使初始搜索区域从初始搜索区域的右方及下方边界减小M个样本且使初始搜索区域从初始搜索区域的上方及左方边界减小N个样本来确定。在一些实例中,当执行分数像素内插以确定预测子块的像素值时,运动补偿单元72可参考来自预测子块内的样本像素值及来自缩小的搜索区域外部但在初始搜索区域内的样本像素值。然而,由于样本像素值仍包含在初始搜索区域内,因此运动补偿单元72可仍能够参考所述样本像素值。
逆量化处理单元76逆量化(即,解量化)位流中提供的且由熵解码单元70解码的经量化变换系数。逆量化过程可包含使用由视频解码器30针对视频切片中的每一视频块计算的量化参数QPY确定应应用的量化程度且同样地确定逆量化程度。
逆变换处理单元78将逆变换(例如,逆DCT、逆整数变换或概念上类似的逆变换过程)应用于变换系数,以便在像素域中产生残余块。视频解码器30通过对来自逆变换处理单元78的残余块与由运动补偿单元72产生的对应预测性块求和而形成经解码视频块。求和器80表示执行所述求和运算的一或多个组件。
视频解码器30可包含滤波单元,所述滤波单元在一些实例中可类似于上文所描述的视频编码器20的滤波单元来配置。举例来说,当从经编码位流解码且重建视频数据时,滤波单元可经配置以执行解块、SAO或其它滤波操作。
虽然在本发明中描述所述技术的多个不同方面及实例,但是所述技术的各种方面及实例可以一起执行或彼此分离地执行。换句话说,所述技术不应严格地限制于上文所描述的各种方面及实例,而是可组合使用或一起执行及/或分离地执行。另外,虽然某些技术可归于视频解码器30的特定单元,但是应理解视频解码器30的一或多个其它单元也可负责执行这类技术。
以这种方式,视频解码器30可经配置以实施本发明中所描述的一或多种实例技术。举例来说,视频解码器30可经配置以接收包含语法元素的位流,所述语法元素指示参考PPS的图片是否可存在于图片自身的参考图片列表中,例如,出于使用帧内BC模式译码当前图片的一或多个块的目的。即,视频解码器30可解码指示当前图片可包含于自身的参考图片列表中的语法元素的值。因此,当使用帧内BC模式译码块时,视频解码器30可例如使用参考图片列表中的索引值确定块的参考图片为包含块的图片,使得索引值对应于图片自身。视频解码器30可解码来自使用帧内BC模式译码的块的运动信息的这个索引值。在一些实例中,视频解码器30的硬件架构可能不特别适用于将当前图片用作参考图片以预测当前图片的当前块。
图5为绘示根据本发明的一或多种技术的帧内BC过程的实例的图式。根据一个实例帧内预测过程,视频编码器20可针对图片中待译码的当前块(例如)在同一图片中从视频数据的一组先前经译码及重建的块选择预测子视频块。在图5的实例中,经重建区域108包含那组先前经译码及重建的视频块。经重建区域108中的块可表示已由视频解码器30解码及重建且存储于经重建区域存储器92中的块,或已在视频编码器20的重建回路中经解码及重建且存储于重建区域存储器64中的块。当前块102表示待译码的视频数据的当前块。预测子块104表示与当前块102在同一图片中的经重建视频块,所述经重建视频块用于当前块102的帧内BC预测。
在实例帧内预测过程中,视频编码器20可从搜索区域内选择预测子块104。如上文所讨论且根据本发明的一或多种技术,视频编码器20可基于待用于指示预测子块104的运动向量的分辨率(即,将用于运动向量106的分辨率)确定搜索区域。在图5的实例中,基于确定整数像素分辨率将用于运动向量106,视频编码器20可确定搜索区域由经重建区域108构成且从经重建区域108内选择预测子块104。视频编码器20可接着确定及编码指示预测子块104相对于当前块102的位置的运动向量106以及残余信号。举例来说,如图5所绘示,运动向量106可指示预测子块104的左上角相对于当前块102的左上角的位置。如上文所讨论,运动向量106也可被称作偏移向量、位移向量或块向量(BV)。视频解码器30可利用经编码信息来解码当前块。
视频解码器30可基于RPL解码当前图片中的视频数据块。特定而言,视频解码器30可基于包含于存储在参考图片存储器82中的当前图片的版本中的预测子块解码视频数据块。换句话说,当解码当前图片的块时,视频解码器30可从当前图片(即,具有(ListX中的)参考索引IdxCur的参考)预测块。视频解码器30可将块的经重建样本写入到当前图片缓冲器(例如,参考图片存储器82)以替换初始化值(例如,在视频解码器已完成解码块之后)。应注意,在这个实例中,视频解码器30在解码块之后并未将解块、SAO或任何其它滤波操作应用于经重建样本。换句话说,视频解码器30可在应用解块及SAO之前将当前图片用作参考。在译码整个图片之后,视频解码器30可以与HEVC版本1中描述的那些方式相同的方式应用解块、SAO及其它操作,例如参考图片标记。
图6A及6B为绘示根据本发明的一或多种技术的可从中选择预测子块的实例搜索区域的图式。如图6中所展示,视频编码器20可确定表示在当前SCC草案中帧内BC的可用搜索区域(例如,临时或经重建区域)的搜索区域600。根据本发明的技术,视频编码器20可确定缩小的搜索区域。举例来说,响应于确定用于识别预测子块的运动向量将具有分数像素分辨率,视频编码器20可确定缩小的搜索区域602(例如,图6A中的缩小的搜索区域602A或图6B中的缩小的搜索区域602B)。在图6A的实例中,视频编码器20可通过在水平方向上按距离604且在垂直方向上按距离606收缩搜索区域600来确定缩小的搜索区域602A。在图6B的实例中,视频编码器20可通过在水平方向上按距离604收缩搜索区域600来确定缩小的搜索区域602B。距离604可为N个样本,且N可取决于用于明度/色度内插的滤波器分接头的数目(例如,视频编码器20及/或视频解码器30在分数像素内插过程期间使用的分接头的数目)。距离606可为M个样本,且M可取决于用于明度/色度插值的滤波器分接头的数目。在一些实例中,N可等于M。在其它实例中,N与M可不同。
在一些实例中,视频编码器20可基于采样比率确定缩小的搜索区域。作为一个实例,视频编码器20可针对所有色度采样比率使用缩小的搜索区域602A。作为另一实例,视频编码器20可针对除4:0:0及4:4:4之外的所有色度采样比率使用缩小的搜索区域602A。作为另一实例,视频编码器20可针对4:2:0色度采样比率使用缩小的搜索区域602A且针对4:2:2色度采样比率使用缩小的搜索区域602B。如图6A及6B中可见,缩小的搜索区域602B与602A的不同之处在于其仅在水平方向上收缩。
图7为绘示根据本发明的一或多种技术的可从从选择预测子块的实例搜索区域的图式。如图7中所展示,视频编码器20可确定表示当前SCC中帧内BC的可用搜索区域(例如,临时或经重建区域)的搜索区域702(以垂直线加阴影)。根据本发明的技术,视频编码器20可通过以多个样本偏移初始搜索区域的一或多个边界来确定缩小的搜索区域。举例来说,响应于确定用于识别预测子块的运动向量将具有分数像素分辨率,视频编码器20可按距离706收缩搜索区域702的下方及右方边界来确定缩小的搜索区域704(以水平线加阴影)。距离706可为N个样本,且N可取决于用于明度/色度内插的滤波器分接头的数目。
在一些实例中,除了偏移初始搜索区域(即,搜索区域702)的下方及右方边界之外,视频编码器20还可在初始搜索区域的任何边界(包含切片边界、图片块边界)处偏移初始搜索区域。
在任何情况下,视频编码器20可从所确定搜索区域选择当前块700的预测子块。作为一个实例,在指示预测子块的运动向量将具有整数像素分辨率的情况下,视频编码器20可从搜索区域702选择当前块700的预测子块。作为另一实例,在指示预测子块的运动向量将具有分数像素分辨率的情况下,视频编码器20可从缩小的搜索区域704选择当前块700的预测子块。
图8为绘示根据本发明的一或多种技术的可从其选择预测子块的实例搜索区域的图式。如图8中所展示,视频编码器20可确定表示当前SCC中帧内BC的可用搜索区域(例如,临时或经重建区域)的初始搜索区域802(以粗线定界)。根据本发明的技术,视频编码器20可通过偏移初始搜索区域的一或多个边界(例如,通过根据搜索中的考虑因素去除初始搜索区域的指定边限中的块的像素)确定缩小的搜索区域。举例来说,视频编码器20可通过按距离806收缩搜索区域802的上方及左方边界且按距离808收缩搜索区域802的下方及右方边界来确定缩小的搜索区域804(以虚线定界)。距离806可为N个样本(例如,1、2、3、4、5、6、7、8),且N可取决于用于明度/色度内插的滤波器分接头的数目。距离808可为M个样本(例如,1、2、3、4、5、6、7、8),且M可取决于用于明度/色度内插的滤波器分接头的数目。举例来说,M可随滤波器分接头的数目相应地增大。在一些实例中,N可等于M。在其它实例中,N与M可不同。在一个具体实例中,N及M可为两个样本。
在一些实例中,除了偏移初始搜索区域(即,搜索区域802)的上方、下方、左方及右方边界之外,视频编码器20可在初始搜索区域的任何边界(包含切片边界、图片块边界)处偏移初始搜索区域。
在任何情况下,视频编码器20可从所确定的搜索区域选择当前块800的预测子块。作为一个实例,在指示预测子块的运动向量将具有整数像素分辨率(即,将要求色度内插)的情况下,视频编码器20可从搜索区域802选择当前块800的预测子块。作为另一实例,在指示预测子块的运动向量将具有分数像素分辨率的情况下,视频编码器20可从缩小的搜索区域804选择当前块800的预测子块。
以下为图8的技术的实例实施方案。对先前实例实施方案的添加通过底线展示。对先前实例实施方案的删除通过斜体字展示。
通用实例
8.5.3.2.1综述
对IBC参考区域的上方及左方边界的约束条件
位流符合性要求:当参考图片为当前图片时,明度运动向量mvLX应遵从以下约束:
-如下导出变量xRef及yRef:
-当ChromaArrayType不等于0且mvCLX[0]&0×7不等于0时
-xRef=(xPb+(mvLX[0]>>2)-IntSamplesX),其中IntSamplesX可取值0、1、2、 3……
否则
xRef=(xPb+(mvLX[0]>>2))
-当ChromaArrayType不等于0且mvCLX[1]&0×7不等于0时,其中IntSamplesX可取 值1、2、3、4……
xRef=(xPb+(mvLX[1]>>2)-IntSamplesY),其中IntSamplesY可取值0、1、2……N
否则
xRef=(xPb+(mvLX[1]>>2))
-当调用如SCC WD 6的条款6.4.1中指定的z扫描次序块可用性的导出程序时,其中经设定等于(xCb,yCb)的(xCurr,yCurr)及经设定等于(xPb+(mvLX[0]>>2),(yPb+mvLX[1]>>2))(xRef,yRef)的相邻明度位置(xNbY,yNbY)作为输入,输出应等于真(TRUE)。
对IBC参考区域的下方及右方边界的约束条件
-如下导出变量xRef及yRef:
-当ChromaArrayType不等于0且mvCLX[0]&0×7不等于0时
-xRef=(xPb+(mvLX[0]>>2)+nPbW-1+IntSamplesX),其中IntSamplesX可取值0、 1、2、3……
否则
xRef=(xPb+(mvLX[0]>>2)+nPbW-1)
-当ChromaArrayType不等于0且mvCLX[1]&0×7不等于0时,其中IntSamplesX可取 值1、2、3、4……
xRef=(xPb+(mvLX[1]>>2)nPbH-1+IntSamplesY),其中IntSamplesY可取值0、1、 2……N
否则
xRef=(xPb+(mvLX[1]>>2)+nPbH-1)
-当调用如条款6.4.1中指定的z扫描次序块可用性的导出程序时,其中经设定等于(xCb,yCb)的(xCurr,yCurr)及经设定等于(xPb+(mvLX[0]>>2)+nPbW-1,yPb+(mvLX[1]>>2)+nPbH-1)(xRef,yRef)的相邻明度位置(xNbY,yNbY)作为输入,输出应等于真。
-以下条件中的一者或两者应为真:
-当ChromaArrayType不等于0且mvCLX[0]&0×7不等于0时
-(mvLX[0]>>2)+nPbW+IntSamplesX)+xB1的值小于或等于0,其中IntSamplesX可 取值0、1、2、3……
否则
-(mvLX[0]>>2)+nPbW+xB1的值小于或等于0。
当ChromaArrayType不等于0且mvCLX[0]&0×7不等于0时
-(mvLX[1]>>2)+nPbH+IntSamplesY)+yB1的值小于或等于0。其中IntSamplesY可 取值0、1、2、3……
否则
-(mvLX[0]>>2)+nPbH+xB1的值小于或等于0。
-以下条件应为真:
(xPb+(mvLX[0]>>2)+nPbSw-1)xRef/CtbSizeY-xCurr/CtbSizeY<=yCurr/CtbSizeY-(yPb+(mvLX[1]>>2)+nPbSh-1)yRef/CtbSizeY
以下为图8的技术的另一实例实施方案。对SCM 4.0软件的添加以底线展示。对SCM4.0软件的删除以斜体字展示。
8.5.3.2.1综述
对IBC参考区域的上方及左方边界的约束条件
位流符合性要求:当参考图片为当前图片时,明度运动向量mvLX应遵从以下约束:
-如下导出变量xRef及yRef:
-当ChromaArrayType不等于0且mvCLX[0]&0×7不等于0时
-xRef=(xPb+(mvLX[0]>>2)-2),其中IntSamplesX可取值0、1、2、3……
否则
xRef=(xPb+(mvLX[0]>>2))
-当ChromaArrayType不等于0且mvCLX[1]&0×7不等于0时,其中IntSamplesX可取 值1、2、3、4……
xRef=(xPb+(mvLX[1]>>2)-2),其中IntSamplesY可取值0、1、2……N
否则
xRef=(xPb+(mvLX[1]>>2))
-当调用如条款6.4.1中指定的z扫描次序块可用性的导出程序时,其中经设定等于(xCb,yCb)的(xCurr,yCurr)及经设定等于(xPb+(mvLX[0]>>2),(yPb+mvLX[1]>>2))(xRef,yRef)的相邻明度位置(xNbY,yNbY)作为输入,输出应等于真。
对IBC参考区域的下方及右方边界的约束条件
-如下导出变量xRef及yRef:
-当ChromaArrayType不等于0且mvCLX[0]&0×7不等于0时
-xRef=(xPb+(mvLX[0]>>2)+nPbW-1+2),其中IntSamplesX可取值0、1、2、3……
否则
xRef=(xPb+(mvLX[0]>>2)+nPbW-1)
-当ChromaArrayType不等于0且mvCLX[1]&0×7不等于0时,其中IntSamplesX可取 值1、2、3、4……
xRef=(xPb+(mvLX[1]>>2)nPbH-1+2),其中IntSamplesY可取值0、1、2……N
否则
xRef=(xPb+(mvLX[1]>>2)+nPbH-1)
-当调用如条款6.4.1中指定的z扫描次序块可用性的导出程序时,其中经设定等于(xCb,yCb)的(xCurr,yCurr)及经设定等于(xPb+(mvLX[0]>>2)+nPbW-1,yPb+(mvLX[1]>>2)+nPbH-1)(xRef,yRef)的相邻明度位置(xNbY,yNbY)作为输入,输出应等于真。
-以下条件中的一者或两者应为真:
-当ChromaArrayType不等于0且mvCLX[0]&0×7不等于0时
-(mvLX[0]>>2)+nPbW+2)+xB1的值小于或等于0,其中IntSamplesX可取值0、1、2、 3……
否则
-(mvLX[0]>>2)+nPbW+xB1的值小于或等于0。
当ChromaArrayType不等于0且mvCLX[0]&0×7不等于0时
-(mvLX[1]>>2)+nPbH+2)+yB1的值小于或等于0。其中IntSamplesY可取值0、1、2、 3……
否则
-(mvLX[0]>>2)+nPbH+xB1的值小于或等于0。
-以下条件应为真:
(xPb+(mvLX[0]>>2)+nPbSw-1)xRef/CtbSizeY-xCurr/CtbSizeY<=yCurr/CtbSizeY-(yPb+(mvLX[1]>>2)+nPbSh-1)yRef/CtbSizeY
如上文所讨论,本发明的技术解决在用分数像素分辨率(例如,四分的一像素分辨率)表示明度MV或色度MV,或明度及色度MV时的问题。如上文所讨论,当MV指向分数像素位置时,针对明度/色度使用内插滤波器而获得预测像素。内插滤波器可要求在预测块外部的额外相邻样本。因此,用于内插过程的这些像素/样本需要满足对如上文所描述的参考块的帧内BC约束。为实现上述约束,在下文中提出可单独地或共同地与本文所描述的其它技术组合应用的一些技术。
作为一个实例,可基于当前块MV限制参考区域。换句话说,当具有内插样本的参考块不满足如上文所描述的帧内BC约束条件时,特定运动向量(明度/色度)可不被允许。作为另一实例,当具有内插样本(每一侧四个样本)的参考块不满足如上文所描述的帧内BC约束条件时,特定运动向量(明度/色度)可不被允许。作为另一实例,当对应于块的运动向量使用色度内插时,当前IBC搜索区域(在有效IBC区域的所有四个侧中)可能减小多个样本,例如,两个样本。作为另一实例,当对应于块的运动向量使用色度内插时,当前IBC搜索区域可在左方及上方图片边界减小一个样本且在IBC参考区域右方及下方减小两个样本。作为另一实例,当对应于块的运动向量使用色度内插时,当前IBC搜索区域可在左方及上方图片边界减小两个样本且在IBC参考区域右方及下方减小四个样本。一般来说,如上文参考图8所讨论,满足上文所描述的约束条件的有效IBC参考区域可在上方及左方边界减小N个样本且在右方及下方边界减小M个样本。在一些实例中,上述约束条件并不应用于单色配置文件。
图9为绘示根据本发明的一或多种技术的用于填补位于图片外部的区域的实例技术的图式。在RExt WD 7中,帧内BC参考区域经限制为完全在当前图片内部。归因于这种限制,可应用上文所描述的偏移(例如,使参考区域减小N个样本)以避免超出图片边界。
然而,在一些实例中,搜索区域(即,帧内BC参考区域)可类似于常规帧间模式所进行地包含位于图片边界外部的像素,其中通过将图片边界内的最接近像素复制到所需的外部样本(填补过程)而导出图片外部的搜索区域中的样本值。
以类似方式,当已重建紧邻位于图片内部的图片边界的块时,视频译码器(例如,视频编码器20及/或视频解码器30)可应用填补过程以将边界像素扩展到外部空间(即,以产生位于图片边界外部的像素的像素值),如图9中用箭头所展示。
举例来说,为了检验外部还是部分外部块可用作帧内BC参考,视频译码器可将参考块角(例如左上角、右上角、左下角及/或右下角)的坐标削波到图片边界(例如,水平坐标可经削波为在0与图片宽度减1内,且垂直坐标可经削波为在0与图片高度减1内)。视频译码器可对这类经削波块(图9中展示为虚线边界块)执行有效性检验,或检验参考块的经削波角坐标是否已重建,即,可用作对位于图片外部或部分地位于图片外部的参考块的IBC预测。
举例来说,视频译码器可如先前所提及将左上角水平及垂直坐标削波到图片边界,即,移动参考块以在经削波点处具有左上角。在削波之后,可存在两种可能性:参考块位于图片内部;或仍位于图片外部或部分地位于图片外部。如果参考块位于图片外部,那么视频译码器可按块的右下角的水平坐标延伸到图片外部的距离将块水平地移动到图片中。可大致将这个过程看作首先在垂直方向上将参考块移动到图片中,随后在水平方向上平移所述块。替代地,所述过程可反之亦然,且视频译码器可首先水平地移动右下角,随后在垂直方向上移动。
在一些实例中,例如在参考块位于当前图片外部或部分地位于当前图片外部的情况下,视频译码器可考虑经削波参考块角以及参考块宽度及高度以确定图片边界像素是否经重建且可用于帧内BC预测。
在一些实例中,视频译码器可如上文所讨论将偏移应用于经扩展参考区域以允许内插。举例来说,位于在当前块正上方的外部空间中的参考块尚不可用。因此,位于这类区域中的像素不能用于(例如)位于所描述的不可用部分附近的参考块的内插。如此,视频译码器可应用N个像素的偏移以在可用区域内部收缩,从而使得内插为可能的。替代地,与应用偏移相反,视频译码器可填补最接近的可用像素。
在RExt WD 7中,将帧内BC参考区域限制于如图7的阴影区域702所展示的区域(但不包含块700)内。按照RExt WD 7,图7中的内插样本在RExt WD 7中为零且N等于块宽度。
在RExt WD 7中,在以下情况时将IBC参考区域的部分标记为不可用:
a)参考区域在图片/切片/图片块边界外部。
b)参考区域在如下所定义的平行处理样本边界外部:
(xPb+(mvLX[0]>>2)+nPbSw-1)/CtbSizeY-xCurr/CtbSizeY<=yCurr/CtbSizeY-(yPb+(mvLX[1]>>2)+nPbSh-1)/CtbSizeY
c)参考区域与当前译码单元重叠。
d)参考区域与不可用于参考的区域重叠(例如,参考区域属于受限的经帧内预测区域)。块可用性导出在RExt WD 7中的条款6.4.1中得以详述。
上述约束在RExt WD 7中经指定呈编码器符合性限制的形式,即,能够产生SCC位流的编码器应遵守上述参考区域限制。
然而,RExt WD 7中指定的所述技术可出现可能不需要的一或多个问题。作为一个实例,RExt WD 7中指定的编码器侧限制可具有潜在危险。举例来说,当非顺应性编码器不遵循这些限制时,解码器状态可为未定义的。作为另一实例,在当位流参考在限定区域外时在解码器中将时间参考区域削波到有效区域的情况下(而非限制),RExt WD 7中指定的编码器限制可能不与帧间解码过程对准。作为另一实例,在一些情境下限制参考区域可具有译码效率退化。举例来说,在当大部分预测块属于有效区域的情境下,将块的剩余部分削波到有效区域内而非限制整个预测块可为有益的。
本发明提出可解决上述问题的若干技术。以下技术可独立地或共同地与本发明的其它技术组合应用。如下文所使用,术语参考区域可对应于预测块内的样本或样本集合。
根据本发明的一或多种技术,当位流参考在限定区域外时,可在解码器中将IBC参考区域削波到有效区域。在一些实例中,削波可应用于以下情境中的一或多者中。作为一个实例,视频译码器(即,视频编码器或视频解码器)可在参考区域在图片边界外部时应用削波。作为另一实例,视频译码器可在参考区域与当前译码单元重叠时应用削波。作为另一实例,视频译码器可在参考区域在如以下方程式中所定义的平行处理样本边界外部时应用削波:
(xPb+(mvLX[0]>>2)+nPbSw-1)/CtbSizeY-xCurr/CtbSizeY<=yCurr/CtbSizeY-(yPb+(mvLX[1]>>2)+nPbSh-1)/CtbSizeY
在一些实例中,填补可应用于以下情境中的一或多者中。作为一个实例,视频译码器可在参考区域在切片边界外部时应用填补。作为另一实例,视频译码器可在参考区域在图片块边界外部时应用填补。作为另一实例,视频译码器可在参考区域与不可用于参考的区域重叠(例如,参考区域属于受限的经帧内预测区域)时应用填补。视频译码器可使用RExt WD 7中的条款6.4.1中描述的技术确定区域是否可用。
在一些实例中,可如下应用填补过程。视频译码器可设定预测块的样本阵列SL中的每一元素的值等于1<<(BitDepthY-1)。当ChromaArrayType不等于0时,视频译码器可设定图片的样本阵列SCb及SCr中的每一元素的值等于1<<(BitDepthC-1)。视频译码器可针对预测块中的每一元素设定预测模式CuPredMode[x][y]等于MODE_INTRA。
可在可产生不同参考预测块的不同粒度层级(例如,样本层级或预测块层级)处应用上文提出的技术。
根据本发明的一或多种技术,视频译码器可对预测块进行削波,使得预测块内的所有样本在有效参考区域中。举例来说,视频译码器可对预测块进行削波,使得预测块内的所有样本在图片边界内,预测块内的所有样本不与当前译码单元重叠,且预测块内的所有样本在如以下方程式所定义的平行处理样本边界内。
(xPb+(mvLX[0]>>2)+nPbSw-1)/CtbSizeY-xCurr/CtbSizeY<=yCurr/CtbSizeY-(yPb+(mvLX[1]>>2)+nPbSh-1)/CtbSizeY
本发明的技术可以多种方式实施。下方仅为所提出技术中的一或多者的一个实例实施方案。
在这个实例中,当refPicLXL=明度样本的CurrPic时,使位置(xAi,j,yAi,j)表示当前明度预测块相对于给定二维阵列内部的全样本位置处的当前图片的左上方明度样本的右下方样本位置。
yAi,j=Clip3(samplesInter,(CtbYcurr+1)<<CtbLog2SizeY-samplesInter,yIntL+j)
当CtbYcurr==CtbYPred&&CtbXcurr>=CtbXPred(即在同一CTU列中)时
xAi,j=Clip3(samplesInter,(xAi,j-(nPbW<<1)-xB1-1-samplesInter,xIntL+i)
否则,
xAi,j=Clip3(samplesInter,((CtbYcurr-CtbYPred+1))<<CtbLog2SizeY)+xCurrctb-nPbW-xB1-1-samplesInter,xIntL+i)
在上述方程式中,nPbW及nPbH分别指定明度预测块的宽度及高度,CtbYcurr=yCurr>>CtbLog2SizeY,CtbYPred=(yAi,j)>>CtbLog2SizeY,CtbXcurr=xCurr>>CtbLog2SizeY,xCurrctb=(CtbXcurr)<<CtbLog2SizeY,xBl为当前明度预测块的左上方样本相对于当前明度译码块的左上方样本的明度位置,且samplesInter对应于用于明度或色度样本的最大内插样本。
图10绘示根据本发明的一或多种技术的上述削波操作的一些实例情境。在图10的情境/情况下,预测块以实线界线展示,且经削波预测块以虚线界线展示。如图10中所展示,可观测到,整个参考块(即,预测块)可在有效参考区域内经削波且在这些情境下可填补可为不必要的。
根据本发明的一或多种技术,视频译码器可对每一参考样本进行削波,使得每一预测样本在有效参考区域中。举例来说,视频译码器可对参考样本进行削波,使得参考块内的样本在有效参考区域内。举例来说,视频译码器可对预测块进行削波,使得:预测块内的样本在图片边界内;预测块内的样本不与当前译码单元重叠;且预测块内的样本在如以下方程式所定义的平行处理样本边界内。
(xPb+(mvLX[0]>>2)+nPbSw-1)/CtbSizeY-xCurr/CtbSizeY<=yCurr/CtbSizeY-(yPb+(mvLX[1]>>2)+nPbSh-1)/CtbSizeY
图11绘示上述削波操作的一些实例情境。在图11的情境/情况下,预测块以实线界线展示,且经削波预测块以虚线界线展示。如图11中所展示,可观测到,特定预测样本经削波到有效参考区域,且在一些情境下填补可为必要的。
在这个实例中,当refPicLXL=明度样本的CurrPic时,使位置(xAi,j,yAi,j)表示给定二维阵列内部的全样本位置处的明度参考样本。
yAi,j=Clip3(samplesInter,(CtbYcurr+1)<<CtbLog2SizeY-samplesInter,yIntL+j)
当CtbYcurr==CtbYPred&&CtbXcurr>=CtbXPred(即在同一CTU列中)时
xAi,j=Clip3(samplesInter,(xAi,j-(nPbW<<1)-xB1-1-samplesInter,xIntL+i)
否则,
xAi,j=Clip3(samplesInter,((CtbYcurr-CtbYPred+1))<<CtbLog2SizeY)+xCurrctb-nPbW-xB1-1-samplesInter,xIntL+i)
在上述方程式中,nPbW及nPbH分别指定明度预测块的宽度及高度,CtbYcurr=yCurr>>CtbLog2SizeY,CtbYPred=(yAi,j)>>CtbLog2SizeY,CtbXcurr=xCurr>>CtbLog2SizeY,xCurrctb=(CtbXcurr)<<CtbLog2SizeY,xBl为当前明度预测块的左上方样本相对于当前明度译码块的左上方样本的明度位置,且samplesInter对应于明度或色度样本所要求的最大内插样本。
SCC规范的先前工作草案(WD)(在下文中被称作“SCC WD 3”)可从http://phenix.it-sudparis.eu/jct/doc_end_user/documents/22_Geneva/wg11/JCTVC-T1005-v2.zip获得。在SCC WD 3中,当use_integer_mv_flag等于1时,明度及色度运动向量按比例缩放(<<2)且刚好在运动补偿之前经削波。
这在SCC WD 3中加以指定,如下文所指示:
当use_integer_mv_flag等于1且参考索引refIdxLX不等于currPic时,如下修改mvLX及mvCLX(其中X等于0或1):
mvLX=Clip3(-215,215-1,mvLX<<2) (8-203)
mvCLX=Clip3(-215,215-1,mvCLX<<2) (8-204)
在一些实例中,将经缩放运动向量(明度及色度)削波到215-1可导致需要执行内插。任何其它情况可不要求内插。这种特殊情况可增加视频解码器的不必要的复杂度,其可为不合需要的。
根据本发明的一或多种技术,视频译码器可将运动向量削波到不导致内插的最接近值。
当use_integer_mv_flag等于1且参考索引refIdxLX不等于currPic时,如下文所示(以底线展示对SCC WD的添加,且以斜体字展示对SCC WD 3的删除)修改mvLX及mvCLX(其中X等于0或1):
mvLX=Clip3(-215,215-1 4,mvLX<<2) (8-203)
mvCLX=Clip3(-215,215-1 4,mvCLX<<2) (8-204)
在一些实例中,所提出的修改可仅应用于明度运动向量(mvLX)。在一些实例中,所提出的修改可仅应用于色度运动向量(mvCLX)。在一些实例中,所提出的修改可应用于明度运动向量(mvLX)及色度运动向量(mvCLX)。
在一些实例中,视频解码器可基于指示采样比率的语法元素(例如,chroma_format_idc)的值执行所提出的修改,例如chroma_format_idc。举例来说,视频译码器可仅针对4:4:4采样比率执行所提出的修改。
图12为绘示根据本发明的一或多种技术的用于确定视频数据块的搜索区域的实例过程的流程图。图12的技术可由视频编码器(例如图1及3中所绘示的视频编码器20)执行。出于说明的目的,在图1及3的视频编码器20的上下文内描述图12的技术,但具有不同于视频编码器20的配置的视频编码器可执行图12的技术。
根据本发明的一或多种技术,视频编码器20的一或多个处理器可针对确定将用于运动向量的分辨率(例如,整数或分数),所述运动向量针对视频数据的当前图片中的当前块识别视频数据的当前图片中的预测子块(1202)。举例来说,视频编码器20的运动估计单元44可确定识别当前图片中的色度预测子块的色度运动向量将具有整数像素分辨率还是分数像素分辨率。在一些实例中,在当前块的色度采样相对于明度采样的比率大于一的情况下,运动估计单元44可确定分数像素分辨率(例如,四分的一像素分辨率)将用于运动向量。在一些实例中,在当前块的格式为4:2:2或4:2:0的情况下,运动估计单元44可确定当前块的色度采样相对于明度采样的比率大于一。在一些实例中,运动估计单元44可使得熵编码单元56编码指示将用于运动向量的分辨率的语法元素。举例来说,运动估计单元44可使得熵编码单元56编码use_integer_mv_flag以指示运动向量将具有整数像素分辨率还是分数像素分辨率。
视频编码器20的一或多个处理器可基于所确定分辨率确定当前块的搜索区域,使得在分辨率为分数像素的情况下所述搜索区域的大小比在分辨率为整数像素的情况下所述搜索区域的大小更小(1204)。举例来说,在一些实例中,运动估计单元44可确定可包含当前图片的经重建区域的初始搜索区域。举例来说,运动估计单元44可确定图8的当前块800的初始搜索区域802。在将用于运动向量的分辨率为整数像素的情况下,运动估计单元44可确定初始搜索区域为当前块的搜索区域。然而,在将用于运动向量的分辨率为分数像素的情况下,运动估计单元44可通过至少使初始搜索区域从初始搜索区域的右方及下方边界减小M个样本,及/或使初始搜索区域从初始搜索区域的上方及左方边界减小N个样本来确定搜索区域。举例来说,运动估计单元44可使初始搜索区域802从右方及下方边界减小M个样本(例如,距离808)且使初始搜索区域802从上方及左方边界减小N个样本(例如,距离806),以产生图8的当前块800的缩小的搜索区域804。
视频编码器20的一或多个处理器可从搜索区域内选择当前块的预测子块(1206)。作为一个实例,在将用于运动向量的分辨率为整数像素的情况下,运动估计单元44可从初始搜索区域(例如,图8的初始搜索区域802)选择当前块的预测子块。作为另一实例,在将用于运动向量的分辨率为分数像素的情况下,运动估计单元44可从缩小的搜索区域(例如,图8的缩小的搜索区域804)选择当前块的预测子块。如上文所讨论,运动估计单元44可从所确定搜索区域内识别若干候选预测子块且选择就像素差而言紧密匹配当前块的候选预测子块,像素差可由绝对差总和(SAD)、平方差总和(SSD)或其它差异度量确定。
视频编码器20的一或多个处理器可确定识别当前块的所选预测子块的运动向量(1208)。举例来说,在图5的实例中,运动估计单元44可确定表示当前块102与所选预测子块104之间的位移的向量106。
视频编码器20的一或多个处理器可在经译码视频位流中编码运动向量的表示(1210)。举例来说,运动估计单元44可使得熵编码单元56编码所确定运动向量的表示。在一些实例中,表示可为所确定运动向量与所确定运动向量的预测子之间的差(即,运动向量差(MVD))。在一些实例中,运动估计单元44可使得熵编码单元56编码识别当前块的明度样本的预测子块的明度运动向量的表示,且可从所述明度运动向量导出色度运动向量(例如,基于当前块的色度采样相对于明度采样的比率)。
在一些实例中,例如在运动向量具有分数像素分辨率的情况下,视频编码器20可使用分数像素内插法且至少部分地基于来自预测子块外部的样本像素值来确定预测子块的像素值。举例来说,在运动向量为具有分数像素分辨率的色度运动向量的情况下,运动补偿单元46可执行分数像素内插以至少部分地基于在预测子块外部但在初始搜索区域内的样本像素值构建预测子块的样本像素值。
视频编码器20可基于预测子块的像素值重建当前块。举例来说,视频编码器20可将预测子块的像素值添加到残余值以重建当前块的像素值。
图13为绘示根据本发明的一或多种技术的用于解码视频数据块的实例过程的流程图。图13的技术可由视频解码器(例如图1及4中所绘示的视频解码器30)执行。出于说明的目的,在图1及4的视频解码器30的上下文内描述图13的技术,但具有不同于视频解码器30的配置的视频编码器可执行图13的技术。
根据本发明的一或多种技术,视频解码器30的一或多个处理器可从经译码视频位流获得运动向量的表示,所述运动向量针对视频数据的当前图片中的当前块识别视频数据的当前图片中的预测子块(1302)。举例来说,视频解码器30的运动补偿单元72可从熵解码单元70接收运动向量的表示。在一些实例中,表示可为所确定运动向量与所确定运动向量的预测子之间的差(即,运动向量差(MVD))。在一些实例中,运动向量可为识别当前块的明度样本的预测子块的明度运动向量,且运动补偿单元72可从明度运动向量导出识别当前块的色度样本的预测子块的色度运动向量(例如,基于当前块的色度采样相对于明度采样的比率)。
视频解码器30的一或多个处理器可确定运动向量具有分数像素分辨率还是整数像素分辨率(1304)。举例来说,在当前块的色度采样相对于明度采样的比率大于一的情况下,运动补偿单元72可确定分数像素分辨率将用于运动向量。在一些实例中,在当前块的格式为4:2:2或4:2:0的情况下,运动补偿单元72可确定当前块的色度采样相对于明度采样的比率大于一。在一些实例中,运动补偿单元72可从熵解码单元70接收指示将用于运动向量的分辨率的语法元素。举例来说,运动补偿单元72可接收指示运动向量将具有整数像素分辨率还是分数像素分辨率的use_integer_mv_flag。
视频解码器30的一或多个处理器可基于运动向量从搜索区域内确定当前块的预测子块,所述搜索区域的大小在分辨率为分数像素的情况下比在分辨率为整数像素的情况下更小(1306)。举例来说,在一些实例中,在分辨率为整数像素的情况下,当前块的搜索区域可为可包含当前图片的经重建区域的初始搜索区域。举例来说,在分辨率为整数像素的情况下,当前块的搜索区域可为图8的当前块800的初始搜索区域802。作为另一实例,在将用于运动向量的分辨率为分数像素的情况下,当前块的搜索区域可为通过使初始搜索区域从初始搜索区域的右方及下方边界减小M个样本,且使初始搜索区域从初始搜索区域的上方及左方边界减小N个样本确定的缩小的搜索区域。举例来说,在分辨率为整数像素的情况下,当前块的搜索区域可为图8的当前块800的缩小的搜索区域804。
响应于确定运动向量具有分数像素分辨率,视频解码器30的一或多个处理器可使用分数像素内插法且至少部分地基于来自预测子块外部的样本像素值来确定预测子块的像素值(1308)。举例来说,运动补偿单元72可执行分数像素内插以至少部分地基于来自初始搜索区域外部但在缩小的搜索区域内的样本像素值(例如,包含于图8的初始搜索区域802中但不包含于缩小的搜索区域804中的像素值)确定预测子块的像素值。
视频解码器30的一或多个处理器可基于预测子块的像素值重建当前块(1310)。举例来说,视频解码器30的求和器80可将预测子块的像素值添加到残余值以重建当前块的像素值。
以下编号条款可说明本发明的一或多种技术:
条款1.一种编码或解码视频数据的方法,所述方法包括:基于识别当前块的预测子块的运动向量的分辨率确定视频数据的当前图片的当前块的帧内块复制(帧内BC)搜索区域。
条款2.如条款1的方法,其进一步包括:确定在运动向量的分辨率为分数像素的情况下比当运动向量的分辨率为整数像素时具有更小大小的搜索区域。
条款3.如条款1到2的任何组合的方法,其中在运动向量的分辨率为分数像素时确定的搜索区域的大小与在运动向量的分辨率为整数像素时确定的搜索区域的大小之间的差是基于用于预测子块中的样本的内插的滤波器分接头的数目。
条款4.如条款1到3的任何组合的方法,其中在运动向量的分辨率为分数像素时确定的搜索区域在水平方向上小于在运动向量的分辨率为整数像素时确定的搜索区域。
条款5.如条款1到4的任何组合的方法,其中在当前块的格式为4:2:2的情况下,在运动向量的分辨率为分数像素时确定的搜索区域在水平方向上小于在运动向量的分辨率为整数像素时确定的搜索区域。
条款6.如条款1到5的任何组合的方法,其中在运动向量的分辨率为分数像素时确定的搜索区域在水平方向及垂直方向上小于在运动向量的分辨率为整数像素时确定的搜索区域。
条款7.一种编码或解码视频数据的方法,所述方法包括:基于预测子向量及差向量通过视频译码器译码指示识别视频数据的当前块的预测子块的向量的计算方法的语法元素;通过视频译码器使用所指示的计算方法确定向量;及通过视频译码器存储向量。
条款8.如条款7的方法,其中向量为块向量(BV)或运动向量(MV)。
条款9.如条款7到8的任何组合的方法,其中语法元素指示待存储运动向量的分辨率,且其中存储运动向量包括以所指示分辨率存储运动向量。
条款10.如条款7到9的任何组合的方法,其中语法元素的第一值指示运动向量以分数像素分辨率加以存储,且语法元素的第二值指示运动向量以整数像素分辨率加以存储。
条款11.如条款7到10的任何组合的方法,其中语法元素指示译码差向量的分辨率,所述方法进一步包括:以所指示分辨率译码差向量。
条款12.如条款11的方法,其中语法元素的第一值指示差向量以分数像素分辨率加以译码,且语法元素的第二值指示差向量以整数像素分辨率加以译码。
条款13.如条款7到12的任何组合的方法,其中语法元素指示运动向量是否经缩放以执行运动补偿,所述方法进一步包括:响应于指示运动向量经缩放以执行运动补偿的语法元素,按比例缩放运动向量以产生经缩放运动向量;及使用所述经缩放运动向量执行运动补偿。
条款14.如条款7到13的任何组合的方法,其中由语法元素指示的计算方法在使用帧内块复制(帧内BC)模式译码当前块的情况下为第一方程式,且在使用帧内模式译码当前块的情况下为第二方程式。
条款15.如条款7到14的任何组合的方法,其中第一方程式与第二方程式相同。
条款16.如条款7到15的任何组合的方法,其中,除了运动向量的计算方法之外,语法元素还指示以下各者中的一或多者:待存储运动向量的分辨率;运动向量是否经缩放以执行运动补偿;及译码差向量的分辨率。
条款17.一种基于帧内块复制预测编码或解码当前图片内的当前视频块的方法,所述方法包括:响应于确定当前视频块的预测子块包含位于当前图片的有效区域外部的至少一个像素,对预测子块进行削波以产生不包含位于有效区域外部的至少一个像素的经削波预测子块;及基于经削波预测子块编码或解码当前视频块。
条款18.如条款17的方法,其中位于有效区域外部的至少一个像素位于当前图片的边界外部。
条款19.如条款17到18的任何组合的方法,其中位于有效区域外部的至少一个像素位于平行处理样本边界外部。
条款20.如条款17到19的任何组合的方法,其中位于有效区域外部的至少一个像素位于当前视频块内部。
条款21.如条款17到20的任何组合的方法,其中通过块向量识别预测子块,且其中对预测子块进行削波包括对块向量进行削波。
条款22.如条款17到21的任何组合的方法,其中经削波预测子块与预测子块大小相同。
条款23.一种基于帧内块复制预测编码或解码当前图片内的当前视频块的方法,所述方法包括:识别当前视频块的预测子块的不可用像素,其中不可用像素位于当前图片的经重建区域外部;执行填补以获得不可用像素的值;及基于包含不可用像素的所获得值的预测子块的版本编码或解码当前视频块。
条款24.如条款的方法,其中执行填补包括:基于当前视频块的像素值的位深度获得不可用像素的值。
条款25.如条款23到24的任何组合的方法,其中不可用像素的值根据以下方程式获得:Punavailable=1<<(BitDepth-1),其中Punavailable为不可用像素的所获得值,且BitDepth为当前视频块的像素值的位深度。
条款26.一种基于帧内块复制预测编码或解码当前图片内的当前视频块的方法,所述方法包括:响应于确定预测子块包含位于当前图片的有效区域外部的至少一个像素,对预测子块进行削波以产生不包含位于有效区域外部的至少一个像素的经削波预测子块;识别经削波预测子块的不可用像素,其中不可用像素位于当前图片的经重建区域外部;执行填补以获得不可用像素的值;及基于包含不可用像素的所获得值的经削波预测子块的版本编码或解码当前视频块。
条款27.如条款26的方法,其中不可用像素位于包含当前视频块的切片的切片边界外部。
条款28.如条款26到27的任何组合的方法,其中不可用像素位于包含当前视频块的图片块的图片块边界外部。
条款29.如条款26到28的任何组合的方法,其中不可用像素形成尚未经解码的当前图片的块的部分。
条款30.如条款26到29的任何组合的方法,其中位于有效区域外部的至少一个像素位于当前视频块内部。
条款31.如条款26到30的任何组合的方法,其中位于有效区域外部的至少一个像素位于当前图片的边界外部。
条款32.如条款26到31的任何组合的方法,其中位于有效区域外部的至少一个像素位于平行处理样本边界外部。
条款33.如条款26到32的任何组合的方法,其中位于有效区域外部的至少一个像素位于当前视频块内部。
条款34.如条款26到33的任何组合的方法,其中通过块向量识别预测子块,且其中对预测子块进行削波包括对块向量进行削波。
条款35.如条款26到34的任何组合的方法,其中经削波预测子块与预测子块大小相同。
条款36.一种基于帧内块复制预测编码或解码当前图片内的当前视频块的方法,所述方法包括:将识别当前视频块的预测子块的块向量削波到不要求内插的最接近值。
条款37.一种使用帧内块复制视频译码技术译码视频数据的方法,所述方法包括:确定用于识别视频数据的当前块的参考块的帧内块复制搜索区域;在与视频数据的当前块相关联的运动向量使用色度内插的情况下,使帧内块复制搜索区域从帧内块复制搜索区域的右方及下方边界减小M个样本;在与视频数据的当前块相关联的运动向量使用色度内插的情况下,使帧内块复制搜索区域从帧内块复制搜索区域的上方及左方边界减小N个样本;及使用帧内块复制搜索区域译码视频数据的当前块。
条款38.如条款37的方法,其中M为2且N为2。
条款39.如条款37的方法,其中M为2且N为1。
条款40.如条款37的方法,其中M为4且N为2。
条款41.一种包括如条款1到40的任何组合的方法。
出于说明的目的,已关于HEVC标准描述本发明的某些方面。然而,本发明中描述的技术可适用于其它视频译码方法,包含尚未开发的其它标准或专用视频译码方法,例如当前正在开发的H.266视频译码标准。
如本发明中所描述的视频译码器可指视频编码器或视频解码器。类似地,视频译码单元可指视频编码器或视频解码器。同样地,视频译码可在适用时指代视频编码或视频解码。
应认识到,取决于实例,本文中所描述的技术中的任一者的某些动作或事件可以不同序列执行、可添加、合并或完全省略所述动作或事件(例如,并非所有所描述动作或事件对于于实践所述技术为必要的)。此外,在某些实例中,可(例如)经由多线程处理、中断处理或多个处理器同时而非顺序地执移动作或事件。
在一或多个实例中,所描述功能可以硬件、软件、固件或其任何组合来实施。如果以软件实施,那么所述功能可作为一或多个指令或代码而存储于计算机可读媒体上或经由计算机可读媒体传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体(其对应于例如数据存储媒体的有形媒体)或通信媒体,通信媒体包含(例如)根据通信协议促进计算机程序从一处传送到另一处的任何媒体。
以这种方式,计算机可读媒体大体可对应于(1)为非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波的通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本发明中所描述的技术的指令、代码及/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
借助于实例而非限制,这类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁性存储装置、闪速存储器或可用以存储呈指令或数据结构形式的所要程序码且可由计算机存取的任何其它媒体。而且,任何连接被适当地称为计算机可读媒体。举例来说,如果使用同轴缆线、光缆、双绞线、数字用户线(DSL)或无线技术(例如红外线、无线电及微波)从网站、服务器或其它远程源传输指令,那么同轴缆线、光缆、双绞线、DSL或无线技术(例如红外线、无线电及微波)包含于媒体的定义中。
然而,应理解,计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它暂时性媒体,而实际上有关于非暂时性有形存储媒体。如本文所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。以上各者的组合也应包含于计算机可读媒体的范围内。
可由例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路的一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指任何上述结构或适合于实施本文中所描述的技术的任何其它结构。另外,在一些方面中,可在经配置用于编码及解码的专用硬件及/或软件模块内提供本文中所描述的功能性,或将本文中所描述的功能性并入于组合式编解码器中。而且,所述技术可完全以一或多个电路或逻辑元件实施。
本发明的技术可以多种装置或设备实施,所述装置或设备包含无线手机、集成电路(IC)或IC集合(例如,芯片组)。在本发明中描述各种组件、模块或单元以强调经配置以执行所公开技术的装置的功能性方面,但未必需要通过不同硬件单元来实现。确切而言,如上文所描述,可将各种单元组合于编码解码器硬件单元中,或通过互操作性硬件单元(包含如上文所描述的一或多个处理器)的集合而结合合适软件及/或固件来提供所述单元。
已描述各种实例。这些及其它实例在以下权利要求书的范围内。

Claims (34)

1.一种编码视频数据的方法,所述方法包括:
针对视频数据的当前图片中的当前块确定将用于识别所述视频数据的所述当前图片中的预测子块的向量的分辨率;
基于所述所确定分辨率确定所述当前块的搜索区域,使得所述搜索区域在所述分辨率为分数像素的情况下的大小小于所述搜索区域在所述分辨率为整数像素的情况下的大小;
从所述搜索区域内选择所述当前块的预测子块;
确定识别所述当前块的所述所选预测子块的所述向量;及
在经译码视频位流中编码所述向量的表示。
2.根据权利要求1所述的方法,其中确定所述当前块的所述搜索区域包括:
确定初始搜索区域;及
在将用于所述向量的所述分辨率为整数像素的情况下,确定所述初始搜索区域为所述当前块的所述搜索区域;或
在将用于所述向量的所述分辨率为分数像素的情况下,确定所述搜索区域包括:
使所述初始搜索区域从所述初始搜索区域的右方及下方边界减小M个样本;及
使所述初始搜索区域从所述初始搜索区域的上方及左方边界减小N个样本。
3.根据权利要求2所述的方法,其中M为2且N为2。
4.根据权利要求2所述的方法,其中所述向量为具有分数像素分辨率的色度运动向量,且其中编码所述向量的所述表示包括编码可从其导出所述色度运动向量的明度运动向量。
5.根据权利要求1所述的方法,其中确定将用于所述向量的所述分辨率包括确定将用于识别所述当前块的色度预测子块的色度运动向量的分辨率,所述方法进一步包括:
在所述当前块的色度采样相对于明度采样的比率大于一的情况下确定分数像素分辨率将用于所述向量。
6.根据权利要求5所述的方法,其中在所述当前块的色度采样格式为4:2:2或4:2:0的情况下,所述当前块的色度采样相对于明度采样的所述比率大于一。
7.根据权利要求1所述的方法,其进一步包括:
在所述经译码视频位流中编码指示将用于所述向量的所述分辨率的语法元素。
8.根据权利要求1所述的方法,其进一步包括:
在所述向量具有分数像素分辨率的情况下,使用分数像素内插法且至少部分地基于来自所述预测子块外部的样本像素值来确定所述预测子块的像素值;及
基于所述预测子块的所述像素值重建所述当前块。
9.一种解码视频数据的方法,所述方法包括:
针对视频数据的当前图片中的当前块从经译码视频位流获得识别所述视频数据的所述当前图片中的预测子块的向量的表示;
确定所述向量具有分数像素分辨率还是整数像素分辨率;
基于所述向量从搜索区域内确定所述当前块的预测子块,所述搜索区域在所述分辨率为分数像素的情况下的大小小于所述搜索区域在所述分辨率为整数像素的情况下的大小;
响应于确定所述向量具有分数像素分辨率,使用分数像素内插法且至少部分地基于来自所述预测子块外部的样本像素值来确定所述预测子块的像素值;及
基于所述预测子块的所述像素值重建所述当前块。
10.根据权利要求9所述的方法,其中:
当所述向量具有整数像素分辨率时,所述当前块的所述搜索区域包括初始搜索区域,
当所述向量具有分数像素分辨率时,所述当前块的所述搜索区域包括通过使所述初始搜索区域从所述初始搜索区域的右方及下方边界减小M个样本,且使所述初始搜索区域从所述初始搜索区域的上方及左方边界减小N个样本而确定的缩小的搜索区域,及
至少部分地基于来自所述初始搜索区域外部但在所述缩小的搜索区域内的样本像素值来执行分数像素内插以确定所述预测子块的所述像素值。
11.根据权利要求10所述的方法,其中M为2且N为2。
12.根据权利要求10所述的方法,其中所述向量为色度运动向量,且其中获得所述运动向量的所述表示包括:
从所述经译码视频位流获得明度运动向量的表示;及
基于所述明度运动向量确定所述色度运动向量。
13.根据权利要求9所述的方法,其中所述向量为色度运动向量,所述方法进一步包括:
在所述当前块的色度采样相对于明度采样的比率大于一的情况下确定分数像素分辨率将用于所述色度运动向量。
14.根据权利要求13所述的方法,其中在当前块的色度采样格式为4:2:2或4:2:0的情况下,所述当前块的色度采样相对于明度采样的所述比率大于一。
15.根据权利要求9所述的方法,其进一步包括:
从所述经译码视频位流解码指示所述向量具有分数像素分辨率还是整数像素分辨率的语法元素。
16.一种用于编码视频数据的装置,所述装置包括:
存储器,其经配置以存储所述视频数据的一部分;及
一或多个处理器,其经配置以:
针对视频数据的当前图片中的当前块确定将用于识别视频数据的所述当前图片中的预测子块的向量的分辨率;
基于所述所确定分辨率确定所述当前块的搜索区域,使得所述搜索区域的大小在所述分辨率为分数像素的情况下比在所述分辨率为整数像素的情况下更小;
从所述搜索区域内选择所述当前块的预测子块;
确定识别所述当前块的所述所选预测子块的所述向量;及
在经译码视频位流中编码所述向量的表示。
17.根据权利要求16所述的装置,其中,为确定所述当前块的所述搜索区域,所述一或多个处理器经配置以:
确定包括所述当前图片的经重建区域的初始搜索区域;及
在将用于所述向量的所述分辨率为整数像素的情况下,确定所述初始搜索区域为所述当前块的所述搜索区域;或
在将用于所述向量的所述分辨率为分数像素的情况下,至少通过以下确定所述搜索区域:
使所述初始搜索区域从所述初始搜索区域的右方及下方边界减小M个样本;及
使所述初始搜索区域从所述初始搜索区域的上方及左方边界减小N个样本。
18.根据权利要求17所述的装置,其中M为2且N为2。
19.根据权利要求17所述的装置,其中所述向量为色度运动向量,且其中,为编码所述运动向量的所述表示,所述一或多个处理器经配置以编码可从其导出所述色度运动向量的明度运动向量。
20.根据权利要求16所述的装置,其中,为确定将用于所述向量的所述分辨率,所述一或多个处理器经配置以确定将用于识别所述当前块的色度预测子块的色度运动向量的分辨率,且其中所述一或多个处理器经进一步配置以:
在所述当前块的色度采样相对于明度采样的比率大于一的情况下确定分数像素分辨率将用于所述色度运动向量。
21.根据权利要求20所述的装置,其中在当前块的格式为4:2:2或4:2:0的情况下,所述当前块的色度采样相对于明度采样的所述比率大于一。
22.根据权利要求16所述的装置,其中所述一或多个处理器经进一步配置以:
在所述经译码视频位流中编码指示将用于所述向量的所述分辨率的语法元素。
23.根据权利要求16所述的装置,其中所述一或多个处理器经进一步配置以:
在所述向量具有分数像素分辨率的情况下,使用分数像素内插法且至少部分地基于来自所述预测子块外部的样本像素值来确定所述预测子块的像素值;及
基于所述预测子块的所述像素值重建所述当前块。
24.一种用于编码视频数据的设备,所述设备包括:
用于针对视频数据的当前图片中的当前块确定将用于识别视频数据的所述当前图片中的预测子块的向量的分辨率的装置;
用于基于所述所确定分辨率确定所述当前块的搜索区域的装置,使得所述搜索区域的大小在所述分辨率为分数像素的情况下比在所述分辨率为整数像素的情况下更小;
用于从所述搜索区域内选择所述当前块的预测子块的装置;
用于确定识别所述当前块的所述所选预测子块的所述向量的装置;及
用于在经译码视频位流中编码所述向量的表示的装置。
25.一种存储指令的计算机可读存储媒体,所述指令在经执行时使得视频编码装置的一或多个处理器进行以下操作:
针对视频数据的当前图片中的当前块确定将用于识别视频数据的所述当前图片中的预测子块的向量的分辨率;
基于所述所确定分辨率确定所述当前块的搜索区域,使得所述搜索区域的大小在所述分辨率为分数像素的情况下比在所述分辨率为整数像素的情况下更小;
从所述搜索区域内选择所述当前块的预测子块;
确定识别所述当前块的所述所选预测子块的所述向量;及
在经译码视频位流中编码所述向量的表示。
26.一种用于解码视频数据的装置,所述装置包括:
存储器,其经配置以存储所述视频数据的一部分;及
一或多个处理器,其经配置以:
针对视频数据的当前图片中的当前块从经译码视频位流获得识别所述视频数据的所述当前图片中的预测子块的向量的表示;
确定所述向量具有分数像素分辨率还是整数像素分辨率;
基于所述向量从搜索区域内确定所述当前块的预测子块,所述搜索区域的大小在所述分辨率为分数像素的情况下比在所述分辨率为整数像素的情况下更小;
响应于确定所述向量具有分数像素分辨率,使用分数像素内插法且至少部分地基于来自所述预测子块外部的样本像素值来确定所述预测子块的像素值;及
基于所述预测子块的所述像素值重建所述当前块。
27.根据权利要求26所述的装置,其中:
当所述向量具有整数像素分辨率时,所述当前块的所述搜索区域包括初始搜索区域,及
当所述向量具有分数像素分辨率时,所述当前块的所述搜索区域包括从所述初始搜索区域的右方及下方边界减小了M个样本且从所述初始搜索区域的上方及左方边界减小了N个样本的初始搜索区域。
28.根据权利要求27所述的装置,其中M为2且N为2。
29.根据权利要求27所述的装置,其中所述向量为色度运动向量,且其中,为获得所述色度运动向量的所述表示,所述一或多个处理器经配置以:
从所述经译码视频位流获得明度运动向量的表示;及
基于所述明度运动向量确定所述色度运动向量。
30.根据权利要求26所述的装置,其中所述向量为色度运动向量,且其中所述一或多个处理器经进一步配置以:
在所述当前块的色度采样相对于明度采样的比率大于一的情况下确定分数像素分辨率将用于所述色度运动向量。
31.根据权利要求30所述的装置,其中在当前块的格式为4:2:2或4:2:0的情况下,所述当前块的色度采样相对于明度采样的所述比率大于一。
32.根据权利要求26所述的装置,其中所述一或多个处理器经进一步配置以:
从所述经译码视频位流解码指示所述向量具有分数像素分辨率还是整数像素分辨率的语法元素。
33.一种用于解码视频数据的设备,所述设备包括:
用于针对视频数据的当前图片中的当前块从经译码视频位流获得识别视频数据的所述当前图片中的预测子块的向量的表示的装置;
用于确定所述向量具有分数像素分辨率还是整数像素分辨率的装置;
用于基于所述向量从搜索区域内确定所述当前块的预测子块的装置,所述搜索区域的大小在所述分辨率为分数像素的情况下比在所述分辨率为整数像素的情况下更小;
用于响应于确定所述向量具有分数像素分辨率,使用分数像素内插法且至少部分地基于来自所述预测子块外部的样本像素值来确定所述预测子块的像素值的装置;及
用于基于所述预测子块的所述像素值重建所述当前块的装置。
34.一种存储指令的计算机可读存储媒体,所述指令在经执行时使得视频解码装置的一或多个处理器进行以下操作:
针对视频数据的当前图片中的当前块从经译码视频位流获得识别视频数据的所述当前图片中的预测子块的向量的表示;
确定所述向量具有分数像素分辨率还是整数像素分辨率;
基于所述向量从搜索区域内确定所述当前块的预测子块,所述搜索区域的大小在所述分辨率为分数像素的情况下比在所述分辨率为整数像素的情况下更小;
响应于确定所述向量具有分数像素分辨率,使用分数像素内插法且至少部分地基于来自所述预测子块外部的样本像素值来确定所述预测子块的像素值;及
基于所述预测子块的所述像素值重建所述当前块。
CN201680026739.7A 2015-05-11 2016-05-11 用于视频数据中特定图片内的帧间译码的搜索区域确定 Active CN107592972B (zh)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201562159839P 2015-05-11 2015-05-11
US62/159,839 2015-05-11
US201562173248P 2015-06-09 2015-06-09
US62/173,248 2015-06-09
US201562175179P 2015-06-12 2015-06-12
US62/175,179 2015-06-12
US15/151,416 2016-05-10
US15/151,416 US10200713B2 (en) 2015-05-11 2016-05-10 Search region determination for inter coding within a particular picture of video data
PCT/US2016/031888 WO2016183216A1 (en) 2015-05-11 2016-05-11 Search region determination for inter coding within a particular picture of video data

Publications (2)

Publication Number Publication Date
CN107592972A true CN107592972A (zh) 2018-01-16
CN107592972B CN107592972B (zh) 2020-08-07

Family

ID=56072451

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680026739.7A Active CN107592972B (zh) 2015-05-11 2016-05-11 用于视频数据中特定图片内的帧间译码的搜索区域确定

Country Status (9)

Country Link
US (1) US10200713B2 (zh)
EP (1) EP3295672B1 (zh)
JP (1) JP6783799B2 (zh)
KR (1) KR102579519B1 (zh)
CN (1) CN107592972B (zh)
AU (1) AU2016261848A1 (zh)
BR (1) BR112017024275A2 (zh)
TW (1) TWI762443B (zh)
WO (1) WO2016183216A1 (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110113608A (zh) * 2019-04-30 2019-08-09 上海电力学院 一种基于率失真优化的gpu中视频编码快速搜索方法
CN110572676A (zh) * 2019-09-27 2019-12-13 腾讯科技(深圳)有限公司 视频编码方法和装置、视频解码方法和装置及存储介质
CN110650357A (zh) * 2019-09-27 2020-01-03 腾讯科技(深圳)有限公司 视频解码方法及装置
CN110662060A (zh) * 2019-09-27 2020-01-07 腾讯科技(深圳)有限公司 视频编码方法和装置、视频解码方法和装置及存储介质
CN110677676A (zh) * 2019-09-27 2020-01-10 腾讯科技(深圳)有限公司 视频编码方法和装置、视频解码方法和装置及存储介质
CN110809164A (zh) * 2018-08-04 2020-02-18 北京字节跳动网络技术有限公司 Bio中的mv精度
CN111343465A (zh) * 2018-12-18 2020-06-26 三星电子株式会社 电子电路和电子设备
WO2020140216A1 (zh) * 2019-01-02 2020-07-09 北京大学 视频处理方法和装置
CN112119636A (zh) * 2018-05-12 2020-12-22 高通股份有限公司 视频编码中高精度运动矢量的存储
CN112913245A (zh) * 2018-10-27 2021-06-04 高通股份有限公司 视频译码中的块内复制预测限制
US11109055B2 (en) 2018-08-04 2021-08-31 Beijing Bytedance Network Technology Co., Ltd. MVD precision for affine
CN113366844A (zh) * 2019-02-02 2021-09-07 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的缓冲区中的数据存储
CN113475081A (zh) * 2018-12-05 2021-10-01 高通股份有限公司 用于视频译码的三角形运动信息
US11778170B2 (en) 2018-10-06 2023-10-03 Beijing Bytedance Network Technology Co., Ltd Temporal gradient calculations in bio

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106331703B (zh) * 2015-07-03 2020-09-08 华为技术有限公司 视频编码和解码方法、视频编码和解码装置
US10477233B2 (en) * 2015-09-30 2019-11-12 Apple Inc. Predictor candidates for motion estimation search systems and methods
US10743023B2 (en) * 2015-12-04 2020-08-11 Sony Corporation Image processing apparatus and image processing method
US10368073B2 (en) * 2015-12-07 2019-07-30 Qualcomm Incorporated Multi-region search range for block prediction mode for display stream compression (DSC)
KR20180043151A (ko) 2016-10-19 2018-04-27 에스케이텔레콤 주식회사 영상 부호화 또는 복호화를 위한 장치 및 방법
CN110622511B (zh) * 2017-04-13 2022-04-15 Lg 电子株式会社 图像编码/解码方法及其设备
US11272207B2 (en) * 2017-06-12 2022-03-08 Futurewei Technologies, Inc. Selection and signaling of motion vector (MV) precisions
KR102302671B1 (ko) * 2017-07-07 2021-09-15 삼성전자주식회사 적응적 움직임 벡터 해상도로 결정된 움직임 벡터의 부호화 장치 및 부호화 방법, 및 움직임 벡터의 복호화 장치 및 복호화 방법
US10841794B2 (en) * 2017-09-18 2020-11-17 Futurewei Technologies, Inc. Adaptive motion vector resolution
CN109756739B (zh) * 2017-11-07 2022-09-02 华为技术有限公司 图像预测方法和装置
US10638137B2 (en) * 2018-03-07 2020-04-28 Tencent America LLC Method and apparatus for video coding
US11317114B2 (en) 2018-03-19 2022-04-26 Sony Corporation Image processing apparatus and image processing method to increase encoding efficiency of two-dimensional image
US11470359B2 (en) * 2018-03-30 2022-10-11 Sharp Kabushiki Kaisha Systems and methods for partitioning video blocks at a boundary of a picture for video coding
WO2019194501A1 (ko) * 2018-04-01 2019-10-10 엘지전자 주식회사 움직임 벡터 리파인먼트에 기반한 영상 코딩 방법 및 그 장치
US10448025B1 (en) * 2018-05-11 2019-10-15 Tencent America LLC Method and apparatus for video coding
CN112040243B (zh) 2018-06-04 2021-06-29 华为技术有限公司 获取运动矢量的方法和装置
CN110650337B (zh) 2018-06-26 2022-04-01 中兴通讯股份有限公司 一种图像编码方法、解码方法、编码器、解码器及存储介质
WO2020003283A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Conditions for updating luts
KR20210025537A (ko) 2018-06-29 2021-03-09 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 하나 또는 다수의 룩업 테이블들을 사용하여 이전에 코딩된 모션 정보를 순서대로 저장하고 이를 사용하여 후속 블록들을 코딩하는 개념
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
CN110662056B (zh) 2018-06-29 2022-06-07 北京字节跳动网络技术有限公司 哪个查找表需要更新或不更新
CN110662043B (zh) 2018-06-29 2021-12-21 北京字节跳动网络技术有限公司 一种用于处理视频数据的方法、装置和计算机可读介质
JP7328330B2 (ja) 2018-06-29 2023-08-16 北京字節跳動網絡技術有限公司 Lutにおける動き候補のチェック順序
AU2019293670B2 (en) 2018-06-29 2023-06-08 Beijing Bytedance Network Technology Co., Ltd. Update of look up table: FIFO, constrained FIFO
WO2020003270A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Number of motion candidates in a look up table to be checked according to mode
WO2020008348A1 (en) 2018-07-02 2020-01-09 Beijing Bytedance Network Technology Co., Ltd. Order of rounding and pruning in lamvr
US10516885B1 (en) * 2018-07-11 2019-12-24 Tencent America LLC Method and apparatus for video coding
GB2590310B (en) 2018-09-12 2023-03-22 Beijing Bytedance Network Tech Co Ltd Conditions for starting checking HMVP candidates depend on total number minus K
WO2020084475A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Utilization of refined motion vector
WO2020098647A1 (en) 2018-11-12 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Bandwidth control methods for affine prediction
KR20210091161A (ko) 2018-11-20 2021-07-21 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 부분적 위치에 기반한 차분 계산
US11438583B2 (en) * 2018-11-27 2022-09-06 Tencent America LLC Reference sample filter selection in intra prediction
KR20230129586A (ko) * 2018-11-30 2023-09-08 텐센트 아메리카 엘엘씨 비디오 코딩을 위한 방법 및 장치
MX2021007465A (es) * 2018-12-21 2021-08-05 Beijing Dajia Internet Information Tech Co Ltd Metodos y aparatos de codificacion de video para derivar vectores de movimiento afines para componentes croma.
WO2020146505A1 (en) * 2019-01-08 2020-07-16 Tencent America LLC Method and apparatus for memory bandwidth reduction for small inter blocks
KR102648159B1 (ko) 2019-01-10 2024-03-18 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut 업데이트의 호출
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
CN113330739A (zh) 2019-01-16 2021-08-31 北京字节跳动网络技术有限公司 Lut中的运动候选的插入顺序
JP7384910B2 (ja) * 2019-02-02 2023-11-21 北京字節跳動網絡技術有限公司 映像符号化におけるイントラブロックコピーのためのバッファ管理
CN113366846A (zh) 2019-02-02 2021-09-07 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的缓冲区更新
EP3915265A4 (en) 2019-03-01 2022-06-22 Beijing Bytedance Network Technology Co., Ltd. DIRECTION-BASED PREDICTION FOR INTRA BLOCK COPY IN VIDEO CODING
CN113545068B (zh) * 2019-03-01 2023-09-15 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的基于顺序的更新
CN113508581B (zh) 2019-03-04 2023-11-14 北京字节跳动网络技术有限公司 视频编解码中的帧内块复制中的实施方式方面
CN117560509A (zh) * 2019-03-04 2024-02-13 北京字节跳动网络技术有限公司 视频处理中滤波信息的两级信令
WO2020177755A1 (en) 2019-03-06 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Usage of converted uni-prediction candidate
KR20210131347A (ko) * 2019-03-06 2021-11-02 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 크기에 따른 인터 코딩
CN113812147B (zh) * 2019-03-14 2024-04-09 Sk电信有限公司 使用块内复制的图像编码和解码
WO2020192611A1 (en) 2019-03-22 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
US11363279B2 (en) * 2019-04-15 2022-06-14 Tencent America LLC Method and apparatus in video coding with flexible coding order
WO2020222484A1 (ko) * 2019-04-27 2020-11-05 주식회사 윌러스표준기술연구소 인트라 예측 기반 비디오 신호 처리 방법 및 장치
WO2020238838A1 (en) 2019-05-25 2020-12-03 Beijing Bytedance Network Technology Co., Ltd. Constraints on merge candidates in intra-block copy coded blocks
CN115442594A (zh) * 2019-06-20 2022-12-06 Jvc建伍株式会社 动图像编码装置和方法、以及动图像解码装置和方法
CN114073091A (zh) * 2019-06-21 2022-02-18 三星电子株式会社 视频编码方法和装置以及视频解码方法和装置
CN114175645B (zh) 2019-07-06 2024-04-12 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的虚拟预测缓冲
AU2020312053B2 (en) * 2019-07-10 2023-09-14 Beijing Bytedance Network Technology Co., Ltd. Sample identification for intra block copy in video coding
JP2022539887A (ja) 2019-07-11 2022-09-13 北京字節跳動網絡技術有限公司 映像符号化におけるイントラブロックコピーのためのビットストリーム適合性の制約
WO2021027773A1 (en) * 2019-08-10 2021-02-18 Beijing Bytedance Network Technology Co., Ltd. Subpicture size definition in video processing
CN114424560A (zh) * 2019-09-20 2022-04-29 北京字节跳动网络技术有限公司 用于屏幕内容的自适应分辨率变化和可缩放编解码
US20220360781A1 (en) * 2019-09-23 2022-11-10 Interdigital Vc Holdings France, Sas Video encoding and decoding using block area based quantization matrices
CN110572672B (zh) * 2019-09-27 2024-03-15 腾讯科技(深圳)有限公司 视频编解码方法和装置、存储介质及电子装置
WO2021057996A1 (en) * 2019-09-28 2021-04-01 Beijing Bytedance Network Technology Co., Ltd. Geometric partitioning mode in video coding
EP4032290A4 (en) 2019-10-18 2022-11-30 Beijing Bytedance Network Technology Co., Ltd. SYNTAX CONSTRAINTS IN REPORTING SUBPICTURE PARAMETER SETS
EP4054192A4 (en) * 2019-10-31 2023-12-20 Samsung Electronics Co., Ltd. VIDEO DECODING METHOD AND APPARATUS, AND VIDEO CODING METHOD AND APPARATUS FOR PERFORMING INTER PREDICTION ACCORDING TO AN AFFINE MODEL
JP7444997B2 (ja) * 2020-01-01 2024-03-06 バイトダンス インコーポレイテッド ビデオコーディングのためのクロスコンポーネント適応ループフィルタリング
US20230103405A1 (en) * 2021-10-04 2023-04-06 Tencent America LLC Method and apparatus for intra block copy prediction with sample padding
CN116095311A (zh) * 2022-07-26 2023-05-09 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1671209A (zh) * 2004-03-17 2005-09-21 松下电器产业株式会社 运动图像编码装置
CN101990758A (zh) * 2008-04-10 2011-03-23 高通股份有限公司 基于固定滤波器或自适应滤波器的用于视频译码的由速率失真定义的内插
CN102017629A (zh) * 2008-04-10 2011-04-13 高通股份有限公司 用于视频译码中的子像素分辨率的内插滤波器支持
US8279936B1 (en) * 2007-12-11 2012-10-02 Marvell International Ltd. Method and apparatus for fractional pixel expansion and motion vector selection in a video codec
JP2013524678A (ja) * 2010-04-05 2013-06-17 サムスン エレクトロニクス カンパニー リミテッド 変換及び逆変換に基づいた補間方法及び装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7116831B2 (en) * 2002-04-10 2006-10-03 Microsoft Corporation Chrominance motion vector rounding
US7120196B2 (en) 2002-04-29 2006-10-10 Ess Technology, Inc. Intra-prediction using intra-macroblock motion compensation
KR100896290B1 (ko) 2006-11-17 2009-05-07 엘지전자 주식회사 비디오 신호의 디코딩/인코딩 방법 및 장치
US8509316B2 (en) * 2007-01-09 2013-08-13 Core Wireless Licensing, S.a.r.l. Adaptive interpolation filters for video coding
CN102668566B (zh) 2009-10-22 2016-05-04 汤姆森特许公司 将dc帧内预测模式用于视频编码和解码的方法和装置
US9232230B2 (en) * 2012-03-21 2016-01-05 Vixs Systems, Inc. Method and device to identify motion vector candidates using a scaled motion search
US9485515B2 (en) 2013-08-23 2016-11-01 Google Inc. Video coding using reference motion vectors
US10015515B2 (en) * 2013-06-21 2018-07-03 Qualcomm Incorporated Intra prediction from a predictive block
US10313682B2 (en) 2013-08-26 2019-06-04 Qualcomm Incorporated Determining regions when performing intra block copying
US20150071357A1 (en) 2013-09-12 2015-03-12 Qualcomm Incorporated Partial intra block copying for video coding
JP2015082839A (ja) * 2013-10-22 2015-04-27 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 動き補償方法、画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
US9749642B2 (en) 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
US10531116B2 (en) 2014-01-09 2020-01-07 Qualcomm Incorporated Adaptive motion vector resolution signaling for video coding
KR102068828B1 (ko) 2014-09-30 2020-01-22 에이치에프아이 이노베이션 인크. 비디오 코딩을 위한 적응적 모션 벡터 레졸루션 방법
US10212445B2 (en) * 2014-10-09 2019-02-19 Qualcomm Incorporated Intra block copy prediction restrictions for parallel processing
SG11201706978TA (en) 2015-03-02 2017-09-28 Hfi Innovation Inc Method and apparatus for intrabc mode with fractional-pel block vector resolution in video coding
US20160337662A1 (en) 2015-05-11 2016-11-17 Qualcomm Incorporated Storage and signaling resolutions of motion vectors

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1671209A (zh) * 2004-03-17 2005-09-21 松下电器产业株式会社 运动图像编码装置
US8279936B1 (en) * 2007-12-11 2012-10-02 Marvell International Ltd. Method and apparatus for fractional pixel expansion and motion vector selection in a video codec
CN101990758A (zh) * 2008-04-10 2011-03-23 高通股份有限公司 基于固定滤波器或自适应滤波器的用于视频译码的由速率失真定义的内插
CN102017629A (zh) * 2008-04-10 2011-04-13 高通股份有限公司 用于视频译码中的子像素分辨率的内插滤波器支持
JP2013524678A (ja) * 2010-04-05 2013-06-17 サムスン エレクトロニクス カンパニー リミテッド 変換及び逆変換に基づいた補間方法及び装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
K.MCCANN: "High Efficiency Video Coding(HEVC) Test Model 16 (HM 16)Encoder Description", 《JCT-VC OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11》 *

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112119636A (zh) * 2018-05-12 2020-12-22 高通股份有限公司 视频编码中高精度运动矢量的存储
US11470341B2 (en) 2018-08-04 2022-10-11 Beijing Bytedance Network Technology Co., Ltd. Interaction between different DMVD models
US11451819B2 (en) 2018-08-04 2022-09-20 Beijing Bytedance Network Technology Co., Ltd. Clipping of updated MV or derived MV
CN110809164B (zh) * 2018-08-04 2022-06-28 北京字节跳动网络技术有限公司 Bio中的mv精度
CN110809164A (zh) * 2018-08-04 2020-02-18 北京字节跳动网络技术有限公司 Bio中的mv精度
US11330288B2 (en) 2018-08-04 2022-05-10 Beijing Bytedance Network Technology Co., Ltd. Constraints for usage of updated motion information
US11109055B2 (en) 2018-08-04 2021-08-31 Beijing Bytedance Network Technology Co., Ltd. MVD precision for affine
US11778170B2 (en) 2018-10-06 2023-10-03 Beijing Bytedance Network Technology Co., Ltd Temporal gradient calculations in bio
CN112913245A (zh) * 2018-10-27 2021-06-04 高通股份有限公司 视频译码中的块内复制预测限制
CN113475081A (zh) * 2018-12-05 2021-10-01 高通股份有限公司 用于视频译码的三角形运动信息
CN113475081B (zh) * 2018-12-05 2024-04-19 高通股份有限公司 用于视频译码的三角形运动信息
CN111343465A (zh) * 2018-12-18 2020-06-26 三星电子株式会社 电子电路和电子设备
WO2020140216A1 (zh) * 2019-01-02 2020-07-09 北京大学 视频处理方法和装置
CN113366844A (zh) * 2019-02-02 2021-09-07 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的缓冲区中的数据存储
CN110113608A (zh) * 2019-04-30 2019-08-09 上海电力学院 一种基于率失真优化的gpu中视频编码快速搜索方法
CN110113608B (zh) * 2019-04-30 2022-12-16 上海电力学院 一种基于率失真优化的gpu中视频编码快速搜索方法
CN110650357A (zh) * 2019-09-27 2020-01-03 腾讯科技(深圳)有限公司 视频解码方法及装置
CN110662060A (zh) * 2019-09-27 2020-01-07 腾讯科技(深圳)有限公司 视频编码方法和装置、视频解码方法和装置及存储介质
CN110572676A (zh) * 2019-09-27 2019-12-13 腾讯科技(深圳)有限公司 视频编码方法和装置、视频解码方法和装置及存储介质
CN110572676B (zh) * 2019-09-27 2023-12-12 腾讯科技(深圳)有限公司 视频编码方法和装置、视频解码方法和装置及存储介质
CN110677676B (zh) * 2019-09-27 2024-02-09 腾讯科技(深圳)有限公司 视频编码方法和装置、视频解码方法和装置及存储介质
CN110662060B (zh) * 2019-09-27 2024-02-09 腾讯科技(深圳)有限公司 视频编码方法和装置、视频解码方法和装置及存储介质
CN110677676A (zh) * 2019-09-27 2020-01-10 腾讯科技(深圳)有限公司 视频编码方法和装置、视频解码方法和装置及存储介质
US11968379B2 (en) 2019-09-27 2024-04-23 Tencent Technology (Shenzhen) Company Limited Video decoding method and apparatus, video encoding method and apparatus, storage medium, and electronic device

Also Published As

Publication number Publication date
KR20180004147A (ko) 2018-01-10
CN107592972B (zh) 2020-08-07
JP6783799B2 (ja) 2020-11-11
EP3295672A1 (en) 2018-03-21
EP3295672B1 (en) 2023-10-11
AU2016261848A1 (en) 2017-11-02
BR112017024275A2 (pt) 2018-07-24
US20160337661A1 (en) 2016-11-17
KR102579519B1 (ko) 2023-09-15
JP2018521539A (ja) 2018-08-02
US10200713B2 (en) 2019-02-05
TWI762443B (zh) 2022-05-01
WO2016183216A1 (en) 2016-11-17
EP3295672C0 (en) 2023-10-11
TW201707448A (zh) 2017-02-16

Similar Documents

Publication Publication Date Title
CN107592972A (zh) 用于视频数据中特定图片内的帧间译码的搜索区域确定
CN105874797B (zh) 视频数据的编解码方法、装置、设备和存储媒体
CN106576171B (zh) 一种对视频数据进行编码、解码的方法以及装置
CN105474645B (zh) 对视频数据进行解码的方法、对视频数据进行编码的方法、视频解码装置及视频编码装置
CN107211124B (zh) 用于译码视频数据的方法、装置和计算机可读存储媒体
CN105723707B (zh) 用于视频译码的色彩残差预测
CN106797466B (zh) 一种处理视频数据的方法及装置
CN103891293B (zh) 用于色度分量的自适应环路滤波的方法及设备
CN106797477B (zh) 用于解码及编码视频数据的方法和设备
CN105580365B (zh) 处理视频数据的方法、装置及存储媒体
CN104205829B (zh) 合并信令及环路滤波器开/关信令
CN105284113B (zh) 分量间滤波
CN103947207B (zh) 用于图片分割方案的统一设计
CN105393536B (zh) 使用位移向量从预测性块的帧内预测
CN105027571B (zh) 三维视频译码中导出的视差向量
CN104137542B (zh) 在视频译码过程中对与残余视频数据相关联的变换系数进行译码的方法、设备以及计算机可读介质
CN110100439A (zh) 用于视频译码的帧内预测技术
CN107660341A (zh) 切片级帧内块复制及其它视频译码改进
CN108141605A (zh) 帧内块复制合并模式及不可用帧内块复制参考区域的填充
CN109716774A (zh) 用于视频译码的可变数目的帧内模式
CN105659603B (zh) 编码及解码视频数据的方法、装置及计算机可读存储媒体
CN106105204A (zh) 在颜色空间变换译码中修改位深度
CN107211144A (zh) 用于预测残差的增强型多重变换
CN107211125A (zh) 预测单元的灵活分割
CN106664425A (zh) 视频译码中的跨分量预测

Legal Events

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