CN112106369A - 减少双向时间预测中的运动矢量信息传输 - Google Patents

减少双向时间预测中的运动矢量信息传输 Download PDF

Info

Publication number
CN112106369A
CN112106369A CN201980031144.4A CN201980031144A CN112106369A CN 112106369 A CN112106369 A CN 112106369A CN 201980031144 A CN201980031144 A CN 201980031144A CN 112106369 A CN112106369 A CN 112106369A
Authority
CN
China
Prior art keywords
motion vector
inter
information related
relationship
information
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
CN201980031144.4A
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.)
Ai Ruishi LLC
Original Assignee
Ai Ruishi LLC
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 Ai Ruishi LLC filed Critical Ai Ruishi LLC
Publication of CN112106369A publication Critical patent/CN112106369A/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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/53Multi-resolution motion estimation; Hierarchical motion estimation
    • 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/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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures

Landscapes

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

Abstract

提供了一种用于帧间编码视频的方法,其中减少与用于双向时间预测的第二运动矢量相关联的传输带宽需求。在所述方法中,可以将用于双向时间预测的两个运动矢量中仅一个运动矢量的运动矢量信息与关于如何导出或构造所述第二运动矢量的信息一起传输。因此,传输仅与一个运动矢量相关的表达信息以及与所述第二运动矢量的重构/导出相关的信息,而不发送与两个运动矢量有关的表达信息,从而减少带宽需求并且提高编码效率。

Description

减少双向时间预测中的运动矢量信息传输
优先权要求
本申请根据35 U.S.C.§119(e)要求于2018年4月6日提交的美国临时申请序列号62/654,073和于2018年4月11日提交的美国临时专利申请序列号62/656,114的优先权,据此这两个专利申请中的每一者的全文以引用方式并入本文。
技术领域
本公开涉及视频编码领域,尤其涉及与用于双向时间预测的运动矢量信息的传输的减少相关联的编码效率的提高。
背景技术
不断发展的视频编码标准的技术改进表现出提高编码效率以实现更高的比特率、更高的分辨率和更好的视频质量的趋势。联合视频探索团队开发了一种称为JVET的新视频编码方案,并且正在开发一种称为多功能视频编码(VVC)的较新视频编码方案—JVET于2018年10月1日公布的标题为“Versatile Video Coding(Draft 2)”的标准草案2的VVC第7版的全部内容据此以引用方式并入本文。类似于像HEVC(高效视频编码)的其他视频编码方案,JVET和VVC都是基于块的混合空域和时域预测编码方案。然而,相对于HEVC,JVET和VVC包括对比特流结构、语法、约束条件以及用于生成解码图片的映射的很多修改。JVET已经在联合探索模型(JEM)编码器和解码器中实现,但VVC预计要到2020年初才能实现。
各种编码技术要求在编码单元的重构中使用两个运动矢量。与两个运动矢量相关的完整信息的传输效率低下,并且消耗不必要的带宽。需要一种减少与涉及多个运动矢量(MV)的编码相关联的开销和负担的***和方法。
发明内容
一个或多个计算机的***可以被配置为借助于在***上安装软件、固件、硬件或它们的组合来执行特定的操作或动作,这些软件或固件、硬件或它们的组合在操作中致使***执行动作。一个或多个计算机程序可被配置为通过包括指令来执行特定操作或动作,所述指令当由数据处理装置执行时使该装置执行所述动作。一个一般方面包括:接收与编码单元有关的信息;确定与所述编码单元相关联的运动信息;确定是否有一个以上的运动矢量与所述运动信息相关联;如果确定所述运动信息与一个以上的运动矢量相关联,则确定第一运动矢量和第二运动矢量之间的关系;并且对所述编码单元进行编码,其中所述编码单元包括与所述第一运动矢量相关的信息以及与所述第一运动矢量和所述第二运动矢量之间的关系相关的信息。该方面的其他实施方案包括对应的计算机***、装置和记录在一个或多个计算机存储设备上的计算机程序,它们中的每一者都被配置为执行方法的动作。
实施方式可以包含以下特征中的一个或多个特征:一种帧间编码方法,其中与所述第一运动矢量和所述第二运动矢量之间的所述关系相关的所述信息包括足以重构所述第二运动矢量的MVP索引和MVD的信息;一种帧间编码方法,其中与所述第一运动矢量和所述第二运动矢量之间的所述关系相关的所述信息包括缩放因子;一种帧间编码方法,其中与所述第一运动矢量和所述第二运动矢量之间的所述关系相关的所述信息包括足以重构所述第二运动矢量的MVP索引和MVD的信息;一种帧间编码方法,其中与所述第一运动矢量和所述第二运动矢量之间的所述关系相关的所述信息包括与参考条带有关的信息;一种帧间编码方法,其中与所述第一运动矢量和所述第二运动矢量之间的所述关系相关的所述信息指示所述第二运动矢量是所述第一运动矢量的镜像;一种帧间编码方法,其中与所述第一运动矢量和所述第二运动矢量之间的所述关系相关的所述信息包括参考索引信息;一种帧间编码方法,其中与所述第一运动矢量和所述第二运动矢量之间的所述关系相关的所述信息包括所述第二运动矢量的控制点。所述技术的实施方式可包括硬件、方法或过程,或计算机可访问介质上的计算机软件。
一些实施方案可以包括帧间编码***,包括:在第一存储器中接收与编码单元有关的信息,确定与所述编码单元相关联的运动信息,确定是否有一个以上的运动矢量与所述运动信息相关联,如果确定所述运动信息与一个以上的运动矢量相关联,则确定第一运动矢量和第二运动矢量之间的关系,并且对所述编码单元进行编码,其中所述编码单元包括与所述第一运动矢量相关的信息以及与所述第一运动矢量和所述第二运动矢量之间的关系相关的信息。该方面的其他实施方案包括对应的计算机***、装置和记录在一个或多个计算机存储设备上的计算机程序,它们中的每一者都被配置为执行方法的动作。
附图说明
借助附图对本发明的更多细节进行说明,其中:
图1描绘了将帧划分成多个编码树单元(CTU)。
图2a至图2c描绘了将CTU示例性分割成编码单元(CU)。
图3描绘了图2的CU分割的四叉树加二叉树(QTBT)表示。
图4描绘了用于JVET或VVC编码器中的CU编码的简化框图。
图5描绘了VVC的JVET中的亮度分量的可能的帧内预测模式。
图6描绘了用于VVC解码器的JVET中的CU编码的简化框图。
图7描绘了用于对视频进行编码的减少开销的编码方法的框图。
图8描绘了用于对视频进行解码的减少开销的解码方法的框图。
图9描绘了计算机***的实施方案,该计算机***被适配和配置为提供可变的模板尺寸以用于模板匹配。
图10描绘了视频编码器/解码器的实施方案,该视频编码器/解码器被适配和配置为提供可变的模板尺寸以用于模板匹配。
具体实施方式
图1描绘了将帧划分成多个编码树单元(CTU)100。帧可以是视频序列中的图像。帧可以包括矩阵或矩阵的集合,以像素值表示图像中的强度度量。因此,这些矩阵的集合可以生成视频序列。可以定义像素值以表示全***编码中的颜色和亮度,其中像素被划分成三个通道。例如,在YCbCr颜色空间中,像素可以具有表示图像中的灰度水平强度的亮度值Y,以及表示颜色从灰色到蓝色和红色的差异程度的两个色度值Cb和Cr。在其他实施方案中,可以用不同颜色空间或模型中的值来表示像素值。视频的分辨率可以确定帧中的像素的数量。更高的分辨率可能表示更多像素和更好的图像清晰度,但也可能导致更高的带宽、存储和传输需求。
可以使用JVET对视频序列的帧进行编码和解码。JVET是联合视频探索团队开发的视频编码方案。已经在JEM(联合探索模型)编码器和解码器中实现了多个版本的JVET。类似于像HEVC(高效视频编码)的其他视频编码方案,JVET是一种基于块的混合空域和时域预测编码方案。在利用JVET进行编码期间,首先将帧分成被称为CTU 100的正方形块,如图1所示。例如,CTU 100可以是128×128像素的块。
图2a描绘了将CTU 100分割成CU 102的示例性分割。帧中的每个CTU 100可以被分割成一个或多个CU(编码单元)102。如下所述,CU 102可以用于预测和变换。与HEVC不同的是,在JVET中,CU 102可以是矩形或正方形,并可以被编码而无需进一步分割成预测单元或变换单元。CU 102可以与其根CTU 100一样大,或者是与4×4块一样小的根CTU 100的更小细分。
在JVET中,可以根据四叉树加二叉树(QTBT)方案将CTU 100分割成CU 102,其中可以根据四叉树将CTU 100递归分割成正方形块,然后可以根据二叉树在水平或垂直方向上递归分割这些正方形块。可以设置参数以根据QTBT控制划分,这些参数是例如CTU尺寸、四叉树和二叉树叶节点的最小尺寸、二叉树根节点的最大尺寸,以及二叉树的最大深度。在VVC中,也可以利用三叉树划分将CTU 100分割成CU。
作为非限制性示例,图2a示出了分割成CU 102的CTU 100,其中实线指示四叉树划分,并且虚线指示二叉树划分。如图所示,二叉树划分允许水平划分和垂直划分以定义CTU及其细分成CU的结构。图2b和图2c描绘了CU的三叉树划分的替代的非限制性示例,其中CU的细分是不均等的。
图3描绘了图2的分割的QTBT表示。四叉树根节点代表CTU 100,其中四叉树部分中的每个子节点代表从正方形父块划分的四个正方形块中的一个。然后可以使用二叉树将四叉树叶节点代表的正方形块划分零次或多次,其中四叉树叶节点为二叉树的根节点。在二叉树部分的每个层级,可以垂直或水平地对块进行划分。设置为“0”的标志表示水平划分块,而设置为“1”的标志表示垂直划分块。
在四叉树划分和二叉树划分之后,由QTBT的叶节点表示的块表示待编码(诸如使用帧间预测或帧内预测来编码)的最终CU 102。对于用帧间预测编码的条带或完整帧,可以为亮度和色度分量使用不同的分割结构。例如,对于帧间条带,CU 102可以具有用于不同颜色分量的编码块(CB),例如一个亮度CB和两个色度CB。对于用帧内预测编码的条带或完整帧,对于亮度和色度分量,分割结构可以是相同的。
图4描绘了用于JVET编码器中的CU编码的简化框图。视频编码的主要阶段包括:如上所述的分割以标识CU 102,接着在404或406处使用预测对CU 102编码,在408处生成残差CU 410,在412处进行变换,在416处进行量化,以及在420处进行熵编码。图4中所示的编码器和编码过程还包括下文更详细描述的解码过程。
在给定当前CU 102的情况下,编码器可以在404处在空间上使用帧内预测或者在406处在时间上使用帧间预测获得预测CU 402。预测编码的基本理念是在初始信号与针对初始信号的预测之间传输差分或残差信号。在接收器侧,可以通过将残差和预测相加来重构初始信号,如下文将描述的。因为差分信号的相关性低于原始信号,所以其传输所需的比特更少。
完全用帧内预测的CU编码的条带(诸如,整个图片或图片的一部分)可以是I条带,无需参考其他条带即可对其进行解码,因此可以是开始解码的可能的点。用至少一些帧间预测的CU编码的条带可以是可以基于一个或多个参考图片解码的预测(P)或双向预测(B)条带。P条带可以与先前编码的条带一起使用帧内预测和帧间预测。例如,可以使用帧间预测对P条带进行比I条带更进一步的压缩,但需要先前编码的条带的编码来对它们进行编码。B条带可以通过使用帧内预测或帧间预测,使用来自两个不同帧的插值预测,使用来自先前和/或后续条带的数据进行其编码,从而提高运动估计过程的精确度。在一些情况下,也可以或可以替代地使用帧内块复制来对P条带和B条带进行编码,其中,使用来自相同条带的其他部分的数据。
如下所述,可基于来自先前编码的CU 102(诸如参考图片中的相邻CU 102或CU102)的重构的CU 434,执行帧内预测或帧间预测。
当在404处利用帧内预测在空间上对CU 102进行编码时,可以发现帧内预测模式可基于来自图片中相邻CU 102的样点来最佳预测CU 102的像素值。
在对CU的亮度分量进行编码时,编码器可以生成候选帧内预测模式的列表。尽管HEVC对于亮度分量具有35种可能的帧内预测模式,但在JVET中,对于亮度分量有67种可能的帧内预测模式,在VVC中,有85种预测模式。这些模式包括平面模式、DC模式、图5中所示的65种定向模式,以及18种宽角预测模式,平面模式使用从相邻像素生成的值的三维平面,DC模式使用相邻像素的平均值,定向模式使用沿实线指示的方向从相邻像素复制的值,宽角预测模式可以与非正方形块一起使用。
在为CU的亮度分量生成候选帧内预测模式列表时,列表上的候选模式数量可取决于CU的尺寸。候选列表可以包括:具有最低SATD(绝对变换差之和)成本的HEVC的35种模式的子集;为JVET添加的与从HEVC模式发现的候选相邻的新定向模式;以及来自基于用于先前编码的相邻块的帧内预测模式标识的CU 102的六个最可能模式(MPM)的集合以及默认模式列表中的模式。
在对CU的色度分量进行编码时,也可以生成候选帧内预测模式的列表。候选模式的列表可以包括从亮度样点利用跨分量线性模型投影生成的模式、为亮度CB,尤其是色度块中的共位位置找到的帧内预测模式,以及先前为相邻块找到的色度预测模式。编码器可以找到列表上具有最低速率失真成本的候选模式,并在对CU的亮度和色度分量编码时使用那些帧内预测模式。可以在指示用于对每个CU 102进行编码的帧内预测模式的比特流中对语法进行编码。
在为CU 102选择最佳帧内预测模式之后,编码器可以使用这些模式生成预测CU402。当选定模式是定向模式时,可以使用4抽头滤波器来提高定向精确度。可以利用边界预测滤波器,例如2抽头或3抽头滤波器调节预测块的顶部或左侧的列或行。
可以使用位置相关的帧内预测组合(PDPC)过程对预测CU 402进行进一步的平滑处理,该过程调整使用相邻块的未滤波样点基于相邻块的滤波样点生成的预测CU 402,或者使用3抽头或5抽头低通滤波器进行自适应参考样点平滑处理以处理参考样点。
当在406处利用帧间预测在时间上对CU 102进行编码时,可以发现一组运动矢量(MV),这些运动矢量指向最佳预测CU 102的像素值的参考图片中的样点。帧间预测通过表示条带中像素块的位移来利用条带之间的时间冗余性。通过称为运动补偿的过程,根据先前或之后条带中的像素值确定位移。可以在比特流中向解码器提供表示相对于特定参考图片的像素位移的运动矢量和关联的参考索引,连带提供初始像素与经运动补偿的像素之间的残差。解码器可以使用残差和信令通知的运动矢量和参考索引来在重构条带中重构像素块。
在JVET中,运动矢量精度可以1/16像素存储,并且运动矢量和CU的预测运动矢量之间的差可以用四分之一像素分辨率或整数像素分辨率编码。
在JVET中,可以使用技术诸如高级时间运动矢量预测(ATMVP)、空时运动矢量预测(STMVP)、仿射运动补偿预测、模式匹配的运动矢量推导(PMMVD)和/或双向光流(BIO),为CU102内的多个子CU找到运动矢量。
使用ATMVP,编码器可以找到CU 102的时间矢量,该时间矢量指向参考图片中的对应的块。可以基于为先前编码的相邻CU 102找到的运动矢量和参考图片找到时域矢量。使用整个CU 102的时域矢量指向的参考块,可以为CU 102内的每个子CU找到运动矢量。
STMVP可以通过缩放和平均为先前用帧间预测编码的相邻块找到的运动矢量以及时间矢量来找到子CU的运动矢量。
仿射运动补偿预测可用于基于为块的顶角找到的两个控制运动矢量来预测块中每个子CU的运动矢量场。例如,可以基于为CU 102内的每个4×4块找到的顶角运动矢量,导出子CU的运动矢量。
PMMVD可以使用双边匹配或模板匹配找到当前CU 102的初始运动矢量。双边匹配可以沿运动轨迹查看两个不同参考图片中的当前CU 102和参考块,而模板匹配可以查看当前CU 102和参考图片中由模板标识的对应块。然后可以针对每个子CU逐个细化为CU 102找到的初始运动矢量。
BIO可以在基于较早和较晚参考图片利用双向预测执行帧间预测时使用,并且允许基于两个参考图片之间的差异的梯度为子CU找到运动矢量。
在一些情况下,可基于当前CU 102附近的样点以及候选运动矢量标识的参考块附近的对应的样点,在CU级别上使用局部照明补偿(LIC)来找到缩放因子参数和偏移参数的值。在JVET中,LIC参数可以变化并在CU级别被信令通知。
对于上述一些方法,可以将针对每个CU的子CU找到的运动矢量信令通知给CU级别的解码器。对于其他方法,诸如PMMVD和BIO,不在比特流中信令通知运动信息以节省开销,并且解码器可以通过相同过程导出运动矢量。
在找到CU 102的运动矢量之后,编码器可以使用这些运动矢量生成预测CU 402。在一些情况下,在已经为各个子CU找到了运动矢量时,在通过组合那些运动矢量与先前为一个或多个相邻子CU找到的运动矢量来生成预测CU 402时,可以使用重叠块运动补偿(OBMC)。
当使用双向预测时,JVET可以使用解码器侧运动矢量细化(DMVR)来找到运动矢量。DMVR允许使用双向模板匹配过程,基于为双向预测找到的两个运动矢量来找到运动矢量。在DMVR中,可以找到利用两个运动矢量中的每个运动矢量生成的预测CU 402的加权组合,并且可以通过用最佳地指向组合的预测CU 402的新运动矢量替换这两个运动矢量来细化这两个运动矢量。可以使用两个细化的运动矢量来生成最终预测CU 402。
在408处,如上所述,一旦发现预测CU 402在404处进行帧内预测或在406处进行帧间预测,编码器便可以从当前CU 102减去预测CU 402以找到残差CU 410。
编码器可以在412处使用一个或多个变换操作将残差CU 410转换为在变换域中表示残差CU 410的变换系数414,诸如使用离散余弦块变换(DCT变换)将数据转换到转换域。与HEVC相比,JVET允许更多类型的变换操作,包括DCT-II、DST-VII、DST-VII、DCT-VIII、DST-I和DCT-V操作。可以将允许的变换操作分组成子集,并可以由编码器信令通知使用了哪些子集以及那些子集中的哪些特定操作的指示。在一些情况下,可以使用大块尺寸变换来将大于某个尺寸的CU 102中的高频变换系数归零,使得仅为那些CU 102保持低频变换系数。
在一些情况下,可以在前向核心变换之后将模式相关的不可分二次变换(MDNSST)应用于低频变换系数414。MDNSST操作可以使用基于旋转数据的Hypercube-Givens变换(HyGT)。在使用时,可以由编码器信令通知标识特定MDNSST操作的索引值。
在416处,编码器可以将变换系数414量化为量化变换系数416。可以通过将系数值除以量化步长来计算每个系数的量化,该量化步长是从量化参数(QP)导出的。在一些实施方案中,Qstep被定义为2(QP-4)/6。因为可以将高精度变换系数414转换成具有有限数量的可能值的量化变换系数416,所以量化可以有助于数据压缩。于是,变换系数的量化可以限制变换过程生成和发送的比特量。不过,尽管量化是有损操作,并且量化的损失不能恢复,但量化过程在重构序列的质量与表示该序列所需的信息量之间进行权衡。例如,较低的QP值可以产生质量更好的解码视频,尽管需要更大量的数据才能表示和传输。相反,高QP值可以产生质量较低的重构视频序列,但数据和带宽需求较低。
JVET可以利用基于方差的自适应量化技术,该基于方差的自适应量化技术允许每个CU 102对其编码过程使用不同的量化参数(而不是在帧的每个CU 102的编码中使用相同的帧QP)。基于方差的自适应量化技术自适应地降低某些块的量化参数,同时在其他块中增大量化参数。为了为CU 102选择特定QP,计算该CU的方差。简而言之,如果CU的方差高于帧的平均方差,可以为该CU 102设置比帧的QP更高的QP。如果CU 102呈现出比帧的平均方差更低的方差,则可以分配更低的QP。
在420处,编码器可以通过对量化变换系数418进行熵编码来找到最终的压缩比特422。熵编码旨在消除要传输的信息的统计冗余。在JVET中,可以使用CABAC(上下文自适应二进制算术编码)对量化变换系数418编码,该技术使用概率度量来消除统计冗余。对于具有非零量化变换系数418的CU 102,可以将量化变换系数418转换成二进制。然后可以使用上下文模型对二进制表示的每个比特(“二进制位”)编码。CU 102可以被分解成三个区域,每个区域具有其自己的一组上下文模型以用于该区域内的像素。
可以执行多次扫描以对二进制位进行编码。在对前三个二进制位(bin0、bin1和bin2)编码的轮次期间,可以通过找到该二进制位在多达五个由模板标识的先前编码的相邻量化变换系数418中的位置之和,来找到指示为该二进制位使用哪个上下文模型的索引值。
上下文模型可以基于二进制位的值为“0”或“1”的概率。在对值进行编码时,可以基于遇到值‘0’和‘1’的实际数量来更新上下文模型中概率。虽然HEVC使用固定表格来针对每个新图片对上下文模型进行重新初始化,但在JVET中,可以基于为先前编码的帧间预测图片开发的上下文模型对用于新帧间预测图片的上下文模型的概率进行初始化。
编码器可以产生比特流,其中包含残差CU 410的熵编码比特422、预测信息(诸如所选择的帧内预测模式或运动矢量)、如何根据QTBT结构从CTU 100分割CU 102的指示符和/或关于编码视频的其他信息。比特流可以由解码器解码,如下所述。
除了使用量化变换系数418找到最终的压缩比特422之外,编码器还可以通过遵循与解码器用来生成重构的CU 434相同的解码过程,使用量化变换系数418来生成重构的CU434。于是,一旦变换系数已经被编码器计算并量化,就可以将量化变换系数418传输到编码器中的解码环路。在量化CU的变换系数之后,解码环路允许编码器生成与解码器在解码过程中生成的相同的重构的CU 434。因此,在对新CU 102执行帧内预测或帧间预测时,编码器可以使用解码器会用于相邻CU 102或参考图片的相同的重构的CU 434。重构的CU 102、重构条带或完整的重构帧可以充当其他预测阶段的参考。
为了在编码器的解码循环中(针对解码器中的相同操作,请参见下文)获得重构图像的像素值,可以执行去量化过程。为了对帧进行去量化,例如,将帧的每个像素的量化值乘以量化步长,例如上述(Qstep),以获得重构的去量化变换系数426。例如,在图4中所示的解码过程中,在编码器中,可以在424处对残差CU 410的量化变换系数418进行去量化以找到去量化变换系数426。如果在编码期间执行MDNSST操作,则在去量化之后可以对该操作进行反向操作。
在428处,可以对去量化变换系数426进行逆变换以找到重构的残差CU 430,诸如通过将DCT应用于这些值以获得重构图像。在432处,可以将重构的残差CU 430添加到在404处利用帧内预测或在406处利用帧间预测找到的对应预测CU 402,以便找到重构的CU 434。
在436处,可以在图片级别或CU级别的(在编码器中,或如下所述,在解码器中的)解码过程中将一个或多个滤波器应用于重构数据。例如,编码器可以应用去方块滤波器、样点自适应偏移(SAO)滤波器和/或自适应环形滤波器(ALF)。编码器的解码过程可以实现滤波器,以估计可以解决重构图像中的潜在人工痕迹的最佳滤波器参数并将其传输到解码器。这样的改进提高了重构视频的客观和主观质量。在去方块滤波中,可以修改子CU边界附近的像素,而在SAO中,可以使用边缘偏移或频带偏移分类修改CTU 100中的像素。JVET的ALF可以使用对于每个2×2块具有圆形对称形状的滤波器。可以信令通知用于每个2×2块的滤波器的尺寸和身份的指示。
如果重构图片是参考图片,则可以将它们存储在参考缓冲器438中,以在406处对将来的CU 102进行帧间预测。
在上述步骤中,JVET允许使用内容自适应裁剪操作来调整颜色值以适合上下裁剪边界。裁剪边界可以针对每个条带改变,并且可以在比特流中信令通知标识边界的参数。
图6描绘了用于JVET解码器中的CU编码的简化框图。JVET解码器可以接收包含关于已编码CU 102的信息的比特流。比特流可以指示如何根据QTBT结构从CTU 100分割出图片的CU 102,CU 102的预测信息(例如,帧内预测模式或运动矢量),以及表示熵编码残差CU的比特602。
在604处,解码器可以使用编码器在比特流中信令通知的CABAC上下文模型对熵编码的比特602进行解码。解码器可以使用编码器信令通知的参数,来以与在编码期间更新上下文模型的概率相同的方式更新上下文模型的概率。
在604处对熵编码进行反向操作以找到量化变换系数606之后,解码器可以在608处将其去量化以找到去量化变换系数610。如果在编码期间执行MDNSST操作,则在去量化之后可以由解码器对该操作进行逆操作。
在612处,可以对去量化变换系数610进行逆变换以找到重构的残差CU 614。在616处,可以将重构的残差CU 614添加到在622处利用帧内预测或在624处利用帧间预测找到的对应预测CU 626,以便找到重构的CU 618。
在620处,可以在图片级别或CU级别将一个或多个滤波器应用于重构数据。例如,解码器可以应用去方块滤波器、样点自适应偏移(SAO)滤波器和/或自适应环形滤波器(ALF)。如上所述,可以使用位于编码器的解码环路中的环内滤波器来估计最优滤波器参数,以提高帧的客观和主观质量。这些参数被传输到解码器以在620处对重构帧滤波,以与编码器中的经滤波的重构帧。
在通过找到重构的CU 618并且应用信号滤波器生成重构图片之后,解码器可以将重构图片作为输出视频628输出。如果重构图片要被用作参考图片,可以将它们存储在参考缓冲器630中,以在624处对将来的CU 102进行帧间预测。
双向时间预测采用两个MV来引用两个参考列表中的参考条带,以确定两个预测块。然后将这两个预测块组合以形成最终预测块。在JVET和VVC中,几种帧间编码模式(跳过、合并、FRUC、AMVP、AFFINE)包括双向时间预测,以提高预测精度。两个MV的信令因编码模式而异。AMVP(高级MV预测器)针对两个MV使用最灵活的信令。具体地讲,生成MV需要三种信息类型;参考索引,MVP索引和MVD。因此,使用具有双向时间预测的AMVP的编码块必须发送两个参考索引、两个MVP索引和两个MVD。
仿射运动模型以更灵活的方式描述两个帧之间的运动,诸如旋转、剪切和缩放。仿射模型采用仿射变换来描述基于模型参数的运动。在JVET和VVC中,可以使用四个或六个参数模型。代替使用仿射运动模型为编码块中的每个像素计算运动场,JVET和VVC可以更粗粒度(诸如尺寸为4×4的块)计算MV。此外,JVET和VVC通过控制点运动矢量描述编码块的仿射运动模型。即,可以基于控制点运动矢量来确定使用仿射模式的每个块编码的MV。
控制点MV可以使用预测编码进行编码,其方式类似于JVET和VVC中的常规MV。首先确定每个控制点MV的MV预测器,然后可以在比特流中编码和信令通知MV预测器和控制点MV之间的差MV。即,两个控制点MV可用于四参数仿射模型,并且三个控制点MV可用于六参数仿射模型。
使用仿射运动模型的双向时间预测需要附加的开销来信令通知附加的控制点MV。对于四个参数仿射模型,针对每个列表信令通知两个MVD,而不是一个。类似地,当使用尺寸参数仿射模型时,针对每个列表信令通知三个MVD,而不是一个。因此,基于仿射运动模型,将仿射模型用于具有双向时间预测的AMVP的编码块必须发送两个参考索引、两个MVP索引以及四个或六个MVD。
本发明公开了一种减少双向时间预测的开销的***和方法。JVET和VVC中的当前方法两次信令通知MV信息开销,从而导致两个彼此独立的MV。如果用于双向时间预测的两个MV相关,则可以减少开销或信令通知两个独立的MV。当两个MV相关(或配对)时,可以从第一MV完全或部分导出第二MV,从而减少第二MV的开销。
MV对(第一MV和第二MV)之间的关系对于实现高编码效率很重要。有很多可能的方法来定义MV对关系。在一些实施方案中,可以假设光流并且/或者可以假设第一MV和第二MV可以具有类似的轨迹。在这样的实施方案中,第二MV可以被认为是第一MV的缩放版本,并且关系可以被定义如下:
MV2=((POC_Cur–POC_L1)/(POC_Cur–POC_L0))*MV1
其中:
MV1和MV2分别是第一MV和第二MV的MV;
POC_Cur是当前条带的POC索引;并且
POC_L0和POC_L1分别是MV1和MV2使用的参考的POC索引。
该等式示出了第二MV的导出示例,其中MV对中的第一MV使用存储在参考列表中的一个参考列表诸如参考列表0(和/或任何其他已知的、方便的和/或期望的参考)中的参考条带,并且MV对中的第二MV使用存储在参考列表中的另一个列表(和/或任何其他已知的、方便的和/或期望的参考)中的参考条带。
此外,有许多方法基于从第一MV导出第二MV的***,用减少的开销来信令通知第二MV。在一些实施方案中,信令方案可以不发送第二MV的参考索引、MVP索引和MVD。在此类实施方案中,列表1中的参考条带可以被确定为用于第二MV—作为非限制性示例,可以使用列表1的参考索引0。因此,可以基于提供的等式来计算MV2。
在一些替代实施方案中,MV2可以被配置为MV1的镜像,并且因此可以从MV1导出或构造。
在另外的替代实施方案中,可以根据MV1和MV2信息来建立没有发送MVP索引和第二MV的MVD的参考索引。在此类替代实施方案中,***可以首先使用可以在字面上被信令通知的信号参考索引来确定第二MV的列表1中的参考条带,然后根据所提供的等式来计算MV2。
当采用仿射运动模型时,有几种利用MV对概念的方法。在一些实施方案中,可以通过根据上面提供的等式缩放第一列表的对应的控制点MV来确定第二列表的控制点MV。然后可以基于导出的控制点MV来计算针对编码块内的每个子块的第二列表的MV。在一些替代实施方案中,可以使用信号控制点MV来确定每个子块的第一列表的MV,然后可以使用第一列表的缩放的MV来确定每个子块的第二列表的MV。
在另外的替代实施方案中,MVD2可以与MVD1相关,其中MVD1和MVD2是根据以下等式相互关联的运动矢量之间的差:
MVD2=((POC_Cur–POC_L1)/(POC_Cur–POC_L0))*MVD1
因此,可以从MVD1导出或确定MVD2,并且***可以发送参考索引信息和MVP索引,但是不必传输第二MV的MVD,因为可以直接根据MVD1进行确定。
此外,还有许多方法可以将MV对(相互关联的MV1和MV2)概念添加到现有的AMVP和仿射双向时间预测***中。在一些实施方案中,可以引入CU级别的新标志以指示是否使用具有降低的MV2开销的MV对或现有的完整MV2开销信令。在其中使用完整的MV2开销信令的实施方案中,可以如在当前的JVET和VVC***中那样,信令通知参考索引、MVP索引和MVD。在替代实施方案中,MV对选项可以被信令通知为列表1的特殊索引—通过非限制性示例,参考索引1可以被认为是MV对选项,其中参考条带被设置为列表1的索引0。此外,在一些实施方案中,对于通用P/B(GPB)条带,可以禁用此选项,其中列表0中的所有参考条带与列表1相同,因为基于所提供的等式,MV1和MV2相同。
图7描绘了用于对视频进行编码的减少开销的编码方法700的框图。在步骤702中,可以接收与CU相关的信息,然后在步骤704中,可以对该信息进行评估以确定在编码过程中是否将使用一个以上的MV。如果在步骤704中确定在编码过程中将使用一个以上的MV,则***可以前进至步骤706,其中确定MV1(第一运动矢量)和MV2(第二运动矢量)。然后在步骤708中,可以使用任何一种或多种先前描述的技术和/或任何其他已知的方便和/或期望的方法和/或技术来确定MV1和MV2之间的关系。然而,在一些实施方案中,步骤708可以在步骤706之前,并且第二运动矢量可以直接参考第一运动矢量来定义。在步骤710中,可以使用任何一种或多种先前描述的技术和/或任何其他已知的方便和/或期望的方法和/或技术来确定与MV1和MV2之间的关系相关的信令,然后在步骤712中可以用与MV1相关的相关信息以及与MV2的关系来对CU进行编码,并且在步骤714中可以传输编码比特流。如果在步骤704中确定需要少于两个MV进行编码,则该过程可以直接从步骤704进行到编码步骤712,然后进行到步骤714中的传输。
图8描绘了用于对视频进行解码的减少开销的解码方法800的框图。在步骤802中,接收信号,然后在步骤804中对CU进行解码。在步骤806中,确定在所接收的信号中是否指示了一个以上的MV。如果在步骤806中确定在所接收的信号中指示了一个以上的MV,则在步骤808中从信号确定MV1,并且从该信号确定与MV2有关的信息。然后在步骤810中根据MV1和关于MV2的信息构造MV2。MV2的重构可以根据本文所述的任何技术和方法和/或任何其他已知的、方便的和/或期望的技术和/或方法来执行。在步骤812中,可以重构视频,然后可以在步骤814中显示视频。如果在步骤806中确定在所接收的信号中指示了一个或更少的MV,则***可以从步骤806进行到步骤812中的视频重构并且在步骤814中进行显示。
实践实施方案所需的指令序列的执行可以由如图9所示的计算机***900来执行。在一个实施方案中,指令序列的执行由单个计算机***900执行。根据其他实施方案,由通信链路915耦接的两个或更多个计算机***900可以彼此协调地执行指令序列。尽管下面将仅描述一个计算机***900,但是应当理解,可以采用任何数量的计算机***900来实践实施方案。
现在将参考图9描述根据实施方案的计算机***900,该图为计算机***900的功能部件的框图。如本文所用,术语计算机***900被广泛地用来描述可以存储并且独立地运行一个或多个程序的任何计算设备。
每个计算机***900可以包括耦接到总线906的通信接口914。通信接口914提供计算机***900之间的双向通信。相应计算机***900的通信接口914传输和接收电信号、电磁信号或光信号,该电信号、电磁信号或光信号包括表示各种类型的信号信息(例如,指令、消息和数据)的数据流。通信链路915将一个计算机***900与另一计算机***900链接。例如,通信链路915可以是LAN,在这种情况下,通信接口914可以是LAN卡,或者通信链路915可以是PSTN,在这种情况下,通信接口914可以是综合业务数字网(ISDN)卡或调制解调器,或者通信链路915可以是互联网,在这种情况下,通信接口914可以是拨号连线、电缆或无线调制解调器。
计算机***900可以通过其相应的通信链路915和通信接口914传输和接收消息、数据和指令,包括程序,即应用程序、代码。所接收的程序代码可以在被接收时由相应的一个或多个处理器907执行,以及/或者被存储在存储设备910或其他相关联的非易失性介质中,以供以后执行。
在一个实施方案中,计算机***900与数据存储***931(例如,数据存储***931)结合操作,该数据存储***包含易于由计算机***900访问的数据库932。计算机***900通过数据接口933与数据存储***931通信。耦接到总线906的数据接口933传输和接收电信号、电磁信号或光信号,该电信号、电磁信号或光信号包括表示各种类型的信号信息(例如,指令、消息和数据)的数据流。在实施方案中,数据接口933的功能可以由通信接口914执行。
计算机***900包括总线906或用于传送指令、消息和数据(统称为信息)的其他通信机制,以及与总线906耦接以处理信息的一个或多个处理器907。计算机***900还包括主存储器908,诸如耦接到总线906以用于存储动态数据和待由一个或多个处理器907执行的指令的随机存取存储器(RAM)或其他动态存储设备。主存储器908还可以用于在一个或多个处理器907执行指令期间存储临时数据,即变量或其他中间信息。
计算机***900还可以包括只读存储器(ROM)909或耦接到总线906以用于存储用于一个或多个处理器907的静态数据和指令的其他静态存储设备。还可以提供存储设备910诸如磁盘或光盘,并且将其耦接到总线906以存储用于一个或多个处理器907的数据和指令。
计算机***900可以经由总线906耦接到显示设备911,诸如但不限于阴极射线管(CRT)或液晶显示器(LCD)监视器,以向用户显示信息。输入设备912(例如,字母数字键和其他键)耦接到总线906,用于将信息和命令选择传送给一个或多个处理器907。
根据一个实施方案,单个计算机***900通过它们相应的一个或多个处理器907执行包含在主存储器908中的一个或多个指令的一个或多个序列来执行特定操作。可以从另一计算机可用介质诸如ROM 909或存储设备910将此类指令读入主存储器908。执行包含在主存储器908中的指令序列使一个或多个处理器907执行本文所述的过程。在替代的实施方案中,硬连线电路可以取代或结合软件指令使用。因此,实施方案不限于硬件电路和/或软件的任何特定组合。
本文中使用的术语“计算机可用介质”是指提供信息或可由一个或多个处理器907使用的任何介质。这样的介质可以采取很多形式,包括但不限于,非易失性介质、易失性介质和传输介质。非易失性介质,即在没有电源的情况下可以保留信息的介质,包括ROM 909、CD ROM、磁带和磁盘。易失性介质,即在没有电源的情况下不能保留信息的介质,包括主存储器908。传输介质包括同轴电缆、铜线和光纤,包括构成总线906的线材。传输介质还可以采取载波(即,可以在频率、幅度或相位方面被调制以传输信息信号的电磁波)的形式。此外,传输介质可以采取声波或光波(诸如,在无线电波和红外线数据通信期间产生的那些)的形式。
在前面的说明中,已参考实施方案的特定元素对实施方案进行了描述。但是,将显而易见的是,在不脱离实施方案的更广泛的实质和范围的情况下,可对其进行各种修改和变更。例如,读者要理解,本文所述的过程流程图中所示的过程动作的具体排序和组合仅仅是示例性的,并且可以使用不同或额外的过程动作或过程动作的不同组合或排序来实践这些实施方案。因此,说明书和附图应被视为是示例性的而非限制性的。
还应当注意,本发明可以在各种计算机***中实现。本文所述的各种技术可以在硬件或软件或两者的组合中实现。优选地,在可编程计算机上执行的计算机程序中实现这些技术,所述可编程计算机各自包括处理器、可由处理器读取的存储介质(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备和至少一个输出设备。可以向使用输入设备输入的数据应用程序代码以执行上文描述的功能并产生输出信息。输出信息被应用到一个或多个输出设备。优选地以高阶程序编程语言或面向对象的编程语言实现每个程序,以与计算机***通信。然而,如果需要的话,可以用汇编语言或机器语言来实现程序。在任何情况下,该语言可以是编译或解释语言。每个这样的计算机程序优选地存储在可由通用或专用可编程计算机读取的存储介质或设备(例如,ROM或磁盘)上,以在计算机读取存储介质或设备时配置并操作计算机以执行上述程序。还可以考虑将该***实现为配置有计算机程序的计算机可读存储介质,其中如此配置的存储介质使计算机以特定的预定义方式运行。此外,示例性计算应用的存储元件可以是关系型或顺序(平坦文件)型计算数据库,其能够以各种组合和配置存储数据。
图10是可以结合本文所述的***和设备的特征的源设备1012和目标设备1010的高层视图。如图10所示,示例性视频编码***1010包括源设备1012和目标设备1014,其中,在该示例中,源设备1012生成经编码的视频数据。因此,源设备1012可以被称为视频编码设备。目标设备1014可以对由源设备1012生成的编码视频数据进行解码。因此,目标设备1014可以被称为视频解码设备。源设备1012和目标设备1014可以是视频编码设备的示例。
目标设备1014可以经由通道1016从源设备1012接收经编码的视频数据。通道1016可以包括能够将经编码的视频数据从源设备1012移动到目标设备1014的一种类型的介质或设备。在一个示例中,通道1016可以包括通信介质,该通信介质使源设备1012能够将经编码的视频数据直接实时地传输到目标设备1014。
在该示例中,源设备1012可以根据通信标准诸如无线通信协议来调制经编码的视频数据,并且可以将经调制的视频数据传输到目标设备1014。通信介质可以包括无线或有线通信介质,例如射频(RF)频谱或一个或多个物理传输线。通信介质可以形成诸如局域网、广域网的基于分组的网络或诸如因特网的全球网络的一部分。通信介质可以包括路由器、交换机、基站或有助于从源设备1012到目标设备1014的通信的其他设备。在另一个示例中,频道1016可以对应于存储由源设备1012生成的经编码的视频数据的存储介质。
在图10的示例中,源设备1012包括视频源1018、视频编码器1020和输出接口1022。在一些情况下,输出接口1028可以包括调制器/解调器(调制解调器)和/或发射器。在源设备1012中,视频源1018可以包括源诸如视频捕获设备(例如,摄像机)、包含先前捕获的视频数据的视频档案、从视频内容提供商接收视频数据的视频馈送接口和/或用于生成视频数据的计算机图形***、或此类源的组合。
视频编码器1020可以对捕获的、预捕获的或计算机生成的视频数据进行编码。输入图像可以由视频编码器1020接收,并且被存储在输入帧存储器1021中。通用处理器1023可以从此处加载信息并且执行编码。可以从存储设备诸如图10中描绘的示例性存储器模块加载用于驱动通用处理器的程序。通用处理器可以使用处理存储器1022来执行编码,并且通用处理器的编码信息的输出可以存储在缓冲器中,诸如输出缓冲器1026。
视频编码器1020可以包括重采样模块1025,该重采样模块可以被配置为以定义至少一个基本层和至少一个增强层的可缩放视频编码方案来编译(例如,编码)视频数据。重采样模块1025可以对至少一些视频数据进行重采样作为编码过程的一部分,其中可以使用重采样滤波器以自适应方式执行重采样。
经编码的视频数据(例如,经编码的比特流)可以经由源设备1012的输出接口1028直接传输到目标设备1014。在图10的示例中,目标设备1014包括输入接口1038、视频解码器1030和显示设备1032。在一些情况下,输入接口1028可以包括接收器和/或调制解调器。目标设备1014的输入接口1038通过通道1016接收经编码的视频数据。经编码的视频数据可包括由视频编码器1020生成的表示视频数据的各种语法元素。这样的语法元素可以与通信介质上传输的编码视频数据一起被包括,存储在存储介质上或存储在文件服务器上。
经编码的视频数据也可以被存储到存储介质或文件服务器上,以供以后由目标设备1014访问以进行解码和/或回放。例如,经编码的比特流可以被临时存储在输入缓冲器1031中,然后被加载到通用处理器1033中。可以从存储设备或存储器加载用于驱动通用处理器的程序。通用处理器可以使用处理存储器1032来执行解码。视频解码器1030还可以包括与视频编码器1020中采用的重采样模块1025类似的重采样模块1035。
图10描绘了与通用处理器1033分开的重采样模块1035,但是本领域的技术人员将认识到,重采样功能可以由通用处理器执行的程序来执行,并且视频编码器中的处理可以使用一个或多个处理器来完成。一个或多个经解码的图像可以被存储在输出帧缓冲器1036中,然后被发送到输入接口1038。
显示设备1038可以与目标设备1014集成在一起,也可以位于该目标设备的外部。在一些示例中,目标设备1014可包括集成显示设备,并且还可以被配置为与外部显示设备交接。在其他示例中,目标设备1014可以是显示设备。一般来讲,显示设备1038将经解码的视频数据显示给用户。
视频编码器1020和视频解码器1030可以根据视频压缩标准操作。ITU-T VCEG(Q6/16)和ISO/IEC MPEG(JTC 1/SC 29/WG 11)正在研究对未来视频编码技术的标准化的潜在需求,该技术的压缩能力显著地超过当前的高效视频编码HEVC标准(包括其对屏幕内容编码和高动态范围编码的当前扩展和近期扩展)。各工作组正在共同努力一起开展这项探索活动(被称为联合视频探索团队(JVET)),以评估这个领域中其专家提出的压缩技术设计。在作者为J.Chen,E.Alshina,G.Sullivan,J.Ohm,J.Boyce的“Algorithm Description ofJoint Exploration Test Model 5(JEM 5)”,JVET-E1001-V2中描述了JVET开发的最近情况。
附加地或替代地,视频编码器1020和视频解码器1030可以根据与所公开的JVET特征一起起作用的其他专有或行业标准进行操作。因而,其他标准是诸如ITU-T H.264标准,或称为MPEG-4,部分10,高级视频编码(AVC)或此类标准的扩展。因此,尽管是为JVET新开发的,但本公开的技术不限于任何特定的编码标准或技术。视频压缩标准和技术的其他示例包括MPEG-2、ITU-T H.263和专有或开源压缩格式和相关格式。
视频编码器1020和视频解码器1030可以用硬件、软件、固件或它们的任何组合来实现。例如,视频编码器1020和解码器1030可以采用一个或多个处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑或它们的任何组合。当视频编码器1020和解码器1030部分地以软件实现时,设备可以将用于该软件的指令存储在合适的非暂态计算机可读存储介质中,并且可以使用一个或多个处理器以硬件执行指令以执行本公开的技术。视频编码器1020和视频解码器1030中的每一者可以被包括在一个或多个编码器或解码器中,该一个或多个编码器或解码器中的任一者可以被集成为相应设备中的组合编码器/解码器(CODEC)的一部分。
本文所述的主题的方面可以在由计算机执行的计算机可执行指令(诸如程序模块)的一般上下文中描述,诸如上述通用处理器1023和通用处理器1033。一般来讲,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、部件、数据结构等。也可以在分布式计算环境中实践本文所述的主题的各方面,其中任务是由通过通信网络链接的远程处理设备执行的。在分布式计算环境中,程序模块可位于包括存储设备的本地和远程计算机存储介质。
存储器的示例包括随机存取存储器(RAM)、只读存储器(ROM)或两者。存储器可以存储指令,例如,源代码或二进制代码,以用于执行上文所述的技术。存储器还可以用于在待由处理器(例如,处理器1023和处理器1033)执行的指令的执行期间存储变量或其他中间信息。
存储设备还可以存储指令,用于执行上述技术的指令,诸如源代码或二进制代码。存储设备可以额外地存储由计算机处理器使用和操控的数据。例如,视频编码器1020或视频解码器1030中的存储设备可以是由计算机***1023或计算机***1033访问的数据库。存储设备的其他示例包括随机存取存储器(RAM)、只读存储器(ROM)、硬盘驱动器、磁盘、光盘、CD-ROM、DVD、闪存存储器、USB存储卡或任何其他计算机可以读取的介质。
存储器或存储设备可以是由视频编码器和/或解码器使用或与它们结合使用的非暂态计算机可读存储介质的示例。非暂态计算机可读存储介质包含用于控制计算机***的指令,所述计算机***要被配置为执行特定实施方案描述的功能。所述指令在由一个或多个计算机处理器执行时,可以被配置成执行在特定实施方案中描述的功能。
此外,需注意,一些实施方案已被描述为可描述为流程图或框图的过程。虽然每者可将操作描述为顺序的过程,但是这些操作中的多个操作可并行执行或同时执行。此外,操作的顺序可被重新布置。过程可以具有附图中未包括的额外步骤。
特定实施方案可以在非暂态计算机可读存储介质中实现,以供指令执行***、装置、***或机器使用或与它们结合使用。计算机可读存储介质包含用于控制计算机***以执行特定实施方案描述的方法的指令。计算机***包括一个或多个计算设备。指令在由一个或多个计算机处理器执行时,可以被配置成执行在特定实施方案中描述的功能。
除非上下文中另有明确规定,否则本文的说明书和随后的整个权利要求书中所使用的“一个”("a")、“一种”("an")和“所述”("the")包括复数引用。此外,如本文中的说明书和随后的整个权利要求书中所使用的,“在……中”的含义包括“在……中”和“在……上”,除非上下文明确指出其他表述。
尽管已经以上述结构特征和/或方法动作专用的语言对本发明的示例性实施方案进行了详细描述,但是应当理解,本领域的技术人员将容易理解,在实质上不脱离本发明的新颖教导内容和优点的情况下,在示例性实施方案中可能进行许多附加的修改。此外,应当理解,所附权利要求中定义的主题未必限于上述具体特征或动作。因此,这些和所有这样的修改都意在包括在根据所附权利要求的宽度和范围解释的本发明的范围内。

Claims (20)

1.一种帧间编码方法,包括:
接收与编码单元有关的信息;
确定与所述编码单元相关联的运动信息;
确定是否有一个以上的运动矢量与所述运动信息相关联;
如果确定所述运动信息与一个以上的运动矢量相关联,则确定第一运动矢量和第二运动矢量之间的关系;以及
对所述编码单元进行编码;
其中所述编码单元包括与所述第一运动矢量相关的信息以及与所述第一运动矢量和所述第二运动矢量之间的所述关系相关的信息。
2.如权利要求1所述的帧间编码方法,其中与所述第一运动矢量和所述第二运动矢量之间的所述关系相关的所述信息包括足以重构所述第二运动矢量的MVP索引和MVD的信息。
3.如权利要求1所述的帧间编码方法,其中与所述第一运动矢量和所述第二运动矢量之间的所述关系相关的所述信息包括缩放因子。
4.如权利要求3所述的帧间编码方法,其中与所述第一运动矢量和所述第二运动矢量之间的所述关系相关的所述信息包括足以重构所述第二运动矢量的MVP索引和MVD的信息。
5.如权利要求1所述的帧间编码方法,其中与所述第一运动矢量和所述第二运动矢量之间的所述关系相关的所述信息包括与参考条带有关的信息。
6.如权利要求5所述的帧间编码方法,其中与所述第一运动矢量和所述第二运动矢量之间的所述关系相关的所述信息包括足以重构所述第二运动矢量的MVP索引和MVD的信息。
7.如权利要求1所述的帧间编码方法,其中与所述第一运动矢量和所述第二运动矢量之间的所述关系相关的所述信息指示所述第二运动矢量是所述第一运动矢量的镜像。
8.如权利要求7所述的帧间编码方法,其中与所述第一运动矢量和所述第二运动矢量之间的所述关系相关的所述信息包括足以重构所述第二运动矢量的MVP索引和MVD的信息。
9.如权利要求1所述的帧间编码方法,其中与所述第一运动矢量和所述第二运动矢量之间的所述关系相关的所述信息包括参考索引信息。
10.如权利要求9所述的帧间编码方法,其中与所述第一运动矢量和所述第二运动矢量之间的所述关系相关的所述信息包括足以重构所述第二运动矢量的MVP索引和MVD的信息。
11.如权利要求1所述的帧间编码方法,其中与所述第一运动矢量和所述第二运动矢量之间的所述关系相关的所述信息包括用于所述第二MV的控制点。
12.如权利要求11所述的帧间编码方法,其中与所述第一运动矢量和所述第二运动矢量之间的所述关系相关的所述信息包括足以重构所述第二运动矢量的MVP索引和MVD的信息。
13.如权利要求11所述的帧间编码方法,其中与所述第一运动矢量和所述第二运动矢量之间的所述关系相关的所述信息包括足以重构与所述第二运动矢量相关联的MVP索引和多个MVD的信息。
14.一种帧间编码***,包括:
在第一存储器中接收与编码单元有关的信息;
确定与所述编码单元相关联的运动信息;
确定是否有一个以上的运动矢量与所述运动信息相关联;
如果确定所述运动信息与一个以上的运动矢量相关联,则确定第一运动矢量和第二运动矢量之间的关系;以及
对所述编码单元进行编码;
其中所述编码单元包括与所述第一运动矢量相关的信息以及与所述第一运动矢量和所述第二运动矢量之间的所述关系相关的信息。
15.如权利要求14所述的帧间编码***,其中与所述第一运动矢量和所述第二运动矢量之间的所述关系相关的所述信息包括足以重构所述第二运动矢量的MVP索引和MVD的信息。
16.如权利要求14所述的帧间编码方法,其中与所述第一运动矢量和所述第二运动矢量之间的所述关系相关的所述信息包括缩放因子、参考条带中的至少一者。
17.如权利要求14所述的帧间编码方法,其中与所述第一运动矢量和所述第二运动矢量之间的所述关系相关的所述信息包括与参考条带有关的信息和与所述第二运动矢量相关联的控制点。
18.如权利要求14所述的帧间编码方法,其中与所述第一运动矢量和所述第二运动矢量之间的所述关系相关的所述信息指示所述第二运动矢量是所述第一运动矢量的镜像。
19.如权利要求14所述的帧间编码方法,其中与所述第一运动矢量和所述第二运动矢量之间的所述关系相关的所述信息包括参考索引信息。
20.如权利要求14所述的帧间编码方法,其中与所述第一运动矢量和所述第二运动矢量之间的所述关系相关的所述信息包括足以重构与所述第二运动矢量相关联的MVP索引和多个MVD的信息。
CN201980031144.4A 2018-04-06 2019-04-08 减少双向时间预测中的运动矢量信息传输 Pending CN112106369A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862654073P 2018-04-06 2018-04-06
US62/654,073 2018-04-06
US201862656144P 2018-04-11 2018-04-11
US62/656,144 2018-04-11
PCT/US2019/026315 WO2019195829A1 (en) 2018-04-06 2019-04-08 Reducing motion vector information transmission in bi-directional temporal prediction

Publications (1)

Publication Number Publication Date
CN112106369A true CN112106369A (zh) 2020-12-18

Family

ID=68097544

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980031144.4A Pending CN112106369A (zh) 2018-04-06 2019-04-08 减少双向时间预测中的运动矢量信息传输

Country Status (4)

Country Link
US (4) US11146796B2 (zh)
EP (1) EP3777173A1 (zh)
CN (1) CN112106369A (zh)
WO (1) WO2019195829A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019026807A1 (en) * 2017-08-03 2019-02-07 Sharp Kabushiki Kaisha SYSTEMS AND METHODS FOR PARTITIONING VIDEO BLOCKS IN INTER VIDEO PREDICTION WAFER
EP4087252A4 (en) * 2019-12-31 2023-01-25 Guangdong Oppo Mobile Telecommunications Corp., Ltd. TRANSFORMATION METHOD, ENCODER, DECODER AND STORAGE MEDIUM
WO2021246791A1 (ko) * 2020-06-03 2021-12-09 엘지전자 주식회사 영상/비디오 코딩 시스템에서 상위 레벨 신택스를 처리하는 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110080954A1 (en) * 2009-10-01 2011-04-07 Bossen Frank J Motion vector prediction in video coding
US20130003851A1 (en) * 2011-07-01 2013-01-03 General Instrument Corporation Motion vector prediction design simplification
CN107113424A (zh) * 2014-11-18 2017-08-29 联发科技股份有限公司 基于来自单向预测的运动矢量和合并候选的双向预测视频编码方法
US20170339405A1 (en) * 2016-05-20 2017-11-23 Arris Enterprises Llc System and method for intra coding

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8526499B2 (en) * 2007-06-15 2013-09-03 Sungkyunkwan University Foundation For Corporate Collaboration Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording medium
US9300943B2 (en) * 2011-01-12 2016-03-29 Panasonic Intellectual Property Corporation Of America Image coding method, image decoding method, image coding apparatus, and image decoding apparatus
US10171813B2 (en) * 2011-02-24 2019-01-01 Qualcomm Incorporated Hierarchy of motion prediction video blocks
EP3136727B1 (en) * 2011-04-12 2018-06-13 Sun Patent Trust Motion-video coding method and motion-video coding apparatus
US9247249B2 (en) * 2011-04-20 2016-01-26 Qualcomm Incorporated Motion vector prediction in video coding
US9456214B2 (en) * 2011-08-03 2016-09-27 Sun Patent Trust Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus, and moving picture coding and decoding apparatus
US10044466B2 (en) * 2015-01-08 2018-08-07 Arris Enterprises Llc Server-side adaptive bit rate control for DLNA HTTP streaming clients
WO2016138513A1 (en) * 2015-02-27 2016-09-01 Arris Enterprises, Inc. Modification of unification of intra block copy and inter signaling related syntax and semantics
US10560712B2 (en) * 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
US10448010B2 (en) * 2016-10-05 2019-10-15 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding
US10681370B2 (en) * 2016-12-29 2020-06-09 Qualcomm Incorporated Motion vector generation for affine motion model for video coding
US10728542B2 (en) * 2018-04-09 2020-07-28 Tencent America LLC Methods and apparatuses for sub-block motion vector prediction
US10986343B2 (en) * 2018-04-15 2021-04-20 Arris Enterprises Llc Reducing overhead for multiple-hypothesis temporal prediction
US10469869B1 (en) * 2018-06-01 2019-11-05 Tencent America LLC Method and apparatus for video coding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110080954A1 (en) * 2009-10-01 2011-04-07 Bossen Frank J Motion vector prediction in video coding
US20130003851A1 (en) * 2011-07-01 2013-01-03 General Instrument Corporation Motion vector prediction design simplification
CN107113424A (zh) * 2014-11-18 2017-08-29 联发科技股份有限公司 基于来自单向预测的运动矢量和合并候选的双向预测视频编码方法
US20170339405A1 (en) * 2016-05-20 2017-11-23 Arris Enterprises Llc System and method for intra coding

Also Published As

Publication number Publication date
US11533492B2 (en) 2022-12-20
US11146796B2 (en) 2021-10-12
US20240146937A1 (en) 2024-05-02
US20230054151A1 (en) 2023-02-23
WO2019195829A1 (en) 2019-10-10
EP3777173A1 (en) 2021-02-17
US20190313105A1 (en) 2019-10-10
US20210274192A1 (en) 2021-09-02

Similar Documents

Publication Publication Date Title
US11936856B2 (en) Template matching for JVET intra prediction
US11956445B2 (en) Reducing overhead for multiple-hypothesis temporal prediction
US11653027B2 (en) JVET coding block structure with asymmetrical partitioning
US10834409B2 (en) System and method of implementing multiple prediction models for local illumination compensation
US20170339405A1 (en) System and method for intra coding
US11259027B2 (en) System and method for constructing a plane for planar prediction
US20190320196A1 (en) Motion Information Storage for Video Coding and Signaling
EP3443746B1 (en) Template matching for jvet intra prediction
US11533492B2 (en) Reducing motion vector information transmission in bi-directional temporal prediction
US20190253722A1 (en) Variable template size for template matching
US20240223754A1 (en) Template matching for jvet intra prediction
CN111955009A (zh) 不等权重平面运动矢量导出

Legal Events

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