CN110771163A - 视频译码中的帧间预测与帧内预测的组合 - Google Patents

视频译码中的帧间预测与帧内预测的组合 Download PDF

Info

Publication number
CN110771163A
CN110771163A CN201880040751.2A CN201880040751A CN110771163A CN 110771163 A CN110771163 A CN 110771163A CN 201880040751 A CN201880040751 A CN 201880040751A CN 110771163 A CN110771163 A CN 110771163A
Authority
CN
China
Prior art keywords
inter
prediction
intra
candidate
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
CN201880040751.2A
Other languages
English (en)
Other versions
CN110771163B (zh
Inventor
张凯
陈建乐
张莉
李翔
M·卡切维奇
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
Priority to CN202311088411.6A priority Critical patent/CN117241019A/zh
Priority to CN202311085315.6A priority patent/CN117319646A/zh
Publication of CN110771163A publication Critical patent/CN110771163A/zh
Application granted granted Critical
Publication of CN110771163B publication Critical patent/CN110771163B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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
    • 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/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/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

Landscapes

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

Abstract

本发明描述了用于使用帧间帧内预测块的技术。视频译码器可根据帧内预测模式生成第一预测块,且根据帧间预测模式生成第二预测块。所述视频译码器可例如基于帧内预测模式而将所述两个预测块加权组合以生成帧间帧内预测块(例如,最终预测块)。在一些实例中,在候选运动矢量预测值列表中识别帧间帧内候选者,且基于所述候选运动矢量预测值列表中的所述帧间帧内候选者的识别,使用帧间帧内预测块。

Description

视频译码中的帧间预测与帧内预测的组合
本申请案主张在2017年6月23日提出申请的美国临时专利申请案62/524,231的权益,所述美国临时申请案的全部内容以引用的方式并入本文中。
技术领域
本发明涉及视频编码及视频解码。
背景技术
数字视频能力可并入到广泛范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子书阅读器、数字摄像机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、所谓“智能电话”、视频电话会议装置、视频流式处理装置等等。数字视频装置实施视频译码技术,例如由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分、高级视频译码(AVC)、高效率视频译码(HEVC)标准、ITU-T H.265/高效率视频译码(HEVC)及此类标准的扩展定义的标准中所描述的那些技术。视频装置可通过实施此类视频译码技术而更高效地发射、接收、编码、解码及/或存储数字视频信息。
视频译码技术包含空间(图片内)预测及/或时间(图片间)预测以减少或移除视频序列中固有的冗余。对于基于块的视频译码,视频图块(例如,视频图片或视频图片的部分)可被分割为视频块,其也可被称作为译码树单元(CTU)、译码单元(CU)及/或译码节点。图片的帧内译码(I)图块中的视频块是使用关于同一图片中的相邻块中的参考样本的空间预测来编码。图片的帧间译码(P或B)图块中的视频块可使用关于同一图片中的相邻块中的参考样本的空间预测或关于其它参考图片中的参考样本的时间预测。图片可被称为帧,且参考图片可被称为参考帧。
发明内容
本发明涉及视频信号的译码的领域。举例来说,一些方面涉及视频译码中的基于块的预测。在一些实例中,视频译码器可经配置以执行帧间帧内预测(例如,其中组合帧间预测及帧内预测的预测)。在帧间帧内预测中,视频译码器基于帧内预测技术生成第一预测块,且基于帧间预测技术生成第二预测块。视频译码器基于第一预测块及第二预测块的加权组合生成最终预测块。在本发明中所描述的一或多个实例涉及用于如何确定应用于生成最终预测块的加权的技术。
另外,本发明中所描述的一或多个实例涉及用于构造包含最终预测块(也被称为帧间帧内候选者)的合并候选者列表的技术。在用于构造合并候选者列表的实例中,可以用第一预测块及第二预测块的加权组合来生成最终预测块,但实例技术不需要使用第一预测块及第二预测块的加权组合来构造合并候选者列表。
在一个实例中,本发明描述了一种解码方法,所述方法包括确定图片的当前块的帧内预测模式,基于所述所确定帧内预测模式确定第一权重及第二权重,根据所述帧内预测模式生成所述图片的所述当前块的第一预测块,根据帧间预测模式生成所述图片的所述当前块的第二预测块,将所述第一权重应用于所述第一预测块以生成第一加权块,将所述第二权重应用于所述第二预测块以生成第二加权块,基于所述第一加权块及所述第二加权块为图片生成所述图片的所述当前块的最终预测块,及基于所述最终预测块及所述最终预测块与所述图片的所述当前块之间的残差,重构所述图片的所述当前块。
在一个实例中,本发明描述了一种编码方法,所述方法包括确定图片的当前块的帧内预测模式,基于所述所确定帧内预测模式确定第一权重及第二权重,根据所述帧内预测模式生成所述图片的所述当前块的第一预测块,根据帧间预测模式生成所述图片的所述当前块的第二预测块,将所述第一权重应用于所述第一预测块以生成第一加权块,将所述第二权重应用于所述第二预测块以生成第二加权块,基于所述第一加权块及所述第二加权块为图片生成所述图片的所述当前块的最终预测块,基于所述最终预测块及所述图片的所述当前块生成残差,及发信号通知指示所述残差的信息。
在一个实例中,本发明描述一种用于译码的装置,所述装置包括:存储器,其经配置以存储与图片的当前块相邻的样本值及所述图片的所述当前块的参考图片;及视频译码器,其包括处理电路。视频译码器经配置以确定所述图片的所述当前块的帧内预测模式,基于所述所确定帧内预测模式确定第一权重及第二权重,基于存储在存储器中的所述样本值根据所述帧内预测模式生成所述图片的所述当前块的第一预测块,基于存储在所述存储器中的所述参考图片中的一参考图片根据帧间预测模式生成所述图片的所述当前块第二预测块,将所述第一权重应用于所述第一预测块以生成第一加权块,将所述第二权重应用于所述第二预测块以生成第二加权块,基于所述第一加权块及所述第二加权块生成所述图片的所述当前块的最终预测块,及以下操作中的一个:基于所述最终预测块及所述最终预测块与所述图片的所述当前块之间的残差重构所述图片的所述当前块,或生成所述残差以及发信号通知指示所述残差的信息。
在一个实例中,本发明描述了一种在其上存储指令的计算机可读存储媒体,所述指令在被执行时致使一或多个处理器确定图片的当前块的帧内预测模式,基于所述所确定帧内预测模式确定第一权重及第二权重,根据所述帧内预测模式生成所述图片的所述当前块的第一预测块,根据帧间预测模式生成所述图片的所述当前块的第二预测块,将所述第一权重应用于所述第一预测块以生成第一加权块,将所述第二权重应用于所述第二预测块以生成第二加权块,基于所述第一加权块及所述第二加权块为图片生成所述图片的所述当前块的最终预测块,及以下操作中的至少一个:基于所述最终预测块及所述最终预测块与所述图片的所述当前块之间的残差,重构所述图片的所述当前块,或生成所述残差以及发信号通知致使所述残差的信息。
在一个实例中,本发明描述了一种解码方法,所述方法包括构造当前块的候选运动矢量预测值列表,其中构造所述候选运动矢量预测值列表包括在所述候选运动预测值列表中包含帧间预测候选者,其中所述帧间预测候选者包括所述当前块的相邻或并置块的运动信息,及在所述候选运动矢量预测值列表中包含帧间帧内候选者,其中所述帧间帧内候选者包括用以根据帧内预测模式生成第一预测块的信息及用以根据帧间预测模式生成第二预测块的信息。所述方法还包含确定将使用所述帧间帧内候选者,基于所述第一预测块及所述第二预测块生成帧间帧内预测块,及基于所述帧间帧内预测块重构所述当前块。
在一个实例中,本发明描述了一种编码方法,所述方法包括构造当前块的候选运动矢量预测值列表,其中构造所述候选运动矢量预测值列表包括在所述候选运动预测值列表中包含帧间预测候选者,其中所述帧间预测候选者包括所述当前块的相邻或并置块的运动信息,及在所述候选运动矢量预测值列表中包含帧间帧内候选者,其中所述帧间帧内候选者包括用以根据帧内预测模式生成第一预测块的信息及用以根据帧间预测模式生成第二预测块的信息。所述方法还包含确定将使用所述帧间帧内候选者;以及基于所述确定,将索引值发信号通知到所述候选运动矢量预测值列表中,所述索引值基于所述确定识别所述候选运动矢量预测值列表中的所述帧间帧内候选者。
在一个实例中,本发明描述一种用于译码的装置,所述装置包括存储器,以及包括处理电路的视频译码器。所述视频译码器经配置以针对当前块构造候选运动实例预测值列表以存储在所述存储器中,其中为了构造所述候选运动矢量预测值列表,所述视频译码器经配置以在所述候选运动预测值列表中包含帧间预测候选者,其中所述帧间预测候选者包括所述当前块的相邻或并置块的运动信息,及在所述候选运动矢量预测值列表中包含帧间帧内候选者,其中所述帧间帧内候选者包括用以根据帧内预测模式生成第一预测块的信息及用以根据帧间预测模式生成第二预测块的信息。所述视频译码器进一步经配置以确定将使用所述帧间帧内候选者,基于所述第一预测块及所述第二预测块生成帧间帧内预测块,及以下操作中的至少一个:基于所述帧间帧内预测块重构所述当前块,或将所述当前块与所述帧间帧内预测块之间的残差及索引值发信号通知到所述候选运动矢量预测值列表中,所述索引值基于将使用所述帧间帧内候选者的所述确定识别所述候选运动矢量列表中的所述帧间帧内候选者。
在一个实例中,本发明描述在其上存储指令的计算机可读存储媒体,所述指令在被执行时致使一或多个处理器针对当前块构造候选运动实例预测值列表以存储在所述存储器中,其中为了构造所述候选运动矢量预测值列表,所述指令致使所述一或多个处理器在所述候选运动预测值列表中包含帧间预测候选者,其中所述帧间预测候选者包括所述当前块的相邻或并置块的运动信息,及在所述候选运动矢量预测值列表中包含帧间帧内候选者,其中所述帧间帧内候选者包括用以根据帧内预测模式生成第一预测块的信息及用以根据帧间预测模式生成第二预测块的信息。所述指令还致使所述一或多个处理器确定将使用所述帧间帧内候选者,基于所述第一预测块及所述第二预测块生成帧间帧内预测块,及以下操作中的至少一个:基于所述帧间帧内预测块重构所述当前块,或将所述当前块与所述帧间帧内预测块之间的残差及索引值发信号通知到所述候选运动矢量预测值列表中,所述索引值基于将使用所述帧间帧内候选者的所述确定识别所述候选运动矢量列表中的所述帧间帧内候选者。
下文的随附图式及描述中阐明一或多个实例的细节。根据所述描述、图式以及权利要求书将明了其它特征、目的及优点。
附图说明
图1为说明可执行本发明的技术的实例性视频编码及解码系统的框图。
图2A及2B为说明实例性四叉树二叉树(QTBT)结构及对应译码树单元(CTU)的概念图。
图3A为说明帧内预测图块的块的实例的概念图。
图3B为说明帧间预测图块的块的实例的概念图。
图4为说明帧内预测模式的实例的概念图。
图5为说明用于帧间预测的参考帧的实例的概念图。
图6为说明用于译码帧内预测模式的当前块的相邻块的实例的概念图。
图7A及7B为分别图示用于合并及高级运动矢量预测(AMVP)模式的空间相邻运动矢量候选的实例的概念图。
图8A及8B为分别说明时间运动矢量预测值(TMVP)候选者及针对TMVP的运动矢量缩放的实例的概念图。
图9为说明其空间信息用于构造合并候选者列表的相邻块的实例的概念图。
图10为说明构造合并候选者列表的实例方式的流程图。
图11为说明可执行本发明的技术的实例性视频编码器的框图。
图12为说明可执行本发明的技术的实例性视频解码器的框图。
图13为说明构造包含帧间帧内候选者的合并候选者列表的实例方式的流程图。
图14为说明构造包含帧间帧内候选者的合并候选者列表的另一实例方式的流程图。
图15为说明解码视频数据的实例方法的流程图。
图16为说明编码视频数据的实例方法的流程图。
图17为说明解码视频数据的实例方法的流程图。
图18为说明编码视频数据的实例方法的流程图。
具体实施方式
视频译码技术包含用于编码或解码当前块的帧间预测模式及帧内预测模式。在帧间预测模式下,视频编码器(例如,视频编码器或视频解码器)在由运动信息(例如,指向预测块的运动矢量及对所述参考图片的参考图片列表的索引)识别的参考图片中生成预测块。视频编码器确定预测块与当前块之间的残差块,且发信号通知指示残差块的信息。视频解码器接收残差块的信息,且通过将残差块添加到预测块来重构当前块。
在帧内预测模式下,视频译码器基于相邻样本值生成预测块。类似于帧间预测,视频编码器确定预测块与当前块之间的残差块,且发信号通知指示残差块的信息。视频解码器接收残差块的信息,且通过将残差块添加到预测块来重构当前块。
本发明描述帧间帧内预测块的实例。帧间帧内预测块基于从帧间预测模式生成的预测块及从帧内预测模式生成的预测块的加权组合。举例来说,视频译码器根据帧内预测模式生成块的第一预测块,且根据帧间预测模式生成块的第二预测块。视频译码器将权重应用于第一预测块及第二预测块以生成相应的第一加权预测块及第二加权预测块。视频译码器将第一加权预测块及第二加权预测块加总在一起,即,将第一加权预测块及第二加权预测块求和,以生成最终预测块,也被称为帧间帧内预测块。视频编码器确定最终预测块及当前块之间的残差,而视频解码器将残差添加到最终预测块以重构当前块。
本发明描述了实例方式,以所述实例方式确定应用于根据帧内预测模式及帧间预测模式生成的预测块的权重。作为一个实例,可以存在多个帧内预测模式(例如,基于用于构造帧内预测块的样本的角度,可以使用67个不同的帧内预测模式)。视频译码器从多个帧内预测模式确定帧内预测模式。视频译码器可基于所确定帧内预测模式确定权重。举例来说,视频译码器可基于所确定帧内预测模式确定第一权重(w1),且基于所确定帧内预测模式确定第二权重(w2)。视频译码器可将第一预测块乘以w1以生成第一加权预测块,且将第二预测块乘以w2以生成第二加权预测块。
此外,为了确定是否使用帧间预测块,视频译码器构造候选参考块的列表。在一些实例中,视频译码器可在候选参考块的列表中包含帧间帧内候选者。帧间帧内候选者包含用以根据帧内预测模式生成第一预测块及根据帧间预测模式生成第二预测块的信息。如果视频解码器接收到对识别帧间帧内候选者的候选参考块列表的索引,那么所述视频解码器使用本发明中所描述的一或多种实例技术来生成帧间帧内预测块。举例来说,视频解码器可如上文所描述使用第一加权及第二加权来生成帧间帧内预测块,或使用不需要加权或以不同于以上实例的方式使用加权的其它技术。
视频解码器使用帧间帧内预测块来重构当前块。本发明描述了用于将帧间帧内预测块包含在候选参考块列表中的实例技术。
图1为说明可执行本发明的技术的实例性视频编码及解码系统100的框图。本发明的技术一般涉及译码(编码及/或解码)视频数据。通常,视频数据包含用于处理视频的任何数据。因此,视频数据可包含原始未译码视频、经编码视频、经解码(例如,重构)视频及视频元数据,例如信令数据。
在此实例中,如图1中所展示,系统100包含源装置102,所述源装置提供欲由目的地装置116进行解码并显示的经编码视频数据。特定来说,源装置102经由计算机可读媒体110将视频数据提供到目的地装置116。源装置102及目的地装置116可包括广泛范围的装置中的任一者,包含桌上型计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、电话手机(例如,智能电话)、电视机、摄像机、显示装置、数字媒体播放器、视频游戏主机、视频流式传输装置,等等。在一些状况下,源装置102及目的地装置116可配备用于无线通信,且因此可被称作为无线通信装置。
在图1的实例中,源装置102包含视频源104、存储器106、视频编码器200及输出接口108。目的地装置116包含输入接口122、视频解码器300、存储器120及显示装置118。根据本发明,源装置102的视频编码器200及目的地装置116的视频解码器300可经配置以应用用于应用帧间帧内预测的技术。举例来说,视频编码器200及视频解码器300可各自基于帧间参考块(例如,从帧间预测模式生成的预测块)及帧内参考块(例如,从帧内预测模式生成的预测块)生成帧间帧内预测块。此帧间帧间预测块是视频编码器200借以减去当前块以确定被发信号通知到视频解码器300的残差数据的参考块,且是视频解码器300将残差数据添加到其以重构当前的参考块。
在一或多个实例中,视频编码器200及视频解码器300基于两个预测块的加权组合生成帧间帧内预测块:从帧间预测模式生成的第一预测块及从帧内预测模式生成的第二预测块。在一些实例中,对于加权组合,应用于第一预测块及第二预测块的权重可以基于帧内预测模式。在一些实例中,即使第一预测块是从帧间预测模式生成的,帧内预测模式也可以确定应用于第一预测块的权重。然而,在一些实例中,应用于从帧间预测模式生成的预测块的权重不必基于帧内预测模式。
此外,在一些实例中,视频编码器200及视频解码器300可构造实例候选运动矢量预测列表,所述候选运动实例预测识别帧间帧内预测块是否用于预测目的。本发明描述了一或多种实例技术,所述技术关于视频编码器200及视频解码器300如何在实例候选运动矢量预测值列表中的一或多个中包含帧间帧内候选者,且当选择帧间帧内候选者时,视频编码器200及视频解码器300可以生成帧间帧内预测块作为当前块的预测块。
源装置102表示视频编码装置的实例,而目的地装置116表示视频解码装置的实例。在其它实例中,源装置及目的地装置可包含其它组件或布置。举例来说,源装置102可从外部视频源(例如,外部摄像机)接收视频数据。同样地,目的地装置116可与外部显示装置介接,而非包含集成式显示装置。
如图1中所展示的系统100仅为一个实例。通常,任何数字视频编码及/或解码装置可以执行用于动态范围调整的技术。源装置102及目的地装置116仅为其中源装置102生成经译码视频数据以供发射到目的地装置116的此些译码装置的实例。本发明将“译码”装置称作为执行数据的译码(编码及/或解码)的装置。因此,视频编码器200及视频解码器300分别表示译码装置(特定来说,视频编码器及视频解码器)的实例。在一些实例中,装置102、116可以基本对称的方式操作,使得装置102、116中的每一者包含视频编码及解码组件。因此,系统100可支持视频装置102、116之间的单向或双向视频传输,例如,用于视频流式处理、视频播放、视频广播或视频电话。
通常,视频源104表示视频数据源(即,原始未经译码视频数据),且向视频编码器200提供视频数据的连续系列图片(也被称作为“帧”),视频编码器200编码关于图片的数据。源装置102的视频源104可包含视频捕获装置,例如视频摄像机、含有先前所捕获视频的视频存档,及/或用以从视频内容提供者接收视频的视频馈送接口。作为又一替代方案,视频源104可生成基于计算机图形数据作为源视频,或直播视频、经存档视频及计算机-生成视频的组合。在每一状况下,视频编码器200编码所捕获的,预捕获的或计算机生成的视频数据。视频编码器200可将图片从所接收的次序(有时被称作为“显示次序”)重新布置成用于译码的译码次序。视频编码器200可生成包含经编码视频数据的位流。然后,源装置102可经由输出接口108将经编码视频数据输出到计算机可读媒体110上以用于由例如目的地装置116的输入接口122接收及/或检索。
源装置102的存储器106及目的地装置116的存储器120表示通用存储器。在一些实例中,存储器106、120可存储原始视频数据,例如来自视频源104的原始视频及来自视频解码器300的原始经解码视频数据。另外或替代地,存储器106、120可存储分别可由例如视频编码器200及视频解码器300执行的软件指令。尽管在此实例中经展示与视频编码器200及视频解码器300分开,但应理解,视频编码器200及视频解码器300还可包含用于功能类似或等同目的的内部存储器。此外,存储器106、120可存储经编码视频数据,例如,从视频编码器200输出并输入到视频解码器300。在一些实例中,存储器106、120的部分可经分配为一或多个视频缓冲器,例如,以存储原始的,经解码及/或经编码视频数据。
计算机可读媒体110可表示能够将经编码视频数据从源装置102传输到目的地装置116的任何类型的媒体或装置。在一个实例中,计算机可读媒体110表示通信媒体,以使得源装置102能够实时地(例如,经由射频网络或基于计算机的网络)将经编码视频数据直接发射到目的地装置116。输出接口108可调制包含经编码视频数据的发射信号,且输入接口122可根据例如无线通信协议的通信标准来调制所接收的发射信号。通信媒体可包括任何无线或有线通信媒体,例如,射频(RF)频谱或一或多个物理发射线。通信媒体可形成基于数据包的网络的部分,例如局域网、广域网或例如因特网的全球网。通信媒体可包含路由器、交换机、基站或可用于促进从源装置102到目的地装置116的通信的任何其它设备。
在一些实例中,源装置102可将经编码数据从输出接口108输出到存储装置112。类似地,目的地装置116可经由输入接口122从存储装置112存取经编码数据。存储装置112可包含各种分布式或本地存取数据存储媒体中的任何者,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器或任何其它适于存储经编码视频数据的数字存储媒体。
在一些实例中,源装置102可将经编码视频数据输出到文件服务器114或可存储由源装置102生成的经编码视频的另一中间存储装置。目的地装置116可经由流式处理或下载从文件服务器114存取存储的视频数据。文件服务器114可为能够存储经编码视频数据并将所述经编码视频数据发射到目标装置116的任何类型的服务器装置。文件服务器114可表示web服务器(例如,用于网站)、文件传送协议(FTP)服务器、内容递送网络装置或网络附接存储(NAS)装置。目的地装置116可通过任何标准数据连接(包含因特网连接)从文件服务器114存取经编码视频数据。此可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等等),或适于存取存储于文件服务器114上的经编码视频数据的两者的组合。文件服务器114及输入接口122可经配置以根据流式发射协议、下载发射协议或其组合来操作。
输出接口108及输入接口122可表示无线发射器/接收器、调制解调器、有线网络组件(例如,以太网卡),根据各种IEEE 802.11标准中的任何者操作的无线通信组件,或其它物理组件。在输出接口108及输入接口122包括无线组件的实例中,输出接口108及输入接口122可经配置以根据蜂窝通信标准(例如4G、4G-LTE(长期演进)、高级LTE、5G等传送数据,例如经编码视频数据。在输出接口108包括无线发射器的一些实例中,输出接口108及输入接口122可经配置以根据例如IEEE 802.11规范、IEEE 802.15规范(例如,ZigBeeTM)、BluetoothTM标准等的其它无线标准来传送例如经编码视频数据的数据。在一些实例中,源装置102及/或目的地装置116可包含相应的单片系统(SoC)装置。举例来说,源装置102可包含SoC装置以执行归因于视频编码器200及/或输出接口108的功能,且目的地装置116可包含SoC装置以执行归因于视频解码器300及/或输入接口122的功能。
本发明的所述技术可应用于支持各种多媒体应用中的任何者的视频译码,例如无线电视广播、有线电视发射、卫星电视发射、因特网流式视频发射,例如经由HTTP的动态自适应流式处理(DASH)、经编码到数据存储媒体上的数字视频、对存储于数据存储媒体上的数字视频的解码或其它应用。
目的地装置116的输入接口122从计算机可读媒体110(例如,存储装置112、文件服务器114等)接收经编码视频位流。经编码视频位流计算机可读媒体110可包含由视频编码器200定义的信令信息,其也由视频解码器300使用,例如具有描述视频块或其它译码单元的特性及/或处理的值的语法元素(例如,图块、图片、图片组、序列等)。显示装置118将经解码视频数据的经解码图片显示给用户。显示装置118可表示各种显示装置中的任一者,例如,阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
尽管图1中未展示,但在一些实例中,视频编码器200及视频解码器300可各自与音频编码器及/或音频解码器集成,且可包含适当的MUX-DEMUX单元,或其它硬件及/或元件,以处置在共用数据流中包含音频及视频两者的多路复用流。如果适用,MUX-DEMUX单元可符合ITU H.223多路复用器协议,或其它协议,例如用户数据报协议(UDP)。
视频编码器200及视频解码器300各自可实施为各种适合编码器及/或解码器电路中的任一者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任一组合。当技术部分地以软件实施时,装置可将用于软件的指令存储在适合非暂时性计算机可读媒体中且在硬件中使用一或多个处理器来执行指令以执行本发明的技术。视频编码器200及视频解码器300中的每一者可包含在一或多个编码器或解码器中,其中的任一者可集成为相应装置中的组合式编码器/解码器(CODEC)的部分。包含视频编码器200及/或视频解码器300的装置可包括集成电路、微处理器及/或无线通信装置,例如蜂窝电话。
视频编码器200及视频解码器300可根据视频译码标准(例如,ITU-T H.265,也被称作为高效视频译码(HEVC)或其扩展,例如多视图及/或可缩放视频译码扩展)来操作。替代地,视频编码器200及视频解码器300可根据其它专有或行业标准(例如联合探索测试模型(JEM))操作。然而,本发明的技术不限于任何特定的译码标准。
通常,视频编码器200及视频解码器300可执行图片的基于块的译码。术语“块”通常是指包含待处理(例如,在编码及/或解码过程中经编码,经解码或以其它方式使用)的数据的结构。举例来说,块可包含亮度及/或色度数据的样本的二维矩阵。通常,视频编码器200及视频解码器300可译码以YUV(例如,Y、Cb、Cr)格式表示的视频数据。也就是说,视频编码器200及视频解码器300可译码亮度及色度分量而非译码用于图片的样本的红色、绿色及蓝色(RGB)数据,其中色度分量可包含红色调色度分量及蓝色调色度分量两者。在一些实例中,视频编码器200在编码之前将所接收RGB格式化数据转换为YUV表示,且视频解码器300将YUV表示转换为RGB格式。替代地,预处理单元及后处理单元(未展示)可执行这些转换。
本发明通常可是指译码(例如,编码及解码)图片以包含对图片的编码或解码数据的处理。类似地,本发明可是指对图片的块的译码以包含对块的编码或解码数据的处理,例如,预测及/或残差译码。经编码视频位流通常包含表示译码决策(例如,译码模式)及将图片分割成块的语法元素的一系列值。因此,关于译码图片或块的引用通常应理解为译码用于形成图片或块的语法元素的值。
HEVC定义各种块,包含译码单元(CU)、预测单元(PU)及变换单元(TU)。根据HEVC,视频译码器(例如视频编码器200)根据四叉树结构将译码树单元(CTU)分割为CU。也就是说,视频译码器将CTU及CU分割成四个相等的非重叠方块,且四叉树的每一节点具有零个或四个子节点。没有子节点的节点可被称作为“叶节点”,且此类叶节点的CU可包含一或多个PU及/或一或多个TU。视频译码器可进一步分割PU及TU。举例来说,在HEVC中,残差四叉树(RQT)表示TU的分割。在HEVC中,PU表示帧间预测数据,而TU表示残差数据。帧内预测的CU包含帧内预测信息,例如帧内模式指示。
作为另一实例,视频编码器200及视频解码器300可经配置以根据JEM操作。根据JEM,视频译码器(例如视频编码器200)将图片分割为多个译码树单元(CTU)。视频编码器200可根据树结构(例如,四叉树二叉树(QTBT)结构)对CTU进行分割。JEM的QTBT结构消除多个分割类型的概念,例如HEVC的CU、PU及TU之间的分离。JEM的QTBT结构包含两个级别:根据四叉树分割所分割的第一级别及根据二叉树分割所分割的第二级别。QTBT结构的根节点对应于CTU。二叉树的叶节点对应于译码单元(CU)。
在一些实例中,视频编码器200及视频解码器300可使用单个QTBT结构来表示亮度及色度分量中的每一者,而在其它实例中,视频编码器200及视频解码器300可使用两个或多于两个QTBT结构,例如用于亮度分量的一个QTBT结构及用于两个色度分量的另一QTBT结构(或用于相应色度分量的两个QTBT结构)。
视频编码器200及视频解码器300可经配置以使用按照HEVC的四叉树分割,根据JEM的QTBT分割或其它分割结构。出于解释的目的,关于QTBT分割呈现本发明的技术的描述。然而,应理解,本发明的技术还可应用于经配置以使用四叉树分割或其它类型的分割的视频译码器。
本发明可互换地使用“N×N”及“N乘N”来指代块(例如CU或其它视频块)在垂直及水平维度方面的样本尺寸,例如,16×16个样本或16乘16个样本。通常,16×16CU在垂直方向上具有16个样本(y=16)且在水平方向上具有16个样本(x=16)。同样地,N×N个CU通常在垂直方向上具有N个样本且在水平方向上具有N个样本,其中N表示非负整数值。CU中的样本可按行及列布置。此外,CU不必在水平方向上具有与在垂直方向上相同数目的样本。举例来说,CU可包括N×M个样本,其中M不一定等于N。
视频编码器200编码表示预测及/或残差信息的关于CU的视频数据以及其它信息。预测信息指示如何预测CU以便形成CU的预测块。残差信息通常表示编码之前的CU的样本与预测块之间的逐样本差异。
为了预测CU,视频编码器200一般可通过帧间预测或帧内预测形成CU的预测块。帧间预测通常是指从先前译码的图片的数据预测CU,而帧内预测通常是指从相同图片的先前译码数据预测CU。为了执行帧间预测,视频编码器200可使用一或多个运动矢量来生成预测块。视频编码器200一般可执行运动搜索以例如就CU与参考块之间的差异识别与CU紧密匹配的参考块。视频编码器200可使用绝对差和(SAD)、平方差和(SSD)、平均绝对差(MAD)、均方差(MSD)或其它此类差异计算来计算差异度量以确定参考块是否与当前CU紧密匹配。在一些实例中,视频编码器200可使用单向预测或双向预测来预测当前CU。
JEM还提供了仿射运动补偿模式,其可以被认为是帧间预测模式。在仿射运动补偿模式中,视频编码器200可确定表示非平移运动(例如放大或缩小、旋转、透视运动或其它不规则运动类型)的两个或多于两个运动矢量。
为了执行帧内预测,视频编码器200可选择帧内预测模式以生成预测块。JEM提供六十七种帧内预测模式,包含各种方向模式,以及平面模式及DC模式。通常,视频编码器200选择帧内预测模式,所述帧内预测模式描述相邻于当前块(例如,CU的块)的样本,从所述样本预测所述当前块的样本。假设视频编码器200以光栅扫描顺序(从左到右,从上到下)来译码CTU及CU,此些样本通常可在与当前块相同的图片中的当前块的上面、左上方或左侧。
视频编码器200编码表示当前块的预测模式的数据。举例来说,对于帧间预测模式,视频编码器200可编码表示使用各种可用帧间预测模式中的哪一者的数据以及关于对应模式的运动信息。举例来说,对于单向或双向帧间预测,视频编码器200可使用高级运动矢量预测(AMVP)或合并模式来编码运动矢量。视频编码器200可使用类似模式来编码用于仿射运动补偿模式的运动矢量。
如上文所描述,除了帧间及帧内预测模式之外,在一些实例中,视频编码器200及视频解码器300可以基于帧间帧内预测模式预测块。在帧间帧内预测模式的一些实例中,视频编码器200基于从帧间预测模式生成的第一预测块及从帧内预测模式生成的第二预测块的加权组合,生成帧间帧内预测块。作为一个实例,视频编码器200可以基于用于生成帧内预测块的帧内预测模式确定第一预测块及第二预测块中的每一个的权重。
此外,视频编码器200可包含根据AMVP或合并模式的帧间帧内候选者,如更详细地描述。帧间帧内候选者包含用以根据帧内预测模式生成第一预测块的信息及用以根据帧间预测模式生成第二预测块的信息。当在AMVP或合并模式中选择帧间帧内候选者时,视频编码器200可接着基于第一预测块和第二预测块生成帧间帧内预测块。
在预测(例如块的帧内预测或帧间预测,或帧间帧内预测)之后,视频编码器200可计算块的残差数据。残差数据,例如残差块,表示块与使用对应预测模式形成的块的预测块(例如,针对帧间帧内预测模式,帧间帧内预测块)之间的逐样本差异。视频编码器200可将一或多个变换应用于残差块,以在变换域而非样本域中产生经变换数据。举例来说,视频编码器200可将离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换应用于残差视频数据。另外,视频编码器200可在第一变换之后应用二次变换,例如模式相关的不可分二次变换(MDNSST)、信号相关变换、卡-洛(Karhunen-Loeve)变换(KLT)等。视频编码器200在应用一或多个变换之后产生变换系数。
在任何变换以产生变换系数之后,视频编码器200可执行变换系数的量化。量化通常是指其中将变换系数量化以可能减少用于表示系数的数据的量,从而提供进一步压缩的过程。通过执行量化过程,视频编码器200可减小与一些或所有系数相关联的位深度。举例来说,视频编码器200可在量化期间将n位值舍入到m位值,其中n大于m。在一些实例中,为了执行量化,视频编码器200可执行待量化的值的按位右移。
在量化之后,视频编码器200可扫描变换系数,从包含经量化变换系数的二维矩阵产生一维矢量。扫描可被设计为在矢量的前面放置较高能量(且因此较低频率)的系数,且在矢量的后面放置较低能量(且因此较高频率)的变换系数。在一些实例中,视频编码器200可利用预定义扫描次序来扫描经量化变换系数以产生经序列化矢量,且接着对矢量的经量化变换系数进行熵编码。在其它实例中,视频编码器200可执行自适应扫描。在扫描经量化变换系数以形成一维矢量之后,视频编码器200可例如根据上下文自适应二进制算术译码(CABAC)对一维矢量进行熵编码。视频编码器200还可对描述与经编码视频数据相关联的元数据的语法元素的值进行熵编码以供视频解码器300在解码视频数据中使用。
为了执行CABAC,视频编码器200可将上下文模型内的上下文指派到待发射的符号。上下文可涉及例如符号的相邻值是否为零值。概率确定可基于指派到符号的上下文。
视频编码器200可进一步生成语法数据(例如,基于块的语法数据,基于图片的语法数据及基于序列的语法数据)到视频解码器300(例如,在图片标头,块标头,图块标头,或例如序列参数集(SPS)、图片参数集(PPS)或视频参数集(VPS)的其它语法数据中。视频解码器300可同样解码此类语法数据以确定如何解码对应视频数据。
以此方式,视频编码器200可产生包含经编码视频数据的位流,例如,描述将图片分割成块(例如,CU)的语法元素以及关于块的预测及/或残差信息。最终,视频解码器300可接收位流并解码经编码视频数据。
通常,视频解码器300执行与由视频编码器200执行的过程相反的过程以解码位流的经编码视频数据。举例来说,视频解码器300可使用CABAC以与视频编码器200的CABAC编码过程基本相似但相反的方式解码位流的语法元素的值。语法元素可将图片的分割信息定义为CTU,且根据对应分割结构(例如QTBT结构)对每一CTU进行分割以定义CTU的CU。语法元素可进一步定义关于视频数据的块(例如,CU)的预测及残差信息。
残差信息可由例如经量化变换系数表示。视频解码器300可对块的经量化变换系数进行逆量化及逆变换以再现块的残差块。视频解码器300使用经发信号通知的预测模式(帧内预测、帧间预测或帧间帧内预测)及相关预测信息(例如,用于帧间预测的运动信息)来形成块的预测块。然后,视频解码器300可组合预测块及残差块(在逐样本的基础上)以再现原始块。视频解码器300可执行额外处理,例如执行解块过程以减少沿块的边界的视觉伪影。
本发明通常可能涉及“发信号通知”某些信息,例如语法元素。术语“发信号通知”通常可能是指值语法元素及/或用于解码经编码视频数据的其它数据的通信。也就是说,视频编码器200可发信号通知关于位流中的语法元素的值。通常,发信号通知是指在位流中生成值。如上文所述,源装置102可基本上实时地或不实时地将位流传输到目的地装置116,例如当将语法元素存储到存储装置112以供稍后由目的地装置116检索时可能发生。
图2A及2B为说明实例性四叉树二叉树(QTBT)130结构及对应译码树单元(CTU)132的概念图。实线表示四叉树分裂,且虚线指示二叉树分裂。在二叉树的每一分裂(即,非叶)节点中,发信号通知一个旗标以指示使用哪种分裂类型(即,水平或垂直),其中在此实例中0指示水平分裂且1指示垂直分裂。对于四叉树分裂,不需要指示分裂类型,因为四叉树节点将块水平且垂直地分割成具有相同大小的4个子块。因此,视频编码器200可编码用于QTBT结构130的区域树级(即,实线)的语法元素(例如,分裂信息)及QTBT结构130的预测树级(即,虚线)的语法元素(例如,分裂信息),且视频解码器300可对其进行解码。视频编码器200可编码由QTBT结构130的终端叶节点表示的CU的视频数据(例如预测及变换数据),且视频解码器300可对其进行解码。
一般来说,图2B的CTU 132可与定义对应于第一级别及第二级别处的QTBT结构130的节点的区块的大小的参数相关联。这些参数可包含CTU大小(表示样本中CTU 132的大小)、最小四叉树大小(MinQTSize,表示允许的最小四叉树叶节点大小)、最大二叉树大小(MaxBTSize,表示允许的最大二叉树根节点大小)、最大二叉树深度(MaxBTDepth,表示允许的最大二叉树深度),以及最小二叉树大小(MinBTSize,表示允许的最小二叉树叶节点大小)。
对应于CTU的QTBT结构的根节点可在QTBT结构的第一级具有四个子节点,每一子节点可根据四叉树分割来分割。也就是说,第一级的节点为叶节点(没有任何子节点)或具有四个子节点。QTBT结构130的实例表实例如包含父节点及具有用于分支的实线的子节点的节点。如果第一级的节点不大于允许的最大二叉树根节点大小(MaxBTSize),那么可通过相应的二叉树将其进一步分割。可迭代一个节点的二叉树分裂,直到由分割得到的节点达到允许的最小二叉树叶节点大小(MinBTSize)或允许的最大二叉树深度(MaxBTDepth)。QTBT结构130的实例将此些节点表示为具有用于分支的虚线。二叉树叶节点被称作为译码单元(CU),其用于预测(例如,图片内或图片间预测)及变换,而无需任何进一步的分割。如上面所论述,CU也可称作为“视频块”或“块”。
在QTBT分割结构的一个实例中,CTU大小设置为128×128(亮度样本及两个对应的64×64色度样本),MinQTSize设置为16×16,MaxBTSize设置为64×64,MinBTSize(宽度及高度两者)设置为4,MaxBTDepth设置为4。四叉树分割首先应用于CTU以生成四叉树叶节点。四叉树叶节点可具有从16×16(即,MinQTSize)到128×128(即,CTU大小)的大小。如果四叉树叶节点为128×128,那么其不会被二叉树进一步分裂,因为大小超过MaxBTSize(即,在此实例中为64×64)。否则,叶子四叉树节点将被二叉树进一步分割。因此,四叉树叶节点也为二叉树的根节点,且具有为0的二叉树深度。当二叉树深度达到MaxBTDepth(在此实例中为4)时,不允许进一步分裂。当二叉树节点具有等于MinBTSize(在此实例例中为4)的宽度时,其意味着不准许进一步的水平分裂。类似地,具有等于MinBTSize的高度的二叉树节点意味着不准许对所述二叉树节点进一步进行垂直分裂。如上文所述,二叉树的叶节点被称作为CU,且根据预测及变换进一步处理,而无需进一步分割。
基于上述理解,以下进一步描述视频译码标准,尤其是运动矢量预测相关技术。以下还提供了视频译码的进一步描述。
以下是一些视频编码标准的描述。视频译码标准包含ITU-TH.261、ISO/IEC MPEG-1可视化、ITU-TH.262或ISO/IEC MPEG-2可视化、ITU-TH.263、ISO/IEC MPEG-4可视化及ITU-TH.264(还称作ISO/IEC MPEG-4AVC),包含其可缩放视频编码(SVC)及多视图视频编码(MVC)扩展。MVC的最新联合草案在“用于通用视听服务的高级视频编码(Advanced videocoding for generic audiovisual services)”,ITU-T推荐H.264,2010年3月中描述。
另外,存在由ITU-T视频编码专家组(VCEG)及ISO/IEC动画专家组(MPEG)的视频编码联合协作团队(JCT-VC)制定新研发的视频编码标准,即高效率视频编码(HEVC)。HEVC的最新草案可从http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zip获得。HEVC标准也可作为ITU-T H.265系列H获得:视听和多媒体系统,视听服务的基础设施-运动视频译码,高效视频译码,国际电信联盟,2015年4月,634页。
图3A为说明帧内预测图块的块的实例的概念图。图3B为说明帧间预测图块的块的实例的概念图。
在最新的视频编码标准(例如HEVC)中,其部分描述在G.J.沙利文(Sullivan);J.-R.欧姆(Ohm);W.-J.韩(Han);T.威甘德(Wiegand)(2012年12月)的“高效视频译码(HEVC)标准概述(Overview of the High Efficiency Video Coding(HEVC)Standard)”(PDF)中。IEEE关于用于视频技术的电路及系统的公报(IEEE)22(12)中存在两种帧(或图块,其为帧的一部分):帧间和帧内。在帧内,块只能被译码为帧内块。在帧间时,可以将块译码为帧内块或帧间块。图3A及3B展示帧内及帧间的实例,且特别是作为相应帧内或帧间的一部分的帧内图块及帧间图块。此处所使用的术语“块”可以是指译码单元/块,预测单元/块、子PU、变换单元/块或任何其它编码结构。
译码为帧内块的块应用帧内预测,利用所述帧内预测,当前块由当前帧中的相邻像素预测。经译码为帧间块的块应用帧间预测,利用所述帧间预测,当前块由先前被译码/解码的帧(称为“参考帧”)中的像素预测。如在图3A中所说明,帧内图块可仅包含帧内块(例如,使用帧内预测所预测的块)。如图3B中所说明,帧间图块可包含帧内块及帧间块(使用帧内预测所预测的块及使用帧间预测所预测的块)。
图4为说明帧内预测模式的实例的概念图。在HEVC中,如在图4中所展示,存在表示不同预测方向的35种帧内预测模式。举例来说,存在33种定向模式及两种特殊模式:DC及平面。在JEM中,例如在J.陈、E.阿尔希娜(Alshina)、G.J.沙利文(Sullivan)、J.-R.欧姆、J.博伊斯(Boyce),JVET-F1001,“联合勘探测试模型6的算法描述”(2017年4月)中,帧内预测模式的数目增加到67。每一帧内编码块(例如,帧内预测块)具有其帧内预测模式信息。
图5为说明用于帧间预测的参考帧的实例的概念图。对于帧间预测,如在图5中所展示,使用来自参考帧中的一个参考块(单预测)或两个参考块(双预测)运动补偿(MC)。在图5中,当前帧中的块A利用具有一个参考块(参考帧1中的参考A)的单预测,且当前块中的块B利用具有两个参考块(参考帧1中的参考B及参考帧2中的参考C)的双预测。每一帧间译码的块(例如,帧间预测的块)具有其运动信息,包含参考帧索引及运动矢量(MV)。
图6为说明用于译码帧内预测模式的当前块的相邻块的实例的概念图。为了译码帧内预测模式,将相邻块的帧内预测模式用作当前模式的预测模式。图6展示示范性相邻块。在HEVC中,相邻块A及B的帧内预测模式被用作当前块的帧内模式的预测模式。作为预测模式的实例使用,可以为每一帧内预测模式指派数值。视频编码器200不是发信号通知实际的帧内预测模式,而是发信号通知当前块的帧内预测模式与预测模式(例如,从一或多个相邻块确定的帧内预测模式)之间的差异。视频解码器300可以通过将预测模式添加到视频编码器200发信号通知的差值来确定当前块的帧内预测模式。
存在借以确定其帧内预测模式变为预测模式的特定块的多种方式。在JEM中,更多相邻块(A0、A1、B0、B1、B2)用作当前模式的预测模式。如果不存在相邻块(当前块位于帧的边界处),或相邻块未进行帧内编码(当前帧是帧间帧,但当前块经帧内译码),那么相邻块被标记为“不可用”,且其帧内预测模式不用于预测当前块的帧内预测模式。
下面描述运动信息,例如帧间预测块的运动信息。对于每一块,可获得一组运动信息。运动信息集含有关于前向预测方向及后向预测方向的运动信息。此处,前向及后向预测方向为对应于当前图片或图块的参考图片列表0(RefPicList0)及参考图片列表1(RefPicList1)的两个预测方向。术语“前向”及“后向”不一定具有几何意义。相反,其用于区分运动矢量基于哪一个参考图片列表。前向预测意指基于参考列表0形成的预测,而后向预测意指基于参考列表1形成的预测(反之亦然,基于设计选择)。在参考列表0及参考列表1都用于形成给定块的预测的情况下,称为双向预测。
对于给定图片或图块,如果仅使用一个参考图片列表,那么可向前预测图片或图块内的每一块。如果两个参考图片列表用于给定图片或图块,那么图片或图块内部的块可为前向预测的,或为后向预测的,或为双向预测。
针对每一预测方向,运动信息通常含有参考索引及运动矢量。使用参考索引来识别对应参考图片清单(例如RefPicList0或RefPicList1)中的参考图片。运动矢量具有水平及垂直分量,其中每一者分别指示沿着水平方向及垂直方向的偏移值。在一些描述中,为简单起见,措词“运动矢量”可与运动信息互换使用,以指示运动矢量及其相关参考索引两者。
下面描述图片次序计数(POC)值。POC广泛用于视频译码标准中以识别图片的显示次序。尽管存在一个经译码视频序列内的两个图片可能具有相同POC值的状况,但通常不会在经译码视频序列内发生。当在位流中存在多个经译码视频序列时,具有相同POC值的图片在解码次序方面可彼此更接近。作为几个实例,图片的POC值通常用于参考图片列表的构造,HEVC中的参考图片集的推导以及运动矢量缩放。举例来说,POC值被用作识别图片的方式。
下面描述H.264/AVC视频译码标准。作为AVC中宏块结构的实例,每一内部宏块(MB)可以划分为四种不同的方式
·一个16×16MB分区
·两个16×8MB分区
·两个8×16MB分区
·四个8×8MB分区
一个MB中的不同MB分区可针对每一方向具有不同的参考索引值(RefPicList0或RefPicList1)。当MB未经分割成四个8×8MB分区时,其在每一方向上对于每一MB分区仅具有一个运动矢量。当MB经分割成四个8×8MB分区时,每一8×8MB分区可经进一步分割成子块,子块中的每一者可在每一方向上具有不同的运动矢量。存在四种不同的从8×8MB分区获取子块的方法。
·一个8×8子块
·两个8×4子块
·两个4×8子块
·四个4×4子块
每一子块可在每一方向上具有不同的运动矢量。因此,运动矢量以等于高于子块的水平存在。
在AVC中,可针对B图块中的跳过或直接模式在MB或MB分区级别中启用时间直接模式。对于每一MB分区,使用与当前块的RefPicList1[0]中的当前MB分区共置块的运动矢量来推导运动矢量。可基于POC距离缩放共置块中的每一运动矢量。在AVC中,直接模式还可预测来自空间相邻者的运动信息。
以下内容提供了有关HEVC视频译码标准的更多信息,以及重新介绍了上文所描述的一些概念。在HEVC中,图块中的最大译码单元被称作为译码树块(CTB)或译码树单元(CTU)。CTB含有其节点为译码单元的四叉树。
CTB的大小在HEVC主配置文件中的范围可为从16×16到64×64(尽管技术上可支持8×8CTB大小)。译码单元(CU)的大小可能与CTB相同,但小至8×8。每一译码单元以一种模式译码。当CU经帧间译码时,其可经进一步分割成2或4个预测单元(PU)或在不应用进一步分割时变为仅一个PU。当两个PU存在于一个CU中时,其可为半尺寸矩形或具有CU的1/4或3/4尺寸的两个矩形尺寸。
当CU经帧间译码时,针对每一PU存在一个运动信息集。另外,每一PU用唯一的帧间预测模式译码以推导运动信息集。
下面描述运动矢量预测(MVP)。在HEVC标准中,针对预测单元(PU),分别存在两个帧间预测模式,即合并(跳过被认为合并的特殊状况)及高级运动矢量预测(AMVP)模式。在AMVP或合并模式中,针对多个运动矢量预测值维持运动矢量(MV)候选者列表。通过从MV候选者列表取得一个候选者来生成当前PU的运动矢量以及合并模式中的参考索引。
MV候选者列表可含有多达5个用于合并模式的候选者,且含有用于AMVP模式的仅两个候选者。合并候选者可含有运动信息集,例如,对应于参考图片列表(列表0及列表1)及参考索引两者的运动矢量。如果通过合并索引识别了合并候选者,那么参考图片被用于当前块的预测,以及且确定相关联的运动矢量。然而,在AMVP模式下,对于来自列表0或列表1的每一潜在预测方向,需要与MV候选者列表的MVP索引一起显式地发信号通知参考索引,这是因为AMVP候选者可仅含有运动矢量。在AMVP模式中,可进一步细化预测的运动矢量。
如上文可看见,合并候选者对应于整个运动信息集,而AMVP候选者含有仅一个用于特定预测方向及参考索引的运动矢量。举例来说,如果在合并模式中预测当前块,那么视频编码器200可从MV候选者列表确定运动信息,并发信号通知对MV候选者列表的索引。视频解码器300可将来自由对MV候选者列表的索引所识别的候选者的运动信息合并为关于当前块的运动信息。对于AMVP,视频编码器200可以发信号通知对MV候选者列表的索引、MVD(由对MV候选者列表的索引所识别的运动信息的运动矢量及当前块的实际运动矢量之间的差),及指示使用参考图片列表0还是参考图片列表1的信息。以类似方式从相同的空间及时间相邻块推导两种模式的预定者。
图7A及7B为说明用于合并及AMVP模式的空间相邻运动矢量候选者的实例的概念图。针对特定PU(PU0),从图7A及7B中所展示的相邻块推导空间MV候选者,但用于从块生成候选者的方法针对合并模式及AMVP模式而不同。
在合并模式中,可利用图7A上用数字所展示的次序推导多达四个空间MV候选者,且次序如下:左(0,A1)、上(1,B1)、右上(2,B0)、左下(3,A0)及左上(4,B2),如图7A中所展示。在图7A中,箭头说明相邻块的运动信息之间的比较,且如果运动信息相同,那么关于块的运动信息被删除作为运动实例候选者。举例来说,如果上面的(1,B1)块具有与左边的(0,A1)块相同的运动信息,那么不包含上面的(1,B1)块的运动信息作为运动矢量候选者。如果右上方(2,B0)块具有与上面的(1,B1)块相同的运动信息,那么不包含右上(2,B0)的运动信息作为运动矢量候选者,等等。
在AVMP模式中,相邻块可经划分成两组:由块0及1组成的左组,以及由块2、3及4组成的上组,如图7B上所展示。对于每一组,参考与由发信号通知的参考索引所指示的相同的参考图片的相邻块中的潜在候选者可具有经选择以形成所述组的最终候选者的最高优先级。所有相邻块可能不含有指向相同参考图片的运动矢量。因此,如果不能找到此候选者,那么可缩放第一可用候选者以形成最终候选者,因此可补偿时间距离差异。
下面描述HEVC中的时间运动矢量预测(TMVP)。如果启用且可用,那么在空间运动矢量候选者之后将时间运动矢量预测器(TMVP)候选者添加到MV候选者列表中。对于合并及AMVP模式,TMVP候选者的运动矢量推导过程为相同的;然而合并模式中的TMVP候选者的目标参考索引可始终设置为0。
图8A及8B为分别说明时间运动矢量预测值(TMVP)候选者及针对TMVP的运动矢量缩放的实例的概念图。TMVP候选者推导的初级块位置为在并置PU的外部的右下块,如在图8A中展示为块“T”,以补偿用于生成空间相邻候选者的左上块的偏置。然而,如果所述块位于当前CTB行之外或运动信息不可用,那么所述块用PU的中心块代替。
从以图块级别指示的共置图片的共置PU推导用于TMVP候选者的运动矢量。共置PU的运动矢量被称为并置MV。类似于AVC中的时间直接模式,为了推导TMVP候选运动矢量,可能需要按比例缩放共置MV以补偿时间距离差,如在图8B中所展示。
以下描述了HEVC中的运动预测的一些额外方面。合并及AMVP模式的几个方面值得如下一提。在运动矢量缩放中,假设运动矢量的值与呈现时间中图片的距离成比例。运动矢量将两个图片,参考图片及含有运动矢量的图片(即,含有图片)相关联。当利用运动矢量来预测另一运动矢量时,基于图片次序计数(POC)值计算含有图片及参考图片的距离。对于待预测的运动矢量,其相关联的含有图片及参考图片两者可能不同。因此,计算新距离(基于POC)。且基于这两个POC距离对运动矢量进行缩放。对于空间相邻候选者,两个运动矢量的含有图片为相同的,而参考图片则不同。在HEVC中,运动矢量缩放适用于TMVP及AMVP两者用于空间和时间相邻候选者。
在人工运动矢量候选者生成中,如果运动矢量候选者列表不完整,那么生成人工运动矢量候选者,且将其插入在列表的末尾,直到其将具有所有候选者为止。在合并模式下,存在两种类型人工MV候选者:仅针对B图块推导的组合双预测候选者及默认固定候选者。在一些实例中,如果第一类型不能提供足够的人工候选者,那么仅将零候选者用于AMVP。对于已经在候选者列表中且具有必要的运动信息的每对候选者,通过参考列表0中的图片的第一候选者的运动矢量和参考列表1中的图片的第二个候选者的运动矢量的组合来推导双向组合运动矢量候选者。
在用于候选插入的删除过程中,来自不同块的候选者可能碰巧为相同的,这降低了合并/AMVP候选者列表的效率。如上文关于图7A所描述,删除过程被应用以解决此问题。其将一个候选者与当前候选者列表中的其它候选者进行比较,以避免在一定程度上插入相同的候选者。为了降低复杂性,仅应用了有限数目个删除过程,而不是将每一可能的删除过程与所有其它现有删除过程进行比较。
如上文所描述,存在许多基于优先级的候选者列表。按照预定义优先级将每一候选者插入到候选者列表中。举例来说,在HEVC中,通过基于预定义次序(或按照预定义优先级)插入候选者构造合并候选者列表及AMVP候选者列表。
图9为说明其空间信息用于构造合并候选者列表的相邻块的实例的概念图。如在图9中所展示,通过视频编码器200或视频解码器300按预定义次序(A1→B1→B0→A0→B2)插入空间合并候选者来构造合并候选者列表。
图10为说明构造合并候选者列表的实例方式的流程图。举例来说,图10展示HEVC中的合并候选者列表的构造过程。逐一检查每一空间或时间上相邻的块,以识别所述块是否可以提供有效的合并候选者。术语“有效”意指所述块存在,经帧间译码,候选者列表未满,且所述块中的运动信息未被当前候选者列表中的现有候选删除。应注意,一个候选者可能仅被删除为当前候选者列表中现有候选者的一部分。对于B2,仅在检查A1、B1、B0及A0之后才检查候选对象是否少于4个。如果在检查所有空间及时间相邻块后合并候选者列表未满,那么将填充人工候选者以实现合并候选者列表。首先,填充组合式双候选者。如果列表仍然未满,那么将用固定的默认候选者来满足。此处所使用的术语“块”(例如,图10中的块0到块4及当前块)可为译码单元/块、预测单元/块、子PU、变换单元/块或任何其它译码结构。
举例来说,视频译码器(例如,视频编码器200及视频解码器300中的一个或两个)可以检查图9的块A1(134),且确定其是否有效(136)。如果有效(136为是),那么视频译码器将A1的运动信息附加到合并候选者列表(138),且然后进行到检查B1。如果无效(136为否),那么视频译码器进行到检查B1。
视频译码器然后可以检查图9的B1(140),且确定其是否有效(142)。如果有效(142为是),那么视频译码器将B1的运动信息附加到合并候选者列表(144),且然后进行到检查B0。如果无效(142为否),那么视频译码器进行到检查B0。视频译码器然后可以检查图9的B0(146),且确定其是否有效(148)。如果有效(148为是),那么视频译码器将B0的运动信息附加到合并候选者列表(150),且然后进行到检查A0。如果无效(148为否),那么视频译码器进行到检查A0。
视频译码器然后可以检查图9的A0(152),且确定其是否有效(154)。如果有效(154为是),那么视频译码器将A0的运动信息附加到合并候选者列表(156),且然后进行到检查B2。如果无效(154为否),那么视频译码器进行到检查B2。
视频译码器然后可以检查图9的B2(158),且确定其是否有效且列表中的候选者少于四个(160)。如果有效且列表中的候选者少于四个(160为是),那么视频译码器将B2的运动信息附加到合并候选者列表中(162),且然后进行到检查TMVP。如果无效或列表中的候选者不少于四个(160为否),那么视频编码器将进行到检查TMVP。
视频译码器然后可以检查图8A的TMVP(164),且确定其是否有效(166)。如果有效(166为是),那么视频译码器将TMVP的运动信息(如果需要,基于图8B的缩放)附加到合并候选者列表(168),且确定候选者列表是否已满(170)。如果无效(166为否),那么视频编码器确定候选者列表是否已满(170)。
如果候选者列表已满(170为是),那么合并候选者列表构造过程结束。如果候选者列表未满(170为否),那么视频译码器添加组合式双候选者列表(172),即,将组合式双候选者附加到候选者列表中。视频译码器可确定是否更多的组合式双候选者可用(174)。如果更多双候选者可用(174为是),且候选者列表未满(170为否),那么视频译码器可能会添加另一双候选者,且不断重复,直到没有更多双候选者或候选者列表未满为止。
如果没有更多的双候选者(174为否),且候选者列表未满(176为否),那么视频译码器可以将一个默认固定候选者附加到候选者列表中(178)。视频译码器可继续将一个默认固定候选者添加到合并候选者列表中,直到合并候选者列表已满(176为是)。
本发明描述了用以通过组合帧间预测和帧内预测来改进预测效率的实例。帧间预测及帧内预测的组合方法被定义为帧间帧内预测。
视频编码器200及视频解码器300可以经配置以单独执行以下方法。替代地,视频编码器200及视频解码器300可以经配置以执行所述方法的任何组合。
视频编码器200及视频解码器300可各自使用特定帧内预测模式来生成预测块,且使用帧间预测以及特定运动信息来生成另一预测块。视频编码器200及视频解码器300可基于两个预测块生成最终预测块(例如,帧间帧内预测块)。作为一个实例,视频译码器(例如,视频编码器及/或视频解码器300)可以将帧内预测与特定帧内预测模式(IPM)一起使用来为当前块生成预测块P1,及将帧间预测与特定运动信息(MI,包含例如帧间预测方向、参考列表、参考图片索引及运动矢量的信息)一起使用来为当前块生成另一预测块P2。
视频编码器200及视频解码器300可利用加权预测来确定最终预测块。作为一个实例,视频译码器可以生成最终预测块(例如,样本值阵列)P作为P1与P2的加权和,如下文所展示的公式:
P(x,y)=w1(x,y)×P1(x,y)+w2(x,y)×P2(x,y),
其中(x,y)是样本在当前块中的坐标。w1是P1的加权值,且w2是P2的加权值。
在一个实例中,P(x,y)=(w1(x,y)×P1(x,y)+w2(x,y)×P2(x,y)+o)>>s,其中w1、w2、o及s是整数。可以进行一些约束。例如:w1(x,y)+w2(x,y)=2s,o=2s-1,且0≤w1(x,y)≤2s,0≤w2(x,y)≤2s
在上述实例中,视频编码器200及视频解码器300基于对应用于所述两个预测块的权重(w1,w2)的值的某些约束确定所述权重的值。在一些实例中,视频编码器200及视频解码器300可以基于其它因素确定权重(w1,w2)的值。
作为一个实例,视频编码器200及视频解码器300基于用于确定从帧内预测模式生成的预测块的帧内预测模式(IPM)确定w1及w2。换句话说,在一个实例中,w1及w2取决于IPM。此外,在下文实例中,对于两个预测块P1及P2中的每个样本,确定的权重w1及w2可以是相同的权重,或对于两个预测块P1及P2中的两个或多于两个样本,两个或多于两个权重可以不同。举例来说,在一个实例中,为了确定第一加权预测块及第二加权预测块,视频编码器200及视频解码器300可以将相同的w1与P1的每一样本相乘,且将相同的w2与P2的每一样本相乘。
在另一实例中,为了确定第一加权预测块,视频编码器200及视频解码器300可以确定样本P1(0,0)的第一权重值(例如,w1_0),确定样本P1(0,1)的第二权重值(例如,w1_1),且将每一相应权重值与每一预测样本值相乘,以确定第一加权预测块。在此实例中,第一权重及第二权重可以具有不同的值。视频编码器200及视频解码器300可以类似地确定第二加权预测块,但是基于P2及与P2相关联的权重(例如,w2_X)。
在一个实例中,每一模式可以具有不同的w1及w2,即,P(x,y)=w1(x,y,IPM)×P1(x,y)+w2(x,y,IPM)×P2(x,y)。在此实例中,视频编码器200及视频解码器300可以确定帧内预测模式。然后,视频编码器200及视频解码器300可以剖析表,所述表指示关于帧内预测模式中的每一个的权重值。视频编码器200及视频解码器300可基于与所确定帧内预测模式相关联的权重值确定权重值w1及w2。
因此,在一或多个实例中,视频译码器(例如,视频编码器200及视频解码器300中的一个或两个)可确定图片的块的帧内预测模式,且基于所确定帧内预测模式确定第一权重及第二权重。视频译码器可根据帧内预测模式生成所述块的第一预测块,且根据帧间预测模式生成所述块的第二预测块。
视频译码器可将第一权重应用于第一预测块以生成第一加权块,且将第二权重应用于第二预测块以生成第二加权块。举例来说,视频译码器可将第一权重与第一预测块中的每一样本值(例如,其中样本值为亮度或色度值,此取决于块的类型)相乘以生成第一加权预测块,且将第二加权与第二预测块中的每一样本相乘以生成第二加权预测块。分别对于第一预测块及第二预测块中的每一样本,第一权重及第二权重可以相同。在一些实例中,视频译码器可在逐样本的基础上(或在基于逐多个样本的基础上),例如基于相应第一预测块及第二预测块中的样本的位置,确定第一权重及第二权重。
视频译码器可基于第一加权块及第二加权块生成最终预测块。作为一个实例,视频译码器可将第一加权预测块及第二加权预测块相加以生成最终预测块。
视频编码器200可基于最终预测块与当前块之间的差以及指示残差块的信号信息生成残差块。视频解码器300可接收指示残差块的信息,且将残差块添加到最终预测块以重构图片的块。
在上述实例中,每一帧内预测模式经指派其特有权重。举例来说,对于第一帧内预测模式,可以存在第一w1指派权重及第一w2指派权重。对于第二帧内预测模式,可以存在第二w1指派权重及第二w2指派权重,等等。第一指派权重与第二指派权重可以不同。然而,不是将权重指派到每一帧内预测模式,而是可以将帧内预测模式分类为组,且可以将w1及w2权重指派到组中的每一个(例如,对于整个预测块,在逐样本的基础上,或在逐多个样本的基础上)。以此方式,可能需要较少的存储器,因为可以存储较少的权重值。因此,在一个实例中,帧内预测模式被分类为组。每一组可以具有不同的w1及w2,即,P(x,y)=w1(x,y,Group(IPM))×P1(x,y)+w2(x,y,Group(IPM))×P2(x,y)。
在一个实施方案中,通过对具有相似方向的帧内角度预测模式进行分组来对帧内预测模式进行分类。举例来说,JEM软件中存在67种模式,其可以分类为16组:
Figure BDA0002324201140000251
因此,在上述实例中,视频译码器可基于帧内预测模式确定帧内预测模式分类。举例来说,视频译码器可从多个范围确定帧内预测模式所驻留的范围。多个范围可以基于与对应的帧内预测模式的预测方向相关联的角度。视频译码器可基于所确定范围确定帧内预测模式分类。视频译码器可基于帧内预测模式分类确定用于第一预测块(例如,从帧内预测模式生成的预测块)的第一权重及用于第二预测块(例如,从帧间预测块生成的预测块)的第二权重。
作为一个实例,假设帧内预测模式(IPM)值为22。在此实例中,视频译码器可确定帧内预测模式值在20≤IPM≤25的范围内,在上述实例中,其中范围是基于与预测方向相关的角度。视频译码器可确定用于帧内预测模式的组类别为8,因为8与20≤IPM≤25的范围相关联。视频译码器可基于帧内预测模式分类8确定权重w1及w2,且生成第一加权预测块及第二加权预测块以生成最终预测块。
在一个实例中,w1及w2仅取决于IPM(帧内预测模式)。替代地,w1及w2取决于IPM及坐标(即,(x,y))。换句话说,如上文所描述,视频译码器可基于帧内预测模式及每一样本在相应的第一预测块及第二预测块中的位置确定相应的第一预测块及第二预测块(例如,P1及P2中的相应一个)中的每一样本的相应第一权重及第二权重(例如,w1及w2的相应值)。替代地,此外,w1及w2可以取决于块大小及块形状。
在一个实例中,视频译码器可基于具有由帧内预测模式所定义的值及一或多个系数的多项式方程式确定第一权重及第二权重。举例来说,可以使用多项式计算,从x,y计算w1及w2。
在一个实例中,w1(x,y,Group(IPM))=a(Group(IPM))×x+b(Group(IPM))×y+c(Group(IPM)),且w2(x,y,Group(IPM))=1-w1(x,y,Group(IPM))。此实例可以用所有整数系数来实施,例如w1(x,y,Group(IPM))=(a(Group(IPM))×x+b(Group(IPM))×y+c(Group(IPM))+o)>>s,且w2(x,y,Group(IPM))=2s-w1(x,y,Group(IPM)),其中a(Group(IPM))、b(Group(IPM))、c(Group(IPM))、o及s为整数)。
参数a(Group(IPM))、b(Group(IPM))及c(Group(IPM))可以预定义在视频编码器200及视频解码器300两者处。替代地,所述参数可以从视频编码器200发信号通知到视频解码器300。替代地,在视频编码器200及视频解码器300两者处可以存在数个预定义参数。视频编码器200可以向视频解码器300发信号通知索引,以指示使用了哪些参数。
可能会存在一些限制。举例来说,o=2s-1,0≤w1(x,y)≤2s,0≤w2(x,y)≤2s,且0≤a(Group(IPM)),b(Group(IPM)),c(Group(IPM))≤2k,其中k为整数。
在一个实例中,w1(x,y,Group(IPM))=a(Group(IPM))×x2+b(Group(IPM))×y2+c(Group(IPM))×x×y+d(Group(IPM))×x+e(Group(IPM))×y+f(Group(IPM)),且w2(x,y,Group(IPM))=1-w1(x,y,Group(IPM))。其可以集成形式w1(x,y,Group(IPM))=(a(Group(IPM))×x2+b(Group(IPM))×y2+c(Group(IPM))×x×y+d(Group(IPM))×x+e(Group(IPM))×y+f(Group(IPM))+o)>>s实施,且w2(x,y,Group(IPM))=2s-w1(x,y,Group(IPM)),其中a(Group(IPM))、b(Group(IPM))、c(Group(IPM))、d(Group(IPM))、e(Group(IPM))、f(Group(IPM))、o及s为整数。
参数a(Group(IPM))、b(Group(IPM))、c(Group(IPM))、d(Group(IPM))、e(Group(IPM))及f(Group(IPM))可以预定义在视频编码器200及视频解码器300两者处。替代地,所述参数可以从视频编码器200发信号通知到视频解码器300。替代地,在视频编码器200及视频解码器300两者处可以存在数个预定义参数。视频编码器200可以向视频解码器300发信号通知索引,以指示使用了哪些参数。可以进行一些约束。举例来说,o=2s-1,0≤w1(x,y)≤2s,0≤w2(x,y)≤,且0≤a(Group(IPM)),b(Group(IPM)),c(Group(IPM)),d(Group(IPM)),e(Group(IPM)),f(Group(IPM))≤2k,其中k为整数。
在上文中,帧内预测模式用于确定应用于生成加权预测块的加权。另外,在一些实例中,视频编码器200及视频解码器300可确定帧间帧内预测块的运动信息(MI)。举例来说,MI为用于确定用于构造帧间帧内预测块的预测块的MI。在一个实例中,帧间帧内预测块的MI被发信号通知或推导为帧间译码块或合并块中的MI,且/或帧间帧内预测块的IPM以帧内预测模式传播的方式推导,如在2018年3月20日提交的美国专利申请案第15/926,550号中所规定。
举例来说,在一个实例中,在并置帧中的并置块的帧内预测模式将被视为当前帧间译码块的帧内预测模式。可以以与在HEVC及JEM中进行时间运动矢量预测(TMVP)相同的方式来定位并置帧中的并置块,除了允许并置帧为帧内帧之外。可以从当前图片的参考图片中选择并置图片。在一个实例中,参考图片列表0(或1)中的具有参考索引0的参考图片被用作并置图片。替代地,可以将并置帧的选择从视频编码器200发信号通知到视频解码器300用,或其可以在视频解码器300处隐式地推导。在另一实例中,参考帧中的参考块的帧内预测模式将被视为当前帧间译码块的帧内预测模式。参考帧中的参考块与运动矢量(MV)信息一起定位中,所述运动矢量信息用于HEVC、JEM或任何现有的或视频译码系统中的运动补偿。当前帧间译码块可以存在多于一个参考块。在又一实例中,空间相邻块的帧内预测模式将被视为当前帧间译码块的帧内预测模式。
在一个实例中,帧间帧内预测块的IPM被发信号通知或推导为帧内编码块中的IPM,且/或帧间帧内预测块的MI以运动信息传播的方式推导,如在2017年6月26日提交的申请案第62/525,075号中规定。帧间帧内预测块的IPM是指用于基于帧内预测模式确定预测块的IPM,所述帧内预测模式用于生成帧间帧内预测块。
举例来说,实施例可以包含将运动信息传播到图片间的帧内译码块。然后,可以将帧内译码块用于运动矢量预测。举例来说,帧内译码块可以用于候选者列表(例如合并候选者列表及针对最近译码块的AMVP列表)的构造。帧内译码块从空间及/或时间上相邻的块继承运动信息,其中相邻块可以经帧内译码及/或帧间译码。可以定义基于优先级的方法以从相邻块中选择运动信息。当帧内译码块选择从相邻块继承运动信息时,帧间译码相邻块具有比帧内译码相邻块更高的优先级。
在一个实例中,色度分量以及亮度分量可以使用帧间帧内预测。在一个实例中,色度分量及亮度分量选择使用帧间帧内预测或不同步使用,即,在一个块中,要么所有分量都使用帧间帧内预测,要么其都不使用帧间帧内预测。替代地,分量选择使用帧间帧内预测还是不异步,即,允许一个分量在块中使用帧间帧内预测,而另一分量在同一块中不使用帧间帧内预测。
因此,经译码(例如,编码或解码)的块包含亮度分量块及色度分量块。在一个实例中,视频译码器基于应用于第一预测块及第二预测块(例如,P1及P2的)的相应亮度及色度分量的第一权重及第二权重,生成最终亮度预测块及最终色度预测块。在一个实例中,视频译码器基于仅应用于第一预测块及第二预测块的相应亮度及色度分量中的一个的第一权重及第二权重,仅生成最终亮度预测块或最终色度预测块。
在一个实例中,当使用帧间帧内预测时,色度分量及亮度分量可以共享相同的MI及IPM。或者,在使用帧间帧内预测时,色度分量及亮度分量可能具有不同的MI及IPM。例如,MI经推导为帧间译码块或合并块中的MI,且由亮度及色度分量共享。对于亮度分量,IPM是以帧内预测模式传播方式推导,如在2018年3月20日提交的申请案第15/926,550号中规定。但是对于色度分量,IPM始终为“联合探索测试模型6的算法描述”中所定义的LM模式。替代地。对于色度分量,IPM始终为“联合探索测试模型6的算法描述”中所定义的MMLM模式。
在一个实例中,将名为帧间帧内预测旗标的旗标从视频编码器200发信号通知到视频解码器300,以指示是否将帧内预测及帧间预测的组合应用于块中。可替代地,可以发信号通知预测方法的索引。在一个实例中,预测方法可以包含但不限于帧内预测、帧间预测、帧间帧内预测。
上文描述了用于基于根据帧内预测模式所生成的第一预测块与根据帧间预测模式所生成的第二预测块的加权组合确定最终预测块(例如,帧间帧内预测块)的各种实例。下面描述可以与帧间帧内预测一起使用的额外实例技术。
在一个实例中,未将任何显式旗标从视频编码器200发信号通知到视频解码器300以指示是否在块中应用帧内预测及帧间预测的组合(例如,不需要显式信令来指示预测是否用帧间帧内预测块)。替代地,视频编码器200及视频解码器300可以以相同的方式操作以确定帧内预测与帧间预测的组合是否应用于块中(例如,帧间帧内预测块是否将被用作最终预测块)。
举例来说,合并候选者列表中的一些候选者被用于指示帧内预测与帧间预测的组合用于当前块。在此方法中,除了现有的合并候选者(用复制的或推导的运动信息表示帧间预测模式)之外,还将额外候选者(表示帧间帧内预测模式)添加到合并候选者列表中。
表示帧间帧内预测模式的候选者(也被称为帧间帧内候选者)是指用于生成包含帧间帧内预测块的样本值的帧间帧内预测块的信息。举例来说,视频编码器200及视频解码器300包含帧间帧内候选者,且帧间帧内候选者包含用以根据帧内预测模式生成第一预测块的信息及用以根据帧间预测模式生成第二预测块的信息。
视频编码器200及视频解码器300可以根据上文所描述的任何实例技术使用第一预测块及第二预测块来生成帧间帧内预测块,或可以使用任何其它技术来生成帧间帧内预测块。因此,在本发明中,当帧间帧内候选者被描述为被插入或添加到候选者列表(例如,合并候选者列表或AMVP候选者列表)时,此描述可以被认为意指视频编码器200及视频解码器300包含用于生成第一预测块及第二预测块的运动信息及帧内预测模式,且第一预测块及第二预测块用于生成帧间帧内预测块。
可以存在多种视频编码器200及视频解码器300借以确定帧间候选者的运动信息及帧内预测模式的方式。举例来说,可以基于一或多个相邻块的运动信息及/或帧内预测模式发信号通知运动信息及/或帧内预测模式,或可以确定(例如,在没有信令的情况下推导)运动信息及/或帧内预测模式。可以存在可借以确定帧间帧内候选者的运动信息及帧内预测模式的其它方式,且所述技术不限于以上实例。
在一个实例中,将一或多个帧间帧内候选者插入到合并候选者列表中。当为当前合并译码块选择帧间帧内候选者时,在块中使用帧间帧内预测。举例来说,假设帧间帧内候选者位于候选者列表的索引[1]中。在此实例中,视频编码器200可将索引值1发信号通知到候选者列表中。视频解码器300可以确定:基于候选者列表中的值1,帧间帧内预测块被用作预测块(例如,视频解码器300将使用帧间帧内候选者的运动信息及帧内预测模式信息来生成帧间帧内预测块)。
图13为说明构造包含帧间帧内候选者的合并候选者列表的实例方式的流程图。图14为说明构造包含帧间帧内候选者的合并候选者列表的另一实例方式的流程图。例如,图13及14展示将帧间帧内候选者插入到合并候选者列表中的实例。图13展示在检查每一普通合并候选者之后调用插入帧间帧内候选者的程序。例如,图13类似于图10;然而,在检查每一普通合并候选者之后附加帧间帧内候选者。
例如,视频译码器(例如,视频编码器200及视频解码器300中的一个或两个)可以检查图9的块A1(400),且确定其是否有效(402)。如果有效(402为是),那么视频译码器将A1的运动信息附加到合并候选者列表(404)。如果无效(402为“否”)或在附加到合并候选者列表之后(404),那么视频译码器可插入帧间帧内候选者(406)。
视频译码器然后可以检查图9的B1(408),且确定其是否有效(410)。如果有效(410为是),那么视频译码器将B1的运动信息附加到合并候选者列表(412)。如果无效(410为“否”)或在附加到合并候选者列表之后(412),那么视频译码器可插入帧间帧内候选者(414)。
视频译码器然后可以检查图9的B0(416),且确定其是否有效(418)。如果有效(418为是),那么视频译码器将B0的运动信息附加到合并候选者列表(420)。如果无效(418为“否”)或在附加到合并候选者列表之后(420),那么视频译码器可插入帧间帧内候选者(422)。
视频译码器然后可以检查图9的A0(424),且确定其是否有效(426)。如果有效(426为是),那么视频译码器将A0的运动信息附加到合并候选者列表(428)。如果无效(426为“否”)或在附加到合并候选者列表之后(428),那么视频译码器可插入帧间帧内候选者(430)。
视频译码器然后可以检查图9的B2(432),且确定其是否有效(434)。如果有效且在合并候选者列表中的项目少于四个(例如,归因于上文关于图7A所描述的删除)(434为是),视频译码器将B2的运动信息附加到合并候选者列表(436)。如果无效或条目不少于四个(434为否)或在附加到合并候选者列表之后(436),那么视频译码器可插入帧间帧内候选者(438)。
视频译码器然后可以检查图8A的TMVP(440),且确定其是否有效(442)。如果有效(442为是),那么视频译码器将TMVP的运动信息(如果需要,基于图8B的缩放)附加到合并候选者列表(444)。如果无效(442为“否”)或在附加到合并候选者列表之后(444),那么视频译码器可插入帧间帧内候选者(446)。
视频然后可以确定候选者列表是否已满(448)。如果候选者列表已满(448为是),那么合并候选者列表构造过程结束。如果候选者列表未满(448为否),那么视频译码器添加组合式双候选者(450),且可以插入帧间帧内候选者(452)。视频译码器可确定是否更多的组合式双候选者可用(454)。如果更多双候选者可用(454为是),且候选者列表未满(448为否),那么视频译码器可能会添加另一双候选者且插入另一帧间帧内候选者,且不断重复,直到没有更多双候选者或候选者列表未满为止。
如果没有更多的双候选者(454为否),且候选者列表未满(456为否),那么视频译码器可以将一个默认固定候选者添加到候选者列表中(458)且插入帧间帧内候选者(460)。视频译码器可继续将一个默认固定候选者及帧间帧内候选者添加到合并候选者列表中,直到合并候选者列表已满(456为是)。
在图13的实例中,所插入的帧间帧内候选者可为相同帧间帧内候选者,或帧间-帧内候选者中的两个或多于两个可不同。举例来说,视频编码器200及视频解码器300可以使用不同的加权或不使用加权,或使用根据用于生成帧间帧内预测块的帧间预测模式及帧内预测模式生成的不同的起始预测块。此外,尽管图13展示帧间帧内候选者是在将每一常规候选者添加到合并候选者列表之后插入,但技术并不限于此。举例来说,如果视频译码器一次插入帧间帧内候选者,那么视频译码器可能不插入另一帧间帧内候选者。
图14展示插入帧间帧内候选者的示范性程序。变量lastIndexC表示使用帧间帧内预测的最后合并候选者的索引,且将其初始化为-1。InterIntraFlag[k]表示具有候选者k的合并候选者是使用帧间帧内预测(InterIntraFlag[k]=1)还是不使用(InterIntraFlag[k]=0),且对于所有k∈[0,MaxMergNum-1],InterIntraFlag[k]经初始化为0,其中maxMergeNum为合并候选者列表的大小。CurMergeIdx为要附加到合并候选者列表中的合并候选者的索引。在将新候选者附加到合并候选者列表之后,CurMergeIdx设置为CurMergeIdx+1。MinInterIntraIdx表示使用帧间帧内预测的合并候选者的所允许最小合并索引。InterIntraNum表示使用帧间帧内预测的所允许合并候选者数目。
举例来说,视频译码器可确定合并候选者列表是否已满(462)。如果合并候选者列表已满(462为是),那么合并候选者列表构造过程结束。如果合并候选者列表不完整(N为462),那么视频译码器可确定CurMergeIdx是否小于MinInterIntraIdx且InterintraNum是否小于MaxinterintraNum(464)。如果CurMergeIdx不小于MinInterIntraIdx或InterintraNum不小于MaxinterintraNum(464为否),那么合并候选者列表构造过程结束。
如果CurMergeIdx小于MinInterIntraIdx且InterintraNum小于MaxinterintraNum(464为Y),那么视频译码器可能会找到满足以下条件的最小IndexC:IndexC大于LastIndexC,IndexC小于CurMergeIdx,且InterintraFlag[IndexC]等于0(466)。视频译码器可确定是否可找到满足上述条件的IndexC的值(468)。如果找不到IndexC(468为否),那么合并候选者列表构造过程结束。
如果可以找到IndexC(468为是),那么视频译码器可执行以下操作。视频译码器可将候选者[IndexC]的运动信息复制到候选者[CurMergeIdx]。视频译码器可将InterIntraFlag[CurMergeIdx]的值设置为等于1。视频译码器可将LastIndexC的值设置为等于CurMergeIdx,且将InterintraNum的值设置为等于InterintraNum加1(470)。视频译码器可接着将候选者[CurMergeIdx]作为最后候选者附加到候选者列表(即,将CurMergeIdx设置为等于CurMergeIdx加1)(472)。合并候选者构造过程可然后结束,或在一些实例中,视频译码器可再次确定合并候选者列表是否已满(462),且重复图14的实例操作直到合并候选者列表已满。
如图14中所展示,使用帧间帧内预测的合并后选择可共享与其之前合并候选者相同的MI,例如,其中视频译码器复制运动信息,如关于参考编号(470)所描述。在图14的实例中,使用帧间帧内预测的合并候选者从未使用尚未复制的帧间帧内预测的之前合并候选者复制MI。
举例来说,在图14中,视频编码器200及视频解码器300可确定候选者运动实例预测值列表中由最小索引识别的帧间预测块的运动信息以确定用以根据帧间预测模式生成预测块的信息(例如,复制由最小索引识别的帧间预测块的运动信息)。视频编码器200及视频解码器300可基于运动信息生成预测块。视频编码器200及视频解码器300随后可基于此所生成的预测块生成帧间帧内预测块。
在一些实例中,MinInterIntraIdx可以在视频编码器200及视频解码器300两者处为固定预定义数字,或其可以从视频编码器200发信号通知到视频解码器300,例如在视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、图块标头、译码树单元(CTU)或译码单元(CU)。InterIntraNum可以在视频编码器200及视频解码器300两者处为固定预定义数字,或其可以从视频编码器200发信号通知到视频解码器300,例如在视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、图块标头、译码树单元(CTU)或译码单元(CU)。
在一些实例中,MinInterIntraIdx及/或InterIntraNum可能取决于先前译码信息。举例来说,MinInterIntraIdx可以取决于当前图片的时间层。对于具有较高时间层的图块,MinInterIntraIdx可能更大。
在一个实例中,视频编码器200及视频解码器300可以利用先前译码的信息来确定是否使用帧间帧内预测及/或发信号通知帧间帧内预测旗标的方式。举例来说,如果以帧速率升频转换(FRUC)模式译码当前块,那么帧间帧内预测旗标被发信号通知以指示是否使用帧间帧内预测。如果以类似HEVC的合并模式译码当前块,那么不会发信号通知帧间帧内预测旗标,且其从合并索引隐式推导是否使用帧间帧内预测。如果以类似HEVC的高级运动矢量预测(AMVP)模式译码当前块,那么无法使用帧间帧内预测,且也不会发信号通知帧间帧内预测旗标。
可以例如在视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、图块标头、译码树单元(CTU)或译码单元(CU)中将旗标从视频编码器200发信号通知到视频解码器300,以指示是否可以使用帧间帧内预测。如果此旗标为0,那么禁用块级帧间帧内预测(“禁用”意指不存在帧间帧内预测旗标块级别,且也不存在隐式推导的帧间帧内预测,例如帧间帧内合并候选者)。
可存在对帧间帧内预测的约束。对于具有某些译码工具的块,可能始终禁用帧间帧内预测。举例来说,当块使用照明补偿(IC)预测时,可禁用帧间帧内预测。在另一实例中,当块使用仿射预测时,将禁用帧间帧内预测。在此状况下(例如,在使用仿射预测的情况下),可能不需要视频编码器200向视频解码器300发信号通知对于具有IC或仿射预测的那些块使用帧间帧内预测方法。
在一些实例中,对于具有某些大小的块可始终禁用帧间帧内预测。此外,帧间帧内预测中应用的帧内预测可以与其它译码工具结合。举例来说,PDPC可以应用于帧间帧内预测中使用的平面预测。
因此,在一些实例中,视频译码器(例如,视频编码器200或视频解码器300)可以构造当前块的候选运动矢量预测值列表。候选运动矢量预测值列表的实例包含合并候选者列表及AMVP候选者列表。
为了构造候选运动矢量预测值列表,视频译码器在候选矢量运动预测值列表中包含帧间预测候选者。帧间预测候选者的实例为当前块的相邻或并置块的运动信息。举例来说,帧间预测候选者可以包含图9中所说明的块A0、A1、B0、B1或B2中的一个的运动信息或例如图8A中所说明的块T的并置块。
为了构造候选运动矢量预测值列表,视频译码器在候选矢量运动预测值列表中包含帧间帧内预测候选者。帧间帧内候选者包含用以根据帧内预测模式生成第一预测块的信息及用以根据帧间预测模式生成第二预测块的信息。视频译码器基于第一预测块及第二预测块生成帧间帧内预测块。举例来说,视频译码器可利用上述实例技术中的任一种来生成帧间帧内预测块(例如,基于加权组合或其它)。
视频译码器可确定帧间帧内候选者将被用作当前块的预测块。举例来说,视频编码器200可确定当前块与预测块之间的残差,以及指示残差的信号信息。视频解码器300可将预测块添加到所接收残差块以重构当前块。
由于帧间帧内预测候选者为候选运动矢量预测值列表的一部分,因此视频编码器200可能无需发信号通知指示当前块是在帧间帧内预测模式下预测(例如,用帧间帧内预测块预测)的任何额外信息。而是,通过发信号通知对候选运动矢量预测值列表的索引,视频编码器200可使用帧间帧内预测模式。举例来说,当视频解码器300基于所接收对运动矢量预测值列表的索引存取运动矢量预测值列表中的帧间帧内候选者时,视频解码器300可以确定使用帧间帧内预测块来预测当前块,因为帧间帧内候选者由索引识别。这种方式,候选运动矢量预测值列表也被利用为视频解码器300借以可以确定使用帧间帧内预测块来预测当前块的方式,而无需来自视频编码器200的指示针对当前块启用帧间帧内预测模式的任何单独信令。
在一些实例中,视频译码器可在包含帧间预测候选者之后将帧间预测候选者包含在候选运动矢量预测值列表中。举例来说,如图13的流程图中所说明,视频译码器可首先附加关于块A1、B1、B0、A0、B2中的一个的运动信息或TMVP,且在将这些块中的一个的运动信息附加到候选运动矢量预测值列表中之后,视频译码器可插入帧间帧内候选者。
在一些实例中,视频译码器可确定可包含帧间帧内候选者的最小索引(例如,MinInterIntraIdx),且视频译码器可基于帧间帧内候选者可包含在其中的所确定最小索引将帧间帧内候选者包含在候选运动矢量预测值列表中。在一些实例中,视频译码器可确定允许的帧间帧内候选者的最大数目(例如,InterIntraNum),且视频译码器可基于允许的帧间帧内候选者的所确定最大数目将帧间帧内候选者包含在候选运动矢量预测值列表中。在一些实例中,视频译码器可复制帧间预测候选者的运动信息作为帧间帧内候选者的运动信息。
图11为说明可执行本发明的技术的实例视频编码器200的框图。图11是出于解释的目的而提供且不应认为是对本发明中广泛例示及描述的技术的限制。出于解释的目的,本发明在例如HEVC视频译码标准及正在开发的H.266视频译码标准的视频译码标准的上下文中描述视频编码器200。然而,本发明的技术不限于这些视频译码标准,且一般地适用于视频编码及解码。视频编码器200为经配置以执行本发明中所描述的一或多个实例技术的处理电路系统(例如,固定功能、可编程,或固定功能与可编程的组合)的实例。
在图11的实例中,视频编码器200包含视频数据存储器230、模式选择单元202、残差生成单元204、变换处理单元206、量化单元208、逆量化单元210、逆变换处理单元212、重构单元214、滤波器单元216、经解码图片缓冲器(DPB)116及熵编码单元220。
视频数据存储器230可存储要由视频编码器200的组件编码的视频数据。视频编码器200可从例如视频源104(图1)接收存储在视频数据存储器230中的视频数据。DPB 218可充当参考图片存储器,其存储参考视频数据以供视频编码器200预测后续视频数据。视频数据存储器230及DPB 218可由各种存储器装置中的任一者形成,例如动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻RAM(MRAM)、电阻RAM(RRAM)或其它类型的存储装置。视频数据存储器230及DPB 218可由相同的存储器装置或单独存储器装置提供。在各种实例中,视频数据存储器230可与视频编码器200的其它组件在芯片上,如所说明,或相对于那些组件在芯片外。
在本发明中,对视频数据存储器230的提及不应解释为限于视频编码器200内部的存储器,除非明确地如此描述,或视频编码器200外部的存储器,除非明确地如此描述。而是,对视频数据存储器230的提及应被理解为存储视频编码器200接收的用于编码的视频数据(例如,用于待编码的当前块的视频数据)的参考存储器。图1的存储器106也可提供对来自视频编码器200的各种单元的输出的暂时存储。
图11的各种单元经说明以辅助理解由视频编码器200执行的操作。这些单元可实施为为固定功能电路,可编程电路或其组合。固定功能电路是指提供特定功能性的电路,且预设在可执行的操作上。可编程电路是指可编程以执行各种任务且在可执行的操作中提供灵活的功能的电路。举例来说,可编程电路可执行软件或固件,其致使可编程电路以由软件或固件的指令定义的方式操作。固定功能电路可执行软件指令(例如,接收参数或输出参数),但固定功能电路执行的操作类型通常为不可变的。在一些实例中,单元中的一或多者可为不同的电路块(固定功能或可编程),且在一些实例中,一或多个单元可为集成电路。
视频编码器200可包含由可编程电路形成的算术逻辑单元(ALU)、基本功能单元(EFU)、数字电路、模拟电路及/或可编程核心。在其中使用可由可编程电路执行的软件执行的视频编码器200的操作的实例中,存储器106(图1)可存储视频编码器200接收并执行的软件的目的码,或视频编码器200内的另一存储器(未展示)可存储此些指令。
视频数据存储器230经配置以存储所接收视频数据。视频编码器200可从视频数据存储器230检索视频数据的图片且将视频数据提供到残差生成单元204及模式选择单元202。视频数据存储器230中的视频数据可为待编码的原始视频数据。
模式选择单元202包含运动估计单元222、运动补偿单元224及帧内预测单元226。模式选择单元202可包含额外功能单元以根据其它预测模式执行视频预测。作为实例,模式选择单元202可包含调色板单元、帧内块复制单元(其可为运动估计单元222及/或运动补偿单元224的部分)、仿射单元、线性模型(LM)单元,等等。
模式选择单元202通常协调多个编码通道以测试编码参数的组合以及此等组合的所得速率-失真值。编码参数可包含将CTU分割为CU,用于CU的预测模式,用于CU的残差数据的变换类型,用于CU的残差数据的量化参数,等等。模式选择单元202可最终选择具有比其它测试组合更好的速率-失真值的编码参数的组合。
视频编码器200可将从视频数据存储器230检索的图片分割成一系列CTU,并将一或多个CTU封装在图块内。模式选择单元202可根据树结构(例如上述所描述的QTBT结构或HEVC的四叉树结构)来分割图片的CTU。如上文所描述,视频编码器200可根据树结构由对CTU进行分割形成一或多个CU。此CU通常也可被称作为“视频块”或“块”。
通常,模式选择单元202还控制其组件(例如,运动估计单元222、运动补偿单元224及帧内预测单元226)以生成当前块(例如,当前CU,或在HEVC中,PU及TU的重叠部分)的预测块。对于当前块的帧间预测,运动估计单元222可执行运动搜索以识别一或多个参考图片(例如,存储于DPB 218中的一或多个先前译码图片)中的一或多个紧密匹配的参考块。特定来说,运动估计单元222可例如根据绝对差和(SAD),平方差和(SSD),平均绝对差(MAD)、均方差(MSD)等等计算表示潜在参考块与当前块的相似程度的值。运动估计单元222通常可使用当前块与所考虑的参考块之间的逐样本差异来执行这些计算。运动估计单元222可识别具有由这些计算得到的最低值的参考块,指示与当前块最紧密匹配的参考块。
运动估计单元222可形成一或多个运动矢量(MV),其界定参考图片中的参考块相对于当前图片中的当前块的位置的位置。然后,运动估计单元222可将运动矢量提供到运动补偿单元224。举例来说,对于单向帧间预测,运动估计单元222可提供单个运动矢量,而对于双向帧间预测,运动估计单元222可提供两个运动矢量。然后,运动补偿单元224可使用运动矢量来生成预测块。举例来说,运动补偿单元224可使用运动矢量来检索参考块的数据。作为另一实例,如果运动矢量具有分数采样精度,那么运动补偿单元224可根据一或多个内插滤波器对预测块的值进行内插。此外,对于双向帧间预测,运动补偿单元224可检索由相应运动矢量识别的两个参考块的数据,并组合所检索的数据,例如,通过逐样本平均或加权平均。
作为另一实例,对于帧内预测或帧内预测译码,帧内预测单元226可从邻近当前块的样本生成预测块。举例来说,对于方向模式,帧内预测单元226通常可在数学上组合相邻样本的值,并在当前块上的定义方向上填充这些计算值以产生预测块。作为另一实例,对于DC模式,帧内预测单元226可计算相邻于当前块的样本的平均值,并生成预测块以包含预测块的每一样本的此所得平均值。
模式选择单元202将预测块提供到残差生成单元204。残差生成单元204从视频数据存储器230接收当前块的原始未译码版本,并模式选择单元202接收预测块。残差生成单元204计算当前块与预测块之间的逐样本差异。所得到逐个样本差异定义当前块的残差块。在一些实例中,残差生成单元204还可确定残差块中的样本值之间的差异以使用残差差分脉冲码调制(RDPCM)生成残差块。在一些实例中,可使用执行二进制减法的一或多个减法器电路来形成残差生成单元204。
在模式选择单元202将CU分割为PU的实例中,每一PU可与亮度预测单元及对应色度预测单元相关联。视频编码器200及视频解码器300可支持具有各种大小的PU。如上文所指示,CU的大小可是指CU的亮度译码块的大小,且PU的大小可是指PU的亮度预测单元的大小。假设特定CU的大小为2N×2N,视频编码器200可支持用于帧内预测的2N×2N或N×N的PU大小,以及用于帧间预测的2N×2N、2N×N、N×2N、N×N或类似的对称PU大小。视频编码器200及视频解码器300还可支持用于帧间预测的2N×nU、2N×nD、nL×2N及nR×2N的PU大小的不对称分割。
在模式选择单元不进一步将CU分割为PU的实例中,每一CU可与亮度译码块及对应色度译码块相关联。如上文所述,CU的大小可是指CU的亮度译码块的大小。视频编码器200及视频解码器300可支持2N×2N,2N×N或N×2N的CU大小。
对于例如帧间帧内预测模式、帧内块复制模式译码、仿射模式译码及线性模型(LM)模式译码的其它视频译码技术,作为少数实例,模式选择单元202经由与译码技术相关联的相应单元生成正被编码的当前块的预测块。在一些实例中,例如调色板模式译码,模式选择单元202可不生成预测块,而是生成指示基于所选调色板重构块的方式的语法元素。在此些模式中,模式选择单元202可将这些语法元素提供到要编码的熵编码单元220。
如上文所描述,残差生成单元204接收关于当前块及对应预测块的视频数据。然后,残差生成单元204生成当前块的残差块。为了生成残差块,残差生成单元204计算预测块与当前块之间的逐样本差异。
变换处理单元206将一或多个变换应用于残差块以生成变换系数块(本文中被称作为“变换系数块”)。变换处理单元206可将各种变换应用于残差块以形成变换系数块。举例来说,变换处理单元206可将离散余弦变换(DCT)、方向变换、卡-洛(Karhunen-Loeve)变换(KLT)或概念上类似的变换应用于残差块。在一些实例中,变换处理单元206可对残差块执行多个变换,例如,主变换及次变换,例如旋转变换。在一些实例中,变换处理单元206不将变换应用于残差块。
量化单元208可量化变换系数块中的变换系数,以产生量化的变换系数块。量化单元208可根据与当前块相关联的量化参数(QP)值来量化变换系数块的变换系数。视频编码器200(例如,经由模式选择单元202)可通过调整与CU相关联的QP值来调整应用于与当前块相关联的系数块的量化程度。量化可能引入信息丢失,且因此,量化的变换系数可能具有比由变换处理单元206所产生的原始变换系数更低的精度。
逆量化单元210及逆变换处理单元212可分别将逆量化及逆变换应用于量化的变换系数块,以从变换系数块重构残差块。重构单元214可基于重构的残差块及由模式选择单元202生成的预测块产生对应于当前块的重构块(尽管可能具有一定程度的失真)。举例来说,重构单元214可将经重构残差块的样本添加到来自由模式选择单元202生成的预测块的对应样本以产生经重构块。
滤波器单元216可对经重构块执行一或多个滤波操作。举例来说,滤波器单元216可执行解块操作以减少沿着CU的边缘的块效应伪影。在一些实例中,可以跳过过滤器单元216的操作。
视频编码器200将重构块存储在DPB 218中。举例来说,在不需要滤波器单元216的操作的实例中,重构单元214可将重构的块存储到DPB 218。在需要滤波器单元216的操作的实例中,滤波器单元216可将经滤波的重构块存储到DPB 218。运动估计单元222及运动补偿单元224可从DPB 218检索由重构(且可能经过滤波)块形成的参考图片,以帧间预测随后编码的图片的块。另外,帧内预测单元226可使用当前图片的DPB 218中的重构块来帧内预测当前图片中的其它块。
通常,熵编码单元220可对从视频编码器200的其它功能组件接收的语法元素进行熵编码。举例来说,熵编码单元220可对来自量化单元208的经量化变换系数块进行熵编码。作为另一实例,熵编码单元220可对来自模式选择单元202的预测语法元素(例如,用于帧间预测的运动信息或用于帧内预测的帧内模式信息)进行熵编码。熵编码单元220可对作为视频数据的另一实例的语法元素执行一或多个熵编码操作,以生成熵编码数据。举例来说,熵编码单元220可对数据执行上下文自适应可变长度译码(CAVLC)操作、CABAC操作、变量到变量(V2V)长度译码操作、基于语法的上下文自适应二进制算术译码(SBAC)操作、概率区间分割熵(PIPE)译码操作,指数哥伦布编码操作,或另一类型的熵编码操作。在一些实例中,熵编码单元220可在旁路模式下操作,其中语法元素未经熵编码。
关于块描述上文所描述操作。此描述应被理解为用于亮度译码块及/或色度译码块的操作。如上文所描述,在一些实例中,亮度译码块及色度译码块为CU的亮度及色度分量。在一些实例中,亮度译码块及色度译码块为PU的亮度及色度分量。
在一些实例中,不需要针对色度译码块重复关于亮度译码块执行的操作。作为一个实例,不需要重复用以识别亮度译码块的运动矢量(MV)及参考图片的操作来识别用于色度块的MV及参考图片。而是,可缩放用于亮度译码块的MV以确定用于色度块的MV,且参考图片可为相同的。作为另一实例,帧内预测过程对于亮度译码块及色度译码块可为相同的。
视频编码器200表示经配置以编码视频数据的装置的实例,所述装置包含经配置以存储视频数据的存储器以及在电路中实施且经配置以执行本发明中所描述的实例技术的一或多个处理单元。
举例来说,视频编码器200的模式选择单元202可经配置以执行本发明中所描述的实例技术。然而,实例技术可以由其它组件或其它组件与模式选择单元202组合来执行。
作为一个实例,存储器,例如视频数据存储器230、DPB 218,及/或存储器106(图1),可经配置以存储参考图片及图片中的块的相邻样本的样本值。模式选择单元202可以经配置以使用存储在存储器中的参考图片及相邻样本值来生成帧间帧内预测块(例如,最终预测块)。
举例来说,模式选择单元202可以确定图片的块的帧内预测模式(例如,图4中所说明的模式中的一个)。模式选择单元202可以基于所确定帧内预测模式确定第一权重及第二权重,以将所述第一权重及第二权重应用于根据帧内预测模式生成的第一预测块及根据帧间预测模式生成的第二预测块中的相应一个。作为一个实例,存储器可以存储指示与每一帧内预测模式相关联的权重的信息,且模式选择单元202可以剖析存储器以确定第一权重及第二权重。
作为另一实例,存储器可以存储指示与帧内预测模式的分类相关联的权重的信息,且模式选择单元202可以剖析存储器以基于所述分类确定第一权重及第二权重。举例来说,模式选择单元202可以基于帧内预测模式确定帧内预测模式分类。为了确定帧内预测模式,模式选择单元202可以从多个范围确定帧内预测模式所驻留的范围。多个范围可以基于与对应的帧内预测模式的预测方向相关联的角度。然后,模式选择单元202可以基于所确定范围确定帧内预测模式分类。模式选择单元202可以基于所确定帧内预测模式分类确定第一权重及第二权重。
作为另一实例,第一权重及第二权重也可以基于从帧间及帧内预测模式技术生成的预测块的样本值的相应位置。举例来说,在根据帧内预测模式生成的第一预测块中,位于(0,0)处的第一样本可以经指派对应权重值,位于(0,1)处的第二样本可以经指派对应权重值,等等。对应权重值也可以基于帧内预测模式。类似地,在根据帧内预测模式生成的第二预测块中,位于(0,0)处的第一样本可以经指派对应权重值,位于(0,1)处的第二样本可以经指派对应权重值,等等。对应权重值也可以基于帧内预测模式。
作为另一实例,模式选择单元202可以基于具有由帧内预测模式定义的值及一或多个系数的多项式方程式确定第一权重及第二权重。一或多个系数可能仅为整数。上文给出了多项式方程式的实例。
在一些实例中,模式选择单元202可以经配置以构造包含帧间帧内候选者的候选者列表。举例来说,模式选择单元202可以构造用于当前块的候选运动矢量预测值列表,以存储在存储器中。为了构造候选运动矢量预测值列表,模式选择单元202可以在候选运动矢量预测值列表中包含帧间预测候选者。帧间预测候选者包含当前块的相邻或并置块的运动信息。图13的流程图说明包含在候选运动矢量预测值列表中的相邻或并置块的实例。
模式选择单元202还可以在候选运动矢量预测值列表中包含帧间帧内候选者。帧间帧内候选者包含用以根据帧内预测模式生成第一预测块的信息及用以根据帧间预测模式生成第二预测块的信息。
模式选择单元202可以确定帧间帧内候选者将被用作当前块的预测块。模式选择单元202可以将索引值发信号通知到候选运动矢量预测值列表中,所述索引值识别候选运动矢量预测值列表中的帧间帧内候选者。
图12为说明可执行本发明的技术的实例视频解码器300的框图。图12是出于解释的目的而提供且不限制本发明中广泛例示及描述的技术。视频解码器300为经配置以执行本发明中所描述的一或多个实例技术的处理电路系统(例如,固定功能、可编程,或固定功能与可编程的组合)的实例。
出于解释的目的,本发明描述根据JEM及HEVC的技术来描述视频解码器300。然而,本发明的技术可由经配置成其它视频译码标准的视频译码装置来执行。
在图12的实例中,视频解码器300包含经译码图片缓冲器(CPB)存储器320、熵译码单元302、预测处理单元304、逆量化单元306、逆变换处理单元308、重构单元310、滤波器单元312及经解码图片缓冲器(DPB)314。预测处理单元304包含运动补偿单元316及帧内预测单元318。预测处理单元304可包含用以根据其它预测模式执行预测的加法单元。作为实例,预测处理单元304可包含调色板单元、帧内块复制单元(其可形成运动补偿单元316的部分)、仿射单元、线性模型(LM)单元,等等。在其它实例中,内容解码器300可包含更多、更少或不同的功能组件。
CPB存储器320可存储视频数据,例如经编码视频位流,以由视频解码器300的组件解码。举例来说,可从计算机可读媒体110(图1)获得存储在CPB存储器320中的视频数据。CPB存储器320可包含CPB,其存储来自经编码视频位流的经编码视频数据(例如,语法元素)。此外,CPB存储器320可存储除了译码图片的语法元素之外的视频数据,例如表示来自视频解码器300的各种单元的输出的临时数据。DPB 314通常存储经解码图片,当解码经编码视频位流的后续数据或图片时,视频解码器300可输出所述经解码图片及/或将其用作参考视频数据。CPB存储器320及DPB 314可由各种存储器装置中的任一者形成,例如,动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。CPB存储器320及DPB 314可由相同存储器装置或单独的存储器设备提供。在各种实例中,CPB存储器320可与视频编码器300的其它组件在芯片上,或相对于那些组件在芯片外。
另外或替代地,在一些实例中,视频解码器300可从存储器120(图1)检索经译码视频数据。也就是说,存储器120可如上文所述将数据存储在CPB存储器320内。同样,当视频解码器300的一些或全部功能以软件实施以由视频解码器300的处理电路执行时,存储器120可存储欲由视频解码器300执行的指令。
图12中所展示的各种单元经说明以辅助理解由视频编码器300执行的操作。这些单元可实施为为固定功能电路,可编程电路或其组合。类似于图11,固定功能电路是指提供特定功能性的电路,且预设在可执行的操作上。可编程电路是指可编程以执行各种任务且在可执行的操作中提供灵活的功能的电路。举例来说,可编程电路可执行软件或固件,其致使可编程电路以由软件或固件的指令定义的方式操作。固定功能电路可执行软件指令(例如,接收参数或输出参数),但固定功能电路执行的操作类型通常为不可变的。在一些实例中,单元中的一或多者可为不同的电路块(固定功能或可编程),且在一些实例中,一或多个单元可为集成电路。
视频解码器300可包含ALU、EFU、数字电路、模拟电路及/或由可编程电路形成的可编程核心。在视频解码器300的操作由在可编程电路上执行的软件执行的实例中,片上或片外存储器可存储视频解码器300接收及执行的软件的指令(例如,目标代码)。
熵解码单元302可从CPB接收经编码视频数据且对视频数据进行熵解码以再现语法元素。预测处理单元304、逆量化单元306、逆变换处理单元308、重构单元310及滤波器单元312可基于从位流提取的语法元素生成经解码视频数据。
通常,视频解码器300在逐块的基础上重构图片。视频解码器300可单独地对每一块执行重构操作(其中当前正被重构(即,经解码)的块可被称作为“当前块”)。
熵解码单元302可对定义经量化变换系数块的经量化变换系数的语法元素以及变换信息(例如,量化参数(QP)及/或变换模式指示)进行熵解码。逆量化单元306可使用与量化的变换系数块相关联的QP来确定量化程度,且同样地确定要应用的逆量化单元306的逆量化的程度。逆量化单元306可例如执行按位左移操作以逆量化经量化变换系数。因此,逆量化单元306可形成包含变换系数的变换系数块。
在逆量化单元306形成变换系数块之后,逆变换处理单元308可将一或多个逆变换应用于变换系数块以生成与当前块相关联的残差块。举例来说,逆变换处理单元308可将逆DCT、逆整数变换、逆卡-洛(Karhunen-Loeve)变换(KLT)、逆旋转变换、逆向变换或另一逆变换应用于系数块。
此外,预测处理单元304根据由熵解码单元302进行熵解码的预测信息语法元素来生成预测块。举例来说,如果预测信息语法元素指示当前块为帧间预测的,那么运动补偿单元316可生成预测块。在此状况下,预测信息语法元素可指示DPB 314中的参考图片以及运动矢量,从所述参考图片检索参考块,所述运动矢量相对于当前块在当前图片中的位置识别参考块在参考图片中的位置。运动补偿单元316可通常以基本上类似于关于运动补偿单元224(图11)所描述的方式的方式执行帧间预测过程。
作为另一实例,如果预测信息语法元素指示当前块为帧内预测的,那么帧内预测单元318可根据由预测信息语法元素指示的帧内预测模式生成预测块。此外,帧内预测单元318可通常以基本上类似于关于运动补偿单元226(图11)所描述的方式的方式执行帧间预测过程。帧内预测单元318可从DPB 314检索相邻于当前块的样本的数据。
重构单元310可使用预测块及残差块来重构当前块。举例来说,重构单元310可将残差块的样本添加到预测块的对应样本以重构当前块。
滤波器单元312可对经重构块执行一或多个滤波操作。举例来说,滤波器单元312可执行解块操作以减少沿着重构块的边缘的块效应伪影。不一定在所有实例中都执行滤波器单元312的操作。
视频解码器300可将重构块存储在DPB 314中。如上文所论述,DPB 314可将例如用于帧内预测的当前图片的样本及用于后续运动补偿的先前经解码图片的参考信息提供到预测处理单元304。此外,视频解码器300可从DPB输出经解码图片以用于随后呈现在例如图1的显示装置118的显示装置上。
以这种方式,视频解码器300表示视频解码设备的实例,该视频解码设备包含经配置以存储视频数据的存储器以及在电路中实现并经配置以执行本发明中描述的实例操作的一或多个处理单元。
举例来说,视频解码器300的预测处理单元304可经配置以执行本发明中所描述的实例技术。然而,实例技术可以由其它组件或其它组件与预测处理单元304组合来执行。
作为一个实例,存储器,例如CPB存储器320、DPB 314,及/或存储器120(图1),可经配置以存储参考图片及图片中的块的相邻样本的样本值。预测处理单元304可以经配置以使用存储在存储器中的参考图片及相邻样本值来生成帧间帧内预测块(例如,最终预测块)。
举例来说,预测处理单元304可以与发信号通知的信息确定图片的块的帧内预测模式(例如,图4中所说明的模式中的一个)。预测处理单元304可以基于所确定帧内预测模式确定第一权重及第二权重,以将所述第一权重及第二权重应用于根据帧内预测模式生成的第一预测块及根据帧间预测模式生成的第二预测块中的相应一个。作为一个实例,存储器可以存储指示与每一帧内预测模式相关联的权重的信息,且预测处理单元304可以剖析存储器以确定第一权重及第二权重。
作为另一实例,存储器可以存储指示与帧内预测模式的分类相关联的权重的信息,且预测处理单元304可以剖析存储器以基于所述分类确定第一权重及第二权重。举例来说,预测处理单元304可以基于帧内预测模式确定帧内预测模式分类。为了确定帧内预测模式,预测处理单元304可以从多个范围确定帧内预测模式所驻留的范围。多个范围可以基于与对应的帧内预测模式的预测方向相关联的角度。然后,预测处理单元304可以基于所确定范围确定帧内预测模式分类。预测处理单元304可以基于所确定帧内预测模式分类确定第一权重及第二权重。
作为另一实例,第一权重及第二权重也可以基于从帧间及帧内预测模式技术生成的预测块的样本值的相应位置。举例来说,在根据帧内预测模式生成的第一预测块中,位于(0,0)处的第一样本可以经指派对应权重值,位于(0,1)处的第二样本可以经指派对应权重值,等等。对应权重值也可以基于帧内预测模式。类似地,在根据帧内预测模式生成的第二预测块中,位于(0,0)处的第一样本可以经指派对应权重值,位于(0,1)处的第二样本可以经指派对应权重值,等等。对应权重值也可以基于帧内预测模式。
作为另一实例,预测处理单元304可以基于具有由帧内预测模式定义的值及一或多个系数的多项式方程式确定第一权重及第二权重。一或多个系数可能仅为整数。上文给出了多项式方程式的实例。
在一些实例中,预测处理单元304可以经配置以构造包含帧间帧内候选者的候选者列表。在一些实例中,预测处理单元304可以经配置以构造包含帧间帧内候选者的候选者列表。举例来说,预测处理单元304可以构造用于当前块的候选运动矢量预测值列表,以存储在存储器中。为了构造候选运动矢量预测值列表,预测处理单元304可以在候选运动矢量预测值列表中包含帧间预测候选者。帧间预测候选者包含当前块的相邻或并置块的运动信息。图13的流程图说明包含在候选运动矢量预测值列表中的相邻或并置块的实例。
模式选择单元304还可以在候选运动矢量预测值列表中包含帧间帧内候选者。帧间帧内候选者包含用以根据帧内预测模式生成第一预测块的信息及用以根据帧间预测模式生成第二预测块的信息。
预测处理单元304可以基于帧间帧内候选者重构当前块。举例来说,预测处理单元304可将预测块(例如,帧间帧内预测块)的值添加到由视频编码器200发信号通知的残差块的值以重构当前块。
图15为说明解码视频数据的实例方法的流程图。如所说明,在图15中,视频解码器300可确定图片的当前块的帧内预测模式(500)。例如,视频解码器300可以从位流接收指示帧内预测模式的信息。作为另一实例,视频解码器300可以基于相邻块的帧内预测模式确定当前块的帧内预测模式。
视频解码器300可基于所确定帧内预测模式确定第一权重及第二权重(502)。如上文及下文进一步所描述,第一权重及第二权重可以用于应用于根据帧内预测模式生成的第一预测块,或根据帧间预测模式生成的第二预测块。
作为一个实例,对于每一帧内预测模式,可以存在第一权重及第二权重的相关联值,且视频解码器300可以基于相关联值确定第一权重及第二权重。作为另一实例,视频解码器300可以基于帧内预测模式确定帧内预测模式分类。例如,视频解码器300可以从多个范围确定帧内预测模式所驻留的范围,且基于所确定范围确定帧内预测模式分类。视频解码器300可以基于所确定帧内预测模式分类确定第一权重及第二权重。
在一些实例中,视频解码器300可以基于帧内预测模式以及每一样本在相应第一预测块及第二预测块中的位置确定相应第一预测块及第二预测块中的每一样本的相应第一权重及第二权重。举例来说,对于相应第一预测块及第二预测块中的每一样本,视频解码器300可以确定相应第一权重及第二权重。相应第一权重及第二权重可以基于相应样本在第一预测块及第二预测块中的位置且基于帧内预测模式。在一些实例中,对于第一预测块及第二预测块中的所有样本,第一权重及第二权重可以相同。
在一个实例中,视频解码器300可基于具有由帧内预测模式所定义的值及一或多个系数的多项式方程式确定第一权重及第二权重。在一些实例中,一或多个系数为整数。
视频解码器300可根据帧内预测模式生成图片的当前块的第一预测块(504)。例如,视频解码器300可以基于存储在存储器中的相邻样本值生成预测块,其中待使用的哪些相邻样本值由帧内预测模式定义。
视频解码器300可根据帧间预测模式生成图片的当前块的第二预测块(506)。例如,视频解码器300可以基于所接收信息或基于相邻块的运动信息确定运动矢量及参考图片。视频解码器300可从存储器中检索由运动矢量识别的参考图片的预测块。
视频解码器300可将第一权重应用于第一预测块以生成第一加权块(508)。举例来说,视频解码器300可将第一权重与第一预测块中的每一样本相乘以生成第一加权块。如上文所描述,第一权重对于第一预测块中的每一样本可以为相同的,或第一预测块中的两个或多于两个样本可以具有不同的第一权重(例如,第一权重的值是基于样本在第一预测块中的位置)。
视频解码器300可将第二权重应用于第二预测块以生成第二加权块(510)。举例来说,视频解码器300可将第二权重与第二预测块中的每一样本相乘以生成第二加权块。如上文所描述,第二权重对于第二预测块中的每一样本可以为相同的,或第二预测块中的两个或多于两个样本可以具有不同的第一权重(例如,第二权重的值是基于样本在第二预测块中的位置)。
视频解码器300可基于第一加权块及第二加权块(例如,第一加权块及第二加权块的总和)生成图片的当前块的最终预测块(512)。最终预测块也可以被称为帧间帧内预测块。在一个实例中,视频解码器300可将第一加权块及第二加权块相加以生成最终预测块。
如上文所描述,当前块可以包含亮度分量及色度分量。在一些实例中,为了生成最终预测块,视频解码器300可基于应用于第一预测块及第二预测块的相应亮度分量及色度分量的第一权重及第二权重生成最终亮度预测块及最终色度预测块两者。在一些实例中,为了生成最终预测块,视频解码器300可基于应用到第一预测块及第二预测块的相应亮度分量及色度分量中的仅一个的第一权重及第二权重仅生成最终亮度预测块或最终色度预测块。
视频解码器300可基于最终预测块及最终预测块与图片的当前块之间的残差重构图片的当前块(514)。举例来说,视频解码器300可基于在位流中所接收信息生成残差块。视频解码器300可将残差块添加到最终预测块以重构图片的当前块。
图16为说明编码视频数据的实例方法的流程图。如所说明,在图16中,视频编码器200可确定图片的当前块的帧内预测模式(600)。例如,视频编码器200可以为相应帧内预测模式构造不同的预测块,且确定帧内预测模式中的哪一个提供最佳质量作为帧内预测模式。作为另一实例,视频编码器200可以基于相邻块的帧内预测模式确定帧内预测模式。
视频编码器200可基于所确定帧内预测模式确定第一权重及第二权重(602)。如上文及下文进一步所描述,第一权重及第二权重可以用于应用于根据帧内预测模式生成的第一预测块,或根据帧间预测模式生成的第二预测块。
作为一个实例,对于每一帧内预测模式,可以存在第一权重及第二权重的相关联值,且视频编码器200可以基于相关联值确定第一权重及第二权重。作为另一实例,视频编码器200可以基于帧内预测模式确定帧内预测模式分类。例如,视频编码器200可以从多个范围确定帧内预测模式所驻留的范围,且基于所确定范围确定帧内预测模式分类。视频编码器200可以基于所确定帧内预测模式分类确定第一权重及第二权重。
在一些实例中,视频编码器200可以基于帧内预测模式以及每一样本在相应第一预测块及第二预测块中的位置确定相应第一预测块及第二预测块中的每一样本的相应第一权重及第二权重。举例来说,对于相应第一预测块及第二预测块中的每一样本,视频编码器200可以确定相应第一权重及第二权重。相应第一权重及第二权重可以基于相应样本在第一预测块及第二预测块中的位置且基于帧内预测模式。在一些实例中,对于第一预测块及第二预测块中的所有样本,第一权重及第二权重可以相同。
在一个实例中,视频编码器200可基于具有由帧内预测模式所定义的值及一或多个系数的多项式方程式确定第一权重及第二权重。在一些实例中,一或多个系数为整数。
视频编码器200可根据帧内预测模式生成图片的当前块的第一预测块(604)。例如,视频编码器200可以基于存储在存储器中的相邻样本值生成预测块,其中待使用的哪些相邻样本值由帧内预测模式定义。
视频编码器200可根据帧间预测模式生成图片的当前块的第二预测块(606)。例如,视频编码器200可以基于运动矢量及参考图片的哪个组合提供最佳质量或基于相邻块的运动信息确定运动矢量及参考图片。视频编码器200可从存储器中检索由运动矢量识别的参考图片的预测块。
视频编码器200可将第一权重应用于第一预测块以生成第一加权块(608)。举例来说,视频编码器200可将第一权重与第一预测块中的每一样本相乘以生成第一加权块。如上文所描述,第一权重对于第一预测块中的每一样本可以为相同的,或第一预测块中的两个或多于两个样本可以具有不同的第一权重(例如,第一权重的值是基于样本在第一预测块中的位置)。
视频编码器200可将第二权重应用于第二预测块以生成第二加权块(610)。举例来说,视频编码器200可将第二权重与第二预测块中的每一样本相乘以生成第二加权块。如上文所描述,第二权重对于第二预测块中的每一样本可以为相同的,或第二预测块中的两个或多于两个样本可以具有不同的第一权重(例如,第二权重的值是基于样本在第二预测块中的位置)。
视频编码器200可基于第一加权块及第二加权块生成图片的当前块的最终预测块(612)。最终预测块也可以被称为帧间帧内预测块。在一个实例中,视频编码器200可将第一加权块及第二加权块相加在一起以生成最终预测块。
如上文所描述,当前块可以包含亮度分量及色度分量。在一些实例中,为了生成最终预测块,视频编码器200可基于应用到第一预测块及第二预测块的相应亮度分量及色度分量的第一权重及第二权重生成最终亮度预测块及最终色度预测块两者。在一些实例中,为了生成最终预测块,视频编码器200可基于应用到第一预测块及第二预测块的相应亮度分量及色度分量中的仅一个的第一权重及第二权重仅生成最终亮度预测块或最终色度预测块。
视频编码器200可基于最终预测块及当前块生成残差块(614)。举例来说,视频编码器200可从当前块的值减去最终预测块的值以生成残差块。视频编码器200然后可以发信号通知指示表示残差块的信息(616)。例如,视频编码器200可以对指示残差块的信息进行DCT变换、量化及熵编码。
图17为说明解码视频数据的实例方法的流程图。如所说明,视频解码器300可以经配置以针对当前块构造候选运动矢量预测值的列表,以存储在存储器中(700)。候选运动矢量预测值列表的实例包含合并候选者列表及AMVP候选者列表。
在一个实例中,为了构造候选运动矢量预测值列表,视频解码器300可以在候选运动矢量预测值列表中包含帧间预测候选者(702)。帧间预测候选者可为当前块的相邻或并置块的运动信息。视频解码器300还可在候选运动矢量预测值列表中包含帧间帧内候选者(704)。帧间帧内候选者可包含用以根据帧内预测模式生成第一预测块的信息及用以根据帧间预测模式生成第二预测块的信息。
在图17中,帧间预测候选者经说明为被首先包含,且在包含所述帧间预测候选者之后,视频解码器300可在候选运动矢量预测值列表中包含帧间帧内候选者。然而,在一些实例中,视频解码器300可首先包含帧间帧内候选者,且然后在运动矢量预测器的列表中包含帧间预测候选者。
可存在视频解码器300可借以确定关于第二预测块的运动信息及用于第一预测块的帧内预测模式的各种方式。例如,视频解码器300可以在运动信息及帧内预测模式的位流中接收信息。作为另一实例,视频解码器300可以基于相邻块确定运动信息及帧内预测模式。作为另一实例,视频解码器300可以确定候选运动矢量预测值列表中由最小索引所识别的帧间预测块的运动信息,以确定用以生成第二预测块的信息,且基于运动信息生成第二预测块。视频解码器300可确定帧内预测模式以确定用以生成第一预测块的信息,且基于所确定帧内预测模式生成第一预测块。
在一些实例中,视频解码器300可确定最小索引(例如,MinInterIntraIdx),其中帧间帧内候选者可包含在候选运动矢量预测值列表中。在此类实例中,视频解码器300可基于帧间帧内候选者可包含在其处的所确定最小索引而在候选运动矢量预测值列表中包含帧间帧内候选者。
在一些实例中,视频解码器300可以确定允许的帧间帧内候选者的最大数目(例如,InterIntraNum)。在此类实例中,视频解码器300可基于所确定允许的帧间帧内候选者的最大数目(例如,使得帧间帧内候选者的数目不大于InterIntraNum)而在候选运动矢量预测值列表中包含帧间帧内候选者。
视频解码器300可确定将使用帧间帧内候选者(706)。例如,视频解码器300可以接收对候选运动矢量预测值列表的索引,且确定通过所接收索引在候选运动矢量预测值列表中识别帧间帧内候选者。视频解码器300可使用第一预测块及第二预测块(例如,使用上文所描述技术或其它技术中的任一种)来生成帧间帧内预测块(708)。以此方式,视频解码器300可确定将使用帧间帧内候选者来生成当前块的帧间帧内预测块,而无需接收指示根据帧间帧内预测模式来预测当前块(例如,用帧间帧内预测块来预测当前块)的任何额外信令。
视频解码器300可基于帧间帧内候选者重构当前块(710)。举例来说,视频解码器300可将预测块的值添加到残差块的值以重构当前块。
图18为说明编码视频数据的实例方法的流程图。如所说明,视频编码器200可以经配置以针对当前块构造候选运动矢量预测值的列表,以存储在存储器中(800)。候选运动矢量预测值列表的实例包含合并候选者列表及AMVP候选者列表。
在一个实例中,为了构造候选运动矢量预测值列表,视频编码器200可以在候选运动矢量预测值列表中包含帧间预测候选者(802)。帧间预测候选者可为当前块的相邻或并置块的运动信息。视频编码器200还可在候选运动矢量预测值列表中包含帧间帧内候选者(804)。帧间帧内候选者可包含用以根据帧内预测模式生成第一预测块的信息及用以根据帧间预测模式生成第二预测块的信息。
以这种方式,帧间帧内预测块在候选运动矢量预测值列表中被识别,且可以用于预测当前块。例如,利用候选运动矢量预测值列表来识别帧间帧内预测块。
在图18中,帧间预测候选者经说明为被首先包含,且在包含所述帧间预测候选者之后,视频编码器200可在候选运动矢量预测值列表中包含帧间帧内候选者。然而,在一些实例中,视频编码器200可首先包含帧间帧内候选者,且然后在运动矢量预测器的列表中包含帧间预测候选者。
可存在视频编码器200可借以确定关于第二预测块的运动信息及用于第一预测块的帧内预测模式的各种方式。例如,视频编码器200可以在运动信息及帧内预测模式的位流中发信号通知信息。作为另一实例,视频编码器200可以基于相邻块确定运动信息及帧内预测模式。作为另一实例,视频编码器200可以确定候选运动矢量预测值列表中由最小索引所识别的帧间预测块的运动信息,以确定用以生成第二预测块的信息,且基于运动信息生成第二预测块。视频编码器200可确定帧内预测模式以确定用以生成第一预测块的信息,且基于所确定帧内预测模式生成第一预测块。
在一些实例中,视频编码器200可确定最小索引(例如,MinInterIntraIdx),其中帧间帧内候选者可包含在候选运动矢量预测值列表中。在此类实例中,视频编码器200可基于帧间帧内候选者可包含在其处的所确定最小索引而在候选运动矢量预测值列表中包含帧间帧内候选者。
在一些实例中,视频编码器200可以确定允许的帧间帧内候选者的最大数目(例如,InterIntraNum)。在此类实例中,视频编码器200可基于所确定允许的帧间帧内候选者的最大数目(例如,使得帧间帧内候选者的数目不大于InterIntraNum)而在候选运动矢量预测值列表中包含帧间帧内候选者。
视频编码器200可确定将使用帧间帧内候选者(806)。举例来说,视频编码器200可以确定帧间帧内预测块提供最佳质量。视频编码器200可使用第一预测块及第二预测块(例如,使用上文所描述技术或其它技术中的任一种)来生成帧间帧内预测块(808)。以此方式,视频编码器200可以向视频解码器300指示帧间帧内候选者将被用作当前块的预测块,而无需发信号通知指示根据帧间帧内预测模式预测当前块(例如,用帧间帧内预测块来预测当前块)的任何额外信息。
视频编码器200可以基于确定将索引值发信号通知到候选运动矢量预测值列表中,所述索引值识别候选运动矢量预测值列表中的帧间帧内候选者(810)。视频编码器200还可确定当前块与预测块之间的残差,且发信号通知指示残差的信息。
应认识到,取决于实例,本文中所描述的诸技术中的任一者的特定动作或事件可以不同顺序执行,可经添加、合并或完全省去(例如,并非所有所描述动作或事件为实践技术所必需的)。此外,在某些实例中,可(例如)经由多线程处理、中断处理或多处理器同时地而非依序地执行动作或事件。
在一或多个实例中,所描述的功能可以硬件、软件、固件或其任一组合来实施。如果以软件予以实施,那么所述功能可作为一或多个指令或代码而存储于计算机可读媒体上或经由计算机可读媒体进行发射且由基于硬件处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于例如数据存储媒体的有形媒体,或包含促进(例如)根据通信协议将计算机程序自一个位置传送到另一位置的任一媒体的通信媒体。以此方式,计算机可读媒体通常可对应于(1)非暂时性的有形计算机可读存储媒体或(2)例如信号或载波的通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本发明中所描述的技术的指令、代码及/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
通过实例的方式且非限制性,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光学磁盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用于以指令或数据结构的形式存储所要程序代码且可由计算机存取的其它媒体。此外,可将任何连接适当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源发射指令,那么所述同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电及微波等无线技术皆包含于媒体的定义中。然而,应理解计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它暂时性媒体,但替代地是针对非暂时性、有形存储媒体。如本文中所使用,磁盘及光盘包含光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘通过激光以光学方式再现数据。上述各项的组合也应包含在计算机可读媒体的范围内。
指令可由一或多个处理器执行,例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、场可编程门阵列(FPGA)或其它等效集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指前述结构或适于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可提供在经配置以用于编码及解码或并入于组合式编解码器中的专用硬件及/或软件模块内。此外,技术可以一或多个电路或逻辑元件来完全实施。
本发明的技术可以广泛各种装置或装备(包含无线手机、集成电路(IC)或IC组(例如,芯片组))实施。各种组件、模块或单元在本发明中经描述以强调经配置以执行所揭示技术的装置的功能方面,而未必需要由不同硬件单元实现。而是,如上文所描述,各种单元可以编解码硬件单元组合或通过交互操作硬件单元(包含如上文所描述的一或多个处理器)的集合结合适合软件及/或固件提供。
已描述各种实例。这些及其它实例在以下权利要求书的范围内。

Claims (27)

1.一种解码视频数据的方法,所述方法包括:
构造当前块的候选运动矢量预测值列表,其中构造所述候选运动矢量预测值列表包括:
在所述候选运动矢量预测值列表中包含帧间预测候选者,其中所述帧间预测候选者包括所述当前块的相邻或并置块的运动信息;及
在所述候选运动矢量预测值列表中包含帧间帧内候选者,其中所述帧间帧内候选者包括用以根据帧内预测模式生成第一预测块的信息及用以根据帧间预测模式生成第二预测块的信息;
确定将使用所述帧间帧内候选者;
基于所述第一预测块及所述第二预测块,生成帧间帧内预测块;及
基于所述帧间帧内预测块重构所述当前块。
2.根据权利要求1所述的方法,其中基于所述帧间帧内预测块重构所述当前块包括:将所述帧间帧内预测块的值与残差块的值相加以重构所述当前块。
3.根据权利要求1所述的方法,其中确定所述帧间帧内候选者将用于所述当前块包括:
接收对所述候选运动矢量预测值列表的索引;
确定通过所述所接收索引在所述候选运动矢量预测值列表中识别所述帧间帧内候选者。
4.根据权利要求1所述的方法,其中构造所述候选运动矢量列表包括:
在在所述候选运动矢量预测值列表中包含所述帧间预测候选者之后,在所述候选运动矢量预测值列表中包含所述帧间帧内候选者。
5.根据权利要求1所述的方法,其进一步包括:
确定所述候选运动矢量预测值列表中由最小索引识别的帧间预测块的运动信息,以确定用以生成所述第二预测块的所述信息;及
基于所述运动信息生成所述第二预测块。
6.根据权利要求1所述的方法,其进一步包括:
确定允许的帧间帧内候选者的最大数目,
其中在所述候选运动矢量预测值列表中包含所述帧间帧内候选者包括:基于所述所确定允许的帧间帧内候选者的最大数目,在所述列表中包含所述帧间帧内候选者。
7.根据权利要求1所述的方法,其中确定将使用所述帧间帧内候选者包括:在无需接收指示根据帧间帧内预测模式预测所述当前块的任何额外信令的情况下,确定将使用所述帧间帧内候选者。
8.根据权利要求1所述的方法,其中所述候选运动矢量预测值列表包括合并候选者列表或高级运动矢量预测AMVP候选者列表中的一个。
9.根据权利要求1所述的方法,其进一步包括:
确定帧内预测模式以确定用以生成所述第一预测块的所述信息;及
基于所述所确定帧内预测模式生成所述第一预测块。
10.一种编码视频数据的方法,所述方法包括:
构造当前块的候选运动矢量预测值列表,其中构造所述候选运动矢量预测值列表包括:
在所述候选运动矢量预测值列表中包含帧间预测候选者,其中所述帧间预测候选者包括所述当前块的相邻或并置块的运动信息;及
在所述候选运动矢量预测值列表中包含帧间帧内候选者,其中所述帧间帧内候选者包括用以根据帧内预测模式生成第一预测块的信息及用以根据帧间预测模式生成第二预测块的信息;
确定将使用所述帧间帧内候选者;及
基于所述确定将索引值发信号通知到所述候选运动矢量预测值列表中,所述索引值识别所述候选运动矢量预测值列表中的所述帧间帧内候选者。
11.根据权利要求10所述的方法,其进一步包括:
基于所述第一预测块及所述第二预测块,生成帧间帧内预测块;
确定所述当前块与所述帧间帧内预测块之间的残差;及
发信号通知指示所述残差的信息。
12.根据权利要求10所述的方法,其中构造所述候选运动矢量列表包括:
在在所述候选运动矢量预测值列表中包含所述帧间预测候选者之后,在所述候选运动矢量预测值列表中包含所述帧间帧内候选者。
13.根据权利要求10所述的方法,其进一步包括:
确定所述候选运动矢量预测值列表中由最小索引识别的帧间预测块的运动信息,以确定用以生成所述第二预测块的所述信息;及
基于所述运动信息生成所述第二预测块。
14.根据权利要求10所述的方法,其进一步包括:
确定允许的帧间帧内候选者的最大数目,
其中在所述候选运动矢量预测值列表中包含所述帧间帧内候选者包括:基于所述所确定允许的帧间帧内候选者的最大数目,在所述列表中包含所述帧间帧内候选者。
15.根据权利要求10所述的方法,其中所述候选运动矢量预测值列表包括合并候选者列表或高级运动矢量预测AMVP候选者列表中的一个。
16.根据权利要求10所述的方法,其进一步包括:
确定帧内预测模式以确定用以生成所述第一预测块的所述信息;及
基于所述所确定帧内预测模式生成所述第一预测块。
17.一种用于译码视频数据的装置,所述装置包括:
存储器;及
视频译码器,其包括处理电路,其中所述视频译码器经配置以:
构造当前块的候选运动矢量预测值列表,以存储在所述存储器中,其中为了构造所述候选运动矢量预测值列表,所述视频译码器经配置以:
在所述候选运动矢量预测值列表中包含帧间预测候选者,其中所述帧间预测候选者包括所述当前块的相邻或并置块的运动信息;及
在所述候选运动矢量预测值列表中包含帧间帧内候选者,其中所述帧间帧内候选者包括用以根据帧内预测模式生成第一预测块的信息及用以根据帧间预测模式生成第二预测块的信息;
确定将使用所述帧间帧内候选者;
基于所述第一预测块及所述第二预测块,生成帧间帧内预测块;及
以下操作中的至少一个:
基于所述帧间帧内预测块重构所述当前块;或
基于将使用所述帧间帧内候选者的所述确定,将所述当前块与所述帧间帧内预测块之间的残差以及索引值发信号通知到所述候选运动矢量预测值列表中,
所述索引值识别所述候选运动矢量预测值列表中的所述帧间帧内候选者。
18.根据权利要求17所述的装置,其中所述视频译码器包括视频解码器,且其中所述视频解码器经配置以通过将所述帧间帧内预测块的值添加到残差块的值以重构所述当前块来基于所述帧间帧内预测块重构所述当前块。
19.根据权利要求17所述的装置,其中所述视频译码器包括视频解码器,其中为了确定所述帧间帧内候选者将用于所述当前块,所述视频解码器经配置以:
接收对所述候选运动矢量预测值列表的索引;
确定通过所述所接收索引在所述候选运动矢量预测值列表中识别所述帧间帧内候选者。
20.根据权利要求17所述的装置,其中所述视频译码器包括视频编码器,其中所述视频编码器经配置以:
确定所述当前块与所述预测块之间的所述残差。
21.根据权利要求17所述的装置,其中为了构造所述候选运动矢量列表,所述视频译码器经配置以:
在在所述候选运动矢量预测值列表中包含所述帧间预测候选者之后,在所述候选运动矢量预测值列表中包含所述帧间帧内候选者。
22.根据权利要求17所述的装置,其中所述视频译码器经配置以:
确定所述候选运动矢量预测值列表中由最小索引识别的帧间预测块的运动信息,以确定用以生成所述第二预测块的所述信息;及
基于所述运动信息生成所述第二预测块。
23.根据权利要求17所述的装置,其中所述视频译码器经配置以:
确定允许的帧间帧内候选者的最大数目,
其中为了在所述候选运动矢量预测值列表中包含所述帧间帧内候选者,所述视频译码器经配置以基于所述所确定允许的帧间帧内候选者的最大数目,在所述列表中包含所述帧间帧内候选者。
24.根据权利要求17所述的装置,其中所述视频译码器包括视频解码器,且其中为了确定将使用所述帧间帧内候选者,所述视频解码器经配置以在无需接收指示根据帧间帧内预测模式预测所述当前块的任何额外信令的情况下,确定将使用所述帧间帧内候选者。
25.根据权利要求17所述的装置,其中所述候选运动矢量预测值列表包括合并候选者列表或高级运动矢量预测AMVP候选者列表中的一个。
26.根据权利要求17所述的装置,其中所述视频译码器经配置以:
确定帧内预测模式以确定用以生成所述第一预测块的所述信息;及
基于所述所确定帧内预测模式生成所述第一预测块。
27.一种在其上存储指令的计算机可读存储媒体,所述指令在被执行时致使一或多个处理器:
构造当前块的候选运动矢量预测值列表,以存储在所述存储器中,其中为了构造所述候选运动矢量预测值列表,所述指令致使所述一或多个处理器:
在所述候选运动矢量预测值列表中包含帧间预测候选者,其中所述帧间预测候选者包括所述当前块的相邻或并置块的运动信息;及
在所述候选运动矢量预测值列表中包含帧间帧内候选者,其中所述帧间帧内候选者包括用以根据帧内预测模式生成第一预测块的信息及用以根据帧间预测模式生成第二预测块的信息;
确定将使用所述帧间帧内候选者;
基于所述第一预测块及所述第二预测块,生成帧间帧内预测块;及
以下操作中的至少一个:
基于所述帧间帧内预测块重构所述当前块;或
基于将使用所述帧间帧内候选者的所述确定,将所述当前块与所述帧间帧内预测块之间的残差以及索引值发信号通知到所述候选运动矢量预测值列表中,所述索引值识别所述候选运动矢量预测值列表中的所述帧间帧内候选者。
CN201880040751.2A 2017-06-23 2018-06-22 视频译码中的帧间预测与帧内预测的组合 Active CN110771163B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202311088411.6A CN117241019A (zh) 2017-06-23 2018-06-22 视频译码中的帧间预测与帧内预测的组合
CN202311085315.6A CN117319646A (zh) 2017-06-23 2018-06-22 视频译码中的帧间预测与帧内预测的组合

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762524231P 2017-06-23 2017-06-23
US62/524,231 2017-06-23
US16/015,027 2018-06-21
US16/015,027 US10757420B2 (en) 2017-06-23 2018-06-21 Combination of inter-prediction and intra-prediction in video coding
PCT/US2018/039058 WO2018237299A1 (en) 2017-06-23 2018-06-22 COMBINATION OF INTER-PREDICTION AND INTRA-PREDICTION IN VIDEO CODING

Related Child Applications (2)

Application Number Title Priority Date Filing Date
CN202311088411.6A Division CN117241019A (zh) 2017-06-23 2018-06-22 视频译码中的帧间预测与帧内预测的组合
CN202311085315.6A Division CN117319646A (zh) 2017-06-23 2018-06-22 视频译码中的帧间预测与帧内预测的组合

Publications (2)

Publication Number Publication Date
CN110771163A true CN110771163A (zh) 2020-02-07
CN110771163B CN110771163B (zh) 2023-09-19

Family

ID=64692945

Family Applications (4)

Application Number Title Priority Date Filing Date
CN201880040751.2A Active CN110771163B (zh) 2017-06-23 2018-06-22 视频译码中的帧间预测与帧内预测的组合
CN202311088411.6A Pending CN117241019A (zh) 2017-06-23 2018-06-22 视频译码中的帧间预测与帧内预测的组合
CN201880040753.1A Active CN110771164B (zh) 2017-06-23 2018-06-22 视频译码中的帧间预测与帧内预测的组合
CN202311085315.6A Pending CN117319646A (zh) 2017-06-23 2018-06-22 视频译码中的帧间预测与帧内预测的组合

Family Applications After (3)

Application Number Title Priority Date Filing Date
CN202311088411.6A Pending CN117241019A (zh) 2017-06-23 2018-06-22 视频译码中的帧间预测与帧内预测的组合
CN201880040753.1A Active CN110771164B (zh) 2017-06-23 2018-06-22 视频译码中的帧间预测与帧内预测的组合
CN202311085315.6A Pending CN117319646A (zh) 2017-06-23 2018-06-22 视频译码中的帧间预测与帧内预测的组合

Country Status (4)

Country Link
US (4) US10757420B2 (zh)
EP (2) EP4376406A1 (zh)
CN (4) CN110771163B (zh)
WO (2) WO2018237295A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113491123A (zh) * 2018-11-23 2021-10-08 联发科技股份有限公司 用于多重-参考行预测与多重-假设预测的发信
WO2021244125A1 (zh) * 2020-06-05 2021-12-09 Oppo广东移动通信有限公司 帧间预测方法、解码器、编码器及计算机存储介质
WO2022116113A1 (zh) * 2020-12-03 2022-06-09 Oppo广东移动通信有限公司 一种帧内预测方法、装置及解码器和编码器

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11503315B2 (en) * 2016-08-19 2022-11-15 Lg Electronics Inc. Method and apparatus for encoding and decoding video signal using intra prediction filtering
CN110574377B (zh) * 2017-05-10 2021-12-28 联发科技股份有限公司 用于视频编解码的重新排序运动向量预测候选集的方法及装置
TWI678917B (zh) * 2017-06-07 2019-12-01 聯發科技股份有限公司 用於視訊編解碼的畫面內-畫面間預測的方法及裝置
US10757420B2 (en) 2017-06-23 2020-08-25 Qualcomm Incorporated Combination of inter-prediction and intra-prediction in video coding
US11172203B2 (en) * 2017-08-08 2021-11-09 Mediatek Inc. Intra merge prediction
WO2019182295A1 (ko) * 2018-03-19 2019-09-26 주식회사 케이티 비디오 신호 처리 방법 및 장치
WO2019183906A1 (zh) * 2018-03-29 2019-10-03 华为技术有限公司 帧间预测的方法和装置
GB2588531B (en) 2018-06-29 2023-02-01 Beijing Bytedance Network Tech Co Ltd Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks
KR102646649B1 (ko) 2018-06-29 2024-03-13 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut에서의 모션 후보들의 검사 순서
CN110662053B (zh) 2018-06-29 2022-03-25 北京字节跳动网络技术有限公司 使用查找表的视频处理方法、装置和存储介质
JP7256265B2 (ja) 2018-06-29 2023-04-11 北京字節跳動網絡技術有限公司 ルックアップテーブルの更新:fifo、制限されたfifo
CN112262574A (zh) * 2018-06-29 2021-01-22 华为技术有限公司 一种用于帧内预测的设备和方法
CN110662056B (zh) 2018-06-29 2022-06-07 北京字节跳动网络技术有限公司 哪个查找表需要更新或不更新
TWI719525B (zh) 2018-06-29 2021-02-21 大陸商北京字節跳動網絡技術有限公司 Lut與amvp之間的交互
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
EP3791587A1 (en) 2018-06-29 2021-03-17 Beijing Bytedance Network Technology Co. Ltd. Resetting of look up table per slice/tile/lcu row
JP7460617B2 (ja) 2018-06-29 2024-04-02 北京字節跳動網絡技術有限公司 Lut更新条件
GB2589241B (en) 2018-07-02 2023-06-07 Beijing Bytedance Network Tech Co Ltd Update of look-up tables
US10448026B1 (en) * 2018-07-09 2019-10-15 Tencent America LLC Method and apparatus for block vector signaling and derivation in intra picture block compensation
US11368318B2 (en) * 2018-07-31 2022-06-21 Massachusetts Institute Of Technology Group identification system
EP3841749A1 (en) * 2018-08-23 2021-06-30 InterDigital VC Holdings France, SAS Coding of quantization matrices using parametric models
TW202025760A (zh) 2018-09-12 2020-07-01 大陸商北京字節跳動網絡技術有限公司 要檢查多少個hmvp候選
KR20240000644A (ko) 2018-09-22 2024-01-02 엘지전자 주식회사 인터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치
KR20210068537A (ko) * 2018-10-08 2021-06-09 후아웨이 테크놀러지 컴퍼니 리미티드 코딩 블록의 기하학적 분할의 인터 예측을 위한 장치 및 방법
CN111083492B (zh) 2018-10-22 2024-01-12 北京字节跳动网络技术有限公司 双向光流中的梯度计算
KR20240007302A (ko) 2018-11-12 2024-01-16 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 인터 및 인트라 통합 예측의 단순화
US11310515B2 (en) * 2018-11-14 2022-04-19 Tencent America LLC Methods and apparatus for improvement for intra-inter prediction mode
WO2020101559A1 (en) * 2018-11-15 2020-05-22 Telefonaktiebolaget Lm Ericsson (Publ) Deblocking in a video encoder and/or video decoder
US11652984B2 (en) 2018-11-16 2023-05-16 Qualcomm Incorporated Position-dependent intra-inter prediction combination in video coding
US20200162737A1 (en) 2018-11-16 2020-05-21 Qualcomm Incorporated Position-dependent intra-inter prediction combination in video coding
CN117319644A (zh) 2018-11-20 2023-12-29 北京字节跳动网络技术有限公司 基于部分位置的差计算
WO2020108650A1 (en) * 2018-11-29 2020-06-04 Beijing Bytedance Network Technology Co., Ltd. Flag indication method in intra block copy mode
EP3895419A4 (en) * 2018-12-13 2022-05-04 Tencent America LLC VIDEO DECODING BY DETERMINING A BLOCK RECONSTRUCTION BASED ON SIGNALING INFORMATION
GB2579824B (en) * 2018-12-14 2022-05-18 British Broadcasting Corp Video encoding and video decoding
KR20230019266A (ko) * 2018-12-21 2023-02-07 삼성전자주식회사 삼각 예측 모드를 이용하는 영상 부호화 장치 및 영상 복호화 장치, 및 이에 의한 영상 부호화 방법 및 영상 복호화 방법
CN113454990A (zh) * 2018-12-28 2021-09-28 英迪股份有限公司 帧间预测编解码方法及装置
CN110225346A (zh) * 2018-12-28 2019-09-10 杭州海康威视数字技术股份有限公司 一种编解码方法及其设备
CN111010577B (zh) * 2018-12-31 2022-03-01 北京达佳互联信息技术有限公司 一种视频编码中帧内帧间联合预测的方法和设备及介质
US11102503B2 (en) * 2019-01-07 2021-08-24 Electronics And Telecommunications Research Institute Motion information prediction method and apparatus for distortion due to projection formation conversion
CN113542748B (zh) * 2019-01-09 2023-07-11 北京达佳互联信息技术有限公司 视频编解码方法、设备和非暂时性计算机可读存储介质
MX2021008389A (es) * 2019-01-09 2023-01-27 Beijing Dajia Internet Information Tech Co Ltd Sistema y metodo para mejorar la inter e intraprediccion combinada.
KR102648159B1 (ko) 2019-01-10 2024-03-18 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut 업데이트의 호출
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list
US11019359B2 (en) 2019-01-15 2021-05-25 Tencent America LLC Chroma deblock filters for intra picture block compensation
WO2020147773A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Inserting order of motion candidates in lut
US11290726B2 (en) * 2019-02-07 2022-03-29 Qualcomm Incorporated Inter-intra prediction mode for video data
JP2022521554A (ja) 2019-03-06 2022-04-08 北京字節跳動網絡技術有限公司 変換された片予測候補の利用
WO2020185943A1 (en) * 2019-03-11 2020-09-17 Tencent America LLC Improvement for inter pdpc mode
CN111698515B (zh) * 2019-03-14 2023-02-14 华为技术有限公司 帧间预测的方法及相关装置
CA3131031C (en) * 2019-03-21 2024-06-11 Beijing Bytedance Network Technology Co., Ltd. Improved weighting processing of combined intra-inter prediction
WO2020192611A1 (en) 2019-03-22 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
CN113647108A (zh) 2019-03-27 2021-11-12 北京字节跳动网络技术有限公司 基于历史的运动矢量预测
WO2020221203A1 (en) * 2019-04-27 2020-11-05 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods of intra prediction
CN113785572B (zh) 2019-05-02 2022-12-16 北京字节跳动网络技术有限公司 使用多个参考滤波器的帧内视频编解码
JP2022537426A (ja) * 2019-06-21 2022-08-25 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 幾何学的分割モードのためのクロマサンプル重みの導出
CN116405697A (zh) * 2019-07-23 2023-07-07 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
WO2021018166A1 (en) * 2019-07-29 2021-02-04 Beijing Bytedance Network Technology Co., Ltd. Scanning order improvements for palette mode coding
CN110519600B (zh) * 2019-08-21 2022-06-07 浙江大华技术股份有限公司 帧内帧间联合预测方法、装置、编解码器及存储装置
EP4022922A4 (en) * 2019-09-24 2022-11-23 Huawei Technologies Co., Ltd. METHOD AND APPARATUS FOR COMBINED INTRA-INTER PREDICTION
JP2021057649A (ja) * 2019-09-27 2021-04-08 マクセル株式会社 画像符号化方法および画像復号方法
CN114071159B (zh) * 2020-07-29 2023-06-30 Oppo广东移动通信有限公司 帧间预测方法、编码器、解码器及计算机可读存储介质
US11706411B2 (en) * 2020-09-02 2023-07-18 Tencent America LLC Content adaptive segmented prediction
WO2022214028A1 (en) * 2021-04-08 2022-10-13 Beijing Bytedance Network Technology Co., Ltd. Method, device, and medium for video processing
KR20220157765A (ko) * 2021-05-21 2022-11-29 삼성전자주식회사 영상 부호화 장치 및 이의 동작 방법
US20230113104A1 (en) * 2021-10-11 2023-04-13 Tencent America LLC On intra mode propagation
WO2023198142A1 (en) * 2022-04-14 2023-10-19 Mediatek Inc. Method and apparatus for implicit cross-component prediction in video coding system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104702955A (zh) * 2013-12-05 2015-06-10 财团法人工业技术研究院 屏幕视频的预测编码的方法与系统
US9374578B1 (en) * 2013-05-23 2016-06-21 Google Inc. Video coding using combined inter and intra predictors
US9609343B1 (en) * 2013-12-20 2017-03-28 Google Inc. Video coding using compound prediction
CN106797477A (zh) * 2014-10-14 2017-05-31 高通股份有限公司 用于帧内bc和帧间预测统一的amvp和合并候选者列表导出

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100750136B1 (ko) * 2005-11-02 2007-08-21 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
US9467692B2 (en) * 2012-08-31 2016-10-11 Qualcomm Incorporated Intra prediction improvements for scalable video coding
US9906786B2 (en) * 2012-09-07 2018-02-27 Qualcomm Incorporated Weighted prediction mode for scalable video coding
US9148667B2 (en) * 2013-02-06 2015-09-29 Qualcomm Incorporated Intra prediction mode decision with reduced storage
CN107113425A (zh) 2014-11-06 2017-08-29 三星电子株式会社 视频编码方法和设备以及视频解码方法和设备
WO2017105097A1 (ko) * 2015-12-17 2017-06-22 삼성전자 주식회사 머지 후보 리스트를 이용한 비디오 복호화 방법 및 비디오 복호화 장치
WO2017123133A1 (en) * 2016-01-12 2017-07-20 Telefonaktiebolaget Lm Ericsson (Publ) Video coding using hybrid intra prediction
US11496747B2 (en) 2017-03-22 2022-11-08 Qualcomm Incorporated Intra-prediction mode propagation
US10757420B2 (en) 2017-06-23 2020-08-25 Qualcomm Incorporated Combination of inter-prediction and intra-prediction in video coding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9374578B1 (en) * 2013-05-23 2016-06-21 Google Inc. Video coding using combined inter and intra predictors
CN104702955A (zh) * 2013-12-05 2015-06-10 财团法人工业技术研究院 屏幕视频的预测编码的方法与系统
US9609343B1 (en) * 2013-12-20 2017-03-28 Google Inc. Video coding using compound prediction
CN106797477A (zh) * 2014-10-14 2017-05-31 高通股份有限公司 用于帧内bc和帧间预测统一的amvp和合并候选者列表导出

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IL-KOO KIM ETC.: ""Coding efficiency comparison of new video coding standards: HEVC vs VP9 vs AVS2 video"" *
JIANLE CHEN ETC.: ""Description of scalable video coding technology proposal by Qualcomm (configuration 2)"" *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113491123A (zh) * 2018-11-23 2021-10-08 联发科技股份有限公司 用于多重-参考行预测与多重-假设预测的发信
CN113491123B (zh) * 2018-11-23 2023-12-29 寰发股份有限公司 用于多重-参考行预测与多重-假设预测的发信
WO2021244125A1 (zh) * 2020-06-05 2021-12-09 Oppo广东移动通信有限公司 帧间预测方法、解码器、编码器及计算机存储介质
WO2022116113A1 (zh) * 2020-12-03 2022-06-09 Oppo广东移动通信有限公司 一种帧内预测方法、装置及解码器和编码器

Also Published As

Publication number Publication date
US20180376148A1 (en) 2018-12-27
US20180376149A1 (en) 2018-12-27
US11350109B2 (en) 2022-05-31
CN110771164A (zh) 2020-02-07
US20210105485A1 (en) 2021-04-08
CN110771164B (zh) 2024-03-15
US20220295077A1 (en) 2022-09-15
WO2018237295A1 (en) 2018-12-27
CN110771163B (zh) 2023-09-19
CN117241019A (zh) 2023-12-15
EP4376406A1 (en) 2024-05-29
WO2018237299A1 (en) 2018-12-27
EP3643060A1 (en) 2020-04-29
US10757420B2 (en) 2020-08-25
CN117319646A (zh) 2023-12-29

Similar Documents

Publication Publication Date Title
CN110771164B (zh) 视频译码中的帧间预测与帧内预测的组合
US11212550B2 (en) History-based motion vector prediction for affine mode
CN110024403B (zh) 一种编解码视频数据的方法、装置和计算机可读存储媒体
CN109891890B (zh) 用于解码视频数据的方法、编码视频数据的方法及相关设备
CN113475081B (zh) 用于视频译码的三角形运动信息
JP6608275B2 (ja) ビデオコード化における視差ベクトル予測
CN112806012A (zh) 用于帧间预测译码的基于历史的运动向量预测
CN112369031A (zh) 对于视频编译码的波前处理的基于多个历史的非毗邻mvp
CN111164977A (zh) 视频译码中的仿射预测
JP2019526988A (ja) 候補リストの構築のためのジオメトリベースの優先度
JP7474774B2 (ja) ビデオコーディングにおけるイントラブロックコピーモードのための動きベクトル予測子リスト生成
JP7379391B2 (ja) シグナリングサブ予測ユニット動きベクトル予測子
WO2020118191A1 (en) Spatio-temporal motion vector prediction patterns for video coding
CN112640451A (zh) 矢量预测器列表生成
JP2022539005A (ja) ビデオコーディングにおける時間動きベクトル予測候補の導出
US11051035B2 (en) Processing of illegal motion vectors for intra block copy mode in video coding
CN112534820B (zh) 信令通知子预测单元运动矢量预测器
JP2024514113A (ja) ビデオコーディングのためのテンプレートマッチングベースのアフィン予測
JP2024501137A (ja) ビデオコーディングにおけるテンプレートマッチング
TW202245477A (zh) 幀間預測模式中的模板匹配細化
TW202232951A (zh) 多通路解碼器側運動向量細化
JP2024508216A (ja) ビデオコーディングのためのモデルベースの動きベクトル差分導出およびテンプレート照合予測

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