CN109565590A - 用于视频编解码的基于模型的运动向量推导 - Google Patents

用于视频编解码的基于模型的运动向量推导 Download PDF

Info

Publication number
CN109565590A
CN109565590A CN201780047558.7A CN201780047558A CN109565590A CN 109565590 A CN109565590 A CN 109565590A CN 201780047558 A CN201780047558 A CN 201780047558A CN 109565590 A CN109565590 A CN 109565590A
Authority
CN
China
Prior art keywords
motion vector
decoder
list
new
reference frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201780047558.7A
Other languages
English (en)
Other versions
CN109565590B (zh
Inventor
庄子德
陈庆晔
徐志玮
黄毓文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MediaTek Inc
Original Assignee
联发科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 联发科技股份有限公司 filed Critical 联发科技股份有限公司
Publication of CN109565590A publication Critical patent/CN109565590A/zh
Application granted granted Critical
Publication of CN109565590B publication Critical patent/CN109565590B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • 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/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/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

Landscapes

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

Abstract

本发明所描述的技术涉及方法、装置及计算机可读介质,其用于接收压缩视频数据,其中压缩视频数据与一组帧相关。解码器侧预测子细分技术用于计算用于来自于一组帧的当前帧的新运动向量,其中新运动向量基于一个或者多个参考帧评估用于当前帧的运动。自运动向量缓存器中检索出与不同帧相关的已有运动向量。基于该已有运动向量,使用解码器侧运动向量预测技术计算新运动向量,以使得已有运动向量处于在计算新运动向量之后的运动向量缓存器中。

Description

用于视频编解码的基于模型的运动向量推导
交叉引用
本发明主张在2016年08月08日提出的名称为“METHODS OF PATTERN-BASED MVDERIVATION FOR VIDEO CODING”申请号为62/371,879的美国临时专利申请的优先权;主张在2017年08月07日提出的申请号为15/670,109的美国专利申请的优先权。因此在全文中合并参考该些专利申请案。
技术领域
本发明涉及视频编解码。具体而言,本发明涉及用于解码器侧预测子细化(refinement)的运动向量恢复。
背景技术
视频编解码涉及压缩(和去压缩)数字视频信号。视频编解码标准的示例包括H.264视频压缩标准及其继任者高效视频编码(High Efficiency Video Coding,HEVC)。运动的视频通过在周期性的时间间隔处拍摄信号的快照而形成,使得回放一系列的快照或者帧产生运动的感觉。视频编码器包括预测模型,其使用相邻视频帧之间的相似度来试图降低冗余。自通常称作参考帧的一个或者多个先前帧(past frame)或者未来帧(futureframe)中创建预测帧(predicted frame)。不用作参考帧的帧通常称作非参考帧。
由于每帧可以包括成千上万的像素,视频编解码技术通常不会一次性处理所有帧的像素。因此,编码帧被分割成通常用作宏块(macroblock)的块。编码器试图查找与在参考帧中编码的相似的块,而不是直接编码每个块的原始像素值。如果编码器找到相似块,编码器则可以使用运动向量来编码这个块,运动向量是指向参考帧中匹配块的二维向量。
一些技术显性地发信运动信息到解码器。这类模式的示例包括HEVC中的合并模式(merge mode)和高级运动向量预测(advanced motion vector prediction,AMVP)模式。但是,需要发信运动向量会消耗大量的数据,其可能否则由发射器来使用以编码其他信息。因此,解码器侧的运动向量细化工具可以用于细化、预测和/或产生运动信息,使得运动信息可以被推导出而无需显性发信。
发明内容
根据所公开的主题,本发明提供装置、系统及方法,以用于解码器侧预测子细分技术,其提供执行速度和细分技术的效率。
一些实施例涉及解码方法以用于解码视频数据。该方法包括接收压缩视频数据,其中压缩视频数据与一组帧相关。该方法包括使用解码器侧预测子细分技术来计算用于来自于该组帧的当前帧的新运动向量,其中该新运动向量基于一个或者多个参考帧评估用于该当前帧的运动,其包括自运动向量缓存器中检索出与不同帧相关的已有运动向量,并基于该已有运动向量,使用解码器侧运动向量预测技术计算该新运动向量,以使得该已有运动向量处于在计算该新运动向量之后的该运动向量缓存器中。
在一些示例中,该新运动向量为细分运动向量,并且计算的步骤包括在第一步骤中将该新运动向量存储到该运动向量缓存器中,以及将该已有运动向量存储回到该运动向量缓存器中。
在一些示例中,该新运动向量为细分运动向量,并且计算的步骤包括将该新运动向量存储到第二运动向量缓存器中,以使得该已有运动向量保留在该运动向量缓存器中。
在一些示例中,该方法包括确定来自于一个或者多个上层编码树单元行的数据可用,并且,计算的步骤包括检索出用于相邻块集的多个运动向量,以用于来自于该相邻块集的一个或者多个相邻块,其包括确定该相邻块是位于该一个上层编码树单元行中还是多个上层编码树单元行中,并且检索出与该相邻块相关的一个或者多个新运动向量。
在一些示例中,计算的步骤包括测试自第一组参考帧和第二组参考帧中推导的一个或者多个运动向量对,以及仅存储与该第一组参考帧和该第二组参考帧相关的该运动向量对中的一个。
在一些示例中,计算的步骤包括测试自第一组参考帧或者第二组参考帧中的一个推导的一个或者多个运动向量对。
在一些示例中,该方法包括接收指示用于起始运动向量候选列表的起始候选索引的信号,以及使用该接收的信号以计算该新运动向量。
在一些示例中,该方法包括接收指示用于起始运动向量候选列表和粗纹理运动向量差值中至少一个的起始候选索引的信号,以及使用该接收的信号以计算该新运动向量。
在一些示例中,该方法包括接收来自于高级运动向量预测且指示该起始运动向量的信号,以及使用该接收的信号以计算该新运动向量。
一些实施例涉及一种解码视频数据的装置,该装置包括与内存通信的处理器,该处理器用于执行存储在该内存中的多个指令,使得该处理器接收压缩视频数据,其中压缩视频数据与一组帧相关,并且使用解码器侧预测子细分技术,计算用于来自于该组帧的当前帧的新运动向量,其中该新运动向量基于一个或者多个参考帧评估用于该当前帧的运动。计算的步骤包括自运动向量缓存器中检索出与不同帧相关的已有运动向量,并且基于该已有运动向量,使用解码器侧运动向量预测技术计算该新运动向量,以使得该已有运动向量处于在计算该新运动向量之后的该运动向量缓存器中。
在一些示例中,该新运动向量为细分运动向量,并且计算的步骤包括在第一步骤中将该新运动向量存储到该运动向量缓存器中,以及将该已有运动向量存储回到该运动向量缓存器中。
在一些示例中,该新运动向量为细分运动向量,并且计算的步骤包括将该新运动向量存储到第二运动向量缓存器中,以使得该已有运动向量保留在该运动向量缓存器中。
在一些示例中,该多个指令进一步使得该处理器确定来自于一个或者多个上层编码树单元行的数据可用,并且,计算的步骤包括检索出多个运动向量以用于相邻块集,以用于来自于该相邻块集的一个或者多个相邻块,其包括确定该相邻块是位于该一个或者多个上层编码树单元行中,并检索出与该相邻块相关的一个或者多个新运动向量。
在一些示例中,计算的步骤包括测试自第一组参考帧和第二组参考帧中推导的一个或者多个运动向量对,以及仅存储与该第一组参考帧和该第二组参考帧相关的该运动向量对中的一个。
在一些示例中,计算的步骤包括测试自第一组参考帧或者第二组参考帧中推导的一个或者多个运动向量对。
在一些示例中,该多个指令进一步使得该处理器接收指示用于起始运动向量候选列表的起始候选索引的信号,并使用该接收的信号以计算该新运动向量。
在一些示例中,该多个指令进一步使得该处理器接收指示用于起始运动向量候选列表和粗纹理运动向量差值中至少一个的起始候选索引的信号,并使用该接收的信号以计算该新运动向量。
在一些示例中,该多个指令进一步使得该处理器接收来自于高级运动向量预测且指示该起始运动向量的信号,并使用该接收的信号以计算该新运动向量。
一些实施例涉及至少一个非暂时计算机可读存储介质,用多个计算机可执行指令而编码的,当该多个计算可执行指令被执行时,实现一种方法,该方法包括接收压缩视频数据,其中压缩视频数据与一组帧相关,并且使用解码器侧预测子细分技术,计算用于来自于该组帧的当前帧的新运动向量,其中该新运动向量基于一个或者多个参考帧评估用于该当前帧的运动。计算的步骤包括自运动向量缓存器中检索出与不同帧相关的已有运动向量,并且基于该已有运动向量,使用解码器侧运动向量预测技术计算该新运动向量,以使得该已有运动向量处于在计算该新运动向量之后的该运动向量缓存器中。
一些实施例涉及用于编码视频数据的编码方法,该方法包括将压缩视频数据发送至接收设备,其中压缩视频数据与一组帧相关。压缩视频数据报括由接收设备使用的场以解码压缩视频数据。压缩视频数据和该场使得接收设备或者视频编码器使用解码器侧预测子细分技术,计算用于来自于该组帧的当前帧的新运动向量,其中该新运动向量基于一个或者多个参考帧评估用于该当前帧的运动,其包括自运动向量缓存器中检索出与不同帧相关的已有运动向量,并且,基于该已有运动向量,使用解码器侧运动向量预测技术计算该新运动向量,以使得该已有运动向量处于在计算该新运动向量之后的该运动向量缓存器中。
在一些示例中,该场发现用于解码器侧预测子细分技术的起始候选。解码器侧预测子细分技术可以是基于模型的运动向量推导。
在一些示例中,该场发信用于双边匹配合并模式和模板匹配合并模式(templatematching merge mode)中至少一个的合并索引。该场可以在第一组参考帧和第二参考帧间中发信最佳起始运动向量。该场可以发信两个运动向量对,其中一对自第一组参考帧中推导出而一对自第二组参考帧中推导出。
在一些示例中,该场与预定向量预测子模式相关,并用于发信是否使用解码器侧运动向量预测子技术,以使得该方法发信用于解码器侧预测子细分技术的起始运动向量。
因此,大致概述了所公开的主题的特征,以便更好地理解下列具体实施方式,并且以便更好地理解对本领域的贡献。当然,存在所公开主题的额外特征,其将在下文中描述,并形成权利要求的主题。可以理解的是,本文中所使用的用语和术语是用于描写的目的,不应被视为限制。
附图说明
附图中,不同附图所示出的每个相同或几乎相同的组件用相同的参考字符表示。为了清晰,并不是每个组件都在每个附图中标记出来。附图不一定是按比例绘制的,而是将重点放在此次所述的技术和设备的各个方面。
图1是示例性的视频编解码配置。
图2是推导出时间推导运动向量预测(motion vector prediction,MVP)的示例技术。
图3是使用双边匹配(bi-lateral matching)合并模式的基于模型的运动向量推导(pattern-based motion vector derivation,PMVD)的示例技术。
图4是缩放运动轨迹的示例。
图5是使用模板匹配(template matching)合并模式的基于模型的运动向量推导的示例技术。
图6是示例性的解码器架构。
图7是在执行例如图6所示的解码器架构时的解码器流水线执行的示例。
图8是在执行解码器侧的预测子细分工具时的解码器流水线执行的示例。
具体实施方式
发明人已认识并领会到各种技术可以用于改善解码器侧的预测子细分技术的执行,例如,基于模型的运动向量推导、双向光流(bi-directional optical flow,BIO)和解码器侧运动向量细分(decoder-side motion vector refinement,DMVR)。由于运动向量如何被计算和重构,解码器侧预测子细分工具会引起处理延时。相比于不能预测运动向量的传统的解码方法(例如,当运动向量信息自编码器发信),此处描述的技术可以允许相似的运行时间。例如,解码器侧预测子细分技术可以被调整,使得在处理过程的早期可以重构运动向量,从而允许解码器以一种隐藏所需的延时周期(latency cycle)而获取数据的方式预先获取必需的参考像素。否则,如果解码器在处理过程的早期不能重构运动向量,则解码器不能预先获取参考数据,其将通常引起在执行吞吐量上的重大延时。
此处描述的是允许解码器以一种仍然隐藏延时周期的方式预先获取用于解码器侧预测子细分技术参考数据的技术。在一些示例中,未细分运动向量(unrefined MV)(a)被恢复到运动向量缓存器中和/或(b)不被改变,使得未细分运动向量可以由解码器侧运动向量细分工具来使用,或者用于推导出用于后续块的参考运动向量或者运动向量候选(例如合并候选列表和高级运动向量预测子列表)。对于基于模型的运动向量推导,通过推导出候选列表并发信候选索引,起始运动向量(starting MV)可以被显性发信。运动向量在解析阶段被推导出,而无需受解码器侧运动向量细分工具的影响,允许解码器仍然从运动向量缓存器中预先获取必需的信息。解码器可以使用发信的起始运动向量,以用于相邻块的合并候选推导和高级运动向量预测候选推导。在一些示例中,编码树单元(coding tree unit,CTU)行约束可以被合并,以使得解码器可以参考上层编码树单元行中的已修改的运动向量(modified MV)。
在一些示例中,解码器可以用于不参考基于模型的运动向量推导编码块(codedblock)的运动向量。在一些示例中,(a)起始运动向量和(b)粗纹理(coarse grain)运动向量差值(motion vector difference,MVD)可以被发信。在一些示例中,起始运动向量可以由高级运动向量预测模式(例如,而不是候选列表)发信。此处描述的也是可以用于存储例如用于双边匹配合并模式的运动向量对(MV pair)的技术。在一些示例中,解码器测试自LIST_0和LIST_1中推导出的运动向量对,但仅存储一个运动向量对。在一些示例中,解码器仅测试自一个列表中推导出的一个运动向量对,并存储测试列表的运动向量对。将在下文中更完整地证实这些技术和其他技术。
在下文中,为了透彻理解所公开的主题,提供了关于所公开主题的系统和方法以及这些系统和方法可能操作的环境等的大量而具体的细节。然而,对于本领域技术人员而言,清楚的是,所公开主题可以被实施而无需这么具体的细节,并且,为了避免所公开的主题的复杂,本领域所公知的某些特征不被具体地描述。另外,可以理解的是,下面提供的示例是示例性的,并且,可设想的是,存在落入所公开主题的其他系统和方法。
图1示出了根据一些实施例的示例性的视频编解码配置100。视频源102是视频源,并且,可以是例如数字电视、基于互联网视频和/或视频通话等。编码器104将视频源编码成编码视频(encoded video)。编码器104可以驻留在产生视频源102的同样设备(例如,用于视频通话的手机)上,及/或可以驻留在不同的设备上。接收设备106接收从编码器104中接收编码视频。通过广播网络,通过行动网络(例如蜂窝网络)和/或通过因特网,接收设备104接收视频作为视频产品(例如,数字视频盘或者其他计算机可读介质)。接收设备106可以是,例如,计算机、手机或者电视。接收设备106包括解码器108,其用于对编码视频进行解码。接收设备106也包括显示器110,其用于显示解码视频。
如上所述,部分解码过程依赖于运动向量,在当编码器(例如,编码器104)不包括直接在编码视频的最终运动向量信息时的示例中,解码器(例如接收设备106中的解码器108)可以利用接收器侧的预测工具,其通常被称为接收器侧预测子细分工具或者解码器层预测子细分工具。接收器侧预测子细分工具的一个示例是基于模型的运动向量推导模式,其也被用作帧率上转换(Frame Rate Up-Conversion,FRUC)模式。例如,在名称为联合探索测试模型6(Joint Exploration Test Model 6,JEM 6)的算法描述的联合视频探索团队(Joint Video Exploration Team,JVET)的文檔JVET-F1001中描述了基于模型的运动向量推导,其在此处整体以引用方式并入本文。
解码器侧预测子细分工具的其他示例包括双向光流(optical flow,BIO)和解码器侧运动向量细分。例如,双向光流由第三届JCTVC会议和第52届VCEG会议中韩国三星公司(Samsung)提出,其在文件JCTVC-C204和文件VECG-AZ05中被公开。例如,参考ElenaAlshina and Alexander Alshin,Bi-Directional Optical Flow,October 7-15,2010(JCTVC-C204)(包括两个附上的微软Excel电子表格)和E.Alshina et al.,Known ToolsPerformance Investigation for Next Generation Video Coding,June 19-26,2015(VCEG-AZ05)(包括微软PowerPoint展示),这两个的内容整体以引用方式并入本文。双向光流采用假设光流和稳定运动以实现样本层运动细分。双向光流典型地被使用,以仅用于正确的双向预测块,其自两个参考帧中被预测,并且一个为先前帧(previous frame)而另一个为后续帧。在VECG-AZ05中,双向光流采用一个5x5窗口以推导出一个样本的运动细分,这样,对于一个NxN块,一个(N+4)x(N+4)块的运动补偿结果和相应的梯度信息被需要以推导出当前块的基于样本的运动细分。并且一个6-阶梯度滤波器和一个6-阶插值滤波器用于产生双向光流中的梯度信息。因此,双向光流的计算复杂度比传统的双向预测的计算复杂度高得多。对于额外的信息,参考D.Marpe,H.Schwarz,and T.Wiegand:Context-BasedAdaptive Binary Arithmetic Coding in the H.264/AVC Video CompressionStandard,IEEE Transactions on Circuits and Systems for Video Technology,Vol.13,No.7,pp.620-636,July 2003,其整体以引用方式并入本文。
例如,使用例如双边匹配合并模式或者模板匹配合并模式不同模式,基于模型的运动向量推导本身可以被执行。通常,解码器要使用的哪个模式被发信在编码视频中。这样编码器发信到解码器以使用基于模型的运动向量推导模式,并且也发信哪个具体的基于模型的运动向量推导模式。在一些示例中,当merge_flag或者skip_flag为真时,FRUC_mrg_flag被发信。如果FRUC_mrg_flag为1,则FRUC_mrg_flag被发信以指示双边匹配合并模式(例如,结合图2-图4被进一步描述)或者模板匹配合并模式(例如结合图5被进一步描述)是否被选择。
综上,两种基于模型的运动向量推导模式使用解码像素来推导出用于当前块的运动向量。通过扫描所有参考帧中的所有运动向量,称为时间推导运动向量预测(temporalderived MVP)的新的时间运动向量预测被推导出来。图像通常参考大量的帧(例如,一个图像包括16个帧)。这些参考帧被放入一个或者两个参考图像列表中。对于P切片,仅使用一个参考图像列表。对于B切片,使用两个参考图像列表。一般地,对于B切片,两个参考图像列表用于存储先前图像和未来图像,其通常用作先前图像的LIST_0和用于未来图像的LIST_1。
为了推导出LIST_0时间推导运动向量预测,对于LIST_0参考帧中的每个LIST_0运动向量,运动向量被缩放以指向当前帧。当前帧中缩放运动向量(scaled MV)所指向的块是目标当前块。运动向量被进一步缩放以指向用于目标当前块的LIST_0中refIdx等于0的参考图像。进一步缩放的运动向量被存储在用于目标当前块的LIST_0运动向量场(MV field)中。图2示出了推导出时间推导运动向量预测的示例200。解码器扫描refIdx等于1的LIST_0参考图像中所有LIST_0运动向量。对于LIST_0运动向量(如箭头202和箭头204所示),指向当前图像的缩放运动向量被推导出,以用于每个LIST_0运动向量(如参考图像201的虚线箭头206和虚线箭头208所示)。缩放运动向量中的每一个指向当前图像205中4x4块210和4x4块212。然后,另一缩放运动向量214和缩放运动向量216被分别分配到当前图像中指向的4x4块210和4x4块212,其中缩放运动向量214和缩放运动向量216沿着相关的缩放运动向量202和缩放运动向量204,但是起点是当前图像205而终点是LIST_0中refIdx等于0的参考图像218。解码器扫描所有参考图像中所有4x4块的所有运动向量,以产生当前帧的时间推导LIST_0运动向量预测和时间推导LIST_1运动向量预测。对于每个运动向量,运动向量被缩放以获得当前图像中的交叉块(crossed block)。随后,解码器计算缩放运动向量预测并将其分配给交叉块(如由虚线箭头206和虚线箭头208所指向的块所示)。
图3标出了基于模型的运动向量推导双边匹配合并模式的示例。对于双边匹配而言,解码器在位于相同轨迹的LIST_0和LIST_1中查找两个最相似参考块。如图3所示,对于当前图像(或者“cur pic”)300,解码器在来自于LIST_0的参考帧Ref0 304中选择一个宏块(或者“块”)302和在来自于LIST_1的参考帧Ref1 308中选择第二块306。解码器基本上假定运动是持续的,并使用两个宏块的中点来产生运动轨迹310。解码器使用运动轨迹310来在当前图像300中查找当前预测宏块(或者“当前预测块”)312。解码器计算块302和块306之间的差值。如果仅存在较小差,则解码器了解到这些块是相似的。在一些示例中,解码器可以计算绝对距离和(sum of absolute distance)(或者“SAD”)以计算这两个块之间的差值。解码器改变运动轨迹以使得块之间的差值最小。
解码器分别构造LIST_0和LIST_1中的起始运动向量列表。解码器使用11个列表的候选,包括7个运动向量的合并候选和4个时间推导运动向量预测(或者运动向量预测)。解码器评估这11个候选来选择最佳起点。具体地,解码器搜索穿过这两个相邻帧的对。当考虑到每个列表的候选时,解码器分析这22个运动向量以推导出22个运动向量对。解码器通过缩放运动轨迹来产生运动向量对。对于一个列表中的每个运动向量,通过包括这个运动向量和镜像运动向量(mirrored MV)来产生运动向量对,其中镜像运动向量通过缩放运动向量到另一列表而推导出。对于每个运动向量对,使用这个运动向量对来补偿两个参考块。图4示出了缩放运动轨迹的示例400。具体地,从当前图像到LIST_0中的ref1的运动轨迹402被缩放,如从当前图像到LIST_1中的参考帧ref0的运动轨迹404所示。解码器计算22个运动向量对中的每个的成本(例如,使用绝对距离和),并选择具有最小成本的运动向量对作为双边匹配合并模式的起点。
接下来,解码器细分所选择的运动向量对。解码器在起点周围搜索不同的块以确定哪个块是最佳匹配。在一些实施例中,当前预测单元(PU)被分割成多个子预测单元。子预测单元的深度被发信在序列参数集(sequence parameter set,SPS)中(例如,3)。在一些示例中,最小子预测单元尺寸为4x4块。对于每个子预测单元,LIST_0和LIST_1中的几个起始运动向量被选择,其包括如下运动向量:预测单元层推导运动向量、零运动向量、当前子预测单元和右下块的HEVC同位时间运动向量预测的运动向量,当前子预测单元的时间推导运动向量预测,以及预测单元/子预测单元左侧和预测单元/子预测单元上方的运动向量。通过在预测单元层搜索(PU-level searching)中使用相似机制,子预测单元的最佳运动向量对被选择。在一些示例中,解码器使用菱形搜索算法(Diamond Search algorithm)来搜索不同的块。随后,最终运动向量对用作预测单元层和子预测单元层最佳运动向量对。
总之,在一些示例中,首先,双边匹配合并模式使用运动向量列表,评估候选运动向量对以获得起始运动向量对,然后细分这个对以确定最终最佳运动向量对。
对于模板匹配合并模式,假设解码器解码当前块,解码器可以通过使用模板来使用相邻块,以找到最佳匹配。这样解码器可以使用相邻块来找到最佳匹配,然后使用最佳匹配运动向量。图5标出了用于模板匹配合并模式的示例技术。如图5所示,模板502包括来自于当前块504上方四行的重构像素和来自于当前块504左侧的四列的重构像素,以在对于当前图像508的参考帧Ref0 506中执行匹配。因此,不像双边匹配合并模式,模板匹配合并模式不使用两个参考帧–其仅使用一个参考帧。
与双边匹配合并模式相似,也使用两阶段匹配以用于模板匹配。在预测单元层匹配中,LIST_0和LIST_1中的11个起始运动向量被分别选择。这些运动向量包括来自于合并候选的7个运动向量和来自于时间推导运动向量预测的4个运动向量。两个不同的起始运动向量集(staring MV set)被生成已用于两个列表。对于一个列表中的每个运动向量,具有这个运动向量的范本的绝对距离和的成本被计算。具有最小成本的运动向量为最佳运动向量。然后菱形搜索被执行以细分运动向量。细分精度为1/8像素。细分搜索范围被限制在±8像素之内。最终运动向量为预测单元层推导运动向量。LIST_0和LIST_1中的运动向量被单独产生。
对于第二阶段,即子预测单元层搜索,当前预测单元被分割成多个子预测单元。子预测单元的深度被发信在序列参数集中(例如,3)。最小子预测单元尺寸为4x4块。对于位于左预测单元分界线或者顶部预测单元分界线,LIST_0和LIST_1中的几个起始运动向量被选择,其包括如下运动向量:预测单元层推导运动向量、零运动向量、当前子预测单元和右下块的HEVC同位时间运动向量预测的运动向量,当前子预测单元的时间推导运动向量预测,以及预测单元/子预测单元左侧和预测单元/子预测单元上方的运动向量。通过在预测单元层搜索中使用相似机制,子预测单元的最佳运动向量对被选择。菱形搜索被执行以细分运动向量对。用于此子预测单元的运动补偿被执行以产生用于此预测单元的预测子。对于这些不在左侧预测单元分界线或者顶部预测单元分界线处的预测单元,第二阶段,即子预测单元层搜索不被使用,并且相应的运动向量被设置成等于第一阶段中的运动向量。
图6示出了根据一些实施例的示例性的解码器架构600。熵解码器包括例如CABAC熵解码器或者CAVLC熵解码器,其解析来自于比特流的语法。ColMV DMA 610存储同位时间运动向量(collocated temporal MV)。运动向量调度(dispatch)612重构块的运动向量,并通过内存接口仲裁器(memory interface arbiter)616将内存获取指令发送到运动补偿(Motion Compensation,MC)高速缓存614和DRAM(未示出)中。逆变换618包括逆量化(inverse quantization,IQ)和逆转换(inverse transform,IT),其产生重构残差(reconstructed residual)620。预测块622生成帧间运动补偿预测子和帧内预测预测子。去块(Deblock)624用于降低块伪影(block artifact),Rec DMA 626将重构像素存储到外部DRAM。这个架构的示例性组件的具体细节被讨论在C.-T.Huang et al.,“A 249MPixel/sHEVC video-decoder chip for Quad Full HD applications,”Digest of TechnicalPapers IEEE International Solid-State Circuits Conference(ISSCC),pp.162-163,Feb.2013中,其在此处整体以引用方式并入本文。值得注意的是,为了使得本架构成为流水线,本架构被拆分成四个阶段:EC阶段602、逆量化和逆转换(inverse quantization andinverse transform,IQIT)/获取阶段604、重构阶段606和环路滤波器阶段608。在HEVC和H.264中,在EC阶段602(其包括解析)和重构阶段606中,最终运动向量可以被推导出。在一些实施方式中,解码器在解析阶段中推导出最终运动向量,并在解析阶段(EC阶段602)中预先获取所需的参考像素数据。这个可以被完成,例如,以降低/隐藏DRAM访问时间。
图7示出了根据一些实施例的在执行解码器架构时的解码器流水线执行700的示例,例如,如图6所述的解码器架构。图7包括解析阶段702,在这个阶段中运动向量如上述进行重构。逆量化/逆转换阶段704-1生成当前块的重构残差。参考像素获取阶段704-2自内存中获取参考像素。参考帧通常被存储在外部内存中,例如DRAM。这样,如果解码器想在参考帧上进行运动补偿,解码器首先需要访问外部内存以检索到参考数据。通常从外部内存中获取数据需要大量的延迟时间。帧内/运动补偿重构阶段706执行预测。去块/样本适应性调整偏移(Sample Adaptive Offset,SAO)阶段708执行环路滤波处理以提高解码帧的质量。
一般,解码器首先解码CU0,随后解码CU1等。以使用CU0为例,在t0处,解码器在包括重构运动向量的解析阶段702中解码CU0。随后,在t1处,CU0移动到逆量化/逆转换阶段704-1。为了在帧内/运动补偿重构阶段706中进行运动补偿,解码器需要在先前阶段中(即参考像素获取阶段704-2)进行预先获取。
在图7中可以看出,为了隐藏延时时间而获取来自于内存的数据(例如,这样其不会影响流水线执行),由于解码器需要在帧内/运动补偿重构阶段706中所执行的重构之前了解运动向量,数据在参考像素获取阶段704-2中被预先获取,并被存储到本地存储器(例如,SRAM或者缓存内存)中。例如,在MPEG-2/4、H.264/AVC和HEVC视频解码器中,运动向量可以在解析阶段被重构。根据重构运动向量,所需的参考像素可以自DRAM中获取,并被存储在本地存储器中,例如SRAM或者高速缓存内存。在帧内/运动补偿重构阶段706中,参考资料可以自本地储存器而被加载,无需延时周期。
但是,解码器侧预测子细分工具使用相邻块来推导出运动向量(例如,基于模型的运动向量推导,如模板匹配合并模式如何使用相邻块来推导出运动向量)。然而,范本块不被生成直到第三阶段(帧内/运动补偿重构阶段706)。例如,当使用基于模型的运动向量推导,基于模型的运动向量推导编码块的最终运动向量依赖于帧内/运动补偿重构阶段706中的基于模型的运动向量推导搜索处理,意味着运动向量不能在解析阶段702中被重构,并且因此在参考像素获取阶段704-2处预先获取资料是不可行的。
图8示出了在执行解码器侧的预测子细分工具时的解码器流水线执行的示例。例如,并使用基于模型的运动向量推导作为示例,在时间t2处,由于CU0的运动向量依赖于帧内/运动补偿重构阶段706中的基于模型的运动向量推导搜索处理(其也可以在t2处被执行),运动向量不能在CU01的解析阶段702(在时间t1处)中被重构,因此数据不能被预先获取以用于参考像素获取阶段704-2中的t2处的CU1。这个问题同样地影响到每个编码单元(CU)的处理,并因此最终导致每两个时序完成一个编码单元处理。例如,图8示出了用于t4和t5的一个编码单元处理,相比于图7,解码器仅完成处理CU1,其中CU1在t4处完成处理,CU2在t5处完成处理。
此处所公开的技术解决在解码器侧预测细分技术(例如基于模型的运动向量推导)用于解码时的这类数据预先获取问题。例如,这些技术允许数据以仍然隐藏延时周期的方式被预先获取,例如,如图7所示,而不是如图8所示的引起延时。尽管本领域技术人员可以领会到这些技术可以被用于其他解码器侧预测细分技术(例如,双向光流和解码器侧运动向量细分),为了便于说明,下面讨论将以基于模型的运动向量推导为例。
根据一些实施例,原始候选运动向量被保留在运动向量缓存器中以用于下一解码过程。在一些示例中,所选择的合并候选运动向量(例如,起始运动向量或者未细分运动向量)被存储回到运动向量缓存器中,使得解码器可以参考相邻块和同位块/同位图像。因此,根据一些示例,基于模型的运动向量推导块的运动补偿(例如,在帧内/运动补偿重构阶段706中被执行)使用基于模型的运动向量推导推导运动向量,但是所选择的合并候选运动向量被存储回到运动向量缓存器以用于未来参考。这可以允许,例如,运动向量在解析阶段702中被重构,并且参考像素可以在阶段704-2中被预先获取。如果当前块为基于模型的运动向量推导编码块,更大的参考块(例如,包括细分搜索范围)可以被预先获取。因此,在一些示例中,运动向量不被细分以用于当前块,但是解码器使用细分运动向量以用于补偿。
在一些示例中,解码器可以用于不改变运动向量缓存器中的运动向量。例如,解码器可以存储运动向量缓存器中的起点(例如,起始运动向量),并进行细分以生成细分运动向量,其仅用于生成运动补偿数据,而无需改变运动向量缓存器中的运动向量。用于未来参考(例如,合并候选列表生成和高级运动向量预测候选列表生成)的运动向量缓存器不被改变。
在一些示例中,解码器可以使用单独的缓存器以用于细分。例如,解码器可以检索到起始运动向量,运行基于模型的运动向量推导并执行细分,而无需在原始运动向量缓存器中存储已细分的运动向量–解码器在时间缓存器中存储细分运动向量。
在一些示例中,解码器可以发信用于基于模型的运动向量推导的起始候选(starting candidate)。例如,解码器可以发信起始候选索引,其用于从运动向量候选列表中选择起始运动向量。这个可以被完成,例如,使得解码器了解到11个候选中的哪个将用作基于模型的运动向量推导的起始候选。解码器可以首先生成11个起始候选,并且编码器可以发信给解码器以指示那个起始候选最佳。由于解码器了解到起始候选(例如,解码器可以执行细分,使用模板匹配和菱形搜索技术来细分位于起始候选周围的运动向量),这个发信可以允许,例如,解码器跳过模板匹配并进行到细化。当运动向量将被菱形搜索细分时,在本发明所提出的方法中,将仅存储起始候选,而非细分运动向量。
在一些示例中,对于基于模型的运动向量推导(例如,包括双边匹配合并模式和模板匹配合并模式),合并候选中的LIST_0运动向量和LIST_1运动向量用作起始运动向量。在一些示例中,通过搜索所有这些运动向量,最佳运动向量候选可以被隐性推导出。这可能需要大量的内存带宽。在本示例中,双边匹配合并模式或者模板匹配合并模式的合并索引被发信。发信的合并索引可以指示,例如,模板匹配合并模式中的LIST_0和LIST_1中的最佳起始运动向量,以及双边匹配合并模式中的两个最佳运动向量对(一个自LIST_0中推导出而另一个自LIST_1中推导出)。通过发信合并索引,模板匹配步骤可以被限制到,例如,发信的合并候选周围处的细分搜索。对于双边匹配,解码器可以执行成本估计以从这两个运动向量对中选择最佳运动向量对,并执行细分搜索。对于双边匹配,如果合并候选为单方向运动向量(uni-directional MV),其在另一列表中的相应的运动向量可以通过使用镜像运动向量(即缩放运动向量)来生成。在一些示例中,通过使用预定义的运动向量生成方法,已知LIST_0中的起始运动向量、LIST_1中的起始运动向量和/或运动向量对。LIST_0和/或LIST_1中的最佳起始运动向量或者最佳运动向量对被显性发信以降低带宽要求。
在一些示例中,当一个合并索引被发信时,解码器可以进一步使用所选择的运动向量以在第一阶段(即预测单元层匹配)排除或者选择一些候选。例如,解码器可以在候选列表中排除一些运动向量,这些运动向量远离所选择的运动向量。又例如,解码器可以在候选列表中挑选N个运动向量,这N个运动向量最靠近所选择的运动向量但位于不同参考帧中。
在一些示例中,如果起始候选索引被发信以用于双边匹配合并模式,起始运动向量候选可以是运动向量对(一个运动向量用于LIST_0而另一个用于LIST_1)。两个运动向量对自起始运动向量对中推导出(例如,一个自LIST_0运动向量中推导出而另一个自LIST_1运动向量推导出)。解码器可以用于测试LIST_0运动向量对和LIST_1运动向量对,但是仅存储一个运动向量对。在一些实施例中,解码器可以用于总是存储LIST_0运动向量对或者LIST_1运动向量对。例如,如果所选择的合并候选运动向量(或者所述起始候选运动向量)为双向预测运动向量(bi-predicted MV),则所存储的LIST_0运动向量为合并候选运动向量的LIST_0运动向量,且所存储的LIST_1运动向量为LIST_0运动向量的镜像运动向量。解码器可以评估两个列表中的运动向量对,但仅LIST_0运动向量及其镜像运动向量被存储回去。又例如,所存储的LIST_1运动向量位合并候选运动向量的LIST_1运动向量,且所存储的LIST_0运动向量为LIST_1运动向量的镜像运动向量。
在一些示例中,解码器可以用于存储具有最小δ的图像顺序计数(picture ordercount,POC)的LIST_0运动向量对或者LIST_1运动向量对中的一个。例如,如果LIST_0参考图像与当前图像之间的图像顺序计数差值小于(或者等于)LIST_1参考图像与当前图像之间的图像顺序计数差值,则所存储的LIST_0运动向量为合并候选运动向量的LIST_0运动向量,且所存储的LIST_1运动向量为LIST_0运动向量的镜像运动向量。否则,所述存储的LIST_1运动向量为合并候选运动向量的LIST_1运动向量,且所存储的LIST_0运动向量为LIST_1运动向量的镜像运动向量。
如果所选择的合并候选运动向量为单预测(uni-predicted)LIST_0运动向量,则所存储的LIST_0运动向量为合并候选运动向量的LIST_0运动向量,且所存储的LIST_1运动向量为LIST_0运动向量的镜像运动向量。如果所选择的合并候选运动向量为单预测LIST_1运动向量,则所存储的LIST_1运动向量为合并候选运动向量的LIST_1运动向量,且所存储的LIST_0运动向量为LIST_1运动向量的镜像运动向量。
在一些示例中,当使用双边匹配模式时,解码器可以用于仅测试LIST_0运动向量对或者LIST_1运动向量对中的一个。例如,如果所选择的合并候选运动向量为双向预测运动向量,则解码器可以用于仅评估LIST_0运动向量对。基于模型的运动向量推导起始LIST_0运动向量为所选择的合并候选LIST_0运动向量,且LIST_1运动向量为镜像LIST_0运动向量。在本示例中,在基于模型的运动向量推导中,原始LIST_1运动向量不被评估。又例如,当使用双边匹配模式且所选择的合并候选运动向量为双向预测运动向量时,解码器可以用于仅使用LIST_1运动向量对。基于模型的运动向量推导起始LIST_1运动向量为所选择的合并候选LIST_1运动向量,且LIST_0运动向量对为镜像LIST_1运动向量。在一些示例中,当使用双边匹配模式且所选择的合并候选运动向量为双向预测运动向量时,解码器可以用于仅使用具有更小图像顺序计数的参考图像的列表(LIST)的运动向量对。例如,如果LIST_0参考图像与当前图像之间的图像顺序计数差值小于(或者等于)LIST_1参考图像与当前图像之间的图像顺序计数差值,则使用LIST_1中的LIST_0运动向量及其镜像运动向量。否则,使用LIST_0中的LIST_1运动向量及其镜像运动向量。
在一些实施例中,为了在解析阶段中推导出重构运动向量,解码器可以用于不参考基于模型的运动向量推导编码块的运动向量。例如,在合并候选推导中,解码器可以处理基于模型的运动向量推导编码块,例如,作为不可用的块或者帧内编码块。基于模型的运动向量推导推导运动向量在合并候选推导和高级运动向量预测候选推导中不可用。运动向量重构独立于基于模型的运动向量推导。运动向量可以在解析阶段中被重构。
在基于模型的运动向量推导运动向量搜索中,运动向量搜索方法可以被预定义(例如三步骤菱形搜索)。例如,对于菱形搜索,第一步骤菱形搜索的步骤尺寸为一个像素的一半(即二分之一像素)。第二步骤交叉搜索的步骤尺寸为一个像素的四分之一(即四分之一像素)。第三步骤交叉搜索的步骤尺寸为一个像素的1/8(即1/8像素)。在一些示例中,(a)起始运动向量和(b)粗纹理运动向量差值被发信。运动向量差值可以为第一步骤菱形搜索的细分位置索引,和/或传统的运动向量差值。运动向量差值单元可以为1/16像素、1/8像素、1/4像素、1/2像素、1像素、2像素或者任何预定义单元。所选择的合并索引的运动向量加上发信的运动向量差值(或者细分位置的运动向量)可以用作基于模型的运动向量推导起始运动向量,其被存储在运动向量缓存器中以用于合并候选推导参考和高级运动向量预测候选推导参考。在一些示例中,对于编码器和/或解码器,基于模型的运动向量推导搜索可以自基于模型的运动向量推导的起始运动向量而起始。最终基于模型的运动向量推导推导运动向量仅用于运动补偿。基于模型的运动向量推导编码块的起始运动向量可以在解析阶段中被重构。
在一些示例中,仅一个运动向量差值和/或仅一个运动向量差值细分位置索引被发信。如果合并候选为双预测候选,则运动向量差值仅被增加到LIST_0或者LIST_1上。对于双边匹配合并模式,如果运动向量差值被增加到LIST_0上,则LIST_1起始运动向量可以为LIST_0起始运动向量的镜像运动向量。
在一些示例中,在解码器处的搜索处理中,粗纹理运动向量差值不被编码但被推导出。例如,可以将搜索处理划分成三个阶段,第一步骤菱形搜索,第二步骤交叉搜索和第三步骤交叉搜索。粗纹理运动向量差值可以为第一步骤菱形搜索或者第二步骤交叉搜索中的搜索处理的结果。
在高级运动向量预测模式中,运动向量预测和运动向量差值被发信以用于预测单元。在一些示例中,系统可以用于将基于模型的运动向量推导应用到高级运动向量预测熵。例如,额外的标志可以被发信以用于高级运动向量预测预测单元,以指示是否使用基于模型的运动向量推导。基于模型的运动向量推导起始于先进运动向量预测模式的运动向量的发信,例如,使得起始运动向量由高级运动向量预测模式(而不是候选列表)来发信。基于模型的运动向量推导细分范围可以被限制成小于运动向量差值的单元/粒度(granularity)。在一些示例中,如果使用基于模型的运动向量推导,则运动向量差值处于比常规高级运动向量预测模式更粗的粒度。例如,运动向量差值粒度被改变成二分之一像素或者整数像素。基于模型的运动向量推导细分范围被限制成比+-1/2像素或者+-1像素更小。在一些示例中,基于模型的运动向量推导标志可以被发信在编码单元层、编码树单元层、一些预定义区域(area)层、切片层、图像层或者序列层中。如果基于模型的运动向量推导标志被发信在编码树单元层且该标志为真,则将基于模型的运动向量推导应用到编码树单元中的所有高级运动向量预测模式编码预测单元上。对于预定义区域层,基于模型的运动向量推导标志被发信以用于比预定义区域更大或者相等的编码单元/预测单元。这个标志也可以被共享以用于比预定义区域更小的编码单元/预测单元。
为了解决预先获取问题,基于模型的运动向量推导推导运动向量可以仅用于运动补偿。发信的运动向量(即运动向量预测+运动向量差值)可以被存储在运动向量缓存器中以用于参考。
在HEVC中,图像被分割成编码树单元,其为HEVC的基础处理单元。编码树单元以光栅扫描顺序被编码。在流水线解码器架构中,由于行已被处理,上层编码树单元行的大部分信息在解析阶段中可用(例如,包括运动向量信息)。在一些示例中,由于在解析阶段中信息可用,来自于上层编码树单元行的编码树单元中的解码器侧推导运动向量可以被参考(或者被使用),例如,以用于合并候选列表的生成和高级运动向量预测列表的生成。尽管在当前编码树单元行中的解码器侧推导运动向量由于不可用不能被使用,但是解码器可以在这些编码树单元中使用推导运动向量(derived MV)。
因此,在一些实施例中,编码树单元行约束可以与本文所描述的技术一起使用,使得在上层编码树单元行中的基于模型的运动向量推导而得到的运动向量可以被参考(例如,当不参考基于模型的运动向量推导编码块的运动向量时),或者可以被使用(例如,当存储合并候选运动向量,存储合并候选运动向量和镜像运动向量,发送用于基于模型的运动向量推导和双边镜像运动向量的合并索引(并仅评估一个运动向量),发信合并索引和粗纹理运动向量差值和/或高级运动向量预测模式和基于模型的运动向量推导时)。
例如,考虑到本文描述的关于在存储合并候选运动向量,存储合并候选运动向量和镜像运动向量,以及发送用于基于模型的运动向量推导和双边镜像运动向量的合并索引(并仅评估一个运动向量)时的技术。当参考当前编码树单元行中的基于模型的运动向量推导编码块时,所选择的合并候选运动向量可以用于合并候选推导和高级运动向量预测候选推导。当参考上层编码树单元行中的基于模型的运动向量推导编码块时,最终基于模型的运动向量推导推导运动向量可以被使用。
又例如,考虑到本文描述的关于不参考基于模型的运动向量推导编码块的运动向量的技术。当参考当前编码树单元行中的基于模型的运动向量推导编码块时,运动向量对合并候选推导和高级运动向量预测候选推导而言不可用。当参考上层编码树单元行中的基于模型的运动向量推导编码块时,最终基于模型的运动向量推导推导运动向量可以被使用。
编码树单元行约束可以改变成编码树单元约束或者任何预定义约束或推导区域约束。例如,当不参考基于模型的运动向量推导编码块的运动向量时,如果使用编码树单元约束,则在当前编码树单元中的基于模型的运动向量推导编码块的运动向量不可用,而在不同编码树单元中的基于模型的运动向量推导编码块的运动向量可用。
根据本文描述的原理的技术操作可以以任何适当的方式来实现。上面的流程图的处理块和决策块表示被包含执行这些不同处理的算法中的步骤和行为。自这些处理中推导出的算法可以以集成有并指导一个或多个单目的或多目的的处理器的操作的软件来实现,可以以例如数字信号处理(Digital Signal Processing,DSP)电路或应用专用集成电路(Application-Specific Integrated Circuit,ASIC)的功能等效电路来实现,或可以以任何其他适当的方式来实现。应该理解的是,此处所包含的流程图不描述任何特定电路或任何特定程序设计语言或程序设计语言类型的语法或操作。相反,流程图示出了本领域技术人员可以使用的功能信息,以制造电路或实现计算机软件算法来执行进行本文所描述的技术类型的特定装置的处理。还应该理解的是,除非在此另有说明,在每个流程图中描述的步骤和/或行为的特定顺序仅是对可以实现的算法的说明,并且可以在本文所描述的原理的实施方式和实施例中被改变。
因此,在一些实施例中,本文所描述的技术可以在作为软件而实现的计算机可执行指令中被实施,包括应用软件、系统软件、固件、中间件、嵌入式代码或任何其他合适类型的计算机代码。通过使用大量合适的程序设计语言和/或程序设计工具或脚本工具的任何一种,这种计算机可执行指令可以被编写,也可以被编译为可执行的机器语言代码或在框架或虚拟机上执行的中间代码。
当本文所描述的技术被实施为计算机可执行指令时,根据这些技术,这些计算机可执行指令可以以任何合适的方式来实现,包括作为若干功能设施,每一个提供一个或多个操作来完成算法操作的执行。然而被实例化,当由一个或多个计算机来集成和执行时,一个“功能设施”,是一个计算机系统的结构组件,使一个或多个计算机执行特定的操作角色。功能设施可以是整个软件元素的一部分。例如,功能设施可以作为处理的功能来实现,或作为离散处理,或作为任何其他合适的处理单元来实现。如果此处描述的技术以多个功能设施来实现,则每个功能设施可以以自己的方式来实现;所有这些功能设施不需要以相同的方式来实现。此外,可以并行地和/或串行地执行这些功能设施,并且通过使用消息传递协议或以任何其他合适的方式,这些功能设施可以通过使用正在执行的计算机上的共享内存来彼此传递信息。
一般来说,功能设施包括执行特定任务或实施特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,功能设施的功能可以按其操作的系统的要求组合或分发。在一些实施方式中,执行本文中技术的一个或多个功能设施可以一起形成一个完整的软件包。在替代实施例中,这些功能设施可适于与其他无关功能设施和/或处理进行交互,以实现软件程序应用。
本文已描述了一些示例性功能设施以用于执行一个或多个任务。但是,应该理解的是,所描述的功能设施和任务划分仅仅是说明实现本文所描述的示例性技术的功能设施类型,并且实施例不限于以任何特定数量、划分或功能设施类型来实现。在一些实施方式中,所有功能可以在单个功能设施中实现。还应该理解的是,在一些实施方式中,此处所描述的一些功能设施可以与其他一起实现或与单独实现(即作为单个单元或单独单元),或者一些功能设施可以不实现。
在一些实施例中,实现本文所描述的技术计算机可执行指令(当作为一个或多个功能设施或以任何其他方式来实现时)被编码在一个或多个计算机可读介质上,以将功能提供给介质。计算机可读介质包括如硬盘驱动器的磁介质,如光盘(Compact Disk,CD)或数字通用光盘(Digital Versatile Disk,DVD),持续或非持续的固态内存(如Flash内存,磁随机存取内存等),或任何其他合适的存储介质。这样的计算机可读介质可以以任何合适的方式来实现。如本文所使用,“计算机可读介质”(也称为“计算机可读存储介质”)指的是有形(tangible)存储介质。有形存储介质是非暂时的,并且具有至少一个物理的、结构的组件。在本文中所使用的“计算机可读介质”中,至少一个物理结构构件具有至少一个物理属性,在创建具有实施信息的介质的过程中,在其上记录信息的过程中,或在编码具有信息的介质的任何其它过程中,其可以以某种方式被改变。例如,在记录过程中,可以改变计算机可读介质的物理结构的一部分的磁化状态。
此外,上面描述的一些技术包括以某种方式存储信息(例如,数据和/或指令)以用于这些技术的行为。在这些技术的一些实施方式中—例如技术被实现为计算机可执行指令的实施方式—信息可在计算机可读存储介质上编码。如果本文描述的特定结构是用于存储该信息的有利格式,这些结构可用于传授在存储介质上编码时的信息的物理结构。然后,这些有利结构可以通过影响与该信息交互的一个或多个处理器的操作来将功能提供到存储介质;例如,通过提高由处理器执行的计算机操作的效率。
在技术被实施为计算机可执行指令的一些但非所有实施方式中,这些指令可以在以任何合适的计算机系统而操作的一个或多个合适的计算设备上执行,或一个或多个计算设备(或一个或多个计算设备的一个或多个处理器)可以被程序设计以执行计算机可执行指令。当指令以访问一个计算设备或者处理器的方式被存储在计算设备或处理器时,一个计算设备或处理器可被程序设计以执行指令,例如在数据存储中(例如,一个片上高速缓存或指令寄存器、通过总线可以访问的计算机可读存储介质、通过一个或多个网络可访问且由设备/处理器可访问的计算机可读存储介质等)。包括这些计算机可执行指令的功能设施可集成有和指导单个的多目的可程序设计数字计算设备的操作,共享处理能力和共同执行本文所描述的技术的两个或更多的多目的计算设备的协调系统,单个计算设备或专用于执行本文所描述的技术计算设备的协调系统(同一位置或地理分布),实施本文所描述的技术的一个或多个现场可程序设计门阵列(Field-Programmable Gate Array,FPGA),或者任何其他合适的系统。
计算设备可以包括至少一个处理器、网络适配器和计算机可读存储介质。例如,计算设备可以是桌面计算机或笔记本电脑、个人数字助理(personal digital assistant,PDA)、智能手机、服务器或任何其他合适的计算设备。网络适配器可以是任何合适的硬件和/或软件,以使得计算设备能够通过任何合适的计算网络与任何其他合适的计算设备进行有线和/或无线通信。计算机网络可以包括无线接入点、交换机、路由器、网关和/其他网络设备,以及任何合适的有线和/或无线通信介质或者媒体以用于交换两个或者多个计算机之间的数据,包括因特网。计算机可读介质可适于存储待处理的数据和/或由处理器待执行的指令。数据和指令可以被存储在计算机可读存储介质上。
计算设备还可以具有一个或多个组件和外围设备,包括输入设备和输出设备。除其他外,这些设备可用于呈现用户接口。可用于提供用户接口的输出设备的示例包括用于直观显示输出的打印机或显示屏幕,和扬声器或者听觉显示输出的其它声音产生设备。可用于用户接口的输入设备的示例包括键盘和指向设备,例如鼠标、触摸盘和数字化平板。又例如,计算设备可以通过语音识别或其他可听觉格式接收输入信息。
实施例已经被描述了,其中以电路和/或计算机可执行指令来实现这些技术。应该理解的是,一些实施例可以是一种方法的形式,其中提供了至少一个示例。作为方法的一部分执行的行为可以以任何适当的方式进行排序。因此,这些实施例可以以不同于所示出的顺序来执行行为的方式而被构造,即使如示出的实施例中作为顺序的行为所示,其可以包括同时执行某些行为。
以上所描述的实施例的各个方面可以被单独使用、组合、或在上述的实施例中没有具体讨论的各种排列,并且因此不限制其应用到上述说明或附图中的组件的具体细节和排列。例如,在一个实施例中所描述的方面可以以任何方式与其他实施例中所描述的方面结合。
在权利要求中中以修改权利要求中元素的例如“第一”“第二,”“第三”等的顺序术语的使用本身意味着任何优先级,先后性,或者以一个权利要求中元素在另一个之上的顺序或者方法的行为被执行的时间顺序,但仅用于作标记以将具有相同名称的一个权利要求中元素与具有相同名称的另一个元素进行区分(但是对于顺序术语的使用),进而区分权利要求中元素。
此外,本文所使用的措辞和术语是为了描述的目的,而不应被视为限制性的。本文所使用“包括”、“包含”、“具有”、“包含”、“涉及”即其变形用于围绕其后所列出的项目及其等效,以及额外的项目。
本文所使用的“示例性”一词是指作为示例、实例或说明。因此,除非另有说明,本文中所描述的任何实施例、实施方式、处理、特征等都应该被理解为一个说明性的示例,并且不应理解为优选的或有利的示例。
在已经描述了至少一个实施例的几个方面之后,应将理解的是,对于本领域本领域技术人员来说,将容易发生各种改变、修改和改进。这种改变、修改和改进将是本发明的一部分,并且在本文所描述的原理的精神和范围内。因此,上述描述和附图仅以示例的方式进行。

Claims (19)

1.一种解码方法,用于解码视频数据,其特征在于,该方法包括:
接收与一组帧相关的压缩视频数据;以及
使用解码器侧预测子细分技术,计算用于来自于该组帧的当前帧的新运动向量,其中基于一个或者多个参考帧,该新运动向量评估用于该当前帧的运动,包括:
自运动向量缓存器中检索出与不同帧相关的已有运动向量;以及
基于该已有运动向量,使用解码器侧运动向量预测技术计算该新运动向量,以使得在计算该新运动向量之后该已有运动向量处于该运动向量缓存器中。
2.如权利要求1所述的解码方法,其特征在于,
该新运动向量为细分运动向量;以及
计算的步骤包括:
在第一步骤中将该新运动向量存储到该运动向量缓存器中;以及
将该已有运动向量存储回到该运动向量缓存器中。
3.如权利要求1所述的解码方法,其特征在于,
该新运动向量为细分运动向量;以及
计算的步骤包括将该新运动向量存储到第二运动向量缓存器中,以使得该已有运动向量保留在该运动向量缓存器中。
4.如权利要求1所述的解码方法,其特征在于,包括:
确定来自于一个或者多个上层编码树单元行的数据可用;以及
计算的步骤包括检索出用于相邻块集的多个运动向量,以用于来自于该相邻块集的一个或者多个相邻块,包括:
确定该相邻块是位于该一个上层编码树单元行中还是多个上层编码树单元行中;以及
检索出与该相邻块相关的一个或者多个新运动向量。
5.如权利要求1所述的解码方法,其特征在于,计算的步骤包括:
测试自第一组参考帧和第二组参考帧中推导的一个或者多个运动向量对;以及
仅存储与该第一组参考帧和该第二组参考帧相关的该运动向量对中的一个。
6.如权利要求1所述的解码方法,其特征在于,计算的步骤包括:
测试自第一组参考帧或者第二组参考帧中的一个推导的一个或者多个运动向量对。
7.如权利要求1所述的解码方法,其特征在于,进一步包括:
接收指示用于起始运动向量候选列表的起始候选索引的信号;以及
使用该接收的信号以计算该新运动向量。
8.如权利要求1所述的解码方法,其特征在于,进一步包括:
接收指示用于起始运动向量候选列表和粗纹理运动向量差值中至少一个的起始候选索引的信号;以及
使用该接收的信号以计算该新运动向量。
9.如权利要求1所述的解码方法,其特征在于,进一步包括:
接收来自于高级运动向量预测且指示该起始运动向量的信号;以及
使用该接收的信号以计算该新运动向量。
10.一种解码视频数据的装置,其特征在于,该装置包括与内存通信的处理器,该处理器用于执行存储在该内存中的多个指令,使得该处理器用于:
接收与一组帧相关的压缩视频数据;以及
使用解码器侧预测子细分技术,计算用于来自于该组帧的当前帧的新运动向量,其中基于一个或者多个参考帧,该新运动向量评估用于该当前帧的运动,包括:
自运动向量缓存器中检索出与不同帧相关的已有运动向量;以及
基于该已有运动向量,使用解码器侧运动向量预测技术计算该新运动向量,以使得在计算该新运动向量之后该已有运动向量处于该运动向量缓存器中。
11.如权利要求10所述的解码视频数据的装置,其特征在于,
该新运动向量为细分运动向量;以及
计算的步骤包括:
在第一步骤中将该新运动向量存储到该运动向量缓存器中;以及
将该已有运动向量存储回到该运动向量缓存器中。
12.如权利要求10所述的解码视频数据的装置,其特征在于,
该新运动向量为细分运动向量;以及
计算的步骤包括将该新运动向量存储到第二运动向量缓存器中,以使得该已有运动向量保留在该运动向量缓存器中。
13.如权利要求10所述的解码视频数据的装置,其特征在于,
该多个指令进一步使得该处理器用于:
确定来自于一个或者多个上层编码树单元行的数据可用;以及
计算的步骤包括检索出用于相邻块集的多个运动向量,以用于来自于该相邻块集的一个或者多个相邻块,包括:
确定该相邻块是位于该一个上层编码树单元行中还是多个上层编码树单元行中;以及
检索出与该相邻块相关的一个或者多个新运动向量。
14.如权利要求10所述的解码视频数据的装置,其特征在于,计算的步骤包括:
测试自第一组参考帧和第二组参考帧中推导的一个或者多个运动向量对;以及
仅存储与该第一组参考帧和该第二组参考帧相关的该运动向量对中的一个。
15.如权利要求10所述的解码视频数据的装置,其特征在于,计算的步骤包括:
测试自第一组参考帧或者第二组参考帧中的一个推导的一个或者多个运动向量对。
16.如权利要求10所述的解码视频数据的装置,其特征在于,
该多个指令进一步使得该处理器用于:
接收指示用于起始运动向量候选列表的起始候选索引的信号;以及
使用该接收的信号以计算该新运动向量。
17.如权利要求10所述的解码视频数据的装置,其特征在于,
该多个指令进一步使得该处理器用于:
接收指示用于起始运动向量候选列表和粗纹理运动向量差值中至少一个的起始候选索引的信号;以及
使用该接收的信号以计算该新运动向量。
18.如权利要求10所述的解码视频数据的装置,其特征在于,
该多个指令进一步使得该处理器用于:
接收来自于高级运动向量预测且指示该起始运动向量的信号;以及
使用该接收的信号以计算该新运动向量。
19.至少一种非暂时计算机可读存储介质,其特征在于,用多个计算机可执行指令而编码,当该多个计算可执行指令被执行时,实现一种方法,该方法包括:
接收与一组帧相关的压缩视频数据;以及
使用解码器侧预测子细分技术,计算用于来自于该组帧的当前帧的新运动向量,其中基于一个或者多个参考帧,该新运动向量评估用于该当前帧的运动,包括:
自运动向量缓存器中检索出与不同帧相关的已有运动向量;以及
基于该已有运动向量,使用解码器侧运动向量预测技术计算该新运动向量,以使得在计算该新运动向量之后该已有运动向量处于该运动向量缓存器中。
CN201780047558.7A 2016-08-08 2017-08-08 用于视频编解码的基于模型的运动向量推导 Active CN109565590B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662371879P 2016-08-08 2016-08-08
US62/371,879 2016-08-08
US15/670,109 US11638027B2 (en) 2016-08-08 2017-08-07 Pattern-based motion vector derivation for video coding
US15/670,109 2017-08-07
PCT/CN2017/096382 WO2018028559A1 (en) 2016-08-08 2017-08-08 Pattern-based motion vector derivation for video coding

Publications (2)

Publication Number Publication Date
CN109565590A true CN109565590A (zh) 2019-04-02
CN109565590B CN109565590B (zh) 2021-05-07

Family

ID=61070173

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780047558.7A Active CN109565590B (zh) 2016-08-08 2017-08-08 用于视频编解码的基于模型的运动向量推导

Country Status (4)

Country Link
US (2) US11638027B2 (zh)
CN (1) CN109565590B (zh)
TW (1) TWI669953B (zh)
WO (1) WO2018028559A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113660495A (zh) * 2021-08-11 2021-11-16 易谷网络科技股份有限公司 实时视频流压缩方法、装置、电子设备以及存储介质
CN114257756A (zh) * 2020-09-25 2022-03-29 瑞昱半导体股份有限公司 校正移动向量的视频处理方法

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117528111A (zh) * 2016-11-28 2024-02-06 英迪股份有限公司 图像编码方法、图像解码方法及用于传送比特流的方法
US20180192071A1 (en) * 2017-01-05 2018-07-05 Mediatek Inc. Decoder-side motion vector restoration for video coding
US20180199057A1 (en) * 2017-01-12 2018-07-12 Mediatek Inc. Method and Apparatus of Candidate Skipping for Predictor Refinement in Video Coding
WO2018212111A1 (ja) 2017-05-19 2018-11-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
CN117615153A (zh) * 2017-08-29 2024-02-27 株式会社Kt 视频解码和编码方法及用于存储压缩视频数据的装置
US10785494B2 (en) 2017-10-11 2020-09-22 Qualcomm Incorporated Low-complexity design for FRUC
US10798402B2 (en) * 2017-10-24 2020-10-06 Google Llc Same frame motion estimation and compensation
CN111771377A (zh) * 2018-01-30 2020-10-13 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法和解码方法
US11563970B2 (en) * 2018-02-26 2023-01-24 Interdigital Vc Holdings, Inc. Method and apparatus for generalized OBMC
US10779002B2 (en) * 2018-04-17 2020-09-15 Qualcomm Incorporated Limitation of the MVP derivation based on decoder-side motion vector derivation
US20210120262A1 (en) * 2018-04-18 2021-04-22 Mediatek Inc. Candidate Reorganizing with Advanced Control in Video Coding
CN112088532A (zh) * 2018-05-07 2020-12-15 交互数字Vc控股公司 编码/解码中的数据依赖性
EP3591974A1 (en) * 2018-07-02 2020-01-08 InterDigital VC Holdings, Inc. Data dependency in encoding/decoding
WO2019216325A1 (en) * 2018-05-09 2019-11-14 Sharp Kabushiki Kaisha Systems and methods for performing motion vector prediction using a derived set of motion vectors
CN115866272A (zh) * 2018-05-16 2023-03-28 华为技术有限公司 一种视频编解码方法和装置
CN112204979A (zh) * 2018-05-28 2021-01-08 交互数字Vc控股公司 译码/解码中的数据依赖性
US10469869B1 (en) 2018-06-01 2019-11-05 Tencent America LLC Method and apparatus for video coding
US10798407B2 (en) * 2018-06-01 2020-10-06 Tencent America LLC Methods and apparatus for inter prediction with a reduced above line buffer in video coding
WO2019234673A1 (en) 2018-06-07 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Chroma dmvr
US10863190B2 (en) * 2018-06-14 2020-12-08 Tencent America LLC Techniques for memory bandwidth optimization in bi-predicted motion vector refinement
US11647222B2 (en) 2018-06-18 2023-05-09 Industry Academy Cooperation Foundation Of Sejong University Method and apparatus for encoding/decoding image
US10965951B2 (en) 2018-06-22 2021-03-30 Avago Technologies International Sales Pte. Limited Memory latency management for decoder-side motion refinement
US11546628B2 (en) * 2018-06-27 2023-01-03 Vid Scale, Inc. Methods and apparatus for reducing the coding latency of decoder-side motion refinement
JP7460617B2 (ja) 2018-06-29 2024-04-02 北京字節跳動網絡技術有限公司 Lut更新条件
BR112020024142A2 (pt) 2018-06-29 2021-03-02 Beijing Bytedance Network Technology Co., Ltd. método para processamento de vídeo, aparelho para codificação de dados de vídeo, meio de armazenamento e meio de gravação legíveis por computador não transitório
CN114900694A (zh) 2018-06-29 2022-08-12 抖音视界(北京)有限公司 哪个查找表需要更新或不更新
EP3794825A1 (en) 2018-06-29 2021-03-24 Beijing Bytedance Network Technology Co. Ltd. Update of look up table: fifo, constrained fifo
EP3791586A1 (en) 2018-06-29 2021-03-17 Beijing Bytedance Network Technology Co. Ltd. Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks
TWI719525B (zh) 2018-06-29 2021-02-21 大陸商北京字節跳動網絡技術有限公司 Lut與amvp之間的交互
WO2020003282A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Managing motion vector predictors for video coding
EP4322533A3 (en) 2018-06-29 2024-03-06 Beijing Bytedance Network Technology Co., Ltd. Checking order of motion candidates in lut
US10638153B2 (en) 2018-07-02 2020-04-28 Tencent America LLC For decoder side MV derivation and refinement
TWI719519B (zh) * 2018-07-02 2021-02-21 大陸商北京字節跳動網絡技術有限公司 對於dmvr的塊尺寸限制
TWI748202B (zh) 2018-07-02 2021-12-01 大陸商北京字節跳動網絡技術有限公司 Lamvr中取整和修剪的順序
CN117241039A (zh) * 2018-08-28 2023-12-15 华为技术有限公司 帧间预测方法、装置以及视频编码器和视频解码器
CN110876059B (zh) 2018-09-03 2022-06-10 华为技术有限公司 运动矢量的获取方法、装置、计算机设备及存储介质
CN111064961B (zh) 2018-09-12 2023-06-09 北京字节跳动网络技术有限公司 视频处理方法和装置
CA3111679C (en) * 2018-09-19 2023-10-03 Huawei Technologies Co., Ltd. Method for skipping refinement based on patch similarity in bilinear interpolation based decoder-side motion vector refinement
US11212550B2 (en) * 2018-09-21 2021-12-28 Qualcomm Incorporated History-based motion vector prediction for affine mode
WO2020058955A1 (en) 2018-09-23 2020-03-26 Beijing Bytedance Network Technology Co., Ltd. Multiple-hypothesis affine mode
WO2020084470A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Storage of motion parameters with clipping for affine mode
CN111083489B (zh) 2018-10-22 2024-05-14 北京字节跳动网络技术有限公司 多次迭代运动矢量细化
CN111083484A (zh) 2018-10-22 2020-04-28 北京字节跳动网络技术有限公司 基于子块的预测
CN111436228A (zh) 2018-11-12 2020-07-21 北京字节跳动网络技术有限公司 组合帧间-帧内预测的简化
WO2020103872A1 (en) * 2018-11-20 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Prediction refinement for combined inter intra prediction mode
WO2020103852A1 (en) 2018-11-20 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Difference calculation based on patial position
WO2020103944A1 (en) 2018-11-22 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Sub-block based motion candidate selection and signaling
US11146810B2 (en) * 2018-11-27 2021-10-12 Qualcomm Incorporated Decoder-side motion vector refinement
EP3900343A1 (en) * 2018-12-21 2021-10-27 VID SCALE, Inc. Symmetric motion vector difference coding
WO2020143741A1 (en) * 2019-01-10 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Invoke of lut updating
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
CN113302937A (zh) 2019-01-16 2021-08-24 北京字节跳动网络技术有限公司 运动候选推导
JP7263529B2 (ja) * 2019-02-14 2023-04-24 北京字節跳動網絡技術有限公司 デコーダ側精緻化ツールのサイズ選択アプリケーション
JP7425079B2 (ja) * 2019-02-24 2024-01-30 エルジー エレクトロニクス インコーポレイティド Dmvr基盤のインター予測方法及び装置
US11025948B2 (en) * 2019-02-28 2021-06-01 Tencent America LLC Method and apparatus for motion prediction in video coding
CN113545076A (zh) 2019-03-03 2021-10-22 北京字节跳动网络技术有限公司 基于图片头中的信息启用bio
WO2020177755A1 (en) 2019-03-06 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Usage of converted uni-prediction candidate
EP3922028A4 (en) 2019-03-08 2022-08-10 Beijing Dajia Internet Information Technology Co., Ltd. BIDIRECTIONAL OPTICAL FLOW AND DECODER-SIDE MOTION VECTOR REFINEMENT FOR VIDEO ENCODING
CN112954362A (zh) * 2019-03-08 2021-06-11 Jvc建伍株式会社 动图像编码装置和方法、以及动图像解码装置和方法
CN113597759B (zh) * 2019-03-11 2022-09-13 北京字节跳动网络技术有限公司 视频编解码中的运动矢量细化
HUE062990T2 (hu) 2019-03-12 2023-12-28 Lg Electronics Inc DMVR és BDOF alapú inter predikciós eljárás és készülék
WO2020192611A1 (en) 2019-03-22 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
WO2020200269A1 (en) 2019-04-02 2020-10-08 Beijing Bytedance Network Technology Co., Ltd. Decoder side motion vector derivation
WO2021018031A1 (en) * 2019-07-27 2021-02-04 Beijing Bytedance Network Technology Co., Ltd. Restrictions of usage of tools according to reference picture types
CN114208184A (zh) 2019-08-13 2022-03-18 北京字节跳动网络技术有限公司 基于子块的帧间预测中的运动精度
CN114762330A (zh) 2019-09-22 2022-07-15 北京字节跳动网络技术有限公司 视频的子图片编码和解码
US20220337865A1 (en) * 2019-09-23 2022-10-20 Sony Group Corporation Image processing device and image processing method
EP4029250A4 (en) * 2019-09-30 2023-01-04 Huawei Technologies Co., Ltd. INTERPOLATION FILTER FOR INTER PREDICTION DEVICE AND VIDEO CODING METHOD
WO2023051645A1 (en) * 2021-09-29 2023-04-06 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing
US11616970B1 (en) 2022-01-25 2023-03-28 Mediatek Inc. Motion vector refinement apparatus having motion vector predictor derivation circuit that is allowed to start new task without waiting for motion vector difference computation and associated motion vector refinement method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030152149A1 (en) * 2001-09-20 2003-08-14 Imec, Vzw Of Leuven, Belgium Method and device for block-based conditional motion compensation
CN101711481A (zh) * 2006-10-18 2010-05-19 汤姆森特许公司 使用预测数据精选进行视频编码的方法和装置
WO2016078511A1 (en) * 2014-11-18 2016-05-26 Mediatek Inc. Method of bi-prediction video coding based on motion vectors from uni-prediction and merge candidate

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100703740B1 (ko) 2004-10-21 2007-04-05 삼성전자주식회사 다 계층 기반의 모션 벡터를 효율적으로 부호화하는 방법및 장치
US8054882B2 (en) * 2005-05-13 2011-11-08 Streaming Networks (Pvt.) Ltd. Method and system for providing bi-directionally predicted video coding
JP4712643B2 (ja) 2006-08-17 2011-06-29 富士通セミコンダクター株式会社 フレーム間予測処理装置、フレーム間予測方法、画像符号化装置及び画像復号装置
CN101415122B (zh) 2007-10-15 2011-11-16 华为技术有限公司 一种帧间预测编解码方法及装置
CN102204254B (zh) 2008-09-04 2015-03-18 汤姆森特许公司 使用隐式运动预测进行预测精细化的方法及装置
US9788010B2 (en) 2009-05-07 2017-10-10 Texas Instruments Incorporated Reducing computational complexity when video encoding uses bi-predictively encoded frames
US9060176B2 (en) * 2009-10-01 2015-06-16 Ntt Docomo, Inc. Motion vector prediction in video coding
KR101611437B1 (ko) 2009-10-28 2016-04-26 삼성전자주식회사 복수의 프레임을 참조하여 영상을 부호화, 복호화하는 방법 및 장치
US20110176611A1 (en) 2010-01-15 2011-07-21 Yu-Wen Huang Methods for decoder-side motion vector derivation
US8736767B2 (en) * 2010-09-29 2014-05-27 Sharp Laboratories Of America, Inc. Efficient motion vector field estimation
US20120294370A1 (en) 2010-10-06 2012-11-22 Yi-Jen Chiu System and method for low complexity motion vector derivation
CN102611886A (zh) 2011-01-22 2012-07-25 华为技术有限公司 一种运动预测或补偿方法
CN102710934B (zh) 2011-01-22 2015-05-06 华为技术有限公司 一种运动预测或补偿方法
US9648334B2 (en) 2011-03-21 2017-05-09 Qualcomm Incorporated Bi-predictive merge mode based on uni-predictive neighbors in video coding
US9282338B2 (en) 2011-06-20 2016-03-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection
US9699456B2 (en) 2011-07-20 2017-07-04 Qualcomm Incorporated Buffering prediction data in video coding
CN107835414B (zh) 2011-10-18 2020-11-06 株式会社Kt 视频信号解码方法
US20130195188A1 (en) 2012-01-26 2013-08-01 Panasonic Corporation Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
CN107734346B (zh) 2012-02-04 2020-11-20 Lg 电子株式会社 视频编码方法、视频解码方法和使用其的设备
US9503720B2 (en) 2012-03-16 2016-11-22 Qualcomm Incorporated Motion vector coding and bi-prediction in HEVC and its extensions
WO2015006951A1 (en) 2013-07-18 2015-01-22 Mediatek Singapore Pte. Ltd. Methods for fast encoder decision
US20150271512A1 (en) 2014-03-18 2015-09-24 Texas Instruments Incorporated Dynamic frame padding in a video hardware engine
US10204658B2 (en) 2014-07-14 2019-02-12 Sony Interactive Entertainment Inc. System and method for use in playing back panorama video content
KR20170102806A (ko) 2016-03-02 2017-09-12 한국전자통신연구원 비디오 신호 부호화/복호화 방법 및 이를 위한 장치
CN109196864B (zh) 2016-05-24 2023-07-11 韩国电子通信研究院 图像编码/解码方法和用于所述方法的记录介质
WO2017205700A1 (en) * 2016-05-25 2017-11-30 Arris Enterprises Llc Binary, ternary and quad tree partitioning for jvet coding of video data
US20180192071A1 (en) 2017-01-05 2018-07-05 Mediatek Inc. Decoder-side motion vector restoration for video coding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030152149A1 (en) * 2001-09-20 2003-08-14 Imec, Vzw Of Leuven, Belgium Method and device for block-based conditional motion compensation
CN101711481A (zh) * 2006-10-18 2010-05-19 汤姆森特许公司 使用预测数据精选进行视频编码的方法和装置
WO2016078511A1 (en) * 2014-11-18 2016-05-26 Mediatek Inc. Method of bi-prediction video coding based on motion vectors from uni-prediction and merge candidate

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114257756A (zh) * 2020-09-25 2022-03-29 瑞昱半导体股份有限公司 校正移动向量的视频处理方法
CN113660495A (zh) * 2021-08-11 2021-11-16 易谷网络科技股份有限公司 实时视频流压缩方法、装置、电子设备以及存储介质

Also Published As

Publication number Publication date
US20180041769A1 (en) 2018-02-08
TW201813396A (zh) 2018-04-01
US20230188745A1 (en) 2023-06-15
TWI669953B (zh) 2019-08-21
CN109565590B (zh) 2021-05-07
US11638027B2 (en) 2023-04-25
WO2018028559A1 (en) 2018-02-15

Similar Documents

Publication Publication Date Title
CN109565590A (zh) 用于视频编解码的基于模型的运动向量推导
TWI677238B (zh) 視訊編解碼的解碼器側運動向量恢復
KR102288178B1 (ko) 움직임 벡터 예측 방법 및 장치
CN106576171B (zh) 一种对视频数据进行编码、解码的方法以及装置
US11553175B2 (en) Method and apparatus for candidate list pruning
KR102073638B1 (ko) 픽처 예측 방법 및 픽처 예측 장치
CN110419217A (zh) 用于图像处理的方法和图像处理装置
JP5368631B2 (ja) 画像符号化方法、装置、及びプログラム
JP2020523853A (ja) 動きベクトル予測
JP2019526988A (ja) 候補リストの構築のためのジオメトリベースの優先度
CN109076236A (zh) 用于视频译码的运动矢量预测的合并候选项
US20170150169A1 (en) Predictive encoding method, predictive encoding device, and predictive encoding program of motion vector, and, predictive decoding method, predictive decoding device, and predictive decoding program of motion vector
CN109314785A (zh) 用于导出运动预测信息的方法和装置
KR20170125086A (ko) 화상 예측 방법 및 관련 장치
CN110121883A (zh) 在图像编码系统中对图像进行解码的方法和装置
CN108293113A (zh) 图像编码系统中的基于建模的图像解码方法和设备
JP6574976B2 (ja) 動画像符号化装置および動画像符号化方法
JPWO2007040197A1 (ja) 参照画像選択方法および装置
JP2020522913A (ja) 低減されたメモリアクセスを用いてfrucモードでビデオデータを符号化又は復号する方法及び装置
US11805259B2 (en) Non-affine blocks predicted from affine motion
CN110545425A (zh) 一种帧间预测方法、终端设备以及计算机存储介质
CN117528069A (zh) 位移矢量预测方法、装置及设备
JP2014017853A (ja) 画像符号化方法及び画像復号化方法
JP5659314B1 (ja) 画像符号化方法及び画像復号化方法
JP2018023126A (ja) 画像符号化方法及び画像復号化方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220426

Address after: Hsinchu County, Taiwan, China

Patentee after: MEDIATEK Inc.

Address before: Hsinchu Science Park Road, Taiwan city of Hsinchu China Dusing 1

Patentee before: MEDIATEK Inc.