CN112534808A - 视频处理方法、视频处理装置、编码器、解码器、介质和计算机程序 - Google Patents

视频处理方法、视频处理装置、编码器、解码器、介质和计算机程序 Download PDF

Info

Publication number
CN112534808A
CN112534808A CN201980051188.3A CN201980051188A CN112534808A CN 112534808 A CN112534808 A CN 112534808A CN 201980051188 A CN201980051188 A CN 201980051188A CN 112534808 A CN112534808 A CN 112534808A
Authority
CN
China
Prior art keywords
ctu
row
current
processing
video
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.)
Pending
Application number
CN201980051188.3A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN112534808A publication Critical patent/CN112534808A/zh
Pending legal-status Critical Current

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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • 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/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
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding 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/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/172Methods 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 picture, frame or field
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

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)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Studio Circuits (AREA)

Abstract

提供了一种视频处理方法,包括:当当前CTU为当前CTU行的起始CTU时,初始化当前CTU行的HMVP列表;基于所述HMVP列表对所述当前CTU行进行处理。通过执行该方法,提高了编码效率和解码效率。

Description

视频处理方法、视频处理装置、编码器、解码器、介质和计算机 程序
技术领域
本申请(发明)实施例大体涉及视频编码领域,更具体地涉及一种视频处理方法、视频处理装置、编码器、解码器、介质和计算机程序。
背景技术
视频编码(视频编码和解码)广泛用于数字视频应用,例如广播数字电视、互联网和移动网络的视频传输、如视频聊天、视频会议等实时会话应用、DVD和蓝光光盘、视频内容采集和编辑系统以及可携式摄像机的安全应用。
自从1990年研发的H.261标准中基于块的混合视频编码方法以来,研发了新的视频编码技术和工具,为新的视频编码标准奠定了基础。其他视频编码标准包括MPEG-1视频、MPEG-2视频、ITU-T H.262/MPEG-2、ITU-T H.263、ITU-T H.264/MPEG-4,第10部分、高级视频编码(Advanced Video Coding,AVC)、ITU-T H.265/高效视频编码(High EfficiencyVideo Coding,HEVC)、ITU-T H.266/通用视频编码(Versatile Video Coding,VVC)以及这些标准的扩展,例如可扩展性和/或三维(three-dimensional,3D)扩展。随着视频的创作和使用越来越普遍,视频流量成为通信网络和数据存储的最大负载。因此,与前代标准相比,大多数视频编码标准的目标之一是在保证图像质量的情况下,降低比特率。尽管最新的高效视频编码(HEVC)在保证质量的情况下对视频的压缩甚至能够达到AVC的大约两倍,但是仍然需要进一步对视频进行压缩。
发明内容
本申请实施例提供一种视频处理方法及相应装置,以提高编码效率。
前述和其他目的通过独立权利要求的主题实现。进一步的实现方式在从属权利要求、说明书和附图中。
本发明的第一方面提供了一种视频处理方法,包括:当当前视频编码树(codingtree unit,CTU)为当前CTU行的起始CTU时,初始化当前CTU行的基于历史的运动矢量预测(history-based motion vector prediction,HMVP)列表;基于所述HMVP列表对所述当前CTU行进行处理。所述起始CTU也可以称为开始CTU,是同一CTU行的CTU中被处理的第一个CTU。
可见,在开始对所述当前CTU行进行处理时,初始化所述当前CTU行的所述HMVP列表,对所述当前CTU行的处理不需要基于前一CTU行的HMVP列表,从而可以提高编码效率和解码效率。
结合所述第一方面,在所述第一方面的第一种可能的实现方式中,所述初始化HMVP的列表中的候选运动矢量数量为零。
结合所述第一方面或所述第一方面的上述任一种实现方式,在所述第一方面的第二种可能的实现方式中,所述当前CTU行属于包括多个CTU行的图像区域,所述当前CTU行为所述图像区域的所述多个CTU行中的任意一行,例如第一个(例如,顶部)CTU行、第二个CTU行、……、最后一个(例如,底部)CTU行。
结合所述第一方面或所述第一方面的上述任一种实现方式,在所述第一方面的第三种可能的实现方式中,所述方法还包括:初始化所述多个CTU行中除所述当前CTU行之外的每个CTU行的HMVP列表,其中,所述多个CTU行的HMVP列表相同或不同。换句话说,本实施例可以另外初始化所述图像区域的所有其他CTU行的HMVP列表,即可以初始化所述图像区域的所有CTU行的HMVP列表。
结合所述第一方面或所述第一方面的上述任一种实现方式,在所述第一方面的第四种可能的实现方式中,所述基于所述HMVP列表对所述当前CTU行进行处理包括:对所述当前CTU行的所述当前CTU进行处理;基于所述经处理的当前CTU更新所述初始化的HMVP列表;基于所述更新的HMVP列表,对所述当前CTU行的第二个CTU进行处理。
结合所述第一方面或所述第一方面的上述任一种实现方式,在所述第一方面的第五种可能的实现方式中,所述HMVP列表根据所述当前CTU行的经处理的CTU进行更新。
结合所述第一方面或所述第一方面的上述任一种实现方式,在所述第一方面的第六种可能的实现方式中,按照如下方式初始化所述当前CTU行的所述HMVP列表:清空所述当前CTU行的所述HMVP列表。
结合所述第一方面或所述第一方面的上述任一种实现方式,在所述第一方面的第七种可能的实现方式中,所述基于所述HMVP列表对所述当前CTU行进行处理包括:从所述当前CTU行的所述第二个CTU开始,基于所述HMVP列表对所述当前CTU行进行处理,其中,所述第二个CTU与所述起始CTU相邻。
结合所述第一方面或所述第一方面的上述任一种实现方式,在所述第一方面的第八种可能的实现方式中,按波前并行处理(wavefront parallel processing,WPP)模式对所述多个CTU行进行处理。
可见,由于在开始对所述当前CTU行进行处理时初始化所述当前CTU行的所述HMVP列表,因此与WPP模式结合时,可以并行地处理图像帧或图像区域的所述CTU行,从而可以进一步提高编码效率和解码效率。
结合所述第一方面或所述第一方面的上述任一种实现方式,在所述第一方面的第九种可能的实现方式中,在对前一CTU行的特定CTU进行处理时,开始处理当前CTU行(或开始对所述当前CTU行进行所述处理)。
结合所述第一方面或所述第一方面的上述任一种实现方式,在所述第一方面的第十种可能的实现方式中,所述前一CTU行是与所述当前CTU行紧邻并位于所述当前CTU行上面或上方的CTU行。
结合所述第一方面的所述第九种实现方式或所述第一方面的所述第十种实现方式,在所述第一方面的第十一种可能的实现方式中,所述前一CTU行的所述特定CTU为所述前一CTU行的第二个CTU;或者,所述前一CTU行的所述特定CTU为所述前一CTU行的第一个CTU。
本发明的第二方面提供了一种视频处理装置,包括:初始化单元,用于当当前视频编码树(coding tree unit,CTU)为当前CTU行的起始CTU时,初始化当前CTU行的基于历史的运动矢量预测(history-based motion vector prediction,HMVP)列表;处理单元,用于基于所述HMVP列表对所述当前CTU行进行处理。
结合所述第二方面,在所述第二方面的第一种可能的实现方式中,所述初始化的HMVP列表中的候选运动矢量数量为零。
结合所述第二方面或所述第二方面的上述任一种实现方式,在所述第二方面的第二种可能的实现方式中,所述当前CTU行属于包括多个CTU行的图像区域,其中,所述当前CTU行为所述多个CTU行中的任意一行。
结合所述第二方面或所述第二方面的上述任一种实现方式,在所述第二方面的第三种可能的实现方式中,所述初始化单元还用于:初始化所述多个CTU行中除所述当前CTU行之外的每个CTU行的HMVP列表,其中,所述多个CTU行的HMVP列表相同或不同。
结合所述第二方面或所述第二方面的上述任一种实现方式,在所述第二方面的第四种可能的实现方式中,所述处理单元还用于:对所述当前CTU行的所述当前CTU进行处理;基于所述经处理的当前CTU更新所述初始化的HMVP列表;基于所述更新的HMVP列表,对所述当前CTU行的第二个CTU进行处理。
结合所述第二方面或所述第二方面的上述任一种实现方式,在所述第二方面的第五种可能的实现方式中,所述HMVP列表根据所述当前CTU行的经处理的CTU进行更新。
结合所述第二方面或所述第二方面的上述任一种实现方式,在所述第二方面的第六种可能的实现方式中,所述初始化单元还用于按照如下方式初始化所述当前CTU行的所述HMVP列表:清空所述当前CTU行的所述HMVP列表。
结合所述第二方面或所述第二方面的上述任一种实现方式,在所述第二方面的第七种可能的实现方式中,所述处理单元还用于基于所述HMVP列表对所述当前CTU行进行如下处理:从所述当前CTU行的所述第二个CTU开始,基于所述HMVP列表对所述当前CTU行进行处理,其中,所述第二个CTU与所述起始CTU相邻。
结合所述第二方面或所述第二方面的上述任一种实现方式,在所述第二方面的第八种可能的实现方式中,按波前并行处理(wavefront parallel processing WPP)模式对所述多个CTU行进行处理。
结合所述第二方面或所述第二方面的上述任一种实现方式,在所述第二方面的第九种可能的实现方式中,在对前一CTU行的特定CTU进行处理时,开始处理所述当前CTU行(或开始对所述当前CTU行进行所述处理)。
结合所述第二方面或所述第二方面的上述任一种实现方式,在所述第二方面的第十种可能的实现方式中,所述前一CTU行是与所述当前CTU行紧邻并位于所述当前CTU行上面的CTU行。
结合所述第二方面的所述第九种实现方式或所述第二方面的所述第十种实现方式,在所述第二方面的第十一种可能的实现方式中,所述前一CTU行的所述特定CTU为所述前一CTU行的第二个CTU;或者,所述前一CTU行的所述特定CTU为所述前一CTU行的第一个CTU。
本发明的第三方面提供一种解码设备实现的编码方法,包括:构建/初始化当前CTU行的HMVP列表;基于所述构建/初始化的HMVP列表,对所述当前CTU行的CTU进行处理。
结合所述第三方面,在所述第三方面的第一种可能的实现方式中,按照如下方式构建/初始化所述当前CTU行的所述HMVP列表:清空所述当前CTU行的所述HMVP列表;和/或为所述当前CTU行的所述HMVP列表设置默认值;和/或基于前一CTU行的CTU的HMVP列表构建/初始化所述当前CTU行的所述HMVP列表。
结合所述第三方面的所述第一种可能的实现方式,在所述第三方面的第二种可能的实现方式中,所述为所述当前CTU行的所述HMVP列表设置默认值包括:以单向预测模式的MV填充所述HMVP列表的MV,其中,所述单向预测模式的MV是零运动矢量或者不是零运动矢量,其中,参考图像包括L0列表中的第一参考图像;和/或以双向预测模式的MV填充所述HMVP列表的MV,其中,所述双向预测模式的MV是零运动矢量或者不是零运动矢量,其中,参考图像包括L0列表中的第一参考图像和L1列表中的第一参考图像。
结合所述第三方面的所述第一种可能的实现方式,在所述第三方面的第三种可能的实现方式中,每个并置图像可以存储每个CTU行或整个图像的时间HMVP列表,其中,所述为所述当前CTU行的所述HMVP列表设置默认值包括:基于所述时间HMVP列表初始化/构建所述当前CTU行的所述HMVP列表。
结合所述第三方面的所述第一种可能的实现方式,在所述第三方面的第四种可能的实现方式中,所述前一CTU行是与所述当前CTU行紧邻并位于所述当前CTU行上面的CTU行。
结合所述第三方面的所述第四种可能的实现方式,在所述第三方面的第五种可能的实现方式中,所述前一CTU行的所述CTU为所述前一CTU行的第二个CTU。
结合所述第三方面的所述第四种可能的实现方式,在所述第三方面的第五种可能的实现方式中,所述前一CTU行的所述CTU为所述前一CTU行的第一个CTU。
本发明的第四方面提供一种编码设备实现的编码方法,包括:构建/初始化当前CTU行的HMVP列表;基于所述构建/初始化的HMVP列表,对所述当前CTU行的CTU进行处理。
结合所述第四方面,在所述第四方面的第一种可能的实现方式中,按照如下方式构建/初始化所述当前CTU行的所述HMVP列表:清空所述当前CTU行的所述HMVP列表;和/或为所述当前CTU行的所述HMVP列表设置默认值;和/或基于前一CTU行的CTU的HMVP列表构建/初始化所述当前CTU行的所述HMVP列表。
结合所述第四方面的所述第一种可能的实现方式,在所述第四方面的第二种可能的实现方式中,所述为所述当前CTU行的所述HMVP列表设置默认值包括:以单向预测模式的MV填充所述HMVP列表的MV,其中,所述单向预测模式的MV是零运动矢量或者不是零运动矢量,其中,参考图像包括L0列表中的第一参考图像;和/或以双向预测模式的MV填充所述HMVP列表的MV,其中,所述双向预测模式的MV是零运动矢量或者不是零运动矢量,其中,参考图像包括L0列表中的第一参考图像和L1列表中的第一参考图像。
结合所述第四方面的所述第一种可能的实现方式,在所述第四方面的第三种可能的实现方式中,每个并置图像可以存储每个CTU行或整个图像的时间HMVP列表,其中,所述为所述当前CTU行的所述HMVP列表设置默认值包括:基于所述时间HMVP列表初始化/构建所述当前CTU行的所述HMVP列表。
结合所述第四方面的所述第一种可能的实现方式,在所述第四方面的第四种可能的实现方式中,所述前一CTU行是与所述当前CTU行紧邻并位于所述当前CTU行上面或上方的CTU行。
结合所述第四方面的所述第四种可能的实现方式,在所述第四方面的第五种可能的实现方式中,所述前一CTU行的所述CTU为所述前一CTU行的第二个CTU。
结合所述第四方面的所述第四种可能的实现方式,在所述第四方面的第六种可能的实现方式中,所述前一CTU行的所述CTU为所述前一CTU行的第一CTU。
本发明的第五方面提供一种编码器,包括处理电路,其中,所述处理电路用于执行根据所述第一方面或所述第一方面的任何一种实现方式、或根据所述第三方面或所述第三方面的任何一种实现方式、或根据所述第四方面或所述第四方面的任何一种实现方式的方法。例如,所述编码器可以包括:初始化电路,用于当当前视频编码树(coding tree unit,CTU)为当前CTU行的起始CTU时,初始化当前CTU行的基于历史的运动矢量预测(history-based motion vector prediction,HMVP)列表;处理电路,用于基于所述HMVP列表对所述当前CTU行进行处理。
本发明的第六方面提供一种解码器,包括处理电路,其中,所述处理电路用于执行根据所述第一方面或所述第一方面的任何一种实现方式、或根据所述第三方面或所述第三方面的任何一种实现方式、或根据所述第四方面或所述第四方面的任何一种实现方式的方法。例如,所述解码器可以包括:初始化电路,用于当当前视频编码树(coding tree unit,CTU)为当前CTU行的起始CTU时,初始化当前CTU行的基于历史的运动矢量预测(history-based motion vector prediction,HMVP)列表;处理电路,用于基于所述HMVP列表对所述当前CTU行进行处理。
本发明的第七方面提供一种包括程序代码的计算机程序产品,其中,所述程序代码用于执行根据所述第一方面或所述第一方面的任何一种实现方式、或根据所述第三方面或所述第三方面的任何一种实现方式、或根据所述第四方面或所述第四方面的任何一种实现方式的方法。
本发明的第八方面提供一种存储计算机指令的计算机可读存储介质,其特征在于,所述计算机指令在由一个或多个处理器执行时使所述一个或多个处理器执行根据所述第一方面或所述第一方面的任何一种实现方式、或根据所述第三方面或所述第三方面的任何一种实现方式、或根据所述第四方面或所述第四方面的任何一种实现方式的方法。
本发明的第九方面提供一种解码器,包括:一个或多个处理器;非瞬时性计算机可读存储介质,耦合至所述处理器,并存储由所述处理器执行的程序,其中,所述程序在由所述处理器执行时使得所述解码器执行根据所述第一方面或所述第一方面的任何一种实现方式、或根据所述第三方面或所述第三方面的任何一种实现方式、或根据所述第四方面或所述第四方面的任何一种实现方式的方法。
本发明的第十方面提供一种编码器,包括:一个或多个处理器;非瞬时性计算机可读存储介质,耦合至所述处理器,并存储由所述处理器执行的程序,其中,所述程序在由所述处理器执行时使得所述编码器执行根据所述第一方面或所述第一方面的任何一种实现方式、或根据所述第三方面或所述第三方面的任何一种实现方式、或根据所述第四方面或所述第四方面的任何一种实现方式的方法。
附图说明
下文结合附图对本发明实施例进行更详细的描述。在附图中:
图1A为示出用于实现本发明实施例的视频编码系统示例的框图;
图1B为示出用于实现本发明实施例的视频编码系统的另一示例的框图;
图2为示出用于实现本发明实施例的视频编码器示例的框图;
图3为示出用于实现本发明实施例的视频解码器的示例性结构的框图;
图4为示出编码装置或解码装置示例的框图;
图5为示出编码装置或解码装置的另一示例的框图;
图6示出了在融合和AMVP候选列表构建中使用的空间相邻块的位置;
图7为HMVP方法的解码流程图;
图8为示出WPP处理顺序的框图;
图9为示出实施例提供的视频解码器的示例性操作的流程图;
图10为示出实施例提供的示例性操作的流程图;
图11为示出视频处理装置示例的框图;
在下文中,如果没有特别说明关于相同附图标记的区别,那么这些相同的附图标记指代相同的或至少功能上等效的特征。
具体实施方式
以下描述中,参考组成本发明一部分并以说明的方式示出本发明实施例的具体方面或可使用本发明实施例的具体方面的附图。应理解,本发明实施例可在其他方面中使用,并可包括附图中未描述的结构变化或逻辑变化。因此,以下详细描述不应以限制性的意义来理解,本发明的范围由所附权利要求书界定。
例如,应理解,结合所描述方法的公开内容可以对用于执行所述方法的对应设备或系统也同样适用,且反之亦然。例如,如果描述一个或多个具体方法步骤,则对应的设备可以包括一个或多个单元(例如,功能单元)来执行所描述的一个或多个方法步骤(例如,一个单元执行一个或多个步骤,或多个单元中的每个单元都执行多个步骤中的一个或多个),即使附图中未明确描述或说明该一个或多个单元。另一方面,例如,如果基于一个或多个单元(例如,功能单元)描述具体装置,则对应的方法可以包括一个步骤来实现一个或多个单元的功能(例如,一个步骤实现一个或多个单元的功能,或多个步骤中的每个步骤实现多个单元中一个或多个单元的功能),即使附图中未明确描述或说明该一个或多个步骤。此外,应理解,除非另有说明,否则本文描述的各种示例性实施例和/或方面的特征可相互组合。
视频编码通常指对构成视频或视频序列的图像序列进行处理。在视频编码领域中,术语“帧(frame)”或“图像(picture/image)”可以用作同义词。本申请(或本发明)中的视频编码用于指视频编码或视频解码。视频编码在源侧执行,通常包括处理(例如,压缩)原始视频图像以减少表示视频图像所需的数据量(从而更高效存储和/或传输)。视频解码在目的侧执行,通常包括相对于编码器作逆处理,以重建视频图像。关于实施例涉及的视频图像(或通常称为图像,将在下文解释)的“编码”应理解为视频图像的“编码”或“解码”。编码部分和解码部分也合称为编解码(编码和解码,CODEC)。
在无损视频编码情况下,可以重建原始视频图像,即重建的视频图像与原始视频图像具有相同的质量(假设存储或传输期间没有传输损耗或其他数据丢失)。在有损视频编码情况下,通过量化等进行进一步压缩来减少表示视频图像所需的数据量,而解码器处无法完全重建视频图像,即重建的视频图像的质量比原始视频图像的质量更低或更差。
自H.261以来的几个视频编码标准属于“有损混合视频编解码器”组(即,将像素点域中的空间预测和时间预测与变换域中用于应用量化的2D变换编码结合)。视频序列中的每个图像通常分割成不重叠的块集合,通常基于块级进行编码。换句话说,编码器通常在块(视频块)级处对视频进行处理,即编码,例如,通过空间(帧内)预测和时间(帧间)预测来生成预测块;从当前块(当前处理/待处理的块)中减去预测块,获得残差块;在变换域中变换残差块并量化残差块,以减少待传输(压缩)的数据量,而解码器处将相对于编码器的逆处理部分应用于经编码或压缩的块,以重建用于表示的当前块。此外,编码器重复解码器的处理步骤,使得编码器和解码器生成相同的预测(例如,帧内预测和帧间预测)和/或重建,用于对后续块进行处理(即编码)。
如本文所使用的,术语“块”可以是图像或帧的一部分。为便于描述,本文参考由ITU-T视频编码专家组(Video Coding Experts Group,VCEG)和ISO/IEC运动图像专家组(Motion Picture Experts Group,MPEG)的视频编码联合工作组(Joint CollaborationTeam on Video Coding,JCT-VC)研发的高效视频编码(High-Efficiency Video Coding,HEVC)或通用视频编码(Versatile Video Coding,VVC)参考软件描述本发明实施例。本领域普通技术人员应理解本发明实施例不限于HEVC或VVC。可以指CU、PU和TU。在HEVC中,通过表示为编码树的四叉树结构将CTU划分成CU。在CU级决定是使用帧间(时间)预测还是帧内(空间)预测对图像区域进行编码。可以根据PU划分类型将每个CU进一步划分为一个、两个或四个PU。一个PU内应用相同的预测过程,并以PU为单位向解码器传输相关信息。在基于PU划分类型应用预测过程获得残差块之后,可以根据与用于CU的编码树类似的另一种四叉树结构将CU分割为变换单元(transform unit,TU)。在视频压缩技术的最新进展中,使用四叉树和二叉树(qual-tree and binary tree,QTBT)分割帧来分割编码块。在QTBT块结构中,CU可以为正方形或矩形。例如,首先通过四叉树结构分割编码树单元(coding tree unit,CTU)。通过二叉树结构进一步分割四叉树叶节点。二叉树叶节点称为编码单元(codingunit,CU),该分段用于预测和变换处理,而不进行任何进一步分割。这意味着在QTBT编码块结构中,CU、PU和TU的块大小相同。同时,还提出将三叉树分割等多重分割与QTBT块结构结合使用。
在以下实施例中,基于图1至图3描述了编码器20、解码器30和编码系统10。
图1A为概念性或示意性框图,示出了可利用本申请(本发明)技术的示例性编码系统10,例如视频编码系统10。视频编码系统10的编码器20(例如,视频编码器20)和解码器30(例如,视频解码器30)代表可以用于根据本申请中描述的各种示例执行各技术的设备。如图1A所示,编码系统10包括源设备12,所述源设备12用于将编码数据13(例如编码图像13)提供到目的设备14以对编码数据13进行解码。
源设备12包括编码器20,并且可以另外(即可选地)包括图像源16、预处理单元18(例如,图像预处理单元18)和通信接口或通信单元22。
图像源16可以包括或可以是任何类型的图像采集设备,例如用于采集真实世界图像的设备,和/或任何类型的图像或评论(对于屏幕内容编码,屏幕上的一些文本也被认为是待编码的图像(picture/image)的一部分)生成设备,例如用于生成计算机动画图像的计算机图形处理器,或用于获取和/或提供真实世界图像、计算机动画图像(例如,屏幕内容、虚拟现实(virtual reality,VR)图像)和/或其任何组合(例如,增强现实(augmentedreality,AR)图像)的任何类型的设备。
(数字)图像为或可以看作具有强度值的像素点的二维阵列或矩阵。阵列中的像素点也可以称为像素(pixel/pel)(图像元素的简称)。图像的大小和/或分辨率由阵列或图像在水平和垂直方向(或轴)上的像素点数量定义。通常采用三种颜色分量来表示颜色,即该图像可表示为三个像素点阵列或包括三个像素点阵列。在RGB格式或颜色空间中,图像包括对应的红色、绿色和蓝色像素点阵列。然而,在视频编码中,每个像素通常由亮度/色度格式或在颜色空间中表示,例如,YCbCr,包括Y指示的亮度分量(有时也用L指示)和Cb和Cr指示的两个色度分量。亮度(或简称luma)分量Y表示亮度或灰度级强度(例如,在灰度图像中),而两个色度(或简称chroma)分量Cb和Cr表示色度或颜色信息分量。因此,YCbCr格式的图像包括亮度像素点值(Y)的亮度像素点阵列和色度值(Cb和Cr)的两个色度像素点阵列。RGB格式的图像可转换或变换成YCbCr格式,反之亦然,该过程也称为颜色转换或颜色变换。如果图像是单色,则该图像可以仅包括亮度像素点阵列。
在单色采样中,只有一个像素点阵列,名义上认为是亮度阵列。
在4:2:0采样中,两个色度阵列的高度和宽度都为亮度阵列的一半。
在4:2:2采样中,两个色度阵列的高度都与亮度阵列相同,宽度都为亮度阵列的一半。
在4:4:4采样时,根据separate_colour_plane_flag的值,适用以下情况:
-如果separate_color_plane_flag等于0,则两个色度阵列的高度和宽度都与亮度阵列相同;
-否则(即separate_colour_plane_flag等于1),三个颜色平面分别作为单色采样图像处理。
图像源16(例如,视频源16)可以是用于采集图像的摄像机、包括或存储先前采集或生成的图像的存储器(例如,图像存储器),和/或用于获取或接收图像的任何类型的(内部或外部)接口等。例如,所述摄像机可以是集成在源设备中的本地或集成摄像机,所述存储器可以是(例如,集成在源设备中的)本地或集成存储器。例如,所述接口可以是从外部视频源接收图像的外部接口,其中,所述外部视频源如摄像机等外部图像采集设备、外部存储器,或外部计算机图形处理器、计算机或服务器等外部图像生成设备。所述接口可以是根据任何专有或标准化接口协议的任何类型的接口,例如有线或无线接口、光接口。用于获取图像数据17的接口可以是与通信接口22相同的接口,或作为通信接口22的一部分。
区别于预处理单元18和预处理单元18执行的处理,图像或图像数据17(例如,视频数据16)也可以称为原始图像或原始图像数据17。
预处理单元18用于接收(原始)图像数据17,对图像数据17进行预处理,以获得经预处理的图像19或经预处理的图像数据19。预处理单元18执行的预处理可以包括修剪、颜色格式转换(例如,从RGB转换为YCbCr)、颜色校正,或去噪等。可以理解的是,预处理单元18可以是可选组件。
编码器20(例如,视频编码器20)用于接收经预处理的图像数据19并提供经编码的图像数据21(下文将基于图2或图4等进一步详细描述)。
源设备12的通信接口22可以用于接收经编码的图像数据21,并将其传输到其他设备(例如,目的设备14或用于存储或直接重建的任何其他设备);或分别在存储编码数据13和/或将编码数据13传输到其他设备(例如目的设备14,或用于解码或存储的任何其他设备)之前处理经编码的图像数据21。
目的设备14包括解码器30(例如,视频解码器30),并且可以另外(即,可选地)包括通信接口或通信单元28、后处理单元32和显示设备34。
目的设备14的通信接口28用于接收经编码的图像数据21或编码数据13,例如,直接从源设备12或任何其他源(例如,编码图像数据存储设备等存储设备)接收。
通信接口22和通信接口28可以用于经由源设备12与目的设备14之间的直接通信链路(例如,直接有线或无线连接),或经由任何类型的网络(例如,有线或无线网络或其任意组合,或任何类型的专用和公共网络),或其任意组合发送或接收经编码的图像数据21或编码数据13。
例如,通信接口22可以用于将经编码的图像数据21封装为合适的格式(例如,数据包),用于经由通信链路或通信网络传输。
形成通信接口22的对应的通信接口28可以用于解封装编码数据13以获得经编码的图像数据21等。
通信接口22和通信接口28均可配置为单向通信接口(如图1A中从源设备12指向目的设备14的经编码的图像数据13的箭头所指示),或双向通信接口,并可用于发送和接收消息等,例如,建立连接,确认和交互与通信链路和/或数据传输(例如,经编码的图像数据传输)相关的任何其他信息。
解码器30用于接收经编码的图像数据21并提供经解码的图像数据31或解码图像31(下文将基于图3或图5等进一步详细描述)。
目的设备14的后处理器32用于对经解码的图像数据31(也称为经重建的图像数据)(例如,解码图像31)进行后处理,以获得经后处理的图像数据33(例如,后处理图像33)。例如,由后处理单元32执行的后处理可以包括颜色格式转换(例如,从YCbCr转换为RGB)、颜色校正、修剪或重新采样,或任何其他处理,例如,用于准备经解码的图像数据31以供显示设备34等显示。
目的设备14的显示设备34用于接收经后处理的图像数据33,以向用户或观看者等显示所述图像。显示设备34可以是或包括用于显示重建图像的任何类型的显示器,例如,集成或外部的显示器或监视器。例如,显示器可以包括液晶显示器(liquid crystaldisplay,LCD)、有机发光二极管(organic light emitting diode,OLED)显示器、等离子显示器、投影仪、微型LED显示器、硅基液晶显示器(liquid crystal on silicon,LCoS)、数字光处理器(digital light processor,DLP)或任意类型的其他显示器。
尽管图1A将源设备12和目的设备14作为单独的设备进行描述,但是设备实施例还可以包括两种设备或两种功能,即源设备12或对应功能以及目的设备14或对应功能。在这类实施例中,源设备12或对应功能以及目的设备14或对应功能可以使用相同的硬件和/或软件或通过单独的硬件和/或软件或其任意组合来实现。
基于描述,技术人员显而易见的是,图1A所示的源设备12和/或目的设备14中的不同单元或功能的存在和(精确)划分可以根据实际设备和应用而不同。
编码器20(例如视频编码器20)和解码器30(例如视频解码器30)可以各自实现为各种合适电路中的任一种,如一个或多个微处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、离散逻辑、硬件或其任何组合。如果所述技术部分地以软件形式实现,则设备可以将软件的指令存储在合适的非瞬时性计算机可读介质中,并且可以使用一个或多个处理器执行硬件中的指令,以执行本发明的技术。上述任一种(包括硬件、软件、硬件和软件的组合等)可以被认为是一个或多个处理器。视频编码器20和视频解码器30可以分别包括在一个或多个编码器或解码器中,其中任一者可以作为组合式编码器/解码器(编解码器)的一部分集成在对应设备中。
源设备12可以称为视频编码设备或视频编码装置。目的设备14可以称为视频解码设备或视频解码装置。源设备12和目的设备14可以是视频编码设备或视频编码装置的示例。
源设备12和目的设备14可以包括多种设备中的任意一种,包括任何类型的手持或固定设备,例如,笔记本电脑或膝上型电脑、手机、智能手机、平板电脑(tablet/tabletcomputer)、摄像机、台式计算机、机顶盒、电视机、显示设备、数字媒体播放器、视频游戏机、视频流设备(如内容服务服务器或内容分发服务器)、广播接收器设备、广播发射器设备等,并且可以不使用或使用任何类型的操作系统。
在某些情况下,可以配备源设备12和目的设备14以用于无线通信。因此,源设备12和目的设备14可以是无线通信设备。
在某些情况下,图1A所示的视频编码系统10仅仅是示例,本申请的技术可适用于在编码设备与解码设备之间不一定包括任何数据通信的视频编码设置(例如,视频编码或视频解码)。在其他示例中,数据从本地存储器中检索,经由网络流式传输,等等。视频编码设备可以对数据进行编码并将数据存储到存储器中,和/或视频解码设备可以从存储器中检索数据并对数据进行解码。在一些示例中,编码和解码由相互不通信而只是将数据编码到存储器和/或从存储器中检索数据并对数据进行解码的设备来执行。
应理解,对于结合视频编码器20描述的上述每个示例,视频解码器30可用于执行逆过程。视频解码器30可用于接收和解析信令语法元素,并相应地对相关视频数据进行解码。在一些示例中,视频编码器20可以将一个或多个语法元素熵编码到经编码的视频码流中。在这类示例中,视频解码器30可以解析此类语法元素并相应地对相关视频数据进行解码。
图1B为示例性实施例提供的包括图2的编码器20和/或图3的解码器30的另一示例性视频编码系统40的说明图。系统40可以实现本申请中描述的各种示例提供的技术。在所示实现方式中,视频编码系统40可以包括一个或多个成像设备41、视频编码器100、视频解码器30(和/或由一个或多个处理单元46的逻辑电路47实现的视频编码器)、天线42、一个或多个处理器43、一个或多个存储器44和/或显示设备45。
如图所示,一个或多个成像设备41、天线42、一个或多个处理单元46、逻辑电路47、视频编码器20、视频解码器30、一个或多个处理器43、一个或多个存储器44和/或显示设备45能够彼此通信。如上所述,尽管示出具有视频编码器20和视频解码器30两者,但是在各种示例中,视频编码系统40可以仅包括视频编码器20或仅包括视频解码器30。
如图所示,在一些示例中,视频编码系统40可以包括天线42。例如,天线42可用于发送或接收视频数据的经编码码流。此外,在一些示例中,视频编码系统40可以包括显示设备45。显示设备45可用于呈现视频数据。如图所示,在一些示例中,可以由一个或多个处理单元46实现逻辑电路47。一个或多个处理单元46可以包括专用集成电路(application-specific integrated circuit,ASIC)逻辑、一个或多个图形处理器、或一个或多个通用处理器等。视频编码系统40还可以包括一个或多个可选的处理器43,所述一个或多个可选的处理器43可以类似地包括专用集成电路(ASIC)逻辑、一个或多个图形处理器、或一个或多个通用处理器等。在一些示例中,逻辑电路47可以由硬件、或视频编码专用硬件等实现,一个或多个处理器43可以实现通用软件、或操作系统等。此外,一个或多个存储器44可以是任何类型的存储器,如易失性存储器(例如,静态随机存取存储器(Static Random AccessMemory,SRAM)、动态随机存取存储器(Dynamic Random Access Memory,DRAM)等)或非易失性存储器(例如,闪存等)等等。在非限制性示例中,一个或多个存储器44可以由高速缓冲存储器实现。在一些示例中,逻辑电路47可以访问一个或多个存储器44(例如,用于实现图像缓冲器)。在其他示例中,逻辑电路47和/或一个或多个处理单元46可以包括用于实现图像缓冲器等的存储器(例如,高速缓存等)。
在一些示例中,由逻辑电路实现的视频编码器100可以包括图像缓冲器(例如,由一个或多个处理单元46或一个或多个存储器44实现)和图形处理单元(例如,由一个或多个处理单元46实现)。所述图形处理单元可以以通信的方式耦合到所述图像缓冲器。所述图形处理单元可以包括由逻辑电路47实现的视频编码器100,以体现结合图2所描述的各种模块和/或本文描述的任何其他编码器系统或子系统。所述逻辑电路可用于执行本文描述的各种操作。
视频解码器30的实现方式可以与由逻辑电路47实现的方式类似,以体现结合图3的解码器30所描述的各种模块和/或本文描述的任何其他解码器系统或子系统。在一些示例中,可以由逻辑电路实现的视频解码器30可以包括图像缓冲器(例如,由一个或多个处理单元420或一个或多个存储器44实现)和图形处理单元(例如,由一个或多个处理单元46实现)。所述图形处理单元可以以通信的方式耦合到所述图像缓冲器。所述图形处理单元可以包括由逻辑电路47实现的视频解码器30,以体现结合图3所描述的各种模块和/或本文描述的任何其他解码器系统或子系统。
在一些示例中,视频编码系统40的天线42可用于接收视频数据的经编码码流。如上所述,经编码码流可以包括与本文所描述的视频帧的编码相关联的数据、指示符、索引值、模式选择数据等,诸如与编码分割相关联的数据(例如,变换系数或经量化的变换系数、可选指示符(如所上所述)和/或定义编码分割的数据)。视频编码系统40还可以包括耦合到天线42并用于对经编码码流进行解码的视频解码器30。显示设备45用于呈现视频帧。
编码器和编码方法
图2为用于实现本申请技术的示例性视频编码器20的示意性/概念性框图。在图2的示例中,视频编码器20包括残差计算单元204、变换处理单元206、量化单元208、反量化单元210和逆变换处理单元212、重建单元214、缓冲器216、环路滤波单元220、解码图像缓冲器(decoded picture buffer,DPB)230、预测处理单元260和熵编码单元270。预测处理单元260可以包括帧间预测单元244、帧内预测单元254和模式选择单元262。帧间预测单元244可以包括运动估计单元和运动补偿单元(未示出)。图2所示的视频编码器20也可以称为混合型视频编码器或基于混合型视频编解码器的视频编码器。
例如,残差计算单元204、变换处理单元206、量化单元208、预测处理单元260和熵编码单元270形成编码器20的正向信号路径,而反量化单元210、逆变换处理单元212、重建单元214、缓冲器216、环路滤波器220、解码图像缓冲器(DPB)230、预测处理单元260形成编码器的反向信号路径。编码器的反向信号路径与解码器(参见图3中的解码器30)的信号路径对应。
编码器20用于通过输入端202等接收图像201或图像201(例如,形成视频或视频序列的图像序列的图像)的块203。图像块203也可以称为当前图像块或待编码图像块,图像201也可以称为当前图像或待编码图像(特别是在视频编码中,以便将当前图像与其他图像(例如,同一视频序列(即,也包括当前图像的视频序列)的先前编码和/或解码的图像))区分开。
分割
编码器20的实施例可以包括分割单元(图2中未示出),所述分割单元用于将图像201分割成多个块(如块203等块),通常分割成多个不重叠块。分割单元可用于对视频序列的所有图像使用相同的块大小和定义块大小的对应网格,或者用于改变图像或图像子集或组之间的块大小,并将每个图像分割成对应块。
在一个示例中,视频编码器20的预测处理单元260可以用于执行上文描述的分割技术的任意组合。
与图像201类似,块203同样是或可以看作是具有强度值(像素点值)的像素点的二维阵列或矩阵,但是,块203的尺寸比图像201小。换句话说,例如,根据所应用的颜色格式,块203可以包括一个像素点阵列(例如,图像201是单色情况下的亮度阵列)或三个像素点阵列(例如,图像201是彩色情况下的一个亮度阵列和两个色度阵列)或任何其他数量和/或类型的阵列。块203的水平方向和垂直方向(或轴线)上的像素点数量决定了块203的大小。
图2所示的编码器20用于逐块对图像201进行编码,例如按块203进行编码和预测。
残差计算
残差计算单元204用于通过如下等方式基于图像块203和预测块265(下文将详细描述预测块265)来计算残差块205:逐个像素点(逐个像素)从图像块203的像素点值中减去预测块265的像素点值,以获得像素点域中的残差块205。
变换
变换处理单元206用于对残差块205的像素点值应用离散余弦变换(discretecosine transform,DCT)或离散正弦变换(discrete sine transform,DST)等变换,以获得变换域中的变换系数207。变换系数207也可以称为变换残差系数,表示变换域中的残差块205。
变换处理单元206可用于应用DCT/DST的整数化近似法,如针对HEVC/H.265指定的变换。与正交DCT变换相比,该整数近似法通常通过某一因子按比例缩放。为了维持经过正变换和逆变换处理的残差块的范数,应用附加缩放因子作为变换过程的一部分。缩放因子通常是基于某些约束条件来选择的,例如缩放因子是用于移位运算的2的幂、变换系数的位深度、准确性与实施成本之间的权衡等。例如,在解码器30处通过逆变换处理单元212等为逆变换(以及在编码器20处通过逆变换处理单元212等为对应逆变换)指定具体的缩放因子,以及相应地,可以在编码器20处通过变换处理单元206等为正变换指定对应的缩放因子。
量化
量化单元208用于通过应用标量量化或矢量量化等对变换系数207进行量化,以获得经量化的变换系数209。经量化的变换系数209也可以称为经量化的残差系数209。量化过程可以降低与一些或全部变换系数207相关联的位深度。例如,可以在量化期间将n位变换系数向下舍入到m位变换系数,其中n大于m。可以通过调整量化参数(quantizationparameter,QP)修改量化程度。例如,对于标量量化,可以应用不同程度的缩放来实现较细或较粗的量化。较小量化步长对应较细量化,而较大量化步长对应较粗量化。可以通过量化参数(QP)指示合适的量化步长。例如,量化参数可以是合适的量化步长的预定义集合的索引。例如,小的量化参数可对应精细量化(小的量化步长),大的量化参数可对应粗糙量化(大的量化步长),反之亦然。量化可以包括除以量化步长,而反量化单元210等执行的对应或反量化可包括乘以量化步长。根据HEVC等一些标准的实施例可用于使用量化参数来确定量化步长。通常,可以基于量化参数使用包括除法的方程的定点近似来计算量化步长。量化和解量化可以引入附加缩放因子以恢复残差块的范数,由于在量化步长和量化参数的方程的定点近似中使用了缩放,可能会修改残差块的范数。在一种示例性实现方式中,可以合并逆变换和解量化的缩放。或者,可以使用自定义量化表并在码流中等将自定义量化表从编码器信号发送到解码器。量化是有损操作,其中量化步长越大,损耗越大。
反量化单元210用于通过基于或使用与量化单元208相同的量化步长应用量化单元208所应用的量化方案的逆过程等,对量化系数应用量化单元208的反量化,以获得解量化系数211。解量化系数211也可以称为解量化残差系数211,对应于变换系数207,但是由于量化造成的损耗,解量化系数211通常与变换系数不同。
逆变换处理单元212用于应用变换处理单元206所应用的变换的逆变换,例如逆离散余弦变换(DCT)或逆离散正弦变换(DST),以获得像素点域中的逆变换块213。逆变换块213也可以称为逆变换解量化块213或逆变换残差块213。
重建单元214(例如,求和器214)用于通过例如将重建残差块213的像素点值和预测块265的像素点值相加,将逆变换块213(即重建残差块213)添加到预测块265,以在像素点域中获得重建块215。
可选的,缓冲单元216(或简称“缓冲器”216)(例如线缓冲器216)用于缓冲或存储重建块215和相应的像素点值,以进行帧内预测等。在其他实施例中,编码器可用于使用存储在缓冲单元216中的未滤波的重建块和/或相应的像素点值进行任何类型的估计和/或预测(例如,帧内预测)。
编码器20的实施例可用于使得,例如缓冲单元216不仅用于存储用于帧内预测254的重建块215,还用于存储用于环路滤波单元220(图2中未示出)的重建块215,和/或用于使得,例如缓冲单元216和解码图像缓冲单元230形成一个缓冲器。其他实施例可用于使用滤波块221和/或解码图像缓冲器230中的块或像素点(两者都未在图2中示出)作为帧内预测254的输入或基础。
环路滤波单元220(或简称“环路滤波器”220)用于对重建块215进行滤波以获得滤波块221,以平滑像素转变或提高视频质量等。环路滤波单元220用于表示一个或多个环路滤波器,如去块效应滤波器、像素点自适应偏移(sample-adaptive offset,SAO)滤波器或其他滤波器,例如双边滤波器或自适应环路滤波器(adaptive loop filter,ALF)或锐化或平滑滤波器或协作滤波器。虽然环路滤波单元220在图2中示为环内滤波器,但是在其他配置中,环路滤波单元220可以实现为后环路滤波器。滤波块221也可以称为滤波重建块221。解码图像缓冲器230可以在环路滤波单元220对重建编码块进行滤波操作之后存储重建编码块。
编码器20(具体是环路滤波单元220)的实施例可用于输出环路滤波器参数(如像素点自适应偏移信息),例如直接输出或通过熵编码单元270或任何其他熵编码单元所编码的熵输出,使得例如解码器30可以接收和应用相同环路滤波器参数进行解码。
解码图像缓冲器(decoded picture buffer,DPB)230可以是参考图像存储器,存储用于由视频编码器20对视频数据进行编码的参考图像数据。DPB 230可以由多种存储设备中的任一种组成,如动态随机存取存储器(dynamic random access memory,DRAM),包括同步DRAM(synchronous DRAM,SDRAM)、磁阻RAM(magnetoresistive RAM,MRAM)、电阻RAM(resistive RAM,RRAM)或其他类型的存储设备。DPB 230和缓冲器216可以由相同的存储设备或单独的存储设备提供。在一些示例中,解码图像缓冲器(DPB)230用于存储滤波块221。解码图像缓冲器230还可用于存储同一当前图像或不同图像(例如,先前重建的图像)的其他先前滤波块(例如,先前重建和滤波块221),并且可提供完整的先前重建(即解码)的图像(和对应的参考块和像素点)和/或部分重建的当前图像(和对应的参考块和像素点),用于帧间预测等。在一些示例中,如果对重建块215进行重建但没有进行环内滤波,则解码图像缓冲器(decoded picture buffer,DPB)230用于存储重建块215。
预测处理单元260(也称为块预测处理单元260)用于:接收或获取块203(当前图像201的当前块203)和经重建的图像数据,例如,来自缓冲器216的相同(当前)图像的参考像素点和/或来自解码图像缓冲器230的一个或多个先前解码图像的参考图像数据231,并处理此类数据以进行预测,即提供预测块265,其中,所述预测块265可以是帧间预测块245或帧内预测块255。
模式选择单元262可用于选择预测模式(例如,帧内预测或帧间预测模式)和/或对应的预测块245或255,用作预测块265以用于计算残差块205和重建重建块215。
模式选择单元262的实施例可用于选择预测模式(例如,从预测处理单元260支持的预测模式中选择),所述预测模式提供最佳匹配或者说最小残差(最小残差意味着更好的压缩性能以进行传输或存储),或具有最小信令开销(最小信令开销意味着更好的压缩性能以进行传输或存储),或者同时考虑或平衡以上两者。模式选择单元262可用于基于率失真优化(rate distortion optimization,RDO)确定预测模式,即选择提供最小率失真优化的预测模式,或者选择至少满足预测模式选择标准的关联率失真的预测模式。
下文将更详细地解释由示例性编码器20执行的预测处理(例如,由预测处理单元260执行)和模式选择(例如,由模式选择单元262执行)。
如上所述,编码器20用于从(预定的)预测模式集合中确定或选择最佳或最优的预测模式。预测模式集合可以包括帧内预测模式和/或帧间预测模式等。
帧内预测模式集合可以包括35种不同的帧内预测模式,例如,如DC(或均值)模式和平面模式等非方向性模式,或如H.265定义的方向性模式,或者可以包括67种不同的帧内预测模式,例如,如DC(或均值)模式和平面模式等非方向性模式,或如正在研发的H.266中定义的方向性模式。
(或可能的)帧间预测模式的集合取决于可用参考图像(即,例如存储在DPB 230中的先前至少部分解码的图像)和其他帧间预测参数,例如取决于是否使用整个参考图像或只使用参考图像的一部分(例如当前块的区域附近的搜索窗口区域)来搜索最佳匹配参考块,和/或例如取决于是否应用像素内插(例如半像素和/或四分之一像素内插)。
除上述预测模式外,还可以应用跳过模式和/或直接模式。
预测处理单元260还可以用于将块203分割成更小的分割块或子块,例如,使用四叉树(quad-tree,QT)分割、二叉树(binary-tree,BT)分割或三叉树(triple-tree,TT)分割或其任何组合迭代地进行,并例如,对每个分割块或子块进行预测,其中,所述模式选择包括选择分割块203的树形结构以及应用于每个分割块或子块的预测模式。
帧间预测单元244可以包括运动估计(motion estimation,ME)单元(图2中未示出)和运动补偿(motion compensation,MC)单元(图2中未示出)。运动估计单元用于接收或获取图像块203(当前图像201的当前图像块203)和解码图像231,或至少一个或多个先前重建块,例如,一个或多个其他/不同先前解码图像231的重建块,以进行运动估计。例如,视频序列可以包括当前图像和先前解码图像231,或换句话说,当前图像和先前解码图像231可以为形成视频序列的图像序列的一部分或形成该图像序列。
例如,编码器20可用于从多个其他图像中的相同或不同图像的多个参考块中选择参考块,并将参考图像(或参考图像索引)和/或参考块的位置(x坐标、y坐标)与当前块的位置之间的偏移(空间偏移)作为帧间预测参数提供给运动估计单元(图2中未示出)。该偏移也称为运动矢量(motion vector,MV)。
运动补偿单元用于获取例如接收帧间预测参数,并基于或使用帧间预测参数进行帧间预测,以获得帧间预测块245。由运动补偿单元(图2中未示出)执行的运动补偿可能涉及基于通过运动估计确定的运动/块矢量来提取或生成预测块,还可能包括对子像素精度进行内插。内插滤波可以从已知像素的像素点中生成额外像素的像素点,从而可能增加可用于对图像块进行编码的候选预测块的数量。一旦接收到当前图像块的PU的运动矢量,运动补偿单元246可以定位在其中一个参考图像列表中运动矢量指向的预测块。运动补偿单元246还可以生成与块和视频片相关的语法元素,以供视频解码器30用于对视频片的图像块进行解码。
帧内预测单元254用于获取例如接收图像块203(当前图像块)和相同图像的一个或多个先前重建块(例如,重建相邻块),以进行帧内估计。例如,编码器20可用于从多个(预定的)帧内预测模式中选择帧内预测模式。
编码器20的实施例可用于基于优化标准(例如,最小残差(例如,提供与当前图像块203最相似的预测块255的帧内预测模式)或最小率失真)选择帧内预测模式。
帧内预测单元254还用于基于帧内预测参数(例如,所选帧内预测模式)确定帧内预测块255。在任何情况下,在对块选择帧内预测模式之后,帧内预测单元254还用于向熵编码单元270提供帧内预测参数,即指示块的所选帧内预测模式的信息。在一个示例中,帧内预测单元254可用于执行下文描述的帧内预测技术的任何组合。
熵编码单元270用于单独或联合(或完全不联合)对经量化的残差系数209、帧间预测参数、帧内预测参数和/或环路滤波器参数应用熵编码算法或方案(例如,可变长度编码(variable length coding,VLC)方案、上下文自适应VLC(context adaptive VLC,CALVC)方案、算术编码方案、上下文自适应二进制算术编码(context adaptive binaryarithmetic coding,CABAC)、基于语法的上下文自适应二进制算术编码(syntax-basedcontext-adaptive binary arithmetic coding,SBAC)、概率区间分割熵(probabilityinterval partitioning entropy,PIPE)编码或其他熵编码方法或技术),以获得可由输出端272输出的经编码的图像数据21,例如,以经编码码流21的形式输出。可以将经编码码流21传输到视频解码器30,或将其存档以供稍后传输或由视频解码器30检索。熵编码单元270还可以用于对正在编码的当前视频片的其他语法元素进行熵编码。
视频编码器20的其他结构变体可用于对视频流进行编码。例如,基于非变换的编码器20可以在没有变换处理单元206的情况下直接量化某些块或帧的残差信号。在另一种实现方式中,编码器20中,量化单元208和反量化单元210可以组合成一个单元。
图3示出了用于实现本申请技术的示例性视频解码器30。视频解码器30用于接收例如由编码器100编码的经编码的图像数据(例如,经编码码流)21以获得解码图像131。在解码过程中,视频解码器30从视频编码器100接收视频数据,例如表示编码视频片的图像块的经编码的视频码流以及相关联的语法元素。
在图3的示例中,解码器30包括熵解码单元304、反量化单元310、逆变换处理单元312、重建单元314(例如,求和器314)、缓冲器316、环路滤波器320、解码图像缓冲器330和预测处理单元360。预测处理单元360可以包括帧间预测单元344、帧内预测单元354和模式选择单元362。在一些示例中,视频解码器30可执行通常与针对图2的视频编码器100描述的编码过程相反的解码过程。
熵解码单元304用于对经编码的图像数据21执行熵解码以获得量化系数309和/或经解码的编码参数(图3中未示出)等,例如帧间预测参数、帧内预测参数、环路滤波器参数和/或其他语法元素中的(解码的)任一者或全部。熵解码单元304还用于将帧间预测参数、帧内预测参数和/或其他语法元素转发给预测处理单元360。视频解码器30可以接收视频片级和/或视频块级的语法元素。
反量化单元310的功能可以与反量化单元110相同;逆变换处理单元312的功能可以与逆变换处理单元112相同;重建单元314的功能可以与重建单元114相同;缓冲器316的功能可以与缓冲器116相同;环路滤波器320的功能可以与环路滤波器120相同;解码图像缓冲器330的功能可以与解码图像缓冲器130相同。
预测处理单元360可以包括帧间预测单元344和帧内预测单元354,其中,帧间预测单元344的功能可以与帧间预测单元144类似,帧内预测单元354的功能可以与帧内预测单元154类似。预测处理单元360通常用于根据编码数据21执行块预测和/或获得预测块365,并用于从熵解码单元304等接收或获得(显式或隐式地)预测相关参数和/或关于所选预测模式的信息。
当将视频片编码为帧内编码(I)片时,预测处理单元360的帧内预测单元354用于基于信号发送的帧内预测模式和来自当前帧或图像的先前解码块的数据生成当前视频片的图像块的预测块365。当将视频帧编码为帧间编码(即,B或P)片时,预测处理单元360的帧间预测单元344(例如,运动补偿单元)用于基于运动矢量和从熵解码单元304接收的其他语法元素产生当前视频片的视频块的预测块365。对于帧间预测,可从其中一个参考图像列表中的其中一个参考图像产生这些预测块。视频解码器30可以基于存储在DPB 330中的参考图像,使用默认构建技术来构建参考帧列表:列表0和列表1。
预测处理单元360用于通过解析运动矢量和其他语法元素来确定当前视频片的视频块的预测信息,并使用所述预测信息针对所解码的当前视频块生成预测块。例如,预测处理单元360使用接收到的一些语法元素确定用于对视频片的视频块进行编码的预测模式(例如,帧内预测或帧间预测)、帧间预测片类型(例如B片、P片或GPB片)、片的一个或多个参考图像列表的构建信息、片的每个帧间编码视频块的运动矢量、片的每个帧间编码视频块的帧间预测状态、以及其他信息,以对当前视频片内的视频块进行解码。
反量化单元310用于对码流中提供并由熵解码单元304解码的量化变换系数进行反量化,即解量化。反量化过程可以包括使用视频编码器100对视频片中的每个视频块计算的量化参数来确定量化程度,同样确定需要应用的反量化的程度。
逆变换处理单元312用于对变换系数应用逆变换,例如逆DCT、逆整数变换或概念上类似的逆变换过程,以在像素域中产生残差块。
重建单元314(例如,求和器314)用于通过例如将重建残差块313的像素点值和预测块365的像素点值相加,将逆变换块313(即重建残差块313)添加到预测块365,以在像素点域中获得重建块315。
环路滤波单元320(在编码环路中或编码环路之后)用于对重建块315进行滤波,以获得滤波块321,以平滑像素转变或提高视频质量等。在一个示例中,环路滤波单元320可用于执行下文描述的滤波技术的任何组合。环路滤波单元320用于表示一个或多个环路滤波器,如去块效应滤波器、像素点自适应偏移(sample-adaptive offset,SAO)滤波器或其他滤波器,例如双边滤波器或自适应环路滤波器(adaptive loop filter,ALF)或锐化或平滑滤波器或协作滤波器。虽然环路滤波单元320在图3中示为环内滤波器,但是在其他配置中,环路滤波单元320可以实现为后环路滤波器。
然后,将给定帧或图像中的解码视频块321存储在解码图像缓冲器330中,所述解码图像缓冲器330存储用于后续运动补偿的参考图像。
解码器30用于经由输出端312等输出解码图像311,向用户呈现或供用户观看。
可以使用视频解码器30的其他变体对压缩码流进行解码。例如,解码器30可以在没有环路滤波单元320的情况下产生输出视频流。例如,基于非变换的解码器30可以在没有逆变换处理单元312的情况下直接反量化某些块或帧的残差信号。在另一种实现方式中,视频解码器30中,反量化单元310和逆变换处理单元312可以组合成一个单元。
图4为本发明实施例提供的视频编码设备400的示意图。视频编码设备400用于实现本文描述的所公开实施例。在一个实施例中,视频编码设备400可以是解码器(如图1A的视频解码器30)或编码器(如图1A的视频编码器20)。在一个实施例中,视频编码设备400可以是如上所述的图1A的视频解码器30或图1A的视频编码器20的一个或多个组件。
视频编码设备400包括:入端口410和接收单元(Rx)420,用于接收数据;处理器、逻辑单元或中央处理单元(central processing unit,CPU)430,用于处理数据;发送单元(Tx)440和出端口450,用于发送数据;存储器460,用于存储数据。视频编码设备400还可包括耦合到入端口410、接收单元420、发送单元440和出端口450的光电(optical-to-electrical,OE)组件和电光(electrical-to-optical,EO)组件,用作光信号或电信号的出口或入口。
处理器430通过硬件和软件实现。处理器430可实现为一个或多个CPU芯片、核(例如,多核处理器)、FPGA、ASIC和DSP。处理器430与入端口410、接收单元420、发送单元440、出端口450和存储器460通信。处理器430包括编码模块470。编码模块470用于实施上述实施例。例如,编码模块470用于实施、处理、准备或提供各种编码操作。因此,包括编码模块470使得视频编码设备400功能得到了显著改进,实现了视频编码设备400不同状态的转换。或者,以存储在存储器460中并由处理器430执行的指令来实现编码模块470。
存储器460包括一个或多个磁盘、磁带机和固态硬盘,可用作溢出数据存储设备,以在选择执行程序时存储这类程序,并存储在程序执行期间读取的指令和数据。存储器460可以是易失性和/或非易失性的,并且可以是只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、三态内容寻址存储器(ternary content-addressable memory,TCAM)和/或静态随机存取存储器(static random-access memory,SRAM)。
图5为示例性实施例提供的装置500的简化框图,其中,装置500可用作图1中的源设备310和目的设备320中的任一个或两个。装置500可以实现上述本申请的技术。装置500可以是包括多个计算设备的计算系统的形式,也可以是单个计算设备的形式,例如手机、平板电脑、膝上型电脑、笔记本电脑、台式计算机等。
装置500中的处理器502可以是中央处理单元。或者,处理器502可以是现有的或今后将研发出的能够操控或处理信息的任何其他类型的设备或多个设备。虽然可以使用如图所示的处理器502等单个处理器来实施所公开的实现方式,但使用一个以上的处理器可以提高速度和效率。
在一种实现方式中,装置500中的存储器504可以是只读存储器(ROM)设备或随机存取存储器(RAM)设备。任何其他合适类型的存储设备都可以用作存储器504。存储器504可以包括处理器502通过总线512访问的代码和数据506。存储器504还可包括操作系统508和应用程序510,其中,应用程序510包括允许处理器502执行本文所述方法的至少一个程序。例如,应用程序510可以包括应用1至N,还可以包括执行本文所述方法的视频编码应用。装置500还可以包括辅助存储器514形式的附加存储器,辅助存储器514可以是与移动计算设备一起使用的存储卡等。由于视频通信会话可能包括大量信息,因此可以全部或部分地存储在辅助存储器514中,并根据需要加载到存储器504中进行处理。
装置500还可以包括一个或多个输出设备,如显示器518。在一个示例中,显示器518可以是将显示器与可用于感测触摸输入的触敏元件组合的触敏显示器。显示器518可以经由总线512耦合到处理器502。除了显示器518或作为显示器518的替代,可以提供允许用户对装置500进行编程或以其他方式使用装置500的其他输出设备。当所述输出设备是显示器或包括显示器时,所述显示器可以通过各种方式实现,包括通过液晶显示器(liquidcrystal display,LCD)、阴极射线管(cathode-ray tube,CRT)显示器、等离子显示器或发光二极管(light emitting diode,LED)显示器,如有机LED(organic LED,OLED)显示器实现。
装置500还可以包括图像传感设备520或与图像传感设备520通信,所述图像传感设备520例如摄像机,或现有的或今后将研发出的能够感测图像(如操作装置500的用户的图像)的任何其他图像传感设备520。可以对图像传感设备520进行定位,使得其朝向操作装置500的用户。在一个示例中,可以配置图像传感设备520的位置和光轴,使得视野包括与显示器518直接相邻并且可以看到显示器518的区域。
装置500还可以包括声音传感设备522或与声音传感设备522通信,所述声音传感设备522例如麦克风,或现有的或今后将研发出的能够感测装置500附近声音的任何其他声音传感设备。可以对声音传感设备522进行定位,使得其朝向操作装置500的用户,并且可以用于接收用户在操作装置500时发出的语音或其他话语等声音。
虽然图5描述了装置500的处理器502和存储器504集成到一个单元中,但还可以有其他配置。处理器502的操作可以分布在多个机器(每个机器具有一个或多个处理器)中,这些机器可以直接耦合或通过局域网或其他网络耦合。存储器504可以分布在多个机器中,如基于网络的存储器或执行装置500的操作的多个机器中的存储器。虽然装置500的总线512在本文中描述为单个总线,但是总线512可以包括多个总线。此外,辅助储存器514可以直接耦合到装置500的其他组件或可以经由网络访问,并且可以包括存储卡等单个集成单元或多个存储卡等多个单元。因此,装置500可以通过多种配置实现。
在VVC中,帧间编码块的运动矢量可以按两种方式进行信号发送:先进的运动矢量预测(advanced motion vector prediction,AMVP)模式或融合模式。对于AVMP模式,信号发送实际运动矢量与运动矢量预测(motion vector prediction,MVP)之间的差值、参考索引和引用AMVP候选列表的MVP索引,其中,参考索引指向从中复制参考块以用于运动补偿的参考图像。对于融合模式,信号发送引用融合候选列表的融合索引,并继承与融合候选项关联的所有运动信息。
AMVP候选列表和融合候选列表两者都是从时间上或空间上相邻的编码块推导出的。更具体地,通过按顺序检查以下四种类型的融合MVP候选项来构建融合候选列表:
1.空间融合候选项,可以根据如图6所示的五个空间相邻块确定,即:位于左下顶点的块A0和A1、位于右上顶点的块B0和B1、以及位于左上顶点的B2块。
2.时间MVP(Temporal MVP,TMVP)融合候选项。
3.合并的双向预测融合候选项。
4.零运动矢量融合候选项。
一旦可用融合候选项的数量达到信号发送的最大允许融合候选项(例如,在常规测试条件下为5),就终止融合候选列表构建过程。应注意,在不同条件下,最大允许融合候选项可以不同。
类似地,对于AMVP候选列表,按顺序检查以下三种类型的MVP候选项:
1.最多两个空间MVP候选项,其中两个候选项中的一个根据如图6所示的块B0、B1和B2确定,两个候选项中的另一个根据如图6所示的块A0和A1确定。
2.时间MVP(TMVP)候选项。
3.零MVP候选项。
ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11的联合视频专家组(JointVideo Experts Team,JVET)的输入文献JVET-K0104介绍了基于历史的运动矢量预测(history-based motion vector prediction,HMVP)方法(可访问http://phenix.it-sudparis.eu/jvet/),其中,HMVP候选项定义为先前编码块的运动信息。在编码/解码过程中维护具有多个HMVP候选项的表。遇到新片时,将该表清空。每当存在帧间编码块时,就将相关联的运动信息添加到表的最后一个条目中,作为新的HMVP候选项。总体编码流程如图7所示,包括:
步骤701:加载具有HMVP候选项的表;
步骤702:利用所述加载表中的所述HMVP候选项对块进行解码;
步骤703:在对所述块进行解码时,用所述解码的运动信息更新所述表。
可以循环执行步骤701-步骤703。
可以在融合候选列表的构建过程中使用HMVP候选项。在TMVP候选项之后插入表中从最后一个条目到第一个条目中的所有HMVP候选项。可以对HMVP候选项应用剪枝。一旦可用融合候选项的总数量达到信号发送的最大允许融合候选项,就终止融合候选列表构建过程。
剪枝操作是指识别列表中相同的运动预测值候选项,并从该列表中删除一个相同的候选项。
类似地,也可以在AMVP候选列表的构建过程中使用HMVP候选项。在TMVP候选项之后插入表中最后K个HMVP候选项的运动矢量。在一些实现方式中,仅使用与AMVP目标参考图像相同的参考图像的HMVP候选项来构建AMVP候选列表。可以对HMVP候选项进行剪枝。
为了提高处理效率,引入了波前并行处理(WPP),其中WPP模式允许并行处理CTU行。在WPP模式下,通过延迟两个连续CTU,对每个CTU行相对于其前一个(紧邻的)CTU行进行处理。例如,参见图8,图像帧或图像区域包括多个CTU行,每个线程(行)包括11个CTU,即,线程1包括CTU 0至CTU 10,线程2包括CTU 11至CTU 21,线程3包括CTU 22至CTU 32,线程4包括CTU 33至CTU 43等等。因此,在WPP模式下,当线程1中CTU 1的编码/解码过程完成后,可以开始线程2中CTU 11的编码/解码过程。类似地,当线程2中CTU 12的编码/解码过程结束时,可以开始线程3中CTU 22的编码/解码过程;当线程3中CTU 23的编码/解码过程结束时,可以开始线程4中CTU 33的编码/解码过程;当线程4中CTU 34的编码/解码过程完成后,可以开始线程5中CTU 44的编码/解码过程。
然而,如上所述,当WPP与HMVP组合时,在处理每个编码块之后维护和更新HMVP列表,从而维护一个一直更新到CTU行的最后一个CTU的HMVP列表。因为线程N需要等待上一个CTU行中最后一个CTU的处理完成,因此,不能进行波前并行处理。
图9为示出本申请实施例提供的视频解码器(如图3的视频解码器30)的示例性操作的流程图。视频解码器30的一个或多个结构元件(包括帧间预测单元344)可用于执行图9的技术。在图9的示例中,视频解码器30可以执行以下步骤:
901:在开始处理CTU行时,对CTU行的HMVP列表进行构建/初始化。
当待处理CTU为CTU行的第一个CTU(起始CTU)时,构建或初始化该CTU行的HMVP列表,从而可以基于该CTU行的HMVP列表处理CTU行的第一个CTU。
当方法为编码方法时,可以由图3的帧间预测单元344构建或初始化CTU行的HMVP列表。或者,当方法为解码方法时,可以由图2的帧间预测单元244构建或初始化CTU行的HMVP列表。
在一种实现方式中,对于一个图像帧,每个CTU行可以用不同的HMVP列表进行维护。在另一种实现方式中,对于一个图像区域,每个CTU行可以用不同的HMVP列表进行维护,该图像区域包括多个CTU行,该图像可以是VVC的片、编码区块或砖。
当砖是图像中特定编码区块内CTU行的矩形区域时,编码区块可以分割成多个砖,在编码区块内,每个砖包括一个或多个CTU行。没有分割为多个砖的编码区块也可以称为砖。然而,砖是编码区块的真正子集,因此不称为编码区块。
应注意,维护每个CTU行的不同HMVP列表仅仅意味着可以维护CTU行的特定HMVP列表,但是不同HMVP列表中的候选项可以相同,例如,一个HMVP列表中的所有候选项与另一个HMVP列表中的候选项相同,应注意,一个HMVP列表中的候选项可能没有冗余;或者,不同HMVP列表中的候选项可以有重叠,例如,一个HMVP列表中的部分候选项与另一个HMVP列表中的部分候选项相同,而该另一个HMVP列表中还具有与该一个HMVP列表中的部分候选项不同的候选项;或者,不同HMVP列表中的候选项可以完全不同,例如,一个HMVP列表中的候选项在另一个HMVP列表中没有相同的候选项。应注意,在已经对CTU行中的所有CTU进行处理后,可以释放为该CTU行维护的HMVP列表,从而可以降低存储需求。
本发明提供了以下方式来构建/初始化HMVP列表:
方式1:在开始处理CTU行时,将对应的HMVP列表清空或设置为默认值。这些默认值是编码器和解码器都已知的预定候选项。
例如,对应的HMVP列表用默认MV填充,如:
(a)单向预测模式的MV,其中,MV可以是零运动矢量,参考图像可以包括L0列表中的第一参考图像;和/或
(b)双向预测模式的MV,其中,MV可以是零运动矢量,参考图像可以包括L0列表中的第一参考图像和L1列表中的第一参考图像;和/或
(c)按照图像处理顺序,经先前处理的图像的MV。更具体地,属于经先前处理的图像并且当前块位置叠加在前一张图像上时,在当前块的空间附近的MV。和/或
(d)时间HMVP列表的MV,其中,每个并置图像可以存储每个CTU行或整个图像的时间HMVP列表。因此,时间HMVP列表可用于构建/初始化当前CTU行的HMVP列表。
方式2:在开始处理当前CTU行时,基于前一CTU行的第二个CTU的HMVP列表构建/初始化对应的HMVP列表,其中,前一CTU行是与当前CTU行紧邻并位于当前CTU行上面的CTU行。
以图8为例,在当前CTU行是线程2的CTU行时,前一CTU行是线程1的CTU行,该前一行的第二个CTU为CTU 1;在当前CTU行是线程3的CTU行时,前一CTU行是线程2的CTU行,前一行的第二个CTU为CTU 12;在当前CTU行是线程4的CTU行时,前一CTU行是线程3的CTU行,前一行的第二个CTU为CTU 23;在当前CTU行是线程5的CTU行时,前一CTU行是线程4的CTU行,前一行的第二个CTU为CTU 34;在当前CTU行为线程6的CTU行时,前一CTU行是线程5的CTU行,前一行的第二个CTU为CTU 45。
方式3:在开始处理当前CTU行时,基于前一CTU行的第一个CTU的HMVP列表构建/初始化对应的HMVP列表,其中,前一CTU行是与当前CTU行紧邻并位于当前CTU行上面的CTU行。
以图8为例,在当前CTU行是线程2的CTU行时,前一CTU行是线程1的CTU行,该前一行的第一个CTU为CTU 0;在当前CTU行是线程3的CTU行时,前一CTU行是线程2的CTU行,前一行的第一个CTU为CTU 11;在当前CTU行是线程4的CTU行时,前一CTU行是线程3的CTU行,前一行的第一个CTU为CTU 22;在当前CTU行是线程5的CTU行时,前一CTU行是线程4的CTU行,前一行的第一个CTU为CTU 33;在当前CTU行为线程6的CTU行时,前一CTU行是线程5的CTU行,前一行的第一个CTU为CTU 44。
根据方式1至方式3,处理当前CTU行不需要等待当前CTU行的前一CTU行的处理完成,从而可以提高当前图像帧的处理效率。
902:基于构建/初始化的HMVP列表,对CTU行中的CTU进行处理。
CTU的处理可以是在解码过程中进行的帧间预测处理,即,CTU的处理可以由图3的帧间预测单元344实现。或者,CTU的处理可以是在编码过程中进行的帧间预测处理,即,CTU的处理可以由图2的帧间预测单元244实现。
应注意,上文用于构建/初始化HMVP列表的方式也可以用于没有波前的正常HMVP处理,例如,没有WPP的HMVP处理。因此,无论WPP的应用如何,HMVP处理都是相同的,这降低了额外逻辑实现的必要性。
应注意,图9的处理也可以是由编码器(如本申请实施例提供的图2的视频编码器20)实施的编码过程。
此外,应注意,涉及将波前和基于HMVP的预测组合的上述方法也可以用于帧内预测。也就是说,可以使用历史帧内模式,并且将每个CTU行的历史表初始化为默认值。
例如,可以使用默认帧内模式(如平面模式、DC模式、垂直模式、水平模式、模式2、VDIA模式和DIA模式)来初始化帧内预测中每个CTU行的HMVP列表。
图10为示出视频解码器或视频编码器(如本申请实施例提供的图3的视频解码器30和本申请实施例提供的图2的视频编码器20)的示例性操作的流程图。视频解码器30/编码器20的一个或多个结构元件(包括帧间预测单元344/帧间预测单元244)可用于执行图10的技术。在图10的示例中,视频解码器30/视频编码器20可以执行以下步骤:
步骤1010:当当前CTU为当前CTU行的起始CTU时,初始化当前CTU行的HMVP列表。
应注意,当前CTU行可以是包括多个CTU行的图像帧或包括多个CTU行的图像区域(可以是图像帧的一部分)的任何CTU行。所述当前CTU行可以是所述多个CTU行中的任意一个CTU行。
可以基于当前CTU的索引确定当前CTU是否为当前CTU行的起始CTU(或第一个CTU)。例如,如图8所公开的,每个CTU具有唯一的索引,从而可以基于当前CTU的索引确定当前CTU是否为当前CTU行的第一个CTU。例如,索引为0、11、22、33、44或55等的CTU分别是CTU行的第一个CTU。或者,以图8为例,每个CTU行包括11个CTU,即,每个CTU行的宽度为11,从而可以将CTU的索引除以CTU行的宽度来确定余数是否为0。如果余数为0,则对应的CTU为CTU行的第一个CTU;否则,如果余数不为0,则对应的CTU不是CTU行的第一个CTU。也就是说,如果CTU的索引除以CTU行的宽度=0,则该CTU为该CTU行的第一个CTU;否则,如果CTU的索引除以CTU行的宽度≠0,则该CTU不是该CTU行的第一个CTU。应注意,当CTU行是从右到左处理时,可以类似地确定CTU是否为CTU行的起始CTU。
在初始化HMVP列表之后,初始化的HMVP列表中候选运动矢量的数量为零。
可以按照如下方式进行初始化:清空当前CTU行的HMVP列表,也就是使当前CTU行的HMVP列表为空,换句话说,当前CTU行的HMVP列表中的候选项数量为零。
在另一种实现方式中,该方法还可以包括:初始化多个CTU行中除当前CTU行之外的每个CTU行的HMVP列表,其中,多个CTU行的HMVP列表相同或不同。
可以按照如下方式进行初始化:为当前CTU行的HMVP列表设置默认值,或者如上所述基于前一CTU行的CTU的HMVP列表初始化当前CTU行的HMVP列表。
步骤1020:基于所述HMVP列表对所述当前CTU行进行处理。
该处理可以是帧间预测过程,因此可以获得预测块。可以基于预测块进行重建以获得重建块,最后可以基于重建块获得解码图像。上文已详细描述了这些过程。
如图8所示,当前图像帧包括多个CTU行,为提高编码/解码效率,可以在波前并行处理(wavefront parallel processing,WPP)模式下对多个CTU行进行处理。也就是说,在处理前一CTU行的特定CTU时,开始处理当前CTU行(或开始对当前CTU行的处理),其中,前一CTU行是与当前CTU行紧邻并位于当前CTU行上面的CTU行。前一CTU行的特定CTU是前一CTU行的第二个CTU;或者,前一CTU行的特定CTU为前一CTU行的第一个CTU。以图8为例,当当前CTU行是线程3时,前一CTU行是线程2,前一CTU行的特定CTU可以是CTU 12,即,在处理CTU12时,解码器/编码器开始处理线程3的CTU行,即解码器/编码器开始处理CTU 22。再以图8为例,当当前CTU行是线程4时,前一CTU行是线程3,前一CTU行的特定CTU可以是CTU 23,即,在处理CTU 23时,解码器/编码器开始处理线程4的CTU行,即解码器/编码器开始处理CTU33。
在一种实现方式中,基于HMVP列表对当前CTU行进行处理可以包括:对当前CTU行的当前CTU进行处理;基于经处理的当前CTU更新初始化的HMVP列表;基于更新的HMVP列表,对当前CTU行的第二个CTU进行处理。
图11为示出用于实施本发明实施例的视频处理装置1100的示例的框图,所述视频处理装置1100可以是编码器20或解码器30,如图11所示,该装置包括:
初始化单元1110,用于当当前CTU为当前CTU行的起始CTU(第一个CTU)时,初始化当前CTU行的HMVP列表。
初始化单元1110执行的初始化细节可以参考步骤1010。
处理单元1120,用于基于HMVP列表对当前CTU行进行处理。
处理单元1120执行的处理细节可以参考步骤1020。
该处理可以是帧间预测过程,因此可以获得预测块。可以基于预测块进行重建以获得重建块,最后可以基于重建块获得解码图像。上文已详细描述了这些过程。
如图8所示,当前图像帧包括多个CTU行,为提高编码/解码效率,可以在WPP模式下对多个CTU行进行处理。也就是说,在处理前一CTU行的特定CTU时,开始处理当前CTU行,其中,前一CTU行是与当前CTU行紧邻并位于当前CTU行上面的CTU行。前一CTU行的特定CTU是前一CTU行的第二个CTU;或者,前一CTU行的特定CTU为前一CTU行的第一个CTU。以图8为例,当当前CTU行是线程3时,前一CTU行是线程2,前一CTU行的特定CTU可以是CTU 12,即,在处理CTU 12时,解码器/编码器开始处理线程3的CTU行,即解码器/编码器开始处理CTU 22。再以图8为例,当当前CTU行是线程4时,前一CTU行是线程3,前一CTU行的特定CTU可以是CTU23,即,在处理CTU 23时,解码器/编码器开始处理线程4的CTU行,即解码器/编码器开始处理CTU 33。
本发明还公开了一种编码器,包括用于执行本发明的视频处理方法或编码方法的处理电路。
本发明还公开了一种解码器,包括用于执行本发明的视频处理方法或编码方法的处理电路。
本发明还公开了一种计算机程序产品,包括用于执行本发明的视频处理方法或编码方法的程序代码。
本发明还公开了一种存储计算机指令的计算机可读存储介质,其中,所述计算机指令在由一个或多个处理器执行时使所述一个或多个处理器执行本发明的视频处理方法或编码方法。所述计算机可读存储介质为非瞬时性或瞬时性的。
本发明还公开了一种解码器,包括:一个或多个处理器;非瞬时性计算机可读存储介质,耦合至所述处理器并存储由所述处理器执行的程序,其中,当所述程序由所述处理器执行时,使得所述解码器执行本发明的视频处理方法或编码方法。
本发明还公开了一种编码器,包括:一个或多个处理器;非瞬时性计算机可读存储介质,耦合至所述处理器并存储由所述处理器执行的程序,其中,当所述程序由所述处理器执行时,使得所述编码器执行本发明的视频处理方法或编码方法。
HMVP列表的初始化过程在VVC(ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11的联合视频专家组(Joint Video Experts Team,JVET),通用视频编码(草案6))的通用片数据语法中描述,VVC第7.3.8.1节叙述为:
Figure BDA0002926714570000231
Figure BDA0002926714570000241
其中j%BrickWidth[SliceBrickIdx[i]])==0表示索引为j的CTU是CTU行的起始CTU;NumHmvpCand=0表示HMVP列表中的候选项数量设置为0,即HMVP列表被清空。
HMVP列表的更新过程在VVC(ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11的联合视频专家组(Joint Video Experts Team,JVET),通用视频编码(草案6))的第8.5.2.16节中描述,其叙述为:
该过程包括如下输入:
1/16分数像素点精度的亮度运动矢量mvL0和mvL1;
参考索引refIdxL0和refIdxL1;
预测列表利用标志predFlagL0和predFlagL1;
双向预测权重索引bcwIdx。
MVP候选项hMvpCand包括亮度运动矢量mvL0和mvL1、参考索引refIdxL0和refIdxL1、预测列表利用标志predFlagL0和predFlagL1,以及双向预测权重索引bcwIdx。
按以下有序步骤使用候选hMvpCand对候选列表HmvpCandList进行修改:
将变量identicalCandExist设置为等于FALSE,变量removeIdx设置为等于0。
当NumHmvpCand大于0时,对于hMvpIdx=0……NumHmvpCand–1的每个索引hMvpIdx,执行以下步骤,直到identicalCandExist等于TRUE为止:
当hMvpCand等于HmvpCandList[hMvpIdx]时,将identicalCandExist设置为等于TRUE,removeIdx设置为等于hMvpIdx。
将候选列表HmvpCandList按如下方式更新:
如果identicalCandExist等于TRUE或者NumHmvpCand等于5,则执行以下步骤:
对于i=(removeIdx+1)……(NumHmvpCand–1)的每个索引i,将HmvpCandList[i–1]设置为等于HmvpCandList[i]。
将HmvpCandList[NumHmvpCand–1]设置为等于mvCand。
如果(identicalCandExist等于FALSE且NumHmvpCand小于5),则执行以下步骤:
将HmvpCandList[NumHmvpCand++]设置为等于mvCand。
在一个或多个示例中,所描述的功能可以以硬件、软件、固件或其任意组合实现。如果以软件实现,则这些功能可以作为一个或多个指令或代码存储在计算机可读介质上或经由计算机可读介质传输,并由基于硬件的处理单元执行。计算机可读介质可以包括与有形介质(如数据存储介质)对应的计算机可读存储介质,或包括任何便于将计算机程序从一处传送到另一处的介质(例如根据通信协议)的通信介质。以此方式,计算机可读介质通常可以对应(1)非瞬时性的有形计算机可读存储介质,或(2)如信号或载波等通信介质。数据存储介质可以是可由一个或多个计算机或一个或多个处理器访问以检索用于实现本发明中描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。
作为示例而非限制,这类计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储器、磁盘存储器或其他磁性存储设备、闪存或可用于存储指令或数据结构形式的所需程序代码并且可由计算机访问的任何其他介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴电缆、光缆、双绞线、数字用户线(digitalsubscriber line,DSL)或如红外线、无线电和微波等无线技术从网站、服务器或其他远程资源传输指令,则在介质定义中包括同轴电缆、光缆、双绞线、DSL或如红外线、无线电和微波等无线技术。然而,应理解,计算机可读存储介质和数据存储介质并不包括连接、载波、信号或其他瞬时性介质,而是针对非瞬时性有形存储介质。如本文所使用的,磁盘和光盘包括压缩光盘(compact disc,CD)、激光光盘、光学光盘、数字多功能光盘(digital versatiledisc,DVD)、软盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包括在计算机可读介质的范围内。
可通过如一个或多个数字信号处理器(digital signal processor,DSP)、通用微处理器、专用集成电路(application specific integrated circuit,ASIC)、现场可编程逻辑阵列(field programmable logic array,FPGA)或其他等效集成或离散逻辑电路等一个或多个处理器来执行指令。因此,如本文所使用的术语“处理器”可指前述结构或适合于实施本文描述的技术的任何其他结构中的任一者。另外,在一些方面中,本文描述的各种功能可以提供在用于编码和解码的专用硬件和/或软件模块内,或者并入到组合编解码器中。而且,所述技术可以完全在一个或多个电路或逻辑元件中实施。
本发明的技术可以在多种设备或装置中实施,这些设备或装置包括无线手机、集成电路(integrated circuit,IC)或一组IC(例如芯片组)。本发明中描述各种组件、模块或单元是为了强调用于执行所公开技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上所述,各种单元可以结合合适的软件和/或固件组合在编解码器硬件单元中,或者通过互操作硬件单元(包括如上所述的一个或多个处理器)的集合来提供。

Claims (30)

1.一种视频处理方法,其特征在于,包括:
当当前编码树单元(coding tree unit,CTU)为当前CTU行的起始CTU时,初始化当前CTU行的基于历史的运动矢量预测(history-based motion vector prediction,HMVP)列表;
基于所述HMVP列表对所述当前CTU行进行处理。
2.根据权利要求1所述的方法,其特征在于,所述初始化的HMVP列表中的候选运动矢量数量为零。
3.根据权利要求1或2所述的方法,其特征在于,所述当前CTU行属于包括多个CTU行的图像区域,所述当前CTU行为所述多个CTU行中的任意一行。
4.根据权利要求1至3中任一项所述的方法,其特征在于,还包括:
初始化所述多个CTU行中除所述当前CTU行之外的每个CTU行的HMVP列表,其中,所述多个CTU行的HMVP列表相同或不同。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述基于所述HMVP列表对所述当前CTU行进行处理包括:
对所述当前CTU行的所述当前CTU进行处理;
基于所述经处理的当前CTU更新所述初始化的HMVP列表;
基于所述更新的HMVP列表,对所述当前CTU行的第二个CTU进行处理。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述HMVP列表根据所述当前CTU行的经处理的CTU进行更新。
7.根据权利要求1至6中任一项所述的方法,其特征在于,按照如下方式初始化所述当前CTU行的所述HMVP列表:
清空所述当前CTU行的所述HMVP列表。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述基于所述HMVP列表对所述当前CTU行进行处理包括:
从所述当前CTU行的所述第二个CTU开始,基于所述HMVP列表对所述当前CTU行进行处理,其中,所述第二个CTU与所述起始CTU相邻。
9.根据权利要求3至8中任一项所述的方法,其特征在于,按波前并行处理(wavefrontparallel processing,WPP)模式对所述多个CTU行进行处理。
10.根据权利要求9所述的方法,其特征在于,在对前一CTU行的特定CTU进行处理时,开始处理所述当前CTU行。
11.根据权利要求10所述的方法,其特征在于,所述前一CTU行是与所述当前CTU行紧邻并位于所述当前CTU行上面的CTU行。
12.根据权利要求10或11所述的方法,其特征在于,所述前一CTU行的所述特定CTU为所述前一CTU行的第二个CTU;或者,所述前一CTU行的所述特定CTU为所述前一CTU行的第一个CTU。
13.一种视频处理装置,其特征在于,包括:
初始化单元,用于当当前编码树单元(coding tree unit,CTU)为当前CTU行的起始CTU时,初始化当前CTU行的基于历史的运动矢量预测(history-based motion vectorprediction,HMVP)列表;
处理单元,用于基于所述HMVP列表对所述当前CTU行进行处理。
14.根据权利要求13所述的装置,其特征在于,所述初始化的HMVP列表中的候选运动矢量数量为零。
15.根据权利要求13或14所述的装置,其特征在于,所述当前CTU行属于包括多个CTU行的图像区域,所述当前CTU行为所述多个CTU行中的任意一行。
16.根据权利要求15所述的装置,其特征在于,所述初始化单元还用于:
初始化所述多个CTU行中除所述当前CTU行之外的每个CTU行的HMVP列表,其中,所述多个CTU行的HMVP列表相同或不同。
17.根据权利要求13至16中任一项所述的装置,其特征在于,所述处理单元用于基于所述HMVP列表对所述当前CTU行进行如下处理:
对所述当前CTU行的所述当前CTU进行处理;
基于所述经处理的当前CTU更新所述初始化的HMVP列表;
基于所述更新的HMVP列表,对所述当前CTU行的第二个CTU进行处理。
18.根据权利要求13至17中任一项所述的装置,其特征在于,所述HMVP列表根据所述当前CTU行的经处理的CTU进行更新。
19.根据权利要求13至18中任一项所述的装置,其特征在于,所述初始化单元还用于按照如下方式初始化所述当前CTU行的所述HMVP列表:
清空所述当前CTU行的所述HMVP列表。
20.根据权利要求13至19中任一项所述的装置,其特征在于,所述处理单元还用于基于所述HMVP列表对所述当前CTU行进行如下处理:
从所述当前CTU行的所述第二个CTU开始,基于所述HMVP列表对所述当前CTU行进行处理,其中,所述第二个CTU与所述起始CTU相邻。
21.根据权利要求15至20中任一项所述的装置,其特征在于,按波前并行处理(wavefront parallel processing,WPP)模式对所述多个CTU行进行处理。
22.根据权利要求21所述的装置,其特征在于,在对前一CTU行的特定CTU进行处理时,开始处理所述当前CTU行。
23.根据权利要求22所述的装置,其特征在于,所述前一CTU行是与所述当前CTU行紧邻并位于所述当前CTU行上面的CTU行。
24.根据权利要求22或23所述的装置,其特征在于,所述前一CTU行的所述特定CTU为所述前一CTU行的第二个CTU;或者,所述前一CTU行的所述特定CTU为所述前一CTU行的第一个CTU。
25.一种编码器,其特征在于,包括处理电路,用于执行根据权利要求1至12中任一项所述的方法。
26.一种解码器,其特征在于,包括处理电路,用于执行根据权利要求1至12中任一项所述的方法。
27.一种包括程序代码的计算机程序产品,其特征在于,所述程序代码用于执行根据权利要求1至12中任一项所述的方法。
28.一种存储计算机指令的计算机可读存储介质,其特征在于,所述计算机指令在由一个或多个处理器执行时使所述一个或多个处理器执行根据权利要求1至12中任一项所述的方法。
29.一种解码器,其特征在于,包括:
一个或多个处理器;
非瞬时性计算机可读存储介质,耦合至所述处理器,并存储由所述处理器执行的程序,其中,所述程序在由所述处理器执行时使得所述解码器执行根据权利要求1至12中任一项所述的方法。
30.一种编码器,其特征在于,包括:
一个或多个处理器;
非瞬时性计算机可读存储介质,耦合至所述处理器,并存储由所述处理器执行的程序,其中,所述程序在由所述处理器执行时使得所述编码器执行根据权利要求1至12中任一项所述的方法。
CN201980051188.3A 2018-08-10 2019-08-12 视频处理方法、视频处理装置、编码器、解码器、介质和计算机程序 Pending CN112534808A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862717004P 2018-08-10 2018-08-10
US62/717,004 2018-08-10
PCT/CN2019/100226 WO2020030187A1 (en) 2018-08-10 2019-08-12 Video processing method, video processing apparatus, encoder, decoder, medium and computer program

Publications (1)

Publication Number Publication Date
CN112534808A true CN112534808A (zh) 2021-03-19

Family

ID=69415390

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980051188.3A Pending CN112534808A (zh) 2018-08-10 2019-08-12 视频处理方法、视频处理装置、编码器、解码器、介质和计算机程序

Country Status (10)

Country Link
US (2) US11653032B2 (zh)
EP (1) EP3815358A4 (zh)
JP (2) JP7237144B2 (zh)
KR (2) KR102542433B1 (zh)
CN (1) CN112534808A (zh)
AU (2) AU2019316899A1 (zh)
BR (1) BR112021001813A2 (zh)
CA (1) CA3106486A1 (zh)
IL (1) IL280708A (zh)
WO (1) WO2020030187A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11356689B2 (en) * 2018-07-06 2022-06-07 Hfi Innovation Inc. Inherited motion information for decoding a current coding unit in a video coding system

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11089297B2 (en) * 2018-08-31 2021-08-10 Hulu, LLC Historical motion vector prediction with reset list
EP4333434A1 (en) 2018-10-24 2024-03-06 Huawei Technologies Co., Ltd. Video decoder and methods
EP3868102A4 (en) * 2018-12-21 2021-12-15 Huawei Technologies Co., Ltd. CODERS, DECODERS AND RELATED METHODS USING HISTORY-BASED MOTION VECTOR PREDICTION
WO2020200237A1 (en) 2019-04-01 2020-10-08 Beijing Bytedance Network Technology Co., Ltd. Indication of half-pel interpolation filters in inter coding mode
US11936916B2 (en) * 2019-06-25 2024-03-19 Lg Electronics Inc. Image decoding method using lossless coding in image coding system and apparatus therefor
JP7359942B2 (ja) 2019-08-20 2023-10-11 北京字節跳動網絡技術有限公司 映像処理における代替の補間フィルタの選択的使用

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108093254B (zh) 2011-12-23 2020-04-17 韩国电子通信研究院 图像解码方法、图像编码方法和记录介质
BR112014013969B1 (pt) 2011-12-28 2022-05-10 JVC Kenwood Corporation Dispositivo de codificação de vídeo, método de codificação de vídeo, programa de codificação de vídeo, dispositivo de decodificação de vídeo, método de decodificação de vídeo, programa de decodificação de vídeo
US9503720B2 (en) 2012-03-16 2016-11-22 Qualcomm Incorporated Motion vector coding and bi-prediction in HEVC and its extensions
CN105981380B (zh) 2013-12-18 2019-08-20 寰发股份有限公司 利用调色板编码的编码视频数据区块的方法和装置
US10021418B2 (en) * 2014-06-19 2018-07-10 Hfi Innovation Inc. Method and apparatus of candidate generation for single sample mode in video coding
WO2016004850A1 (en) * 2014-07-07 2016-01-14 Mediatek Singapore Pte. Ltd. Method of intra block copy search and compensation range
KR102611261B1 (ko) * 2018-06-29 2023-12-08 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 업데이트 대상 lut 또는 비업데이트 lut의 구별
TWI703861B (zh) * 2018-07-06 2020-09-01 聯發科技股份有限公司 解碼器的視訊解碼方法及裝置
US11606575B2 (en) 2018-07-10 2023-03-14 Qualcomm Incorporated Multiple history based non-adjacent MVPs for wavefront processing of video coding
US10491902B1 (en) * 2018-07-16 2019-11-26 Tencent America LLC Method and apparatus for history-based motion vector prediction
US10440378B1 (en) 2018-07-17 2019-10-08 Tencent America LLC Method and apparatus for history-based motion vector prediction with parallel processing
MX2021000525A (es) 2018-07-18 2021-04-12 Beijing Dajia Internet Information Tech Co Ltd Metodos y aparato de codificacion de video que usa el campo tecnico de prediccion de vectores de movimiento basado en el historial.
HUE062512T2 (hu) * 2018-10-02 2023-11-28 Lg Electronics Inc Eljárás és eszköz HMVP alapján predikciós jelölt képzéséhez
EP4294007A3 (en) * 2018-10-04 2024-02-21 LG Electronics Inc. History-based image coding methods

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11356689B2 (en) * 2018-07-06 2022-06-07 Hfi Innovation Inc. Inherited motion information for decoding a current coding unit in a video coding system

Also Published As

Publication number Publication date
JP2023038228A (ja) 2023-03-16
US20200404342A1 (en) 2020-12-24
US11653032B2 (en) 2023-05-16
KR20230087621A (ko) 2023-06-16
AU2023214281A1 (en) 2023-08-31
KR20210025645A (ko) 2021-03-09
BR112021001813A2 (pt) 2021-04-27
KR102542433B1 (ko) 2023-06-13
US20230319322A1 (en) 2023-10-05
JP2021533696A (ja) 2021-12-02
CA3106486A1 (en) 2020-02-13
IL280708A (en) 2021-03-25
JP7237144B2 (ja) 2023-03-10
AU2019316899A1 (en) 2021-02-04
EP3815358A1 (en) 2021-05-05
EP3815358A4 (en) 2021-05-05
WO2020030187A1 (en) 2020-02-13

Similar Documents

Publication Publication Date Title
CN112840658B (zh) 帧间预测方法及装置
CN112823518B (zh) 用于译码块的几何划分块的帧间预测的装置及方法
CN113315974B (zh) 视频解码器和方法
CN111107356B (zh) 图像预测方法及装置
US11653032B2 (en) Video processing method, video processing apparatus, encoder, decoder, medium and computer program
CN111277828B (zh) 视频编解码方法、视频编码器和视频解码器
CN113196783B (zh) 去块效应滤波自适应的编码器、解码器及对应方法
CA3112373A1 (en) An encoder, a decoder and corresponding methods for merge mode
KR102660120B1 (ko) 이중 예측 옵티컬 플로 계산 및 이중 예측 보정에서 블록 레벨 경계 샘플 그레이디언트 계산을 위한 정수 그리드 참조 샘플의 위치를 계산하는 방법
WO2021057629A1 (en) Apparatus and method for performing deblocking
CN112118447B (zh) 融合候选运动信息列表的构建方法、装置及编解码器
CN111432219B (zh) 一种帧间预测方法及装置
RU2783349C2 (ru) Способ обработки видео, устройство обработки видео, кодер, декодер, носитель и компьютерная программа

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