CN107852498A - 在视频译码中限制双向预测的方法及*** - Google Patents

在视频译码中限制双向预测的方法及*** Download PDF

Info

Publication number
CN107852498A
CN107852498A CN201680043221.4A CN201680043221A CN107852498A CN 107852498 A CN107852498 A CN 107852498A CN 201680043221 A CN201680043221 A CN 201680043221A CN 107852498 A CN107852498 A CN 107852498A
Authority
CN
China
Prior art keywords
directional predicted
picture
prediction
video data
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
CN201680043221.4A
Other languages
English (en)
Other versions
CN107852498B (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 CN107852498A publication Critical patent/CN107852498A/zh
Application granted granted Critical
Publication of CN107852498B publication Critical patent/CN107852498B/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/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/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/127Prioritisation of hardware or computational resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/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

Landscapes

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

Abstract

提供用于编码视频数据的技术及***。举例来说,对某些预测模式的限制可应用于视频译码。当满足某些条件时,可强加防止对视频数据执行帧间预测双向预测的限制。举例来说,双向预测限制可基于是否对视频数据的一或多个译码单元或块启用块内复制预测、语法元素的值是否指示一或多个运动向量处于非整数准确度、双向预测块的两个运动向量是否皆处于非整数准确度、双向预测块的运动向量是否不相同及/或不来自同一参考索引或其任何组合。如果满足这些条件中的一或多项,那么可应用对双向预测的限制,从而防止对某些译码单元或块执行双向预测。

Description

在视频译码中限制双向预测的方法及***
技术领域
本发明大体上涉及视频译码及压缩,且更具体来说,涉及用于在视频译码中限制双向预测的技术及***。
背景技术
许多装置及***允许处理并输出视频数据以供消耗。数字视频数据包含大量数据以满足消费者及视频提供者的需求。举例来说,视频数据的消费者需要最高质量(具有高保真度、分辨率、帧速率及其类似者)的视频。因此,满足这些需求所需的大量视频数据对处理且存储视频数据的通信网络及装置造成负担。
可使用各种视频译码技术来压缩视频数据。视频译码根据一或多个视频译码标准执行。举例来说,视频译码标准包含高效视频译码(HEVC)、先进视频译码(AVC)、动画专家组(MPEG)译码或其类似者。视频译码通常使用利用存在于视频图像或序列中的冗余的预测方法(例如,帧间预测、帧内预测或其类似者)。视频译码技术的重要目标为将视频数据压缩成使用较低位率的形式,同时避免视频质量的降级或使视频质量的降级最小化。随着不断演进的视频服务变得可用,需要具有更好译码效率的编码技术。
发明内容
在一些实施方案中,描述提供对用于视频译码的某些预测模式的限制的技术及***。在一些实例中,当满足某些条件时,可强加防止对视频数据执行帧间预测双向预测的限制。举例来说,双向预测限制可基于是否对视频数据的一或多个译码单元或块启用块内复制预测。在此实例中,当启用块内复制预测时,可对某些译码单元或块停用双向预测。
在一些实例中,除了启用块内复制预测以外,要应用双向预测限制还可需要其它条件。举例来说,其它条件可包含:语法元素具有指示(例如,对雨切片、对译码单元或其类似者)一或多个运动向量处于非整数准确度(例如,分数运动向量)的值、双向预测块的两个运动向量皆处于非整数准确度、双向预测块的运动向量不相同及/或不指向同一参考图片或其任何组合。若满足这些条件中的一或多项,则可应用对双向预测的限制,从而防止对某些译码单元或块执行双向预测。
根据至少一个实例,提供一种编码视频数据以产生一或多个经编码视频图片的方法,所述方法包括:在编码器处获得视频数据;及确定启用块内复制预测以用于对所述视频数据的至少一个块执行图片内预测。所述方法进一步包括确定所述视频数据的双向预测块的两个运动向量皆处于非整数准确度。所述方法进一步包括停用图片间双向预测以便编码所述视频数据的一或多个块。所述帧间预测双向预测响应于确定启用所述块内复制预测及确定所述双向预测块的两个运动向量皆处于非整数准确度而被停用。所述方法进一步包括使用预测模式来产生所述一或多个经编码视频图片。
在另一实例中,提供一种包含经配置以存储视频数据的存储器及处理器的设备。所述处理器经配置以且可在编码器处获得视频数据,且确定启用块内复制预测以用于对所述视频数据的至少一个块执行图片内预测。所述处理器进一步经配置以且可确定所述视频数据的双向预测块的两个运动向量皆处于非整数准确度。所述处理器进一步经配置以且可停用图片间双向预测以便编码所述视频数据的一或多个块。所述帧间预测双向预测响应于确定启用所述块内复制预测及确定所述双向预测块的两个运动向量皆处于非整数准确度而被停用。所述处理器进一步经配置以且可使用预测模式来产生一或多个经编码视频图片。
在另一实例中,提供一种上面存储有指令的计算机可读媒体,所述指令在由处理器执行时执行一种方法,所述方法包含:在编码器处获得视频数据;确定启用块内复制预测以用于对所述视频数据的至少一个块执行图片内预测;确定所述视频数据的双向预测块的两个运动向量皆处于非整数准确度;停用图片间双向预测以便编码所述视频数据的一或多个块,其中所述帧间预测双向预测响应于确定启用所述块内复制预测及确定所述双向预测块的两个运动向量皆处于非整数准确度而被停用;及使用预测模式来产生所述一或多个经编码视频图片。
在另一实例中,提供一种设备,所述设备包含:用于在编码器处获得视频数据的装置;及用于确定启用块内复制预测以用于对所述视频数据的至少一个块执行图片内预测的装置。所述设备进一步包括用于确定所述视频数据的双向预测块的两个运动向量皆处于非整数准确度的装置。所述设备进一步包括用于停用图片间双向预测以便编码所述视频数据的一或多个块的装置。所述帧间预测双向预测响应于确定启用所述块内复制预测及确定所述双向预测块的两个运动向量皆处于非整数准确度而被停用。所述设备进一步包括用于使用预测模式来产生一或多个经编码视频图片的装置。
在一些方面中,上文所描述的用于编码视频数据的方法、设备及计算机可读媒体可进一步包括:确定所述双向预测块的两个运动向量不相同或不指向同一参考图片;且其中停用包含回应于确定启用所述图片内预测、确定所述双向预测块的两个运动向量皆处于非整数准确度及确定所述双向预测块的两个运动向量不相同或不指向所述同一参考图片而停用所述图片间双向预测以便编码所述视频数据的所述一或多个块。
在一些方面中,上文所描述的用于编码视频数据的方法、设备及计算机可读媒体可进一步包括:确定运动向量分辨率旗标的一值等于零,所述运动向量分辨率旗标指定用于帧间预测模式的运动向量的分辨率;且其中停用包含回应于确定启用所述图片内预测、确定所述双向预测块的两个运动向量皆处于非整数准确度及确定所述运动向量分辨率旗标的所述值等于零而停用所述图片间双向预测以便编码所述视频数据的所述一或多个块。
在一些方面中,所述视频数据包含图片的切片,所述切片包含多个块,且所述停用包含停用所述图片间双向预测以便编码所述切片的所述多个块。
在一些方面中,所述双向预测块包含8×8双向预测块。
在一些方面中,停用所述图片间双向预测以便编码小于阈值大小的预测块。在一些实例中,所述阈值大小包含8×8像素的预测块大小。
根据至少一个其它实例,提供另一种编码视频数据以产生一或多个经编码视频图片的方法,所述方法包括:在编码器处获得视频数据;及确定启用块内复制预测以用于对所述视频数据的至少一个块执行图片内预测。所述方法进一步包括确定所述视频数据的双向预测块的两个运动向量不相同或不指向同一参考图片。所述方法进一步包括停用图片间双向预测以便编码所述视频数据的一或多个块。所述帧间预测双向预测响应于确定启用所述块内复制预测及确定所述双向预测块的两个运动向量不相同或不指向所述同一参考图片而被停用。所述方法进一步包括使用预测模式来产生所述一或多个经编码视频图片。
在另一实例中,提供一种包含经配置以存储视频数据的存储器及处理器的设备。所述处理器经配置以且可在编码器处获得视频数据,且确定启用块内复制预测以用于对所述视频数据的至少一个块执行图片内预测。所述处理器进一步经配置以且可确定所述视频数据的双向预测块的两个运动向量不相同或不指向同一参考图片。所述处理器进一步经配置以且可停用图片间双向预测以便编码所述视频数据的一或多个块。所述帧间预测双向预测响应于确定启用所述块内复制预测及确定所述双向预测块的两个运动向量不相同或不指向所述同一参考图片而被停用。所述处理器进一步经配置以且可使用预测模式来产生一或多个经编码视频图片。
在另一实例中,提供一种上面存储有指令的计算机可读媒体,所述指令在由处理器执行时执行一种方法,所述方法包含:在编码器处获得视频数据;确定启用块内复制预测以用于对所述视频数据的至少一个块执行图片内预测;确定所述视频数据的双向预测块的两个运动向量不相同或不指向同一参考图片;停用图片间双向预测以便编码所述视频数据的一或多个块,其中帧间预测双向预测响应于确定启用所述块内复制预测及确定所述双向预测块的两个运动向量不相同或不指向所述同一参考图片而被停用;及使用预测模式来产生一或多个经编码视频图片。
在另一实例中,提供一种设备,所述设备包含:用于在编码器处获得视频数据的装置;及用于确定启用块内复制预测以用于对所述视频数据的至少一个块执行图片内预测的装置。所述设备进一步包括用于确定所述视频数据的双向预测块的两个运动向量不相同或不指向同一参考图片的装置。所述设备进一步包括用于停用图片间双向预测以便编码所述视频数据的一或多个块的装置。所述帧间预测双向预测响应于确定启用所述块内复制预测及确定所述双向预测块的两个运动向量不相同或不指向所述同一参考图片而被停用。所述设备进一步包括用于使用预测模式来产生一或多个经编码视频图片的装置。
在一些方面中,上文所描述的用于编码视频数据的其它方法、设备及计算机可读媒体可进一步包括:确定所述双向预测块的两个运动向量皆处于非整数准确度;且其中停用包含回应于确定启用所述图片内预测、确定所述双向预测块的两个运动向量不相同或不指向所述同一参考图片及确定所述双向预测块的两个运动向量皆处于非整数准确度而停用所述图片间双向预测以便编码所述视频数据的所述一或多个块。
在一些方面中,上文所描述的用于编码视频数据的其它方法、设备及计算机可读媒体可进一步包括:确定运动向量分辨率旗标的一值等于零,所述运动向量分辨率旗标指定用于帧间预测模式的运动向量的分辨率;且其中停用包含回应于确定启用所述图片内预测、确定所述双向预测块的两个运动向量不相同或不指向所述同一参考图片及确定所述运动向量分辨率旗标的所述值等于零而停用所述图片间双向预测以便编码所述视频数据的所述一或多个块。
在一些方面中,所述视频数据包含图片的切片,所述切片包含多个块,且所述停用包含停用所述图片间双向预测以便编码所述切片的所述多个块。
在一些方面中,所述双向预测块包含8×8双向预测块。
在一些方面中,停用所述图片间双向预测以便编码小于阈值大小的预测块。在一些实例中,所述阈值大小包含8×8像素的预测块大小。
根据至少一个其它实例,提供一种解码视频数据以产生一或多个经解码视频图片的方法,所述方法包括在视频位流中接收使用多个预测模式编码的经编码视频数据。所述多个预测模式包括图片间单向预测模式、图片间双向预测模式及图片内块内复制模式。所述方法进一步包括在所述视频位流中接收对所述经编码视频数据的一或多个块停用图片间双向预测的指示。图片间双向预测基于针对所述经编码视频数据的所述一或多个块启用块内复制及所述经编码视频数据的双向预测块的两个运动向量皆处于非整数准确度而被停用。所述方法进一步包括基于所述指示而从所述多个预测模式确定预测模式以用于预测所述经编码视频数据的块。所述方法进一步包括使用所确定的预测模式来解码所述经编码视频数据的所述块。
在另一实例中,提供一种包含经配置以存储视频数据的存储器及处理器的设备。所述处理器经配置以且可在视频位流中接收使用多个预测模式编码的经编码视频数据。所述多个预测模式包括图片间单向预测模式、图片间双向预测模式及图片内块内复制模式。所述处理器进一步经配置以且可在所述视频位流中接收对所述经编码视频数据的一或多个块停用图片间双向预测的指示。图片间双向预测基于针对所述经编码视频数据的所述一或多个块启用块内复制及所述经编码视频数据的双向预测块的两个运动向量皆处于非整数准确度而被停用。所述处理器进一步经配置以且可基于所述指示而自所述多个预测模式确定预测模式以用于预测所述经编码视频数据的一块。所述处理器进一步经配置以且可使用所确定的预测模式来解码所述经编码视频数据的所述块。
在另一实例中,提供一种上面存储有指令的计算机可读媒体,所述指令在由处理器执行时执行一种方法,所述方法包含:在视频位流中接收使用多个预测模式编码的经编码视频数据,所述多个预测模式包括图片间单向预测模式、图片间双向预测模式及图片内块内复制模式;在所述视频位流中接收对所述经编码视频数据的一或多个块停用图片间双向预测的指示,其中图片间双向预测基于针对所述经编码视频数据的所述一或多个块启用块内复制及所述经编码视频数据的双向预测块的两个运动向量皆处于非整数准确度而被停用;基于所述指示而自所述多个预测模式确定预测模式以用于预测所述经编码视频数据的块;及使用所确定的预测模式来解码所述经编码视频数据的所述块。
在另一实例中,提供一种设备,所述设备包含用于在视频位流中接收使用多个预测模式编码的经编码视频数据的装置。所述多个预测模式包括图片间单向预测模式、图片间双向预测模式及图片内块内复制模式。所述设备进一步包括用于在所述视频位流中接收对所述经编码视频数据的一或多个块停用图片间双向预测的指示的装置。图片间双向预测基于针对所述经编码视频数据的所述一或多个块启用块内复制及所述经编码视频数据的双向预测块的两个运动向量皆处于非整数准确度而被停用。所述设备进一步包括用于基于所述指示而从所述多个预测模式确定预测模式以用于预测所述经编码视频数据的块的装置。所述设备进一步包括用于使用所确定的预测模式来解码所述经编码视频数据的所述块的装置。
在一些方面中,基于针对所述经编码视频数据的所述一或多个块启用块内复制、所述经编码视频数据的双向预测块的两个运动向量皆处于非整数准确度及所述双向预测块的两个运动向量不相同或不指向同一参考图片而停用所述图片间双向预测。
在一些方面中,基于针对所述经编码视频数据的所述一或多个块启用块内复制、所述经编码视频数据的双向预测块的两个运动向量皆处于非整数准确度及运动向量分辨率旗标的值等于零而停用所述图片间双向预测,所述运动向量分辨率旗标指定用于帧间预测模式的运动向量的分辨率。
在一些方面中,所述经编码视频数据包含图片的切片,所述切片包含多个块,且停用所述帧间预测双向预测以便解码所述切片的所述多个块。
在一些方面中,所述双向预测块包含8×8双向预测块。
在一些方面中,停用所述图片间双向预测以便解码小于阈值大小的预测块。在一些实例中,所述阈值大小包含8×8像素的预测块大小。
根据至少一个其它实例,提供另一种解码视频数据以产生一或多个经解码视频图片的方法,所述方法包括在视频位流中接收使用多个预测模式编码的经编码视频数据。所述多个预测模式包括图片间单向预测模式、图片间双向预测模式及图片内块内复制模式。所述方法进一步包括在所述视频位流中接收对所述经编码视频数据的一或多个块停用图片间双向预测的指示。图片间双向预测基于针对所述经编码视频数据的所述一或多个块启用块内复制及双向预测块的两个运动向量不相同或不指向所述同一参考图片而被停用。所述方法进一步包括基于所述指示而从所述多个预测模式确定预测模式以用于预测所述经编码视频数据的块。所述方法进一步包括使用所确定的预测模式来解码所述经编码视频数据的所述块。
在另一实例中,提供一种包含经配置以存储视频数据的存储器及处理器的设备。所述处理器经配置以且可在视频位流中接收使用多个预测模式编码的经编码视频数据。所述多个预测模式包括图片间单向预测模式、图片间双向预测模式及图片内块内复制模式。所述处理器进一步经配置以且可在所述视频位流中接收对所述经编码视频数据的一或多个块停用图片间双向预测的指示。图片间双向预测基于针对所述经编码视频数据的所述一或多个块启用块内复制及双向预测块的两个运动向量不相同或不指向所述同一参考图片而被停用。所述处理器进一步经配置以且可基于所述指示而自所述多个预测模式确定预测模式以用于预测所述经编码视频数据的块。所述处理器进一步经配置以且可使用所确定的预测模式来解码所述经编码视频数据的所述块。
在另一实例中,提供一种上面存储有指令的计算机可读媒体,所述指令在由处理器执行时执行一种方法,所述方法包含:在视频位流中接收使用多个预测模式编码的经编码视频数据,所述多个预测模式包括图片间单向预测模式、图片间双向预测模式及图片内块内复制模式;在所述视频位流中接收对所述经编码视频数据的一或多个块停用图片间双向预测的指示,其中图片间双向预测基于针对所述经编码视频数据的所述一或多个块启用块内复制及双向预测块的两个运动向量不相同或不指向所述同一参考图片而被停用;基于所述指示而从所述多个预测模式确定预测模式以用于预测所述经编码视频数据的块;及使用所确定的预测模式来解码所述经编码视频数据的所述块。
在另一实例中,提供一种设备,所述设备包含用于在视频位流中接收使用多个预测模式编码的经编码视频数据的装置。所述多个预测模式包括图片间单向预测模式、图片间双向预测模式及图片内块内复制模式。所述设备进一步包括用于在所述视频位流中接收对所述经编码视频数据的一或多个块停用图片间双向预测的指示的装置。图片间双向预测基于针对所述经编码视频数据的所述一或多个块启用块内复制及双向预测块的两个运动向量不相同或不指向所述同一参考图片而被停用。所述设备进一步包括用于基于所述指示而从所述多个预测模式确定预测模式以用于预测所述经编码视频数据的块的装置。所述设备进一步包括用于使用所确定的预测模式来解码所述经编码视频数据的所述块的装置。
在一些方面中,基于针对所述经编码视频数据的所述一或多个块启用块内复制、双向预测块的两个运动向量不相同或不指向所述同一参考图片及所述双向预测块的两个运动向量皆处于非整数准确度而停用所述图片间双向预测。
在一些方面中,基于针对所述经编码视频数据的所述一或多个块启用块内复制、双向预测块的两个运动向量不相同或不指向所述同一参考图片及运动向量分辨率旗标的值等于零而停用所述图片间双向预测,所述运动向量分辨率旗标指定用于帧间预测模式的运动向量的分辨率。
在一些方面中,所述视频数据包含图片的切片,所述切片包含多个块,且停用所述帧间预测双向预测以便解码所述切片的所述多个块。
在一些方面中,所述双向预测块包含8×8双向预测块。
在一些方面中,停用所述图片间双向预测以便解码小于阈值大小的预测块。在一些实例中,所述阈值大小包含8×8像素的预测块大小。
此发明内容并不意图识别所请求主题的关键或基本特征,也不意图单独使用以确定所请求主题的范围。应参照此专利的整个说明书的合适部分、任何或所有图式及每一权利要求来理解主题。
当参考以下说明书、权利要求书及随附图式时,前述内容连同其它特征及实施例将变得更显而易见。
附图说明
下文参考以下图式详细描述本发明的说明性实施例:
图1为说明根据一些实施例的编码装置及解码装置的实例的框图。
图2为说明块内复制预测模式所应用于的经译码图片的实例的框图。
图3说明编码视频数据的过程的实例。
图4说明解码视频数据的过程的另一实例。
图5说明解码视频数据的过程的实例。
图6说明解码视频数据的过程的另一实例。
图7为说明根据一些实施例的实例视频编码装置的框图。
图8为说明根据一些实施例的实例视频解码装置的框图。
具体实施方式
下文提供本发明的某些方面及实施例。这些方面及实施例的一些可独立地应用,且其中的一些可组合地应用,如本领域的技术人员将显而易见。在以下描述中,出于解释的目的,阐述特定细节以便提供对本发明的实施例的透彻理解。然而,将显而易见的是,可在没有这些特定细节的情况下实践各种实施例。图式及描述并不意图为限制性的。
随后描述仅提供示范性实施例,且并不意图限制本发明的范围、适用性或配置。实际上,示范性实施例的随后描述将为本领域的技术人员提供能够实施示范性实施例的描述。应理解,可在不脱离如所附权利要求书中所阐述的本发明的精神及范围的情况下对组件的功能及布置做出各种改变。
在以下描述中给出特定细节以提供对实施例的透彻理解。然而,本领域的一般技术人员将理解,可在没有这些特定细节的情况下实践实施例。举例来说,电路、***、网络、过程及其它组件可以框图形式展示为组件以免以不必要的细节混淆实施例。在其它情况下,可在没有不必要细节的情况下展示熟知电路、过程、算法、结构及技术以便避免混淆实施例。
另外,应注意,个别实施例可描述为被描绘为流程图、流图、数据流图、结构图或框图的过程。尽管流程图可将操作描述为依序过程,但许多操作可并行地或同时执行。另外,可重新布置操作的次序。过程在其操作完成时终止,但可具有不包含于图中的额外步骤。过程可对应于方法、函数、工序、次例程、子程序等。当过程对应于函数时,其终止可对应于函数传回到调用函数或主函数。
术语“计算机可读媒体”包含(但不限于)便携式或非便携式存储装置、光学存储装置及能够存储、含有或携载指令及/或数据的各种其它媒体。计算机可读媒体可包含非暂时性媒体,非暂时性媒体中可存储数据且不包含载波及/或无线地或经由有线连接传播的暂时电子信号。非暂时性媒体的实例可包含(但不限于)磁盘或磁带、诸如紧密光盘(CD)或数字通用光盘(DVD)的光学存储媒体、闪速存储器、存储器或存储器装置。计算机可读媒体可具有存储于其上的程序代码及/或机器可执行指令,所述程序代码及/或机器可执行指令可表示程序、函数、子程序、程序、例程、次例程、模块、软件套件、类别或指令、数据结构或程序语句的任何组合。代码段可通过传递及/或接收信息、数据、自变量、参数或存储器内容耦合到另一代码段或硬件电路。信息、自变量、参数、数据等可经由包含存储器共享、消息传递、符记传递、网络发射或其类似者的任何合适方式传递、转发或发射。
此外,可由硬件、软件、固件、中间软件、微码、硬件描述语言或其任何组合来实施实施例。当实施于软件、固件、中间软件或微码中时,用以执行必要任务的程序代码或代码段(例如,计算机程序产品)可存储于计算机可读或机器可读媒体中。处理器可执行必要任务。
随着更多装置及***为消费者提供消耗数字视频数据的能力,对高效视频译码技术的需要变得更加重要。需要视频译码来减少处置存在于数字视频数据中的大量数据所必要的存储及发射要求。各种视频译码技术可用于将视频数据压缩成使用较低位率同时维持高视频质量的形式。
本文中描述使用视频编码器、解码器及其它译码处理装置来视频译码的若干***及方法。在一些实例中,描述用于限制某些预测模式的一或多个视频译码***及方法。举例来说,当满足某些条件时,可强加防止对视频数据执行帧间预测双向预测的限制。下文提供关于双向预测限制的其它细节。
图1为说明包含编码装置104及解码装置112的***100的实例的框图。编码装置104可为源装置的部分,且解码装置112可为接收装置的部分。源装置及/或接收装置可包含电子装置,诸如移动或静止电话手机(例如,智能型手机、蜂窝式电话或其类似者)、桌面计算机、膝上型或笔记本计算机、平板计算机、机顶盒、电视、相机、显示设备、数字媒体播放器、视频游戏主机、视频流式发射装置、因特网协议(IP)相机或任何其它合适的电子装置。在一些实例中,源装置及接收装置可包含用于无线通信的一或多个无线收发器。本文中所描述的译码技术适用于各种多媒体应用中的视频译码,包含流式视频发射(例如,经由因特网)、电视广播或发射、编码数字视频以供存储于数据存储媒体上、解码存储于数据存储媒体上的数字视频或其它应用。在一些实例中,***100可支持单向或双向视频发射以支持诸如视频会议、视频流式发射、视频播放、视频广播、游戏及/或视频电话的应用。
编码装置104(或编码器)可用于使用视频译码标准或协议编码视频数据以产生经编码视频位流。视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual及ITU-T H.264(也称为ISO/IEC MPEG-4AVC),包含其可调式视频译码(SVC)及多视图视频译码(MVC)扩展。已由ITU-T视频译码专家组(VCEG)及ISO/IEC动画专家组(MPEG)的视频译码联合协作小组(JCT-VC)完成较近期的视频译码标准,即高效率视频译码(HEVC)。对HEVC的各种扩展处理多层视频译码,且还正由JCT-VC开发,包含对HEVC的多视图扩展(称作MV-HEVC)、及对HEVC的可调式扩展(称作SHVC)或任何其它合适的译码协议。对HEVC的范围扩展(即,HEVC-Rext)也正由JCT-VC开发(例如,范围扩展的近期工作草案(WD),其被称作RExt WD7)。
HEVC规范文本(例如,如在JCTVC-Q1003中)可在本文中被称作HEVC版本1(或HEVC的第一版本)。范围扩展规范可被称作HEVC版本2(或HEVC的第二版本)。然而,就所提议技术来说(例如,双向预测限制或其它技术),HEVC版本1及范围扩展规范在技术上类似。因此,每当在本文中提及基于HEVC版本1的改变时,相同变化可应用于范围扩展规范,且每当在本文中再次使用HEVC版本1模块时,也再次使用HEVC范围扩展模块(具有相同子条款)。
本文中所描述的许多实施例使用HEVC标准或其扩展来描述实例。然而,本文中所描述的技术及***还可适用于其它译码标准,诸如AVC、MPEG、其扩展或已可用或尚不可用或尚未开发的其它合适译码标准。因此,虽然可参考特定视频译码标准描述本文中所描述的技术及***,但本领域的一般技术人员将了解,描述不应解译为仅适用于所述特定标准。
参看图1,视频源102可将视频数据提供到编码装置104。视频源102可为源装置的部分,或可为除源装置以外的装置的部分。视频源102可包含视频捕捉装置(例如,视频相机、相机电话、视频电话或其类似者)、含有经存储视频的视频存盘、提供视频数据的视频服务器或内容提供商、从视频服务器或内容提供商接收视频的视频馈入接口、用于产生计算机图形视频数据的计算机图形***、这些源的组合或任何其它合适的视频源。
来自视频源102的视频数据可包含一或多个输入图片或帧。图片或帧为作为视频的部分的静态图像。编码装置104的编码器引擎106(或编码器)编码视频数据以产生经编码视频位流。在一些实例中,经编码视频位流(或“视频位流”或“位流”)为一系列的一或多个经译码视频序列。经译码视频序列(CVS)包含一系列存取单元(AU),其始于具有在基础层中且具有某些性质的随机存取点图片的AU,直到且不包含具有在基础层中且具有某些性质的随机存取点图片的下一AU。举例来说,开始CVS的随机存取点图片的某些性质可包含等于1的RASL旗标(例如,NoRaslOutputFlag)。否则,随机存取点图片(其中RASL旗标等于0)不开始CVS。存取单元(AU)包含一或多个经译码图片及对应于共享相同输出时间的经译码图片的控制信息。图片的经译码切片在位流层级囊封到称作网络抽象层(NAL)单元的数据单元中。举例来说,HEVC视频位流可包含一或多个CVS,所述一或多个CVS包含NAL单元。NAL单元中的每一者具有NAL单元标头。在一个实例中,标头对于H.264/AVC(除了多层扩展以外)为一个字节且对于HEVC为两个字节。NAL单元标头中的语法元素取经指定位,且因此对所有种类的***及输送层可见,诸如输送流、实时输送(RTP)协议、文件格式以及其它。
两种类别的NAL单元存在于HEVC标准中,包含视频译码层(VCL)NAL单元及非VCLNAL单元。VCL NAL单元包含经译码图片数据的一个切片或切片片段(如下描述),且非VCLNAL单元包含关于一或多个经译码图片的控制信息。在一些情况下,NAL单元可被称作封包。HEVC AU包含含有经译码图片数据的VCL NAL单元及对应于经译码图片数据的非VCL NAL单元(若存在)。
NAL单元可含有形成视频数据的经译码表示(诸如,视频中的图片的经译码表示)的位序列(例如,经编码视频位流、位流的CVS或其类似者)。编码器引擎106通过将每一图片分割成多个切片而产生图片的经译码表示。一切片独立于其它切片,使得在不相依于来自同一图片内的其它切片的数据的情况下译码所述切片中的信息。切片包含一或多个切片片段,所述一或多个切片片段包含独立切片片段及(若存在)相依于先前切片片段的一或多个相依切片片段。切片随后分割成明度样本及色度样本的译码树块(CTB)。明度样本的CTB及色度样本的一或多个CTB连同样本的语法被称为译码树型单元(CTU)。CTU为用于HEVC编码的基本处理单元。CTU可***成具有不同大小的多个译码单元(CU)。CU含有被称为译码块(CB)的明度及色度样本阵列。
明度及色度CB可进一步***成预测块(PB)。PB为对于帧间预测或块内复制预测(在可用或经启用以供使用时)使用相同运动参数的明度分量或色度分量的样本的块。明度PB及一或多个色度PB以及相关联语法形成预测单元(PU)。对于帧间预测,针对每一PU在位流中用信号表示一组运动参数(例如,一或多个运动向量、参考索引或其类似者),且所述组运动参数用于明度PB及一或多个色度PB的帧间预测。对于块内复制预测,还可针对每一PU用信号表示一组运动参数(例如,一或多个块向量或其类似者),且所述组运动参数可用于块内复制预测。CB还可分割成一或多个变换块(TB)。TB表示色彩分量的样本的正方形块,对所述正方形块应用同一二维变换以用于译码预测残余信号。变换单元(TU)表示明度及色度样本的TB及对应语法元素。
CU的大小对应于译码模式的大小,且可为正方形形状。举例来说,CU的大小可为8×8样本、16×16样本、32×32样本、64×64样本或达至对应CTU的大小的任何其它适当大小。词组“N×N”在本文中用于指就垂直及水平尺寸来说视频块的像素尺寸(例如,8像素×8像素)。可按行及列布置块中的像素。在一些实施例中,块在水平方向上可不具有与在垂直方向上相同数目个像素。与CU相关联的语法数据可描述(例如)将CU分割成一或多个PU。分割模式可在CU经帧内预测模式编码或帧间预测模式编码之间有所不同。PU可分割成非正方形形状。与CU相关联的语法数据还可描述(例如)根据CTU将CU分割成一或多个TU。TU可为正方形或非正方形形状。
根据HEVC标准,可使用变换单元(TU)来执行变换。TU可针对不同CU而变化。可基于给定CU内的PU的大小而对TU设置大小。TU可与PU大小相同或小于PU。在一些实例中,可使用被称为“残余四分树”(RQT)的四分树结构将对应于CU的残余样本再分成较小单元。RQT的叶节点可对应于TU。可变换与TU相关联的像素差值以产生变换系数。变换系数可随后由编码器引擎106量化。
一旦视频数据的图片被分割成CU,编码器引擎106即使用预测模式来预测每一PU。随后从原始视频数据减去预测单元或预测块以得到残余(如下描述)。对于每一CU,可使用语法数据在位流内部对预测模式用信号表示。预测模式可包含帧内预测(或图片内预测)或帧间预测(或图片间预测)。使用帧内预测时,使用(例如)DC预测以发现PU的平均值、使用平坦预测以使平坦表面拟合于PU、使用方向预测以从相邻数据外插或使用任何其它合适类型的预测,从同一图片中的相邻图像数据预测每一PU。使用帧间预测时,使用运动补偿预测从一或多个参考图片(按输出次序在当前图片之前或之后)中的图像数据预测每一PU。可(例如)在CU层级决定是使用图片间预测还是图片内预测来译码图片区域。
在一些实例中,图片的一或多个切片被指派切片类型。切片类型包含I切片、P切片及B切片。I切片(帧内,可独立解码)为仅通过帧内预测译码的图片的切片,且因此可独立解码,这是由于I切片仅需要帧内的数据来预测切片的任何预测单元或预测块。P切片(单向预测帧)为可通过帧内预测及通过单向帧间预测译码的图片的切片。通过帧内预测或帧间预测译码P切片内的每一预测单元或预测块。当应用帧间预测时,仅由一个参考图片预测预测单元或预测块,且因此参考样本仅来自一个帧的一个参考区。B切片(双向预测性帧)为可通过帧内预测及通过帧间预测(例如,双向预测或单向预测)译码的图片的切片。可从两个参考图片双向预测B切片的预测单元或预测块,其中每一图片贡献一个参考区,且两个参考区的样本集经加权(例如,具有相同权重或具有不同权重)以产生双向预测块的预测信号。如上文所解释,一个图片的切片被独立译码。在一些情况下,图片可仅作为一个切片而被译码。
图片内预测利用图片内的空间相邻样本之间的相关性。图片间预测使用图片之间的时间相关性以便导出图像样本的块的运动补偿预测。使用平移运动模型,由运动向量(Δx,Δy)指示先前经解码图片(参考图片)中的块的位置,其中Δx指定参考块相对于当前块的位置的水平位移且Δy指定垂直位移。在一些情况下,运动向量(Δx,Δy)可处于整数样本准确度(也被称作整数准确度),在此情况下,运动向量指向参考帧的整数像素网格(或整数像素取样网格)。在一些情况下,运动向量(Δx,Δy)可具有分数样本准确度(也被称作分数像素准确度或非整数准确度)以更准确地捕捉基础对象的移动而不限于参考帧的整数像素网格。运动向量的准确度可由运动向量的量化层级表达。举例来说,量化层级可为整数准确度(例如,1像素)或分数像素准确度(例如,1/4像素、1/2像素或其它子像素值)。当对应运动向量具有分数样本准确度时,对参考图片应用内插法以导出预测信号。举例来说,可对在整数位置处可用的样本进行滤波(例如,使用一或多个内插滤波器)以估计分数位置处的值。先前经解码参考图片由参考图片列表的参考索引(refIdx)指示。运动向量及参考索引可被称作运动参数。可执行两种图片间预测,包含单向预测及双向预测。
通过使用双向预测的帧间预测,使用两组运动参数(Δx0,y0,refIdx0及Δx1,y1,refIdx1)(从同一参考图片或可能从不同参考图片)产生两个运动补偿预测。举例来说,通过双向预测,每一预测块使用两个运动补偿预测信号,且产生B预测单元。随后组合两个运动补偿预测以得到最终运动补偿预测。举例来说,可通过取平均值来组合两个运动补偿预测。在另一实例中,可使用加权预测,在此情况下,不同权重可应用于每一运动补偿预测。可用于双向预测中的参考图片存储于两个分开的列表(表示为列表0及列表1)中。可使用运动估计过程在编码器处导出运动参数。
通过使用单向预测的帧间预测,使用一组运动参数(Δx0,y0,refIdx0)从参考图片产生运动补偿预测。举例来说,通过单向预测,每一预测块使用至多一个运动补偿预测信号,且产生P预测单元。
PU可包含与预测过程有关的数据(例如,运动参数或其它合适数据)。举例来说,当使用帧内预测编码PU时,PU可包含描述用于PU的帧内预测模式的数据。作为另一实例,当使用帧间预测编码PU时,PU可包含定义PU的运动向量的数据。定义PU的运动向量的数据可描述(例如)运动向量的水平分量(Δx)、运动向量的垂直分量(Δy)、运动向量的分辨率(例如,整数精确度、四分之一像素精确度或八分之一像素精确度)、运动向量所指向的参考图片、参考索引、运动向量的参考图片列表(例如,列表0、列表1或列表C)或其任何组合。
编码装置104可随后执行变换及量化。举例来说,在预测之后,编码器引擎106可计算对应于PU的残余值。残余值可包括正经译码的当前像素块(PU)与用于预测当前块的预测块(例如,当前块的经预测版本)之间的像素差值。举例来说,在产生预测块(例如,发出帧间预测或帧内预测)之后,编码器引擎106可通过从当前块减去由预测单元产生的预测块来产生残余块。残余块包含量化当前块的像素值与预测块的像素值之间的差的一组像素差值。在一些实例中,可以二维块格式(例如,像素值的二维矩阵或阵列)表示残余块。在这些实例中,残余块为像素值的二维表示。
使用块变换来变换可在执行预测之后剩余的任何残余数据,此变换可基于离散余弦变换、离散正弦变换、整数变换、小波变换、其它合适的变换函数或其任何组合。在一些情况下,一或多个块变换(例如,大小32×32、16×16、8×8、4×4或其它合适的大小)可应用于每一CU中的残余数据。在一些实施例中,TU可用于由编码器引擎106实施的变换及量化过程。具有一或多个PU的给定CU还可包含一或多个TU。如下文进一步详细描述,可使用块变换将残余值变换成变换系数,且随后可使用TU来量化且扫描残余值以产生用于熵译码的串行化变换系数。
在一些实施例中,在使用CU的PU进行帧内预测性或帧间预测性译码之后,编码器引擎106可计算CU的TU的残余数据。PU可包括空间域(或像素域)中的像素数据。在应用块变换之后,TU可包括变换域中的系数。如先前所提及,残余数据可对应于未经编码图片的像素与对应于PU的预测值之间的像素差值。编码器引擎106可形成包含CU的残余数据的TU,且可随后变换TU以产生CU的变换系数。
编码器引擎106可执行变换系数的量化。量化通过量化变换系数以减少用于表示系数的数据的量而提供进一步压缩。举例来说,量化可减少与系数中的一些或所有相关联的位深度。在一个实例中,具有n位值的系数可在量化期间向下取整为m位值,其中n大于m。
一旦执行量化,经译码视频位流即包含经量化变换系数、预测信息(例如,预测模式、运动向量、块向量或其类似者)、分割信息及任何其它合适的数据,诸如其它语法数据。可随后由编码器引擎106熵编码经译码视频位流的不同元素。在一些实例中,编码器引擎106可利用预定义扫描次序来扫描经量化变换系数以产生可经熵编码的串行化向量。在一些实例中,编码器引擎106可执行自适应扫描。在扫描经量化变换系数以形成向量(例如,一维向量)之后,编码器引擎106可熵编码向量。举例来说,编码器引擎106可使用上下文自适应性可变长度译码、上下文自适应性二进制算术编码、基于语法的上下文自适应性二进制算术编码、机率区间分割熵译码或另一合适的熵编码技术。
编码装置104的输出110可经由通信链路120将组成经编码视频位流数据的NAL单元发送到接收装置的解码装置112。解码装置112的输入114可接收NAL单元。通信链路120可包含由无线网络、有线网络或有线与无线网络的组合提供的信道。无线网络可包含任何无线接口或无线接口的组合,且可包含任何适合的无线网络(例如,因特网或其它广域网、基于封包的网络、WiFiTM、射频(RF)、UWB、WiFi-Direct、蜂窝式、长期演进(LTE)、WiMaxTM或其类似者)。有线网络可包含任何有线接口(例如,光纤、以太网络、电力线以太网络、经由同轴电缆的以太网络、数字信号线(DSL)或其类似者)。可使用各种设备来实施有线及/或无线网络,所述设备诸如基站、路由器、存取点、网桥、网关、交换器或其类似者。可根据通信标准(诸如,无线通信协议)调制经编码视频位流数据,且将其发射到接收装置。
在一些实例中,编码装置104可将经编码视频位流数据存储于存储体(storage)108中。输出110可从编码器引擎106或从存储体108检索经编码视频位流数据。存储体108可包含多种分布式或本地存取数据存储媒体中的任一者。举例来说,存储体108可包含硬盘驱动器、存储盘、闪速存储器、易失性或非易失性存储器或用于存储经编码视频数据的任何其它合适的数字存储媒体。
解码装置112的输入114接收经编码视频位流数据,且可将视频位流数据提供到解码器引擎116,或提供到存储体118以供稍后由解码器引擎116使用。解码器引擎116可通过熵解码(例如,使用熵解码器)及提取组成经编码视频数据的一或多个经译码视频序列的元素而解码经编码视频位流数据。解码器引擎116可随后重新按比例调整经编码视频位流数据且对经编码视频位流数据执行反变换。残余数据随后传递到解码器引擎116的预测级。解码器引擎116随后预测像素的块(例如,PU)。在一些实例中,预测被加到反变换的输出(残余数据)。
解码装置112可将经解码视频输出到视频目的地装置122,视频目的地装置122可包含用于将经解码视频数据显示给内容的消费者的显示器或其它输出装置。在一些方面中,视频目的地装置122可为接收装置的部分,接收装置包含解码装置112。在一些方面中,视频目的地装置122可为不同于接收装置的单独装置的部分。
补充增强信息(SEI)消息可包含于视频位流中。举例来说,SEI消息可用于携载并非为由解码装置112解码位流所必需的信息(例如,元数据)。此信息用于改进经解码输出的显示或处理(例如,此类信息可由解码器侧实体使用以改进内容的可视性)。
对HEVC标准的扩展包含多视图视频译码扩展(被称作MV-HEVC)及可调式视频译码扩展(被称作SHVC)。MV-HEVC及SHVC扩展共享分层译码的概念,其中不同层包含于经编码视频位流中。经译码视频序列中的每一层由唯一层识别符(ID)寻址。层ID可存在于NAL单元的标头中以识别NAL单元所相关联的层。在MV-HEVC中,不同层可表示视频位流中的同一场景的不同视图。在SHVC中,提供以不同空间分辨率(或图片分辨率)或不同重构建保真度表示视频位流的不同可调式层。可调式层可包含基础层(层ID=0)及一或多个增强层(层ID=1,2,…n)。基础层可符合HEVC的第一版本的配置文件,且表示位流中的最低可用层。与基础层相比,增强层具有增加的空间分辨率、时间分辨率或帧速率及/或重构建保真度(或质量)。增强层经阶层式组织,且可(或可不)取决于较低层。在一些实例中,可使用单标准编码解码器来译码不同层(例如,使用HEVC、SHVC或其它译码标准来编码所有层)。在一些实例中,可使用多标准编码解码器来译码不同层。举例来说,可使用AVC来译码基础层,而可使用对HEVC标准的SHVC及/或MV-HEVC扩展来译码一或多个增强层。
大体来说,层包含一组VCL NAL单元及对应的一组非VCL NAL单元。NAL单元被指派特定层ID值。在层可取决于较低层的意义上,层可为阶层式的。层集合指表示于位流内的独立的一组层,意味着在解码过程中层集合内的层可取决于层集合中的其它层,但并不取决于任何其它层来进行解码。因此,层集合中的层可形成可表示视频内容的独立位流。可通过子位流提取过程的操作从另一位流获得层集合中的层的集合。层集合可对应于在解码器希望根据某些参数操作时被解码的层集合。
如先前所描述,HEVC位流包含一组NAL单元,NAL单元包含VCL NAL单元及非VCLNAL单元。VCL NAL单元包含形成经译码视频位流的经译码图片数据。举例来说,形成经译码视频位流的位序列存在于VCL NAL单元中。除了其它信息以外,非VCL NAL单元还可含有具有与经编码视频位流相关的高层级信息的参数集。举例来说,参数集可包含视频参数集(VPS)、序列参数集(SPS)及图片参数集(PPS)。参数集的目标的实例包含位率效率、错误复原(error resiliency)及提供***层接口。每一切片参考单一作用PPS、SPS及VPS以存取解码装置112可用于解码切片的信息。可针对每一参数集译码识别符(ID),包含VPS ID、SPSID及PPS ID。SPS包含SPS ID及VPS ID。PPS包含PPS ID及SPS ID。每一切片标头包含PPSID。可使用ID识别给定切片的作用参数集。
PPS包含适用于给定图片中的所有切片的信息。因为此,所以图片中的所有切片参考同一PPS。不同图片中的切片还可参考同一PPS。SPS包含适用于同一经译码视频序列(CVS)或位流中的所有图片的信息。如先前所描述,经译码视频序列为一系列存取单元(AU),其始于基础层中且具有某些性质(如上文所描述)的随机存取点图片(例如,瞬时解码参考(IDR)图片或断链存取(BLA)图片或其它适当的随机存取点图片),直到且不包含具有在基础层中且具有某些性质的随机存取点图片的下一AU(或位流的末端)。SPS中的信息可不在经译码视频序列内在图片间变化。经译码视频序列中的图片可使用同一SPS。VPS包含适用于经译码视频序列或位流内的所有层的信息。VPS包含具有适用于全部经译码视频序列的语法元素的语法结构。在一些实施例中,可与经编码位流同带发射VPS、SPS或PPS。在一些实施例中,可在与含有经译码视频数据的NAL单元分开的发射中带外发射VPS、SPS或PPS。
在一些实施例中,视频编码装置104及/或视频解码装置112可分别与音频编码装置及音频解码装置集成。视频编码装置104及/或视频解码装置112还可包含实施上文所描述的译码技术所必要的其它硬件或软件,诸如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。视频编码装置104及视频解码装置112可集成为各别装置中的组合式编码器/解码器(编码解码器)的部分。下文参看图7描述编码装置104的特定细节的实例。下文参看图8描述解码装置112的特定细节的实例。
已执行用于诸如文字及运动图形的屏幕内容材料的新型译码工具的研究,且已提议改进屏幕内容的译码效率的技术。可通过用专用译码工具利用屏幕内容的特性而获得译码效率的显著改进。正在努力进行可能开发高效率视频译码(HEVC)标准的未来扩展(包含用于屏幕内容译码(SCC)的特定工具)的工作。
如先前所描述,各种预测模式可用于视频译码过程中,所述预测模式包含帧内预测及帧间预测。帧内预测的一个形式包含块内复制(IBC)。帧内预测的块内复制模式包含于HEVC范围扩展工作草案文本(JCTVC-P1005)中。块内复制使用图像图片或帧中的冗余来执行块匹配以将样本的块(例如,CU、PU或其它译码块)预测为自、从图片的相邻或非相邻区中的样本的经重构建块的位移。通过从内容的重复型式移除冗余,块内复制预测改进了译码效率。
块内复制(IBC)模式允许实现从非相邻样本但在当前图片内进行空间预测。举例来说,图2说明使用块内复制来预测当前译码单元202的经译码图片200。译码单元202可包含CTU或CTU的分割区(例如,含有被称作译码块的明度及色度样本阵列的译码单元(CU)、译码块、含有明度预测块(PB)及一或多个色度PB的预测单元(PU)、预测块或包含像素的块的其它分割区)。使用块向量206从经译码图片200的已经解码的预测块204(在回路内滤波之前)预测当前译码单元202。可使用回路内解块滤波器及样本自适应偏移(SAO)滤波器中的任一者或两者来执行回路内滤波。在解码器中,经预测值可加到余数而无任何内插。举例来说,块向量206可作为整数值而用信号表示。在块向量预测之后,使用运动向量差译码方法(诸如,HEVC标准中所指定的运动向量差译码方法)来编码块向量差。在CU及PU层级两者处启用块内复制。在一些情况下,对于PU层级块内复制,针对所有CU大小支持2N×N及N×2NPU分割区。在一些情况下,当CU为最小CU时,支持N×N PU分割区。在一些实例中,可对仅使用来自同一切片的预测块的译码单元执行块内复制。
(诸如)归因于IBC搜索区域较大,产生关于块内复制的各种问题。举例来说,当使用块内复制时,可能引入存储器带宽及增加的处理的问题。与传统帧内预测模式相反,块内复制允许从非相邻样本(其可被称作预测块、块或样本的块)进行空间预测。这些非相邻样本可来自同一图片内的已经解码的样本(在回路内滤波之前)中的任一者,且由块向量用信号表示。当使用块内复制时,这些非相邻样本的存储器存取增加总体存储器带宽。举例来说,至少部分地通过提取空间预测样本(其不在高速缓存/本地存储器中)而导致读取存取增加。与传统帧内预测结果相比,读取存取增加,因为在传统帧内预测模式中,所使用的相邻样本仅为上方样本的1列及左方样本的1行,且因此可被置放于高速缓存中。然而,当使用块内复制时,来自相邻及非相邻样本的先前经编码及/或经解码样本可被用作参考单元(例如,预测块),这增加需要存储的数据的量。在一些情况下,额外数据不可存储于高速缓存或其它本地存储器中,且必须使用额外存储机构来存储。因此,为了支持增大数量的可用样本,***需要支持额外存储器使用。
另外,部分地归因于存储用于块内复制空间预测的未经滤波样本(例如,预测块)及用于未来图片的输出/时间预测的经滤波经重构建样本二者,导致写入存取增加。举例来说,未经滤波样本用作对块内复制的参考,且因此***需要存储未经滤波样本以及在回路内滤波期间产生的经滤波样本。经滤波样本可用于预测后续帧(例如,使用帧间预测)。
如先前所描述,帧间预测模式可包含单向预测或双向预测。通过双向预测,预测块使用两个运动补偿预测信号及两个运动向量(MV),此对存储器及处理造成负担。此外,如上文所论述,归因于对存储除经滤波样本外的当前图片的非相邻样本及未经滤波样本的额外需要,块内复制模式增加最坏情况存储器存取(总体最坏情况带宽)。
本文中描述译码的一或多个***及方法,其提供对用于视频译码的某些预测模式的限制,所述一或多个***及方法可用于高效解决上文所描述的问题。举例来说,译码的一或多个***及方法是针对改进存储器带宽效率、限制最坏情况存储器存取及块内复制的其它方面(例如,用于高效率视频译码(HEVC)扩展,诸如屏幕内容译码或其它HEVC扩展)。本文件中的所提议***及方法还大体上适用于HEVC及HEVC扩展,包含支持可能的高位深度(例如,大于8位或其它位深度)、高色度取样格式(例如,包含4:4:4及4:2:2,或其它取样)或HEVC及HEVC扩展的其它方面。
本文中描述针对在满足某些条件时强加防止对视频数据执行帧间预测双向预测的限制的一或多个实施例。举例来说,以下提供基于块内复制预测及其它条件而限制双向预测的各种实例。本文中所描述的实施例及/或实例中的每一者可共同起作用或与其它实施例分开地起作用。关于块内复制描述所提议方法,但所提议方法还可应用于具有高带宽及高速缓存要求的其它译码工具,诸如1-D辞典、调色板译码或其它合适的译码技术。
在一些实例中,当启用块内复制预测时,可对双向预测强加限制。举例来说,当对视频数据的一或多个译码单元或预测块启用块内复制预测时,可应用双向预测限制。在此实例中,当启用块内复制预测时,可对某些译码单元(例如,正经译码的当前块)停用双向预测。可限制双向预测的各种形式,诸如8×8双向预测或其它双向预测。通过限制双向预测,可维持HEVC v1最坏情况带宽限制,诸如以用于屏幕内容译码(SCC)扩展。
在一些实例中,除了启用块内复制预测以外,要应用双向预测限制还可需要其它条件。举例来说,其它条件可包含具有指示(例如,对切片、对译码单元或其类似者)一或多个运动向量处于非整数准确度(例如,分数运动向量)、双向预测块的运动向量皆处于非整数准确度、双向预测块的运动向量不相同及/或不指向同一参考图片或其任何组合的值的语法元素。若满足这些条件中的一或多项(除了启用块内复制预测以外),则可应用对双向预测的限制,从而防止对某些译码单元或块执行双向预测。当强加双向预测限制时,其它预测模式可供用于编码或解码视频数据,包含单向预测及帧内预测(例如,IBC或其它帧内预测)。在一些情况下,当满足所述条件中的一或多项时,还可限制单向预测。双向预测块(其被检查其运动向量处于非整数准确度及/或不相同及/或不指向同一参考图片)可来自含有正经译码的当前块的图片、来自含有当前块的切片或来自含有当前块的译码单元(例如,CTU、CU或正经解码的视频数据的其它单元)。举例来说,若含有正经译码的当前块的当前图片中的任何双向预测块的两个运动向量皆处于非整数准确度及/或不相同或不指向同一参考图片,则可强加限制(在满足其它限制(诸如,启用IBC)时)。在另一实例中,若含有正经译码的当前块的当前切片中的任何双向预测块的两个运动向量皆处于非整数准确度及/或不相同或不指向同一参考图片,则可强加限制(在满足其它限制(诸如,启用IBC)时)。在另一实例中,若含有正经译码的当前块的当前译码单元中的任何双向预测块的两个运动向量皆处于非整数准确度及/或不相同或不指向同一参考图片,则可强加限制(在满足其它限制(诸如,启用IBC)时)。
在一些实例中,当启用块内复制且use_integer_mv旗标被设置成指示一或多个运动向量处于非整数准确度的值时,可对双向预测强加限制。可以切片层级或块层级用信号表示use_integer_mv旗标。举例来说,一或多个运动向量可与切片内的任何块、特定译码单元或块或图片的其它单元相关联。在一个说明性实例中,若与切片内的任何块相关联的任何运动向量处于非整数准确度(除了启用块内复制预测以外),则可应用限制。use_integer_mv旗标可在本文中被称作运动向量分辨率旗标。运动向量分辨率旗标指定用于帧间预测模式的运动向量(MV)的分辨率。举例来说,运动向量分辨率旗标可被设置成指示(例如,对切片、对译码单元或其类似者)一或多个运动向量处于非整数准确度的值(例如,分数运动向量)。在一个说明性实例中,运动向量分辨率旗标的值0指示一或多个运动向量(例如,在切片、译码单元或图片的其它部分中)具有分数像素准确度,且运动向量分辨率旗标的值1指示所有运动向量(例如,在切片、译码单元或图片的其它部分中)处于整数准确度。本领域的一般技术人员将了解,值1可将一或多个运动向量指示为具有分数像素准确度,且值0可指示所有运动向量具有整数准确度。
在可对双向预测应用限制之前,可需要满足一或多个其它条件。对于HEVC的屏幕内容译码(SCC)扩展,当双向预测块(例如,8×8双向预测块或其它合适大小的双向预测块,诸如4×8、8×4、16×16或任何其它合适大小的双向预测块)的运动向量(MV)中的至少一者具有整数准确度时,维持(不超出)HEVC版本1带宽最坏情况限制。举例来说,在此情境下维持带宽最坏情况限制,这是因为在MV处于整数准确度时无需加载内插所需的样本,因为仅在使用具有分数准确度的运动向量时需要内插。在双向预测块的MV具有整数准确度的情境下,可不强加双向预测限制(例如,8×8双向预测限制或其它合适的双向预测限制)。用于限制双向预测的条件可因此包含双向预测块的两个MV皆处于非整数准确度(例如,分数像素准确度)。如先前所提及,运动向量的准确度可由运动向量的量化层级表达。量化层级可为(例如)整数准确度(例如,1像素)或分数像素准确度(例如,1/4像素、1/2像素或其它子像素值)。
此外,对于HEVC的SCC扩展,当双向预测块的两个MV相同及/或指向同一参考图片(refPic)时,维持HEVC版本1带宽最坏情况限制。举例来说,在此情境下维持带宽最坏情况限制,这是因为在两个MV相同且指向同一refPic时无需对每一MV加载预测样本两次。即,相同预测样本可仅加载一次,这是由于MV指向相同样本。在双向预测块的两个MV相同且指向同一refPic的情境下,无需强加双向预测限制(例如,8×8双向预测限制)。用于限制双向预测的另一条件可因此包含双向预测块的MV相同及/或来自同一参考索引。
根据上文所描述的实例,一或多个实施例包含对双向预测(例如,8×8双向预测或其它双向预测)选择性地强加限制。在一些情况下,编码器较佳执行双向预测,因为双向预测提供较高压缩效率的益处,且在限制双向预测时,效率受到损失。因此,本文中提供对双向预测的改进限制,其中仅在需要所述限制的情况下应用所述限制。举例来说,当满足一或多个或所有条件(包含其任何组合)时,可限制双向预测(例如,8×8双向预测或其它双向预测)。限制可包含在满足所述条件时停用双向预测。所述条件可(例如)包含:
a)基于切片、图片或序列层级IBC控制对当前块启用IBC;
b)对于当前切片,use_integer_mv等于零;
c)双向预测块(例如,8×8双向预测块或其它大小的双向预测块)的两个MV皆处于非整数准确度(例如,MV处于分数像素准确度);
d)以下不为真:双向预测块(例如,8×8双向预测块或其它大小的双向预测块)的MV相同且指向同一参考图片。
当满足以上条件中的一或多项、满足所述条件的组合或满足所有条件时,可对双向预测强加限制。类似地,当不满足以上条件中的一或多项、不满足所述条件的组合或并非满足所有条件时,可不对双向预测强加限制。
在一个实例中,当对当前块或其它译码单元启用块内复制,use_integer_mv旗标的值为零(指示含有当前块的切片中的一或多个MV处于非整数准确度),且双向预测块(例如,8×8双向预测块或其它大小的双向预测块)的两个MV皆处于非整数准确度时,强加限制且对帧间预测帧(I帧)中的某些预测块停用双向预测。举例来说,可仅对某些预测块停用双向预测,诸如大小小于或等于预定义大小(例如,8×8双向预测块或其它合适的大小)的预测块。
在另一实例中,当对当前块或其它译码单元启用块内复制,use_integer_mv旗标的值为零,且双向预测块(例如,8×8双向预测块或其它大小的双向预测块)的MV不相同及/或不指向同一参考图片(满足以上条件d))时,对I帧中的某些预测块停用双向预测(例如,当预测块大小小于或等于预定义的大小(诸如,8×8或其它合适大小)时)。
在又一实例中,当对当前块或其它译码单元启用块内复制,use_integer_mv_flag的值为零,双向预测块(例如,8×8双向预测块或其它大小的双向预测块)的两个MV皆处于非整数准确度,且双向预测块(例如,8×8双向预测块或其它大小的双向预测块)的MV不相同及/或不指向同一参考图片(满足以上条件d))时,对I帧中的某些预测块停用双向预测(例如,当预测块大小小于或等于预定义的大小(诸如,8×8或其它合适大小)时)。
在另一实例中,当对当前块或其它译码单元启用块内复制且双向预测块(例如,8×8双向预测块或其它大小的双向预测块)的MV皆处于非整数准确度时,强加限制且对内框(I帧)中的某些预测块停用双向预测。举例来说,可仅对某些预测块停用双向预测,诸如大小小于或等于预定义大小(例如,8×8双向预测块或其它合适的大小)的预测块。
在另一实例中,当对当前块或其它译码单元启用块内复制且双向预测块(例如,8×8双向预测块或其它大小的双向预测块)的MV不相同及/或不指向同一参考图片(满足以上条件d))时,对I帧中的某些预测块停用双向预测(例如,当预测块大小小于或等于预定义的大小(诸如,8×8或其它合适大小)时)。
在又一实例中,当对当前块或其它译码单元启用块内复制,双向预测块(例如,8×8双向预测块或其它大小的双向预测块)的两个MV皆处于非整数准确度,且双向预测块(例如,8×8双向预测块或其它大小的双向预测块)的MV不相同及/或不指向同一参考图片(满足以上条件d))时,对I帧中的某些预测块停用双向预测(例如,当预测块大小小于或等于预定义的大小(诸如,8×8或其它合适大小)时)。
在一些实施例中,可基于以上条件a)至d)中的一或多项或其组合而实施对双向预测的解码器侧限制。举例来说,可通过在满足条件a)至d)中的一或多项时禁止语法元素inter_pred_idc的某些值(例如,inter_pred_idc==2)使得无法用信号表示双向预测(例如,8×8双向预测或任何其它双向预测)而强加条件a)至d)作为解码器限制。语法元素inter_pred_idc可指定是否对当前预测单元使用list0、list1或双向预测。
以上提供的实例中的任一者可用于对双向预测强加解码器侧限制。举例来说,当启用块内复制且use_integer_mv为零时,可应用解码器侧限制。作为另一实例,当启用块内复制且双向预测块(例如,8×8双向预测块或其它大小的双向预测块)的两个MV皆处于非整数准确度时,可应用解码器侧限制。作为又一实例,当启用块内复制且双向预测块(例如,8×8双向预测块或其它大小的双向预测块)的MV不相同及/或不指向同一参考图片(满足以上条件d))时,可应用解码器侧限制。作为另一实例,当启用块内复制,use_integer_mv为零,且双向预测块(例如,8×8双向预测块或其它大小的双向预测块)的两个MV皆处于非整数准确度时,可应用解码器侧限制。作为另一实例,当启用块内复制,use_integer_mv为零,且双向预测块(例如,8×8双向预测块或其它大小的双向预测块)的MV不相同及/或不指向同一参考图片(满足以上条件d))时,可应用解码器侧限制。作为又一实例,当启用块内复制,use_integer_mv为零,双向预测块(例如,8×8双向预测块或其它大小的双向预测块)的两个MV皆处于非整数准确度,且双向预测块(例如,8×8双向预测块或其它大小的双向预测块)的MV不相同及/或不指向同一参考图片(满足以上条件d))时,可应用解码器侧限制。作为另一实例,当启用块内复制,双向预测块(例如,8×8双向预测块或其它大小的双向预测块)的两个MV皆处于非整数准确度,且双向预测块(例如,8×8双向预测块或其它大小的双向预测块)的MV不相同及/或不指向同一参考图片(满足以上条件d))时,可应用解码器侧限制。
在解码器侧限制的一个实例中,当启用块内复制且use_integer_mv为零时,可禁止8×8双向预测(或其它双向预测)。本领域的一般技术人员将了解,此实例适用于除了8×8双向预测以外的其它类型的双向预测。举例来说,变量EightbyEightBiPredRestrictionEnableflag可导出为EightbyEightBiPredRestrictionEnableflag=curr_pic_as_ref_enabled_flag&&!use_integer_mv_flag。在此导出中,curr_pic_as_ref_enabled_flag可基于SPS旗标、PPS旗标或VPS旗标。在一些实例中,等于1的curr_pic_as_ref_enabled_flag可指定参考SPS或PPS(或其它参数集)的当前图片可包含于图片自身的参考图片列表中(意味着其可用于基于IBC的预测中)。在一些实例中,等于0的curr_pic_as_ref_enabled_flag可指定参考SPS或PPS(或其它参数集)的图片不被包含于图片自身的任何参考图片列表中。在一些实例中,当不存在时,curr_pic_as_ref_enabled_flag的值可推断为等于0(或在一些实例中等于1)。EightbyEightBiPredRestrictionEnableflag旗标还被称作双向预测限制旗标,且curr_pic_as_ref_enabled_flag还被称作IBC旗标。使用以上公式,当IBC旗标等于1且运动向量分辨率旗标等于0时,双向预测限制旗标等于1。当双向预测限制旗标等于1时,启用双向预测限制。
根据当前“高效率视频译码(HEVC)屏幕内容译码:草案3(High Efficiency VideoCoding(HEVC)Screen Content Coding:Draft 3)”,根据如下展示的表7-11,inter_pred_idc[x0][y0]语法指定是否对当前预测单元使用list0、list1或双向预测。阵列索引x0、y0指定所考虑预测块的左上方明度样本相对于图片的左上方明度样本的位置(x0,y0)。两个变量nPbW及nPbH指定当前明度预测块的宽度及高度。
表7-11-与帧间预测模式的名称关联
在当启用块内复制且use_integer_mv为零时禁止8×8双向预测(或其它双向预测)的以上实例实施方案中,根据表7-11的经修改版本(在下文标注为表1-与帧间预测模式的名称关联)而导出指定是否对当前预测单元使用list0、list1或双向预测的inter_pred_idc[x0][y0]的值。
表1-与帧间预测模式的名称关联
在解码器侧限制的第二实例中,实例可包含:在启用块内复制,use_integer_mv为零,8×8双向预测块的两个MV皆处于非整数准确度(例如,分数像素准确度),且以下不为真时禁止8×8双向预测(或其它双向预测):8×8双向预测块的MV相同且指向同一参考图片(意味着以下情况中的任一者或两者:8×8双向预测块的MV不相同或不指向同一参考图片)。在此实例中,变量EightbyEightBiPredhasIntegermv被导出为EightbyEightBiPredhasnoIntegermv=!((mvL0&0x3==0)||(mvL1&0x3==0))。变量EightbyEightBiPredIdenticalMv被导出为EightbyEightBiPrednotIdenticalMv=!((mvL0==mvL1)&&(refIdxL0==refIdxL1))。变量EightbyEightBiPredRestrictionEnableflag被导出为EightbyEightBiPredRestrictionEnableflag=(curr_pic_as_ref_enabled_flag&&!use_integer_mv&&EightbyEightBiPredhasnoIntegermv&&EightbyEightBiPrednotIdenticalMv)。在此导出中,curr_pic_as_ref_enabled_flag可基于SPS旗标或PPS旗标。
在解码器侧限制的以上第二实例实施方案中,根据表7-11的另一经修改版本(在下文标注为表2-与帧间预测模式的名称关联)而导出指定是否对当前预测单元使用list0、list1或双向预测的inter_pred_idc[x0][y0]的值。
表2-与帧间预测模式的名称关联
使用本文中所描述的技术及***,执行块内复制技术的存储器带宽及大小要求降低。举例来说,当使用块内复制预测且满足某些其它条件时,可停用双向预测,以使得对存储器带宽及大小的负担被最小化。因此,存储器带宽效率改进,最坏情况存储器存取受到限制,且块内复制的其它方面增强。
图3说明使用本文中所描述的技术中的一或多者来编码视频数据以产生一或多个经编码视频图片的过程300的实例。在302处,过程300包含在编码器处获得视频数据。视频数据可包含当前图片、当前图片的当前切片、当前译码单元(例如,CTU、CU或正经译码的视频数据的其它单元)或任何其它视频数据。
在304处,过程300包含确定启用块内复制预测以用于对视频数据的至少一个块执行图片内预测。举例来说,可对当前图片的块、当前切片的块、当前译码单元的块(例如,CTU、CU或正经译码的视频数据的其它单元)启用IBC。在一些实例中,可在图片、切片或经译码视频序列(CVS)层级启用IBC。
在306处,过程300包含确定视频数据的双向预测块的两个运动向量皆处于非整数准确度。举例来说,双向预测块的两个向量皆可确定为具有分数像素准确度,如上文所描述。在一些实例中,双向预测块包含8×8双向预测块。在一些实例中,双向预测块可包含具有某一分割大小的任何块,诸如4×4块、16×16块或任何其它合适的块。
在308处,过程300包含停用图片间双向预测以便编码视频数据的一或多个块。帧间预测双向预测响应于确定启用块内复制预测及确定双向预测块的两个运动向量皆处于非整数准确度而被停用。在一些实例中,在停用图片间双向预测时,仍可使用图片间单向预测。在一些实例中,在停用图片间双向预测时,还可停用图片间单向预测。
在310处,过程300包含使用预测模式来产生一或多个经编码视频图片。预测模式可包含帧内预测或帧间预测单向预测。在一个说明性实例中,过程300可包含使用块内复制预测对视频数据执行图片内预测以产生一或多个经编码视频图片。在另一说明性实例中,过程300可包含执行图片内预测以产生一或多个经编码视频图片。在另一说明性实例中,过程300可包含执行图片间单向预测以产生一或多个经编码视频图片。
在一些方面中,过程300包含确定双向预测块的两个运动向量不相同或不指向同一参考图片。在这些方面中,在308处停用帧间预测双向预测包含响应于确定启用图片内预测、确定双向预测块的两个运动向量皆处于非整数准确度及确定双向预测块的两个运动向量不相同或不指向同一参考图片而停用图片间双向预测以便编码视频数据的一或多个块。
在一些方面中,过程300包含确定运动向量分辨率旗标的值等于零。运动向量分辨率旗标指定用于帧间预测模式的运动向量的分辨率。在一些实例中,运动向量分辨率旗标包含上文所描述的use_integer_mv旗标。在这些方面中,在308处停用帧间预测双向预测包含响应于确定启用图片内预测、确定双向预测块的两个运动向量皆处于非整数准确度及确定运动向量分辨率旗标的值等于零而停用图片间双向预测以便编码视频数据的一或多个块。
在一些方面中,视频数据包含图片的切片。切片包含多个块,如上文所描述。在这些方面中,在308处停用帧间预测双向预测包含停用图片间双向预测以便编码切片的多个块。举例来说,可仅对切片的块且不对图片的其它切片的块限制图片间双向预测。在一些实例中,图片可仅包含单一切片。在一些实例中,图片可包含多个切片。
在一些方面中,停用图片间双向预测以便编码小于阈值大小的预测块。在一些实例中,阈值大小包含8×8像素的预测块大小或任何其它合适的块大小。
图4说明使用本文中所描述的技术中的一或多者来编码视频数据以产生一或多个经编码视频图片的过程400的另一实例。在402处,过程400包含在编码器处获得视频数据。视频数据可包含当前图片、当前图片的当前切片、当前译码单元(例如,CTU、CU或正经译码的视频数据的其它单元)或任何其它视频数据。
在404处,过程400包含确定启用块内复制预测以用于对视频数据的至少一个块执行图片内预测。举例来说,可对当前图片的块、当前切片的块、当前译码单元的块(例如,CTU、CU或正经译码的视频数据的其它单元)启用IBC。在一些实例中,可在图片、切片或经译码视频序列(CVS)层级启用IBC。
在406处,过程400包含确定视频数据的双向预测块的两个运动向量不相同或不指向同一参考图片。在一些实例中,双向预测块包含8×8双向预测块。在一些实例中,双向预测块可包含具有某一分割大小的任何块,诸如4×4块、16×16块或任何其它合适的块。
在408处,过程400包含停用图片间双向预测以便编码视频数据的一或多个块。帧间预测双向预测响应于确定启用块内复制预测及确定双向预测块的两个运动向量不相同或不指向同一参考图片而被停用。在一些实例中,在停用图片间双向预测时,仍可使用图片间单向预测。在一些实例中,在停用图片间双向预测时,还可停用图片间单向预测。
在410处,过程400包含使用预测模式来产生一或多个经编码视频图片。预测模式可包含帧内预测或帧间预测单向预测。在一个说明性实例中,过程400可包含使用块内复制预测对视频数据执行图片内预测以产生一或多个经编码视频图片。在另一说明性实例中,过程400可包含执行图片内预测以产生一或多个经编码视频图片。在另一说明性实例中,过程400可包含执行图片间单向预测以产生一或多个经编码视频图片。
在一些方面中,过程400包含确定双向预测块的两个运动向量皆处于非整数准确度。在这些方面中,在408处停用帧间预测双向预测包含响应于确定启用图片内预测、确定双向预测块的两个运动向量不相同或不指向同一参考图片及确定双向预测块的两个运动向量皆处于非整数准确度而停用图片间双向预测以便编码视频数据的一或多个块。
在一些方面中,过程400包含确定运动向量分辨率旗标的值等于零。运动向量分辨率旗标指定用于帧间预测模式的运动向量的分辨率。在这些方面中,在408处停用帧间预测双向预测包含响应于确定启用图片内预测、确定双向预测块的两个运动向量不相同或不指向同一参考图片及确定运动向量分辨率旗标的值等于零而停用图片间双向预测以便编码视频数据的一或多个块。
在一些方面中,视频数据包含图片的切片。切片包含多个块,如上文所描述。在这些方面中,在408处停用帧间预测双向预测包含停用图片间双向预测以便编码切片的多个块。举例来说,可仅对切片的块且不对图片的其它切片的块限制图片间双向预测。在一些实例中,图片可仅包含单一切片。在一些实例中,图片可包含多个切片。
在一些方面中,停用图片间双向预测以便编码小于阈值大小的预测块。在一些实例中,阈值大小包含8×8像素的预测块大小或任何其它合适的块大小。
图5说明使用本文中所描述的技术中的一或多者来解码视频数据以产生一或多个经解码视频图片的过程500的实例。在502处,过程500包含在视频位流中接收使用多个预测模式编码的经编码视频数据。所述多个预测模式包括图片间单向预测模式、图片间双向预测模式及图片内块内复制模式。经编码视频数据可包含当前图片、当前图片的当前切片、当前译码单元(例如,CTU、CU或正经解码的视频数据的其它单元)或任何其它视频数据。
在504处,过程500包含在视频位流中接收对经编码视频数据的一或多个块停用图片间双向预测的指示。图片间双向预测基于针对经编码视频数据的一或多个块启用块内复制及经编码视频数据的双向预测块的两个运动向量皆处于非整数准确度而被停用。举例来说,双向预测块的两个向量皆可确定为具有分数像素准确度,如上文所描述。在一些实例中,可对当前图片的块、当前切片的块、当前译码单元的块(例如,CTU、CU或正经解码的视频数据的其它单元)启用IBC。在一些实例中,可在图片、切片或经译码视频序列(CVS)层级启用IBC。在一些实例中,具有非整数运动向量的双向预测块包含8×8双向预测块。在一些实例中,双向预测块可包含具有某一分割大小的任何块,诸如4×4块、16×16块或任何其它合适的块。
在506处,过程500包含基于指示而从多个预测模式确定预测模式以用于预测经编码视频数据的块。举例来说,可选择图片间单向预测模式或图片内块内复制模式以供用于解码经编码视频数据。
在508处,过程500包含使用所确定的预测模式来解码经编码视频数据的块。举例来说,可使用图片间单向预测模式或图片内块内复制模式来解码经编码视频数据。
在一些实例中,基于针对经编码视频数据的一或多个块启用块内复制、经编码视频数据的双向预测块的两个运动向量皆处于非整数准确度及双向预测块的两个运动向量不相同或不指向同一参考图片而停用图片间双向预测。
在一些实例中,基于针对经编码视频数据的一或多个块启用块内复制、经编码视频数据的双向预测块的两个运动向量皆处于非整数准确度及运动向量分辨率旗标的值等于零而停用图片间双向预测,运动向量分辨率旗标指定用于帧间预测模式的运动向量的分辨率。
在一些方面中,经编码视频数据包含图片的切片。切片包含多个块,如上文所描述。在这些方面中,停用帧间预测双向预测以便解码切片的多个块。
在一些方面中,停用图片间双向预测以便解码小于阈值大小的预测块。在一些实例中,阈值大小包含8×8像素的预测块大小或任何其它合适的块大小。
图6说明使用本文中所描述的技术中的一或多者来解码视频数据以产生一或多个经解码视频图片的过程600的另一实例。在602处,过程600包含在视频位流中接收使用多个预测模式编码的经编码视频数据。所述多个预测模式包括图片间单向预测模式、图片间双向预测模式及图片内块内复制模式。经编码视频数据可包含当前图片、当前图片的当前切片、当前译码单元(例如,CTU、CU或正经解码的视频数据的其它单元)或任何其它视频数据。
在604处,过程600包含在视频位流中接收对经编码视频数据的一或多个块停用图片间双向预测的指示。图片间双向预测基于针对经编码视频数据的一或多个块启用块内复制及双向预测块的两个运动向量不相同或不指向同一参考图片而被停用。在一些实例中,可对当前图片的块、当前切片的块、当前译码单元的块(例如,CTU、CU或正经解码的视频数据的其它单元)启用IBC。在一些实例中,可在图片、切片或经译码视频序列(CVS)层级启用IBC。在一些实例中,具有不相同运动向量的双向预测块包含8×8双向预测块。在一些实例中,双向预测块可包含具有某一分割大小的任何块,诸如4×4块、16×16块或任何其它合适的块。
在606处,过程600包含基于指示而自多个预测模式确定预测模式以用于预测经编码视频数据的块。举例来说,可选择图片间单向预测模式或图片内块内复制模式以供用于解码经编码视频数据。
在608处,过程600包含使用所确定的预测模式来解码经编码视频数据的块。举例来说,可使用图片间单向预测模式或图片内块内复制模式来解码经编码视频数据。
在一些方面中,基于针对经编码视频数据的一或多个块启用块内复制、双向预测块的两个运动向量不相同或不指向同一参考图片及双向预测块的两个运动向量皆处于非整数准确度而停用图片间双向预测。
在一些方面中,基于针对经编码视频数据的一或多个块启用块内复制、双向预测块的两个运动向量不相同或不指向同一参考图片及运动向量分辨率旗标的值等于零而停用图片间双向预测,运动向量分辨率旗标指定用于帧间预测模式的运动向量的分辨率。
在一些方面中,视频数据包含图片的切片。切片包含多个块,如上文所描述。在这些方面中,停用帧间预测双向预测以便解码切片的多个块。
在一些方面中,停用图片间双向预测以便解码小于阈值大小的预测块。在一些实例中,阈值大小包含8×8像素的预测块大小。
在一些实例中,过程300、400、500及600可由计算装置或设备执行,诸如图1中所展示的***100。举例来说,过程300及400可由图1及图7中所展示的编码装置104执行,且过程500及600可由图1及图8中所展示的解码装置112执行。在一些情况下,计算装置或设备可包含处理器、微处理器、微计算机或经配置以进行过程300、400、500及600的步骤的装置的其它组件。在一些实例中,计算装置或设备可包含经配置以捕捉包含视频帧的视频数据(例如,视频序列)的相机。在一些实例中,捕捉视频数据的相机或其它捕捉装置与计算装置分离,在此情况下,计算装置接收或获得所捕捉视频数据。计算装置可进一步包含经配置以传达视频数据的网络接口。网络接口可经配置以传达基于因特网协议(IP)的数据或其它类型的数据。
过程300、400、500及600被说明为逻辑流图,所述过程的操作表示可实施于硬件、计算机指令或其组合中的一系列操作。在计算机指令的上下文中,操作表示存储于一或多个计算机可读存储媒体上的计算机可执行指令,在由一或多个处理器执行时,所述计算机可执行指令执行所叙述操作。通常,计算机可执行指令包含执行特定功能或实施特定数据类型的例程、程序、对象、组件、数据结构及其类似者。描述操作的次序并不意图被理解为限制,且任何数目个经描述操作可按任何次序及/或并行地组合以实施过程。
另外,过程300、400、500及600可在经配置有可执行指令的一或多个计算机***的控制下执行,且可被实施为共同执行于一或多个处理器上的程序代码(例如,可执行指令、一或多个计算机程序或一或多个应用程序)、由硬件实施或由其组合实施。如上文所提及,程序代码可存储于计算机可读或机器可读存储媒体上,例如,呈包括可由一或多个处理器执行的多个指令的计算机程序的形式。计算机可读或机器可读存储媒体可为非暂时性的。
本文中所论述的译码技术可实施于实例视频编码及解码***(例如,***100)中。在一些实例中,***包含提供稍后由目的地装置解码的经编码视频数据的源装置。确切地说,源装置经由计算机可读媒体将视频数据提供到目的地装置。源装置及目的地装置可包括广泛范围的装置中的任一者,包含桌面计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、电话手机(诸如,所谓“智能型”电话)、所谓“智能型”平板、电视、相机、显示设备、数字媒体播放器、视频游戏主机、视频流式发射装置或其类似者。在一些情况下,源装置及目的地装置可经装备以用于无线通信。
目的地装置可经由计算机可读媒体接收待解码的经编码视频数据。计算机可读媒体可包括能够将经编码视频数据从源装置移动到目的地装置的任何类型的媒体或装置。在一个实例中,计算机可读媒体可包括通信媒体以使得源装置能够实时地将经编码视频数据直接发射到目的地装置。可根据通信标准(诸如,无线通信协议)调制经编码视频数据,且将经编码视频数据发射到目的地装置。通信媒体可包括任何无线或有线通信媒体,诸如射频(RF)频谱或一或多个物理发射线。通信媒体可形成基于封包的网络(诸如,局域网、广域网或诸如因特网的全球网)的部分。通信媒体可包含路由器、交换器、基站或可用于促进从源装置到目的地装置的通信的任何其它设备。
在一些实例中,经编码数据可从输出接口输出到存储装置。类似地,可通过输入接口从存储装置存取经编码数据。存储装置可包含多种分布式或本地存取数据存储媒体中的任一者,诸如硬盘驱动器、蓝光光盘、DVD、CD-ROM、闪速存储器、易失性或非易失性存储器或用于存储经编码视频数据的任何其它合适数字存储媒体。在另一实例中,存储装置可对应于文件服务器或可存储由源装置产生的经编码视频的另一中间存储装置。目的地装置可经由流式发射或下载从存储装置存取所存储的视频数据。文件服务器可为能够存储经编码视频数据且将所述经编码视频数据发射到目的地装置的任何类型的服务器。实例文件服务器包含网页服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置或本地磁盘驱动器。目的地装置可经由任何标准数据连接(包含因特网连接)来存取经编码视频数据。此标准数据连接可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等)或两者的适合于存取存储于文件服务器上的经编码视频数据的结合。经编码视频数据从存储装置的发射可为流式发射、下载发射或其组合。
本发明的技术未必限于无线应用或设置。所述技术可应用于视频译码以支持多种多媒体应用中的任一者,诸如,空中电视广播、有线电视发射、***发射、因特网流式视频发射(诸如,HTTP动态自适应流式发射(DASH))、经编码到数据存储媒体上的数字视频、存储于数据存储媒体上的数字视频的解码或其它应用。在一些实例中,***可经配置以支持单向或双向视频发射以支持诸如视频流式发射、视频播放、视频广播及/或视频电话的应用。
在一个实例中,源装置包括视频源、视频编码器及输出接口。目的地装置可包含输入接口、视频解码器及显示设备。源装置的视频编码器可经配置以应用本文中所揭示的技术。在其它实例中,源装置及目的地装置可包含其它组件或布置。举例来说,源装置可从外部视频源(诸如,外部相机)接收视频数据。同样,目的地装置可与外部显示设备介接,而非包含集成式显示设备。
以上实例***仅为一个实例。用于并行地处理视频数据的技术可由任何数字视频编码及/或解码装置执行。尽管本发明的技术通常由视频编码装置执行,但所述技术还可由视频编码器/解码器(通常被称作“编码解码器”)执行。此外,本发明的技术还可由视频预处理器执行。源装置及目的地装置仅为源装置产生经译码视频数据以供发射到目的地装置的此类译码装置的实例。在一些实例中,源装置及目的地装置可以基本上对称方式操作,使得所述装置中的每一者包含视频编码及解码组件。因此,实例***可支持视频装置之间的单向或双向视频发射,例如用于视频流式发射、视频播放、视频广播或视频电话。
视频源可包含视频捕捉装置,诸如视频相机、含有先前捕捉的视频的视频存盘及/或用以从视频内容提供商接收视频的视频馈入接口。作为另一替代,视频源可产生基于计算机图形的数据作为源视频,或实况视频、存盘视频及计算机产生的视频的组合。在一些情况下,若视频源为视频相机,则源装置及目的地装置可形成所谓相机电话或视频电话。然而,如上文所提及,本发明中描述的技术通常可适用于视频译码,且可适用于无线及/或有线应用。在每一情况下,可由视频编码器编码所捕捉、经预捕捉或计算机产生的视频。经编码视频信息可随后由输出接口输出到计算机可读媒体上。
如所提及,计算机可读媒体可包含瞬时媒体,诸如无线广播或有线网络发射;或存储媒体(即,非暂时性存储媒体),诸如硬盘、闪存盘、紧密光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(图中未展示)可从源装置接收经编码视频数据,且(例如)经由网络发射将经编码视频数据提供到目的地装置。类似地,媒体生产设施(诸如,光盘冲压设施)的计算装置可从源装置接收经编码视频数据且生产含有经编码视频数据的光盘。因此,在各种实例中,计算机可读媒体可理解为包含各种形式的一或多个计算机可读媒体。
目的地装置的输入接口从计算机可读媒体接收信息。计算机可读媒体的信息可包含由视频编码器定义的语法信息(其也由视频解码器使用),所述语法信息包含描述块及其它经译码单元(例如,图片群组(GOP))的特性及/或处理的语法元素。显示设备将经解码视频数据显示给用户,且可包括多种显示设备中的任一者,诸如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示设备。已描述本发明的各种实施例。
编码装置104及解码装置112的特定细节分别展示于图7及图8中。图7为说明可实施本发明中所描述的技术中的一或多者的实例编码装置104的框图。编码装置104可(例如)产生本文中所描述的语法结构(例如,VPS、SPS、PPS或其它语法元素的语法结构)。编码装置104可执行视频切片内的视频块的帧内预测及帧间预测译码。如先前所描述,帧内译码至少部分地依赖于空间预测以减少或移除给定视频帧或图片内的空间冗余。帧间译码至少部分地依赖于时间预测以减少或移除视频序列的邻近或周围帧内的时间冗余。帧内模式(I模式)可指若干基于空间的压缩模式中的任一者。帧间模式(诸如,单向预测(P模式)或双向预测(B模式))可指若干基于时间的压缩模式中的任一者。
编码装置104包含分割单元35、预测处理单元41、滤波器单元63、图片存储器64、求和器50、变换处理单元52、量化单元54及熵编码单元56。预测处理单元41包含运动估计单元42、运动补偿单元44及帧内预测处理单元46。对于视频块重构建,编码装置104还包含反量化单元58、反变换处理单元60及求和器62。滤波器单元63既定表示一或多个回路滤波器,诸如解块滤波器、自适应回路滤波器(ALF)及样本自适应偏移(SAO)滤波器。尽管滤波器单元63在图7中展示为回路内滤波器,但在其它配置中,滤波器单元63可实施为回路后滤波器。后处理装置57可对由编码装置104产生的经编码视频数据执行额外处理。本发明的技术可在一些情况下由编码装置104实施。然而,在其它情况下,本发明的技术中的一或多者可由后处理装置57实施。
如图7中所展示,编码装置104接收视频数据,且分割单元35将数据分割成视频块。分割还可包含分割成切片、切片片段、图像块或其它较大单元,以及视频块分割,例如根据LCU及CU的四分树结构。编码装置104通常说明编码待编码的视频切片内的视频块的组件。可将切片划分成多个视频块(且可能划分成被称作图像块的视频块集合)。预测处理单元41可基于错误结果(例如,译码速率及失真等级,或其类似者)选择多个可能译码模式中的一者(诸如,多个帧内预测译码模式中的一者或多个帧间预测译码模式中的一者)以用于当前视频块。预测处理单元41可将所得经帧内或帧间译码块提供到求和器50以产生残余块数据且提供到求和器62以重构建经编码块以用作参考图片。
预测处理单元41内的帧内预测处理单元46可执行当前视频块相对于与待译码的当前块在相同的帧或切片中的一或多个相邻块的帧内预测译码,以提供空间压缩。预测处理单元41内的运动估计单元42及运动补偿单元44执行当前视频块相对于一或多个参考图片中的一或多个预测性块的帧间预测性译码,以提供时间压缩。
运动估计单元42可经配置以根据视频序列的预定型式来确定用于视频切片的帧间预测模式。预定型式可将序列中的视频切片指定为P切片、B切片或GPB切片。运动估计单元42及运动补偿单元44可高度集成,但出于概念目的而分开说明。由运动估计单元42执行的运动估计为产生估计视频块的运动的运动向量的过程。运动向量(例如)可指示当前视频帧或图片内的视频块的预测单元(PU)相对于参考图片内的预测性块的位移。
预测性块为被发现依据像素差紧密地匹配于待译码的视频块的PU的块,所述像素差可通过绝对差和(SAD)、平方差和(SSD)或其它差量度来确定。在一些实例中,编码装置104可计算存储于图片存储器64中的参考图片的次整数像素位置的值。举例来说,编码装置104可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可执行关于全像素位置及分数像素位置的运动搜索,且输出具有分数像素精确度的运动向量。
运动估计单元42通过将PU的位置与参考图片的预测性块的位置比较而计算经帧间译码切片中的视频块的PU的运动向量。参考图片可选自第一参考图片列表(列表0)或第二参考图片列表(列表1),所述列表中的每一者识别存储于图片存储器64中的一或多个参考图片。运动估计单元42将经计算运动向量发送到熵编码单元56及运动补偿单元44。
由运动补偿单元44执行的运动补偿可涉及基于由运动估计(可能执行内插达子像素精确度)确定的运动向量而提取或产生预测性块。在接收到当前视频块的PU的运动向量之后,运动补偿单元44可在参考图片列表中定位运动向量所指向的预测性块。编码装置104通过从正经译码的当前视频块的像素值减去预测性块的像素值从而形成像素差值来形成残余视频块。像素差值形成用于块的残余数据,且可包含明度及色度差分量两者。求和器50表示执行此减法运算的一或多个组件。运动补偿单元44还可产生与视频块及视频切片相关联的语法元素,以供解码装置112在解码视频切片的视频块时使用。
作为如上文所描述由运动估计单元42及运动补偿单元44执行的帧间预测的替代,帧内预测处理单元46可对当前块进行帧内预测。确切地说,帧内预测处理单元46可确定帧内预测模式以用以编码当前块。在一些实例中,帧内预测处理单元46可(例如)在分开的编码遍次期间使用各种帧内预测模式来编码当前块,且帧内预测处理单元46(或在一些实例中,模式选择单元40)可从所测试模式选择适当帧内预测模式来使用。举例来说,帧内预测处理单元46可使用对各种所测试帧内预测模式的速率-失真分析来计算速率-失真值,且可在所测试模式间选择具有最佳速率-失真特性的帧内预测模式。速率-失真分析大体上确定经编码块与原始、未经编码块(其经编码以产生经编码块)之间的失真(或误差)量,以及用以产生经编码块的位率(即,位的数目)。帧内预测处理单元46可从各种经编码块的失真及速率计算比率以确定哪一帧内预测模式展现块的最佳速率-失真值。
在任何情况下,在选择用于块的帧内预测模式后,帧内预测处理单元46可将指示用于块的选定帧内预测模式的信息提供到熵编码单元56。熵编码单元56可编码指示选定帧内预测模式的信息。编码装置104可将各种块的编码上下文的定义以及待用于上下文中的每一者的最可能的帧内预测模式、帧内预测模式索引表及经修改帧内预测模式索引表的指示包含于经发射位流配置数据中。位流配置数据可包含多个帧内预测模式索引表及多个经修改帧内预测模式索引表(也被称作码字映射表)。
在预测处理单元41经由帧间预测或帧内预测产生当前视频块的预测性块之后,编码装置104通过从当前视频块减去预测性块而形成残余视频块。残余块中的残余视频数据可包含于一或多个TU中且被应用于变换处理单元52。变换处理单元52使用诸如离散余弦变换(DCT)或概念上类似的变换的变换将残余视频数据变换成残余变换系数。变换处理单元52可将残余视频数据从像素域转换至变换域(诸如,频域)。
变换处理单元52可将所得变换系数发送到量化单元54。量化单元54量化变换系数以进一步减少位率。量化过程可减少与系数中的一些或所有相关联的位深度。可通过调整量化参数来修改量化程度。在一些实例中,量化单元54可随后执行对包含经量化变换系数的矩阵的扫描。替代地,熵编码单元56可执行扫描。
在量化之后,熵编码单元56对经量化变换系数进行熵编码。举例来说,熵编码单元56可执行上下文自适应性可变长度译码(CAVLC)、上下文自适应性二进制算术译码(CABAC)、基于语法的上下文自适应性二进制算术译码(SBAC)、机率区间分割熵(PIPE)译码或另一熵编码技术。在由熵编码单元56进行熵编码之后,经编码位流可发射到解码装置112,或经存盘以供稍后发射或由解码装置112检索。熵编码单元56还可熵编码正经译码的当前视频切片的运动向量及其它语法元素。
反量化单元58及反变换处理单元60分别应用反量化及反变换以重构建像素域中的残余块以供稍后用作参考图片的参考块。运动补偿单元44可通过将残余块添加到参考图片列表内的参考图片中的一者的预测性块来计算参考块。运动补偿单元44还可将一或多个内插滤波器应用于经重构建残余块以计算次整数像素值以供用于运动估计。求和器62将经重构建残余块添加到由运动补偿单元44产生的运动补偿预测块以产生用于存储于图片存储器64中的参考块。参考块可由运动估计单元42及运动补偿单元44用作参考块以帧间预测后续视频帧或图片中的块。
以此方式,图7的编码装置104表示经配置以产生经编码视频位流的语法的视频编码器的实例。编码装置104可(例如)产生如上文所描述的VPS、SPS及PPS参数集。编码装置104可执行本文中所描述的技术中的任一者,包含上文关于图3及图4描述的过程。大体上已关于编码装置104描述本发明的技术,但如上文所提及,本发明的技术中的一些还可由后处理装置57实施。
图8为说明实例解码装置112的框图。解码装置112包含熵解码单元80、预测处理单元81、反量化单元86、反变换处理单元88、求和器90、滤波器单元91及图片存储器92。预测处理单元81包含运动补偿单元82及帧内预测处理单元84。在一些实例中,解码装置112可执行大体上与关于来自图7的编码装置104描述的编码遍次互逆的解码遍次。解码装置112可执行本文中所描述的技术中的任一者,包含上文关于图5及图6描述的过程。
在解码过程期间,解码装置112接收表示由编码装置104发送的经编码视频切片的视频块及相关联语法元素的经编码视频位流。在一些实施例中,解码装置112可从编码装置104接收经编码视频位流。在一些实施例中,解码装置112可从网络实体79(诸如,服务器、媒体感知网络组件(MANE)、视频编辑器/编接器(splicer)或经配置以实施上文所描述的技术中的一或多者的其它此类装置)接收经编码视频位流。网络实体79可或可不包含编码装置104。在网络实体79将经编码视频位流发射到解码装置112之前,本发明中所描述的技术中的一些可由网络实体79实施。在一些视频解码***中,网络实体79及解码装置112可为分开的装置的部分,而在其它情况下,关于网络实体79描述的功能性可由包括解码装置112的同一装置执行。
解码装置112的熵解码单元80对位流进行熵解码以产生经量化系数、运动向量及其它语法元素。熵解码单元80将运动向量及其它语法元素转发到预测处理单元81。解码装置112可接收视频切片层级及/或视频块层级的语法元素。熵解码单元80可处理且剖析或更多参数集(诸如,VPS、SPS及PPS)中的固定长度语法元素及可变长度语法元素二者。
当视频切片被译码为经帧内译码(I)切片时,预测处理单元81的帧内预测处理单元84可基于经用信号表示的帧内预测模式及来自当前帧或图片的先前经解码块的数据而产生当前视频切片的视频块的预测数据。当视频帧被译码为经帧间译码(即,B、P或GPB)切片时,预测处理单元81的运动补偿单元82基于自熵解码单元80接收的运动向量及其它语法元素而产生当前视频切片的视频块的预测性块。所述预测性块可从参考图片列表内的参考图片中的一者产生。解码装置112可基于存储于图片存储器92中的参考图片使用默认构建技术来构建参考帧列表(列表0及列表1)。
运动补偿单元82通过剖析运动向量及其它语法元素来确定当前视频切片的视频块的预测信息,且使用所述预测信息来产生正经解码的当前视频块的预测性块。举例来说,运动补偿单元82可使用参数集中的一或多个语法元素来确定用于译码视频切片的视频块的预测模式(例如,帧内或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、切片的一或多个参考图片列表的构建信息、切片的每一经帧间编码视频块的运动向量、切片的每一经帧间译码视频块的帧间预测状态及用以解码当前视频切片中的视频块的其它信息。
运动补偿单元82还可执行基于内插滤波器的内插。运动补偿单元82可使用如在编码视频块期间由编码装置104使用的内插滤波器来计算参考块的次整数像素的内插值。在此情况下,运动补偿单元82可从所接收语法元素确定由编码装置104使用的内插滤波器,且可使用内插滤波器来产生预测性块。
反量化单元86反量化或解量化位流中所提供且由熵解码单元80解码的经量化变换系数。反量化过程可包含使用由编码装置104针对视频切片中的每一视频块计算的量化参数来确定量化程度及同样应应用的反量化程度。反变换处理单元88将反变换(例如,反DCT或其它合适的反变换)、反整数变换或概念上类似的反变换过程应用于变换系数以便在像素域中产生残余块。
在运动补偿单元82基于运动向量及其它语法元素而产生当前视频块的预测性块之后,解码装置112通过将来自反变换处理单元88的残余块与由运动补偿单元82产生的对应预测性块求和而形成经解码视频块。求和器90表示执行此求和运算的一或多个组件。若需要,还可使用回路滤波器(在译码回路中或在译码回路后)以使像素转变平滑,或以其它方式改进视频质量。滤波器单元91既定表示一或多个回路滤波器,诸如解块滤波器、自适应回路滤波器(ALF)及样本自适应偏移(SAO)滤波器。尽管滤波器单元91在图8中展示为回路滤波器,但在其它配置中,滤波器单元91可实施为回路后滤波器。给定帧或图片中的经解码视频块随后存储于图片存储器92中,图片存储器92存储用于后续运动补偿的参考图片。图片存储器92还存储经解码视频以供稍后呈现于显示设备(诸如,图1中所展示的视频目的地装置122)上。
在前述描述中,参考申请案的特定实施例描述申请案的方面,但本领域的技术人员将认识到本发明不限于此。因此,尽管本文中已详细描述申请案的说明性实施例,但应理解,本发明概念可以其它方式不同地体现并使用,且所附权利要求书意图解释为包含除先前技术所限制外的这些变化。上文所描述的发明的各种特征及方面可个别地或联合地使用。此外,实施例可用于超出本文中所描述的所述环境及应用的任何数目个环境及应用,而不脱离本说明书的更广精神及范围。因此,本说明书及图式被视为说明性而非限定性。出于说明的目的,以特定次序描述方法。应了解,在替代实施例中,可以与所描述的次序不同的次序执行所述方法。
在组件被描述为“经配置以”执行某些操作的情况下,可(例如)通过设计电子电路或其它硬件以执行操作、通过对可编程电子电路(例如,微处理器或其它适合的电子电路)进行程序设计以执行操作或其任何组合来实现这些配置。
结合本文所揭示的实施例描述的各种说明性逻辑块、模块、电路及算法步骤可实施为电子硬件、计算机软件、固件或其组合。为了清晰说明硬件与软件的此互换性,上文已大体就其功能性描述各种说明性组件、块、模块、电路及步骤。将此功能性实施为硬件还是软件取决于特定应用及强加于整个***的设计约束。本领域的技术人员可针对每一特定应用以变化方式实施所描述功能性,但不应将这些实施决策解译为导致脱离本发明的范围。
本文中所描述的技术还可实施于电子硬件、计算机软件、固件或其任何组合中。这些技术可实施于多种装置中的任一者中,诸如通用计算机、无线通信装置手机或具有多种用途(包含在无线通信装置手机及其它装置中的应用)的集成电路装置。可将描述为模块或组件的任何特征共同实施于集成式逻辑设备中或分开实施为离散但可互操作的逻辑设备。若实施于软件中,则所述技术可至少部分由包括包含指令的程序代码的计算机可读数据存储媒体实现,所述指令在经执行时执行上文所描述的方法中的一或多者。计算机可读数据存储媒体可形成计算机程序产品的部分,计算机程序产品可包含包装材料。计算机可读媒体可包括存储器或数据存储媒体,诸如随机存取存储器(RAM)(诸如,同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪速存储器、磁性或光学数据存储媒体及其类似者。另外或替代地,所述技术可至少部分由计算机可读通信媒体实现,计算机可读通信媒体携载或传达呈指令或数据结构形式且可由计算机存取、读取及/或执行的程序代码,诸如,经传播的信号或波。
程序代码可由可包含一或多个处理器的处理器执行,诸如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成式或离散逻辑电路。这种处理器可经配置以执行本发明中所描述的技术中的任一者。通用处理器可为微处理器;但在替代方案中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如DSP与微处理器的组合、多个微处理器、结合DSP核心的一或多个微处理器或任何其它此类配置。因此,如本文中所使用的术语“处理器”可指前述结构、前述结构的任何组合或适合于实施本文中所描述的技术的任何其它结构或设备中的任一者。另外,在一些方面中,本文中所描述的功能性可提供于经配置用于编码及解码的专用软件模块或硬件模块内,或并入于组合式视频编码器-解码器(编码解码器)中。

Claims (42)

1.一种编码视频数据以产生一或多个经编码视频图片的方法,所述方法包括:
在编码器处获得视频数据;
确定启用块内复制预测以用于对所述视频数据的至少一个块执行图片内预测;
确定所述视频数据的双向预测块的两个运动向量皆处于非整数准确度;
停用图片间双向预测以便编码所述视频数据的一或多个块,其中帧间预测双向预测响应于确定启用所述块内复制预测及确定所述双向预测块的两个运动向量皆处于非整数准确度而被停用;及
使用预测模式来产生所述一或多个经编码视频图片。
2.根据权利要求1所述的方法,其进一步包括:
确定所述双向预测块的两个运动向量不相同或不指向同一参考图片;且
其中停用包含响应于确定启用所述图片内预测、确定所述双向预测块的两个运动向量皆处于非整数准确度及确定所述双向预测块的两个运动向量不相同或不指向所述同一参考图片而停用所述图片间双向预测以便编码所述视频数据的所述一或多个块。
3.根据权利要求1所述的方法,其进一步包括:
确定运动向量分辨率旗标的值等于零,所述运动向量分辨率旗标指定用于帧间预测模式的运动向量的分辨率;且
其中停用包含响应于确定启用所述图片内预测、确定所述双向预测块的两个运动向量皆处于非整数准确度及确定所述运动向量分辨率旗标的所述值等于零而停用所述图片间双向预测以便编码所述视频数据的所述一或多个块。
4.根据权利要求1所述的方法,其中所述视频数据包括图片的切片,所述切片包含多个块,且其中停用包含停用所述图片间双向预测以便编码所述切片的所述多个块。
5.根据权利要求1所述的方法,其中所述双向预测块包含8×8双向预测块。
6.根据权利要求1所述的方法,其中停用所述图片间双向预测以便编码小于阈值大小的预测块。
7.根据权利要求6所述的方法,其中所述阈值大小包含8×8像素的预测块大小。
8.一种设备,其包括:
存储器,其经配置以存储视频数据;及
处理器,其经配置以:
在编码器处获得视频数据;
确定启用块内复制预测以用于对所述视频数据的至少一个块执行图片内预测;
确定所述视频数据的双向预测块的两个运动向量皆处于非整数准确度;
停用图片间双向预测以便编码所述视频数据的一或多个块,其中帧间预测双向预测响应于确定启用所述块内复制预测及确定所述双向预测块的两个运动向量皆处于非整数准确度而被停用;且
使用预测模式来产生一或多个经编码视频图片。
9.根据权利要求8所述的设备,其中所述处理器进一步经配置以:
确定所述双向预测块的两个运动向量不相同或不指向同一参考图片;且
其中停用包含响应于确定启用所述图片内预测、确定所述双向预测块的两个运动向量皆处于非整数准确度及确定所述双向预测块的两个运动向量不相同或不指向所述同一参考图片而停用所述图片间双向预测以便编码所述视频数据的所述一或多个块。
10.根据权利要求8所述的设备,其中所述处理器进一步经配置以:
确定运动向量分辨率旗标的值等于零,所述运动向量分辨率旗标指定用于帧间预测模式的运动向量的分辨率;且
其中停用包含响应于确定启用所述图片内预测、确定所述双向预测块的两个运动向量皆处于非整数准确度及确定所述运动向量分辨率旗标的所述值等于零而停用所述图片间双向预测以便编码所述视频数据的所述一或多个块。
11.根据权利要求8所述的设备,其中所述视频数据包含图片的切片,所述切片包含多个块,且其中停用包含停用所述图片间双向预测以便编码所述切片的所述多个块。
12.根据权利要求8所述的设备,其中所述双向预测块包含8×8双向预测块。
13.根据权利要求8所述的设备,其中停用所述图片间双向预测以便编码小于阈值大小的预测块。
14.根据权利要求13所述的设备,其中所述阈值大小包含8×8像素的预测块大小。
15.一种上面存储有指令的计算机可读媒体,所述指令在由处理器执行时执行一方法,
所述方法包含:
在编码器处获得视频数据;
确定启用块内复制预测以用于对所述视频数据的至少一个块执行图片内预测;
确定所述视频数据的双向预测块的两个运动向量皆处于非整数准确度;
停用图片间双向预测以便编码所述视频数据的一或多个块,其中帧间预测双向预测响应于确定启用所述块内复制预测及确定所述双向预测块的两个运动向量皆处于非整数准确度而被停用;及
使用预测模式来产生一或多个经编码视频图片。
16.根据权利要求15所述的计算机可读媒体,其进一步包括:
确定所述双向预测块的两个运动向量不相同或不指向同一参考图片;且
其中停用包含响应于确定启用所述图片内预测、确定所述双向预测块的两个运动向量皆处于非整数准确度及确定所述双向预测块的两个运动向量不相同或不指向所述同一参考图片而停用所述图片间双向预测以便编码所述视频数据的所述一或多个块。
17.根据权利要求15所述的计算机可读媒体,其进一步包括:
确定运动向量分辨率旗标的值等于零,所述运动向量分辨率旗标指定用于帧间预测模式的运动向量的分辨率;且
其中停用包含响应于确定启用所述图片内预测、确定所述双向预测块的两个运动向量皆处于非整数准确度及确定所述运动向量分辨率旗标的所述值等于零而停用所述图片间双向预测以便编码所述视频数据的所述一或多个块。
18.根据权利要求15所述的计算机可读媒体,其中所述视频数据包含图片的切片,所述切片包含多个块,且其中停用包含停用所述图片间双向预测以便编码所述切片的所述多个块。
19.根据权利要求15所述的计算机可读媒体,其中所述双向预测块包含8×8双向预测块。
20.根据权利要求15所述的计算机可读媒体,其中停用所述图片间双向预测以便编码小于阈值大小的预测块。
21.根据权利要求20所述的计算机可读媒体,其中所述阈值大小包含8×8像素的预测块大小。
22.一种编码视频数据以产生一或多个经编码视频图片的方法,所述方法包括:
在编码器处获得视频数据;
确定启用块内复制预测以用于对所述视频数据的至少一个块执行图片内预测;
确定所述视频数据的双向预测块的两个运动向量不相同或不指向同一参考图片;
停用图片间双向预测以便编码所述视频数据的一或多个块,其中帧间预测双向预测响应于确定启用所述块内复制预测及确定所述双向预测块的两个运动向量不相同或不指向所述同一参考图片而被停用;及
使用预测模式来产生所述一或多个经编码视频图片。
23.根据权利要求22所述的方法,其进一步包括:
确定所述双向预测块的两个运动向量皆处于非整数准确度;且
其中停用包含响应于确定启用所述图片内预测、确定所述双向预测块的两个运动向量不相同或不指向所述同一参考图片及确定所述双向预测块的两个运动向量皆处于非整数准确度而停用所述图片间双向预测以便编码所述视频数据的所述一或多个块。
24.根据权利要求22所述的方法,其进一步包括:
确定运动向量分辨率旗标的值等于零,所述运动向量分辨率旗标指定用于帧间预测模式的运动向量的分辨率;且
其中停用包含响应于确定启用所述图片内预测、确定所述双向预测块的两个运动向量不相同或不指向所述同一参考图片及确定所述运动向量分辨率旗标的所述值等于零而停用所述图片间双向预测以便编码所述视频数据的所述一或多个块。
25.根据权利要求22所述的方法,其中所述视频数据包含图片的切片,所述切片包含多个块,且其中停用包含停用所述图片间双向预测以便编码所述切片的所述多个块。
26.根据权利要求22所述的方法,其中所述双向预测块包含8×8双向预测块。
27.根据权利要求22所述的方法,其中停用所述图片间双向预测以便编码小于阈值大小的预测块。
28.根据权利要求27所述的方法,其中所述阈值大小包含8×8像素的预测块大小。
29.一种设备,其包括:
存储器,其经配置以存储视频数据;及
处理器,其经配置以:
在编码器处获得视频数据;
确定启用块内复制预测以用于对所述视频数据的至少一个块执行图片内预测;
确定所述视频数据的双向预测块的两个运动向量不相同或不指向同一参考图片;
停用图片间双向预测以便编码所述视频数据的一或多个块,其中帧间预测双向预测响应于确定启用所述块内复制预测及确定所述双向预测块的两个运动向量不相同或不指向所述同一参考图片而被停用;且
使用预测模式来产生一或多个经编码视频图片。
30.根据权利要求29所述的设备,其中所述处理器进一步经配置以:
确定所述双向预测块的两个运动向量皆处于非整数准确度;且
其中停用包含响应于确定启用所述图片内预测、确定所述双向预测块的两个运动向量不相同或不指向所述同一参考图片及确定所述双向预测块的两个运动向量皆处于非整数准确度而停用所述图片间双向预测以便编码所述视频数据的所述一或多个块。
31.根据权利要求29所述的设备,其中所述处理器进一步经配置以:
确定运动向量分辨率旗标的值等于零,所述运动向量分辨率旗标指定用于帧间预测模式的运动向量的分辨率;且
其中停用包含响应于确定启用所述图片内预测、确定所述双向预测块的两个运动向量不相同或不指向所述同一参考图片及确定所述运动向量分辨率旗标的所述值等于零而停用所述图片间双向预测以便编码所述视频数据的所述一或多个块。
32.根据权利要求29所述的设备,其中所述视频数据包含图片的切片,所述切片包含多个块,且其中停用包含停用所述图片间双向预测以便编码所述切片的所述多个块。
33.根据权利要求29所述的设备,其中所述双向预测块包含8×8双向预测块。
34.根据权利要求29所述的设备,其中停用所述图片间双向预测以便编码小于阈值大小的预测块。
35.根据权利要求34所述的设备,其中所述阈值大小包含8×8像素的预测块大小。
36.一种上面存储有指令的计算机可读媒体,所述指令在由处理器执行时执行一方法,
所述方法包含:
在编码器处获得视频数据;
确定启用块内复制预测以用于对所述视频数据的至少一个块执行图片内预测;
确定所述视频数据的双向预测块的两个运动向量不相同或不指向同一参考图片;
停用图片间双向预测以便编码所述视频数据的一或多个块,其中帧间预测双向预测响应于确定启用所述块内复制预测及确定所述双向预测块的两个运动向量不相同或不指向所述同一参考图片而被停用;及
使用预测模式来产生一或多个经编码视频图片。
37.根据权利要求36所述的计算机可读媒体,其进一步包括:
确定所述双向预测块的两个运动向量皆处于非整数准确度;且
其中停用包含响应于确定启用所述图片内预测、确定所述双向预测块的两个运动向量不相同或不指向所述同一参考图片及确定所述双向预测块的两个运动向量皆处于非整数准确度而停用所述图片间双向预测以便编码所述视频数据的所述一或多个块。
38.根据权利要求36所述的计算机可读媒体,其进一步包括:
确定运动向量分辨率旗标的值等于零,所述运动向量分辨率旗标指定用于帧间预测模式的运动向量的分辨率;且
其中停用包含响应于确定启用所述图片内预测、确定所述双向预测块的两个运动向量不相同或不指向所述同一参考图片及确定所述运动向量分辨率旗标的所述值等于零而停用所述图片间双向预测以便编码所述视频数据的所述一或多个块。
39.根据权利要求36所述的计算机可读媒体,其中所述视频数据包含图片的切片,所述切片包含多个块,且其中停用包含停用所述图片间双向预测以便编码所述切片的所述多个块。
40.根据权利要求36所述的计算机可读媒体,其中所述双向预测块包含8×8双向预测块。
41.根据权利要求36所述的计算机可读媒体,其中停用所述图片间双向预测以便编码小于阈值大小的预测块。
42.根据权利要求41所述的计算机可读媒体,其中所述阈值大小包含8×8像素的预测块大小。
CN201680043221.4A 2015-07-27 2016-07-26 一种编码视频数据的方法、设备及计算机可读媒体 Active CN107852498B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562197496P 2015-07-27 2015-07-27
US62/197,496 2015-07-27
US15/219,159 US10404992B2 (en) 2015-07-27 2016-07-25 Methods and systems of restricting bi-prediction in video coding
US15/219,159 2016-07-25
PCT/US2016/043978 WO2017019656A1 (en) 2015-07-27 2016-07-26 Methods and systems of restricting bi-prediction in video coding

Publications (2)

Publication Number Publication Date
CN107852498A true CN107852498A (zh) 2018-03-27
CN107852498B CN107852498B (zh) 2021-10-08

Family

ID=57883486

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680043221.4A Active CN107852498B (zh) 2015-07-27 2016-07-26 一种编码视频数据的方法、设备及计算机可读媒体

Country Status (12)

Country Link
US (1) US10404992B2 (zh)
EP (2) EP3329675B1 (zh)
JP (1) JP6752266B2 (zh)
KR (1) KR102658510B1 (zh)
CN (1) CN107852498B (zh)
AU (1) AU2016298172A1 (zh)
BR (1) BR112018001519A2 (zh)
ES (1) ES2761865T3 (zh)
HU (1) HUE047622T2 (zh)
PL (1) PL3588955T3 (zh)
TW (1) TWI724008B (zh)
WO (1) WO2017019656A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110611820A (zh) * 2019-09-11 2019-12-24 北京达佳互联信息技术有限公司 视频编码方法、装置、电子设备及存储介质
CN112740701A (zh) * 2018-09-27 2021-04-30 Vid拓展公司 用于360度视频译码的样本导出
CN113287303A (zh) * 2019-01-12 2021-08-20 北京字节跳动网络技术有限公司 双向预测约束

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10432966B2 (en) * 2015-04-13 2019-10-01 Mediatek Inc. Methods of constrained intra block copy for reducing worst case bandwidth in video coding
CN108833923B (zh) * 2018-06-20 2022-03-29 腾讯科技(深圳)有限公司 视频编码、解码方法、装置、存储介质和计算机设备
EP3811613A2 (en) * 2018-06-21 2021-04-28 Telefonaktiebolaget LM Ericsson (publ) Flexible tile partitions
EP3811612A1 (en) 2018-06-21 2021-04-28 Telefonaktiebolaget LM Ericsson (publ) Tile partitions with sub-tiles in video coding
US11711530B2 (en) 2018-06-21 2023-07-25 Telefonaktiebolaget Lm Ericsson (Publ) Tile shuffling for 360 degree video decoding
JP7437374B2 (ja) 2018-07-02 2024-02-22 ノキア テクノロジーズ オーユー ビデオコーディングでのタイル関連アドレス指定のための方法および装置
US10375416B1 (en) * 2018-09-05 2019-08-06 Tencent America LLC Segment types in video coding
WO2020070196A1 (en) 2018-10-02 2020-04-09 Telefonaktiebolaget Lm Ericsson (Publ) Encoding and decoding pictures based on tile group id
WO2020084473A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Multi- iteration motion vector refinement
WO2020086317A1 (en) * 2018-10-23 2020-04-30 Tencent America Llc. Method and apparatus for video coding
CN117459722A (zh) 2018-11-12 2024-01-26 北京字节跳动网络技术有限公司 组合帧间-帧内预测的简化
CN113056914B (zh) 2018-11-20 2024-03-01 北京字节跳动网络技术有限公司 基于部分位置的差计算
KR20210094530A (ko) * 2018-11-29 2021-07-29 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 화면 내 블록 복사 모드 및 화면 간 예측 도구들 간의 상호작용
JP7317973B2 (ja) * 2019-01-08 2023-07-31 華為技術有限公司 画像予測方法、機器、及びシステム、装置、及び記憶媒体
US11190800B2 (en) 2019-02-07 2021-11-30 Qualcomm Incorporated Motion vector predictor list generation for intra block copy mode in video coding
KR102635518B1 (ko) 2019-03-06 2024-02-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 변환된 단예측 후보의 사용
US11445174B2 (en) * 2019-05-06 2022-09-13 Tencent America LLC Method and apparatus for video coding
CN115380538A (zh) * 2020-04-02 2022-11-22 瑞典爱立信有限公司 基于双向图片条件的解码
CN114845107A (zh) * 2021-02-02 2022-08-02 联咏科技股份有限公司 图像编码方法及其图像编码器
US11831909B2 (en) * 2021-03-11 2023-11-28 Qualcomm Incorporated Learned B-frame coding using P-frame coding system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140328388A1 (en) * 2012-01-19 2014-11-06 Samsung Electronics Co., Ltd. Method and device for encoding video to limit bidirectional prediction and block merging, and method and device for decoding video

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI344792B (en) * 2006-07-12 2011-07-01 Lg Electronics Inc A method and apparatus for processing a signal
CN101669367A (zh) * 2007-03-02 2010-03-10 Lg电子株式会社 用于解码/编码视频信号的方法及设备
US8213503B2 (en) * 2008-09-05 2012-07-03 Microsoft Corporation Skip modes for inter-layer residual video coding and decoding
US9137544B2 (en) * 2010-11-29 2015-09-15 Mediatek Inc. Method and apparatus for derivation of mv/mvp candidate for inter/skip/merge modes
US8755437B2 (en) * 2011-03-17 2014-06-17 Mediatek Inc. Method and apparatus for derivation of spatial motion vector candidate and motion vector prediction candidate
WO2013030456A1 (en) * 2011-08-30 2013-03-07 Nokia Corporation An apparatus, a method and a computer program for video coding and decoding
CN104335587B (zh) * 2012-07-04 2018-06-19 英特尔公司 对于三维视频译码的视图间滤波器参数重复使用
US10904551B2 (en) * 2013-04-05 2021-01-26 Texas Instruments Incorporated Video coding using intra block copy
US20150016533A1 (en) * 2013-07-12 2015-01-15 Qualcomm Incorporated Intra motion compensation extensions
US10212445B2 (en) * 2014-10-09 2019-02-19 Qualcomm Incorporated Intra block copy prediction restrictions for parallel processing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140328388A1 (en) * 2012-01-19 2014-11-06 Samsung Electronics Co., Ltd. Method and device for encoding video to limit bidirectional prediction and block merging, and method and device for decoding video

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KRISHNA RAPAKA等: "CE2 : Test 5 on intra block copy constraints on prediction(JCTVC-U0078)", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 21ST MEETING》 *
TZU-DER CHUANG等: "CE2-related: Intra block copy searching constraints for reducing worst case bandwidth(JCTVC-U0065-v2)", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 21ST MEETING》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112740701A (zh) * 2018-09-27 2021-04-30 Vid拓展公司 用于360度视频译码的样本导出
CN113287303A (zh) * 2019-01-12 2021-08-20 北京字节跳动网络技术有限公司 双向预测约束
CN110611820A (zh) * 2019-09-11 2019-12-24 北京达佳互联信息技术有限公司 视频编码方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
KR20180035810A (ko) 2018-04-06
JP6752266B2 (ja) 2020-09-09
WO2017019656A1 (en) 2017-02-02
KR102658510B1 (ko) 2024-04-17
BR112018001519A2 (pt) 2018-09-11
PL3588955T3 (pl) 2024-06-24
ES2761865T3 (es) 2020-05-21
EP3588955A1 (en) 2020-01-01
EP3588955B1 (en) 2024-03-20
HUE047622T2 (hu) 2020-05-28
EP3329675B1 (en) 2019-09-11
US20170034526A1 (en) 2017-02-02
EP3329675A1 (en) 2018-06-06
CN107852498B (zh) 2021-10-08
TWI724008B (zh) 2021-04-11
TW201709731A (zh) 2017-03-01
JP2018526881A (ja) 2018-09-13
EP3588955C0 (en) 2024-03-20
US10404992B2 (en) 2019-09-03
AU2016298172A1 (en) 2018-01-18

Similar Documents

Publication Publication Date Title
CN107852498A (zh) 在视频译码中限制双向预测的方法及***
CN106464874B (zh) 用于块内复制的***和方法
CN103828374B (zh) 参考图片信令和经解码图片缓冲器管理
CN106797476B (zh) 用于编码/解码视频数据的方法和视频解码装置
CN106576171B (zh) 一种对视频数据进行编码、解码的方法以及装置
CN105493507B (zh) 用于帧内块复制的残余预测
CN109792524A (zh) 切换内插滤波器的***及方法
CN104396265B (zh) 在视频译码中从清晰随机存取图片的全面随机存取
CN104704843B (zh) 视频性质的指示
CN104365106B (zh) 发信用于视频译码的长期参考图片的数据
CN105122814B (zh) 可包含未对准irap图片的多层位流的跨层poc对准
CN107660341A (zh) 切片级帧内块复制及其它视频译码改进
CN106664427A (zh) 用于选择性地执行位流符合性检查的***和方法
CN109076235A (zh) 用于在视频译码中的并置参考索引的一致性约束
CN103975595B (zh) 用于视频译码的分段参数集
CN106537921A (zh) 用于在参数集中选择性地用信号表示不同数目的视频信号信息语法结构的***和方法
CN106134200A (zh) Hevc经解码图片哈希sei消息用于多层编解码器的使用
CN106464922A (zh) 多层视频译码中的符合性和不可操作性改进
CN105122798B (zh) 多层视频译码中的交叉层图片类型对准的指示
CN108028934A (zh) 改进的视频流切换和随机存取的方法和***
CN106416259A (zh) 嵌套式辅助增强信息(sei)消息的可扩展设计
CN106537919A (zh) 多层视频译码
CN107211160A (zh) 通过调色板预测残余编码的视频译码
CN107223333A (zh) 用以减少译码参数的hevc预测的可用性检查的填补技术
CN105144716A (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