CN116886927A - 视频编码的方法和装置、存储介质和计算机程序产品 - Google Patents

视频编码的方法和装置、存储介质和计算机程序产品 Download PDF

Info

Publication number
CN116886927A
CN116886927A CN202310988386.0A CN202310988386A CN116886927A CN 116886927 A CN116886927 A CN 116886927A CN 202310988386 A CN202310988386 A CN 202310988386A CN 116886927 A CN116886927 A CN 116886927A
Authority
CN
China
Prior art keywords
sub
video
block
blocks
motion vector
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
CN202310988386.0A
Other languages
English (en)
Other versions
CN116886927B (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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology 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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202310988386.0A priority Critical patent/CN116886927B/zh
Publication of CN116886927A publication Critical patent/CN116886927A/zh
Application granted granted Critical
Publication of CN116886927B publication Critical patent/CN116886927B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/527Global motion vector estimation
    • 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/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/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/423Methods 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 characterised by memory 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/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/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes
    • 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/523Motion estimation or motion compensation with sub-pixel accuracy

Landscapes

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

Abstract

提供了一种视频编码的方法和装置、存储介质和计算机程序产品。该方法可包括:将视频数据布置在多个亮度子块和多个色度子块中,其中每个色度子块对应于一个或更多个亮度子块;并且使用对应亮度子块的运动矢量推导用于多个色度子块中的色度子块的仿射运动矢量。视频数据具有颜色子采样格式,并且对应亮度子块根据颜色子采样格式得到。

Description

视频编码的方法和装置、存储介质和计算机程序产品
本申请是申请号为201980084122.4、申请日为2019年12月12日、题目为“用于推导针对色度分量的仿射运动矢量的视频编解码的方法和装置”的发明申请的分案申请。
技术领域
本申请总体涉及视频数据编码和解码,并且具体地但不限于用于推导针对色度分量的仿射运动矢量的视频编解码的方法和装置。
背景技术
在此定义了以下缩写和首字母缩略词,至少一些缩写和首字母缩略词在以下描述内被提及:
国际电信联盟(ITU)、ITU电信标准化部门(ITU-T)、运动图像专家组(MPEG)、高级视频编码(AVC)、高效视频编码(HEVC)、通用视频编码(VVC)、联合探索测试模型(JEM)、VVC测试模型(VTM)、联合视频专家组(JVET)、视频编码专家组(VCEG)、运动矢量(MV)、运动矢量预测(MVP)、运动矢量差(MVD)、运动矢量场(MVF)、高级运动矢量预测(AMVP)、运动矢量竞争(MVC)、时间运动矢量预测(TMVP)、控制点运动矢量(CPMV)、控制点运动矢量预测(CPMVP)、运动补偿预测(MCP)、双向预测(B)、块复制(BC)、基于上下文的自适应二进制算术编码(CABAC)、上下文自适应可变长度编码(CAVLC)、编码器/解码器(CODEC)、编码图片缓冲器(CPB)、编码树单元(CTU)、编码单元(CU)、离散余弦变换(DCT)、解码图片缓冲器(DPB)、帧内(I)、帧内块复制(IBC)、预测(P)、概率区间分割熵(PIPE)、图片单元(PU)、绝对差总和(SAD)、基于语义的上下文自适应二进制算术编码(SBAC)、平方差总和(SSD)。
在本公开中,由符号或下标Y或L表示的术语“亮度”用于指定样点阵列或者单个样点表示与原色相关的单色信号。使用术语亮度(luma)而不是术语辉度(luminance),以便避免暗示使用通常与术语辉度相关联的线性光传输特性。有时使用符号L而不是符号Y,以避免与用于垂直位置的符号y混淆。由符号Cb和Cr表示的术语“色度”用于指定样点阵列或者单个样点表示与原色相关的两个色差信号之一。使用术语色度(chroma)而不是术语色品(chrominance),以便避免暗示使用通常与术语色品相关联的线性光传输特性。
各种电子设备(诸如数字电视、膝上型计算机或台式计算机、平板计算机、数码相机、数字记录设备、数字媒体播放器、视频游戏机、智能电话、视频电话会议设备、视频流设备等)都支持数字视频。电子设备通过实施视频压缩/解压缩来发送、接收、编码、解码和/或存储数字视频数据。数字视频设备实施视频编解码技术,诸如由通用视频编码(VVC)、联合探索测试模型(JEM)、MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4、Part 10、高级视频编码(AVC)、ITU-T H.265/高效视频编码(HEVC)定义的标准及此类标准的扩展中所描述的那些技术。
视频编解码通常使用利用了视频图像或序列中存在的冗余的预测方法(例如,帧间预测、帧内预测)。视频编解码技术的重要目标在于将视频数据压缩为使用更低比特率的形式,同时避免或最小化视频质量的降级。随着不断发展的视频服务变得可用,需要具有更好编解码效率的编码技术。
视频压缩通常包括执行空间(帧内)预测和/或时间(帧间)预测来减少或去除视频数据中固有的冗余。对于基于块的视频编解码,将视频帧分割为一个或更多个条带,每个条带具有多个视频块,视频块也可被称为编码树单元(CTU)。每个CTU可包含一个编码单元(CU)或者递归地被拆分为更小的CU直到达到预定义的最小CU尺寸为止。每个CU(也称为叶CU)包含一个或多个变换单元(TU)并且每个CU还包含一个或多个预测单元(PU)。可以以帧内、帧间或IBC模式对每个CU进行编解码。视频帧的帧内编码(I)条带中的视频块使用关于同一视频帧内的相邻块中的参考样点的空间预测来进行编码。视频帧的帧间编码(P或B)条带中的视频块可使用关于同一视频帧内的相邻块中的参考样点的空间预测,或关于其他先前和/或未来参考视频帧中的参考样点的时间预测。
基于先前已被编码的参考块(例如,邻近块)的空间预测或时间预测得出用于待编解码的当前视频块的预测块。找到参考块的过程可通过块匹配算法来完成。表示待编解码的当前块与预测块之间的像素差的残差数据被称为残差块或预测误差。帧间编解码块根据运动矢量和残差块被编码,该运动矢量指向参考帧中的形成预测块的参考块。确定运动矢量的过程通常被称为运动估计。帧内编解码块根据帧内预测模式和残差块被编码。为了进一步压缩,将残差块从像素域变换到变换域(例如,频域),从而得出残差变换系数,残差变换系数然后可被量化。最初以二维阵列布置的量化的变换系数可被扫描以产生变换系数的一维向量,并且然后被熵编码为视频比特流以实现甚至更大的压缩。
然后,将经编码的视频比特流保存于计算机可读存储介质(例如,闪存存储器)中,以由具有数字视频能力的另一电子设备访问或者有线或无线地直接发送到电子设备。然后,电子设备执行视频解压缩(其为与上文描述的视频压缩相反的过程),例如,通过对经编码的视频比特流进行解析来从比特流获得语义元素,并且至少部分地基于从比特流获得的语义元素从经编码的视频比特流将数字视频数据重建为其原始格式,并且电子设备在电子设备的显示器上呈现重建的数字视频数据。
随着数字视频质量从高清变为4K×2K或甚至8K×4K,待编码/解码的视频数据量呈指数增长。在如何在保持解码视频数据的图像质量的同时能够更有效率地对视频数据进行编码/解码方面,是一个长久挑战。
在联合视频专家组(JVET)会议中,JVET定义了通用视频编码(VVC)的第一草案和VVC测试模型1(VTM1)编码方法。决定包括使用二元拆分和三元拆分编解码块结构的具有嵌套多类型树的四叉树作为VVC的初始新编解码特征。从那时起,在JVET会议期间已经研发了用于实现编码方法的参考软件VTM和草案VVC解码过程。
发明内容
总体上,本公开描述了与用于推导针对色度分量的仿射运动矢量的视频编解码相关的技术的示例。
根据本公开的第一方面,提供了一种用于视频编解码的方法,该方法包括:将视频数据布置在多个亮度子块和多个色度子块中,其中每个色度子块对应于一个或更多个亮度子块;并且使用对应亮度子块的运动矢量推导用于多个色度子块中的色度子块的仿射运动矢量;其中视频数据具有颜色子采样格式,并且对应亮度子块根据颜色子采样格式得到。
根据本公开的第二方面,提供了一种用于视频编解码的装置,该装置包括:处理器;以及存储器,存储器被配置为存储由处理器可执行的指令;其中处理器在执行指令时被配置为:将视频数据布置在多个亮度子块和多个色度子块中,其中每个色度子块对应于一个或更多个亮度子块;并且使用对应亮度子块的运动矢量推导用于多个色度子块中的色度子块的仿射运动矢量;其中视频数据具有颜色子采样格式,并且对应亮度子块根据颜色子采样格式得到。
根据本公开的第三方面,提供了一种非暂时性计算机可读存储介质,非暂时性计算机可读存储介质包括存储在其中的指令,其中当指令由处理器执行时,指令使处理器:将视频数据布置在多个亮度子块和多个色度子块中,其中每个色度子块对应于一个或更多个亮度子块;并且使用对应亮度子块的运动矢量推导针对多个色度子块中的色度子块的仿射运动矢量;其中视频数据具有颜色子采样格式,并且对应亮度子块根据颜色子采样格式得到。
附图说明
将通过参照附图中所示的具体示例来呈现本公开的示例的更详细的描述。鉴于这些附图仅描绘了一些示例并且因此不被认为是对范围的限制,示例将通过使用附图利用附加的特征和细节来描述和解释。
图1是示出根据本公开的一些实施方式的示例性视频编码和解码系统的框图。
图2是示出根据本公开的一些实施方式的示例性视频编码器的框图。
图3是示出根据本公开的一些实施方式的示例性视频解码器的框图。
图4是示出根据本公开的一些实施方式的基于控制点的仿射运动模型的示意图。
图5是示出根据本公开的一些实施方式的针对块的每个子块的仿射运动矢量场(MVF)的示意图。
图6是示出根据本公开的一些实施方式的继承仿射运动预测因子的位置的示意图。
图7是示出根据本公开的一些实施方式的控制点运动矢量继承的示意图。
图8是示出根据本公开的一些实施方式的针对构建的仿射合并模式的候选的位置的所在的示意图。
图9是示出根据本公开的一些实施方式的针对所提出的组合方法的运动矢量使用的示意图。
图10是示出根据本公开的一些实施方式的各种YUV采样格式的示意图。
图11是示出根据本公开的一些实施方式的在YUV格式4:2:0下亮度子块(L1、L2、L3和L4)与色度子块C之间的对应关系的示意图。
图12是示出根据本公开的一些实施方式的用于视频编解码的示例性装置的框图。
图13是示出根据本公开的一些实施方式的用于推导针对色度分量的仿射运动矢量的视频编解码的示例性过程的流程图。
具体实施方式
现在将详细参照具体实施方式,其示例在附图中示出。在以下详细描述中,阐述了很多非限制性具体细节以便帮助理解本文呈现的主题。但是对于本领域普通技术人员将显而易见的是,可使用各种替代方案。例如,对于本领域普通技术人员将显而易见的是,本文呈现的主题可在具有数字视频能力的许多类型的电子设备上实现。
每个附图中的元件的描述可参考其他附图的元件。相似的数字可指代附图中的相似元件,包括相似元件的可替代实施例。
贯穿本说明书对“一个实施例”、“一种实施例”、“一种示例”、“一些实施例”、“一些示例”或类似语言的引用表示所描述的特定特征、结构或特性被包括在至少一个实施例或示例中。因此,贯穿本说明书的短语“在一个实施例中”、“在一种示例中”、“在一些实施例中”和类似语言的实例可以但不一定全部指代相同的(多个)实施例。它可包括或者可不包括所公开的所有实施例。除非另有明确说明,否则结合一个或一些实施例描述的特征、结构、元件或特性也适用于其他实施例。
附图中的示意性流程图和/或示意性框图示出了根据各种实施例的不同装置、系统、方法和程序产品的可能实施方式的架构、功能和操作。在这方面,示意性流程图和/或示意性框图中的每个框可表示模块、段或代码的一部分,其包括用于实现(多个)指定逻辑功能的代码的一个或更多个可执行指令。然而,相关领域的技术人员将认识到,流程图不一定需要按照所示顺序被实践,并且能够在没有一个或更多个特定步骤或具有未示出的其他步骤的情况下被实践。
还应注意,在一些可替代实施方式中,在所标识的框中指出的功能可不按附图中指出的顺序发生。例如,连续示出的两个框实际上可基本同时执行,或者这些框有时可以按相反的顺序执行,这取决于所涉及的功能。其他步骤和方法可被设想为在功能、逻辑或效果上等同于所示附图的一个或更多个框或其部分。
本公开中使用的术语仅用于描述特定示例的目的,并且不旨在限制本公开。除非另有明确说明,否则术语“包括”、“包含”、“具有”及其变体意指“包括但不限于”。
还应理解,这些术语指定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除存在或添加一个或更多个其他特征、整数、步骤、操作、元件、组件和/或其组合。
除非另有明确说明,否则列举的项目列表并不暗示任何或所有项目是相互排斥的。
如在本公开和所附权利要求中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,并且应被解释为等同于“一个或更多个”或“至少一个”,除非上下文另有明确说明。
应当理解,如本文所使用的术语“和/或”指代并且包括一个或更多个相关联的所列项目的任何和所有可能的组合。例如,“A和/或B”可指以下三种组合中的任何一种:仅存在A,仅存在B,以及A和B两者共存。
字符“/”通常指示相关联的项目的“或”关系,但是也可包括相关联的项目的“和”关系。例如,除非上下文另有说明,否则“A/B”也可包括A和B两者的共存。
贯穿本公开,除非另有明确说明,否则术语“第一”、“第二”、“第三”等都用作仅用于提及相关元件(例如,设备、组件、组合物、步骤等)的命名,而不暗示任何空间或时间顺序。例如,“第一设备”和“第二设备”可指两个单独形成的设备,或者同一设备的两个部分、组件或操作状态,并且可被任意命名。
第一元件和第二元件可独立地存在。例如,一些实施例可仅包括第二元件,而没有任何第一元件。因此,可在描述第一元件之前或者在不描述第一元件的情况下描述第二元件。例如,方法或过程的“第一步骤”可在“第二步骤”之后或与“第二步骤”同时进行或执行。
如本文所使用的,取决于上下文,术语“如果”或“当......时”可被理解为表示“在......时”或“响应于......”。这些术语如果出现在权利要求中,则可不指示相关限制或特征是有条件的或可选的。例如,方法可包括以下步骤:i)当条件X存在时或如果条件X存在,执行功能或动作X',以及ii)当条件Y存在时或如果条件Y存在,执行功能或动作Y'。可能需要利用执行功能或动作X'的能力和执行功能或动作Y'的能力来实现方法,而功能X'和Y'两者在多次执行该方法时可以在不同时间执行。还可利用检测或评估满足条件X的能力以及检测或评估满足条件Y的能力来实现方法。
术语“模块”、“子模块”、“电路”、“子电路”、“电路系统”、“子电路系统”、“单元”或“子单元”可包括存储器(共享的、专用的或群组),存储器存储可由一个或更多个处理器执行的代码或指令。模块可包括具有或不具有存储的代码或指令的一个或更多个电路。模块或电路可包括直接或间接连接的一个或更多个组件。这些组件可以或可不物理地附接到彼此或彼此相邻定位。
单元或模块可纯粹通过软件、纯粹通过硬件、或通过硬件和软件的组合来实现。在纯软件实施方式中,例如,单元或模块可包括直接或间接联系在一起的功能上相关的代码块或软件组件,以便执行特定功能。
图片分割结构将输入视频划分为被称为编码树单元(CTU)的块。使用具有嵌套多类型树结构的四叉树将CTU拆分为编码单元(CU),并且叶编码单元(CU)定义了共享相同预测模式(例如,帧内或帧间)的区域。
在本公开中,术语“单元”定义图像的包含所有分量的区域;并且术语“块”用于定义包含特定分量(例如,亮度)的区域,并且在考虑色度采样格式(诸如4:2:0)时可在空间位置上不同。如图10中所示,当使用yuv 4:2:0格式时,2N×2N的块1002可包括2N×2N亮度像素(样点)以及两个N×N色度像素1004;当使用yuv 4:2:2格式时,2N×2N的块1002可包括2N×2N亮度像素(样点)以及两个N×2N色度像素1006;当使用yuv 4:4:4格式时,2N×2N的块1002可包括2N×2N亮度像素(样点)以及两个2N×2N色度像素1008。在本公开中,对亮度块及其对应色度块的参考(或反之亦然)是对如图10中所示的对应关系的参考。
如图11中所示,在一些方案中,块可被分割为子块并且分割可不被等同地应用于亮度块和色度块。例如,如图11中所示,在yuv 4:2:0格式下,16×16亮度块1102可被分割为十六个4×4子块1104;而其对应8×8色度块1122中的每个色度块被分割为四个4×4色度子块1124。因此,每个4×4色度子块(例如,色度子块C)对应于四个4×4亮度子块(例如,亮度子块L1、L2、L3和L4)。
因此,视频数据被布置在多个亮度子块和多个色度子块中,其中每个色度子块对应于一个或更多个亮度子块。
图1是示出根据本公开的一些实施方式的用于对视频块进行编码和解码的示例性系统10的框图。如图1中所示,系统10包括源设备12,源设备12生成并编码稍后将由目标设备14进行解码的视频数据。源设备12和目标设备14可以是各种各样的电子设备中的任何电子设备,包括台式计算机或膝上型计算机、平板计算机、智能电话、机顶盒、数字电视、相机、显示器设备、数字媒体播放器、视频游戏机、视频流传输设备等。在一些实施方式中,源设备12和目标设备14配备有无线通信能力。
在一些实施方式中,目标设备14可经由链路16接收待解码的编码视频数据。链路16可以是能够将编码视频数据从源设备12移动到目标设备14的任何类型的通信介质或设备。在一个示例中,链路16可以是使源设备12能够实时地将编码视频数据直接发送到目标设备14的通信介质。编码视频数据可根据通信标准(诸如无线通信协议)被调制,并且被发送到目标设备14。通信介质可以是任何无线或有线通信介质,诸如射频(RF)频谱或一个或更多个物理传输线。通信介质可形成基于分组的网络(例如,局域网、广域网或诸如互联网的全球网)的一部分。通信介质可包括路由器、交换机、基站、或可有利于促进从源设备12到目标设备14的通信的任何其他装置。
在一些其他实施方式中,编码视频数据可从输出接口22被发送到存储设备32。随后,存储设备32中的编码视频数据可由目标设备14经由输入接口28被访问。存储设备32可包括各种分布式或本地访问的数据存储介质中的任何数据存储介质,诸如硬盘驱动器、蓝光光盘、DVD、CD-ROM、闪存存储器、易失性或非易失性存储器、或者用于存储编码视频数据的任何其他合适的数字存储介质。在另一示例中,存储设备32可对应于文件服务器或可保持由源设备12生成的编码视频数据的另一中间存储设备。目标设备14可从存储设备32经由流传输或下载来访问存储的视频数据。文件服务器可以是能够存储编码视频数据并且将编码视频数据发送到目标设备14的任何类型的计算机。示例性文件服务器包括web服务器(例如,用于网站)、FTP服务器、网络附属存储(NAS)设备、或本地磁盘驱动器。目标设备14可通过适合于访问存储在文件服务器上的编码视频数据的任何标准数据连接来访问编码视频数据,标准数据连接包括无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等)、或无线信道和有线连接两者的组合。编码视频数据从存储设备32的传输可以是流式传输、下载传输、或两者的组合。
如图1中所示,源设备12包括视频源18、视频编码器20和输出接口22。视频源18可包括诸如以下项的源或此类源的组合:视频捕获设备(例如,摄像机)、包含先前捕获的视频的视频存档、用于从视频内容提供者接收视频的视频馈入接口、和/或用于生成作为源视频的计算机图形数据的计算机图形系统。作为一个示例,如果视频源18是安全监控系统的摄像机,则源设备12和目标设备14可以是相机电话或视频电话。然而,本公开中所描述的实施方式可以一般性地适用于视频编解码,并且可应用于无线和/或有线应用。
捕获、预先捕获或计算机生成的视频可以由视频编码器20编码。编码视频数据可以经由源设备12的输出接口22直接发送到目标设备14。编码视频数据也可以(或可选地)存储到存储设备32上以供稍后被目标设备14或其他设备访问,以用于解码和/或回放。输出接口22可进一步包括调制解调器和/或发送器。
目标设备14包括输入接口28、视频解码器30和显示器设备34。输入接口28可包括接收器和/或调制解调器,并且通过链路16接收编码视频数据。通过链路16通信传送或在存储设备32上提供的编码视频数据可包括由视频编码器20生成的各种语义元素,以供视频解码器30在对视频数据进行解码时使用。此类语义元素可被包括在通信介质上发送、存储在存储介质上或存储在文件服务器上的编码视频数据内。
在一些实施方式中,目标设备14可包括显示器设备34,显示器设备34可以是集成显示器设备或被配置为与目标设备14通信的外部显示器设备。显示器设备34将解码视频数据显示给用户,并且可以是各种显示器设备中的任何显示器设备,诸如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器、或另一类型的显示器设备。
视频编码器20和视频解码器30可根据专有标准或行业标准(诸如,VVC、HEVC、MPEG-4、Part 10、高级视频编码(AVC))或此类标准的扩展进行操作。应当理解,本公开不限于特定的视频编码/解码标准,并且可适用于其他视频编码/解码标准。通常认为源设备12的视频编码器20可被配置为根据这些当前标准或未来标准中的任何标准对视频数据进行编码。类似地,还通常认为目标设备14的视频解码器30可被配置为根据这些当前标准或未来标准中的任何标准对视频数据进行解码。
视频编码器20和视频解码器30可分别被实现为各种合适的编码器电路系统中的任何电路系统,诸如一个或更多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分地以软件实现时,电子设备可将用于软件的指令存储于合适的非暂时性计算机可读介质中,并且使用一个或更多个处理器执行硬件中的指令以执行本公开中所公开的视频编码/解码操作。视频编码器20和视频解码器30中的每一个可被包括在一个或更多个编码器或解码器中,编码器或解码器中的任一者可被集成为相应设备中的组合式编码器/解码器(CODEC)的一部分。
图2是示出根据本公开中描述的一些实施方式的示例性视频编码器20的框图。视频编码器20可执行对视频帧内的视频块的帧内预测编码和帧间预测编码。帧内预测编码依赖于空间预测以减少或去除给定视频帧或图片内的视频数据中的空间冗余。帧间预测编码依赖于时间预测以减少或去除视频序列的相邻视频帧或图片内的视频数据中的时间冗余。
如图2中所示,视频编码器20包括视频数据存储器40、预测处理单元41、解码图片缓冲器(DPB)64、加法器50、变换处理单元52、量化单元54和熵编码单元56。预测处理单元41进一步包括运动估计单元42、运动补偿单元44、分割单元45、帧内预测处理单元46和帧内块复制(BC)单元48。在一些实施方式中,视频编码器20还包括用于视频块重建的反量化单元58、逆变换处理单元60和加法器62。去块滤波器(未示出)可位于加法器62与DPB 64之间,以对块边界进行滤波以从重建视频去除块效应。除了去块滤波器之外,还可使用环路滤波器(未示出)来对加法器62的输出进行滤波。视频编码器20可采取固定或可编程硬件单元的形式,或者可分散在固定或可编程硬件单元中的一个或更多个中。
视频数据存储器40可存储将由视频编码器20的组件编码的视频数据。视频数据存储器40中的视频数据可例如从视频源18获得。DPB 64是缓冲器,其存储供视频编码器20(例如,以帧内或帧间预测编码模式)在对视频数据进行编码时使用的参考视频数据。视频数据存储器40和DPB 64可以是各种存储器设备中的任何存储器设备。在各种示例中,视频数据存储器40可与视频编码器20的其他组件一起在芯片上,或相对于那些组件在芯片外。
如图2中所示,在接收到视频数据之后,预测处理单元41内的分割单元45将视频数据分割为视频块。此分割还可包括根据与视频数据相关联的预定义的拆分结构(诸如四叉树结构)将视频帧分割为条带、瓦片(tile)或其他更大编码单元(CU)。视频帧可被划分为多个视频块(或被称为瓦片的视频块集合)。预测处理单元41可基于误差结果(例如,编码速率和失真等级)为当前视频块选择多个可能预测编解码模式中的一个,诸如多个帧内预测编解码模式中的一个或多个帧间预测编解码模式中的一个。预测处理单元41可将所得的帧内预测编解码块或帧间预测编解码块提供给加法器50以生成残差块,并且提供给加法器62以重建编码块以用于随后作为参考帧的一部分使用。预测处理单元41还将语义元素(诸如运动矢量、帧内模式指示符、分割信息和其他此类语义信息)提供给熵编码单元56。
为了选择用于当前视频块的合适的帧内预测编码模式,预测处理单元41内的帧内预测处理单元46可以相对于与待编解码的当前块在同一帧中的一个或更多个邻近块,执行当前视频块的帧内预测编解码以提供空间预测。预测处理单元41内的运动估计单元42和运动补偿单元44相对于一个或更多个参考帧中的一个或更多个预测块,执行当前视频块的帧间预测编解码以提供时间预测。视频编码器20可执行多个编解码遍次,例如,来为视频数据的每个块选择合适的编解码模式。
在一些实施方式中,运动估计单元42通过根据视频帧序列内的预定模式生成运动矢量来确定用于当前视频帧的帧间预测模式,运动矢量指示当前视频帧内的视频块的预测单元(PU)相对于参考视频帧内的预测块的位移。由运动估计单元42执行的运动估计是生成运动矢量的过程,这些运动矢量估计针对视频块的运动。例如,运动矢量可指示当前视频帧或图片内的视频块的PU相对于参考帧内的预测块(或其他编解码单元)的位移,预测块是相对于当前帧内正被编解码的当前块(或其他编解码单元)的。预定模式可将序列中的视频帧指定为P帧或B帧。帧内BC单元48可以按照与由运动估计单元42针对帧间预测确定运动矢量类似的方式确定用于帧内BC编解码的矢量(例如,块矢量),或可利用运动估计单元42确定块矢量。
在像素差方面,预测块是被认为与待编解码视频块的PU紧密匹配的参考帧的块,像素差可由绝对差总和(SAD)、平方差总和(SSD)或其他差度量确定。在一些实施方式中,视频编码器20可计算用于DPB 64中存储的参考帧的子整数像素位置的值。例如,视频编码器20可对参考帧的四分之一像素位置、八分之一像素位置或其他分数像素位置的值进行内插。因此,运动估计单元42可相对于全像素位置和分数像素位置执行运动搜索,并且输出具有分数像素精度的运动矢量。
运动估计单元42通过以下来计算针对帧间预测编解码帧中的视频块的PU的运动矢量:将PU的位置与从第一参考帧列表(例如,列表0)或第二参考帧列表(例如,列表1)选择的参考帧的预测块的位置进行比较,第一参考帧列表和第二参考帧列表中的每一个标识存储在DPB 64中的一个或更多个参考帧。运动估计单元42将计算的运动矢量发送到运动补偿单元44,并且然后发送到熵编码单元56。
由运动补偿单元44执行的运动补偿可涉及基于由运动估计单元42确定的运动矢量提取或生成预测块。一经接收到针对当前视频块的PU的运动矢量,运动补偿单元44可在参考帧列表中的一个参考帧列表中定位运动矢量所指向的预测块,从DPB 64取回预测块,并且将预测块转发到加法器50。然后,加法器50通过从正被编解码的当前视频块的像素值减去由运动补偿单元44提供的预测块的像素值来形成像素差值的残差视频块。形成残差视频块的像素差值可包括亮度差分量或色度差分量或两者。运动补偿单元44还可生成与视频帧的视频块相关联的语义元素,以供视频解码器30在对视频帧的视频块进行解码时使用。语义元素可包括例如定义用于识别预测块的运动矢量的语义元素、指示预测模式的任何标志、或本文描述的任何其他语义信息。注意,运动估计单元42和运动补偿单元44可高度集成,但它们出于概念目的而单独说明。
在一些实施方式中,帧内BC单元48可以按照与上文结合运动估计单元42和运动补偿单元44所描述的方式类似的方式生成矢量并提取预测块,但是这些预测块在与正被编解码的当前块的同一帧中,并且这些矢量被称为块矢量而非运动矢量。具体地,帧内BC单元48可确定将用于对当前块进行编码的帧内预测模式。在一些示例中,帧内BC单元48可例如在单独的编码遍次期间使用各种帧内预测模式来对当前块进行编码,并且通过率失真分析来测试它们的性能。接下来,帧内BC单元48可在各种测试的帧内预测模式中选择合适的帧内预测模式以使用并相应地生成帧内模式指示符。例如,帧内BC单元48可使用率失真分析针对各种测试的帧内预测模式计算率失真值,并且在测试的模式中选择具有最佳率失真特性的帧内预测模式作为合适的帧内预测模式来使用。率失真分析一般确定编码块与被编码以产生编码块的原始未编码块之间的失真(或误差)量、以及用于产生编码块的比特率(即,比特数量)。帧内BC单元48可从针对各种编码块的失真和速率计算比率,以确定哪个帧内预测模式展现针对块的最佳率失真值。
在其他示例中,帧内BC单元48可全部或部分地使用运动估计单元42和运动补偿单元44来执行根据本文描述的实施方式的用于帧内BC预测的此类功能。在任一情况下,对于帧内块复制,在像素差方面,预测块可以是被认为与待编解码的块紧密匹配的块,像素差可由绝对差总和(SAD)、平方差总和(SSD)或其他差度量确定,并且预测块的识别可包括计算针对子整数像素位置的值。
无论预测块是来自根据帧内预测的同一帧还是来自根据帧间预测的不同帧,视频编码器20可通过从正被编解码的当前视频块的像素值减去预测块的像素值来形成像素差值,从而形成残差视频块。形成残差视频块的像素差值可包括亮度分量差和色度分量差两者。
作为如上文所描述的由运动估计单元42和运动补偿单元44执行的帧间预测或由帧内BC单元48执行的帧内块复制预测的替代方案,帧内预测处理单元46可对当前视频块进行帧内预测。具体地,帧内预测处理单元46可确定帧内预测模式以用于对当前块进行编码。为了这样做,帧内预测处理单元46可例如在单独的编码遍次期间使用各种帧内预测模式来对当前块进行编码,并且帧内预测处理单元46(或在一些示例中,模式选择单元)可从测试的帧内预测模式中选择合适的帧内预测模式来使用。帧内预测处理单元46可将指示针对块选择的帧内预测模式的信息提供给熵编码单元56。熵编码单元56可将指示选择的帧内预测模式的信息编码到比特流中。
在预测处理单元41经由帧间预测或帧内预测确定针对当前视频块的预测块之后,加法器50通过从当前视频块减去预测块来形成残差视频块。残差块中的残差视频数据可被包括在一个或更多个变换单元(TU)中并且被提供给变换处理单元52。变换处理单元52使用变换(诸如离散余弦变换(DCT)或概念上类似的变换)将残差视频数据变换为残差变换系数。
变换处理单元52可将所得变换系数发送到量化单元54。量化单元54对变换系数进行量化以进一步减小比特率。量化过程还可减小与系数中的一些或全部相关联的比特深度。量化程度可通过调整量化参数被修改。在一些示例中,量化单元54然后可以执行对包括量化的变换系数的矩阵的扫描。备选地,熵编码单元56可执行扫描。
在量化之后,熵编码单元56使用例如上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)、基于语义的上下文自适应二进制算术编码(SBAC)、概率区间分割熵(PIPE)编码或另一熵编码方法或技术,将量化的变换系数熵编码成视频比特流。然后,编码的比特流可被发送到视频解码器30,或存档于存储设备32中以供稍后发送到视频解码器30或由视频解码器30取回。熵编码单元56还可对用于正被编解码的当前视频帧的运动矢量和其他语义元素进行熵编码。
反量化单元58和逆变换处理单元60分别应用反量化和逆变换以在像素域中重建残差视频块,以用于生成用于预测其他视频块的参考块。如上文指出的,运动补偿单元44可从存储在DPB 64中的帧的一个或更多个参考块生成运动补偿预测块。运动补偿单元44还可将一个或更多个内插滤波器应用于预测块,以计算子整数像素值以用于在运动估计时使用。
加法器62将重建的残差块加到由运动补偿单元44产生的运动补偿预测块来产生参考块以存储在DPB 64中。然后,参考块可由帧内BC单元48、运动估计单元42和运动补偿单元44用作预测块,以对后续视频帧中的另一视频块进行帧间预测。
图3是示出根据本公开的一些实施方式的示例性视频解码器30的框图。视频解码器30包括视频数据存储器79、熵解码单元80、预测处理单元81、反量化单元86、逆变换处理单元88、加法器90和DPB 92。预测处理单元81进一步包括运动补偿单元82、帧内预测单元84和帧内BC单元85。视频解码器30可执行与上文结合图2关于视频编码器20所描述的编码过程大体上互逆的解码过程。例如,运动补偿单元82可基于从熵解码单元80接收的运动矢量生成预测数据,而帧内预测单元84可基于从熵解码单元80接收的帧内预测模式指示符生成预测数据。
在一些示例中,视频解码器30的单元可被分派任务以执行本公开的实施方式。此外,在一些示例中,本公开的实施方式可分散在视频解码器30的多个单元中的一个或更多个单元中。例如,帧内BC单元85可单独地或与视频解码器30的其他单元(诸如,运动补偿单元82、帧内预测单元84和熵解码单元80)组合地执行本公开的实施方式。在一些示例中,视频解码器30可不包括帧内BC单元85,并且帧内BC单元85的功能可由预测处理单元81的其他组件(诸如运动补偿单元82)执行。
视频数据存储器79可存储将由视频解码器30的其他组件解码的视频数据,诸如编码视频比特流。存储在视频数据存储器79中的视频数据可例如从存储设备32、从本地视频源(诸如相机)、经由视频数据的有线或无线网络通信获得,或通过访问物理数据存储介质(例如,闪存驱动器或硬盘)获得。视频数据存储器79可包括编码图片缓冲器(CPB),编码图片缓冲器存储来自编码视频比特流的编码视频数据。视频解码器30的解码图片缓冲器(DPB)92存储参考视频数据,以供视频解码器30(例如,以帧内或帧间预测编解码模式)在对视频数据进行解码时使用。视频数据存储器79和DPB 92可由各种存储器设备中的任何存储器设备形成,诸如动态随机存取存储器(DRAM)(包括同步DRAM(SDRAM))、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其他类型的存储器设备。出于说明性目的,视频数据存储器79和DPB 92在图3中描绘为视频解码器30的两个不同组件。但是对于本领域的技术人员将显而易见的是,视频数据存储器79和DPB 92可由同一存储器设备或单独存储器设备提供。在一些示例中,视频数据存储器79可与视频解码器30的其他组件一起在芯片上,或相对于那些组件在芯片外。
在解码过程期间,视频解码器30接收编码视频比特流,编码视频比特流表示编码视频帧的视频块和相关联的语义元素。视频解码器30可在视频帧级和/或视频块级接收语义元素。视频解码器30的熵解码单元80对比特流进行熵解码以生成量化系数、运动矢量或帧内预测模式指示符、以及其他语义元素。然后,熵解码单元80将运动矢量和其他语义元素转发到预测处理单元81。
当视频帧被编解码为帧内预测编解码(I)帧或用于其他类型的帧中的帧内编解码预测块时,预测处理单元81的帧内预测单元84可基于用信号传送的帧内预测模式和来自当前帧的先前解码块的参考数据,来生成用于当前视频帧的视频块的预测数据。
当视频帧被编解码为帧间预测编解码(即,B或P)帧时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收的运动矢量和其他语义元素,产生针对当前视频帧的视频块的一个或更多个预测块。预测块中的每一个可从参考帧列表中的一个参考帧列表内的参考帧产生。视频解码器30可基于存储在DPB 92中的参考帧使用默认构建技术来构建参考帧列表,例如,列表0和列表1。
在一些示例中,当根据本文描述的帧内BC模式对视频块进行编解码时,预测处理单元81的帧内BC单元85基于从熵解码单元80接收的块矢量和其他语义元素产生针对当前视频块的预测块。预测块可以在由视频编码器20定义的与当前视频块的同一图片的重建区域内。
运动补偿单元82和/或帧内BC单元85通过解析运动矢量和其他语义元素来确定针对当前视频帧的视频块的预测信息,并且然后使用该预测信息产生针对正被解码的当前视频块的预测块。例如,运动补偿单元82使用接收到的语义元素中的一些语义元素来确定用于对视频帧的视频块进行编解码的预测模式(例如,帧内预测或帧间预测)、帧间预测帧类型(例如,B或P)、用于针对帧的参考帧列表中的一个或更多个的构建信息、用于帧的每个帧间预测编码视频块的运动矢量、用于帧的每个帧间预测编解码视频块的帧间预测状态、以及用于对当前视频帧中的视频块进行解码的其他信息。
类似地,帧内BC单元85可使用接收到的语义元素中的一些语义元素,例如标志,以确定当前视频块是使用帧内BC模式预测的、帧的哪些视频块在重建区域内且应被存储在DPB 92中的构建信息、用于帧的每个帧内BC预测视频块的块矢量、用于帧的每个帧内BC预测视频块的帧内BC预测状态、以及用于对当前视频帧中的视频块进行解码的其他信息。
运动补偿单元82还可使用如由视频编码器20在视频块的编码期间使用的内插滤波器执行内插,以计算针对参考块的子整数像素的内插值。在这种情况下,运动补偿单元82可从接收到的语义元素确定由视频编码器20使用的内插滤波器,并且使用这些内插滤波器来产生预测块。
反量化单元86使用由视频编码器20针对视频帧中的每个视频块计算的相同的参数,对在比特流中提供且由熵解码单元80熵解码的量化的变换系数进行反量化,以确定量化程度。逆变换处理单元88将逆变换(例如,逆DCT、逆整数变换、或概念上类似的逆变换过程)应用于变换系数,以便在像素域中重建残差块。
在运动补偿单元82或帧内BC单元85基于矢量和其他语义元素生成针对当前视频块的预测块之后,加法器90通过将来自逆变换处理单元88的残差块与由运动补偿单元82和帧内BC单元85生成的对应预测块相加,来重建针对当前视频块的解码视频块。环路滤波器(未图示)可位于加法器90与DPB 92之间以进一步处理解码视频块。然后,将给定帧中的解码视频块存储在DPB 92中,DPB 92存储用于接下来的视频块的后续运动补偿的参考帧。DPB92或与DPB 92分离的存储器设备还可存储解码视频,以用于稍后呈现在显示器设备(诸如,图1的显示器设备34)上。
在典型的视频编解码过程中,视频序列通常包括帧或图片的有序集合。每一帧可包括三个样点阵列,表示为SL、SCb和SCr。SL是亮度样点的二维阵列。SCb是Cb色度样点的二维阵列。SCr是Cr色度样点的二维阵列。在其他情况下,帧可以是单色的并且因此仅包括亮度样点的一个二维阵列。
图4是示出根据本公开的一些实施方式的基于控制点的仿射运动模型的示意图。在HEVC中,仅平移运动模型被应用于运动补偿预测(MCP)。然而,在现实世界中,存在许多种类的运动,例如,放大/缩小、旋转、透视运动和其他不规则运动。在VTM3中,应用了基于块的仿射变换运动补偿预测。如图4中所示,块的仿射运动场由两个控制点运动矢量(4参数)或三个控制点运动矢量(6参数)的运动信息描述。
对于4参数仿射运动模型410,块中的样点位置(x,y)处的运动矢量被推导为:
对于6参数仿射运动模型420,块中的样点位置(x,y)处的运动矢量被推导为:
其中(mv0x,mv0y)是左上角控制点的运动矢量,(mv1x,mv1y)是右上角控制点的运动矢量,并且(mv2x,mv2y)是左下角控制点的运动矢量。
图5是示出根据本公开的一些实施方式的针对块502的每个子块504的仿射运动矢量场(MVF)的示意图。为了简化运动补偿预测,应用了基于块的仿射变换预测。为了推导每个4×4亮度子块的运动矢量,如图5中所示,根据上述等式计算每个子块的中心样点的运动矢量,并将其舍入到1/16分数精度。然后,应用运动补偿内插滤波器以利用推导出的运动矢量生成每个子块的预测。色度分量的子块尺寸也被设置为4×4。4×4色度子块的运动矢量(MV)被计算为四个对应的4×4亮度子块的MV的平均值。
在一些实施方式中,可使用以下过程推导仿射运动:
在阶段1:如下面的等式(3)和等式(4)中所示,左上控制点的MV(即,等式(1)和等式(2)中的mv0x和mv0y)被左移7位从而以更高精度被表示以用于仿射MV推导。这里,cpMvLX[cpIdx][c]表示控制点cpIdx(cpIdx=0表示左上控制点,cpIdx=1表示右上控制点,并且cpIdx=2表示左下控制点)的列表X(X可以是0或1)MV的分量c(c=0表示水平分量,并且c=1表示垂直分量)。
mvScaleHor=cpMvLX[0][0]<<7 (3)
mvScaleVer=cpMvLX[0][1]<<7 (4)
在阶段2:仿射参数之间的差mv1x-mv0x、mv1y-mv0y、mv2x-mv0x和mv2y-mv0y也被左移7位,并且然后除以块宽度或高度,这可通过如下所示的移位运算来实现:
dHorX=(cpMvLX[1][0]-cpMvLX[0][0])<<(7-log2CbW) (5)
dVerX=(cpMvLX[1][1]-cpMvLX[0][1])<<(7-log2CbW) (6)
dHorY=(cpMvLX[2][0]-cpMvLX[0][0])<<(7-log2CbH) (7)
dVerY=(cpMvLX[2][1]-cpMvLX[0][1])<<(7-log2CbH) (8)
这里,仿射参数的小写字母x(例如,mv1x-mv0x)表示x分量(或称为水平分量),而y表示y分量(或称为垂直分量)。等式(3)至等式(8)中的大写字母X是用于指示列表0MV或列表1MV(X可以是0或1)的变量。
如下使用基于控制点的仿射运动模型来推导用于每个亮度子块的亮度运动矢量mvLX[xSbIdx][ySbIdx]。xSbIdx和ySbIdx分别是子块的水平索引和垂直索引;并且xPosCb和yPosCb是相关联的子块的中心样点的水平坐标和垂直坐标。
xPosCb=2+(xSbIdx<<2) (9)
yPosCb=2+(ySbIdx<<2) (10)
mvLX[ xSbIdx ][ ySbIdx ][ 0 ] = ( mvScaleHor + dHorX * xPosCb +dHorY * yPosCb ) (11)
mvLX[ xSbIdx ][ ySbIdx ][ 1 ] = ( mvScaleVer + dVerX * xPosCb +dVerY * yPosCb ) (12)
在推导出仿射MV之后,将它们右移7位以按原始精度被表示。
如针对平移运动帧间预测所做的,也存在两种仿射运动帧间预测模式:仿射合并模式和仿射AMVP模式。
仿射合并模式可被应用于宽度和高度两者都大于或等于8的CU。在该模式下,基于空间邻近CU的运动信息生成当前CU的CPMV。可能存在至多五个CPMVP候选,并且索引被用信号发送以指示将被用于当前CU的CPMVP候选。以下三种类型的CPMV候选被用于形成仿射合并候选列表:
1)从邻近CU的CPMV推断的继承仿射合并候选;
2)使用邻近CU的平移MV推导出的构建的仿射合并候选CPMVP;以及
3)零MV。
图6是示出根据本公开的一些实施方式的继承仿射运动预测因子的位置的示意图。在VTM3中,存在从邻近块的仿射运动模型推导出的最多两个继承仿射候选,一个来自左侧邻近CU,并且一个来自上方邻近CU。当前CU 610的候选块在图6中被示出。对于左侧预测因子,扫描顺序为A0->A1,并且对于上方预测因子,扫描顺序为B0->B1->B2。仅选择了来自每一侧的第一继承候选。在两个继承候选之间不执行修剪检查。
图7是示出根据本公开的一些实施方式的控制点运动矢量继承的示意图。当识别出邻近仿射CU 720时,其控制点运动矢量被用于推导当前CU 710的仿射合并列表中的CPMVP候选。如图7中所示,如果邻近左下方块A在仿射模式下被编解码,则获得包含块A的CU720的左上角、右上角和左下角的运动矢量v2、v3和v4。当用4参数仿射模型对块A进行编解码时,根据v2和v3计算当前CU 710的两个CPMV。在用6参数仿射模型对块A进行编解码的情况下,根据v2、v3和v4计算当前CU 710的三个CPMV。
图8是示出根据本公开的一些实施方式的针对构建的仿射合并模式的候选的位置的所在的示意图。构建的仿射候选意味着候选是通过对每个控制点的邻近平移运动信息进行组合而构建的。从图8中所示的指定的空间邻近者和时间邻近者推导用于控制点的运动信息。CPMVk(k=1,2,3,4)表示当前块810的第k个控制点。对于CPMV1,检查B2->B3->A2块,并使用第一可用块的MV。对于CPMV2,检查B1->B0块;并且对于CPMV3,检查A1->A0块。对于TMVP,如果可用,则将其用作CPMV4
在获得四个控制点的MV之后,基于运动信息构建仿射合并候选。控制点MV的以下组合被用于按顺序构建:
{CPMV1,CPMV2,CPMV3},
{CPMV1,CPMV2,CPMV4},
{CPMV1,CPMV3,CPMV4},
{CPMV2,CPMV3,CPMV4},
{CPMV1,CPMV2},和
{CPMV1,CPMV3}.
3个CPMV的组合构建6参数仿射合并候选,并且2个CPMV的组合构建4参数仿射合并候选。为了避免运动缩放过程,如果控制点的参考索引不同,则丢弃控制点MV的相关组合。
仿射AMVP模式可被应用于宽度和高度两者都大于或等于16的CU。CU级中的仿射标志在比特流中被用信号发送以指示仿射AMVP模式是否被使用,并且然后另一标志被用信号发送以指示是4参数仿射还是6参数仿射。在该模式下,当前CU的CPMV与CPMV的预测因子CPMVP之间的差在比特流中被用信号发送。仿射AVMP候选列表大小为2,并且它是通过按顺序使用以下四种类型的CPVM候选而生成的:
1)从邻近CU的CPMV推断的继承仿射AMVP候选;
2)使用邻近CU的平移MV推导出的构建的仿射AMVP候选CPMVP;
3)来自邻近CU的平移MV;以及
4)零MV。
继承仿射AMVP候选的检查顺序与继承仿射合并候选的检查顺序相同。唯一的不同在于,对于AVMP候选,仅考虑与在当前块中具有相同的参考图片的仿射CU。当将继承仿射运动预测因子插入到候选列表中时,不应用修剪过程。
构建的AMVP候选仅从图8中所示的指定空间邻近者推导。使用与在仿射合并候选构建中所做的检查顺序相同的检查顺序。此外,还检查邻近块的参考图片索引。使用被帧间编解码且与在当前CU中具有相同参考图片的按照检查顺序的第一个块。
如果三个CPMV全部都被附加,则它们将照原样被插入到仿射AMVP列表中。如果仅mv0和mv1可用,则如下推导mv2
其中当前CU尺寸是w×h。如果仅mv0和mv2可用,则如下推导mv1
在继承仿射AMVP和构建的仿射AVMP被推导并被插入到仿射AMVP列表中之后,如果仿射AMVP列表的大小仍小于2,则仿射AMVP列表将由平移MV(mv0、mv1或mv2)填充,这意味着所有控制点MV由mv0、mv1或mv2中的任一个预测。因此,如果仿射AMVP列表候选的数量小于2,则将按顺序添加mv0、mv1和mv2。平移MV在可用时被用于预测当前CU的所有控制点MV。
在VTM3中,仿射CU的CPMV被存储在单独的缓冲器中。存储的CPMV仅被用于在仿射合并模式和仿射AMVP模式下针对最近被编解码的CU生成继承CPMVP。从CPMV推导出的子块MV被用于运动补偿、平移MV的合并/AMVP列表的MV推导、以及去块。
图9是示出根据本公开的一些实施方式的针对所提出的组合方法的运动矢量使用的示意图。为了避免用于额外CPMV的图片行缓冲器,与来自正常邻近CU的继承不同地处理从来自上方CTU中的CU的仿射运动数据继承。如果用于仿射运动数据继承的候选CU处于上方CTU行,则行缓冲器中的左下方子块MV和右下方子块MV而不是CPMV被用于仿射MVP推导。以这种方式,CPMV仅被存储在本地缓冲器中。如果候选CU被6参数仿射编解码,则仿射模型降为4参数模型。如图9中所示,沿着顶部CTU边界,CU的左下方子块运动矢量和右下方子块运动矢量被用于底部CTU中的CU的仿射继承。
下面描述利用针对色度分量的4×4子块的仿射预测的示例,其中使用了yuv 4:2:0格式,也就是说,每个4×4色度子块对应于四个4×4亮度子块。在一个示例中,色度分量的最小子块尺寸始终被设置为4×4。4×4色度子块的MV被计算为四个对应的4×4亮度子块的MV的平均值。如下面所示,使用来自四个对应的亮度块的四个MV的平均MV来推导针对每个色度4×4块的MV。四个亮度MV处于原始精度,而不处于高精度(例如,左移7位)。下面示出对舍入的亮度MV求平均的解码过程。
一旦基于等式(9)到等式(12)推导出亮度运动矢量mvLX[xSbIdx][ySbIdx],就调用针对运动矢量的舍入过程,该舍入过程以被设置为等于mvLX[xSbIdx][ySbIdx]的mvX、被设置为等于7的rightShift、以及被设置为等于0的leftShift作为输入,并且以经过舍入的mvLX[xSbIdx][ySbIdx]作为输出。
利用以下等式(15)至等式(17)来提供针对运动矢量mvX的舍入过程的示例。这里,对该过程的输入是:运动矢量mvX;用于舍入的右移参数rightShift;以及用于提高分辨率的左移参数leftShift。该过程的输出是经过舍入的运动矢量mvX。对于mvX的舍入,以下等式适用:
offset = ( rightShift = = 0 ) ? 0 : ( 1 << ( rightShift - 1 ) ) (15)
mvX[0]=((mvX[0]+offset-(mvX[0]>=0))>>rightShift)<<leftShift
(16)
mvX[1]=((mvX[1]+offset-(mvX[1]>=0))>>rightShift)<<leftShift
(17)
如下利用等式(18)推导平均亮度运动矢量mvAvgLX。在一些示例中,可使用基于控制点的仿射运动模型推导用于多个亮度子块中的亮度子块的仿射运动矢量。在一些其他示例中,可使用基于控制点的仿射运动模型推导用于多个亮度子块中的每个亮度子块的仿射运动矢量。
/>
以mvAvgLX作为输入且以色度运动矢量mvCLX[xSbIdx][ySbIdx]作为输出来调用针对色度运动矢量的推导过程。
利用以下等式(19)和等式(20)来提供基于亮度运动矢量mvLX针对色度运动矢量的推导过程的示例。这里,该过程的输入为:1/16分数样点精度的亮度运动矢量mvLX;以及参考索引refIdxLX。该过程的输出为1/32分数样点精度的色度运动矢量mvCLX。色度运动矢量是从对应亮度运动矢量推导的。如下推导色度运动矢量mvCLX:
mvCLX[ 0 ] = mvLX[ 0 ] * 2 / SubWidthC (19)
mvCLX[ 1 ] = mvLX[ 1 ] * 2 / SubHeightC (20)
可取决于色度格式采样结构来指定变量SubWidthC和SubHeightC,色度格式采样结构是通过chroma_format_idc和separate_colour_plane_flag而指定的。在下表中提供一个示例:
将来可以指定chroma_format_idc、SubWidthC和SubHeightC的其他值。
四个对应的4×4亮度子块的平均值可产生不同MV,这些不同MV是使用针对该色度4×4块的仿射运动模型推导出的。当用户想要推导用于4×4色度块的仿射MV时,对应亮度块的MV必须使用仿射运动模型被生成并且然后被舍入为用于执行运动补偿的MV精度(例如1/16像素)。然后对经过舍入的MV求平均以获得用于4×4色度块的MV。
也就是说,在推导用于每个亮度子块的仿射运动时,以更高精度完成推导过程(即,控制点的MV首先被左移7位,如等式(3)和等式(4)中所示,这意味着MV乘以128)。然后高精度控制点MV被用于推导针对每个亮度子块的仿射MV。在针对每个亮度子块推导出MV之后,例如使用等式(15)至等式(17)的舍入过程将其右移7位至其原始精度。
在本公开中,“高精度”和“更高精度”可被互换地使用,以表示运动矢量以左移形式被表示,因此具有比其原始形式更高的精度。
在所提出的方案的一些示例中,通过在仿射运动的推导期间以高精度对四个对应亮度MV求平均来生成色度MV。
例如,一旦基于等式(9)至等式(12)推导出所需的亮度运动矢量mvLX[xSbIdx][ySbIdx],就直接利用这些亮度运动矢量中的每个亮度运动矢量,使用等式(18)来推导平均亮度运动矢量mvAvgLX,而无需调用针对个体亮度运动矢量的舍入过程。因此,可获得高精度平均亮度运动矢量mvAvgLX。
在一些示例中,然后利用求平均的等式(18)的结果调用针对运动矢量的等式(15)至等式(17)的舍入过程,即,以设置为等于mvAvgLX的mvX、设置为等于7的rightShift以及设置为等于0的leftShift作为输入,且以经过舍入的mvAvgLX作为输出。随后以经过舍入的mvAvgLX作为输入且以色度运动矢量mvCLX[xSbIdx][ySbIdx]作为输出,调用针对色度运动矢量的等式(19)和等式(20)的推导过程。
在一些其他示例中,在等式(15)至等式(17)的舍入过程之前,可以调用针对色度运动矢量的等式(19)和等式(20)的推导过程。也就是说,在推导色度运动矢量的过程中,使用高精度亮度MV而不是原始精度的亮度MV。例如,一旦获得高精度平均亮度运动矢量mvAvgLX,就可调用等式(19)和等式(20)的推导过程,其中以高精度平均亮度运动矢量mvAvgLX(未执行舍入过程)作为输入,且以高精度的色度运动矢量mvCLX[xSbIdx][ySbIdx]作为输出。然后,例如使用舍入过程,可将高精度色度运动矢量右移7位,从而以原始精度表示。
根据不同yuv子采样格式(例如,yuv 4:4:4、4:2:0或4:2:2),亮度样点与色度样点之间的采样位置不同并且4×4色度块可对应于不同的亮度块。因此,在不同yuv子采样格式下,求平均过程可使用来自不同亮度块的MV。例如,当使用yuv 4:2:0格式时,以下过程适用:
当使用yuv 4:2:2格式时,以下过程适用:
mvAvgLX=(mvLX[(xSbIdx>>1<<1)][ySbIdx]+
mvLX[(xSbIdx>>1<<1)+1][ySbIdx]+1)>>1(18b)当使用yuv 4:4:4格式时,以下过程适用:
mvAvgLX=mvLX[xSbIdx][ySbIdx](18c)
也就是说,如等式(18a)至(18c)中所示,基于视频数据的yuv子采样格式,求平均运算的等式(18)可具有不同形式。也就是说,每个色度子块可对应于一个或更多个亮度子块。
因此,其使用对应亮度子块的运动矢量来推导用于多个色度子块中的色度子块的仿射运动矢量。视频数据具有颜色子采样格式,并且对应亮度子块是根据颜色子采样格式推导的。
在所提出的方案的一些示例中,可直接使用仿射运动模型计算色度MV。仿射运动模型被用于直接推导4×4色度块的中心样点的运动矢量。例如,一旦基于等式(9)至等式(12)推导出所需的亮度运动矢量mvLX[xSbIdx][ySbIdx],就如下推导色度运动矢量mvCLX[xSbIdx][ySbIdx]:
If(SubWidthC等于2)
xPosCb=4+((xSbIdx>>1<<1)<<3)
else
xPosCb=2+(xSbIdx<<2)
If(SubHeightC等于2)
yPosCb=4+((ySbIdx>>1<<1)<<3)
else
yPosCb=2+(ySbIdx)<<2)
mvCLX[xSbIdx][ySbIdx][0]=(mvScaleHor+dHorX*xPosCb+dHorY*yPosCb)mvCLX[xSbIdx][ySbIdx][1]=(mvScaleVer+dVerX*xPosCb+dVerY*yPosCb)
在这种情况下,使用仿射运动模型直接推导色度运动矢量。其不调用等式(18)或者等式(18a)至(18c)对用于推导色度运动矢量的对应亮度运动矢量的求平均运算。还可以不需要等式(19)和等式(20)的推导过程。
在一些其他示例中,控制变量deriveChromaFlag可以被设置用于从仿射控制点运动矢量的用于运动矢量阵列的推导过程。用于亮度运动矢量和色度运动矢量的推导过程可以合并在同一过程块中。例如,可如下推导运动矢量:if(SubWidthC等于2并且deriveChromaFlag等于1)
xPosCb=4+((xSbIdx>>1<<1)<<3)
else
xPosCb=2+(xSbIdx<<2)
if(SubHeightC等于2并且deriveChromaFlag等于1)
yPosCb=4+((ySbIdx>>1<<1)<<3)
else
yPosCb=2+(ySbIdx<<2)
mvX[xSbIdx][ySbIdx][0]=(mvScaleHor+dHorX*xPosCb+dHorY*yPosCb)
mvX[xSbIdx][ySbIdx][1]=(mvScaleVer+dVerX*xPosCb+dVerY*yPosCb)
在这种情况下,根据为变量deriveChromaFlag设置的值,色度运动矢量也是使用仿射运动模型直接推导的。基于SubWidthC、SubHeightC和deriveChromaFlag的值,所得到的mvX[xSbIdx][ySbIdx]可以是亮度运动矢量或色度运动矢量。既不需要调用等式(18)或者等式(18a)至(18c)对对应亮度运动矢量的求平均运算,也不需要调用等式(19)和等式(20)的推导过程。
图12是示出根据本公开的一些实施方式的用于视频编解码的装置的框图。装置1200可以是终端,诸如移动电话、平板计算机、数字广播终端、平板设备或个人数字助理。
如图12所示,装置1200可包括以下组件中的一个或更多个:处理组件1202、存储器1204、电源组件1206、多媒体组件1208、音频组件1210、输入/输出(I/O)接口1212、传感器组件1214和通信组件1216。
处理组件1202通常控制装置1200的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和记录操作有关的操作。处理组件1202可包括用于执行指令以完成上述方法的全部或部分步骤的一个或多个处理器1220。此外,处理组件1202可包括用于促进处理组件1202与其他组件之间的交互的一个或多个模块。例如,处理组件1202可包括用于促进多媒体组件1208与处理组件1202之间的交互的多媒体模块。
存储器1204被配置为存储不同类型的数据以支持装置1200的操作。此类数据的示例包括用于在装置1200上操作的任何应用或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器1204可由任何类型的易失性或非易失性存储设备或其组合来实现,并且存储器1204可以是静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、闪存、磁盘或光盘。
电源组件1206为装置1200的不同组件供电。电源组件1206可包括电源管理系统、一个或更多个电源、以及与为装置1200生成、管理和分配电力相关联的其他组件。
多媒体组件1208包括在装置1200和用户之间提供输出接口的屏幕。在一些示例中,屏幕可包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,则屏幕可被实现为从用户接收输入信号的触摸屏。触摸面板可包括用于感测触摸面板上的触摸、滑动和手势的一个或更多个触摸传感器。触摸传感器不仅可感测触摸或滑动动作的边界,而且可检测与触摸或滑动操作相关的持续时间和压力。在一些示例中,多媒体组件1208可包括前置相机和/或后置相机。当装置1200处于诸如拍摄模式或视频模式的操作模式时,前置相机和/或后置相机可接收外部多媒体数据。
音频组件1210被配置为输出和/或输入音频信号。例如,音频组件1210包括麦克风(MIC)。当装置1200处于操作模式(诸如呼叫模式、录音模式和语音识别模式)时,麦克风被配置为接收外部音频信号。接收的音频信号可进一步被存储在存储器1204中或经由通信组件1216被发送。在一些示例中,音频组件1210还包括用于输出音频信号的扬声器。
I/O接口1212提供处理组件1202与外围接口模块之间的接口。上述外围接口模块可以是键盘、点击轮、按钮等。这些按钮可包括但不限于主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1214包括用于在针对装置1200的不同方面中提供状态评估的一个或更多个传感器。例如,传感器组件1214可检测装置1200的开/关状态和组件的相对位置。例如,组件是装置1200的显示器和键盘。传感器组件1214还可检测装置1200或装置1200的组件的位置变化、用户在装置1200上接触的存在或不存在、装置1200的取向或加速/减速、以及装置1200的温度变化。传感器组件1214可包括接近传感器,接近传感器被配置为在没有任何物理接触的情况下检测附近物体的存在。传感器组件1214还可包括光学传感器,诸如在成像应用中使用的CMOS或CCD图像传感器。在一些示例中,传感器组件1214还可包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器。
通信组件1216被配置为促进装置1200与其他设备之间的有线或无线通信。装置1200可基于诸如WiFi、4G或其组合的通信标准来接入无线网络。在一种示例中,通信组件1216经由广播信道从外部广播管理系统接收广播信号或广播相关信息。在一种示例中,通信组件1216还可包括用于促进短距离通信的近场通信(NFC)模块。例如,NFC模块可基于射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术和其他技术来实现。
在一种示例中,装置1200可由专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件中的一个或更多个来实现,以执行上述方法。
非暂时性计算机可读存储介质可以是例如硬盘驱动器(HDD)、固态驱动器(SSD)、闪存、混合驱动器或固态混合驱动器(SSHD)、只读存储器(ROM)、紧凑盘只读存储器(CD-ROM)、磁带、软盘等。
图13是示出根据本发明的一些实施方式的用于推导针对色度分量的仿射运动矢量的视频编解码的示例性过程的流程图。
在步骤1302,处理器1220将视频数据布置在多个亮度子块和多个色度子块中,其中每个色度子块对应于一个或更多个亮度子块。
在步骤1304,处理器1220使用对应亮度子块的运动矢量来推导用于多个色度子块中的色度子块的仿射运动矢量;其中视频数据具有颜色子采样格式,并且对应亮度子块根据颜色子采样格式得到。
在一些示例中,提供了一种用于视频编解码的装置。该装置包括处理器1220;以及存储器1204,被配置为存储可由处理器执行的指令;其中处理器在执行指令时被配置为执行如图13所示的方法。
在一些其他示例中,提供了一种非暂时性计算机可读存储介质1204,其具有存储在其中的指令。当指令由处理器1220执行时,指令使处理器执行如图13所示的方法。
本公开的描述已经出于说明和描述的目的被呈现,并且不旨在穷举或限于本公开。受益于在前面的描述和相关联的附图中呈现的教导,许多修改、变化和替代实施方式对于本领域普通技术人员将是显而易见的。
选择和描述示例是为了解释本公开的原理,并且使本领域的其他技术人员能够理解针对各种实施方式的公开,并且最好地利用基本原理和具有适合于预期的特定用途的各种修改的各种实施方式。因此,将理解,本公开的范围不限于所公开的实施方式的具体示例,并且修改和其他实施方式旨在被包括在本公开的范围内。

Claims (8)

1.一种视频编码的方法,包括:
将视频数据布置在多个亮度子块和多个色度子块中,其中每个色度子块对应于一个或更多个亮度子块,所述视频数据具有颜色采样格式,并且所述对应亮度子块根据所述颜色采样格式得到;
确定所述视频数据的颜色采样格式;
使用通过对对应亮度子块的运动矢量求平均得到的平均亮度运动矢量,推导用于所述多个色度子块中的色度子块的仿射运动矢量;
基于推导出的仿射运动矢量对所述色度子块进行预测;
基于预测的色度子块生成视频比特流,
其中,求平均过程在不同颜色采样格式下使用来自不同的亮度子块的运动矢量,在所述颜色采样格式为4:4:4的情况下,所述平均亮度运动矢量是一个对应亮度子块的运动矢量,其中,所述一个对应亮度子块具有与所述色度子块相同的索引,所述索引包括水平索引和垂直索引,在所述颜色采样格式为4:2:2的情况下,所述平均亮度运动矢量是通过对两个对应亮度子块的运动矢量求平均而获得,其中,所述两个对应亮度子块具有与所述色度子块相同的垂直索引。
2.如权利要求1所述的方法,还包括:
在比特流中发送与所述视频数据的颜色采样格式对应的标识信息。
3.如权利要求1所述的方法,其中,还包括:以所述对应亮度子块的运动矢量作为输入来调用舍入过程,其中,舍入后的运动矢量被用于推导所述平均亮度运动矢量。
4.如权利要求1所述的方法,其中,还包括:
左移所述对应亮度子块的控制点的运动矢量以获得左移后的亮度运动矢量,其中,左移后的亮度运动矢量被用于推导所述平均亮度运动矢量。
5.如权利要求1所述的方法,还包括:
使用基于控制点的仿射运动模型推导用于所述多个亮度子块中的亮度子块的仿射运动矢量。
6.一种视频编码的装置,包括:
处理器;以及
存储器,被配置为存储由处理器可执行的指令;
其中处理器在执行所述指令时被配置为执行如权利要求1-5中任一项所述的视频编码的方法。
7.一种非暂时性计算机可读存储介质,包括存储在其中的指令,所述指令在被处理器执行时,使所述处理器执行如权利要求1-5中任一项所述的视频编码的方法来产生视频比特流并将产生的视频比特流存储在所述非暂时性计算机可读存储介质中。
8.一种计算机程序产品,包括计算机指令,其特征在于,所述计算机指令被处理器执行时实现如权利要求1-5中任一项所述的视频编码的方法。
CN202310988386.0A 2018-12-21 2019-12-12 视频编码的方法和装置、存储介质和计算机程序产品 Active CN116886927B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310988386.0A CN116886927B (zh) 2018-12-21 2019-12-12 视频编码的方法和装置、存储介质和计算机程序产品

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862784369P 2018-12-21 2018-12-21
US62/784,369 2018-12-21
CN201980084122.4A CN113412624A (zh) 2018-12-21 2019-12-12 用于推导针对色度分量的仿射运动矢量的视频编解码的方法和装置
CN202310988386.0A CN116886927B (zh) 2018-12-21 2019-12-12 视频编码的方法和装置、存储介质和计算机程序产品
PCT/US2019/066098 WO2020131583A1 (en) 2018-12-21 2019-12-12 Methods and apparatus of video coding for deriving affine motion vectors for chroma components

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201980084122.4A Division CN113412624A (zh) 2018-12-21 2019-12-12 用于推导针对色度分量的仿射运动矢量的视频编解码的方法和装置

Publications (2)

Publication Number Publication Date
CN116886927A true CN116886927A (zh) 2023-10-13
CN116886927B CN116886927B (zh) 2024-05-14

Family

ID=71100557

Family Applications (4)

Application Number Title Priority Date Filing Date
CN202310890682.7A Pending CN116980598A (zh) 2018-12-21 2019-12-12 用于视频解码的方法和装置及存储介质
CN202111666681.1A Active CN114245136B (zh) 2018-12-21 2019-12-12 用于视频编解码的方法和装置及存储介质
CN201980084122.4A Pending CN113412624A (zh) 2018-12-21 2019-12-12 用于推导针对色度分量的仿射运动矢量的视频编解码的方法和装置
CN202310988386.0A Active CN116886927B (zh) 2018-12-21 2019-12-12 视频编码的方法和装置、存储介质和计算机程序产品

Family Applications Before (3)

Application Number Title Priority Date Filing Date
CN202310890682.7A Pending CN116980598A (zh) 2018-12-21 2019-12-12 用于视频解码的方法和装置及存储介质
CN202111666681.1A Active CN114245136B (zh) 2018-12-21 2019-12-12 用于视频编解码的方法和装置及存储介质
CN201980084122.4A Pending CN113412624A (zh) 2018-12-21 2019-12-12 用于推导针对色度分量的仿射运动矢量的视频编解码的方法和装置

Country Status (11)

Country Link
US (1) US20210314601A1 (zh)
EP (4) EP4297403A3 (zh)
JP (2) JP7139531B2 (zh)
KR (2) KR102484182B1 (zh)
CN (4) CN116980598A (zh)
DK (1) DK3884675T3 (zh)
FI (1) FI3884675T3 (zh)
MX (1) MX2021007465A (zh)
PL (1) PL3884675T3 (zh)
PT (1) PT3884675T (zh)
WO (1) WO2020131583A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3744094A4 (en) * 2018-01-26 2021-11-03 MediaTek Inc. METHOD AND DEVICE FOR AFFINE INTER-PREDICTION FOR A VIDEO ENCODING SYSTEM
AU2020226574A1 (en) * 2019-02-22 2021-09-30 Huawei Technologies Co., Ltd. Method and apparatus for affine based inter prediction of chroma subblocks
JP7379518B2 (ja) * 2019-03-11 2023-11-14 フラウンホーファー-ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン プロファイルおよびレベル依存コーディングオプションによる符号化器および復号器、符号化方法および復号方法
CN112788345B (zh) * 2019-11-11 2023-10-24 腾讯美国有限责任公司 视频数据解码方法、装置、计算机设备和存储介质

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2230849A1 (en) * 2009-03-20 2010-09-22 Mitsubishi Electric R&D Centre Europe B.V. Encoding and decoding video data using motion vectors
US20130022120A1 (en) * 2011-07-21 2013-01-24 Texas Instruments Incorporated Methods and systems for chroma residual data prediction
US20130051469A1 (en) * 2010-02-10 2013-02-28 Lg Electronics Inc. Method and apparatus for processing a video signal
US20150124865A1 (en) * 2013-11-01 2015-05-07 Qualcomm Incorporated Color residual prediction for video coding
KR20150070848A (ko) * 2013-12-17 2015-06-25 세종대학교산학협력단 영상의 복호화/부호화 방법 및 장치
US20160337661A1 (en) * 2015-05-11 2016-11-17 Qualcomm Incorporated Search region determination for inter coding within a particular picture of video data
US20170272748A1 (en) * 2016-03-21 2017-09-21 Qualcomm Incorporated Using luma information for chroma prediction with separate luma-chroma framework in video coding
CN107211147A (zh) * 2015-01-14 2017-09-26 Vid拓展公司 用于非4:4:4屏幕内容视频的调色板编码
WO2018062921A1 (ko) * 2016-09-30 2018-04-05 엘지전자 주식회사 영상 코딩 시스템에서 블록 분할 및 인트라 예측 방법 및 장치
WO2018070152A1 (en) * 2016-10-10 2018-04-19 Sharp Kabushiki Kaisha Systems and methods for performing motion compensation for coding of video data
CN108353184A (zh) * 2015-11-05 2018-07-31 联发科技股份有限公司 用于视频编解码的使用平均运动矢量的帧间预测的方法和装置
CN108432250A (zh) * 2016-01-07 2018-08-21 联发科技股份有限公司 用于视频编解码的仿射帧间预测的方法及装置
WO2018221631A1 (ja) * 2017-06-02 2018-12-06 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法および復号方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6259741B1 (en) * 1999-02-18 2001-07-10 General Instrument Corporation Method of architecture for converting MPEG-2 4:2:2-profile bitstreams into main-profile bitstreams
CN101005620B (zh) * 2004-09-03 2011-08-10 微软公司 为隔行扫描和逐行扫描视频编码和解码宏块和运动信息中的革新
JP2011151683A (ja) * 2010-01-22 2011-08-04 Sony Corp 画像処理装置および方法
GB2501535A (en) * 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
US11032568B2 (en) * 2013-11-27 2021-06-08 Hfi Innovation Inc. Method of video coding using prediction based on intra picture block copy
US10958927B2 (en) * 2015-03-27 2021-03-23 Qualcomm Incorporated Motion information derivation mode determination in video coding
US20170105014A1 (en) * 2015-10-08 2017-04-13 Qualcomm Incorporated Luma-driven chroma scaling for high dynamic range and wide color gamut contents
WO2017086748A1 (ko) * 2015-11-20 2017-05-26 한국전자통신연구원 기하 변환 영상을 이용하는 영상의 부호화/복호화 방법 및 장치
KR102584349B1 (ko) * 2016-03-28 2023-10-04 로즈데일 다이나믹스 엘엘씨 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
US10560712B2 (en) * 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
US11025903B2 (en) * 2017-01-13 2021-06-01 Qualcomm Incorporated Coding video data using derived chroma mode
US11477476B2 (en) * 2018-10-04 2022-10-18 Qualcomm Incorporated Affine restrictions for the worst-case bandwidth reduction in video coding
CN112997480B (zh) * 2018-11-10 2023-08-22 北京字节跳动网络技术有限公司 成对平均候选计算中的取整

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2230849A1 (en) * 2009-03-20 2010-09-22 Mitsubishi Electric R&D Centre Europe B.V. Encoding and decoding video data using motion vectors
US20130051469A1 (en) * 2010-02-10 2013-02-28 Lg Electronics Inc. Method and apparatus for processing a video signal
US20130022120A1 (en) * 2011-07-21 2013-01-24 Texas Instruments Incorporated Methods and systems for chroma residual data prediction
US20150124865A1 (en) * 2013-11-01 2015-05-07 Qualcomm Incorporated Color residual prediction for video coding
CN105723707A (zh) * 2013-11-01 2016-06-29 高通股份有限公司 用于视频译码的色彩残差预测
KR20150070848A (ko) * 2013-12-17 2015-06-25 세종대학교산학협력단 영상의 복호화/부호화 방법 및 장치
CN107211147A (zh) * 2015-01-14 2017-09-26 Vid拓展公司 用于非4:4:4屏幕内容视频的调色板编码
US20160337661A1 (en) * 2015-05-11 2016-11-17 Qualcomm Incorporated Search region determination for inter coding within a particular picture of video data
CN108353184A (zh) * 2015-11-05 2018-07-31 联发科技股份有限公司 用于视频编解码的使用平均运动矢量的帧间预测的方法和装置
CN108432250A (zh) * 2016-01-07 2018-08-21 联发科技股份有限公司 用于视频编解码的仿射帧间预测的方法及装置
US20170272748A1 (en) * 2016-03-21 2017-09-21 Qualcomm Incorporated Using luma information for chroma prediction with separate luma-chroma framework in video coding
WO2018062921A1 (ko) * 2016-09-30 2018-04-05 엘지전자 주식회사 영상 코딩 시스템에서 블록 분할 및 인트라 예측 방법 및 장치
WO2018070152A1 (en) * 2016-10-10 2018-04-19 Sharp Kabushiki Kaisha Systems and methods for performing motion compensation for coding of video data
WO2018221631A1 (ja) * 2017-06-02 2018-12-06 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法および復号方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BENJAMIN BROSS ET AL: "Versatile Video Coding (Draft 3)(JVET-L1001-v7)", JVET 12TH MEETING, 20 December 2018 (2018-12-20) *
ZHANG(BYTEDANCE) K ET AL: "CE4: Affine Prediction with 4x4 Sub-blocks for Chroma Components (Test 4.1.16)", 12. JVET MEETING, 4 October 2018 (2018-10-04) *

Also Published As

Publication number Publication date
US20210314601A1 (en) 2021-10-07
CN114245136B (zh) 2022-12-27
WO2020131583A1 (en) 2020-06-25
EP4297404A3 (en) 2024-02-28
DK3884675T3 (da) 2024-02-26
MX2021007465A (es) 2021-08-05
EP4297403A3 (en) 2024-02-28
PL3884675T3 (pl) 2024-04-22
EP3884675A1 (en) 2021-09-29
EP4277275A3 (en) 2023-12-13
CN116980598A (zh) 2023-10-31
KR102484182B1 (ko) 2023-01-03
JP7235924B2 (ja) 2023-03-08
EP4277275A2 (en) 2023-11-15
KR102377329B1 (ko) 2022-03-22
FI3884675T3 (fi) 2024-02-14
EP4297404A2 (en) 2023-12-27
CN116886927B (zh) 2024-05-14
PT3884675T (pt) 2024-02-02
JP2022174195A (ja) 2022-11-22
KR20210078575A (ko) 2021-06-28
CN113412624A (zh) 2021-09-17
JP2022515754A (ja) 2022-02-22
CN114245136A (zh) 2022-03-25
KR20220038185A (ko) 2022-03-25
WO2020131583A8 (en) 2021-07-08
JP7139531B2 (ja) 2022-09-20
EP4297403A2 (en) 2023-12-27
EP3884675B1 (en) 2023-11-29
EP3884675A4 (en) 2022-01-19

Similar Documents

Publication Publication Date Title
CN116886927B (zh) 视频编码的方法和装置、存储介质和计算机程序产品
CN114071135B (zh) 用于在视频编解码中用信号发送合并模式的方法和装置
US11134261B2 (en) Methods and apparatus of video coding for triangle prediction
US11622111B2 (en) Methods and apparatus of video coding for triangle prediction
CN113545050B (zh) 利用三角形预测的视频编解码方法及装置
CN113491130B (zh) 用于视频编解码的线性模型推导的方法和装置
US20240187584A1 (en) Methods and apparatus of video coding for triangle prediction

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