CN105850133B - 用于下一代视频译码的方法、装置及译码器 - Google Patents

用于下一代视频译码的方法、装置及译码器 Download PDF

Info

Publication number
CN105850133B
CN105850133B CN201480070427.7A CN201480070427A CN105850133B CN 105850133 B CN105850133 B CN 105850133B CN 201480070427 A CN201480070427 A CN 201480070427A CN 105850133 B CN105850133 B CN 105850133B
Authority
CN
China
Prior art keywords
reference frame
prediction
frame
motion
warped
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.)
Expired - Fee Related
Application number
CN201480070427.7A
Other languages
English (en)
Other versions
CN105850133A (zh
Inventor
A·普瑞
N·戈克豪尔
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.)
Intel Corp
Original Assignee
Intel Corp
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
Priority claimed from PCT/US2013/078114 external-priority patent/WO2014120374A1/en
Application filed by Intel Corp filed Critical Intel Corp
Priority claimed from PCT/US2014/024694 external-priority patent/WO2015099816A1/en
Publication of CN105850133A publication Critical patent/CN105850133A/zh
Application granted granted Critical
Publication of CN105850133B publication Critical patent/CN105850133B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/117Filters, e.g. for pre-processing or post-processing
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/46Embedding additional information in the video signal during the compression process
    • 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/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/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
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • 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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

用于视频译码的计算机实现的方法包括:获得像素数据帧并具有当前帧和用作当前帧的运动补偿参考帧的经解码参考帧、通过使用全局运动轨迹将经解码参考帧的至少一个部分移位来形成经弯曲的全局补偿参考帧、确定指示所述至少一个部分的运动和从基于经弯曲的全局补偿参考帧的位置到当前帧处的位置的运动的运动矢量、和形成至少部分地基于所述运动矢量且对应于当前帧上的部分的预测部分。

Description

用于下一代视频译码的方法、装置及译码器
相关专利申请
本申请要求2013年12月27号提交的国际申请第PCT/US2013/078114号的权益,该公开整体地明确结合于此用于所有用途。
背景技术
视频编码器压缩视频信息从而可以在给定带宽上发送更多的信息。可随后将经压缩的信号发送到具有在信号显示之前将信号解码或解压缩的解码器的接收器。
高效视频译码(HEVC)是最新的视频压缩标准,该标准是由ISO/IEC运动图像专家组(MPEG)和ITU-T视频译码专家组(VCEG)组成的视频译码联合协作团队(JCT-VC)开发的。HEVC是响应于之前的H.264/AVC(先进视频译码)标准未提供足够的压缩用于演化更高分辨率的视频应用而开发的。与之前的视频译码标准相似,HEVC包括基本的功能性模块,诸如帧内/帧间预测、变换、量化、环路内过滤、和熵编码。
进行中的HEVC标准可视图改善H.264/AVC标准的限制,诸如有限的对于经允许的预测分区和译码分区的选择、有限的经允许的多个参考和预测生成、有限的变换块尺寸和实际变换、有限的用于减少译码伪像的机制、和低效的熵编码技术。然而,进行中的HEVC标准可使用迭代方法来解决这样的问题。
例如,随着不断增长的待压缩视频的分辨率和对高视频质量的期望,使用诸如H.264的已有视频译码标准或甚至诸如H.265/HEVC的演化中的标准进行译码所要求的相对应的比特率/带宽相当高。前述标准适用传统方法的扩展形式来隐式地解决低效压缩/质量问题,但结果通常是有限的。
在下一代视频(NGV)编解码器项目的上下文内发展的本描述解决了设计最大化可用的压缩效率同时保持对于在设备上实现足够实际的先进视频译码的一般问题。例如,随着由于优良显示器的可用性而不断增长的视频分辨率和对高视频质量的期望,使用诸如较早的MPEG标准和甚至较新的H.264/AVC标准的已有视频译码标准所要求的相对应的比特率/带宽相当高。H.264/AVC不被感知为针对演化中的更高分辨率的视频应用提供足够高的压缩。
附图说明
本文所描述的内容是作为示例的方式而不是作为限制的方式在附图中示出的。为了图示的简明和清晰起见,图中示出的元素不必按尺寸绘制。例如,为了清晰,可以将一些元素的尺寸相对于其它元素放大。而且,在认为合适的地方,在图中重复了引用标签以指示相对应的或类似的元素。在附图中:
图1是示例下一代视频编码器的说明性图;
图2是示例下一代视频解码器的说明性图;
图3(a)是示例下一代视频编码器和子系统的说明性图;
图3(b)是示例下一代视频解码器和子系统的说明性图;
图4是经修改的预测参考图片的说明性图;
图5是用于解释提供超级分辨率的合成参考帧的方法的帧序列的图;
图6是示例编码器子系统的说明性图;
图7是示例解码器子系统的说明性图;
图8是示例编码器预测子系统的说明性图;
图9是示例解码器预测子系统的说明性图;
图10是示出用来解说使用运动矢量的主运动补偿的帧的说明性图;
图11是执行主运动补偿的方法的流程图;
图12是主运动补偿的另一个方法的流程图;
图13是使用运动矢量的主运动补偿的详细的方法的流程图;
图14-16是示出了解释全局运动补偿的帧的说明性图;
图17是示出了使用运动矢量的主运动补偿的帧的说明性图;
图18是编码器处的主运动补偿子系统的图;
图19是解码器处的主运动补偿子系统的图;
图20-23是示出了使用运动矢量的替换性主运动补偿技术的帧的图;
图24是编码器处的主运动补偿子系统的图;
图25是解码器处的主运动补偿子系统的图;
图26是使用局部全局运动补偿的主运动补偿的详细的方法的流程图;
图27-31是使用局部全局运动补偿的替换性主运动补偿技术的图;
图32是编码器处的主运动补偿子系统的图;
图33是解码器处的主运动补偿子系统的图;
图34是示例视频译码系统和视频译码过程操作的图;
图35是示例视频译码系统的说明性图;
图36是示例系统的说明性图;以及
图37解说了示例网络环境。
具体实施方式
现在参考附图描述了一个或多个实现。尽管讨论了具体配置和安排,但应当理解,这仅是出于说明的目的。相关领域的技术人员将意识到可以采用其它配置和安排而不背离本描述的精神和范围。对于相关领域的技术人员显而易见的是,本文所描述的技术和/或安排也可以在本文所描述的那些之外的各种其它系统和应用中采用。
尽管以下描述阐述了可以表现在例如片上系统(SoC)架构的架构中的各种实现,但本文所描述的技术和/或安排的实现不限于特定架构和/或计算系统,并可以通过出于类似目的的任何架构和/或计算系统来实现。例如,采用例如多个集成电路(IC)芯片和/或包的各种架构和/或诸如机顶盒、智能电话等等的各种计算设备和/或消费电子(CE)设备可以实现本文所描述的技术和/或安排。而且,尽管以下描述可以阐述诸如逻辑实现、系统组件的类型和相互关系、逻辑分区/集成选择等的众多具体细节,但没有这些具体细节也可以实践所要求保护的主题。在其它实例中,诸如例如控制结构和完整软件指令序列的一些内容,可以不详细示出以便不妨碍本文所公开的内容。
本文所公开的内容可以用硬件、固件、软件或其任何组合来实现。本文所公开的内容也可以实现为存储在机器可读介质上的指令,该指令可以由一个或多个处理器读取和执行。机器可读介质可以包括用于以可由机器(例如计算机设备)读的形式存储或传输信息的任何介质和/或机制。例如,机器可读介质可以包括只读存储器(ROM);随机访问存储器(RAM);磁盘存储介质;光存储介质;闪存设备;电子、光学、声学或其它形式的传播信号(例如载波、红外信号、数字信号等)及其它。
说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用表示所描述的实现可以包括特定特征、结构或特性,但是,每一个实现可以不必包括该特定特征、结构,或特征。此外,这些短语不必指同一实现。而且,当结合实现描述特定特征、结构或特性时,不管是否在本文明确描述,结合其它实现来实现这样的特征、结构或特性被认为是在本领域技术人员的知识范围内。
下面描述了关于用于下一代视频译码的主运动补偿预测的系统、装置、制品和方法。
如以上讨论的,H.264/AVC译码标准尽管代表了比过去的MPEG标准的进步,但由于以下原因它在预测选择上仍非常有限:对于经允许的预测分区的选择非常有效、用于预测分区的预测准确性有限、且经允许的多个参考预测非常有效,因为他们是基于过去的经解码帧而离散的而不是基于来自许多帧的分辨率累积。诸如H.264的现有标准的状态的前述限制是通过使用迭代方法解决这些限制的HEVC中正在进行的工作来识别的。
而且,经改善的预测的问题当前正以自组织方式通过在视频的帧间译码中的运动补偿预测的过去和/或未来使用经解码的多个参考来解决。这样做是希望在过去或未来帧中,可能有一些与过去帧(对于P-图片/片)或者在过去和未来帧(对于B-图片/片)相比与正被预测的当前帧的区域更相似的一些区域。
如下面就更详细描述的,诸如本公开的主运动补偿预测过程的一些预测形式可能不可被已有的标准支持。在下一代视频(NGV)编解码器项目的上下文内发展了本公开以解决设计最大化压缩效率同时保持对于在设备上实现足够实际的新视频译码方案的问题。具体而言,本文公开了称为局部自适应主运动补偿预测(或简称为主运动补偿预测)的新型预测,该预测提供改进的预测,改进的预测进而减少预测错误,从而改善整体视频译码效率。
更具体而言,本文所述的技术可不同于基于标准的方法,因为该技术自然地包括视频译码过程中基于显著内容的自适应以达到更高的压缩率。通过比较,基于标准的视频译码方法通常倾向于通过适配和对传统方法的精细调谐而挤压出更高的增益。例如,所有基于标准的方法高度依赖于对运动补偿帧间译码的改编和进一步调节作为减少预测差异以达到增益的主要手段。另一方面,本文公开的一些视频译码实现在利用由于运动的帧间差异之外,还利用在典型视频场景中自然存在的其它类型的帧间差异(增益、模糊、注册、主/全局运动),以及仅从过去的经解码帧或从过去和未来的经解码帧的组合合成的帧的预测优势。在NGV译码中,用于预测的经变形的帧包括主运动补偿(DMC)预测。在本文公开的一些视频译码实现中,用于预测的经合成的帧包括超级分辨率(SR)帧和投影内插(PI)帧。在利用除了运动之外的帧间差异的其他源的问题之外,本文公开的一些视频译码实现也以其他方式不同于标准。
关于主运动补偿(DMC),改善对于预测的运动补偿是最近的视频译码标准和解决方案中达到更高译码效率的关键之一。例如,对于基于块的运动补偿,正被分析的当前帧的块(诸如16×16像素块)在运动估计期间匹配到之前解码的参考帧中的相似块。从一个帧到其他帧关于块网格在x和y方向上的位移称为运动矢量,其中“x”和“y”是称为mvx、mvy的分量。运动估计过程因此涉及估计块的运动以确定每一个块的mv(mvx,mvy)。随后将计算的运动估计有效地编码(通过首先用预测去减他们,和对差额熵编码)并经由比特率发送至解码器,在解码器将他们解码(通过熵解码和将预测加回去)并用于运动补偿。在高度有效的压缩方案中,运动估计补偿是通过对于预测块的生成使用固定或自适应内插过滤器而以高准确性(诸如1/4像素或1/8像素准确性而不是整数像素准确性)执行的。此外,一般而言块尺寸自身可以是正方形或非正方形(例如,16×8、8×16)并有多个尺寸(例如,4×4、8×8、16×16及其他)。
尽管H.264包括几个生成从基于块的运动矢量导出的预测的好方式,但这可导致两个限制:(1)无论块尺寸或参考,基于块的运动矢量全部都是基于平移运动的假设而建模的,这可忽略帧之间运动的替换性类型并导致大预测错误,和(2)尽管基于块的运动矢量提供局部运动的良好补偿,但与基于块的运动相关联的固有的大量比特成本可以限制潜在增益,否则潜在增益可以是可能的。改善涉及使用可变尺寸的块,这帮助减少计算开销,但计算开销的减少仍是相当有限的。
对于正经历诸如相机遥摄(平移)、缩放、旋转的全局运动的视频内容或者有特效(诸如修剪)的视频内容中,基于块的平移运动表示和运动矢量译码可以是特别低效的。由于实现使得视频中的全局运动可以由于从平移运动模型导致的大预测而呈现对基于块的预测的挑战,以及大量的运动矢量计算开销,由于可能适于非平移/复杂运动而调查了直接估计/补偿全局运动的替换性方法,以及更紧凑的运动参数表示,因为每图片仅需要一次运动参数(注意本文中术语帧与术语图片可互换地使用)。在用于全局运动的运动模型选择中,提供显著改善的两个模型是仿射(affine)模型和角度(perspective)模型。仿射模型使用六个参数并能够解决大范围的复杂运动(平移、缩放、修剪和旋转)。在典型过程中,模型产生用来形成预测的弯曲帧,通过读取弯曲帧上的块来形成预测。角度模型比仿射模型更复杂,并且在对于仿射列出的运动之外,此方法也可以处理角度改变。由于角度模型更高的复杂度,此处未详细讨论,但一般而言角度模型可以以与仿射模型相同的方式应用。下面讨论了全局运动补偿的细节,至少如由本文的系统和过程使用时的细节。
尽管使用基于仿射模型的全局运动估计/补偿(GME/C)对于有全局运动的场景比使用基于块的平移运动有可观的改善,一般而言视频场景可以分类成三种情况之一:(1)只有全局运动的场景,(2)只有局部运动的场景,和(3)包含局部和全局运动二者的场景。因此,一般而言,全局和局部运动技术二者需要组合以达到视频译码的良好效率。MPEG-4第2部分支持非常基本的全局和局部运动技术的组合。具体而言它支持基于16×16亮度块(及其可选的8×8子块)的局部运动估计/补偿、发展基于全局运动轨迹(gmt)参数的运动补偿的基于图片的仿射模型、和用于局部或全局运动(lgm)的允许选择什么时候使用什么方法的基于16×16块逐块的标记。
尽管MPEG-4第2部分标准代表对过去的MPEG或ITU-T标准的改善(由于包括全局运动和其他方面),但由于以下原因它仍然仅提供对运动补偿预测的有限改善。尽管允许局部和全局运动补偿的组合,但局部运动补偿发生在非常小的块尺寸(最大16×16尺寸)。因此,以16×16为基础,用信号表示什么时候使用局部对比全局运动补偿有可观的计算开销。由于GMC此计算开销剪切成可能的增益。而且,由于P-图片仅使用一个参考帧且B-图片仅使用两个,GMC被限制为仅在紧前过去的经解码帧上应用。而且,全局运动参数对于整个图片(包括在其中发现局部运动更适合的块)仅计算一次,导致全局运动参数通常不准确,特别是在包含局部和全局运动二者的混合的帧的情况中。否则,除了使用或不使用全局运动补偿预测之外,没有对GMC生成的预测的调整或修正是可能的。最后,用于生成内插(例如,1/4或1/8像素精度)的过程是简化的并导致模糊预测。
这些困难由包括由本文所述的主运动补偿改善的预测的NGV视频译码系统所使用的新的和创新性方法解决了。作为一个示例,由于视频中的全局运动可以呈现对基于块的预测的挑战(由于平移运动模型导致的更大预测,和大量的运动矢量计算开销),由于可能适于非平移的或复杂的运动而调查了直接估计和补偿全局运动的替换性方法,以及更紧凑的运动参数表示现在可用了,因为每帧仅需要一次运动参数。在用于全局运动的运动模型选择中,提供显著优势的两个模型仍是仿射(affine)模型和角度(perspective)模型。仿射模型使用六个参数并能够解决大范围的复杂运动,同时角度模型更复杂和灵活,但可以使用多达8个参数。仿射模型对于许多情况可能已经足够,并可以允许对于诸如平移、缩放、修剪和旋转的运动类型的全局补偿。
尽管使用基于仿射模型的全局运动估计或补偿(GME/C)对于有全局运动的场景比使用基于块的平移运动有可观的改善,但现实中此处组合了基于块的局部和全局运动二者以得到最好的译码效率的结果。而且,仿射模型也可以针对场景中的非重叠瓦块(tile)、或区域/物体的运动补偿而应用。这导致多个全局运动参数集,且称过程为执行主运动补偿(DMC)。
如本文所使用的,术语“译码器”(coder)可指编码器和/或解码器。类似地,如本文所使用的,术语“译码”可指经由编码器执行视频编码和/或经由解码器执行视频解码。例如,视频编码器和视频解码器可二者都是能够将视频数据译码的译码器的示例。而且,如本文所使用的,术语“编解码器”(codec)可指任何过程、程序或操作集,诸如例如可实现编码器和/或解码器的软件、固件和/或硬件的任何组合。而且,如本文所使用的,短语“视频数据”可指与视频译码相关联的任何类型的数据,诸如例如视频帧、图像数据、经编码的比特率数据等诸如此类。
参考图1,根据本公开的至少一些实现安排了示例下一代视频编码器100。如所示的,编码器100可接收输入视频101。输入视频101可包括用于编码的任何使用输入视频,诸如例如视频序列的输入帧。如所示的,输入视频101可经由内容预分析器模块102接收。内容预分析器模块102可被配置成执行对输入视频101的视频帧的内容的分析以确定用于改善视频译码效率和速度性能的各种类型的参数。例如,内容预分析器模块102可确定水平和垂直梯度信息(例如,Rs、Cs)、方差、每帧的空间复杂度、每帧的时间复杂度(tpcpx)、场景改变检测、运动范围估计、增益检测、预测距离估计(pdist)、物体数量估计、区域边界检测、空间复杂度映射计算、焦点估计、胶片粒度估计等等之类。由内容预分析器模块102生成的参数可由编码器100使用(例如,经由编码控制器103)和/或经量化并通信给解码器。如所示的,视频帧和/或其他数据可从内容预分析器模块102发送到自适应图片组织器模块104(也称为分层图片组结构组织器)。自适应组织器模块104确定图片组结构和组中每一个图片的图片类型,以及按需要将图片重排序成编码次序。自适应组织器模块104输出指示图片组结构和图片类型的控制信号(下面引用了系统100上示出的输出/输入控制的缩写)。本文所述的NGV译码使用I-图片(帧内译码)、P-图片(从来自过去/先前的参考帧的帧间预测而形成)、和F-图片(如以下所述的工作)。在一些情况中,也可能使用B-图片。在一些示例中,自适应图片组织器模块104可包括配置成生成帧部分的帧部分生成器。在一些示例中,内容预分析器模块102和自适应图片组织器模块104可一起被认为是编码器100的预分析器子系统。
如所示的,视频帧和/或其他数据可从自适应图片组织器模块104发送到预测分区生成器模块105。在一些示例中,预测分区生成器模块105首先可将帧或图片划分成瓦块或超级片段等等之类(本文中术语帧、图片和图可互换地使用,除非另外地说明且除了帧一般用来指不必分配具体图片类型(例如,I、P、F或B-图片的帧)。在一些示例中,可提供附加模块(例如,在模块104和105之间)用于将帧划分成瓦片或超级片段等等之类。作为NGV译码的一个示例,可将帧划分成32×32或64×64像素的瓦块,其中64×64用于所有的标准定义且更高分辨率的视频用于所有图片类型(I-、P-、或F-)的译码。对于低分辨率序列,64×64仍用于I-和F-图片的译码,而32×32用于P-图片。
通过一个示例,预测分区生成器模块(也可称为预测Kd树/二叉树分区生成器)105可随后将每一个瓦块或超级片段划分成可能的预测划分或分区。在一些示例中,可能的预测分区可使用诸如例如k-d树划分技术、二叉树划分技术等等之类的划分技术来确定,划分技术可基于个别视频帧的图像类型(例如,I-、P-或F-图片)、被分区的帧部分的特性等等之类而确定。作为一个示例,如果对I-图片译码,则每个瓦块或几乎所有瓦块进一步划分成基于Kd树的分区,该分区可划分空间直到达到设置的最小尺寸并且一次一个维度。划分空间的选项可包括不再划分、划分成两个相等的一半、划分成空间的1/4和3/4的两个部分、或划分成空间的3/4和1/4的两个部分。因此,对于使用64×64作为最大尺寸(并允许4×4的最小尺寸)的I-图片,如果未施加其他约束则可以生成非常大量的瓦块分区。例如,一个约束是设置第一对切割对于64×64瓦块是预先决定为将空间中水平和垂直维度都二分从而形成四个32×32的子瓦块,并随后通过Kd树分区将每一个32×32的子瓦块进行子划分。减少可能的分区组合的数量的其他约束也是可能的。
I-图片瓦块的这些分区称为预测分区,因为每一个瓦块分区可用于空间预测(方向角度预测或其他类型的预测)和预测差额译码。类似地,P-图片瓦块也可以用这种方式分区用于预测,除了对于较低分辨率,P-图片分区从32×32瓦块开始,且不使用基于Kd树的分区而是使用更简单的二叉树划分。二叉树划分将空间划分成两个相等的部分,一次一个维度,在两个维度之间替换。而且P-图片分区主要使用运动(有一个或多个参考)而不是空间预测来预测,尽管一些子分区可以使用帧内空间预测以处理例如未覆盖的背景。对于更高分辨率的图像尺寸的标准定义,P-图片在被划分之前从64×64的瓦块开始。最后,F-图片也使用二叉树划分并从64×64瓦块开始用于生成主要使用运动(有一个或多个分区)的预测分区,尽管一些子分区也可以使用空间预测(用于帧内译码)。
替换性地,本文所述的方法可在HEVC上执行,在HEVC上最大译码单元(LCU)(也称为译码树单元(CTU))可划分成译码树块(CTB),译码树块自身可划分成译码单元(CU)。这样的LCU可以是64×64像素的。因此,如本文所使用的瓦块涵盖HEVC并一般指诸如LCU或者是比16×16像素的宏块(MB)大的块的大块,除非上下文另外地提议了。
在NGV译码中,对帧间预测数据的生成远不止是使用运动矢量生成预测,并在别处进行了讨论。在P-和F-图片译码中,每一个子分区的预测是通过包括预测模式来标识的。预测模式包括跳过、自动、帧内、帧间、多个和拆分。跳过模式用来在例如从参考帧到正重构的当前帧没有或有相当小的改变时跳过预测译码,从而不需要将像素数据编码而只是在解码时从一个帧复制到另一个。自动模式在仅需要部分数据时使用,从而例如可不需要运动矢量但仍使用变换系数来对数据译码。帧内模式意味着帧或分区是经空间译码的。拆分意味着帧或分区需要在进行译码之前拆分成更小的部分或分区。帧间模式意味着对于当前帧确定了多个参考帧,且运动估计是通过单独使用每一个参考而获得的,且随后将最好结果用于运动预测数据。多个模式也使用多个参考帧,但在此情况中,将来自多个参考帧的运动估计数据组合,诸如进行平均、或加权平均,以获得用于预测的单个结果。
预测分区生成器模块105的输出之一可以是瓦块的数百个潜在划分(以及取决于分区上放置的限制而更多或更少的分区)。将这些分区索引为1…m并提供给编码控制器103以选择最好的可能的预测划分来使用。如所述,所确定的潜在预测划分可以是用于预测(例如,帧间或帧内预测)的分区并可描述为预测分区或预测块等等之类。
在一些示例中,所选择的预测划分(例如,预测分区)可从潜在预测划分中确定。例如,所选择的预测划分可以是基于对于每一个潜在预测划分使用特性和基于多参考预测或帧内预测的运动而确定预测和确定预测参数。对于每一个潜在预测划分,潜在预测错误可通过用原始像素差分预测像素来确定,且所选择的预测划分可以是有最小预测错误的潜在预测划分。在其他示例中,所选择的预测划分可以是基于包括基于用于将划分译码的比特的数量的加权分数的率失真优化(rate distortion optimization)和与预测划分相关联的预测错误的。
如所示的,所选择的预测划分(例如,当前帧的预测分区)的原始像素可在差分器106用经预测的分区(例如,基于参考帧或诸参考帧和诸如帧间或帧内预测数据的其他预测性数据的地区帧的预测分区中的分区)差分。下面将进一步描述经预测的分区的确定并可如图1中所示包括解码循环135。至于差分,原始经分区的块也用预测块差分以确定是否存在任何使编码有必要的驻留信号。因此,不是瓦块的所有子分区都实际需要进行译码(例如使用变换译码),因为对于某些子分区预测可能已经足够。
否则,可将来自只是分区不能单单由预测补偿的(诸如单单运动补偿)的差分的任何驻留物或驻留数据(例如,预测分区错误数据)发送至译码分区生成器模块(或者作为一个示例发送至译码二叉树分区生成器)107以将其进一步子分区成更小的分区用于变换译码(译码分区),并且作为一个示例特别是针对P-图片和F-图片。在P-或F-图片或帧中,在存在非常简单的内容和/或大量化器步骤尺寸的一些情况中,译码分区可以等于整个瓦块的尺寸,或者译码分区和预测分区在这些情况中可以有相同的尺寸。因此,一些P-和F-瓦块可不包含译码划分、包含一个译码划分、或多个译码划分。将这些译码分区索引为1…n,并提供给编码控制器103以从给定选项中选择预测和译码划分的最好的可能组合。
而且,在这些示例中的一些中,诸如对于任何图片类型(I-、F-或P-图片)中的预测分区的帧内预测,或者否则在预测分区不进一步划分处译码分区(其中跳过了译码分区)的时候,译码分区生成器模块107可经由开关107a和107b来旁路掉。在这样的示例中,仅单层划分可被执行。其中仅单层划分存在的这样的划分,可描述为预测划分(如所讨论的)或译码划分或二者。在各种示例中,这样的划分可经由预测分区生成器模块105来执行(如所讨论的),或者如本文进一步讨论的,这样的划分可经由经由译码分区生成器模块107实现的k-d树帧内预测/译码分区器模块或二叉树帧内预测/译码分区器模块来执行。
在一些示例中,如果有的话,分区预测错误数据可能不够显著到使得编码有必要。在其他示例中,在期望编码分区预测错误数据且分区预测错误数据与帧间预测等等之类相关联的时候,译码分区生成器模块107可确定预测分区的译码分区。在一些示例中,可不需要译码分区生成器模块107,因为可不需要译码划分而将分区编码(例如,如经由可经由开关107a和107b可用的旁路路径所示的)。有或没有译码划分,在驻留物或驻留数据要求编码的事件中可将分区预测错误数据(也可随后在任一事件中描述为译码分区)发送至自适应变换模块108。在一些示例中,分区预测生成器模块105和译码分区生成器模块107可一起被认为是编码器100的分区子系统。在各种示例中,译码分区生成器模块107可在分区预测错误数据、原始像素数据、驻留数据、或小波数据上操作。译码分区生成器模块107可使用二叉树和/或k-d树划分技术等等之类生成分区预测错误数据的潜在译码划分(例如译码分区)。
在划分之后(在对于I-图片形成预测分区和对于P-和F-图片形成译码分区以及在一些示例中形成潜在译码分区之后),分区可使用有各种块尺寸的自适应或固定的变换经由自适应变换模块108来变换(在一种形式中也称为自适应多尺寸矩形混合参数Haar变换(HPHT)/离散余项变换(DCT)单元)。作为一种方法,自适应变换模块108可在矩形块上执行前向HPHT或前向DCT。作为一个示例,分区/块尺寸以及所选择的变换(例如,自适应或固定的,和HPHT或DCT)可基于率失真优化(RDO)或其他基础来确定。在一些示例中,所选择的译码划分和/或所选择的变换二者都可基于基于译码分区尺寸等等之类的预定选择方法来确定。例如,自适应变换模块108可包括用于执行参数变换以允许小到中等尺寸块的局部最优变换译码的第一部分或组件,以及用于执行从包括参数变换或任何其他配置的各种变换中使用固定变换诸如DCT或基于图片的变换的全局稳定、低计算开销变换译码的第二部分或组件。在一些示例中,对于局部最优变换译码可执行HPHT。在一些示例中,变换可在尺寸在4×4像素和64×64像素之间的2D矩形块上执行,其实际尺寸取决于多个因素,诸如所变换的数据是亮度还是色度、或者帧间或帧内、或者所确定使用的变换是PHT或DCT等等之类。
对于HPHT变换,支持小到中等块尺寸而对于DCT变换支持大数目的块尺寸。对于HPHT变换,需要一些计算开销来标识方向,DCT所应用的水平或垂直方向同时PHT在其对角线方向是应用,以及模式(至少对于帧内译码,模式可基于经解码的像素或预测差分像素)用于变换具体块的实际PHT变换基础可以是内容自适应的,因为其取决于经解码的邻居像素。由于编码器和解码器二者都要求同一基础矩阵的计算,通过允许可从中进行选择的有限数量的(编码器和解码器二者都)已知的好变换来保持低计算复杂度。
如所示的,可将产生的变换系数发送至自适应量化器模块109,同时编码控制103处的量化器适配器控制133执行内容分析以得到局部自适应量化参数,该局部自适应量化参数可随后通过可经有效译码并包括在比特流中的多层映射来表示。所计算的量化器集(qs和应用于系数块的矩阵)可由自适应量化器模块109使用以执行所产生的变换系数的缩放。而且,在需要时可将与参数变换相关联的任何数据发送至自适应量化模块109(如果期望量化)或自适应熵编码器模块110中任何一个。也如图1中所示,可将经量化的系数扫描并发送至自适应熵编码器模块110。自适应熵编码器模块110可将经量化的系数熵编码并将他们包括在输出比特流111中。在一些示例中,自适应变换模块108和自适应量化模块109可一起被认为是编码器100的变换编码器子系统。
也如图1中所示,编码器100包括形成经预测的分区(或帧)以用于与如上述的预测分区比较的局部解码循环135。初步而言,取决于RDO操作,不是上述数百个或更多瓦块分区中的全部都需要完全译码,诸如当比特计数的查找足够时。然而,一旦确定了瓦块的最佳划分,在这个情况中可提供完全译码。
局部解码循环135可在自适应逆量化模块112处开始。自适应逆量化模块112可被配置成执行自适应量化模块103的相反操作从而可执行逆扫描且可将经量化的系数去缩放以确定变换系数。例如,这样的自适应量化操作可以是有损的。如所示的,可将变换系数发送至自适应逆变换模块113。自适应逆变换模块113可执行例如由自适应变换模块108执行的变换的逆变换以生成与译码分区相关联的驻留物或驻留值或者分区预测错误数据(或原始数据或小波数据,如所讨论的)。在一些示例中,自适应逆量化模块112和自适应逆变换模块113可一起被认为是编码器100的变换解码器子系统。
如所示的,可将P和F-图片的分区预测错误数据(等等之类)发送至可选的译码分区装配器114。译码分区装配器114可将译码分区按需要(如所示的,在一些示例中对于诸如I-图片瓦块划分可经由开关114a和114b跳过译码分区支配器114从而经解码的预测分区可能已经在自适应逆变换模块113处生成)装配成经解码的预测分区以生成预测错误数据的预测分区或经解码的驻留预测分区等等之类。如所示的,经解码的驻留预测分区(帧间或帧内)可在加法器115加到经预测的分区上(例如,预测像素数据)以生成经重构的预测分区。可将经重构的预测分区发送至预测分区装配器116。预测分区装配器116可支配经重构的预测分区以生成经重构的瓦块或超级片段。在一些示例中,译码预测装配器模块114和预测分区装配器模块116可一起被认为是编码器100的去分区化器子系统。
下一组步骤涉及过滤,以及过滤和预测生成的互相混合。总共示出了四种类型的过滤。具体而言,图1中经重构的分区由块效应分析器及去块化过滤模块(也称为重构块效应分析器及DD过滤生成)117解除块并抖动。所产生的用于分析的参数ddi用于过滤操作并且也被译码和经由比特流111发送到解码器。随后将经去块化经重构输出传递给质量分析器及质量还原过滤模块(或者也成为重构质量分析器及QR过滤生成的质量改善过滤器)118,该模块计算QR功率参数并将它们用于过滤。这些参数也经译码并具有比特流111发送至解码器。QR经过滤输出是也用作对未来帧译码的预测的最终经重构或经解码帧。
更具体而言,当经重构的瓦块或超级片段可被发送至块效应分析器和去块化过滤模块117时,块效应分析器和去块化过滤模块117可将经重构的瓦块或超级片段(或瓦块或超级片段的预测分区)去块化和抖动。所生成的去块化和抖动过滤参数可用于当前过滤操作和/或在比特流111中经译码以由例如解码器使用。可将块效应分析器和去块化过滤模块117的输出发送至质量分析器和质量还原功率模块118。质量分析器和质量还原过滤模块118可确定QR过滤参数(例如,对于QR分解)和将所确定的参数用于过滤。QR过滤参数也可经译码在比特流111中以由解码器使用。在一些示例中,块效应分析器和去块化过滤模块117和质量分析器和质量还原过滤模块118可一起被认为是编码器100的过滤子系统。在一些示例中,质量分析器和治疗还原过滤模块118的输出可以是可用于译码其他帧的预测的最终经重构的帧(例如,最终经重构的帧可以是参考帧等等之类)。因此,如所示的,可将质量分析器和质量还有过滤模块118的输出发送至多参考帧存储和帧选择器(或多参考控制)119,119也可称为或可包括经解码的图像尺寸或缓冲区。依赖性逻辑模块128(在一个示例中,也称为层级图片组结构的mod多参考pred的依赖性逻辑)可提供索引用于将参考帧和真之间的关系诸如真依赖性(或更具体而言分区依赖性)列表以用于正确排序和由多参考控制119在某些帧将被选择用于另一帧的预测时用于帧。这可包括提供图片组结构的依赖性逻辑,诸如多参考预测、链预测、层级结构和/或如下所述的其他预测技术。
下一步,编码器100可执行帧间和/或帧内预测操作。如图1中所示,帧间预测可由包括变形生成和局部缓冲区模块120(在一个示例中称为变形生成及局部缓冲区(MorphGen&Loc Buf),或本文称为环路内变形生成模块)、合成生成和局部缓冲区模块121(在一个示例中称为合成生成器及图片缓冲区(Synth Gen&Pic Buffer)或本文称为环路内合成生成模块)、运动估计器122、特性和运动过滤和预测器模块123(在一些示例中也可称为特性和运动AP过滤分析器及1/4和1/8像素补偿预测器(Char and Motion AP FilterAnalyzer&1/4&1/8Pel Compensated Predictor))、变形分析器和生成模块(或循环外变形分析器模块)130、及合成分析器和生成模块(或循环外合成分析器模块)132的一个或多个模块,其中变形和合成分析器130和132被认为是循环外的(在编码器中最解码器循环之外)。注意,尽管一个称为分析器和另一个称为生成器,但环路内和环路外模块二者都可执行相同或相似的任务(形成经修改的真和用于变形和/或合成的修改参数)。通过使用这些组件,变形生成模块120或变相分析器130可许可经解码的帧的各种变形形式随后用作其他帧上的运动预测的参考帧。模块120可分析当前图片以确定以下项的变形参数:(1)增益改变,并具体而言对于从一个帧到另一个帧的亮度改变执行增益补偿,(2)如以下详细讨论的主(或全局)运动改变,(3)注册改变,和/或(4)关于参考帧或诸帧的模糊改变,当前图片将用该参考帧或诸帧译码并且是在运动补偿预测之前。
循环外变形分析器130和合成分析器132从自适应图片组织器104接收图片组结构数据并与编码器控制103通信以基于非量化、未解码的原始帧数据而形成变形和合成参数(mop,syp)和经修改的参考帧。来自循环外变形和合成分析器130和132的经修改的参考帧和修改参数的形成可比通过解码器循环135提供的快的多,并且这对于实时编码特别有利。然而,诸如由解码器使用经修改的帧和参数以在另一位置执行补偿应该由环路内变形和合成生成器121和121在编码器的解码循环侧执行,从而当在解码器重构帧时可重复正确的补偿。因此,所产生的来自循环外分析器130和132的修改参数由环路内变形和合成生成器120和121使用来形成经修改的参考帧和用于运动估计器122的运动估计以计算运动矢量。因此,经计算的变形和合成参数(mop和syp)可经量化/去量化和用来(例如,由变形生成模块120)生成可由运动估计器模块122用于计算当前帧的有效的运动(和特性)补偿预测的运动矢量的经变形的参考帧。合成生成模块121使用几种类型的合成帧,尤其是包括超级分辨率(SR)图片、投影内插(PI)图片,在其中运动补偿预测可以通过确定这些帧中的有效运动补偿预测的运动矢量来产生甚至更高的增益。下面提供了执行变形或合成的一些示例的细节。
运动估计器模块122可至少部分地基于经变形的参考帧和/或超级分辨率(SR)图片和投影内插(PI)图片与当前帧一起而生成运动矢量数据。在一些示例中,可将运动估计器模块122看作帧间预测模块。例如,运动矢量数据可用于帧间预测。如果应用了帧间预测,则特性和运动过滤预测器模块123可应用运动补偿作为如所讨论的局部解码循环的一部分。而且,特性和运动过滤预测器模块123可包括其中过滤和预测缠结在一起的自适应精度(AP)过滤。过滤参数(api)经译码并可具有比特流111发送至解码器。
帧内预测可由帧内方向预测分析器和预测生成模块124来执行。帧内方向预测分析器和预测生成模块124可被配置成执行空间方向预测并可使用经解码的邻居分区。在一些示例中,方向的确定和预测的生成二者都可由帧内方向预测分析器和预测生成模块124来执行。在一些示例中,可将帧内方向预测分析器和预测生成模块124看作帧内预测模块。
如图1中所示,预测模式和参考类型分析器模块125可允许如上面所介绍的对预测模式的选择,该选择对于瓦块(或超级片段)的每一个预测分区从“跳过(skip)”、“自动(auto)”、“帧间(inter)”、“拆分(split)”、“多个(multi)”和“帧内(intra)”之中选择,所有这些都可应用于P-和F-图片(以及如果存在应用于B-图片)。应注意,当系统考虑I、P和F图片可用的配置时,在对于B-图片没有变形或合成可用的时候仍然提供B-图片是可能的。除了预测模式之外,也允许对可取决于“帧间”或“多个”模式、以及对于P-和F-图片可以不同的参考类型的选择。预测模式和参考类型分析器模块125的输出处的预测信号可由预测分析器和预测融合过滤模块126来过滤。预测分析器和预测融合过滤模块126可确定用于过滤的参数(例如,过滤系数、频率、计算开销)并可执行过滤。在一些示例中,过滤预测信号可任何表示不同模式(例如,帧内、帧间、多个、拆分、跳过和自动)的不同类型的信号。在一些示例中,帧内预测信号可与索取其他类型的帧间预测信号不同,从而正确的过滤可极大地增强译码效率。在一些示例中,过滤参数可经编码在比特流111中供解码器使用。经过滤的预测信号可如上所述向差分器106提供第二输入,该差分器可确定用于早前讨论的译码的预测差分信号(例如,分区预测错误)。而且,同一经过滤的预测信号可向加法器115提供第二输入,也如上所述。如所讨论的,输出比特流111可提供有效编码的比特流供解码器用于视频的呈现。
在操作中,编码器100的一些组件可作为编码器预测子系统。例如,编码器100的此类编码器预测子系统可包括多参考帧存储和帧选择器109、环路内变形分析器和生成模块120、环路内合成分析器和生成模块121、运动估计器模块122、和/或特性和运动补偿精度自适应过滤预测器模块123以及循环外变形分析器130和合成分析器132。
如下面将更详细讨论的,在一些实现中,编码器100的此类编码器预测子系统可结合多个组件和经组合的由这些组件用有效视频译码算法生成的预测。例如,所提议的NGV译码器的实现可包括以下特征中的一个或多个:1.增益补偿(例如,对于场景中的增益/亮度改变的显式补偿);2.模糊补偿(例如,对于场景中的模糊/锐度改变的显式补偿);3.主/全局运动补偿9例如,对于场景中的主运动的显式补偿);4.注册补偿(例如,对于场景中的注册不匹配的显式补偿);5.增益补偿(例如,对于场景中的分辨率精度改变的显式模型);6.投影(例如,对于场景中的主轨迹改变的显式模型);等等之类和/或其组合。
例如,在编码器100的此类编码预测子系统中,可将质量分析器和质量还原过滤的输出发送至多参考帧存储和帧选择器119。在一些示例中,质量分析器和质量还原过滤的输出可以是可用于译码其他帧的预测的最终经重构的帧(例如,最终经重构的帧可以是参考帧等等之类)。在编码器100中,预测操作可包括帧间和帧内预测。如所示的,帧间预测可由包括变形生成模块120、合成生成模块121、和/或特性和运动补偿精度自适应过滤预测器模块123的一个或多个模块执行。
如下面将更详细描述的,变形生成模块120可分析当前帧以确定相关于用来将当前帧译码的参考帧或诸帧的增益改变、主运动改变、注册改变、和模糊改变的参数。所确定的变形参数可(例如由变形生成模块120)进行量化/去量化和用来生成经变形的参考帧。这样所生成的经变形的参考帧可存储在缓冲区中并可由运动估计器模块122用于计算当前帧的有效运动(和特性)补偿预测的运动矢量。
类似地,合成分析器和生成模块121可生成超级分辨率(SR)图片和投影内插(PI)图片或之类以用于确定这些帧中的有效运动补偿预测的运动矢量。这样所生成的经合成的参考帧可存储在缓冲区中并可由运动估计器模块122用于计算当前帧的有效运动(和特性)补偿预测的运动矢量。
因此,在编码器100的此类编码器预测子系统中,运动估计器模块122可基于经变形的参考帧和/或超级分辨率(SR)图片和投影内插(PI)图片与当前帧一起而生成运动矢量数据。在一些示例中,可将运动估计器模块122看作帧间预测模块。例如,运动矢量数据可用于帧间预测。如果应用了帧间预测,则特性和运动过滤预测器模块123可应用运动补偿作为如所讨论的局部解码循环的一部分。
在操作中,所提议的NGV译码器的实现(例如,编码器100和/或解码器200)可在通常的关于经解码的过去和/或为了图片/切片的局部运动补偿之外使用以上组件中的一个或多个。由此该实现不强制对于例如主运动补偿或对于任何其他特性补偿参考帧生成的具体解决方案。
图1示出了与视频编码器100的操作相关联的示例控制信号,其中以下缩写可表示相关联的信息:
scnchg 场景改变信息
spcpx 空间复杂度信息
tpcpx 时间复杂度信息
pdist 时间预测距离信息
pap 预分析参数(对处理器scnchg、spcpx、tpcpx、pdist之外的所有其他预分析参数的占位符)
ptyp 图片类型信息
pgst 图片组结构信息
pptn cand.预测划分候选
cptn cand.译码划分候选
prp 预处理
xmtyp 变换类型信息
xmdir 变换方向信息
xmmod 变换模式
ethp 八分之一(1/8)像素运动预测
pptn 预测划分
cptn 译码划分
mot&cod cost 运动和译码成本
qs 量化器信息集(包括量化器参数(Qp)、量化器矩阵(QM)选项)
mv 运动矢量
mop 变形参数
syp 合成参数
ddi 去块化和抖动信息
qri 质量还原过滤索引/信息
api 自适应精度过滤索引/信息
fii 融合过滤索引/信息
mod 模式信息
reftyp 参考类型信息
idir 帧间预测方向
可需要被发送至解码器的各种信号和数据项,即pgst、ptyp、prp、pptn、cptn、modes、reftype、ethp、xmtyp、xmdir、xmmod、idir、mv、qs、mop、syp、ddi、qri、api、fii量子系数和其他,可随后由自适应熵编码器110进行熵编码,自适应熵编码器110可包括共同称为熵编码器子系统的不同熵译码器。自适应熵编码器110可用来编码各种类型的控制数据/信号、参数、模式和参考类型、运动矢量、和变换系数。它是基于称为自适应可变长度译码器(vlc)的通用类低复杂度熵译码器。可在方便的时候将要进行熵译码的数据划分成几个类别(在我们的例子中是七个),并且从通用vlc译码器开始,专用译码器是针对每一个类别而开发的。尽管图1中将这些控制信号解说成与编码器100的具体事例功能性模块相关联,但其他实现可包括控制信号在编码器300的功能性模块之间的不同分布。本公开不限于此,并且在各种示例中,本文的控制信号的实现可包括仅采取示出的具体示例控制信号的子集、附加控制信号和/或与所解说的不同的安排。
图2是示例下一代视频解码器200的说明性图,是根据本公开的至少一些实现安排的并利用内容自适应P-和F-图片并产生本文的图片组。此NGV解码器200的一般操作可与早前讨论的NGV编码器100中的局部解码循环相似,只除了解码器中的运动补偿解码循环不要求任何要求确定参数的分析的组件的告诫,因为参数实际上是经由比特流111或201发送至解码器200的。要解码的比特流201是对自适应熵编码器(内容和上下文自适应熵解码器)202的输入,该解码器解码头、控制信号和经编码的数据。例如,它解码以上列出的ptyp、pgst、prp、pptn、cptn、ethp、mop、syp、mod、reftyp、idir、qs、xmtyp、xmdir、xmmod、ddi、qri、qpi、fii、mv和构成经分布供贯穿解码器使用的计算开销、控制信号和数据的经量化的变换系数。经量化的变换系数随后由自适应逆量化模块203和自适应逆变换(也称为自适应多尺寸矩形HPHT/DCT)204进行逆量化和逆变换以产生按每译码划分所使用的而组装的经解码的像素差分的矩形分区。将预测加到从重构(recon)译码分区的生成中产生的差中,重构译码分区经历进一步的每运动分区重装配以生成重构瓦块和帧,重构瓦块和帧经历使用解码ddi参数的去块化过滤(Recon DD Filt Gen)208中的去块化和抖动,随后经历使用经解码的qri参数的质量还原过滤(或Recon QR Filt Gen)209,这个过程创建最终recon(重构)帧。
最终重构帧保存在多参考帧存储和帧选择器(也可称为解码图片缓冲区)210中,并用来(或经变形来)取决于所应用的解码mop参数而创建变形图片/局部缓冲区(在变形图片生成器和缓冲区211处)。类似地,合成图片和局部缓冲区(在合成图片生成和缓冲区212处)是通过将解码syp参数应用于多参考帧存储和帧选择器210(或者换言之,存储或缓冲区210中的重构帧)来创建的。依赖性逻辑220可保持多参考帧存储210中的存储帧的索引和执行对多参考帧存储210中的存储帧进行索引。索引可用于预测技术,诸如多参考帧、链预测和/或分层(或金字塔型)帧结构、和/或如下面所述的其他的技术。经变形的局部缓冲区和合成帧用于使用基于api参数的自适应精度(AP)过滤和取决于解码的ethp信号而保持1/4或1/8像素预测的运动补偿预测。实际上,特性和运动补偿过滤预测器213取决于mod(模式)而生成“帧间”、“多个”、“跳过”或“自动”分区,而帧内方向预测生成模块214生成“帧内”分区,且预测模式选择器215基于编码器选择的选项而允许正确模式的分区传递通过。下一步,预测融合过滤生成模块(或Pred FI Filter Gen)216的选择性使用以过滤和输出预测是在需要作为对加法器的第二输入时执行的。
质量过滤生成模块209(或Recon QR Filt Gen)的输出处的重构(recon)帧是由自适应图片重组织器(或分层图片组结构重组织器)217响应于ptyp和pgst的控制参数来重排序的(因为F-图片是乱序的),并且此重组织器的输出在由编码器所发送的prp参数控制的内容后还原器218中经历可选的处理。此处理尤其可包括去块化和胶片粒度添加。
更具体地并如所示,解码器200可接受输入比特流201。在一些示例中,输入比特流201可经由编码器100和/或经由本文所述的编码技术而编码。如所示的,输入比特流201可由自适应熵解码器模块202接收。自适应熵解码器模块202可解码各种类型的编码数据(例如,计算开销、运动矢量、变换系数等)。在一些示例中,自适应熵解码器202可使用可变长度解码技术。在一些示例中,自适应熵解码器202可执行上述自适应熵编码器模块110的逆操作。
可将解码数据发送至自适应逆量化模块203。自适应逆量化模块203可被配置成逆扫描和去缩放经量化的系数以确定变换系数。例如,这样的自适应量化操作可以是有损的。在一些示例中,自适应逆量化模块203可被配置成执行自适应量化模块109的相反操作(例如,与自适应逆量化模块112基本相同的操作)。如所示的,可将变换系数(以及在一些示例中,供在参数变换中使用的变换数据)发送至自适应逆变换模块204。自适应逆变换模块204可在变换系数上执行逆变换以生成与译码分区相关联的驻留物或驻留值或者分区预测错误数据(或原始数据或小波数据)。在一些示例中,自适应逆变换模块204可被配置成执行自适应变换模块108的相反操作(例如,与自适应逆变换模块113基本相同的操作)。在一些示例中,自适应逆变换模块204可基于其他之前解码的数据(诸如,例如经解码的邻居分区)而执行逆变换。在一些示例中,自适应逆量化模块203和自适应逆变换模块204可一起被认为是解码器200的变换解码器子系统。
如所示的,可将驻留物或驻留值或分区预测错误数据发送至译码分区装配器205。译码分区装配器205可将译码分区按需要(如所示的,在一些示例中可经由开关205a和205b跳过译码分区装配器205从而经解码的预测分区可能已经在自适应逆变换模块204处生成)装配成经解码的预测分区。可在加法器206处将预测错误数据的经解码的预测分区(例如,预测分区驻留物)加到预测分区(例如,预测像素数据)以生成经重构的预测分区。可将经重构的预测分区发送至预测分区装配器207。预测分区装配器207可装配经重构的预测分区以生成经重构的瓦块或超级片段。在一些示例中,译码分区装配器模块205和预测分区装配器模块207可一起被认为是解码器200的去分区化器子系统。
可将经重构的瓦块或超级片段发送至去块化过滤模块208。去块化过滤模块208可去块化和抖动经重构的瓦块或超级片段(或瓦块或超级片段的预测分区)。所生成的去块化和抖动过滤参数可从例如输入比特流201确定。可将去块化过滤模块208的输出发送至质量还原过滤模块209。质量还原过滤模块209可基于QR参数而应用质量过滤,QR参数可从输入例如特流201确定。如图2中所示,可将质量还原过滤模块209的输出发送至多参考帧存储和帧选择器(也可称为多参考控制,且可以是或可包括解码图片缓冲区)210。在一些示例中,质量还原过滤模块209的输出可以是可用于译码其他帧的预测的最终重构帧(例如,最终重构帧可以是参考帧等等之类)。在一些示例中,去块化过滤模块208和质量还原过滤模块209可一起被认为是解码器200的过滤子系统。
如所讨论的,由于预测操作的补偿可包括帧间和/或帧内预测补偿。如所示的,帧间预测补偿可由包括变形生成模块211、合成生成模块212、和/或特性和运动补偿过滤预测器模块213的一个或多个模块执行。变形生成模块211可使用去量化的变形参数(例如,从输入比特流201确定的)以生成经变形的参考帧。合成生成模块212可基于从输入比特流201所确定的参数而生成超级分辨率(SR)图片和投影内插(PI)图片等等之类。如果应用了帧间预测,则特性和运动补偿过滤预测器模块213可基于所接受的帧和输入比特流201中的运动矢量数据或之类而应用运动补偿。
帧内预测补偿可由帧内方向预测生成模块214来执行。帧内方向预测生成模块214可被配置成执行空间方向预测并可根据输入比特流201中的帧内预测数据而使用经解码的邻居分区。
如图2中所示,预测模块选择器模块215可对于瓦块的每一个预测分区从“跳过”、“自动”、“帧间”、“多个”和“帧内”中确定预测模式选择,所有这些模式都可基于输入比特流201中的模式选择数据而应用于P-和F-图片。除了预测模式之外,也允许对可取决于“帧间”或“多个”模式、以及对于P-和F-图片可以不同的参考类型的选择。预测模式选择器模块215的输出处的预测信号可由预测融合过滤模块216来过滤。预测融合过滤模块216可基于经由输入比特流201而确定的参数(例如,过滤系数、频率、计算开销)而执行过滤。在一些示例中,过滤预测信号可融合表示不同模式(例如,帧内、帧间、多个、跳过和自动)的不同类型的信号。在一些示例中,帧内预测信号可与所有其他类型的帧间预测信号不同,从而正确的过滤可极大地增强译码效率。经过滤的预测信号可向差分器206提供第二输入(例如,预测分区),如上所述。
如所讨论的,质量还原过滤模块209的输出可以是最终重构帧。可将最终重构帧发送至自适应图片重组织器217,该自适应图片重组织器217可基于输入比特流201中的排序参数按需要将帧重排序或重组织。可将经重排序的帧发送至内容后还原器模块218。内容后还原器模块218可以是配置成执行对于经解码的视频的感知质量的进一步改善的可选模块。此改善处理可响应于输入比特流201中的质量改善参数而执行或者它可作为单独操作而执行。在一些示例中,内容后还原器模块218可应用参数以改善的诸如例如胶片粒度噪声的估计或残留块效应降低(例如,即使在相关于去块化过滤模块208而讨论的去块化操作之后)的质量。如所示的,解码器200可提供显示视频219,该显式视频219针对经由显示设备(未示出)显示而配置。
在操作中,解码器200的一些组件可作为解码器预测子系统。例如,解码器200的此类解码器预测子系统可包括多参考帧存储和帧选择器210、在多参考帧存储和帧选择器210处索引帧的依赖性逻辑220、变形分析器和生成模块211、合成分析器和生成模块212、和/或特性和运动补偿精度自适应过滤预测器模块213。
如下面将更详细讨论的,在一些实现中,解码器200的此类解码器预测子系统可结合多个组件和经组合的由这些组件用有效视频译码算法生成的预测。例如,所提议的NGV译码器的实现可包括以下特征中的一个或多个:1.增益补偿(例如,对于场景中的增益/亮度改变的显式补偿);2.模糊补偿(例如,对于场景中的模糊/锐度改变的显式补偿);3.主/全局运动补偿9例如,对于场景中的主运动的显式补偿);4.注册补偿(例如,对于场景中的注册不匹配的显式补偿);5.增益补偿(例如,对于场景中的分辨率精度改变的显式模型);6.投影(例如,对于场景中的主轨迹改变的显式模型);等等之类和/或其组合。
例如,在解码器200的此类解码预测子系统中,可将质量还原过滤模块的输出发送至多参考帧存储和帧选择器210。在一些示例中,质量还原过滤模块的输出可以是可用于译码其他帧的预测的最终重构帧(例如,最终重构帧可以是参考帧等等之类)。如所讨论的,由于预测操作的补偿可包括帧间和/或帧内预测补偿。如所示的,帧间预测补偿可由包括变形分析器和生成模块211、合成分析器和生成模块212、和/或特性和运动补偿精度自适应过滤预测器模块213的一个或多个模块执行。
如下面将更详细描述的,变形分析和生成模块211可使用去量化的变形参数(例如,从输入比特流所确定的)以生成经变形的参考帧。此类经生成的变形参考帧可存储在缓冲区中并可由特性和运动补偿精度自适应过滤预测器模块213使用。
类似地,合成分析器和生成模块212可被配置成基于从输入比特流201而所定的参数而生成一种或多种类型的合成预测参考图片,诸如超级分辨率(SR)图片和投影内插(PI)图片等等之类。此类经生成的合成参考帧可存储在缓冲区中并可由运动补偿过滤预测器模块213使用。
因此,在解码器200的此类解码器预测子系统中,在应用了帧间预测的情况中,特性和运动补偿过滤预测器模块213可基于经变形的参考帧和/或超级分辨率(SR)图片和投影内插(PI)图片与当前帧一起而应用运动补偿。
在操作中,所提议的NGV译码器的实现(例如,编码器100和/或解码器200)可在通常的关于经解码的过去和/或为了图片/切片的局部运动补偿之外使用以上组件中的一个或多个。由此该实现不强制对于例如主运动补偿或对于任何其他特性补偿参考帧生成的具体解决方案。
图2解说了与视频解码器200的操作相关联的示例控制信号,其中所指示的缩写可表示与以上相关图1所讨论的相似的信息。尽管将这些控制信号解说成与解码器200的具体示例功能性模块相关联,但其他实现可包括控制信号在编码器100的功能性模块之间的不同分布。本公开不限于此,并且在各种示例中,本文的控制信号的实现可包括仅采取示出的具体示例控制信号的子集、附加控制信号和/或与所解说的不同的安排。
尽管图1和2解说了具体编码和解码模块,但也可根据本公开而使用未描绘的各种其他译码模块或组件。而且,本公开不限于图1和2中解说的具体组件和/或安排各种组件的方式。本文所述系统的各种组件可以用软件、固件和/或硬件和/或其任何组合来实现。例如,编码器100和/或解码器200的各种组件可以至少部分地由诸如可以在诸如例如移动电话的计算系统中找到的计算片上系统(SoC)的硬件来提供。
而且,可识别编码器100可与包括例如视频内容服务器系统的内容提供者系统相关联或由其提供,且可由各种通信组件和/或系统将输入比特流111发送或传递至诸如例如解码器200的解码器,各种通信组件和/或系统诸如图1和2中未描绘的收发机、天线、网络系统等等之类。也可识别,解码器200可与诸如计算系统(例如,台式计算机、膝上型计算机、平板计算机、可变形膝上型、移动电话等等之类)的客户端系统相关联,该客户端系统在编码器100远程并具有诸如图1和2中未描绘的收发机、天线、网络系统等等之类的各种通信组件和/或系统而接收输入比特流201。因而,在各种实现中,编码器100和解码器子系统200可或者一起或者互相独立地实现。
图3是至少根据本公开的一些实现而安排的与下一代视频编码器100相关联的示例子系统的说明性图。如所示的,编码器100可包括结构子系统310、划分子系统320、预测子系统330、变换子系统340、过滤子系统350、和/或熵译码子系统360。
图3(a)是至少根据本公开的一些实现而安排的示例下一代视频编码器300a的说明性图。图3(a)呈现了与图1中所示的相似的编码器,且为了简明期间将不重复类似的元素。如图3(a)中所示,编码器300a可包括预分析器子系统310a、分区器子系统320a、预测编码子系统330a、变换编码器子系统340a、过滤编码子系统350a、熵编码器系统360a、变换解码器子系统370a、和/或去分区化器子系统380a。预分析器子系统310a可包括内容预分析器模块102和/或自适应图片组织器模块104。分区器子系统320a可包括预测分区生成器模块105和/或译码分区生成器107。预测编码子系统330a可包括运动估计器模块122、特性和运动补偿过滤预测器模块123、和/或帧内方向预测分析器和预测生成模块124。变形编码器子系统340a可包括自适应变换模块108和/或自适应量化模块109。过滤编码子系统350a可包括块效应分析器和去块化过滤模块117、质量分析器和质量还原过滤模块118、运动估计器模块122、特性和运动补偿过滤预测器模块123、和/或预测分析器和预测融合过滤模块126。熵译码子系统360a可包括自适应熵编码器模块110。变形解码器子系统370a可包括自适应逆量化模块112和/或自适应逆变换模块113。去分区化器子系统380a可包括译码分区装配器114和/或预测分区装配器116。
编码器300a的分区器子系统320a可包括两个划分子系统:可执行用于预测的分析和划分的预测分区生成器模块105和可执行用于译码的分析和划分的译码分区生成器模块107。另一划分方法可包括可将图片分段成区域或切片的自适应图片组织器104,也可可选地认为是此分区器的一部分。
编码器300a的预测编码器子系统330a可包括可执行“帧间”信号的分析和预测的运动估计器122和特性和运动补偿过滤预测器123、以及可执行“帧内”信号的分析和预测的帧内方向预测分析器和预测生成模块124。运动估计器122和特性和运动补偿过滤预测器123可通过首先补偿其他差分源(诸如增益、全局运动、注册)来允许增加可预测性,然后允许实际运动补偿。他们也可允许使用数据建模来创建可允许更好的预测的合成帧(超级分辨率和投影),然后允许在此类帧中使用实际运动补偿。
编码器300a的变换编码器子系统340a可执行分析以选择变换的类型和尺寸,并可包括两种主要类型的组件。第一类型的组件可允许使用参数变换以允许对小到中等尺寸块的局部最优变换译码,然而这样的译码可要求一些计算开销。第二类型的组件可允许从包括参数变换的小数量变换选项中使用诸如DCT的通用/固定变换或基于图片的变换的全局稳定、低计算开销的译码。对于局部自适应变换译码,可使用参数Haar变换(PHT)。变换可在尺寸在4×4和64×64之间的矩形2D块上执行,其中实际尺寸取决于多个以纳苏,诸如所变换的数据是亮度还是色度、帧间还是帧内、和所使用的变换是PHT还是DCT。可将产生的变换系数量化、扫描和熵译码。
编码器300a的熵编码器子系统360a可包括多个有效但低复杂度的组件,每一个都有有效地译码特定类型的数据(各种类型的计算开销、运动矢量或变换系数)的目标。此子系统的组件可属于低复杂度可变长度译码技术的通用类,但是对于有效译码,每一个组件都可经定制优化以得到最高效率。例如,可设计定制解决方案用于“已译码/未译码”数据的译码,另一种方案用于“模式和参考类型”数据,又一种用于“运动矢量”数据,以及再一种用于“预测和译码分区”数据。最后,因为要进行熵译码的数据的极大部分是“变换系数”数据,所以可使用用于有效处理特性块尺寸的多个方法,以及可在多个表之间适配的算法。
编码器300a的过滤编码器子系统350a可执行参数分析以及基于这些参数对重构图片的多个过滤,并可包括几个子系统。例如,第一子系统,块效应分析器和去块化过滤模块117可去块化和抖动以减少或掩膜任何潜在的块译码伪像。第二示例子系统,质量分析器和质量还有过滤模块118,可执行一般质量还原以减少由于任何视频译码中的量化操作而产生的伪像。可包括运动估计器122和特性和运动补偿过滤预测器模块123的第三示例子系统,可通过使用适配内容的运动特性(运动速度/模糊程度)的过滤器而改善运动补偿的效果。第四示例子系统,预测融合分析器和过滤器生成模块126,可允许对预测信号的自适应过滤(可减少通常来自帧内预测的预测中的虚假伪像)从而减少需要进行译码的预测错误。
编码器300a的编码控制器模块103可在给定资源和期望编码速度的约束下负责整体视频质量。例如在基于未使用任何快捷方式的译码的完全率失真优化(RDO)中,软件编码的编码速度可以只是计算资源(处理器速度,处理器、超线程、DDR3存储器等的数量)可用性的结果。在这样的情况中,编码控制器模块103可输入每个预测分区和译码分区的单个组合,并且通过实际译码,比特率可针对每个情况与重构错误一起计算,并且基于拉格朗日优化公式,可将预测和译码分区的最佳集发送给每一个正被译码的帧的每一个瓦块。基于模式的完全RDO可产生最好的压缩效率并且也可以是最慢的编码模式。通过使用来内容预分析器模块102的内容分析参数并使用他们来进行RDO计划(未测试所有可能的情况)或只是将某个百分比的块传递通过完全RDO,可以做出允许更快速编码的质量对比速度的折衷。到现在为止我们已经基于编码器操作描述了可变比特率(VBR)。编码控制器模块103也可包括可在恒定比特率(CBR)的受控译码的情况中调用的率控制器。
最后,编码器300a的预分析器子系统310a可执行对内容的分析以计算对于改善视频译码效率和速度性能有用的各种类型的参数。例如,它可确定水平和垂直梯度信息(Rs、Cs)、方差、每图片的空间复杂度、每图片的时间复杂度、场景改变检测、运动范围估计、增益检测、预测距离估计、物体数量估计、区域边界检测、空间复杂度映射计算、焦点估计、胶片粒度估计等等之类。由预分析器子系统310a生成的参数可或者由编码器消耗或者经量化并通信给解码器200。
尽管图3(a)中将子系统310a到380a解说为与编码器300a的特定实例功能性模块相关联,但本文的编码器300a的其他实现可包括编码器300a的功能性模块在子系统310a到380a之间的不同分布。本公开不限于此,并且在各种示例中,本文的示例子系统310a到380a的实现可包括仅采取示出的编码器300a的特定示例控制信号的子集、附加功能性模块和/或与所解说的不同的安排。
图3(b)是至少根据本公开的一些实现而安排的示例下一代视频解码器300b的说明性图。图3(b)呈现了与图2中所示的相似的解码器,且为了简明起见将不重复相似的元素。如同3(b)中所示,解码器300b可包括预测解码器子系统330b、过滤解码器子系统350b、熵解码器子系统360b、变换解码器子系统370b、去分区化器_2子系统380b、去分区化器_1子系统351b、过滤解码器子系统350b、和/或后还原器子系统390b。预测解码器子系统330b可包括特性和运动补偿过滤预测器模块213、和/或帧内方向预测生成模块214。过滤解码器子系统350b可包括去块化过滤模块208、质量还原过滤模块209、特性和运动补偿过滤预测器模块213、和/或预测融合过滤模块216。熵解码器子系统360b可包括自适应熵解码器模块202。变形解码器子系统370b可包括自适应逆量化模块203和/或自适应逆变换模块204。去分区化器子系统380b可包括译码分区装配器205和预测分区装配器207。后还原器子系统390b可包括内容后还原器模块218和/或自适应图片重组织器217。
解码器300b的熵解码子系统360b可执行编码器300a的熵编码器子系统360a的逆操作,即,它可使用松散地称为可变长度解码的一类技术将由熵编码器子系统360a编码的各种数据(计算开销的类型、运动矢量、变换系数)解码。具体而言,要进行解码的各种类型的数据可包括“已译码/未译码”数据、“模式和参考类型”数据、“运动矢量”数据、“预测和译码分区”数据和“变换系数”数据。
解码器300b的变换解码器子系统370b可执行编码器300a的变换编码器子系统340a的操作的逆操作。变换解码器子系统370b可包括两种类型的组件。第一类型的示例组件可支持使用对小到中等块尺寸的参数逆PHT变换,而另一类型的示例组件可支持对于所有块尺寸的逆DCT变换。对于块使用的PHT变换可取决于对邻居块的解码数据的分析。输出比特流111和/或输入比特流201可携带关于PHT变换的分区/块尺寸以及要进行逆变换的2D块的哪个方向使用PHT(另一方向使用DCT)的信息。对于纯粹由DCT译码的块,分区/块尺寸信息也可从输出比特流111和/或输入比特流201读取并可用来应用适当尺寸的逆DCT。
解码器300b的去分区化器子系统380b可执行编码器300a的分区器子系统320a的操作的逆操作,并可包括两个去分区化子系统:可执行对译码数据的去分区化的译码分区装配器模块205和可执行对预测的去分区化的预测分区装配器模块207。而且,如果在编码器300a使用了可选自适应图片组织器模块104用于区域片段或切片,则在解码器可需要自适应图片重组织器模块217。
解码器300b的预测解码器子系统330b可包括可执行“帧间”信号的预测的特性和运动补偿过滤预测器模块213和可执行“帧内”信号的预测的帧内方向预测生成模块214。特性和运动补偿过滤预测器213可通过首先补偿其他差分源(诸如增益、主运动、注册)或创建合成帧(超级分辨率和投影)后接实际运动补偿来允许增加可预测性。
解码器300b的过滤解码器子系统350b可基于编码器300a发送的参数而执行重构图片的多个过滤并可包括几个子系统。第一示例系统——去块化过滤模块208可去块化和抖动以减少或掩膜任何潜在的块译码伪像。第二示例子系统——质量还原过滤模块209可执行一般质量还原以减少由于任何视频译码中的量化操作而产生的伪像。第三示例子系统——特性和运动补偿过滤预测器模块213可通过使用可适配内容的运动特性(运动速度/模糊程度)的过滤器而改善运动补偿产生的结果。第四示例子系统)——预测融合过滤生成模块216可允许对预测信号的自适应过滤(可减少通常来自帧内预测的预测中的虚假伪像)从而减少可能需要进行译码的预测错误。
解码器300b的后还原器子系统390b是可执行对解码视频的感知质量的进一步改善的可选块。此处理可响应于编码器100发送的质量改善参数而进行,或者可以是在后还原器子系统390b处进行的独立决定。就可以在后还原器子系统390b处用来改善质量的在编码器100处计算的特定参数而言,可以是对编码器100处的胶片粒度噪声和驻留块效应的估计(即使在去块化之后)。关于胶片粒度噪声,如果参数可经计算并经由输出比特流111和/或输入比特流201发送至解码器200,那么这些参数可用来合成胶片粒度噪声。类似地,对于如果可以测量的编码器100处的任何驻留块效应伪像和经由输出比特流111和/或比特流201发送的参数,后还原器子系统390b可解码这些参数并可使用他们来可选地在显示之前执行附加去块化。而且,编码器100也可有在后还原器子系统390b中有助于质量还原的对场景改变、空间复杂度、时间复杂度、运动范围和预测距离信息的访问。
尽管图3(b)中将子系统330b到390b解说为与解码器300b的特定实示例功能性模块相关联,但本文的解码器300b的其他实现可包括解码器300b的功能性模块在子系统330b到390b之间的不同分布。本公开不限于此,并且在各种示例中,本文的示例子系统330b到390b的实现可包括仅采取示出的解码器300b的特定示例功能性模块的子集、附加功能性模块和/或与所解说的不同的安排。
图4是至少根据本公开的一些实现而安排的经修改的预测参考图片400的说明性图。如所示的,质量分析器和质量还原过滤的输出可以是可用于译码其他帧的预测的最终重构帧(例如,最终重构帧可以是参考帧等等之类)。
所提议的NGV译码器(例如,编码器100和/或解码器200)的实现可使用经变形的预测参考428到438(MR0到3)和/或经合成的预测参考412到440(S0到S3,MR4到7)的组合来实现P-图片译码。NGV译码涉及使用三种图片类型,称为I-图片、P-图片和F/B-图片。在所解说的示例中,要进行译码的当前图片(P-图片)在时间t=4示出。在译码期间,所提议的NGV译码器(例如,编码器100和/或解码器200)的实现可使用四个之前解码的参考R0412、R1 414、R2 416和R3 418中的一个或多个。与可简单使用这些参考直接用于预测的其他解决方案不同,所提议的NGV译码器(例如,编码器100和/或解码器200)的实现可从此类先前解码的参考生成经修改(变形或合成)的参考并随后使用至少部分地基于此类所生成的经修改(变形或合成)的参考的运动补偿译码。
如下面将更详细描述的,在一些示例中,所提议的NGV译码器(例如,编码器100和/或解码器200)的实现可结合多个组件和经组合的由这些组件用有效视频译码算法生成的预测。例如,所提议的NGV译码器的实现可包括以下特征中的一个或多个:1.增益补偿(例如,对于场景中的增益/亮度改变的显式补偿);2.模糊补偿(例如,对于场景中的模糊/锐度改变的显式补偿);3.主/全局运动补偿(例如,对于场景中的主运动的显式补偿);4.注册补偿(例如,对于场景中的注册不匹配的显式补偿);5.超级分辨率(例如,对于场景中的分辨率精度改变的显式模型);6.投影(例如,对于场景中的主轨迹改变的显式模型);等等之类和/或其组合。
在所解说的示例中,如果应用了帧间预测,则特性和运动过滤预测器模块可将运动补偿作为局部解码循环的一部分应用至当前图片410(例如,图中标记为P-图(当前)的图片)。在一些实例中,此类运动补偿可至少部分地基于未来帧(未示出)和/或先前帧R0 412(例如,图中标记为R0)、先前帧R1 414(例如,图中标记为R1)、先前帧R2 416(例如,图中标记为R2)、和/或先前帧R3 418(例如,图中标记为R3)。
例如,在一些实现中,预测操作可包括帧间和帧内预测。帧间预测可由包括变形分析器和生成模块和/或合成分析器和生成模块的一个或多个模块执行。此类变形分析器和生成模块可分析当前图片以确定关于将用来对它译码的参考帧或诸帧的模糊改变的参数420(例如,图中标记为模糊参数(Blur par))、增益改变的参数422(例如,图中标记为增益参数(Gain par)并在下面详细解释了)、注册改变的参数424(例如,图中标记为注册参数(Reg par))、和主运动改变的参数426(例如,图中标记为主参数(Dom par))或之类。
所确定的变形参数420、422、424和/或426可用来生产经变形的参考帧。这样所生成的经变形的参考帧可存储并可用于计算当前帧的有效运动(和特性)补偿预测的运动矢量。在所解说的示例中,所确定的变形参数420、422、424和/或426可用来生产经变形的参考帧,诸如例如经模糊补偿的变形参考帧428(例如,图中标记为MR3b)、经增益补偿的变形参考帧430(例如,图中标记为MR2g)、经增益补偿的变形参考帧432(例如,图中标记为MR1g)、经注册补偿的变形参考帧434(例如,图中标记为MR1r)、经主运动补偿的变形参考帧436(例如,图中标记为MR0d)、和/或经注册补偿的变形参考帧438(例如,图中标记为MR0r)等等之类或其组合。
类似地,合成分析器和生成模块可生成超级分辨率(SR)图片440(例如,图中标记为S0(等于先前帧R0 412)、S1、S2、S3)和投影内插(PI)图片442(例如,图中标记为PE)等等之类用于确定这些帧中的有效运动补偿预测的运动矢量。这样所生成的经合成的参考帧可存储并可用于计算当前帧的有效运动(和特性)补偿预测的运动矢量。
附加地或替换性地,所确定的变形参数420、422、424和/或426可用来变形所生产的合成参考帧超级分辨率(SR)图片440和/或投影内插(PI)图片442。例如,合成分析器和生成模块可从所确定的注册变形参数424生成经变形的注册补偿超级分辨率(SR)图片444(例如,图中标记为MR4r、MR5r和MR6r)和/或经变形的注册补偿投影内插(PI)图片446(例如,图中标记为MR7r)等等之类。这样所生成的经变形的和经合成的参考帧可存储并可用于计算当前帧的有效运动(和特性)补偿预测的运动矢量。
在一些实现中,可显式地计算特性集(诸如例如,增益、模糊、主运动、注册、分辨率精度、运动轨迹等等之类或其组合)中的改变。这样的特性集可在局部运动之外计算。在一些情况中先前和后续图片/切片可合适地使用,但是在其他情况中此类特性集可在根据先前图片/切片的预测上做得更好。而且,由于在任何估计过程中都可能有错误(例如,来自多个过去的或多个过去和未来的图片/切片),可选择产生最好估计的与特性集(诸如例如,增益、模糊、主运动、注册、分辨率精度、运动轨迹等等之类或其组合)相关联的经修改的参考帧。因此,所提议的利用与特性集(诸如例如,增益、模糊、主运动、注册、分辨率精度、运动轨迹等等之类或其组合)相关联的经修改的参考帧的方法可显式地补偿这些特性中的差别。所提议的实现可解决怎样改善预测信号的问题,这进而允许达到视频译码中的高压缩效率。
如所讨论的,在一些示例中,可执行帧间预测。在一些示例中,可使用多达4个经解码的过去和/或未来图片和几个变形/合成预测来生成大量的参考类型(例如参考图片)。例如在“帧间(inter)”模式中,P-图片中可支持多达九种参考类型,且对于F/B-图片可支持多达十种参考类型。而且,“多个(multi)”模式可提供帧间预测模式的类型,其中代之以1个参考图片,而是可使用两个参考图片且P-和F/B-图片分别可允许3和多达8种参考类型。例如,预测可基于使用变形技术或合成技术中的至少一个所生成的先前解码的帧。在这样的示例中,比特流可包括与预测分区相关联的帧参考、变形参数、或合成参数。
变形和合成技术而不是主运动补偿(下面更详细地描述了)中的一些如下。
增益补偿
由NGV译码使用的一种变形预测类型是增益补偿预测,且包括检测和估计亮度值的增益和/或偏移、将他们参数化、使用他们用于编码器处增益/偏移的补偿、将他们发送至解码器、和在解码器通过复制编码器处的增益补偿过程来使用他们用于增益补偿。
通过一个具体示例,通常在视频场景中,逐帧差别不仅是由于物体的运动引起的,而且是由于增益/亮度的改变而引起的。有时由于诸如淡入、淡出的编辑效果或者由于交叉衰落,这样的亮度改变可以是全局的。然而,在多得多的情况中,这样的亮度改变是局部的,例如由于闪烁灯、相机闪光灯、曝光、戏剧或音乐表演中的彩色频闪灯等。
无论是全局或局部,帧间亮度改变的补偿可以潜在地改善视频译码中的压缩效率。然而,亮度改变参数(增益和偏移)在视频编码器和解码器二者处都应用了,从而二者都可用经由比特流从编码器到解码器的低比特成本有效地通信并且解码器的处理复杂度应该最小化了。过去仅公开了用于全局亮度改变的技术,但没有成功地解决亮度改变中的局部补偿。
以下公式将帧“t”中(i,j)位置处的像素st(i,j)的亮度关联到先前帧“t-1”中同一位置(i,j)处的像素的亮度,其中“a”和“b”是增益和偏移因子。假定运动较小且仅对亮度改变建模。
st(i,j)=a×st-1(i,j)+b (1)
取st(i,j)和st 2(i,j)的期望值并采用将当前帧和先前帧的第一和第二时刻等同的方法,可随后将增益“a”和偏移“b”的值计算为:
Figure GDA0001837023490000341
b=E(st(i,j))-a×E(st-1(i,j)) (3)
一旦已经按公式(2)计算了“a”和“b”,他们就被量化(用于有效传输)、编码和发送至解码器。在解码器处,将“a”和“b”的经解码的去量化值放回公式(1)中,并通过使用先前帧中像素的解码值,计算先前参考帧的经增益补偿的修改版本,该修改版本在错误上比原始先前帧要低,并随后用于生成(经增益补偿的)运动补偿预测。对于(经逆变换的且去量化的)经解码预测错误块,添加来自经修改的先前参考帧的相应预测以生成最终解码帧(或帧块)。
对于局部运动补偿,代之以单个(a,b)参数集,计算了多个参数集并按帧的哪个部分对应于哪个参数的映射发送出去至解码器并用于所述的增益补偿。
模糊/注册补偿
作为一个具体示例,下面描述了用于注册和模糊补偿的方法,不过术语可以互换地使用。
注册补偿
反映场景的静止视频相机仍可导致由于环境因素(诸如风)、来自附近物体的振动、摇晃的手、或抖动捕捉过程而不是场景的全局移动或场景中大物体的运动而逐帧不同的摇晃或不稳定的视频。这导致逐帧注册差别,其补偿(除了诸如增益、全局/主运动、和局部运动补偿的其他补偿形式之外的)可导致视频译码的压缩效率的改善。
为了计算当前帧和先前参考帧之间的注册参数,可以采用Wiener过滤。让x(n)是输入信号,y(n)是输出且h(n)表示过滤系数。
过滤输出:
Figure GDA0001837023490000351
错误信号:e(n)=d(n)-y(n) (5)
在矩阵标记中,h是过滤系数的矢量。循环互相关行矢量(源帧和参考帧之间):
Rdx=E[d(n)x(n)T] (6)
自动相关矩阵(基于块数据):
Rxx=E[x(n)x(n)T] (7)
求解h的Wiener Hopf公式如下。Wiener Hopf公式确定均方误差中的最优过滤系数,且产生的过滤称为“wiener”过滤。
Figure GDA0001837023490000352
模糊补偿
由于充电集成,对场景的快速相机遥摄可导致模糊的图像。而且,即使相机是静止的,或者在运动中,如果场景涉及快速移动的物体(例如足球比赛中的足球运动员),因为成像的时间分辨率不足,物体可能显得模糊。在两个前述情况中,在其他补偿形式之前的或结合其他补偿形式的模糊补偿可改善视频译码的压缩效率。
对于运动模糊估计,可使用Lucy-Richardson方法。这是用于使用模糊操作符B(使用估计的模糊矢量模糊帧)和共轭操作符B*从源帧Y接连计算迭代i处的经降低的模糊帧(X)的迭代算法。可以粗略地认为操作符B*与B是一样的,因为B*可以由B取代而产生大略相同的视觉质量。
Figure GDA0001837023490000353
超级分辨率合成
参考图5,除了经变形的预测(增益、模糊/注册、全局/主运动)图片之外,也支持合成预测(超级分辨率(SR)和投影内插(PI))图片。一般而言,超级分辨率(SR)是用来通过使用视频的许多过去帧帮助填充缺失信息来创建单个视频帧的高分辨率重构图像的技术。优秀超级分辨率技术的目标是能够产生在用已知的更高分辨率视频测试时比单单上采样更好的重构图像。本文的超级分辨率生成技术可使用经译码的视频编解码器数据来创建环路内超级分辨率帧。如名称所暗示的,环路内超级分辨率帧在译码环路内再次使用。在译码环路中使用SR在低分辨率视频译码中和因此在重构的超级分辨率视频中提供了显著增益。此过程使用将编解码器信息(如帧内模式、运动、系数等)与当前解码帧和过去帧(或者可用时未来帧)组合并一起使用而创建正被解码的当前帧的高分辨率重构的算法。因此所提议的技术上快速的并产生优秀的视觉质量。
对于移动慢且内容相当具体(许多边、纹理等等)的序列而言,生成超级分辨率帧用于预测的能力可以提供更大的运动补偿准确性,并因而许可更高程度的压缩。如同5中所示,过程500是SR预测生成的原则应用于P-图片处的图,P-图片是由NGV译码使用的合成预测的类型。在此情况中,编码器和解码器二者都从先前可用的解码帧和数据生成合成帧。在水平和垂直维度都是帧“n”504尺寸两倍的SR帧518是通过混合“n”处的上取样的解码P帧516和“n-1”处通过使用先前SR帧508构建的运动补偿图片514而生成的。先前的SR帧508是去交错的并通过使用当前P-图片504与去交错的块510处的运动估计值组合。块510用于形成经运动补偿的去交错的块512的运动补偿,块512随后重交错到块上以形成运动补偿图片514。通过箭头D也示出了帧n+1处的P-图片的多个参考预测。
投影内插合成
诸如帧序列400的图片序列也可用来解说如图4中帧PE 442所示的投影内插真(PI-图片)的生成和使用的原则。为了简单起见,假定F-图片与B-图片行为相似,并可以参考两个锚,一个在过去且另一个在未来(这是仅一个示例的情况)。随后,对于每个F-图片,位于同处的内插帧可以通过使用过期和未来参考锚帧的称为投影内插的特定类型内插来生成。投影内插考虑在帧序列上有非恒定(或非线性)速度的物体运动,或相对大的运动。PI使用取决于到从将要取代的位于同处的或当前帧到正用于内插的两个参考帧中的每一个的距离的加权因子。因此,所确定的最适合运动矢量是与这两个距离成比例的,其中通常给予较近的参考更多权重。为了完成这个目的,举一个例子两个缩放因子(x因子和y因子)是通过最小平方估计来确定的。随后可允许进一步的运动补偿以调整小失配。
例如,对于时间“n+1”处的F-图片,在此时间使用时间“n”和“n+2”处的锚或参考帧在同处生成Pi-图片。类似地对于时间“n+3”和“n+4”处的F-图片,相对应的Pi-图片可以使用在世界“n+2”和“n+5”处的锚帧来生成。此过程可对于每一个未来F-图片重复,因为PI-图片是在时间上对应于每一个F-图片合成的。相对应的合成PI-图片可随后以与两个参考帧将被用于预测相同或相似的方式用作第三参考。一些预测分区可直接使用预测参考,而其他的可隐式地使用他们以诸如生成二叉图片。因此,对于多参考预测和两个参考锚,合成PI-图片而不是原始F-图片可以用于预测。
现在转向实现这些对参考帧的修改的系统并如先前所述,随着不断增长的待压缩视频的分辨率和对高视频质量的期望,使用诸如H.264的已有视频译码标准或甚至诸如H.265/HEVC的演化中的标准进行译码所要求的相对应的比特率/带宽相当高。前述标准适用传统方法的扩展形式来隐式地解决低效压缩/质量问题,但结果通常是有限的。
所提议的实现通过改善帧间预测来改善视频压缩效率,这进而减少需要进行译码的帧间预测差别(错误信号)。要译码的帧间预测差别的量越少,译码所要求的比特的量就越少,这有效地改善了压缩效率,因为它现在采用更少的比特来存储或传输经译码的预测差信号。代之以被限于仅运动补偿,所提议的NGV编解码器可通过在运动补偿之外或作为替换采用显式地补偿内容特性中的改变的方法而高度自适应于内容的变化的特性(诸如例如增益、模糊、主运动、注册、分辨率精度、运动轨迹等等之类或其组合)。因此,通过显式地解决问题的根本原因,NGV编解码器可解决基于标准的编解码器的限制的关键源,从而达到更高的压缩效率。
帧间预测输出中的此改变可由于所提议的NGV编解码器出于多种原因补偿视频内容中的改变的能力而达到。由于许多局部和全局改变(本文称为特性),典型额度视频场景逐帧不同。除了局部运动之外,有许多当前解决方案未有效地解决而所提议的实现可解决的其他特性。
所提议的实现可显式地计算特性集(诸如例如,增益、模糊、主运动、注册、分辨率精度、运动轨迹等等之类或其组合)中除了局部运动之外的改变,并因此可在根据先前图片/切片的预测上比仅适用根据先前和后续图片/切片的局部运动预测做得更好。而且,由于在任何估计过程中都可能有来自多个过去的或多个过去和未来的图片/切片的错误,NGV编解码器可选择通过显式地补充各种特性中的差别而产生最佳的帧。
在操作中,所提议的NGV译码器(例如,编码器100和/或解码器200)的实现可操作使得预测模式和/或参考类型数据可使用符号-游程译码或码本等等之类来定义。预测模式和/或参考类型数据可以使用内容自适应或各种示例的离散变换以生成变换系数而经变换编码。也如讨论的,可将与分区相关联的数据(例如,变换系数或量化变换系数)、计算开销数据(例如,如本文所讨论的变换类型的指示符、自适应变换方向、和/或变换模式)、和/或定义分区的数据等等编码(例如,经由熵编码器)进比特流。可将比特流通信给解码器,解码器可使用经解码的比特流来将视频帧解码用于显示。在局部基础上(诸如在宏块或瓦块内逐块地、或在瓦块或预测单元内逐分区地、或在超级片段或区域内片段地)可例如至少部分地基于率失真优化(RDO)或至少部分地基于对视频的预分析而选择最佳模式,且可将模式标识符和所需的参考编码在比特流内供解码器使用。
如以上所解释的,在P-和F-图片中允许并在下面例示了各种预测模式,以及他们如何与参考类型有关。P-图片和F-图片瓦块二者都被分区成更小单元,且将来自“跳过”、“自动”、“帧间”和“多个”中的预测模式分配给瓦块的每一个分区。表1中的整个模式列表也包括“帧内”,指的是与时间运动补偿预测相对比的根据邻居块的空间预测。“拆分”模式指需要进一步划分或进一步分区。对于使用“帧间”或“多个”模式的分区,需要关于所使用的参考的进一步信息并针对P-图片在表2(a)和表2(b)中分别示出,而针对F-图片在表3(a)和表3(b)中分别示出。
预测模式和参考类型分析器125(图1)可允许如所述从“跳过”、“自动”、“帧间”、“多个”和“帧内”之选择预测模式,并且对于瓦块的每一个分区,所有这些模式都可应用于P-图片和F-图片,这在下面表1中示出。除了预测模式之外,也允许选择可取决于“帧间”或“多个”模式以及针对P-和F-图片不同的参考类型;参考(ref)类型的详细列表在表2(a)和表2(b)中针对P-图片示出且在表3(a)和表3(b)中针对F-图片示出。
下面示出的表1到3(d)解说了正或将被重构的当前帧(curr_pic)的码本条目的一个示例。完全码本的条目可提供所有可能条目和其译码的完全或基本完全列表。在一些示例中,码本可考虑如上所述的约束。在一些示例中,可将与预测模式和/或参考类型的码本条目相关联的数据编码进比特流供如本文讨论的在解码器处使用。
表1 P-和F-图片中瓦块分区的预测模式(以上已经解释)
序号 预测模式
0. 帧内
1. 跳过
2. 拆分
3. 自动
4. 帧间
5. 多个
表2(a)P-图片中有“帧间”模式的瓦块分区的参考类型
Figure GDA0001837023490000391
Figure GDA0001837023490000401
表2(b)P-图片中有“多个”模式的瓦块分区的参考类型
Figure GDA0001837023490000402
其中如表标题所指示的,表2(b)指向包括不带参数的过去参考和表中参考之一的特定参考组合。
表3(a)F-图片中有“帧间”模式的瓦块分区的参考类型
序号 有“帧间”模式的分区的参考类型
0. MR0n
1. MR7n(=投影F)
2. MR3n(=未来SR0)
3. MR1n
4. MR4n(=未来SR1)
5. MR5n(=未来SR1)
6. MR6n(=未来SR3)
7. MR3d
8. MR0g/MR3g
其中投影F指PI,且作为一个示例,第8行包括两个可选参考。
表3(b)F-图片中有“多个”模式和Dir 0的瓦块分区的参考类型
Figure GDA0001837023490000403
Figure GDA0001837023490000411
其中Dir指F-帧的多个模式的参考的固定或部分固定组合,从而上面的Dir 0和下面的Dir 1和Dir 2每一个都指参考组合。因此,如表3(b)中所示,Dir 0可指过去参考(可以是特定时间处的特定参考(例如在n+2处的参考3))并与表中的参考之一组合的组合。下面表中的Dir是类似的并且如表的标题所解释的。
表3(c)F-图片中有“多个”模式和Dir 1的瓦块分区的参考类型
Figure GDA0001837023490000412
表3(d)F-图片中有“多个”模式和Dir 2的瓦块分区的参考类型
Figure GDA0001837023490000413
具体到主运动补偿,P-图片的“帧间”模式支持称为MR0d(变形参考0主运动)的参考类型,且对于F-图片的“帧间”模式,所支持的参考类型包括MR0d和MR3d(变形参考3主运动)。下面进一步解释了这些代码。而且,在“多个”模式中,将MR3d作为用于单个当前帧的两个参考之一而支持。除了“帧间”和“多个”之外,DMC也可用在NGV的“自动”模式之中。调用DMC的模式和参考类型组合的概述如下。
使用主运动补偿参考帧预测:
F-图片,自动模式,子模式1、2
使用多个主运动补偿参考帧的混合预测:
F-图片,自动模式,子模式3
用于预测的有差分转换运动矢量的主运动补偿参考:
P-图片,帧间模式,par=DMC
F-图片,帧间模式,par=DMC
用于预测的有差分转换运动矢量的主运动补偿参考,并与另一参考帧混合:
F-图片,多个模式,ref1=过去查看,par1=无,ref2=utr_ref,par1=DMC
图6是至少根据本公开的一些实现而安排的用于执行特性和运动补偿预测的示例编码器预测子系统330的说明性图。如所解说的,编码器600的编码器预测子系统330可包括解码图片缓冲区119、变形分析器和生成模块120、合成分析器和生成模块121、运动估计器模式122、和/或特性和运动补偿精度自适应过滤预测器模块123。
如所示的,可将质量分析器和质量还原过滤的输出发送至解码图片缓冲区119。在一些示例中,质量分析器和质量还原过滤的输出可以是可用于译码其他帧的预测的最终经重构的帧(例如,最终经重构的帧可以是参考帧等等之类)。在编码器600中,预测操作可包括帧间和帧内预测。如图6中所示的,帧间预测可由包括变形分析器和生成模块120、合成分析器和生成模块121、和/或特性和运动补偿精度自适应过滤预测器模块123的一个或多个模块执行。
变形分析器和生成模块120可包括变形类型分析器(MTA)和变形图片生成器(MPG)610以及变形预测参考(MPR)缓冲区620。变形类型分析器(MTA)和变形图片生成器(MPG)610可分析当前帧以确定相关于用来将当前帧译码的参考帧或诸帧的增益改变、主运动改变、注册改变、和模糊改变的参数。所确定的变形参数可(例如由变形分析器和生成模块120)进行量化/去量化和用来生成经变形的参考帧。这样所生成的经变形的参考帧可存储在变形预测参考(MPR)缓冲区620中并可由运动估计器模块122用于计算当前帧的有效运动(和特性)补偿预测的运动矢量。
合成分析器和生成模块121可包括合成类型分析器(STA)和合成图片生成器(SPG)630以及合成预测参考(SPR)缓冲区640。合成类型分析器(STA)和合成图片生成器630可生成超级分辨率(SR)图片和投影内插(PI)图片等等之类以用于确定这些帧中的有效运动补偿预测的运动矢量。这样所生成的经合成的参考帧可存储在合成预测参考(SPR)缓冲区640中并可由运动估计器模块122用于计算当前帧的有效运动(和特性)补偿预测的运动矢量。
运动估计器模块122可至少部分地基于经变形的参考帧和/或超级分辨率(SR)图片和投影内插(PI)图片与当前帧一起而生成运动矢量数据。在一些示例中,可将运动估计器模块122看作帧间预测模块。例如,运动矢量数据可用于帧间预测。如果应用了帧间预测,则特性和运动过滤预测器模块123可应用运动补偿作为如所讨论的局部解码循环的一部分。
图7是至少根据本公开的一些实现而安排的用于执行特性和运动补偿预测的示例解码器预测子系统701的说明性图。如所解说的,解码器700的解码器预测子系统701可包括解码图片缓冲区210、变形分析器和生成模块211、合成分析器和生成模块212、和/或特性和运动补偿精度自适应过滤预测器模块213。
如所示的,可将质量还原过滤模块的输出发送至解码图片缓冲区(或帧选择器控制)210。在一些示例中,质量还原过滤模块的输出可以是可用于译码其他帧的预测的最终重构帧(例如,最终重构帧可以是参考帧等等之类)。如所讨论的,由于预测操作的补偿可包括帧间和/或帧内预测补偿。如所示的,帧间预测补偿可由包括变形分析器和生成模块211、合成分析器和生成模块212、和/或特性和运动补偿精度自适应过滤预测器模块213的一个或多个模块执行。
变形分析器和生成模块211可包括变形图片生成器(MPG)710以及变形预测参考(MPR)缓冲区720。变形图片生成器710可使用去量化的变形参数(例如,从输入比特流确定的)以生成经变形的参考帧。这样所生成的变形参考帧可存储在变形预测参考(MPR)缓冲区720中并可由特性和运动补偿精度自适应过滤预测器模块213使用。
合成分析器和生成模块212可包括合成图片生成器(SPG)730以及合成预测参考(SPR)缓冲区740。合成图片生成器730可被配置成至少部分地基于从输入比特流201而所定的参数而生成一种或多种类型的合成预测参考图片,诸如超级分辨率(SR)图片和投影内插(PI)图片等等之类。这样所生成的合成参考帧可存储在合成预测参考(SPR)缓冲区740中并可由运动补偿过滤预测器模块213使用。
如果应用了帧间预测,则特性和运动补偿过滤预测器模块213可至少部分地基于经变形的参考帧和/或超级分辨率(SR)图片和投影内插(PI)图片与当前帧一起而应用运动补偿。
参考图8,是至少根据本公开的一些实现而安排的用于执行特性和运动补偿预测的另一示例编码器预测子系统330的说明性图。如所解说的,编码器800的编码器预测子系统330可包括解码图片缓冲区119、变形分析器和生成模块120、合成分析器和生成模块121、运动估计器模式122、和/或特性和运动补偿精度自适应过滤预测器模块123。
如所示的,可将质量分析器和质量还原过滤的输出发送至解码图片缓冲区119。在一些示例中,质量分析器和质量还原过滤的输出可以是可用于译码其他帧的预测的最终经重构的帧(例如,最终经重构的帧可以是参考帧等等之类)。在编码器800中,预测操作可包括帧间和帧内预测。如图8中所示的,帧间预测可由包括变形分析器和生成模块120、合成分析器和生成模块121、和/或特性和运动补偿精度自适应过滤预测器模块123的一个或多个模块执行。
变形分析器和生成模块120可包括变形类型分析器(MTA)和变形图片生成器(MPG)610以及变形预测参考(MPR)缓冲区620。变形类型分析器(MTA)和变形图片生成器(MPG)610可被配置成分析和/或生成一种或多种类型的经修改的预测参考图片。
例如,变形类型分析器(MTA)和变形图片生成器(MPG)610可包括增益估计器和补偿预测生成器805、模糊估计器和补偿预测生成器810、主运动估计器和补偿预测生成器815、注册估计器和补偿预测生成器820等等之类和/或其组合。增益估计器和补偿预测生成器805可被配置成分析和/或生成经改编以解决增益改变的变形预测参考图片。模糊估计器和补偿预测生成器810可被配置成分析和/或生成经改编以解决模糊改变的变形预测参考图片。全局运动估计器和补偿预测生成器815可被配置成分析和/或生成经改编以解决主运动改变的变形预测参考图片。具体而言,全局运动估计器和补偿预测生成器815用于计算全局运动参数(dp)并将他们应用在来自DPR缓冲区119的图片上以生成存储在MPR图片缓冲区(主运动补偿预测的局部/图片缓冲区)之一中的GMC变形参考图片。其输出用于块运动估计和补偿。注册估计器和补偿预测生成器820可被配置成分析和/或生成经改编以解决注册改变的变形预测参考图片。
变形类型分析器(MTA)和变形图片生成器(MPG)610可将这样所生成的变形参考帧存储在变形预测参考(MPR)缓冲区620中。例如,变形预测参考(MPR)缓冲区620可包括增益补偿(GC)图片/缓冲区825、模糊补偿(BC)图片/缓冲区830、主运动补偿(DC)图片/缓冲区835、注册补偿(RC)图片/缓冲区840等等之类和/或其组合。增益补偿(GC)图片/缓冲区825可被配置成存储经改编以解决增益改变的变形参考帧。模糊补偿(BC)图片/缓冲区830可被配置成存储经改编以解决模糊改变的变形参考帧。主运动补偿(DC)图片/缓冲区835可被配置成存储经改编以解决主运动改变的变形参考帧。注册补偿(RC)图片/缓冲区840可被配置成存储经改编以解决注册改变的变形参考帧。
合成分析器和生成模块121可包括合成类型分析器(STA)和合成图片生成器630以及合成预测参考(SPR)缓冲区640。合成类型分析器(STA)和合成图片生成器530可被配置成分析和/或生成一种或多种类型的经合成的预测参考图片。例如,合成类型分析器(STA)和合成图片生成器630可包括超级分辨率过滤选择器及预测生成器845、投影轨迹分析器及预测生成器850等等之类和/或其组合。超级分辨率过滤选择器及预测生成器845可被配置成分析和/或生成超级分辨率(SR)类型的经合成的预测参考图片。投影轨迹选择器及预测生成器850可被配置成分析和/或生成投影内插(PI)类型的经合成的预测参考图片。
合成类型分析器(STA)和合成图片生成器630可生成超级分辨率(SR)图片和投影内插(PI)图片等等之类以用于这些帧中的有效运动补偿预测。这样所生成的经合成的参考帧可存储在合成预测参考(SPR)缓冲区640中并可由运动估计器模块122用于计算当前帧的有效运动(和特性)补偿预测的运动矢量。
例如,合成预测参考(SPR)缓冲区640可包括超级分辨率(SR)图片缓冲区855、投影内插(PI)图片缓冲区860等等之类和/或其组合。超级分辨率(SR)图片缓冲区855可被配置成存储针对超级分辨率(SR)图片生成的合成参考帧。超级分辨率(SR)图片缓冲区860可被配置成存储针对超级分辨率(SR)图片而生成的合成参考帧。
运动估计器模块122可基于经变形的参考帧和/或超级分辨率(SR)图片和投影内插(PI)图片与当前帧一起而生成运动矢量数据。在一些示例中,可将运动估计器模块122看作帧间预测模块。例如,运动矢量数据可用于帧间预测。如果应用了帧间预测,则特性和运动过滤预测器模块123可应用运动补偿作为如所讨论的局部解码循环的一部分。
预测模式分析器125(或预测类型及参考类型分析器及选择器(Pred Modes&RefTypes Analyzer&Selector))如上面解释的在局部(块、瓦块或分区)基础上从各种类型的帧间模式和帧内模式中选择最佳预测。此处术语帧间是一般性使用并包括“帧间”模式、“多个”模式、“自动”模式和“跳过”模式。所选择的模式(和子模式,如果适用)、变形或合成参数(dp、gp、rp、sp、pp)、参考信息和运动(mv、Δmv)和其他数据经如上所述熵译码并作为编码比特流的一部分发送给解码器。
图9是至少根据本公开的一些实现而安排的用于执行特性和运动补偿预测的另一示例解码器预测子系统701的说明性图。如所解说的,解码器预测子系统701可包括解码图片缓冲区210、变形分析器和生成模块1、合成分析器和生成模块212、和/或特性和运动补偿精度自适应过滤预测器模块213。
如所示的,可将质量还原过滤模块的输出发送至解码图片缓冲区210。在一些示例中,质量还原过滤模块的输出可以是可用于译码其他帧的预测的最终重构帧(例如,最终重构帧可以是参考帧等等之类)。如所讨论的,由于预测操作的补偿可包括帧间和/或帧内预测补偿。如所示的,帧间预测补偿可由包括变形分析器和生成模块211、合成分析器和生成模块212、和/或特性和运动补偿精度自适应过滤预测器模块213的一个或多个模块执行。
变形生成模块212可包括变形图片生成器(MPG)710以及变形预测参考(MPR)缓冲区720。变形图片生成器710可使用去量化的变形参数(例如,从输入比特流确定的)以生成经变形的参考帧。例如,变形图片生成器(MPG)710可包括增益补偿预测生成器905、模糊补偿预测生成器910、主运动补偿预测生成器915、注册补偿预测生成器920等等之类和/或其组合。如下面更详细描述的,增益补偿预测生成器905可被配置成生成经改编以解决增益改变的变形预测参考图片。模糊补偿预测生成器910可被配置成生成经改编以解决模糊改变的变形预测参考图片。主运动补偿预测生成器915可被配置成生成经改编以解决主运动改变的变形预测参考图片。注册补偿预测生成器920可被配置成生成经改编以解决注册改变的变形预测参考图片。
变形图片生成器(MPG)710可将这样所生成的变形参考帧存储在变形预测参考(MPR)缓冲区720中。例如,变形预测参考(MPR)缓冲区720可包括增益补偿(GC)图片/缓冲区925、模糊补偿(BC)图片/缓冲区930、主运动补偿(DC)图片/缓冲区935、注册补偿(RC)图片/缓冲区940等等之类和/或其组合。增益补偿(GC)图片/缓冲区925可被配置成存储经改编以解决增益改变的变形参考帧。模糊补偿(BC)图片/缓冲区930可被配置成存储经改编以解决模糊改变的变形参考帧。主运动补偿(DC)图片/缓冲区935可被配置成存储经改编以解决主运动改变的变形参考帧。注册补偿(RC)图片/缓冲区940可被配置成存储经改编以解决注册改变的变形参考帧。
合成生成模块212可包括合成图片生成器630以及合成预测参考(MPR)缓冲区740。合成图片生成器730可被配置成基于从输入比特流201而所定的参数而生成一种或多种类型的合成预测参考图片,诸如超级分辨率(SR)图片和投影内插(PI)图片等等之类。这样所生成的合成参考帧可存储在合成预测参考(SPR)缓冲区740中并可由运动补偿过滤预测器模块213使用。例如,合成图片生成器730可包括超级分辨率图片生成器945、投影轨迹图片生成器950等等之类和/或其组合。超级分辨率图片生成器945可被配置成生成超级分辨率(SR)类型的经合成的预测参考图片。投影轨迹图片生成器950可被配置成生成投影内插(PI)类型的经合成的预测参考图片。
合成图片生成器730可生成超级分辨率(SR)图片和投影内插(PI)图片等等之类以用于这些帧中的有效运动补偿预测。这样所生成的经合成的参考帧可存储在合成预测参考(SPR)缓冲区740中并可由特性和运动补偿过滤估计器模块213用于计算当前帧的有效运动(和特性)补偿预测的运动矢量。
例如,合成预测参考(SPR)缓冲区740可包括超级分辨率(SR)图片缓冲区955、投影内插(PI)图片缓冲区960等等之类和/或其组合。超级分辨率(SR)图片缓冲区955可被配置成存储针对超级分辨率(SR)图片生成的合成参考帧。超级分辨率(SR)图片缓冲区960可被配置成存储针对超级分辨率(SR)图片而生成的合成参考帧。
如果应用了帧间预测,则特性和运动补偿过滤预测器模块213可基于经变形的参考帧和/或超级分辨率(SR)图片和投影内插(PI)图片与当前帧一起而应用运动补偿。
主运动补偿
参考图10,如上所述可针对主运动补偿修改参考帧以提供更有效和准确的全局运动补偿。NGV视频译码通过内容划分、内容自适应预测和内容自适应变换译码的新颖方法俩解决现有技术的限制。在内容自适应预测的各种方法中包括与前述基于MPEG-4第2部分标准的技术相比更复杂的全局运动补偿方法。
MPEG-4标准中所包括的全局运动补偿(GMC)的限制之一是,由于包括预测帧之间的大距离、未覆盖的背景、物体的全局和局部运动的混合和简化的内插的各种原因,所计算的GMC参数可能不同提供好的预测。在没有办法修正所计算的GMC参数时,存在的唯一替换是在局部基础上启用或禁用GMC的使用。更具体而言,在逐块基础上确定是否使用GMC。这是计算开销昂贵的过程。
作为对比,NGV视频译码通过引入修正矢量而引入了GMC修正的原则。作为一个示例,要进行译码的原始或当前视频图片1002(右边)有前景物体1004(大星状物体)和背景1006。主运动补偿(DMC)图片1000(左边并且也称为解码参考帧)是通过如下面所解释的形成经制圆或适和矩形1010内的GMC变形图片1008而首先创建的。随后增量修正运动矢量(Δmvx,Δmvy)1016可将前景物体1012经调整(变形或弯曲)的位置“精细调谐”至最终位置1014。本文所示的运动矢量从当前帧1002指向参考帧上的对应位置以示出按通常的译码图区域、部分或块是从哪里来的。
尽管示出了前景星形物体1014的单个增量修正运动矢量1016,但现实中可至少有两个增量修正运动矢量工作,因为一个运动矢量可用于背景1018(比例零增量运动矢量),且另一个运动矢量用于前景(诸如所示的增量运动矢量)。在其他替换方案中,单个运动矢量可用在块上(诸如宏块或更大的)、在瓦块上(诸如64×64矩形或更大的)、或在可通过可不通过将块、瓦块或其他单元组群在一起来形成的其他分区或帧的部分上。
参考图11,作为一个方法,示例过程1100是计算机实现的视频译码方法,且具体而言执行主运动补偿。过程1100是根据本公开的至少一些实现来安排的。过程1100可以包括如由一个或多个操作所解说的一个或多个操作、功能或动作。过程1100可形成下一代视频译码过程的至少一部分。作为非限制性示例,过程1100可形成如由体图1-2的译码器系统100和200或图18-19的主运动补偿译码器子系统1800和1900、和/或本文所述的其他译码系统或子系统所采取的下一代视频编码过程的至少一部分。
过程1100可从“获得像素数据帧并有当前帧和用作当前帧的运动补偿参考帧的解码参考帧”1102开始。
此后,过程1100可包括“通过使用全局运动轨迹将解码参考帧的至少一个部分移位来形成弯曲的全局补偿参考帧”。这在下面更详细地进行了解释。所述至少一个部分可指帧的单个部分、许多部分或整个帧。该部分可以是块、诸如译码树块的瓦块和/或帧的区域或分区。区域可与可不与帧中的物体(或者换言之,在帧提供的图像上示出的物体)相关联,且可有可没有制形类似物体的边界。
过程1100也可包括“基于弯曲的全局补偿参考帧到当前帧处的位置来确定指示至少一个位置的运动或来自位置的运动”。这可由运动估计计算来执行。
过程1100也可包括“至少部分地基于运动矢量形成预测部分并对应于当前帧上的部分”。因此,在此情况中,可在像素值在后述部分中使用以形成可与原始帧的对于区域比较以确定是否存在任何保证需要译码的驻留物之前应用运动矢量以调整块、瓦块、区域或物体的位置。
参考图12,作为另一替换方案,主运动补偿包括在使用像素值作为预测之前在必整个帧小的部分上执行局部全局运动补偿,并且在一个方法中至少不需要针对该部分确定运动矢量。具体而言,示例过程1200是根据本公开的至少一些实现来安排的。过程1200可以包括如由一个或多个操作所解说的一个或多个操作、功能或动作。过程1200可形成下一代视频译码过程的至少一部分。作为非限制性示例,过程1200可形成如由体图1-2的译码器系统100和200或图24-25的主运动补偿译码器子系统2400和2500、和/或本文所述的其他译码系统或子系统所采取的下一代视频编码过程的至少一部分。
过程1200可以是计算机实现的用于视频译码的方法,并包括“获得像素数据帧并有当前帧和用作当前帧的运动补偿参考帧的解码参考帧”1202。
过程1200也可包括“将参考帧划分成多个小于整个帧的面积的部分”1204。因此,可将帧划分成是诸如块或瓦块(诸如译码树块)等等的统一单元的部分。否则,部分可以是基于物体的,诸如前景、背景、帧中的移动物体、或帧中的任何其他物体。
过程1200也可包括“执行包括通过在部分的边界处使用全局运动轨迹将解码参考帧的至少一个部分移位而在帧中的至少一个上应用局部全局运动补偿的主运动补偿”1206。具体而言,可将全局运动轨迹放置在帧上的每一个或所选择的部分的角落处。
过程1200也包括“通过使用所移位的部分的像素值形成对应于当前帧的一个部分的预测部分”1208。因此,在此情况中,可不需要使用运动矢量而直接从弯曲的GMC图片使用像素值。随后局部GMC提供比将GMC对整个帧应用一次更大的准确性。
在下面运动矢量选项和局部全局运动补偿选项二者的表中列出了示出一些可能选项和详细描述的特征的概述表:
Figure GDA0001837023490000501
Figure GDA0001837023490000511
现在更详细地参考图13,根据本公开的至少一些实现安排了示示例过程1300。过程1300可以包括如由从1302到1308均匀编号的一个或多个操作所解说的一个或多个操作、功能或动作。过程1300可形成下一代视频译码过程的至少一部分。作为非限制性示例,过程1300可形成如由体图1-2的译码器系统100或200或者图18-19的增益补偿译码器子系统1800或1900、和/或本文所述的任何其他译码系统或子系统所采取的下一代视频编码过程的至少一部分。
过程1300首先可包括首先获得像素数据帧和具有当前帧及解码参考帧1302。如用编码器100所描述的,可将视频流提供给具有解码循环135以便发现驻留物并将经量化的驻留物提供给解码器的编码器。因此,帧可被解码并用作预测其他帧的解码参考帧。诸如单元120的变形单元可用来确定哪些帧将由主运动补偿修改或变形。这些帧可能已经划分成诸如宏块、预测块等等的单元。
参考图14-16,过程1300可包括创建全局运动补偿(GMC)弯曲帧1304。给定解码参考图片1400和全局运动轨迹时生成GMC(变形)图片的原则的一个形式如下。使用仿射模型的GMC涉及使用编码为三个运动轨迹1404、1406和1408的六个参数,其中三个运动轨迹中的一个对应于参考图片1400的三个角中的每一个且第四个角作为不受约束的。运动轨迹可由经充分理解的过程创建1306。轨迹也可由过程按所理解的或通过使用如下面解释的本文所提供的公式来应用1308。产生的GMC弯曲帧或图片1402与参考图片1400对比显得弯曲。换言之,参考图片(Ref Picture)“矩形”导致如应用GMC参数公式时示出的四边形GMC变形或完全图片1402。具体而言,此处四边形自身还不称为参考帧。
GMC变形参考图片或帧1500可从GMC变形图片1402形成1310。这是执行来提供易于计算和与原始帧比较的帧尺寸的。这可包括创建使用左上坐标作为参考点(或开始点或连接点)涵盖GMC变形图片(梯形)1402的更大的经填充的矩形1500。在四边形1402外面但在矩形1500里面的地区可以通过填充1506来充满,这包括只是从四边形1402的右、上和底边复制像素,除了可通过水平和垂直都扩展和平均化像素来充满的角落像素(重叠的地区)。四边形扩展出矩形1500外面的地区可切掉或剪去。作为一个方法,此GMC变形参考帧用于前向运动补偿。将理解,基于弯曲的图片自身形成的矩形本文也可称为弯曲的参考帧,因为它包括图像的弯曲的像素位置。
通过另一个方法,可可选地形成1312虚拟GMC变形图片1600(用虚线示出)以继续进行运动补偿。这可在系统有足够的计算能力来有效地处理划分时提供,因为这样进一步的弯曲会导致显著的计算负载。否则,运动补偿可如上所述用弯曲的参考矩形1500来继续。
为了提供虚拟GMC变形图片1600,可扩展参考图片以生成虚拟参考图片从而宽度和高度编程二的幂。例如,如果参考图片1500有720的宽度和480的高度,那么虚拟参考图片将有1024的宽度和512的高度。如同之前,运动轨迹1602、1604和1606可针对三个顶点(其中第四个顶点不受约束)中的每一个计算,并应用于虚拟参考图片1600的顶点(而不是如同之间应用于参考图片1400)。也示出了参数的弯曲四边形(由于应用了运动轨迹)并称为虚拟GMC变形图片1600。使用虚拟GMC变形图片1600而不是GMC变形图片1402用于生成变形参考图片1600的原因与以下事实有关:运动补偿过程通常涉及使用比整数像素高得多的精度(通常是1/8像素精度),并因此可要求内插,内插要求划分以缩放。通过与是2的幂的图片合作,缩放相关的划分只是偏移并且对于解码器在计算上要简单得多。
通过第一可选方法,数学上通过使用发射参数a、b、c、d、e、f将先前图片中的点(x,y)的集映射到修改的点(x′,y′)的集的以下公式来描述仿射变换过程。
x′i=a·xi+b·yi+c (10)
y′i=d·xi+e·yi+f (11)
将理解,对于本文所要公式,(·)、(*)或(×)中的任何一个只是指乘法。公式(10)和(11)有效地将参考帧修改或变形从而可将参考帧用于对正在进行分析的当前帧的更有效的运动补偿。此模型作为三个运动轨迹发送,一个轨迹针对图片的左上角、一个针对图片的右上角、还有一个针对图片的左下角。对于假定其宽度和高度是大于译码图片的最小2的幂的数的虚拟图片计算(定点运算)仿射参数。这移除了解码器处的除法操作。正式而言,假定对于三个顶点(x0,y0)、(x1,y1)、(x2,y2),其对应运动轨迹mt0、mt1、mt2是给定的并可以表示为(dx0,dy0)、(dx1,dy1)和(dx2,dy2),以1/8像素单位计。其中:
x0=0,y0=0
x1=W*8,y1=0
x2=0,y2=H*8
其中W是图片的宽度且H是图片的高度。随后,将W和H取舍到2的幂,如下导出W′和H′。
W′=2r:W′>=W,2r-1<W (12)
H′=2s:H′>=H,2s-1<H (13)
随后仿射参数A、B、C、D、E、F可以如下计算。
C=dx0 (14)
F=dy0 (15)
A=W′*((x1+dx1)-(x0+dx0))/W (16)
B=W′*((x2+dx2)-(x0+dx0))/W (17)
D=H′*(((y1+dy1)-(y0+dy0))/H) (18)
E=H′*(((y2+dy2)-(y0+dy0))/H) (19)
下面提供了计算变形或弯曲参考帧的其他选项。
过程1300也可包括定义运动矢量1305的帧部分。此处,提供了三个选项并在下面进行了描述。在一个选项中,运动矢量是在逐块的基础上提供的,并可针对诸如宏块或其他预测或译码单元的预测块1306定义。作为另一选项,可将帧划分成瓦块,瓦块可以是64×64像素或更大的块。对于此选项,可将瓦块分组成与诸如背景或前景的一部分的物体相关联的区域。随后针对每一个区域确定运动矢量。作为第三选项,可直接定义区域而无需任何对大瓦块或块的初始划分,而可将这样的区域的边界定义成适合小块(诸如4×4像素)。
参考图17,对于第一选项,基于块的主运动补偿,其中每一个块使用关于仿射GMC参考帧的增量运动矢量(MV)修正。这包括首先使用1316或获得诸如预测宏块的块,该块可以是比所示的更大的当前帧的16×16像素或其他尺寸的块单元,并移位到弯曲参考帧上。
通过一个示例,可将有要进行译码的星形物体1704的当前帧1702划分成块A2、B2、C3用于译码,且可使用过去的译码参考帧和形成弯曲四边形1708的GMC运动轨迹来划分GMC变形参考帧1700。来自当前帧1702的像素块A2、B2、C2在运动补偿期间被匹配以分别在A1、B1和C1处找到最接近的匹配。在弯曲和填充的GMC参考图片1700中第一块匹配偏移了增量运动矢量Δmv1(1714)、第二块匹配偏移了增量运动矢量Δmv2(1716)、且第三块匹配偏移了增量运动矢量Δmv3(1718)。尽管仅示出了三个块,但假定整个图片可在块网格上划分成块,并且对于每一个块可以计算提供GMC参考图片1700中的最佳匹配的增量运动矢量。而且,尽管将块示为中等尺寸,但一般而言块可以大、可以小、或者每一个块都可以是数个经许可的尺寸、和提供在减少运动补偿预测错误对比需要进行译码和传输的额外增量运动矢量信息的成本之间的正确折衷所需要的无论什么尺寸中的一个。
一旦建立了块,可执行运动估计1326以基于帧的部分(在这个例子中是块)的弯曲位置而确定增量运动矢量。在实际译码场景中(经由图18-19进一步解释了),期望不同的块可使用不同的译码模式(诸如如上所述的DMC、增益、注册、SR、PI、无参考参数、或帧内),以及最大化关于译码成本而降低预测错误。因此,实际上,仅帧中的块的一小部分可实际用DMC译码并从而要求增量运动矢量。
为了得到更高的预测效率,可将增量运动矢量保持在1/4或1/8像素精度。为了降低发送增量运算矢量的成本,本文标识为(Δmv)的运动矢量可用遵循与正则运动矢量的译码相似的方法的预测来有效译码。如本文所述用在块上的过程1300可不称为GMC预测,因为其使用指向GMC参考图片1700处的源块的增量运动矢量。相反,这被认为是主运动补偿(DMC)的类型,并可称为运动矢量DMC。如下面所述存在其他形式的DMC。然而此处的这个差异(在GMC和DMC之间)并不小。它形成了可比已知的GMC显著地减少预测错误从而提供更有效译码的对像素位置的调整。
而且,本文所述的方法比针对弯曲参考帧1000而讨论的(图10)更简单,因为弯曲参考帧1700不要求关于前景或背景物体的单独知识,而所解说的针对弯曲参考帧1700的过程仍将GMC的原则扩展到DMC。
一旦建立了增量运动矢量,过程1300可使用由运动矢量所标识的部分继续进行形式预测1328(或者具体而言预测部分或在此例子中预测块)。诸如双线性内插的简单技术可用于生成必要的DMC预测块。更复杂的方法也可如下使用:
以下是用于生成变形参考(MRef)的一种方法:
1.(参考方法)使用双线性内插的变形参考
A、B、C、D、E和F是从传输的三个运动轨迹计算的仿射参数。
x=(A*j+B*i+C<<r)>>r
(20)
y=(D*j+E*i+F<<s)>>s
(21)
其中(j,i)是(在正在进行分析的当前帧上的)当前像素位置,<<和>>是左和右比特级位移,且(x,y)是1/8像素准确性的经变形或修改的参考帧上的参考像素坐标。
py=y&0x7 (22)
px=x&0x7 (23)
y0=y>>3 (24)
x0=x>>3 (25)
其中(x0,y0)是参考图像(参考帧)中的整数像素位置,且px、py是1/8像素相,&0x7指与(使用8个比特的7的二进制值)的比特级与(AND)。这些表示用来找到在他们中间的像素的加权平均值的四个角点。随后,如下构建经变形或修改的参考:
MRef[i][j]=((8-px)*(8-py)*Ref[y0][x0]+px*(8-py)*Ref[y0][x0+1]+py*(8-px)*Ref[y0+1][x0]+py*px*Ref[y0+1][x0+1]+31)>>6 (26)
其中MRef是变形参考帧,并以不同的形式引用:
Figure GDA0001837023490000561
2.使用双线性内插及MC过滤的运动补偿变形参考预测:
通过确定变形参考和预测的另一替换性方案,可如下将运动矢量和块尺寸的变化作为因素计入到公式中。(iMVx,iMVy)是(j,i)处尺寸(Wb×Hb)的块的亚-像素单位(fs)的经传输的运动矢量。A、B、C、D、E和F是从传输的三个运动轨迹计算的仿射参数。使用有范数T的过滤系数或h[fS][Nt]的可分开的运动补偿(MC)过滤,fS是亚-像素因子(例如,2=半像素,4=四分之一像素,8=八分之一像素),其中Nt是MC过滤阀(filter tap)的数量,以及
Figure GDA0001837023490000562
Figure GDA0001837023490000563
pi=iMVy&(fS-1) (30)
pj=iMVx&(fS-1) (31)
其中(j′,i′)是变形参考图像中整数经运动调整的当前像素位置,且pj、pi是变形参考图像中的1/8像素相。为了创建MRef图像则:
x=(A*j′+B*i′+C<<r)>>r (32)
y=(D*j′+E*i′+F<<s)>>s (33)
其中(x,y)是1/8像素准确性的位置(j′,i′)的参考像素坐标
py=y&0x7 (34)
px=x&0x7 (35)
y0=y>>3x0=x>>3 (36)
其中(x0,y0)是Ref图像中的整数像素位置。px、py是1/8像素相。
MRef[i′][j′]=((8-px)*(8-py)*Ref[y0][x0]+px*(8-py)*Ref[y0][x0+1]+py*(8-px)*Ref[y0+1][x0]+py*px*Ref[y0+1][x0+1]+31)>>6 (37)
tPredh[m][n]=SUMk(h[pj][k]*MRef[i′+m][j′+n+k])/T (38)
其中:
Figure GDA0001837023490000564
n=[0,Wb-1], (40)
Figure GDA0001837023490000571
以及
Predji[m][n]=SUMk(h[pj][k]*tPredh[m+k][n])/T (42)
其中
m=[0,Hb-1], (43)
n=[0,Wb-1], (44)
Figure GDA0001837023490000572
MRef是变形参考帧,tPredh是中间水平内插,且Predji是最终运动补偿变形参考预测。
Figure GDA0001837023490000573
Figure GDA0001837023490000574
其中
Figure GDA0001837023490000575
n=[0,Wb-1], (49)
Figure GDA0001837023490000576
其中
m=[0,Hb-1],且n=[0,Wb-1], (51)
3.使用块MC过滤的变形参考
通过另一替换性方案,A、B、C、D、E和F是从传输的三个运动轨迹计算的仿射参数。使用有范数T的过滤系数h[fS][Nt]的可分开MC过滤,fS是亚-像素因子(例如,2=半像素,4=四分之一像素,8=八分之一像素),其中Nt是MC过滤阀的数量。
x=(A*j+B*i+C<<r)>>r
(52)
y=(D*j+E*i+F<<s)>>s
(53)
其中(j,i)是当前图像每个(WS,HS)子块(通常是4×4、8×4或8×8子块)位置,x和y是1/8像素准确性的参考像素坐标。
py=y&0x7 (54)
px=x&0x7 (55)
y0=y>>3 (56)
x0=x>>3 (57)
其中(x0,y0)是参考帧(Ref图像)帧的整数像素位置,且px、py是1/8像素相。
tPredh[m][n]=SUMk(h[pk][k]*Ref[y0+m][x0+n+k])/T (58)
Figure GDA0001837023490000581
n=[0,WS-1], (60)
Figure GDA0001837023490000582
MRef[m][n]=SUMk(h[py][k]*tPredh[m+k][n])/T (62)
m=[0,HS-1], (63)
n=[0,WS-1], (64)
Figure GDA0001837023490000583
其中MRef是变形参考帧,PredH是中间水平内插。
Figure GDA0001837023490000584
Figure GDA0001837023490000585
n=[0,WS-1], (68)
Figure GDA0001837023490000586
m=[0,HS-1], (70)
n=[0,WS-1], (71)
4.使用单循环MC过滤的运动补偿变形参考预测
作为考虑运动矢量和块尺寸变化的又一替换性方案,(iMVx,iMVy)是(j,i)处尺寸(Wb×Hb)的块以亚-像素单位(fS)的经传输的运动矢量。A、B、C、D、E和F是从传输的三个运动轨迹计算的仿射参数。使用有范数T的过滤系数h[fS][Nt]的可分开MC过滤,fS是亚-像素因子(例如,2=半像素,4=四分之一像素,8=八分之一像素),其中Nt是MC过滤阀的数量。
i′=(i+u*HS)*fS+iMVx (72)
j′=(j+v*WS)*fS+iMVy (73)其中(j,i)是当前块像素位置,(u,v)是给定的(Wb×Hb)的当前块的每一个(WS×HS)子块的索引,且(WS×HS)子块通常是4×4、×、8×4或8×8。下面,i′、j′是fS亚像素准确性的经运动调整的当前像素位置。
x=((A*j′+B*i′+(C*fS)<<r)>>(r+3) (74)
y=((D*j′+E*i′+(F*fS)<<s)>>(s+3) (75)
其中x及y是fS亚像素准确性的参考像素坐标。
py=y&(fS-1) (76)
px=x&(fS-1) (77)
y0=y/fS (78)
x0=x/fS (79)
其中y0、x0是Ref图像中的整数像素位置。px、py是1/8像素相。
tPredh[m][n]=SUMk(h[px][k]*Ref[y0+m][x0+n+k])/T (80)
Figure GDA0001837023490000591
n=[0,WS-1], (82)
Figure GDA0001837023490000592
Predji[u*HS+m][v*WS+n]=SUMk(h[py][k]*tPredh[m+k][n])/T
m=[0,HS-1], (84)
n=[0,WS-1], (85)
Figure GDA0001837023490000593
v=[0,Wb/WS-1], (87)
u=[0,Hb/HS-1], (88)
其中tPredh是中间水平内插,且Predji是(j,i)处尺寸Wb×Hb的块的最终运动补偿变形参考预测。
Figure GDA0001837023490000601
对于:
Figure GDA0001837023490000603
n=[0,WS-1], (91)
Figure GDA0001837023490000604
对于:
m=[0,HS-1], (93)
n=[0,WS-1], (94)
u=[0,Hb/HS-1], (95)
v=[0,Wb/WS-1], (96)
如以上用图1所描述的,一旦建立了块或其他部分的预测,最佳预测在针对特定部分或块计算的替换性方案中选择,如果有的话。最佳预测的像素值与原始帧的那些对应像素值比较,且如果有的话其差是经译码并发送至解码器的驻留物。
现在参考图18,NGV或经修改的HEVC编码器的一部分或子系统1800使用基于块的类型的DMC预测1316,该DMC预测1316如上所述使用增量运动矢量。尽管HEVC标准不支持全局(或主)运动补偿或者变形或合成参考,其确实支持无格式参考并可修改成编码器子系统1800。
在与可共享相同或相似功能性中的大部分的图1比较时,编码器1800提供关注DMC预测的简化表示。如早前讨论的,从去块化过滤和QR过滤获得的解码帧存储在解码预测参考(DPR)图片缓冲区1802(也称为图1的多参考帧存储单元119)以供由变形参考分析和生成逻辑或合成参考分析和生成逻辑使用。为了简单起见,除了DMC之外,省略了用于变形的其他组件的细节,从而此处变形参考生成逻辑只是标记为其他变形分析器、生成器及图片缓冲区1808。类似的,隐藏了合成参考分析和生成的细节,故而合成参考分析和生成逻辑标记为其他合成分析器、生成器及图片缓冲区1810。
在此图中GMC/DMC组件是分开的并作为与其他变形有关的组件和逻辑的对比显式地示出。主要组件是全局或主运动估计器及补偿预测图片/瓦块/分区生成器1804、主运动补偿局部/图片缓冲区1806、和运动补偿过滤预测器1814的内插子集1815,其中控制逻辑包括全局运动轨迹信息gmt和增量运动矢量Δmvs。将注意,用虚线示出了并在下面稍后描述了用于定义要与运动矢量一起使用的帧部分的其他替换性(非基于块的)过程的组件。
在操作中,将存储在DPR缓冲区1802中的解码和过滤图片输入到全局或主运动估计器及补偿预测图片/瓦块/分区生成器1804,该全局或主运动估计器及补偿预测图片/瓦块/分区生成器1804在现在基于块的替换性方案中执行全局运动估计(GME)从而产生整个帧(其中轨迹位于帧的角落处)的全局运动参数(表示为gmt轨迹)并生成存储在主运动补偿的局部/图片缓冲区1806中的GMC Ref图片或区域。下一步,块运动估计器和分区运动装配器1812执行基于块的运动估计从而产生块(或分区)的运动矢量或增量运动矢量,且这些运动矢量由运动补偿预测器1814(此处称为二叉树分区特性和运动补偿自适应精度过滤预测器)使用,该运动补偿预测器1814通过使用内插单元1815的子像素内插而生成预测块。上面解释了各种子像素内插器的替换性选择(替换性方案1-4)。将来自运动补偿预测器1814的输出预测块(分区)馈送给预测模式和参考类型分析器1816。而且,将帧内预测块(或分区)从帧内方向预测分析器和生成器1818输入到预测模式和参考类型分析器1816中。在块(或分区)的基础上,预测模式及参考类型分析器1816从各种选择(例如,DMC预测是可用的许多选择中的一个)确定最佳预测块并将它输出到差分器(在此处未示出的电路部分中),该差分器生成预测错误用于译码。而且,也称为熵编码器变形和合成参数及MV的熵译码器1820编码GMC/DMC参数和数据,即gmt和Δmvs。为了简单起见,未示出其他所需要的信息,诸如标识块(分区)是否使用DMC或一些其他变形或合成预测类型(或帧间类型)以及还有要用作参考的图片的模式和参考消息。
如可以注意到的,编码器子系统1800可经相对扩展或修改以用于其它视频压缩技术。例如,通过扩展当前的H.264和即将到来的HEVC标准,也可以让此处讨论的DMC方法一起工作。HEVC标准不支持GMC或NGV的变形或合成预测模式中的任何一个,但其确实支持基于多个参考的预测,因此在可以添加基于DMC的经改善的增量mv之前,需要首先将GMC添加到HEVC标准中。而且,NGV编解码器使用瓦块和二叉树划分用于运动补偿,但HEVC使用译码数块(CTB)或最大译码单元(LCU)、和四叉树划分成译码单元(CU)和基于8的小码本的划分成预测单元(PU)的概念,他们尽管有向外不同的处理结构但功能上相似。模式和参考类型信息在HEVC中可用但需要进行扩展以支持GMC/DMC扩展。
参考图19,NGV或经修改的HEVC解码器的一部分或子系统1900可与编码器1800的有关组件互补。在与基本共享相同或相似功能性的解码器200比较时,编码器1900示出了关注DMC预测的更简单表示。解码器1900通过使用增量MV修正而使用块的主运动补偿。HEVC标准不支持全局(或主)运动补偿或者变形或合成参考,但其确实支持无格式参考。
熵解码器1901(也称熵解码器变形和合成参数及MV)首先解码变形和合成参数、运动矢量、增量运动矢量(示出了)和模式和参考类型决定(未示出)。经解码和过滤的图片可存储在DPR缓冲区1902中并输入到全局或主运动补偿预测图片/瓦块/分区生成器1904中,该全局或主运动补偿预测图片/瓦块/分区生成器1904使用解码的gmt参数来生成GMC参考图片或区域,该GMC参考图片或区域随后存储在主运动补偿局部/图片缓冲区1906中。如在编码器的情况中,也称为二叉树分区特性和运动补偿自适应精度过滤预测器的运动补偿预测单元1912是NGV译码特定的,但一般而言任何类型的运动补偿预测器都可以使用。上述预测内插替换性方案(1-4)的集可由预测单元1912的内插单元或子系统1915使用。在解码之后,由运动补偿预测单元1912对增量运动矢量的使用导致与来自帧内方向预测生成器1916的预测一起被发送到预测模式选择器1914的主运动补偿块(分区),该预测模式选择器1914使用解码的参考类型和模型信息来针对多个块(分区)中的每一个输出最佳预测块(分区)。这与编码器处的局部预测循环中的预测过程是一样或者相似的(编码器也使用不是解码器一部分的方向/估计过程)。
与编码器1800类似,解码器1900也有其他变形组件的简化视图。因此,其他变形生成器及图片缓冲区1908和参数(mop)和合成组件其他变形生成器及图片缓冲区1910和参数(syp)未在此详述。而且,如同编码器1800,示出的解码器1900的部分可经改编以与扩展的H.264或HEVC视频标准一起工作。如早前所述,HEVC标准不包括NGV编解码器的变形和合成类型且仅共享多个引用帧预测的共性,因此HEVC标准需要进行扩展以支持DMC预测模式。NGV和HEVC标准也在采用的划分上不同。然而这个差异主要是表面上的,因为在功能层面所采用的过程是相似的。
参考图20-22,过程1300可替换性地包括将帧划分1318成瓦块,和随后在应用增量运动矢量之前(注意,本文中运动矢量可取决于上下文意味着增量运动矢量)将瓦块分组1322成区域。具体而言,尽管经由弯曲参考帧1700讨论的基于块的增量运动矢量类型的DMC方法可能简单,但不像在计算开销管理上那么有效,因为除了译码全局GMC轨迹(gmt)参数的成本之外,增量运动矢量是在块的基础上提供的。
提供了弯曲参考帧的三个变体2000、2100和2200以示出DMC的增量运动矢量在帧的其他部分上而不是或者在逐块的基础上的使用。弯曲参考帧2000(图20)可用来提供具有合并的瓦块或CTB组的临近区域层的主运动矢量,其中每一个区域都使用关于仿射GMC参考图片的增量MV修正。因此,可通过使用更大的瓦块而不是块,以及更重要的是通过将瓦块分组到一起以进一步金山需要发送的增量运动矢量的数量来获得计算开销的显著减少。例如,弯曲参考2000可基于解码的参考帧而从弯曲的四边形2008形成,并用作要译码的当前帧2002的参考。当前帧2002和弯曲的参考帧2000二者都可划分成瓦块,且此处示出了九个瓦块,但瓦块的数量可以是不同的。作为一个方法,瓦块可以是亮度像素和相对应色度像素的64×64阵列。瓦块也可以更大一些。如所示的,可在当前帧中将瓦块分组成前景瓦块2004和背景瓦块2006。
通过基于瓦块是否主要包括图片中的前景(FG)或背景(BG)来将瓦块分组仅要求两个增量mv,一个用于修正FG,且另一个用于修正GMC参考帧2000中的BG。因此,仅两个增量mv(一个用于FG一个用于BG)需要进行译码和传输,以及将FG与BG瓦块区分开的二进制掩码。由于瓦块通常很大,对每一个块或瓦块发送掩码所要求的计算开销比特通常比发送单个增量运动矢量中招致的要少得多。而且,如果对于某些瓦块将使用除了DMC之外的另一模式,那么这样的瓦块不需要包括在FG/BG掩码中。换言之,瓦块在弯曲参考帧中的位置仍由增量运动矢量逐瓦块地调整,诸如对于瓦块2010-2012,除了现在对于组或区域中的每一个瓦块使用同一增量运动矢量。因此,所有的前景瓦块有同一矢量且所有的背景瓦块有同一矢量。这可取决于计算如何进行,并很可能与将整个区域与单个运动矢量一起移动相同或者表述为将整个区域与单个运动矢量一起移动。所讨论的方法迄今为止也应用于多于两个区域(多物体分割)的情况并要求发送多个互斥的瓦块-物体/区域映射而不是单个FG/BG映射。一般而言,部分、区域或区域层可以是与同一物体有关联的瓦块的组,无论该物体上背景、前景、移动物体或任何其他物体。构想了瓦块可根据其他共同管理分组,其他共同关联诸如无论由帧显示的图像而关于在帧上的尺寸或位置等等。这应用于本文所讨论的任何分组。尽管迄今为止已经使用了来自NGV的术语瓦块,但如果使用了DMC结合HEVC,则用术语CTB/LCU取代输入瓦块而应用同一原则。
参考图21,尽管弯曲参考帧2000示出了有增加的计算开销降低的增量mv类型的DMC的第一变体,由于瓦块在尺寸上可以很大,基于瓦块映射的近似FG/BG区域分类可以是相当粗略的,这进而可能不产生足够的DMC预测(用DMC预测错误的降低来衡量)。因此,弯曲参考帧2100可用来执行瓦块或CTB的合并的二叉树分区的近似区域层的主运动补偿,其中每一个或多个区域层使用关于仿射GMC参考帧的增量MV修正以便进一步降低计算开销。具体而言,弯曲参考帧2100可用作译码当前帧2102的参考。当前帧2102有前景(FG)瓦块2108和背景(BG)瓦块2110。然而,在此安排中,帧2102有瓦块尺寸的变化并许可瓦块被水平或垂直地分割成两个,从而允许边界瓦块2104和2106更准确,和由此近似区域边界更准确,并因此预测更准确(导致进一步的减少预测错误)。
具体而言,当前帧2102有完整的一些瓦块2108和2110,无论是FG或BG区域,而FG/BG边界值的许多瓦块是水平(2104)或垂直(2106)地通过二叉树分区分割的从而允许要构建的FG/BG近似区域层的提高的准确性。而且,弯曲参考帧2100的生成是通过首先估计整个当前图片关于参考帧的全局gmt参数、随后使用所计算的参数弯曲参考帧来计算弯曲GMC帧2116、和随后用边界扩展填充弯曲GMC帧2116来创建矩形弯曲GMC参考帧2100。在此GMC参考帧2100中,随后计算了两个增量运动矢量2122和2124,一个用于近似FG(形成近似的前景区域的完整瓦块和半瓦块),另一个用于近似BG(形成背景区域的剩下的完整瓦块和半瓦块),从而这些增量mv2122和2124进一步允许代替使用位于同处的近似FG/BG区域(包括瓦块和二叉树分区瓦块)的改善的DMC预测。在此情况中,经弯曲和调整的瓦块2126用来定位当前帧瓦块2110,而经弯曲和调整的瓦块一半2120和2122分别是当前帧瓦块一半2106和2108的参考。
参考图22,作为另一替换性方案,弯曲参考帧2200可提供瓦块或CTB的合并的四叉树分区的近似区域层的主运动补偿,其中每一个区域层使用关于仿射GMC参考帧的增量MV修正。然而,在此变体中,许可要译码的当前帧2202让瓦块被分割成四分之一2206和2208(1/2都水平地和垂直的),从而允许边界瓦块更准确,和由此近似区域边界更准确,并因此预测更准确(导致进一步的减少预测错误)。具体而言,当前帧2202有完整的一些瓦块2204和2210,无论是FG或BG区域,而FG/BG边界值的许多瓦块是水平或垂直地(经四叉树分区)分割的从而允许要构建的FG/BG近似区域层的提高的准确性。而且,GMC参考帧2200的生成是通过首先估计整个当前帧图片关于参考帧的全局gmt参数、随后使用所计算的参数弯曲参考图片来计算弯曲GMC图片2114、和随后用边界扩展填充弯曲GMC图片2114来创建矩形GMC参考图片(或弯曲参考帧)2200。在此GMC参考帧2200中,随后计算了两个增量运动矢量2222和2224,一个用于近似FG(形成近似的前景区域的完整瓦块和四分之一瓦块),另一个用于近似BG(形成背景区域的剩下的完整瓦块和四分之一瓦块),从而这些增量mv进一步允许代替使用位于同处的近似FG/BG区域(包括瓦块和四叉树分区瓦块)的经改善的DMC预测。如可以看见的,此处四分之一瓦块2206使用经弯曲和调整的参考四分之一瓦块2216,且整背景瓦块2210使用参考整瓦块2220。
再次参考图18-19,编码器1800和译码器1900可经轻微修改以执行针对上述帧2000、2100和2200提供基于近似区域层增量mv的DMC方法的组件。区域层可以是每一个都使用增量MV修正的合并的瓦块或CTB,或(瓦块/CTB的)合并的(二叉/四叉)树分区。HEVC标准不支持全局(或主)运动补偿或者变形或合成参考,但其确实支持无格式参考。解码器1900可使用内容块Prop分析器及近似区域分割器1822,该内容块Prop分析器及近似区域分割器分析视频序列的每一个输入图片并将其分割成近似区域层。出于解释的目的假定每一个图片经分割成两个区域层——近似前景(FG)区域层和近似背景9BG)区域层,则可提供合并映射并有携带瓦块(和瓦块的分区)到两个类别中的一个的映射的数据。映射器1824(也称为近似区域到瓦块/CTB和分区映射器)接收边界数据或参数(也称为瓦块/CTB及二叉/四叉分区边界)以便构建合成映射。
将当前图片(正处理的)以及过去的经解码参考图片(来自DPR图片缓冲区1802的图片之一)二者都输入到全局或主运动估计器及补偿预测图片生成器1804中,从而增量mvDMC参数可以针对两个近似区域中的每一个而计算并通过使用DMC参考图片而计算。合并映射(merge map)由运动补偿预测器(也称为二叉树分区图像和运动补偿自适应精度(AP)过滤预测器)和由块运动估计器和分区运动装配器1812(也称为4×4块运动估计器1/4及1/8像素准确性和分区运动装配器)使用,其中后者用来计算增量运动矢量且前者用来计算使用这些增量mv的实际运动补偿DMC预测。结果是完整的DMC参考图片。将使用DMC参考图片的基于DMC近似区域的预测与来自帧内方向预测器1818的输入一起馈送到预测模式及参考类型分析器1816,且过程如上所述地在瓦块或分区的基础上进行,其中预测模式及参考类型分析器1816从各种选择中确定最佳预测。而且,熵编码器1820编码DMC数据(诸如gmt参数、此替换性方案的Δmvs和合并映射)、以及其他数据(诸如mv、mop(变形参数)和syp(合成参数)和mode info(模式信息)等等)。
参考图19,解码器1900可经修改以执行每一个都使用增量MV修正的(合并的瓦块/CTB、或合并的瓦块/CTB的(二叉/四叉)树分区的)近似区域层的主运动补偿。熵解码器1901解码DMC数据(诸如gmt参数、增量mv、和合并映射)、以及其他数据(诸如mv、mop(变形参数)和syp(合成参数))和mode info(模式信息,未示出)。解码的合并映射数据由运动补偿预测器1912(也称为二叉树特性和运动补偿自适应精度(AP)过滤预测器)使用以跟踪正经处理的瓦块或分区瓦块所述与的(FG/BG)区域类型。全局或主运动补偿预测图片/瓦块/分区生成器1904在来自DPR图片缓冲区1902的解码图片上使用解码的gmt参数以生成弯曲GMC图片,并随后用边界填充来生成矩形GMC参考帧或图片。在此GMC参考图片中,随后应用近似FG区域的增量运动矢量以确定包括瓦块和分区的经DMC预测的近似FG区域。类似的,随后应用近似BG区域的增量运动矢量以确定包括瓦块和分区的经DMC预测的近似BG区域。在重叠的FG和BG区域的情况中,重叠地区的经平均的像素用作重构。类似的,在前景和背景之间有洞的情况中,将相邻背景区域边界和前景区域边界像素平均或扩展以充满这些洞。结果是完整的DMC参考图片。
预测模式选择器1914使用由编码器经由比特流发送的基于瓦块或分区的模式信息来使用来自DMC参考图片的DMC近似FG或BG区域或者若干可用的变形预测器或合成预测器或帧内预测器中的一个的瓦块/分区。随后将产生的预测加回(解码器的这部分是外部的)至在解码器处解码的经解码的量化预测错误以重构最终解码视频图片。
参考图23-25,过程1300也可包括定义物体相关联的区域1324,而不是定义瓦块和随后将瓦块分组成区域,且不说=是使用块用于基于运动矢量的DMC。此处,经分割的区域层的主运动补偿是对每一个使用关于仿射GMC参考帧的增量MV修正的区域层执行的,带着进一步改善预测准确性/计算开销折衷的目标。此变体使用区域(更精确地说是属于一个物体的区域的集合),并明确地称为区域层(RL)。将要译码的当前帧2300显式地分割成前景(FG)区域层2304和背景(BG)区域层2306,其中FG区域层2304包括人的头和肩视图2302,且背景包含包括星形2308的图片的剩余部分。对于整个图片,首先计算了GMC参数gmt并用来如前所述地生成GMC参考帧或图片(或弯曲参考帧)2310。下一步,确定FG区域层2304在GMC参考帧2322中的位置并计算将区域层的位置从经弯曲的位置2326调整到经调整的位置2330的FG区域的单个修正增量mv(Δmvf)2328,且通过增量运动矢量从而降低FG区域层的DMC预测错误。下一步,计算BG区域的单个修正增量mv(Δmvb)2318从而增量运动矢量将星形的位置从经弯曲的位置2314调整到经调整的位置2316,这也降低背景的DMC预测错误。
增量mv类型DMC的此变体就关于简单的基于块(基于分区)的合并映射的差分而言产生区域层表示的附加成本,但进而允许进一步减少关于先前的基于块的技术的DMC预测错误同时要求相同数量的(两个)增量mv。实际上,此处的三个变体块、分组的瓦块和整个区域全部都提供就复杂度、计算开销和DMC预测错误减少而言的不同折衷。经弯曲的参考帧1700(图17)的基于块的变体在复杂度上是最简单的,瓦块分组变体(图20-22)提供就近似区域层边界而言的中间基准,而整区域变体(图23)提供对DMC预测错误的更准确的减少的机会。
参考图24,提供了带执行经分割的区域层的DMC的组件的编码器2400,其中每一个区域层都使用增量mv修正。编码器2400有内容分析器和区域分割器2426,该内容分析器和区域分割器2426分析视频序列的每一个输入图片并将其分割成区域层。出于解释的目的,假定将每一个图片分割成两个区域层——前景(FG)区域层和背景(BG)区域层,区域边界(region bndry)有携带前景边界形状(剩下的是背景)的数据。将当前图片(正处理的)以及过去的经解码参考图片(来自DPR图片缓冲区2402的图片之一)二者都输入到全局或主运动估计器及补偿预测图片生成器2404中,从而增量mvDMC参数可以针对两个区域中的每一个而计算并生成DMC参考图片。
区域边界映射由运动补偿预测器2414(也称为区域特性和运动补偿自适应精度(AP)过滤预测器)和由区域运动估计器2412(也称为区域运动估计器1/4及1/8像素准确性)使用,其中后者用来计算增量运动矢量而前者用来计算使用这些增量mv的实际运动补偿DMC预测。基于DMC区域的对FG和BG区域的预测是使用所计算的运动矢量用于GMC参考帧中的偏移而生成的,且将产生的预测馈送给预测模式及参考类型分析器2416。将来自帧内方向预测分析器和生成器2418的帧内数据以及变形和合成预测提供给分析器2416。在局部子区域的基础上,预测模式及参考类型分析器2416从各种选择(例如,DMC预测是可用的许多选择中的一个)确定最佳预测并将它输出到差分器(在此处未示出的电路部分中),该差分器生成预测错误用于译码。而且,熵译码器2420(称为熵编码器变形和合成参数及MV)编码DMC数据诸如gmt参数、增量mv、和合并映射)、以及其他数据(诸如mv、mop(变形参数)和syp(合成参数))和mode info(模式信息,未示出)。如早前所述,此类型的基于区域的DMC在整体基于区域的视频译码器的上下文中有最佳意义,其中将图片划分成区域层,且为了易于处理每一个区域都可划分成子区域。
参考图25,提供了基于区域的解码器2500的一部分或子系统以执行经分割的区域层的主运动补偿,其中每一个区域层都使用增量MV修正。解码器2500可具有熵解码器2518(也称为熵解码器变形及合成参数),且该熵解码器解码DMC数据诸如gmt参数、增量运动矢量、和区域边界)、以及其他数据(诸如mv、mop(变形参数)和syp(合成参数))和mode info(模式信息,未示出)。经解码的区域边界数据由区域特性和运动补偿自适应精度(AP)过滤预测器2512使用来确定子区域是否是FG或BG区域的一部分。全局运动补偿预测图片生成器2504在来自DPR图片缓冲区2502的解码图片上使用解码的gmt参数以首先生成弯曲GMC图片,并随后填充该弯曲GMC图片来生成矩形GMC参考图片。随后通过使用经解码的区域边界和增量运动矢量,生成了FG区域的DMC预测以及BG区域的DMC预测。预测模式选择器2514使用由编码器经由比特流发送的基于子区域的模式信息来使用来自GMC参考图片的DMC预测的FG或BG区域中任一个的子区域、或者若干可用的变形预测器或合成预测器或帧内预测器中的一个的子区域。随后将产生的预测加回(解码器的这部分是外部的)至在解码器处解码的经解码的量化预测错误以重构最终解码视频图片。剩下的部分与之前描述的那些类似。
参考图26,称为局部全局运动轨迹(gmt)类型的DMC的第二种类型的DMC,或者实际上局部地应用了全局运动补偿,但只是简称为局部全局运动补偿。这可由计算机实现的示例过程2600执行用于局部全局运动补偿。示例过程2600是根据本公开的至少一些实现来安排的。过程2600可以包括如由从2602到2626均匀编号的一个或多个操作所解说的一个或多个操作、功能或动作。过程2600可形成下一代视频译码过程的至少一部分。作为非限制性示例,过程2600可形成如由体图1-2的译码器系统100或200或者图18-19的增益补偿译码器子系统1800或1900、和/或本文所述的任何其他译码系统或子系统所采取的下一代视频编码过程的至少一部分。
过程2600首先可包括获得像素数据帧和具有当前帧及如前所述的解码参考帧2602。随后过程2600可包括定义局部全局运动补偿2604的帧部分。提供了将帧划分成部分的三种替换性方式,并基本上都看上去与用于增量运动矢量的三种划分相似,除了此处存在一些关键差别。此处,过程2600可继续将帧划分成瓦块2606而不是块,且其中局部GMC应用于每一个瓦块。作为另一个替换性方案,过程2600可包括将帧划分成瓦块2608(和/或子瓦块2610)并随后将瓦块分组成区域2612从而相同的局部全局运动轨迹应用于同一区域中的每一个瓦块。否则,过程2600可包括第一与物体相关联的区域2614从而局部GMC将应用于每一个区域。下面详细地解释了这些选项中的每一个。注意在过程图13和26二者中,瓦块在一般意义上旨在意味这非常大的块并包括CTB。
参考图27,瓦块或CTB的主运动补偿可通过对于每一个或多个瓦块或CTB使用仿射运动参数用于生产仿射局部运动补偿(LMC)参考来执行。具体而言,当前帧2702可划分成瓦块(或矩形区域)2704。
过程2600可随后继续创建主运动补偿的弯曲部分。为了完成这个目的,参考帧2700具有可重构的个别局部gmt GMC变形瓦块(或矩形区域)因此,过程2600可继续确定局部全局运动轨迹2618,该局部全局运动轨迹2618也可称为主运动轨迹(dmt)。在此变体中,允许每一个瓦块(或矩形区域)有其自己的独立gmt DMC(或dmt)参数集(可向瓦块的三个顶点中的每一个提供独立运动,而第四个角依赖),而不是整个帧单个gmt GMC参数集。例如,参考帧2700可具有瓦块2706,该瓦块2706是当前帧2702上瓦块2704的参考。瓦块可由全局运动轨迹(gmt)2712a、2712b和2712c从初始参考帧上的位置移位。类似的,瓦块2708可由全局运动轨迹2714a、2714b和2714c移位,而瓦块2710可由全局运动轨迹2716a、2716b和2716c移位,从而每一个瓦块或区域都有其自己的gmt集(或dmt集)。如上所述,dmt或局部gmt可由有仿射方法的已知过程获得。
一旦瓦块或区域由轨迹移位了,那么可执行平均化弯曲的相邻瓦块的重叠地区中的像素,随后也使用来自可用的临近像素的值的平均化来形成区域矩形2622。这比早前执行来创建矩形变形GMC参考帧的相当简单的边界扩展要复杂得多。在另一个替换性方案中,可代替使用扩展来形成瓦块或区域矩形。随后产生的经充满的图片是此类型DMC的DMC参考图片并可用于基于瓦块(或矩形区域)的DMC运动补偿。作为另一个选项,可如虚拟参考帧一样形成进一步的虚拟区域2624。过程2600可随后包括使用来自弯曲部分(或瓦块或区域)的像素来形成部分预测2626。
尽管由于发送每一个瓦块(或矩形区域)的gmt参数的需求此方法可显得运动计算开销密集,但重要的是要注意在此类型的DMC帧,(i)不存在传输图片级GMC gmt参数的需求,(ii)gmt参数仅针对瓦块(矩形区域)在比特流中发送,尽管他们在减少DMC预测错误上最有效,但他们不是针对每个瓦块(或矩形区域)而发送的。如果相邻瓦块(区域)gmt参数未发送,可采用简单的经扩展填充而不是经平均化的填充,(iii)为了进一步降低每瓦块的gmt参数的比特成本,这些参数可关于紧前一个瓦块而差分地译码(这可降低每一个轨迹所需要的比特数量)。
再次参考图18,可将编码器1800修改成NGV/HEVC扩展-2a编码器的一部分或子系统并具有执行用于如上所述的参考帧2700的基于近似区域层gmt的DMC方法的组件。在此示例中,到全局或主运动估计器及补充不测图片/瓦块/分区生成器1804的两个输入可包括当前图片(正在处理的)和过去的经解码参考图片(来自DPR图片缓冲区1802的图片中的一个),从而可针对每一个瓦块计算gmt DMC参数,且可生成DMC参考图片。如早前所述,基于瓦块的DMC参数可以导致通过平均化重叠地区中的像素来解决的重叠地区,和通过平均化和充满来自邻居瓦块的边界来解决的洞。使用DMC参考图片的基于瓦块的DMC预测可从主运动补偿预测局部/图片缓冲区1806直接馈送至预测模式及参考类型分析器1816(除了来自帧内方向预测分析器和生成器1818的帧内预测输入及变形和合成预测之外)。在瓦块的基础上,预测模式及参考类型分析器1816从各种选择(例如,DMC预测是可用的许多选择中的一个)确定最佳预测并将它输出到差分器(在此处未示出的电路部分中),该差分器生成预测错误用于译码。而且,对于此替换性方案,熵编码器1820编码DMC数据(诸如dmt参数)、以及其他数据(诸如mv、mop(变形参数)和syp(合成参数)和mode info(模式信息)等等)。
参考图19,如对于编码器1800,可将解码器1900修改为带瓦块或CTB的主运动补偿的NGC/HEVC扩展-2a解码器的一部分,瓦块或CTB的每一个都使用仿射运动参数。在此替换性方案中,熵解码器1901解码DMC数据(诸如dmt参数)、以及其他数据(诸如mv、mop(变形参数)和syp(合成参数)和mode info(模式信息)等等)。全局或主运动补偿预测图片/瓦块/分区生成器1904使用经解码的dmt参数来生成基于瓦块的经弯曲的DMC预测,在此期间重叠地区中的像素经重构为来自重叠瓦块的像素的平均,且同时充满任何洞(瓦块的最近边界像素的平均或者图片的边上的边界扩展)以创建完整DMC参考图片用于预测。预测模式选择器1914可直接或另外地从主运动补偿预测局部图片缓冲区1906接收DMC参考图片(或经弯曲的瓦块),并使用由编码器经由比特流发送的基于瓦块的模式信息来使用DMC参考图片或者若干可用的变形预测器或合成预测器或帧内预测器(帧内方向预测生成器1916)之一的经弯曲的瓦块。随后将产生的预测加回(解码器的这部分未示出)至在解码器处解码的经解码的量化预测错误以重构最终解码视频图片。否则,此替换性方案的组件的描述与上面对其他替换性方案描述的一样。
参考图28-30,替换性地过程2600可继续将帧划分成瓦块2608,并在可用时划分成子瓦块2610。随后如同对增量运动矢量选项一样将瓦块分组成区域2612。然而在此替换性方案中,代替每一个区域一个运动矢量,此处的瓦块每一个都如先前解释的用其自己的dmt集弯曲了以创建经弯曲的部分2616,且经弯曲的瓦块的像素值用作预测。具体而言,此选项提供有经合并的瓦块或CTB的近似区域层的主运动补偿,瓦块或CTB的每一个都使用仿射运动参数用于仿射半全局运动补偿(SMC)参考的生成。
更详细地,当前帧2802可划分成瓦块(或矩形区域)2704。在此变体中,瓦块(或近似区域层)的分组可具有他们自己的独立gmt集,或更具体而言dmt集、GMC参数(可向瓦块分组中的每一个瓦块的三个顶点中的每一个提供同一独立运动而每一个瓦块的第四个顶点是依赖的)集。换言之,尽管运动轨迹集仍应用于每一个瓦块,但同一区域中的所有(或所选择的那些)瓦块接收相同的轨迹。可将帧划分成两个瓦块(或近似区域层)组,一组对应于背景(BG),且另一组对应于前景(FG)。在此场景中,两个gmt GMC参数集——一个用于FG且另一个用于BG——与基于瓦块(矩形区域)的FG/BG映射{合并映射}一起经由比特流发送至解码器。然而操作可不限于将图片划分成两个瓦块(或近似区域层)组,并且可将帧划分成三个、四个或更多个近似区域层,其中每一个近似区域层有一个被使用并发送至解码器的gmtGMC参数集。在任何情况中,对于被认为是瓦块(近似区域层)的FG组的一部分的所有瓦块,计算单个gmt GMC参数,并类似地对于是瓦块(近似区域层)的BG组的一部分的补充瓦块,计算不同的gmt GMC参数。
这由图28进行解说,图28中将当前帧2802划分成前景瓦块2804和背景瓦块2806。一个背景瓦块2806对应于参考帧2800的背景瓦块2808。背景瓦块2808由主运动轨迹2814移位,而临近的背景瓦块2810由轨迹2816弯曲,由于这两个瓦块都在背景区域中轨迹2816与轨迹2814相同或相似。一个前景瓦块2804对应于参考帧2800上经弯曲的瓦块2812并使用与背景轨迹2814和2816不同的前景轨迹2818。
为了执行DMC运动补偿,从DPR图片缓冲区读参考图片,且在三个顶点(第四个顶点自由)中的每一个处通过使用FG gmt参数将位于同处的对应于FG区域层的每一个瓦块的瓦块弯曲。下一步,使用同一图片和使用BG gmt参数对于近似BG层的每一个BG瓦块重复该过程。由此完成了近似FG和BG区域层中的每一个的弯曲重构。对于经弯曲的近似FG和BG区域层之间的重叠地区,使用平均化过程来重构最终像素。类似地,在洞的地区(未由近似FG或BG区域层中的任何一个覆盖的地区)中,使用来自近似FG和BG区域层的最近相邻边界的平均预测而采用洞充满。随后产生的经充满的图片是DMC参考图片并可用于基于瓦块(或矩形区域)的DMC运动补偿。
而且,尽管提供了将两个区域层分类成近似FG/BG区域的示例,但该技术可容易地应用于多于两个的近似区域层。由于在此技术中总是有两个或更多个近似区域层,因此代替属于gmt,使用如上所述的术语dmt(主运动轨迹)参数。
参考图29,对经合并的二叉树分区瓦块或CTB使用主运动补偿,瓦块或CTB每一个都使用仿射运动参数用于仿射SMC参考帧的生成。具体而言,提供了对参考帧的基于瓦块的过程的修改以通过将全瓦块水平地或垂直地分割成半瓦块(诸如来自二叉书划分的那些)来改善近似FG/BG区域层分类的准确性,半瓦块可在全瓦块之外使用。因此,例如,要译码的当前帧2902可具有前景全瓦块2904和半瓦块2906。因此,FG瓦块(或近似区域层)组可主要包括全瓦块,但也包括几个水平或垂直半瓦块。背景也可具有全瓦块2910以及水平或垂直半瓦块2912和2914。参考帧2900可包括全和半瓦块2916、2922和2926。将背景全瓦块2916示为由轨迹3018从原始位置2920弯曲的,其中背景瓦块或半瓦块中的每一个都是有相同的轨迹2918。前景瓦块和半瓦块2924、2928和2930全部使用相同的弯曲轨迹2924。由于FG/BG近似中较高的准确性FG/BG分割(合并)映射可要求稍微较高的总比特数。总体来说,仍将会有仅一个FG和一个BG dmt运动参数集。在本示例中,DMC参考图片生成的整体过程提供由于更高的FG/BG准确性的经改善的预测。
参考图30,对经合并的四叉树分区瓦块或CTB使用主运动补偿,瓦块或CTB每一个都使用仿射运动参数用于仿射SMC参考帧的生成。具体而言,提供了对参考帧2800的基于瓦块的过程的修改以通过将全瓦块水平地和垂直地分割成四分之一瓦块(诸如来自四叉树划分的那些)来改善近似FG/BG区域层分类的准确性,四分之一瓦块可在全瓦块之外使用。因此,例如,地区帧3002可具有FG瓦块(或近似区域层)组并可主要包括全瓦块3004,但也包括几个四分之一瓦块3006和3008。背景也可包括全瓦块3010以及四分之一瓦块3012。参考帧3000可包括对应的全背景瓦块3018,该全背景瓦块由轨迹3020偏移到经弯曲的瓦块或矩形3014,同时轨迹3022将四分之一瓦块3024弯曲至经偏移的位置3016。由于FG/BG近似中较高的准确性FG/BG分割(或合并)映射可要求稍微较高的总比特数。总体来说,仍将会有仅一个FG和一个BG dmt运动参数集。在本示例中,DMC参考图片生成的整体过程提供由于更高的FG/BG准确性的经改善的预测。
再次参考图18,可修改编码器1800以形成NGV/HEVC扩展-2b编码器的子系统或部分以执行有近似瓦块区域层的主运动补偿,经合并的二叉/四叉树分区的瓦块或CTB每一个都使用仿射运动参数。换言之,可修改编码器1800以执行如参考帧2800、2900和3000(图28-30)讨论的基于近似区域层gmt的DMC方法,且该方法与以上已经参考帧2000、2100和2200描述了的将瓦块分组成区域但用于增量运动矢量的方法相似。编码器1800可具有内容块Prop分析器及近似区域分割器1822,该内容块Prop分析器及近似区域分割器分析视频序列的每一个输入图片并将其分割成近似区域层。此处假定将每一个图片分割成两个区域层——近似前景(FG)区域层和近似背景(BG)区域层,且提供合并映射以携带将瓦块(和瓦块的分区)映射到两个类别中的一个的数据。
如前,随后将合并映射信息输入到全局或主运动估计器及补偿预测图片/瓦块/分区生成器1804中,其另一个输入包括当前图片(正在处理的)和过去的经解码参考图片(来自DPR图片缓冲区1802的图片中的一个)二者,从而可针对两个近似区域中的每一个计算gmt DMC参数,以便可生成DMC参考图片。将使用DMC参考图片的基于DMC近似区域的预测与其他输入(诸如帧内预测和变形和合成预测)一起直接馈送给预测模式及参考类型分析器1816。在瓦块或分区的基础上,预测模式及参考类型分析器1816从各种选择(例如,DMC预测是可用的许多选择中的一个)确定最佳预测并将它输出到差分器(在此处未示出的电路部分中),该差分器生成预测错误用于译码。而且,熵译码器1820编码DMC数据(诸如dmt参数和合并映射)、以及其他数据(诸如mv、mop(变形参数))和syp(合成参数)和mode info(模式信息,未示出)等等。此处未提及的图18的其他组件在上面用其他实现描述了。
再次参考图19,可修改解码器1900以成为NGV/HEVC扩展-2b解码器的子系统或部分以执行有近似瓦块区域层的主运动补偿,经合并的二叉/四叉树分区的瓦块或CTB每一个都使用仿射运动参数。熵解码器解码DMC数据(诸如gmt参数、和合并映射)、以及其他数据(诸如mv、mop(变形参数)和syp(合成参数))和mode info(模式信息,未示出)。经解码的合并映射数据由DMC预测器1904(全局或主运动补偿预测图片/瓦块/分区生成器)和MC预测器1912(二叉树特性和运动补偿自适应精度(AP)过滤预测器)使用。主运动补偿预测图片/瓦块/分区生成器1904也使用来自DPR图片缓冲区1902的经解码图片上的经解码dmt参数以首先生成DMC近似FG和BG区域。在区域重叠的情况中,DMC预测器1904也生成重叠地区中的经重构像素作为来自两个近似区域的像素的平均,并充满任何洞(两个区域的最近边界像素的平均,或图片边上的边界扩展)以创建完整的DMC参考图片用于预测。预测模式选择器1914使用由编码器经由比特流发送的基于瓦块/分区的模式信息来使用来自DMC参考图片的DMC近似FG或BG区域或者若干可用的变形预测器或合成预测器或帧内预测器中的一个的瓦块/分区。随后将产生的预测加回(解码器的这部分在外部且未示出)至在解码器处解码的经解码的量化预测错误以重构最终解码视频图片。此处未提及的图19的其他组件在上面用其他实现描述了。
参考图31,gmt类型的DMC的另一变体执行有经分割的区域层的主运动补偿,区域层的每一个都使用仿射运动参数用于仿射SMC参考的生成。此变体用定义与物体相关联的区域2614作为定义局部GMC的帧部分的替换性方案来继续过程2600。在此变体中,将当前帧3100分割成两个或更多个区域层。例如,可将当前帧3100分割成对应于前景(FG)区域层的第一区域层3104,而图片的剩余部分可称为背景(BG)区域层3102。而且,作为一个示例,将FG区域层封装在最紧密适合的边界框或矩形或任何其他方便的形状中,且用例如来自DPR图片缓冲区的过去的经解码参考帧3108作为参考来针对整个边界框或带掩模背景的边界框中的任何一个计算gmt DMC参数。作为替换性方案,可将边界设置在离物体一定距离处而不是最近适合的。注意,其他替换性方案可包括具有匹配会对应(对齐)于前景中的物体形状(此处是头和肩3106)的边界。
如同对其他局部全局运动补偿替换性方案的,gmt(或dmi)DMC参数3120a、3120b和3120c应用于边界的顶点,且具体而言应用于参考帧3108中的边界框区域以从未弯曲的位置3014处形成经弯曲的边界框区域3016,这表示提供经弯曲的头和肩(物体)位置3118的经弯曲的FG区域层。类似地,通过使用前景区域层3124经掩模的帧矩形来针对BG区域层计算了gmt或dmt DMC参数3112a、3112b和3112c的集,且随后所计算的gmt DMC参数3112a、3112b和3112c应用于整个帧3126的顶点,从而导致经弯曲的BG区域层3110。由于两个经变形的区域层3110和3116重叠是可能的,重叠的地区3128可通过平均化来自两个区域的重叠像素而重构。而且,由于两个经弯曲的区域层3110和3116可以有帧3108内的洞3130,该地区用来自两个区域的相邻像素的平均化内插来充满。而且,如前,任何接近帧边界的未充满地区都如前进行了边界扩展。在此方法中,将两个gmt DMC轨迹(一个用于FG区域层且另一个用于BG区域层)以及FG/BG分割边界映射经由比特流发送至解码器。此特定变体在已经使用基于区域的译码的编码器的上下文中使用最佳。
再次参考图24,可将编码器2400修改成为先进的基于区域的编码器的子系统或部分以执行有每一个都使用仿射运动参数的经分割的区域层的主运动补偿。编码器2400可以有内容分析器和区域分割器2426,该内容分析器和区域分割器2426分析视频序列的每一个输入图片并将其分割成区域层。出于解释的目的,假定将每一个图片分割成诸如有前景(FG)区域层和背景(BG)区域层的双区域层结构的区域层以创建有携带前景边界形状(例如,剩下的是背景)的数据的区域边界(region bndry)。随后将区域边界形状信息输入到全局或主运动估计器及补偿预测图片/瓦块/分区生成器2404中,其另一个输入包括当前图片(正在处理的)和过去的经解码参考图片(来自DPR图片缓冲区2402的图片中的一个)二者,从而可针对两个区域中的每一个计算gmt DMC参数,以便可生成DMC参考图片。将DMC参考图片放置在主运动补偿预测局部/图片缓冲区2406中,且将通过使用DMC参考图片而形成的基于DMC区域的预测直接馈送给预测模式及参考类型分析器2416(以及其他输入,诸如帧内预测和变形和合成预测)。在局部(诸如区域层的子区域)的基础上,预测模式及参考类型分析器2416从各种选择(例如,DMC预测是可用的许多选择中的一个)确定最佳预测并将它输出到差分器(在此处未示出的电路部分中),该差分器生成预测错误用于译码。而且,熵译码器2420编码DMC数据(诸如dmt参数和区域边界)、以及其他mop(变形参数))和syp(合成参数)和mode info(模式信息,未示出)。此处未提及的图24的其他组件在上面用其他实现描述了。
如早前所述,此类型的基于区域的DMC在整体基于区域的视频编码器译码器的上下文中有最佳意义,其中将帧划分成区域层,且为了易于处理每一个区域都可划分成子区域。尽管子区域可能是瓦块或块,他们也可以在一些精度(比如4×4块准确性)在形状上是随机的。无论何时本文述及子区域处理都可应用此条。
再次参考图25,可将编码器2500修改成为先进的基于区域的编码器的子系统或部分以执行有使用仿射运动参数的经分割的区域层的主运动补偿。解码器2500可具有熵解码器2518(熵解码器变形及合成参数),且该熵解码器解码DMC数据诸如dmt参数、和区域边界)、以及其他数据(诸如mv、mop(变形参数)和syp(合成参数))和mode info(模式信息,未示出)。经解码的区域边界数据由DMC预测器2504(全局或主运动补偿预测图片/区域生成器)和MC预测器2512(区域特性和运动补偿自适应精度(AP)过滤预测器)使用。区域或主运动补偿预测图片/区域生成器2504也使用来自DPR图片缓冲区2502的经解码图片上的经解码dmt参数以首先生成DMC FG和BG区域,并且在区域重叠的情况中,生成重叠地区中的重构像素作为来自两个区域的像素的平均,并充满洞(两个区域的最近边界像素的平均、或图片的边上的边界扩展)以创建完整的DMC参考图片用于预测。预测模式选择器2514使用由编码器经由比特流发送的基于子区域的模式信息来使用来自GMC参考图片的DMC FG或BG区域中任一个的子区域、或者若干可用的变形预测器或合成预测器或帧内预测器中的一个的子区域。随后将产生的预测加回(解码器的这部分在外部或此处未示出)至在解码器处解码的经解码的量化预测错误以重构最终解码视频图片。此处未提及的图25的组件在上面用其他实现描述了。
参考图32-33,作为另一个实现,将两种主要的DMC类型进行组合:(1)基于增量运动矢量的DMC和(2)局部全局运动补偿DMC。有若干方式这么做。一种简单的方法是中瓦块的基础上使用基于块的增量mv类型DMC,并也在瓦块基础上使用局部gmt类型DMC,并基于DMC预测错误的减少而选择最佳DMC模式。在这样的方法中,对于例如使用基于块的增量mv类型DMC的瓦块,基于块的增量mv和基于帧的GMC gmt参数将经由比特流发送至解码器,且对于使用局部gmt类型DMC的瓦块,基于瓦块的gmt参数将在比特流中发送。而且,指示在瓦块基础上块增量mvDMC对比局部gmt类型DMC选择的二进制映射也将在比特流中携带以供由解码器使用。同时使用两种类型的DMC的此方法可以如下用编码器3200(图32)和解码器3300(图33)来进一步解释。
参考图32,编码器3200可以是执行每一个都使用增量MV修正的块以及每一个都使用仿射运动参数的瓦块或CTB的主运动补偿的NGV/HEVC扩展-3编码器的子系统或部分。编码器3200可将经解码和过滤的帧存储在DPR图片缓冲区3203中供全局运动估计器及补偿预测图片生成器3204、和主运动估计器及补偿预测图片生成器3220、以及其他变形分析器生成器及图片/缓冲区3208和合成分析器生成器及图片/缓冲区3210使用。两个DMC操作的高级操作在早前进行了讨论并将不在此处重复。因此与编码器3200的组件相似的此处所述的其他编码器的组件类似地操作。下面描述了与基于MV的DMC和基于局部gmt的DMC的双操作有关的DMC组件的操作。
对于编码器3200,作为一个方法,将来自DPR缓冲区3203的帧的每一个或多个瓦块输入到主运动估计器及补偿月图片生成器3220中用于计算gmt DMC参数的独立集(可向瓦块的三个顶点中的每一个提供独立运动而第四个依赖)而不是整个图片的gmt GMC参数的单个集。通过使用个别对于的gmt GMC参数,将先前参考帧(来自DPR缓冲区3202)的每一个瓦块弯曲以生成个别局部gmt GMC变形瓦块,从而一些经弯曲的瓦块导致重叠像素且其他的导致未由任何瓦块覆盖的洞。对于重叠瓦块的地区,重构是通过平均化公共像素来完成的,且对于洞的地区,执行了对相邻经弯曲瓦块的边界像素的平均化。在一些瓦块由其他译码模式译码、和由此缺失gmt DMC参数或处于图片边界处的情况中,执行了简单的边界扩展。随后随产生的经充满的图片是DMC参考图片并存储在主运动补偿预测局部缓冲区3222中,并可以用于基于瓦块的DMC运动补偿。术语dmt(或其复数dmts)可用来指基于局部瓦块的gmt DMC参数以将他们自己与gmt自身区分开。
相关于基于运动矢量的DMC,将来自DPR缓冲区3202的相同或不同参考帧输入到全局运动估计器及补偿预测图片生成器3204中,该全局运动估计器及补偿预测图片生成器3204执行产生全局运动参数(表示为gmt轨迹)和生成存储在主运动补偿预测局部/图片缓冲区3206中的GMC参考帧的全局运动估计(GME)。下一步,块运动估计和分区运动装配器3212可执行基于瓦块的运动估计从而产生瓦块的增量运动矢量,这些运动矢量用于修正或运动,并由运动补偿预测器3214(此处称为(二叉树分区)特性和运动补偿自适应精度过滤预测器)使用,该运动补偿预测器通过使用GMC参考帧的子像素内插而生成预测瓦块。
将来自基于增量mv的DMC和基于局部gmt的DMC的输出预测瓦块(以及其他经变形的块/瓦块和经合成的块/瓦块)以及诸如来自帧内方向预测分析器和生成器3218的帧内预测块/瓦块的输入馈送给预测模式及参考类型分析器3216。在块或瓦块的基础上,预测模式及参考类型分析器3216从各种选择中确定最佳预测块或瓦块。例如,可用的选择可包括DMC预测作为可用的许多变形选择之一,可用的许多变形选择包括基于局部gmt DMC的一个选择和基于增量运动矢量DMC的另一个选择。分析器3216输出最佳预测到生成预测错误用于译码的差分器(在此处未输出的电路部分中)中。分析器3216也输出在处理中使用的部分(块或区域或其他分区)的基础上的DMC模式选择信息(dmsi)的映射。而且,熵译码器3224(也称为熵编码器变形和合成参数及MV)编码GMC/DMC参数和数据,诸如gmt、Δmvs、dmt和dmsi。
参考图33,解码器3300可以是用来执行每一个都使用增量MV修正的块以及每一个都使用仿射运动参数的瓦块或CTB的主运动补偿的NGV/HEVC扩展-3解码器的子系统或部分的一部分。解码器3300可将经解码和过滤的帧输入和存储在DPR图片缓冲区3302中供全局运动补偿预测图片生成器3204、主运动补偿预测图片生成器3218、其他变形生成器及图片缓冲区3208和合成生成器及图片缓冲区3210使用。两个过程(基于运动矢量和基于局部gmt的DMC)的高级操作在早前用其他实现进行了解释,并将不在此处重复。因此,与解码器3300的组件相似的其他实现中的组件类似地操作。
取决于由dmsi映射携带的瓦块的DMC模式,采用了或者全局运动补偿预测图片生成器3204与块运动补偿预测器3212(此处示为(二叉树分区)特性和运动补偿自适应精度(AP)过滤预测器)一起、或者主运动补偿预测图片/瓦块生成器3218以生成适当的DMC运动补偿。然而,对于许多瓦块或块,可能不使用DMC模式,因为编码器选择的最佳模式可能已经是其他变形预测模式中的一个、其他合成预测模式中的一个、或帧内模式。
现在参考图34,示例视频译码系统3500和用于实现例如编码器3200和解码器3300的双DMC过程的视频译码过程3400是根据本公开的至少一些实现来安排的。在所解说的实现中,过程3400可包括如由动作3401-3413的一个或多个所解说的一个或多个操作、功能或动作。通过非限制性示例的方式,此处将参考包括图1的编码器100和图2的解码器200的示例视频译码系统3500来描述过程3400,如下面相关于图35进一步讨论的。在各种示例中,过程3400可由包括编码器和解码器二者的系统或由其中一个系统采用编码器(及可选地,解码器)和另一个系统采用解码器9及可选地,编码器)的单独系统进行。也注意,如上面讨论的,编码器可包括采用局部解码器作为编码器系统的一部分的局部解码循环。
在所解说的实现中,视频译码系统3500可包括处理单元,诸如有逻辑电路3550的图性处理单元3520、等等之类、和/或其组合。例如,逻辑电路3550可包括图1的编码器系统100或替换性地图32的3200和/或图2的解码器系统200或替换性地图33的3300,并可包括如相关于本文所述的编码器系统或子系统和/或本文所述的解码器系统或子系统中的任何一个而讨论的任何模块。尽管如图34中所示的视频译码系统3500可包括与具体模块相关联的框或动作的一个具体集,这些块或动作也可与不同于此处所示的具体模块的不同模块相关联。尽管如所解说的,过程3500涉及编码和解码,但所述的概念和/或操作可单独应用于编码和/或解码,以及更一般地应用于视频译码。
过程3400可从“接收视频序列的输入视频帧”3401开始,其中可经由例如编码器100接收视频序列的输入视频帧。这可包括当前帧和过去或先前帧(将用作参考帧),且将用于运动补偿以重构预测帧作为当前帧。
过程3400也包括“执行预测和译码划分、量化、和解码循环以解码参考帧”3402。此处视频帧经译码和随后在编码器处的解码器循环中解码,以便提供可由在解码器处重复的过程准确地获得的经译码数据。
过程3400也包括“执行帧级全局运动补偿以形成经弯曲的GMC参考帧”3403。在此情况中,在帧的角落处应用全局运动轨迹以弯曲该帧用于基于增量运动矢量的DMC。过程可如对于本文所述的其他实现所解释的那样实现。
过程3400也包括“针对经弯曲的GMC参考的个别部分确定增量运动矢量”3404。这可包括首先定义部分为块、瓦块、由组群到一起的瓦块形成的区域、或未先定义瓦块的区域。这也可按需求创建瓦块合并映射或区域边界映射。随后可应用运动估计以针对每一个部分确定增量运动矢量(Δmvs)。这可在帧中的所有块或其他部分上、或仅在所选择的块或所选择的帧部分上执行。
过程3400可随后继续“针对个别部分确定基于运动矢量的预测”3405。由此,诸如上述那些(诸如预测器123或1814)的运动预测器可确定提供给预测选择器的预测部分(预测块、瓦块、子瓦块、区域、子区域、或其他分区)。如果经选择则预测可用于与原始帧的比较以切断是否存在保证译码的差分或驻留物。
替换性地或附加地,过程3400可包括“在个别部分上执行局部全局运动补偿”3406。此过程也在上面用其他实现进行了描述,且再一次,部分可以说瓦块、由组群的瓦块形成的区域、或没有瓦块组群的区域、和可以是与物体相关联的区域。此次,在边界诸如想要补偿的每一个部分的角落或顶点处应用了gmt或更准确地说dmt。作为一个形式,这应用于帧中的所有部分,但不必总是这样。也可按需求形成瓦块合并映射或区域边界映射。
过程3400也可包括“针对个别部分确定基于局部GMC的预测”3407。由此,将经弯曲的部分的像素值用作预测,并如先前所述提供给部分(块、瓦块、子瓦块、区域、子区域、或其他分区)的基础上的预测选择器。
过程3400也包括“针对个别部分的译码选择最佳预测”3408。具体而言,预测选择器将不同预测与原始帧比较并选择最佳适合的,或可使用其他标准。如果存在差别,则将差别或驻留物放置在比特流中用于传输至解码器。
过程3400也包括“将运动数据和主运动补偿参数传输至解码器”3409。运动数据可包括驻留物和运动矢量,且主运动补偿参数可包括所选择的预测(dmsi)的指示符或映射、任何瓦块合并映射和/或区域边界映射、dmt和/或gmt轨迹、以及增量运动矢量Amv,且这些可按需求在块、瓦块、区域或其他分区的基础上提供。尽管相同的轨迹或运动矢量应用于区域中的所有或多个部分,值可能仅需要用解释性映射发送一次。
过程3400也包括“接收和解码比特流”3410。这可包括将比特流解析成主运动补偿数据、运动或其他驻留数据、和图像或帧数据,并随后熵解码数据。
过程3400也包括“执行逆解码操作以获得主运动补偿参数以及主或全局运动补偿轨迹、增量运动矢量、预测选择映射、合并映射、和/或边界映射”3411。这将最终重构每一个类型的数据的值。
过程3400也包括“执行主(局部全局)或基于运动矢量的全局运动补偿以获得DMC参考帧或DMC部分”3412。由此,DMC参考帧可经重构,且可向同一帧或帧部分提供替换性DMC参考帧或部分。这可包括将局部全局运动轨迹应用于边界以弯曲个别部分,和替换性地将增量运动矢量应用于经弯曲的参考帧上的部分,以便在产生的预测部分处获得像素值。
过程3400也包括“将预测提供给预测选择器”3413,其中选择和使用针对帧部分的最佳预测以形成最终帧用于显示、此处、进一步表明等等。
本文所述系统的各种组件可以用软件、固件和/或硬件和/或其任何组合来实现。例如,系统300的各种组件可以至少部分地由诸如可以在诸如例如智能电话的计算系统中找到的计算片上系统(SoC)的硬件来提供。本领域内技术人员将识别,本文所述的系统可包括未在相应图中描绘的附加组件。例如,本文所讨论的系统可包括出于清晰的目的未描绘的附加组件,诸如比特流复用器或去复用模块等等之类。
尽管本文示例过程的实现可以包括采取以所解说的次序示出的所有操作,但本发明不限于此,并且,在各种示例中,示例过程的实现可包括仅采取和/或以不同于所解说的次序示出的操作的子集。
与过程1300、2600和3400及本文所讨论的其他过程有关的一些附加和/或替换性细节可在下面相关于图35更详细讨论的实现的一个或多个示例中解说。
图35是示例视频译码系统3500的说明性图,是至少根据本公开的一些实现而安排的。在所解说的实现中,视频译码系统3500可包括成像设备3501、视频编码器100、视频解码器200(和/或经由处理单元3520的逻辑电路3550实现的视频译码器)、天线3502、一个或多个处理器3503、一个或多个存储器存储3504、和/或显示设备3505。
如所解说的,成像设备3501、天线3502、处理单元3520、逻辑电路3550、视频编码器100、视频解码器200、处理器3503、存储器存储3504、和/或显示设备3505可能够互相通信。如所讨论的,尽管用视频编码器100和视频解码器200二者进行了解说,但视频译码系统3500在各种示例中可仅包括视频编码器100或仅包括视频解码器200。
如所示的,在一些示例中,视频译码系统3500可包括天线3502。天线3502可被配置成发送或接收例如经编码的视频数据的比特流。而且,在一些示例中,视频译码系统3500可包括显示设备3505。显示设备3505可被配置为呈现视频数据。如所示的,在一些示例中,逻辑电路3550可经由处理单元3520来实现。处理单元3520可包括专用集成电路(ASIC)逻辑、图形处理器、通用处理器等等之类。视频译码系统3500也可包括可选处理器3503,该可选处理器可类似地包括专用集成电路(ASIC)逻辑、图形处理器、通用处理器等等之类。在一些示例中,逻辑电路3550可经由硬件、视频译码专用硬件等等之类来实现,且处理器3503可用通用软件、操作系统等等之类来实现。此外,存储器存储3504可以是任何类型的存储器,诸如易失性存储器(例如,静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等)或非易失性存储器(例如,闪存等)等等。在非限制性示例中,存储器存储3504可由高速缓存存储器实现。中一些示例中,逻辑电路3550可访问存储器存储3504(例如用于图像缓冲区的实现)。在其他示例中,逻辑电路3550和/或处理单元3520可包括存储器存储(例如,高速缓存等等之类)用于图像缓冲区等等之类的实现。
在一些示例中,经由逻辑电路实现的视频编码器100可包括图像缓冲区(例如,经由处理单元3520或存储器存储3504)和图形处理单元(例如,经由处理单元3520)。图形处理单元可通信地耦合至图像缓冲区。图形处理单元可包括如经由逻辑电路3550实现的视频编码器100以体现如相关于图1所讨论的各种模块和/或本文所述的任何其他编码器系统或者系统。例如,图形处理单元可包括译码分区生成器逻辑电路、自适应变换逻辑电路、内容预分析器、编码控制器逻辑电路、自适应熵编码器逻辑电路等等。逻辑电路可被配置成执行如本文讨论的各种操作。
视频解码器200可用与经由逻辑电路3550实现类似的方式来实现以体现如相关于图2的解码器200所讨论的各种模块和/或本文所述的任何其他解码器系统或子系统。
在一些示例中,视频译码系统3500的天线3502可被配置成接收视频数据的经编码比特流。如所讨论的,经编码比特流可包括与译码分区相关联的数据(例如,变换系数或经量化变换系数、可选指示符(如所讨论的)、和/或定义译码分区的数据(例如,与定义使用符号-游程译码或码本技术等等之类的二叉树分区或k-d树分区相关联的数据))。视频译码系统3500也可包括耦合至天线3502并配置成解码经编码比特流的视频解码器200。
在一些实现中,解码器系统可包括配置成解码经编码比特流的视频解码器。在一些示例中,视频解码器可进一步配置成接收比特流。
在一些示例中,可响应于由一个或多个计算机程序产品所提供的指令而采取本文所述的特征。这样的程序产品可以包括提供当由例如处理器执行时可以提供此处所描述的功能的指令的承载信号的媒体。计算机程序产品可以在任何形式的一个或多个计算机可读介质中提供。由此,例如,包括一个或多个处理器核的处理器可响应于由一个或多个计算机可读介质传递给处理器的程序代码和/或指令或指令集而采取本文所述的一个或多个特征。一般而言,机器可读介质可以程序代码和/或指令或指令集的形式传递软件,程序代码和/或指令或指令集可导致本文所述的任何设备和/或系统至少实现本文所述特征的部分。
图36是示例系统3600的说明性图,是至少根据本发明的一些实现而安排的。在各种实现中,系统3600可以是媒体系统,尽管系统3600不限于此上下文。例如,系统3600可以合并进个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板机、触摸垫、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如智能电话、智能平板机或智能电视)、移动互联网设备(MID)、消息设备、数据通信设备、相机(例如,随拍(point-and-shoot)相机、超焦(super-zoom)相机、数字单反(DSLR)相机)等。
在各种实现中,系统3600包括耦合到显示3620的平台3602。平台3602可以从内容设备接收内容,内容设备诸如内容服务设备3630或内容递送设备3640或其它类似内容源。包括一个或多个导航特征的导航控制器3650可以用来与例如平台3602和/或显示3620交互。下面将更详细地描述这些组件中的每一个。
在各种实现中,平台3602可包括芯片组3605、处理器3610、存储器3612、天线3613、存储3614、图形子系统3615、应用3616和/或无线电3618的任何组合。芯片组3605可提供处理器3610、存储器3612、存储3614、图形子系统3615、应用3616和/或无线电3618之间的互通信。例如,芯片组3605可包括能够提供与存储3614的互通信的存储适配器(未示出)。
处理器3610可以实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、x86指令集兼容的处理器、多核、或任何其它微处理器或中央处理单元(CPU)。在各种实现中,处理器3610可以是双核处理器、双核移动处理器等等。
存储器3612可实现为易失性存储器设备,诸如但不限于,随机访问存储器(RAM)、动态随机访问存储器(DRAM)或静态RAM(SRAM)。
存储3614可以实现为非易失性存储设备,诸如但不限于,磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附连存储设备、闪存、电池备用SDRAM(异步DRAM)和/或网络可访问存储设备。在各种实现中,存储3614包括在包括多个硬盘驱动器时增加对有价值的数字媒体的存储性能增强保护的技术。
图形子系统3615可以执行诸如用于显示的静态或视频图像的处理。例如,图形子系统3615可以是图形处理单元(GPU)或视觉处理单元(VPU)。可以使用模拟或数字接口将图形子系统3615和显示器3620通信地耦合。例如,接口可以是高清晰度多媒体接口、显示端口、无线HDMI和/或符合无线HD的技术中的任何一个。图形子系统3615可以集成进处理器3610或芯片组3605中。在一些实现中,图形子系统3615可以是通信地耦合到芯片组3605的独立设备。
此处描述的图形和/或视频处理技术可用各种硬件架构实现。例如,图形和/或视频功能可集成在芯片组中。替换性地,可使用离散图形和/或视频处理器。如又一实现,图形和/或视频功能可通过通用处理器包括多核处理器来实现。在又一实施例中,功能可在消费电子设备中实现。
无线电3618可包括能够使用各种适合的无线通信技术发送和接收信号的一个或多个无线电。这些技术可涉及跨一个或多个无线网络的通信。示例无线网络包括(但不限于)无线局域网(WLAN)、无线个人区域网(WPAN)、无线城域网(WMAN)、蜂窝网络和卫星网络。在跨这些网络的通信中,无线电3618可根据一个或多个适用的标准的任何版本操作。
在各种实现中,显示3620可以包括电视型监视器或显示。显示器3620可以包括,例如,计算机显示屏、触摸屏显示、视频监视器、电视机类的设备和/或电视机。显示器3620可以是数字的和/或模拟的。在各种实现中,显示器3620可以是全息显示器。显示器3620也可以是可以接收视觉投影的透明表面。这样的投影可传递各种形式的信息、图像、物体等。例如,这样的投影可以是移动增强现实(MAR)应用的视觉覆盖。在一个或多个软件应用3616的控制下,平台3602可在显示3620上显示用户接口3622。
在各种实现中,内容服务设备3630可由任何国家的、国际的和/或独立服务主存,并因此经由例如因特网对平台3602是可访问的。内容服务设备3630可耦合到平台3602和/或显示器3620。平台3602和/或内容服务设备3630可以耦合到网络3660以将媒体信息去往和来自网络3660地通信(例如发送和/或接收)。内容递送设备3640也可耦合到平台3602和/或显示器3620。
在各种实现中,内容服务设备3630可以包括有线电视盒、个人计算机、网络、电话、能够递送数字信息和/或内容的启用因特网的设备或电器、和能够经由网络3660或直接地、单向地或双向地在内容提供者和平台3602和显示器3620之间通信内容的任何其它类似设备。应理解,内容可以经由网络3660单向地和/或双向地去往和来自系统3600中的任何一个组件和内容提供者通信。内容的示例可以包括任何媒体信息,包括例如视频、音乐、医疗和游戏信息等。
内容服务设备3630可以接收内容,诸如有线电视节目包括媒体信息、数字信息或其它内容。内容提供者的示例可以包括任何有线或卫星电视或无线电或因特网内容提供者。所提供的示例不旨在以任何方式限制根据本公开的实现。
在各种实现中,平台3602可以从具有一个或多个导航特征的导航控制器3650接收控制信号。导航控制器3650的导航特征可以用来与例如用户接口3622交互。在各种实施例中,导航控制器3650可以是定点设备,其可以是允许用户将空间(例如连续的和多维的)数据输入进计算机的计算机硬件组件(具体而言,人机接口设备)。诸如图形用户接口(GUI)和电视机和监视器的许多系统允许用户使用物理姿势控制计算机或电视机并向计算机或电视机提供数据。
控制器3650的导航特征的动作可以通过指针、光标、焦点环或显示在显示器上的其它视觉指示符的动作而在显示(例如显示器3620)上回显。例如,在软件应用3616的控制下,位于导航控制器3650上的导航特征可映射到显示在用户接口3622上的虚拟导航特征。在各种实施例中,控制器3650可以不是单独的组件,而是可以集成进平台3602和/或显示器3620中。然而本公开不限于此处所示出或描述的元素或上下文。
在各种实现中,驱动器(未示出)可以包括像电视机在初始启动之后用按钮的触摸(当启用时,例如)使用户能立即打开或关闭平台3602的技术。即使当平台被“关闭”时,程序逻辑也可允许平台3602将内容流传输到内容适配器或其它内容服务设备3630或内容递送设备3640。而且,例如,芯片组3605可包括支持例如5.1环绕声音频和/或高清晰度7.1环绕声音频的硬件和/或软件。驱动器可以包括用于集成图形平台的图形驱动器。在各种实施例中,图形驱动器可以包括外围组件互连快速(PCIe)图形卡。
在各种实现中,任何一个或多个系统3600中示出的组件都可以是集成的。例如,平台3602和内容服务设备3630可以是集成的;或者平台3602和内容递送设备3640可以是集成的;或者平台3602、内容服务设备3630和内容递送设备3640可以是集成的。在各种实施例中,平台3602和显示器3620可以是集成的单元。例如,显示器3620和内容服务设备3630可以是集成的,或者显示器3620和内容递送设备3640可以是集成的。这些示例不旨在限制本公开。
在各种实施例中,系统3600可以实现为无线系统、有线系统或二者的组合。当实现为无线系统时,系统3600可包括适合于通过无线共享介质诸如一个或多个天线、发送器、接收器、收发器、放大器、滤波器、控制逻辑等通信的组件和接口。无线共享介质的示例可包括无线频谱的部分,诸如RF频谱等等。当实现为有线系统时,系统3600可以包括适合于通过诸如输入/输出(I/O)适配器、将I/O适配器与相对应的有线通信介质连接的物理连接器、网络接口卡(NIC)、盘控制器、视频控制器、音频控制器等的有线通信介质通信的组件和接口。有线通信介质的示例可包括电线、电缆、金属线、印刷电路板(PCB)、背板、交换光纤、半导体材料、双绞线、同轴电缆、光纤等等。
平台3602可以建立一个或多个逻辑或物理信道以通信信息。信息可包括媒体信息和控制信息。媒体信息可以指表示为用户准备的内容的任何数据。内容的示例可包括,例如,来自语音对话的数据、视频会议、流视频、电子邮件(email)消息、语音邮件消息、字母数字符号、图形、图形、视频文本等。来自语音对话的数据可以是,例如,发言信息、沉默期、背景噪音、舒适噪音、音质等。控制信息可以指表示命令、指令或为自动系统准备的控制字的任何数据。例如,控制信息可以用来路由媒体信息通过系统,或指令节点以预确定的方式处理媒体信息。然而各实现不限于图36中示出或描述的元素或上下文。
如上所述,系统3600可以用变化的物理风格或形式因子来体现。图37示出了系统3700可以体现于其中的小形式因子设备3700的实现。例如,在各种实施例中,设备3700可以实现为具有无线能力的移动计算设备。移动计算设备可以指具有处理系统和例如诸如一个或多个电池的无线电力源或供应的任何设备。
如上所述,移动计算设备的示例可包括个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板机、触摸垫、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如智能电话、智能平板机或智能电视)、移动互联网设备(MID)、消息设备、数据通信设备、相机(例如,随拍(point-and-shoot)相机、超焦(super-zoom)相机、数字单反(DSLR)相机)等。
移动计算设备的示例也可以包括安排为由人佩戴的计算机,诸如腕式计算机、指式计算机、环式计算机、眼镜计算机、带扣计算机、臂环计算机、鞋式计算机、衣式计算机和其它可佩戴的计算机。例如,在各种实施例中,移动计算设备可以实现为能够执行计算机应用及语音通信和/或数据通信的智能电话。尽管一些实施例可以用作为示例实现为智能电话的移动计算设备描述,但应理解,其它实施例也可以使用其它无线移动计算设备实现。各实施例不限于该上下文。
如图37中所示,设备3700可包括外壳3702、包括用户接口3710的显示器3704、输入/输出(I/O)设备3706和天线3708。设备3700也可包括导航特征3712。显示器3704可以包括用于显示适合于移动计算设备的信息的任何适合的显示单元。I/O设备3706可以包括用于将信息输入进移动计算设备的任何适合的I/O设备。I/O设备3706的示例可以包括字母数字键盘、数字小键盘、触摸垫、输入建、按钮、开关、翘板开关、话筒、扬声器、语音识别设备和软件等。信息也可以通过话筒的方式输入进设备3700中。这样的信息可通过语音识别设备(未示出)数字化。各实施例不限于该上下文。
尽管本文示例过程的实现可以包括采取以所解说的次序示出的所有操作,但本发明不限于此,并且,在各种示例中,示例过程的实现可包括仅采取和/或以不同于所解说的次序示出的操作的子集。
而且,可以响应于由一个或多个计算机程序产品所提供的指令来采取本文所述的操作中的任何一个或多个。这样的程序产品可以包括提供当由例如处理器执行时可以提供此处所描述的功能的指令的承载信号的媒体。计算机程序产品可以在任何形式的一个或多个计算机可读介质中提供。由此,例如,包括一个或多个处理器核的处理器可响应于由一个或多个计算机可读介质传递给处理器的程序代码和/或指令或指令集而采取本文的示例过程的一个或多个操作。一般而言,机器可读介质可以程序代码和/或指令或指令集的形式传递软件,程序代码和/或指令或指令集可导致本文所述的任何设备和/或系统至少实现本文所讨论的视频系统的部分。
如在本文所描述的任何实现中所使用的,术语“模块”指被配置为提供本文所描述的功能的软件逻辑、固件逻辑和/或硬件逻辑的任何组合。软件可以体现为软件包、代码和/或指令集或指令,并且如此处所描述的任何实现中所使用的,“硬件”可以包括,例如,独自或以任何组合的,硬连线电路、可编程电路、状态机电路和/或存储由可编程电路执行的指令的固件。模块可以集合地或各自地体现为形成更大系统的一部分的电路,更大系统例如,集成电路(IC)、片上系统(SoC)等等。例如,模块可体现在逻辑电路中以经由本文所讨论的译码系统的软件、固件、或硬件来实现。
各种实施例可以使用硬件元件、软件元件或二者的组合来实现。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件的示例可包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序编程接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、文字、值、符号、或其任何组合。确定一实施例是否使用硬件元件和/或软件元素来实现可以根据任何数量的因素而变化,这些因素诸如所需的计算速率、功率级、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其它设计或性能约束。
至少一个实施例的一个或多个方面可以由存储在机器可读介质上的表示性指令来实现,指令表示处理器中的各种逻辑,指令在被机器读取时使得该机器制作用于执行本文所述的技术的逻辑。称为“IP核”的这种表示可以存储在有形的、机器可读的介质上并供应给各种顾客或制造设施以装载进实际制造该逻辑或处理器的制造机器中。
尽管已经参考各种实现描述了此处所阐述的某些特征,但本描述不旨在以限制性的意义来解释。因此,对于本公开目标所涉及的领域的技术人员显而易见的此处所描述的实现的各种修改和其它实施例被认为落入本公开的精神和范围之内。
以下示例涉及进一步的实现。
在一个示例中,用于视频译码的计算机实现的方法包括:获得像素数据帧并具有当前帧和用作当前帧的运动补偿参考帧的经解码参考帧;通过使用全局运动轨迹将经解码参考帧的至少一个部分移位来形成经弯曲的全局补偿参考帧;确定指示所述至少一个部分的运动和从基于经弯曲的全局补偿参考帧的位置到当前帧处的位置的运动的运动矢量;和形成至少部分地基于所述运动矢量且对应于当前帧上的部分的预测部分。
作为另一个示例,方法也可包括其中所述至少一个部分是以下项中的至少一项:(1)用作将当前帧和参考帧划分成多个块的单元的像素块:(2)至少一个像素瓦块,每一个瓦块至少是64×64像素并用作将当前帧和参考帧划分成多个瓦块的单元;方法(2)包括以下项中的至少一项:(a)基于与帧中的物体相关联的共性而将瓦块分组到一起以形成所述至少一个部分;并针对每一个瓦块分组形成单个运动矢量,(b)基于可从编码器传输到解码器的合并映射而将瓦块分组;或者(3)取决于与区域相关联的物体而定形和定尺寸的像素区域,其中所述区域的边界是以下项中的至少一项:类似于与所述区域相关联的物体的形状的形状、和放置在与所述区域相关联的物体周围的矩形;其中所述区域与以下项中的至少一项相关联:帧的背景、帧的前景、和帧中的移动物体;所述方法包括定义基于可从编码器传输到解码器的合并映射的区域;其中形成经弯曲的全局补偿参考帧包括在帧的外角处使用全局运动轨迹;其中形成经弯曲的全局补偿参考帧包括使用仿射或角度全局运动补偿方法;其中所述至少一个部分包括被划分成背景和前景的帧,且其中确定运动矢量包括提供每一个都有一个运动矢量的背景和前景;方法包括执行包括局部应用的全局运动补偿的主运动补偿从而在小于整个帧的帧的至少一个区域的角落处使用至少一个其他全局运动轨迹集以形成经移位的区域;和使用经移位的区域的像素值以形成对应于当前帧上的区域的预测区域;方法包括以下项中的至少一项:(a)通过在每一个区域上使用不同的全局运动轨迹集来自帧的多个区域上执行局部全局运动补偿;(b)其中每一个区域是瓦块,并将帧划分成瓦块,且其中每一个瓦块有一个全局运动轨迹集;(c)提供除了整个瓦块之外在帧的一部分上执行局部全局运动补偿的选项;其中每一个区域是取决于与所述区域相关联的物体而定形和定尺寸的;其中所述物体时以下项中的至少一项:前景、背景、和在帧中移动的物体;方法包括提供在逐区域的基础上在所述至少一个区域上选择由以下项形成的预测的选项:(1)用来针对所述至少一个区域形成预测的运动矢量和使用应用于整个帧的全局运动补偿,或者在(2)在所述区域应用有全局运动轨迹集的局部全局运动补偿和使用所述区域的经移位的像素值以形成预测;所述方法包括应用在有小于整个参考帧的地区的参考帧的区域处应用的有全局运动轨迹集的局部全局运动补偿,和使用运动矢量来针对所述至少一个区域形成预测;方法包括提供针对帧从以下项中选择模式的选项:(1)使用主运动补偿参考帧预测,(2)使用多个主运动补偿参考帧的混合预测:(3)使用有针对预测的差分转换运动矢量的主运动补偿参考,和(4)使用有针对预测的差分转换运动矢量的主运动补偿参考,并与另一参考帧混合;方法包括(a)到(c)中的至少一项:
(a)执行运动补偿变形参考预测,使用双线性内插和运动补偿(MC)过滤以形成经变形参考帧MRef、tPredh作为中间水平内插,和Predji作为最终运动补偿变形参考预测:
Figure GDA0001837023490000931
Figure GDA0001837023490000932
其中
Figure GDA0001837023490000933
n=[0,Wb-1],
Figure GDA0001837023490000934
其中m=[0,Hb-1],n=[0,Wb-1],
且其中:
(iMVx,iMVy)是在(j,i)处尺寸为(Wb×Hb)的块的亚-像素单位(fS)的经传输的运动矢量;A、B、C、D、E及F是从所传输的三个运动轨迹计算的仿射参数;使用有范数T的过滤系数h[fS][Nt]的可分开的运动补偿(MC)过滤,fS是亚-像素因子(例如,2=半像素,4=四分之一像素,8=八分之一像素),其中Nt是MC过滤阀的数量,且
Figure GDA0001837023490000935
Figure GDA0001837023490000936
pi=iMVy&(fS-1)
pj=iMVx&(fS-1)
(j′,i′)是变形参考图像中整数经运动调整的当前像素位置,pi、pi是变形参考图像中的1/8像素相;
x=(A*j′+B*i′+C<<r)>>r
y=(D*j′+E*i′+F<<s)>>s
其中(x,y)是1/8像素准确性的位置(j′,i′)的参考像素坐标
py=y&0x7
px=x&0x7
y0=y>>3
x0=x>>3
其中(x0,y0)是Ref图像中的整数像素位置。px、py是1/8像素相;
MRef[i′][j′]=((8-px)*(8-py)*Ref[y0][x0]+px*(8-py)*Ref[y0][x0+1]+py*(8-px)*Ref[y0+1][x0]+py*px*Ref[y0+1][x0+1]+31)>>6
tPredh[m][n]=SUMk(h[pj][k]*MRef[i′+m][j′+n+k])/T,
其中
Figure GDA0001837023490000941
其中n=[0,Wb-1],其中
Figure GDA0001837023490000942
Predji[m][n]=SUMk(h[pj][k]*tPredh[m+k][n])/T,
其中m=[0,Hb-1],其中n=[0,Wb-1],其中
Figure GDA0001837023490000943
(b)执行经变形的参考预测,使用块运动补偿(MC)过滤以形成经变形的参考帧Mref和Predh作为中间水平内插:
Figure GDA0001837023490000944
Figure GDA0001837023490000945
n=[0,WS-1],
Figure GDA0001837023490000946
其中m=[0,HS-1],n=[0,WS-1],
且其中A、B、C、D、E及F是从所传输的三个运动轨迹计算的仿射参数;使用有范数T的过滤系数h[fS][Nt]的可分开的MC过滤,fS是亚-像素因子(例如,2=半像素,4=四分之一像素,8=八分之一像素),其中Nt是MC过滤阀的数量
x=(A*j+B*i+C<<r)>>r
y=(D*j+E*i+F<<s)>>s
(j,i)是当前图像中每个(WS×HS)子块位置,x和y是1/8像素周期性的参考像素坐标;
py=y&0x7
px=x&0x7
y0=y>>3
x0=x>>3
(x0,y0)是Ref图像中的整数像素位置;px、py是1/8像素相。
tPredh[m][n]=SUMk(h[pk][k]*Ref[y0+m][x0+n+k])/T,
Figure GDA0001837023490000951
n=[0,WS-1],
Figure GDA0001837023490000952
MRef[i+m][j+n]=SUMk(h[py][k]*tPredh[m+k][n])/T,
m=[0,HS-1],n=[0,WS-1],
Figure GDA0001837023490000953
以及
(c)执行运动补偿变形参考预测,使用单个循环运动补偿(MC)过滤以形成经变形参考(MRef)和预测tPredh作为中间水平内插,和形成Predji作为在(j,i)处尺寸(Wb×Hb)的块的最终运动补偿变形参考预测:
对于
Figure GDA0001837023490000954
Figure GDA0001837023490000955
对于m=[0,HS-1]、n=[0,WS-1]、u=[0,Hb/HS-1]、v=[0,Wb/WS-1]:
Figure GDA0001837023490000956
且其中:
(iMVx,iMVy)是(j,i)处尺寸(Wb×Hb)的块的亚-像素单位(fS)的经传输的运动矢量。A、B、C、D、E及F是从所传输的三个运动轨迹计算的仿射参数;使用有范数T的过滤系数h[fS][Nt]的可分开的MC过滤,fS是亚-像素因子(例如,2=半像素,4=四分之一像素,8=八分之一像素),且Nt是MC过滤阀的数量
i′=(i+u*HS)*fS+iMVx
j′=(j+v*WS)*fS+iMVy
其中(j,i)是当前块像素位置,(u,v)是给定的(Wb×Hb)的当前块的每一个(WS×HS)子块的索引,且(WS×HS)子块。下面,i′、j′是fS亚像素准确性的经运动调整的当前像素位置,
x=((A*j′+B*i′+(C*fS)<<r)>>(r+3)
y=((D*j′+E*i′+(F*fS)<<s)>>(s+3)
其中x及y是fS亚像素准确性的参考像素坐标。
py=y&(fS-1)
px=x&(fS-1)
y0=y/fS
x0=x/fS
其中x0,y0是Ref图像中的整数像素位置,px、py是1/8像素相;
tPredh[m][n]=SUMk(h[px][k]*Ref[y0+m][x0+n+k])/T,
Figure GDA0001837023490000961
n=[0,WS-1],
Figure GDA0001837023490000962
Predji[u*HS+m][v*WS+n]=SUMk(h[py][k]*tPredh[m+k][n])/T,
m=[0,HS-1],
n=[0,WS-1],
Figure GDA0001837023490000963
v=[0,Wb/WS-1],
u=[0,Hb/HS-1]。
作为另一方法,用于视频译码的计算机实现的方法包括:获得像素数据帧并有当前帧和用作当前帧的运动补偿参考帧的经解码参考帧;将参考帧划分成多个小于整个帧的面积的部分;执行包括通过在部分的边界处使用全局运动轨迹将解码参考帧的至少一个部分移位而在部分中的至少一个上应用局部全局运动补偿的主运动补偿;通过使用所移位的部分的像素值形成对应于当前帧的一个部分的预测部分。
作为另一方法,方法也可包括通过在多个部分中的每一个部分上使用不同的全局运动轨迹集来在多个部分上执行局部全局运动补偿;其中每一个部分是瓦块,方法包括将帧划分成瓦块,且其中每一个瓦块有一个全局运动轨迹集;方法包括提供除了整个瓦块之外在帧的一部分上执行局部全局运动补偿的选项;其中将局部全局运动补偿轨迹提供给半瓦块或四分之一瓦块;方法包括以下项中的至少一项:(a)将多个瓦块分组成区域,并在同一区域内的瓦块上应用相同的全局运动轨迹,和取决于区域而应用不同的全局运动轨迹集,和(b)将多个部分分组成区域,并在同一区域内的部分上应用相同的全局运动轨迹,和取决于区域而应用不同的全局运动轨迹集;其中每一个部分是取决于与所述部分相关联的物体而定形和定尺寸的;其中所述物体是以下项中的至少一项:前景、背景、和在帧中移动的物体;其中部分是放置在所述物体周围的矩形;方法包括形成参考帧的背景的部分和参考帧的前景的部分,每一个都有针对每一个部分的不同的局部全局运动轨迹集。
作为作为进一步示例,译码器包括:图像缓冲区;和图形处理单元,该图形处理单元被配置成:获得像素数据帧并有当前帧和用作当前帧的运动补偿参考帧的经解码参考帧;将参考帧划分成多个小于整个帧的面积的部分;执行包括通过在部分的边界处使用全局运动轨迹将解码参考帧的至少一个部分移位而在部分中的至少一个上应用局部全局运动补偿的主运动补偿;和通过使用所移位的部分的像素值形成对应于当前帧的一个部分的预测部分。
作为进一步示例,译码器可具有配置成如下的图形处理单元:通过在多个部分中的每一个部分上使用不同的全局运动轨迹集来在多个部分上执行局部全局运动补偿;其中每一个部分是瓦块,图形处理单元被配置成将帧划分成瓦块,且其中每一个瓦块有一个全局运动轨迹集;图形处理单元被配置成提供除了整个瓦块之外在帧的一部分上执行局部全局运动补偿的选项;其中将局部全局运动补偿轨迹提供给半瓦块或四分之一瓦块;图形处理单元被配置成以下项中的至少一项:(a)将多个瓦块分组成区域,并在同一区域内的瓦块上应用相同的全局运动轨迹,和取决于区域而应用不同的全局运动轨迹集,和(b)将多个部分分组成区域,并在同一区域内的部分上应用相同的全局运动轨迹,和取决于区域而应用不同的全局运动轨迹集;其中每一个部分是取决于与所述部分相关联的物体而定形和定尺寸的;其中所述物体是以下项中的至少一项:前景、背景、和在帧中移动的物体;其中部分是放置在所述物体周围的矩形;图形处理单元被配置成形成参考帧的背景的部分和参考帧的前景的部分,每一个都有针对每一个部分的不同的局部全局运动轨迹集。
作为进一步方法,译码器包括:图像缓冲区;和图形处理单元,该图形处理单元被配置成:获得像素数据帧并具有当前帧和用作当前帧的运动补偿参考帧的经解码参考帧;通过使用全局运动轨迹将经解码参考帧的至少一个部分移位来形成经弯曲的全局补偿参考帧;确定指示所述至少一个部分的运动和从基于经弯曲的全局补偿参考帧的位置到当前帧处的位置的运动的运动矢量;和形成至少部分地基于所述运动矢量且对应于当前帧上的部分的预测部分。
作为又一个方法,译码器也可包括其中所述至少一个部分是以下项中的至少一项:(1)用作将当前帧和参考帧划分成多个块的单元的像素块:(2)至少一个像素瓦块,每一个瓦块至少是64×64像素并用作将当前帧和参考帧划分成多个瓦块的单元;(2)的图形处理单元被配置成以下项中的至少一项:(a)基于与帧中的物体相关联的共性而将瓦块分组到一起以形成所述至少一个部分;并针对每一个瓦块分组形成单个运动矢量,(b)基于可从编码器传输到解码器的合并映射而将瓦块分组;(3)取决于与区域相关联的物体而定形和定尺寸的像素区域,其中(3)的所述区域的边界是以下项中的至少一项:类似于与所述区域相关联的物体的形状的形状、和放置在与所述区域相关联的物体周围的矩形;其中所述区域与以下项中的至少一项相关联:帧的背景、帧的前景、和帧中的移动物体;图形处理单元被配置成定义基于可从编码器传输到解码器的合并映射的区域;其中形成经弯曲的全局补偿参考帧包括在帧的外角处使用全局运动轨迹;其中形成经弯曲的全局补偿参考帧包括使用仿射或角度全局运动补偿方法;译码器其中所述至少一个部分包括划分成背景和前景的帧,且其中确定运动矢量包括提供每一个都有一个运动时的背景和前景;图形处理单元被配置成执行包括局部应用的全局运动补偿的主运动补偿从而在小于整个帧的帧的至少一个区域的角落处使用至少一个其他全局运动轨迹集以形成经移位的区域;和使用经移位的区域的像素值以形成对应于当前帧上的区域的预测区域;图形处理单元被配置成以下项中的至少一项:通过在每一个区域上使用不同的全局运动轨迹集来在帧的多个区域上执行局部全局运动补偿;其中每一个区域是瓦块,并将帧划分成瓦块,且其中每一个瓦块有一个全局运动轨迹集;提供除了整个瓦块之外在帧的一部分上执行局部全局运动补偿的选项;其中每一个区域是取决于与所述区域相关联的物体而定形和定尺寸的;其中所述物体是以下项中的至少一项:前景、背景、和在帧中移动的物体;图形处理单元被配置成提供在逐区域的基础上在所述至少一个区域上选择由以下项形成的预测的选项:(1)用来针对所述至少一个区域形成预测的运动矢量和使用应用于整个帧的全局运动补偿,或者(2)在所述区域应用有全局运动轨迹集的局部全局运动补偿和使用所述区域的经移位的像素值以形成预测;所述图形处理单元被配置成应用在有小于整个参考帧的地区的参考帧的区域处应用的带全局运动轨迹集的局部全局运动补偿,和使用运动矢量来针对所述至少一个区域形成预测;图形处理单元被配置成提供针对帧从以下项中选择模式的选项:(1)使用主运动补偿参考帧预测,(2)使用多个主运动补偿参考帧的混合预测:(3)使用有针对预测的差分转换运动矢量的主运动补偿参考,和(4)使用有针对预测的差分转换运动矢量的主运动补偿参考,并与另一参考帧混合;图形处理单元被配置成(a)到(c)中的至少一项:
(a)执行运动补偿变形参考预测,使用双线性内插和运动补偿(MC)过滤以形成经变形参考帧MRef、tPredh作为中间水平内插,和Predji是最终运动补偿变形参考预测:
Figure GDA0001837023490000991
Figure GDA0001837023490000992
其中
Figure GDA0001837023490000993
n=[0,Wb-1],
Figure GDA0001837023490000994
其中m=[0,Hb-1],n=[0,Wb-1],
且其中:
(iMVx,iMVy)是在(j,i)处尺寸为(Wb×Hb)的块的亚-像素单位(fS)的经传输的运动矢量;A、B、C、D、E及F是从所传输的三个运动轨迹计算的仿射参数;使用有范数T的过滤系数h[fS][Nt]的可分开的运动补偿(MC)过滤,fS是亚-像素因子(例如,2=半像素,4=四分之一像素,8=八分之一像素),其中Nt是MC过滤阀的数量,且
Figure GDA0001837023490001001
Figure GDA0001837023490001002
pi=iMVy&(fS-1)
pj=iMVx&(fS-1)
(j′,i′)是变形参考图像中整数经运动调整的当前像素位置,pj、pi是变形参考图像中的1/8像素相;
x=(A*j′+B*i′+C<<r)>>r
y=(D*j′+E*i′+F<<s)>>s
其中(x,y)是1/8像素准确性的位置(j′,i′)的参考像素坐标
py=y&0x7
px=x&0x7
y0=y>>3
x0=x>>3
其中(x0,y0)是Ref图像中的整数像素位置。px、py是1/8像素相;
MRef[i′][j′]=((8-px)*(8-py)*Ref[y0][x0]+px*(8-py)*Ref[y0][x0+1]+py*(8-px)*Ref[y0+1][x0]+py*px*Ref[y0+1][x0+1]+31)>>6
tPredh[m][n]=SUMk(h[pj][k]*MRef[i′+m][j′+n+k])/T,
其中
Figure GDA0001837023490001003
其中n=[0,Wb-1],其中
Figure GDA0001837023490001004
Predji[m][n]=SUMk(h[pj][k]*tPredh[m+k][n])/T,
其中m=[0,Hb-1],其中n=[0,Wb-1],其中
Figure GDA0001837023490001005
(b)执行经变形的参考预测,使用块运动补偿(MC)过滤以形成经变形的参考帧Mref和Predh作为中间水平内插:
Figure GDA0001837023490001006
Figure GDA0001837023490001007
n=[0,WS-1],
Figure GDA0001837023490001008
其中m=[0,HS-1],n=[0,WS-1],
且其中A、B、C、D、E及F是从所传输的三个运动轨迹计算的仿射参数;使用有范数T的过滤系数h[fS][Nt]的可分开的MC过滤,fS是亚-像素因子(例如,2=半像素,4=四分之一像素,8=八分之一像素),其中Nt是MC过滤阀的数量
x=(A*j+B*i+C<<r)>>r
y=(D*j+E*i+F<<s)>>s
(j,i)是当前图像中每个(WS×HS)子块位置,x和y是1/8像素周期性的参考像素坐标;
py=y&0x7
px=x&0x7
y0=y>>3
x0=x>>3
(x0,y0)是Ref图像中的整数像素位置;px、py是1/8像素相。
tPredh[m][n]=SUMk(h[pk][k]*Ref[y0+m][x0+n+k])/T,
Figure GDA0001837023490001011
n=[0,WS-1],
Figure GDA0001837023490001012
MRef[i+m][j+n]=SUMk(h[py][k]*tPredh[m+k][n])/T,
m=[0,HS-1],n=[0,WS-1],
Figure GDA0001837023490001013
以及
(c)执行运动补偿变形参考预测,使用单个循环运动补偿(MC)过滤以形成经变形参考(MRef)和预测tPredh作为中间水平内插,和形成Predji作为在(j,i)处尺寸(Wb×Hb)的块的最终运动补偿变形参考预测:
对于
Figure GDA0001837023490001014
n=[0,WS-1]:
Figure GDA0001837023490001015
对于m=[0,HS-1]、n=[0,WS-1]、u=[0,Hb/HS-1]、v=[0,Wb/WS-1]:
Figure GDA0001837023490001016
且其中:
(iMVx,iMVy)是(j,i)处尺寸(Wb×Hb)的块的亚-像素单位(fS)的经传输的运动矢量。A、B、C、D、E及F是从所传输的三个运动轨迹计算的仿射参数;使用有范数T的过滤系数h[fS][Nt]的可分开的MC过滤,fS是亚-像素因子(例如,2=半像素,4=四分之一像素,8=八分之一像素),且Nt是MC过滤阀的数量
i′=(i+u*HS)*fS+iMVx
j′=(j+v*WS)*fS+iMVy
其中(j,i)是当前块像素位置,(u,v)是给定的(Wb×Hb)的当前块的每一个(WS×HS)子块的索引,且(WS×HS)子块。下面,i′、j′是fS亚像素准确性的经运动调整的当前像素位置,
x=((A*j′+B*i′+(C*fS)<<r)>>(r+3)
y=((D*j′+E*i′+(F*fS)<<s)>>(s+3)
其中x及y是fS亚像素准确性的参考像素坐标。
py=y&(fS-1)
px=x&(fS-1)
y0=y/fS
x0=x/fS
其中(x0,y0)是Ref图像中的整数像素位置。px、py是1/8像素相;
tPredh[m][n]=SUMk(h[px][k]*Ref[y0+m][x0+n+k])/T,
Figure GDA0001837023490001021
n=[0,WS-1],
Figure GDA0001837023490001022
Predji[u*HS+m][v*WS+n]=SUMk(h[py][k]*tPredh[m+k][n])/T,
m=[0,HS-1],
n=[0,WS-1],
Figure GDA0001837023490001023
v=[0,Wb/WS-1],
u=[0,Hb/HS-1]。
作为一个实现,至少一个计算机可读存储器包括指令,所述指令在由计算设备执行时导致计算设备:获得像素数据帧并有当前帧和用作当前帧的运动补偿参考帧的经解码参考帧;将参考帧划分成多个小于整个帧的面积的部分;执行包括通过在部分的边界处使用全局运动轨迹将解码参考帧的至少一个部分移位而在部分中的至少一个上应用局部全局运动补偿的主运动补偿;和通过使用所移位的部分的像素值形成对应于当前帧的一个部分的预测部分。
作为作为另一实现,计算机可读存储器也可包括其中指令导致计算设备:通过在多个部分中的每一个部分上使用不同的全局运动轨迹集来在多个部分上执行局部全局运动补偿;其中每一个部分是瓦块,指令导致计算设备将帧划分成瓦块,且其中每一个瓦块有一个全局运动轨迹集;指令导致计算设备提供除了整个瓦块之外在帧的一部分上执行局部全局运动补偿的选项;其中将局部全局运动补偿轨迹提供给半瓦块或四分之一瓦块;指令导致计算设备做以下项中的至少一项:(a)将多个瓦块分组成区域,并在同一区域内的瓦块上应用相同的全局运动轨迹,和取决于区域而应用不同的全局运动轨迹集,和(b)将多个部分分组成区域,并在同一区域内的部分上应用相同的全局运动轨迹,和取决于区域而应用不同的全局运动轨迹集;其中每一个部分是取决于与所述部分相关联的物体而定形和定尺寸的;其中所述物体是以下项中的至少一项:前景、背景、和在帧中移动的物体;其中部分是放置在所述物体周围的矩形;指令导致计算设备形成参考帧的背景的部分和参考帧的前景的部分,每一个都有针对每一个部分的不同的局部全局运动轨迹集。
作为进一步示例,至少一个计算机可读存储器包括指令,所述指令在由计算设备执行时导致计算设备:获得像素数据帧并有当前帧和用作当前帧的运动补偿参考帧的经解码参考帧;通过使用全局运动轨迹将解码参考帧的至少一个部分移位来形成弯曲的全局补偿参考帧;基于弯曲的全局补偿参考帧到当前帧处的位置来确定指示至少一个位置的运动或来自位置的运动;至少部分地基于运动矢量形成预测部分并对应于当前帧上的部分。
作为又一个示例,计算机可读存储器也可包括其中所述至少一个部分是以下项中的至少一项:(1)用作将当前帧和参考帧划分成多个块的单元的像素块:(2)至少一个像素瓦块,每一个瓦块至少是64×64像素并用作将当前帧和参考帧划分成多个瓦块的单元;指令导致方法(2)的计算设备做以下项中的至少一项:(a)基于与帧中的物体相关联的共性而将瓦块分组到一起以形成所述至少一个部分;并针对每一个瓦块分组形成单个运动矢量,(b)基于可从编码器传输到解码器的合并映射而将瓦块分组。(3)取决于与区域相关联的物体而定形和定尺寸的像素区域,其中所述区域的边界是以下项中的至少一项:类似于与所述区域相关联的物体的形状的形状、和放置在与所述区域相关联的物体周围的矩形;其中所述区域与以下项中的至少一项相关联:帧的背景、帧的前景、和帧中的移动物体;指令导致计算设备定义基于可从编码器传输到解码器的合并映射的区域;其中形成经弯曲的全局补偿参考帧包括在帧的外角处使用全局运动轨迹;其中形成经弯曲的全局补偿参考帧包括使用仿射或角度全局运动补偿方法;存储器其中所述至少一个部分包括划分成背景和前景的帧,且其中确定运动矢量包括提供每一个都有一个运动时的背景和前景;指令导致计算设备执行包括局部应用的全局运动补偿的主运动补偿从而在小于整个帧的帧的至少一个区域的角落处使用至少一个其他全局运动轨迹集以形成经移位的区域;和使用经移位的区域的像素值以形成对应于当前帧上的区域的预测区域;指令导致计算设备做以下项中的至少一项:(a)通过在每一个区域上使用不同的全局运动轨迹集来在帧的多个区域上执行局部全局运动补偿;(b)其中每一个区域是瓦块,并将帧划分成瓦块,且其中每一个瓦块有一个全局运动轨迹集;(c)提供除了整个瓦块之外在帧的一部分上执行局部全局运动补偿的选项;其中每一个区域是取决于与所述区域相关联的物体而定形和定尺寸的;其中所述物体是以下项中的至少一项:前景、背景、和在帧中移动的物体;指令导致计算设备提供在逐区域的基础上在所述至少一个区域上选择由以下项形成的预测的选项:(1)用来针对所述至少一个区域形成预测的运动矢量和使用应用于整个帧的全局运动补偿,或者(2)在所述区域应用有全局运动轨迹集的局部全局运动补偿和使用所述区域的经移位的像素值以形成预测;图形处理单元被配置成指令导致计算设备应用在有小于整个参考帧的地区的参考帧的区域处应用的有全局运动轨迹集的局部全局运动补偿,和使用运动矢量来针对所述至少一个区域形成预测;指令导致计算设备提供针对帧从以下项中选择模式的选项:(1)使用主运动补偿参考帧预测,(2)使用多个主运动补偿参考帧的混合预测:(3)使用有针对预测的差分转换运动矢量的主运动补偿参考,和(4)使用有针对预测的差分转换运动矢量的主运动补偿参考,并与另一参考帧混合。
在进一步示例中,至少一个计算机可读介质可包括多个指令,所述指令响应于在计算设备上执行而致使所述计算设备根据以上示例中任一个而执行方法。
在还进一步示例中,装置可包括用于根据以上示例中任一个而执行方法的手段。
以上示例可包括特征的具体组合。然而,这样的以上示例不限于此,且在各种实现中,以上示例可包括仅采取这些特征的子集、采取这些特征的不同次序、采取这些特征的不同组合、和/或采取明确地列出的那些特征之外的特征。例如,相关于示例方法描述的所有特征都可相关于示例装置、示例系统、和/或示例制品而实现,且反之亦然。

Claims (25)

1.一种用于视频译码的计算机实现的方法,包括:
获得当前帧的图像数据帧和用作运动补偿参考帧的经解码的参考帧以确定所述当前帧的预测;
通过将全局运动轨迹应用于所述经解码的参考帧以形成弯曲的全局运动补偿参考帧,其中,所述经解码的参考帧的至少一个部分从所述经解码的参考帧上的原始位置移位至所述弯曲的全局运动补偿参考帧上的经移位的位置;
执行运动补偿变形参考预测以从所述弯曲的全局运动补偿参考帧形成全局运动补偿变形参考帧,其中,所述全局运动补偿变形参考帧具有与所述经解码的参考帧相同的形状和尺寸,其中,所述至少一个部分从所述弯曲的全局运动补偿参考帧上的所述经移位的位置移位至所述全局运动补偿变形参考帧上的经调整的位置且所述至少一个部分在所述经调整的位置处的尺寸、形状和旋转相比在所述原始位置处的尺寸、形状和旋转是恒定的;
通过所述至少一个部分从所述经解码的参考帧上的所述原始位置到所述全局运动补偿变形参考帧上的所述经调整的位置的运动来生成至少一个预测运动矢量;以及
至少部分地基于所述至少一个预测运动矢量来形成所述当前帧上的一部分的预测部分。
2.如权利要求1所述的方法,其特征在于,所述至少一个部分是用作将所述当前帧或所述参考帧划分成多个块的单元的像素块。
3.如权利要求1所述的方法,其特征在于,所述至少一个部分是至少一个像素瓦块,每一个瓦块至少是64×64像素并用作将所述当前帧或所述参考帧划分成多个瓦块的单元;
所述方法包括基于与所述当前帧和所述经解码的参考帧中的物体相关联的共性而将瓦块分组到一起以形成所述至少一个部分;并针对每一个瓦块分组形成单个运动矢量;以及基于可从编码器传输到解码器的合并映射将所述瓦块分组。
4.如权利要求1所述的方法,其特征在于,所述至少一个部分是像素区域,所述像素区域取决于与所述像素区域相关联的物体而定形和定尺寸;并且其中所述像素区域的边界包括:
放置在与所述像素区域相关联的所述物体周围的矩形。
5.如权利要求4所述的方法,其特征在于,所述像素区域与以下至少之一相关联:
所述当前帧和所述经解码的参考帧的背景,
所述当前帧和所述经解码的参考帧的前景,以及
所述当前帧和所述经解码的参考帧中的移动物体;以及
其中每个像素区域具有单个运动矢量。
6.如权利要求1所述的方法,其特征在于,形成弯曲的全局运动补偿参考帧包括在所述经解码的参考帧的外角处使用所述全局运动轨迹;以及使用仿射或角度全局运动补偿方法。
7.如权利要求1所述的方法,其特征在于,包括:
执行包括局部应用的全局运动补偿的主运动补偿从而在小于整个帧的帧的至少一个区域的角落处使用至少一个其他全局运动轨迹集以形成经移位的区域;
使用所述经移位的区域的像素值以形成对应于所述当前帧上的区域的预测区域;以及
提供在逐区域的基础上在所述至少一个区域上选择由以下方式形成的预测的选项:
(1)用来针对所述至少一个区域形成预测的预测运动矢量和使用应用于整个帧的全局运动补偿,或者
(2)在所述区域应用有全局运动轨迹集的局部全局运动补偿和使用所述区域的经移位的像素值以形成预测。
8.如权利要求1所述的方法,其特征在于,包括应用在有小于整个参考帧的地区的参考帧的区域处应用的有全局运动轨迹集的局部全局运动补偿,和使用预测运动矢量来针对所述至少一个区域形成预测。
9.如权利要求1所述的方法,其特征在于,包括提供针对帧从以下之中选择模式的选项:
(1)使用主运动补偿参考帧预测,
(2)使用多个主运动补偿参考帧的混合预测:
(3)使用有针对预测的差分转换运动矢量的主运动补偿参考,以及
(4)使用有针对预测的差分转换运动矢量的主运动补偿参考,并与另一参考帧混合。
10.如权利要求1所述的方法,其特征在于,执行运动补偿变形参考预测,使用双线性内插和运动补偿MC过滤以形成变形的参考帧MRef、tPredh作为中间水平内插,和predji作为最终运动补偿变形参考预测:
Figure FDA0002415487600000031
Figure FDA0002415487600000032
其中
Figure FDA0002415487600000033
Figure FDA0002415487600000034
其中m=[0,Hb-1],n=[0,Wb-1],
且其中:
(iMVx,iMVy)是在(j,i)处尺寸为(Wb×Hb)的块的亚像素的经传输的运动矢量;A、B、C、D、E及F是从所传输的三个运动轨迹计算的仿射参数;使用有范数T的过滤系数h[fS][Nt]的可分开的运动补偿MC过滤,fS是亚像素因子,其中Nt是MC过滤阀的数量,且
Figure FDA0002415487600000035
Figure FDA0002415487600000036
pi=iMVy&(fS-1)
pj=iMVx&(fS-1)
(j′,i′)是变形参考图像中的整数运动调整的当前像素位置,pj、pi是变形参考图像中的1/8像素相;
x=(A*j′+B*i′+C<<r)>>r
y=(D*j′+E*i′+F<<s)>>s
其中(x,y)是1/8像素准确性的位置(j′,i′)的参考像素坐标
py=y&0x7
px=x&0x7
y0=y>>3
x0=x>>3
其中(x0,y0)是Ref图像中的整数像素位置;px、py是1/8像素相;
MRef[i′][j′]=((8-px)*(8-py)*Ref[y0][x0]+px*(8-py)*Ref[y0][x0+1]+py*(8-px)*Ref[y0+1][x0]+py*px*Ref[y0+1][x0+1]+31)>>6
tPredh[m][n]=SUMk(h[pj][k]*MRef[i′+m][j′+n+k])/T,其中
Figure FDA0002415487600000041
其中n=[0,Wb-1],其中
Figure FDA0002415487600000042
Predji[m][n]=SUMk(h[pj][k]*tPredh[m+k][n])/T,
其中m=[0,Hb-1],其中n=[0,Wb-1],其中
Figure FDA0002415487600000043
11.如权利要求1所述的方法,其特征在于,包括执行变形的参考预测,使用块运动补偿MC过滤以形成变形的参考帧Mref和Predh作为中间水平内插:
Figure FDA0002415487600000044
Figure FDA0002415487600000045
Figure FDA0002415487600000046
其中m=[0,Hs-1],n=[0,Ws-1],
且其中A、B、C、D、E及F是从所传输的三个运动轨迹计算的仿射参数;使用有范数T的过滤系数h[fS][Nt]的可分开的MC过滤,fS是亚像素因子,其中Nt是MC过滤阀的数量
x=(A*j+B*i+C<<r)>>r
y=(D*j+E*i+F<<s)>>s
(j,i)是当前图像中每个(Ws×Hs)子块位置,x和y是1/8像素准确性的参考像素坐标;
py=y&0x7
px=x&0x7
y0=y>>3
x0=x>>3
(x0,y0)是Ref图像中的整数像素位置;px、py是1/8像素相,
tPredh[m][n]=SUMk(h[pk][k]*Ref[y0+m][x0+n+k])/T,
Figure FDA0002415487600000051
n=[0,Ws-1],
Figure FDA0002415487600000052
MRef[i+m][j+n]=SUMk(h[py][k]*tPredh[m+k][n])/T,
m=[0,Hs-1],n=[0,Ws-1],
Figure FDA0002415487600000053
12.如权利要求1所述的方法,其特征在于,包括执行运动补偿变形参考预测,使用单个循环运动补偿MC过滤以形成变形的参考(MRef)和预测tPredh作为中间水平内插,和形成Predji作为在(j,i)处尺寸Wb×Hb的块的最终运动补偿变形参考预测:
对于
Figure FDA0002415487600000054
Figure FDA0002415487600000055
对于m=[0,Hs-1]、n=[0,Ws-1]、u=[0,Hb/Hs-1]、v=[0,Wb/Ws-1]:
Figure FDA0002415487600000056
且其中:
(iMVx,iMVy)是(j,i)处尺寸(Wb×Hb)的块的亚像素(fS)的经传输的运动矢量;A、B、C、D、E及F是从所传输的三个运动轨迹计算的仿射参数;使用有范数T的过滤系数h[fS][Nt]的可分开的MC过滤,fS是亚像素因子,且Nt是MC过滤阀的数量
i′=(i+u*Hs)*fS+iMVx
j′=(j+v*Ws)*fS+iMVy
其中(j,i)是当前块像素位置,(u,v)是给定的(Wb×Hb)的当前块的每一个(Ws×Hs)子块的索引,且(Ws×Hs)子块;下面,i′、j′是fS亚像素准确性的经运动调整的当前像素位置,
x=((A*j′+B*i′+(C*fS)<<r)>>(r+3)
y=((D*j′+E*i′+(F*fS)<<s)>>(s+3)
其中x及y是fS亚像素准确性的参考像素坐标
py=y&(fS-1)
px=x&(fS-1)
y0=y/fS
x0=x/fS
其中x0,y0是Ref图像中的整数像素位置,px、py是1/8像素相;
tPredh[m][n]=SUMk(h[px][k]*Ref[y0+m][x0+n+k])/T,
Figure FDA0002415487600000061
n=[0,Ws-1],
Figure FDA0002415487600000062
Predji[u*Hs+m][v*Ws+n]=SUMk(h[py][k]*tPredh[m+k][n])/T,
m=[0,Hs-1],
n=[0,Ws-1],
Figure FDA0002415487600000063
v=[0,Wb/Ws-1],
u=[0,Hb/Hs-1]。
13.如权利要求1所述的方法,其特征在于,所述至少一个部分是以下项中的至少一项:
(1)用作将所述当前帧或所述参考帧划分成多个块的单元的像素块;
(2)至少一个像素瓦块,每一个瓦块至少是64×64像素并用作将所述当前帧或所述参考帧划分成多个瓦块的单元;
所述方法包括以下项中的至少一项:
基于与所述当前帧和所述经解码的参考帧中的物体相关联的共性而将瓦块分组到一起以形成所述至少一个部分;以及针对每一个瓦块分组形成单个运动矢量,
基于可从编码器传输到解码器的合并映射而将瓦块分组;
(3)像素区域,所述像素区域取决于与所述像素区域相关联的物体而定形和定尺寸,其中所述像素区域的边界包括:
放置在与所述像素区域相关联的所述物体周围的矩形;
其中所述像素区域与以下至少之一相关联:
所述当前帧和所述经解码的参考帧的背景,
所述当前帧和所述经解码的参考帧的前景,以及
所述当前帧和所述经解码的参考帧中的移动物体;
所述方法包括基于可从编码器传输到解码器的边界映射定义所述像素区域;
其中形成弯曲的全局运动补偿参考帧包括在所述经解码的参考帧的外角处使用全局运动轨迹;
其中形成弯曲的全局运动补偿参考帧包括使用仿射或角度全局运动补偿方法;
其中所述至少一个部分包括被划分成背景和前景的帧,且其中确定运动矢量包括提供每一个都有一个运动矢量的背景和前景;
所述方法包括执行包括局部应用的全局运动补偿的主运动补偿从而在小于整个帧的帧上的至少一个区域的角落处使用至少一个其他全局运动轨迹集以形成经移位的区域;和使用经移位的区域的像素值以形成对应于当前帧上的区域的预测区域;
所述方法包括以下项中的至少一项:
通过在每一个区域上使用不同的全局运动轨迹集来在帧的多个区域上执行局部全局运动补偿;
其中每一个区域是瓦块,并将所述当前帧和所述经解码的参考帧划分成瓦块,且其中每一个瓦块有一个全局运动轨迹集;
提供除了整个瓦块之外在瓦块的一部分上执行局部全局运动补偿的选项;
其中每一个区域是取决于与每一个区域相关联的物体而定形和定尺寸的;
其中所述物体是以下项中的至少一项:前景、背景、和在所述当前帧和所述经解码的参考帧中移动的物体;
所述方法包括提供在逐区域的基础上在所述至少一个区域上选择由以下所形成的预测的选项:
(1)用来针对所述至少一个区域形成预测的运动矢量和使用应用于整个帧的全局运动补偿,或者
(2)在所述至少一个区域应用有全局运动轨迹集的局部全局运动补偿和使用所述至少一个区域的经移位的像素值以形成预测;
所述方法包括应用在有小于整个参考帧的地区的参考帧的区域处应用的有全局运动轨迹集的局部全局运动补偿,和使用运动矢量来针对所述至少一个区域形成预测;
所述方法包括提供针对帧从以下之中选择模式的选项:
(1)使用主运动补偿参考帧预测,
(2)使用多个主运动补偿参考帧的混合预测,
(3)使用有针对预测的差分转换运动矢量的主运动补偿参考,以及
(4)使用有针对预测的差分转换运动矢量的主运动补偿参考,并与另一参考帧混合;
所述方法包括(a)到(c)中的至少一项:
(a)执行运动补偿变形参考预测,使用双线性内插和运动补偿MC过滤以形成变形的参考帧MRef、tPredh作为中间水平内插,和Predji作为最终运动补偿变形参考预测:
Figure FDA0002415487600000081
Figure FDA0002415487600000082
其中
Figure FDA0002415487600000083
n=[0,Wb-1],
Figure FDA0002415487600000091
其中m=[0,Hb-1],n=[0,Wb-1],
且其中:
(iMVx,iMVy)是在(j,i)处尺寸为(Wb×Hb)的块的亚像素单位(fS)的经传输的运动矢量;A、B、C、D、E及F是从所传输的三个运动轨迹计算的仿射参数;使用有范数T的过滤系数h[fS][Nt]的可分开的运动补偿MC过滤,fS是亚像素因子,其中Nt是MC过滤阀的数量,且
Figure FDA0002415487600000092
Figure FDA0002415487600000093
pi=iMVy&(fS-1)
pj=iMVx&(fS-1)
(j′,i′)是变形参考图像中整数经运动调整的当前像素位置,pj、pi是变形参考图像中的1/8像素相;
x=(A*j′+B*i′+C<<r)>>r
y=(D*j′+E*i′+F<<s)>>s
其中(x,y)是1/8像素准确性的位置(j′,i′)的参考像素坐标
py=y&0x7
px=x&0x7
y0=y>>3
x0=x>>3
其中(x0,y0)是Ref图像中的整数像素位置,px、py是1/8像素相;
MRef[i′][j′]=((8-px)*(8-py)*Ref[y0][x0]+px*(8-py)*Ref[y0][x0+1]+py*(8-px)*Ref[y0+1][x0]+py*px*Ref[y0+1][x0+1]+31)>>6
tPredh[m][n]=SUMk(h[pj][k]*MRef[i′+m][j′+n+k])/T,其中
Figure FDA0002415487600000094
其中n=[0,Wb-1],其中
Figure FDA0002415487600000095
Predji[m][n]=SUMk(h[pj][k]*tPredh[m+k][n])/T,其中m=[0,Hb-1],其中n=[0,Wb-1],其中
Figure FDA0002415487600000096
(b)执行经变形的参考预测,使用块运动补偿MC过滤以形成经变形的参考帧Mref和Predh作为中间水平内插:
Figure FDA0002415487600000101
Figure FDA0002415487600000102
Figure FDA0002415487600000103
其中m=[0,Hs-1],n=[0,Ws-1],
且其中A、B、C、D、E及F是从所传输的三个运动轨迹计算的仿射参数;使用有范数T的过滤系数h[fS][Nt]的可分开的MC过滤,fS是亚像素因子,其中Nt是MC过滤阀的数量
x=(A*j+B*i+C<<r)>>r
y=(D*j+E*i+F<<s)>>s
(j,i)是当前图像中每个(Ws×Hs)子块位置,x和y是1/8像素准确性的参考像素坐标;
py=y&0x7
px=x&0x7
y0=y>>3
x0=x>>3
(x0,y0)是Ref图像中的整数像素位置;px、py是1/8像素相;
tPredh[m][n]=SUMk(h[pk][k]*Ref[y0+m][x0+n+k])/T,
Figure FDA0002415487600000104
MRef[i+m][j+n]=SUMk(h[py][k]*tPredh[m+k][n])/T,
m=[0,Hs-1],n=[0,Ws-1],
Figure FDA0002415487600000105
以及
(c)执行运动补偿变形参考预测,使用单个循环运动补偿MC过滤以形成变形的参考(MRef)和预测tPredh作为中间水平内插,和形成Predji作为在(j,i)处尺寸Wb×Hb的块的最终运动补偿变形参考预测:
对于
Figure FDA0002415487600000106
n=[0,Ws-1]:
Figure FDA0002415487600000111
对于m=[0,Hs-1]、n=[0,Ws-1]、u=[0,Hb/Hs-1]、v=[0,Wb/Ws-1]:
Figure FDA0002415487600000112
且其中:
(iMVx,iMVy)是(j,i)处尺寸(Wb×Hb)的块的亚像素单位(fS)的经传输的运动矢量;A、B、C、D、E及F是从所传输的三个运动轨迹计算的仿射参数;使用有范数T的过滤系数h[fS][Nt]的可分开的MC过滤,fS是亚像素因子,且Nt是MC过滤阀的数量
i′=(i+u*Hs)*fS+iMVx
j′=(j+v*Ws)*fS+iMVy
其中(j,i)是当前块像素位置,(u,v)是给定的(Wb×Hb)的当前块的每一个(Ws×Hs)子块的索引,且(Ws×Hs)子块;下面,i′、j′是fS亚像素准确性的经运动调整的当前像素位置,
x=((A*j′+B*i′+(C*fS)<<r)>>(r+3)
y=((D*j′+E*i′+(F*fS)<<s)>>(s+3)
其中x及y是fS亚像素准确性的参考像素坐标
py=y&(fS-1)
px=x&(fS-1)
y0=y/fS
x0=x/fS
其中(x0,y0)是Ref图像中的整数像素位置,px、py是1/8像素相;
tPredh[m][n]=SUMk(h[px][k]*Ref[y0+m][x0+n+k])/T,
Figure FDA0002415487600000113
n=[0,Ws-1],
Figure FDA0002415487600000114
Predji[u*Hs+m][v*Ws+n]=SUMk(h[py][k]*tPredh[m+k][n])/T,
m=[0,Hs-1],
n=[0,Ws-1],
Figure FDA0002415487600000121
v=[0,Wb/Ws-1],
u=[0,Hb/Hs-1]。
14.一种用于视频译码的计算机实现的方法,包括:
获得当前帧的图像数据帧和用作运动补偿参考帧的经解码的参考帧以确定所述当前帧的预测;
将所述经解码的参考帧划分成前景部分和背景部分,所述前景部分包括第一部分,所述背景部分包括第二部分;
通过将第一全局运动轨迹应用于所述经解码的参考帧以形成第一弯曲的全局运动补偿参考帧,并且通过将不同的第二全局运动轨迹应用于所述经解码的参考帧以形成第二弯曲的全局运动补偿参考帧,其中,所述经解码的参考帧的所述第一部分从所述经解码的参考帧上的第一原始位置移位至所述第一弯曲的全局运动补偿参考帧上的第一经移位的位置,并且所述经解码的参考帧的所述第二部分从所述经解码的参考帧上的第二原始位置移位至所述第二弯曲的全局运动补偿参考帧上的第二经移位的位置;
执行第一运动补偿变形参考预测以从所述第一弯曲的全局运动补偿参考帧形成第一全局运动补偿变形参考帧,并且执行第二运动补偿变形参考预测以从所述第二弯曲的全局运动补偿参考帧形成第二全局运动补偿变形参考帧,其中,所述第一全局运动补偿变形参考帧具有与所述第一经解码的参考帧相同的形状和尺寸,并且所述第二全局运动补偿变形参考帧具有与所述第二经解码的参考帧相同的形状和尺寸,其中,所述第一部分从所述第一弯曲的全局运动补偿参考帧上的所述第一经移位的位置移位至所述第一全局运动补偿变形参考帧上的第一经调整的位置且所述第一部分在所述第一经调整的位置处的尺寸、形状和旋转相比在所述第一原始位置处的尺寸、形状和旋转是恒定的,并且其中,所述第二部分从所述第二弯曲的全局运动补偿参考帧上的所述第二经移位的位置移位至所述全局运动补偿变形参考帧上的第二经调整的位置且所述第二部分在所述第二经调整的位置处的尺寸、形状和旋转相比在所述第二原始位置处的尺寸、形状和旋转是恒定的;
通过所述第一部分从所述经解码的参考帧上的所述第一原始位置到所述第一全局运动补偿变形参考帧上的所述第一经调整的位置的运动来生成第一预测运动矢量,并且通过所述第二部分从所述经解码的参考帧上的所述第二原始位置到所述第二全局运动补偿变形参考帧上的所述第二经调整的位置的运动来生成第二预测运动矢量,其中,所述第一预测运动矢量与所述第二运动矢量不同;以及
至少部分地基于所述第一预测运动矢量来形成所述当前帧上的与所述经解码的参考帧上的前景部分对应的部分的预测部分,并且至少部分地基于所述第二预测运动矢量来形成所述当前帧上的与所述经解码的参考帧上的背景部分对应的部分的预测部分。
15.如权利要求14所述的方法,其特征在于,包括通过在所述经解码的参考帧的多个部分中的每一个部分上使用不同的全局运动轨迹集来在所述多个部分上执行局部全局运动补偿。
16.如权利要求15所述的方法,其特征在于,每一个部分是瓦块,所述方法包括将所述当前帧和所述经解码的参考帧划分成瓦块,且其中每一个瓦块有一个全局运动轨迹集。
17.如权利要求16所述的方法,其特征在于,包括将多个所述瓦块分组成区域,以及在同一区域内的瓦块上应用相同的全局运动轨迹并且取决于所述区域而应用不同的全局运动轨迹集。
18.如权利要求15所述的方法,其特征在于,包括将所述多个部分分组成区域,以及在同一区域内的部分上应用相同的全局运动轨迹并且取决于所述区域而应用不同的全局运动轨迹集;以及以下各项中的至少一个:
每一个部分是取决于与每一个部分相关联的物体而定形和定尺寸的,
所述物体是以下项中的至少一项:前景、背景、和在所述当前帧和所述经解码的参考帧中移动的物体,以及
每一个部分是放置在所述物体周围的矩形。
19.如权利要求14所述的方法,其特征在于,包括形成所述参考帧的所述背景的一部分和所述参考帧的所述前景的一部分,每一个都有针对每一个部分的不同的局部全局运动轨迹集。
20.如权利要求14所述的方法,其特征在于,包括通过在所述经解码的参考帧的多个部分中的每一个部分上使用不同的全局运动轨迹集来在所述多个部分上执行局部全局运动补偿;
其中每一个部分是瓦块,所述方法包括将所述当前帧和所述经解码的参考帧划分成瓦块,且其中每一个瓦块有一个全局运动轨迹集;
所述方法包括提供除了整个瓦块之外在瓦块的一部分上执行局部全局运动补偿的选项;
其中将局部全局运动补偿轨迹提供给半瓦块或四分之一瓦块;
所述方法包括以下项中的至少一项:
将多个所述瓦块分组成区域,以及在同一区域内的所述瓦块上应用相同的全局运动轨迹并且取决于所述区域而应用不同的全局运动轨迹集,以及
将所述多个部分分组成区域,以及在同一区域内的部分上应用相同的全局运动轨迹并且取决于所述区域而应用不同的全局运动轨迹集;
其中每一个部分是取决于与每一个部分相关联的物体而定形和定尺寸的;
其中所述物体是以下项中的至少一项:前景、背景、和在所述当前帧和所述经解码的参考帧中移动的物体;
其中每一个部分是放置在所述物体周围的矩形;
所述方法包括形成所述参考帧的所述背景的一部分和所述参考帧的所述前景的一部分,每一个都有针对每一个部分的不同的局部全局运动轨迹集。
21.一种译码器,包括:
图像缓冲区;以及
图形处理单元,所述图形处理单元被配置成:
获得当前帧的图像数据帧和用作运动补偿参考帧的经解码的参考帧以确定所述当前帧的预测;
将所述经解码的参考帧划分成前景部分和背景部分,所述前景部分包括第一部分,所述背景部分包括第二部分;
通过将第一全局运动轨迹应用于所述经解码的参考帧以形成第一弯曲的全局运动补偿参考帧,并且通过将不同的第二全局运动轨迹应用于所述经解码的参考帧以形成第二弯曲的全局运动补偿参考帧,其中,所述经解码的参考帧的所述第一部分从所述经解码的参考帧上的第一原始位置移位至所述第一弯曲的全局运动补偿参考帧上的第一经移位的位置,并且所述经解码的参考帧的所述第二部分从所述经解码的参考帧上的第二原始位置移位至所述第二弯曲的全局运动补偿参考帧上的第二经移位的位置;
执行第一运动补偿变形参考预测以从所述第一弯曲的全局运动补偿参考帧形成第一全局运动补偿变形参考帧,并且执行第二运动补偿变形参考预测以从所述第二弯曲的全局运动补偿参考帧形成第二全局运动补偿变形参考帧,其中,所述第一全局运动补偿变形参考帧具有与所述第一经解码的参考帧相同的形状和尺寸,并且所述第二全局运动补偿变形参考帧具有与所述第二经解码的参考帧相同的形状和尺寸,其中,所述第一部分从所述第一弯曲的全局运动补偿参考帧上的所述第一经移位的位置移位至所述第一全局运动补偿变形参考帧上的第一经调整的位置且所述第一部分在所述第一经调整的位置处的尺寸、形状和旋转相比在所述第一原始位置处的尺寸、形状和旋转是恒定的,并且其中,所述第二部分从所述第二弯曲的全局运动补偿参考帧上的所述第二经移位的位置移位至所述全局运动补偿变形参考帧上的第二经调整的位置且所述第二部分在所述第二经调整的位置处的尺寸、形状和旋转相比在所述第二原始位置处的尺寸、形状和旋转是恒定的;
通过所述第一部分从所述经解码的参考帧上的所述第一原始位置到所述第一全局运动补偿变形参考帧上的所述第一经调整的位置的运动来生成第一预测运动矢量,并且通过所述第二部分从所述经解码的参考帧上的所述第二原始位置到所述第二全局运动补偿变形参考帧上的所述第二经调整的位置的运动来生成第二预测运动矢量,其中,所述第一预测运动矢量与所述第二运动矢量不同;以及
至少部分地基于所述第一预测运动矢量来形成所述当前帧上的与所述经解码的参考帧上的前景部分对应的部分的预测部分,并且至少部分地基于所述第二预测运动矢量来形成所述当前帧上的与所述经解码的参考帧上的背景部分对应的部分的预测部分。
22.如权利要求21所述的译码器,其特征在于,所述图形处理单元被配置成:
通过在所述经解码的参考帧的多个部分中的每一个部分上使用不同的全局运动轨迹集来在所述多个部分上执行局部全局运动补偿;
其中每一个部分是瓦块,所述图形处理单元被配置成将所述当前帧和所述经解码的参考帧划分成瓦块,且其中每一个瓦块有一个全局运动轨迹集;
所述图形处理单元被配置成提供除了整个瓦块之外在瓦块的一部分上执行局部全局运动补偿的选项;
其中将局部全局运动补偿轨迹提供给半瓦块或四分之一瓦块;
所述图形处理单元被配置成以下项中的至少一项:
将多个所述瓦块分组成区域,以及在同一区域内的所述瓦块上应用相同的全局运动轨迹并且取决于所述区域而应用不同的全局运动轨迹集,以及
将所述多个部分分组成区域,以及在同一区域内的部分上应用相同的全局运动轨迹,并且取决于所述区域而应用不同的全局运动轨迹集;
其中每一个部分是取决于与每一个部分相关联的物体而定形和定尺寸的;
其中所述物体是以下项中的至少一项:前景、背景、和在所述当前帧和所述经解码的参考帧中移动的物体;
其中每一个部分是放置在所述物体周围的矩形;
所述图形处理单元被配置成形成所述参考帧的所述背景的一部分和所述参考帧的所述前景的一部分,每一个都有针对每一个部分的不同的局部全局运动轨迹集。
23.一种译码器,所述译码器包括:
图像缓冲区;以及
图形处理单元,所述图形处理单元被配置成:
获得当前帧的图像数据帧和用作运动补偿参考帧的经解码的参考帧以确定所述当前帧的预测;
通过将全局运动轨迹应用于所述经解码的参考帧以形成弯曲的全局运动补偿参考帧,其中,所述经解码的参考帧的至少一个部分从所述经解码的参考帧上的原始位置移位至所述弯曲的全局运动补偿参考帧上的经移位的位置;
执行运动补偿变形参考预测以从所述弯曲的全局运动补偿参考帧形成全局运动补偿变形参考帧,其中,所述全局运动补偿变形参考帧具有与所述经解码的参考帧相同的形状和尺寸,其中,所述至少一个部分从所述弯曲的全局运动补偿参考帧上的所述经移位的位置移位至所述全局运动补偿变形参考帧上的经调整的位置且所述至少一个部分在所述经调整的位置处的尺寸、形状和旋转相比在所述原始位置处的尺寸、形状和旋转是恒定的;
通过所述至少一个部分从所述经解码的参考帧上的所述原始位置到所述全局运动补偿变形参考帧上的所述经调整的位置的运动来生成至少一个预测运动矢量;以及
至少部分地基于所述至少一个预测运动矢量来形成所述当前帧上的一部分的预测部分。
24.如权利要求23所述的译码器,其特征在于,所述至少一个部分是以下项中的至少一项:
(1)用作将所述当前帧或所述参考帧划分成多个块的单元的像素块;
(2)至少一个像素瓦块,每一个瓦块至少是64×64像素并用作将所述当前帧或所述参考帧划分成多个所述瓦块的单元;
所述图形处理单元被配置成以下项中的至少一项:
基于与所述当前帧和所述经解码的参考帧中的物体相关联的共性而将瓦块分组到一起以形成所述至少一个部分;并针对每一个瓦块分组形成单个运动矢量,
基于可从编码器传输到解码器的合并映射而将所述瓦块分组;
(3)像素区域,所述像素区域取决于与所述像素区域相关联的物体而定形和定尺寸,其中所述像素区域的边界包括:
放置在与所述像素区域相关联的所述物体周围的矩形;
其中所述像素区域与以下至少之一相关联:
所述当前帧和所述经解码的参考帧的背景,
所述当前帧和所述经解码的参考帧的前景,以及
所述当前帧和所述经解码的参考帧中的移动物体;
所述图形处理单元被配置成基于可从编码器传输到解码器的边界映射定义所述像素区域;
其中形成弯曲的全局运动补偿参考帧包括在所述经解码的参考帧的外角处使用全局运动轨迹;
其中形成弯曲的全局运动补偿参考帧包括使用仿射或角度全局运动补偿方法;
其中所述至少一个部分包括被划分成背景和前景的帧,且其中确定运动矢量包括提供每一个都有一个运动矢量的背景和前景;
所述图形处理单元被配置成执行包括局部应用的全局运动补偿的主运动补偿从而在小于整个帧的帧上的至少一个区域的角落处使用至少一个其他全局运动轨迹集以形成经移位的区域;和使用经移位的区域的像素值以形成对应于所述当前帧上的区域的预测区域;
所述图形处理单元被配置成以下项中的至少一项:
通过在每一个区域上使用不同的全局运动轨迹集来在帧的多个区域上执行局部全局运动补偿;
其中每一个区域是瓦块,并将所述当前帧和所述经解码的参考帧划分成瓦块,且其中每一个瓦块有一个全局运动轨迹集;
提供除了整个瓦块之外在瓦块的一部分上执行局部全局运动补偿的选项;
其中每一个区域是取决于与每一个区域相关联的物体而定形和定尺寸的;
其中所述物体是以下项中的至少一项:前景、背景、和在所述当前帧和所述经解码的参考帧中移动的物体;
所述图形处理单元被配置成提供在逐区域的基础上在所述至少一个区域上选择由以下形成的预测的选项:
(1)用来针对所述至少一个区域形成预测的运动矢量和使用应用于整个帧的全局运动补偿,或者
(2)在所述至少一个区域应用带全局运动轨迹集的局部全局运动补偿和使用所述至少一个区域的经移位的像素值以形成预测;
所述图形处理单元被配置成应用在有小于整个参考帧的地区的参考帧的区域处应用的带全局运动轨迹集的局部全局运动补偿,和使用运动矢量来针对所述至少一个区域形成预测;
所述图形处理单元被配置成提供针对帧从以下之中选择模式的选项:
(1)使用所述主运动补偿参考帧预测,
(2)使用多个主运动补偿参考帧的混合预测,
(3)使用有针对预测的差分转换运动矢量的主运动补偿参考,以及
(4)使用有针对预测的差分转换运动矢量的主运动补偿参考,并与另一参考帧混合;
图形处理单元被配置成(a)到(c)中的至少一项:
(a)执行运动补偿变形参考预测,使用双线性内插和运动补偿MC过滤以形成变形的参考帧MRef、tPredh作为中间水平内插,和Predji作为最终运动补偿变形参考预测:
Figure FDA0002415487600000191
Figure FDA0002415487600000192
其中
Figure FDA0002415487600000193
Figure FDA0002415487600000194
其中m=[0,Hb-1],n=[0,Wb-1],
且其中:
(iMVx,iMVy)是在(j,i)处尺寸为(Wb×Hb)的块的亚像素单位(fS)的经传输的运动矢量;A、B、C、D、E及F是从所传输的三个运动轨迹计算的仿射参数;使用有范数T的过滤系数h[fS][Nt]的可分开的运动补偿MC过滤,fS是亚像素因子,其中Nt是MC过滤阀的数量,且
Figure FDA0002415487600000201
Figure FDA0002415487600000202
pi=iMVy&(fS-1)
pj=iMVx&(fS-1)
(j′,i′)是变形参考图像中的整数运动调整的当前像素位置,pj、pi是变形参考图像中的1/8像素相;
x=(A*j′+B*i′+C<<r)>>r
y=(D*j′+E*i′+F<<s)>>s
其中(x,y)是1/8像素准确性的位置(j′,i′)的参考像素坐标
py=y&0x7
px=x&0x7
y0=y>>3
x0=x>>3
其中(x0,y0)是Ref图像中的整数像素位置;px、py是1/8像素相;
MRef[i′][j′]=((8-px)*(8-py)*Ref[y0][x0]+px*(8-py)*Ref[y0][x0+1]+py*(8-px)*Ref[y0+1][x0]+py*px*Ref[y0+1][x0+1]+31)>>6
tPredh[m][n]=SUMk(h[pj][k]*MRef[i′+m][j′+n+k])/T,其中
Figure FDA0002415487600000203
其中n=[0,Wb-1],其中
Figure FDA0002415487600000204
Predji[m][n]=SUMk(h[pj][k]*tPredh[m+k][n])/T,其中m=[0,Hb-1],其中n=[0,Wb-1],其中
Figure FDA0002415487600000205
(b)执行经变形的参考预测,使用块运动补偿MC过滤以形成变形的参考帧Mref和Predh作为中间水平内插:
Figure FDA0002415487600000206
Figure FDA0002415487600000207
Figure FDA0002415487600000208
其中m=[0,Hs-1],n=[0,Ws-1],
且其中A、B、C、D、E及F是从所传输的三个运动轨迹计算的仿射参数;使用有范数T的过滤系数h[fS][Nt]的可分开的MC过滤,fS是亚像素因子,其中Nt是MC过滤阀的数量
x=(A*j+B*i+C<<r)>>r
y=(D*j+E*i+F<<s)>>s
(j,i)是当前图像中每个(Ws×Hs)子块位置,x和y是1/8像素周期性的参考像素坐标;
py=y&0x7
px=x&0x7
y0=y>>3
x0=x>>3
(x0,y0)是Ref图像中的整数像素位置;px、py是1/8像素相;
tPredh[m][n]=SUMk(h[pk][k]*Ref[y0+m][x0+n+k])/T,
Figure FDA0002415487600000211
MRef[i+m][j+n]=SUMk(h[py][k]*tPredh[m+k][n])/T,
m=[0,Hs-1],n=[0,Ws-1],
Figure FDA0002415487600000212
以及
(c)执行运动补偿变形参考预测,使用单个循环运动补偿MC过滤以形成变形的参考(MRef)和预测tPredh作为中间水平内插,和形成Predji作为在(j,i)处尺寸Wb×Hb的块的最终运动补偿变形参考预测:
对于
Figure FDA0002415487600000213
n=[0,Ws-1]:
Figure FDA0002415487600000214
对于m=[0,Hs-1]、n=[0,Ws-1]、u=[0,Hb/Hs-1]、v=[0,Wb/Ws-1]:
Figure FDA0002415487600000215
且其中:
(iMVx,iMVy)是(j,i)处尺寸(Wb×Hb)的块的亚像素单位(fS)的经传输的运动矢量;A、B、C、D、E及F是从所传输的三个运动轨迹计算的仿射参数;使用有范数T的过滤系数h[fS][Nt]的可分开的MC过滤,fS是亚像素因子,且Nt是MC过滤阀的数量
i′=(i+u*Hs)*fS+iMVx
j′=(j+v*Ws)*fS+iMVy
其中(j,i)是当前块像素位置,(u,v)是给定的(Wb×Hb)的当前块的每一个(Ws×Hs)子块的索引,且(Ws×Hs)子块;下面,i′、j′是fS亚像素准确性的经运动调整的当前像素位置,
x=((A*j′+B*i′+(C*fS)<<r)>>(r+3)
y=((D*j′+E*i′+(F*fS)<<s)>>(s+3)
其中x及y是fS亚像素准确性的参考像素坐标
py=y&(fS-1)
px=x&(fS-1)
y0=y/fS
x0=x/fS
其中(x0,y0)是Ref图像中的整数像素位置,px、py是1/8像素相;
tPredh[m][n]=SUMk(h[px][k]*Ref[y0+m][x0+n+k])/T,
Figure FDA0002415487600000221
n=[0,Ws-1],
Figure FDA0002415487600000222
Predji[u*Hs+m][v*Ws+n]=SUMk(h[py][k]*tPredh[m+k][n])/T,
m=[0,Hs-1],
n=[0,Ws-1],
Figure FDA0002415487600000223
v=[0,Wb/Ws-1],
u=[0,Hb/Hs-1]。
25.一种计算机可读存储介质,其上存储有指令,所述指令响应于被执行而导致计算设备执行如权利要求1-20中的任一项所述的方法。
CN201480070427.7A 2013-12-27 2014-03-12 用于下一代视频译码的方法、装置及译码器 Expired - Fee Related CN105850133B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
USPCT/US2013/078114 2013-12-27
PCT/US2013/078114 WO2014120374A1 (en) 2013-01-30 2013-12-27 Content adaptive predictive and functionally predictive pictures with modified references for next generation video coding
PCT/US2014/024694 WO2015099816A1 (en) 2012-11-13 2014-03-12 Content adaptive dominant motion compensated prediction for next generation video coding

Publications (2)

Publication Number Publication Date
CN105850133A CN105850133A (zh) 2016-08-10
CN105850133B true CN105850133B (zh) 2020-09-01

Family

ID=54198733

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480070427.7A Expired - Fee Related CN105850133B (zh) 2013-12-27 2014-03-12 用于下一代视频译码的方法、装置及译码器

Country Status (4)

Country Link
EP (2) EP3087745A4 (zh)
KR (1) KR101789954B1 (zh)
CN (1) CN105850133B (zh)
TW (1) TWI583179B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102146436B1 (ko) 2015-09-25 2020-08-20 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 모션 보상을 위한 장치 및 방법
KR102390384B1 (ko) * 2017-03-13 2022-04-22 에스케이텔레콤 주식회사 영상 부호화 또는 복호화하기 위한 장치 및 방법
US11889100B2 (en) 2017-11-14 2024-01-30 Qualcomm Incorporated Affine motion vector prediction in video coding
US10681374B2 (en) * 2017-11-16 2020-06-09 Google Llc Diversified motion using multiple global motion models
CN109819253B (zh) * 2017-11-21 2022-04-22 腾讯科技(深圳)有限公司 视频编码方法、装置、计算机设备和存储介质
KR20230098721A (ko) * 2018-03-29 2023-07-04 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 패딩을 위한 화면내-예측 모드 선택을 위한 장치
JP2021536191A (ja) * 2018-09-07 2021-12-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ビデオコーディング用システムおよび方法
CN112997499A (zh) * 2018-09-14 2021-06-18 皇家Kpn公司 基于经全局运动补偿的运动矢量预测值的视频编码
EP3850845A1 (en) * 2018-09-14 2021-07-21 Koninklijke KPN N.V. Video coding based on global motion compensated motion vectors
GB2577318B (en) * 2018-09-21 2021-03-10 Canon Kk Video coding and decoding
GB2579763B (en) 2018-09-21 2021-06-09 Canon Kk Video coding and decoding
WO2020072397A1 (en) * 2018-10-04 2020-04-09 Interdigital Vc Holdings, Inc. Block size based motion vector coding in affine mode
GB2595053B (en) 2018-10-18 2022-07-06 Canon Kk Video coding and decoding
GB2595054B (en) 2018-10-18 2022-07-06 Canon Kk Video coding and decoding
CN109640081B (zh) * 2019-02-14 2023-07-14 深圳市网心科技有限公司 一种帧内预测方法、编码器、电子设备及可读存储介质
BR112021021334A2 (pt) * 2019-04-25 2022-01-18 Op Solutions Llc Sinalização de vetor de movimento global em cabeçalho de imagem
WO2020228833A1 (en) * 2019-05-16 2020-11-19 Beijing Bytedance Network Technology Co., Ltd. Adaptive resolution change in video coding
US11580621B2 (en) * 2019-12-06 2023-02-14 Mediatek Inc. AI frame engine for mobile edge
US11756505B2 (en) * 2020-03-31 2023-09-12 Apple Inc. Peak luminance control to enable higher display brightness
CN111726555B (zh) * 2020-06-04 2021-11-23 上海顺久电子科技有限公司 一种显示设备及运动估计方法、视频处理方法
CN112312131B (zh) * 2020-12-31 2021-04-06 腾讯科技(深圳)有限公司 一种帧间预测方法、装置、设备及计算机可读存储介质
CN115002482B (zh) * 2022-04-27 2024-04-16 电子科技大学 使用结构性保持运动估计的端到端视频压缩方法及系统

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0697788A3 (en) * 1994-08-19 1997-03-26 Eastman Kodak Co Adaptive and global motion compensated cancellation of the interlacing of successive video images with post-processing
US6643387B1 (en) * 1999-01-28 2003-11-04 Sarnoff Corporation Apparatus and method for context-based indexing and retrieval of image sequences
US20030123738A1 (en) * 2001-11-30 2003-07-03 Per Frojdh Global motion compensation for video pictures
JP2004088722A (ja) * 2002-03-04 2004-03-18 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
US20040001546A1 (en) * 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
HUP0301368A3 (en) * 2003-05-20 2005-09-28 Amt Advanced Multimedia Techno Method and equipment for compressing motion picture data
US7558320B2 (en) * 2003-06-13 2009-07-07 Microsoft Corporation Quality control in frame interpolation with motion analysis
JP2005223631A (ja) * 2004-02-05 2005-08-18 Sony Corp データ処理装置およびその方法と符号化装置および復号装置
EP1675402A1 (en) * 2004-12-22 2006-06-28 Thomson Licensing Optimisation of a quantisation matrix for image and video coding
US8340185B2 (en) * 2006-06-27 2012-12-25 Marvell World Trade Ltd. Systems and methods for a motion compensated picture rate converter
JP5263967B2 (ja) * 2009-06-10 2013-08-14 Necカシオモバイルコミュニケーションズ株式会社 動画ストリーム処理装置及び動画ストリーム処理プログラム
WO2011016246A1 (ja) * 2009-08-06 2011-02-10 パナソニック株式会社 符号化方法、復号方法、符号化装置及び復号装置
US8837592B2 (en) * 2010-04-14 2014-09-16 Mediatek Inc. Method for performing local motion vector derivation during video coding of a coding unit, and associated apparatus
CN106454357A (zh) * 2011-01-09 2017-02-22 寰发股份有限公司 已处理视频数据的样本自适应补偿的方法和装置
US9602819B2 (en) * 2011-01-31 2017-03-21 Apple Inc. Display quality in a variable resolution video coder/decoder system

Also Published As

Publication number Publication date
KR20160077166A (ko) 2016-07-01
EP3087744A4 (en) 2017-07-05
TW201528777A (zh) 2015-07-16
KR101789954B1 (ko) 2017-10-25
TWI583179B (zh) 2017-05-11
EP3087745A1 (en) 2016-11-02
EP3087744A1 (en) 2016-11-02
EP3087745A4 (en) 2017-06-28
EP3087744B1 (en) 2020-12-02
CN105850133A (zh) 2016-08-10

Similar Documents

Publication Publication Date Title
CN105850133B (zh) 用于下一代视频译码的方法、装置及译码器
US9894372B2 (en) Content adaptive super resolution prediction generation for next generation video coding
US10021392B2 (en) Content adaptive bi-directional or functionally predictive multi-pass pictures for high efficiency next generation video coding
US9883198B2 (en) Video codec architecture for next generation video

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200901

Termination date: 20210312

CF01 Termination of patent right due to non-payment of annual fee