[go: up one dir, main page]

CN110545424A - 基于mmvd模式的帧间预测方法、视频编码方法及相关装置、设备 - Google Patents

基于mmvd模式的帧间预测方法、视频编码方法及相关装置、设备 Download PDF

Info

Publication number
CN110545424A
CN110545424A CN201910775394.0A CN201910775394A CN110545424A CN 110545424 A CN110545424 A CN 110545424A CN 201910775394 A CN201910775394 A CN 201910775394A CN 110545424 A CN110545424 A CN 110545424A
Authority
CN
China
Prior art keywords
motion vector
motion
sub
candidate
search
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
CN201910775394.0A
Other languages
English (en)
Other versions
CN110545424B (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.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN201910775394.0A priority Critical patent/CN110545424B/zh
Publication of CN110545424A publication Critical patent/CN110545424A/zh
Priority to PCT/CN2020/110644 priority patent/WO2021032206A1/en
Priority to EP20854330.6A priority patent/EP4018666A4/en
Application granted granted Critical
Publication of CN110545424B publication Critical patent/CN110545424B/zh
Priority to US17/676,783 priority patent/US12113983B2/en
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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • 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/567Motion estimation based on 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

本申请公开了一种基于MMVD模式的帧间预测方法、视频编码方法及相关装置、设备。其中,基于MMVD模式的帧间预测方法包括:构建当前编码块在MMVD模式下的第一候选列表,其中,第一候选列表包含第一预设数量个第一候选运动矢量;确定第二预设数量个运动搜索幅值和第三预设数量个运动搜索方向;针对每个第一候选运动矢量:以第一候选运动矢量为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,得到第一候选运动矢量在不同运动组合下的运动矢量偏移;基于每个第一候选运动矢量在不同运动组合下的运动矢量偏移,确定得到当前编码块的最佳运动矢量。上述方式能够提高帧间预测的准确性或较大概率减少帧间预测结果的编码量,提高编码压缩率。

Description

基于MMVD模式的帧间预测方法、视频编码方法及相关装置、 设备
技术领域
本申请涉及视频编解码领域,特别是涉及一种基于MMVD模式的帧间预测方法、视频编码方法及相关装置、设备。
背景技术
由于视频图像数据量比较大,通常需要对视频像素数据(如RGB、YUV等)进行编码压缩以降低视频的数据量,压缩后的数据称之为视频码流,视频码流通过有线或者无线网络传输至用户端,再进行解码观看。
整个视频编码流程包括采集、预测、变换、变换量化和熵编码等过程。在预测过程中往往包括帧间预测,以去除视频图像在时间上的冗余。帧间预测模式一般包括三角模式、仿射模式、常规Merge模式(即合并模式),以及应用于Merge模式中的MMVD(Merge withMotion Vector Difference,运动矢量偏移,或运动矢量残差)模式等等。帧间预测过程需预测出当前编码块的最佳运动矢量(Motion Vector,MV),进而基于该最佳运动矢量进行编码,故此,若帧间预测结果准确性低,则可能造成解码时无法观看到原本的视频图像或者视频图像严重失真,影响用户体验、甚至使用户错失感兴趣的或重要的信息。有鉴于此,如何优化帧间预测成为亟待解决的问题。
发明内容
本申请提供一种基于MMVD模式的帧间预测方法、视频编码方法及相关装置、设备,能够提高帧间预测的准确性或较大概率减少帧间预测结果的编码量,提高编码压缩率。
为解决上述技术问题,本申请第一方面提供了一种基于MMVD模式的帧间预测方法,包括:构建当前编码块在MMVD模式下的第一候选列表,其中,第一候选列表包含第一预设数量个第一候选运动矢量;确定第二预设数量个运动搜索幅值和第三预设数量个运动搜索方向;针对每个第一候选运动矢量:以第一候选运动矢量为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,得到第一候选运动矢量在不同运动组合下的运动矢量偏移;基于每个第一候选运动矢量在不同运动组合下的运动矢量偏移,确定得到当前编码块的最佳运动矢量;其中,第一预设数量、第二预设数量、第三预设数量均为整数,且至少满足以下一者:第一预设数量大于2、第二预设数量大于6、第三预设数量大于4、以及第一候选运动矢量所利用的运动搜索方向的索引值与对应第一候选运动矢量相关。
为解决上述技术问题,本申请第二方面提供了一种基于MMVD模式的帧间预测方法,包括:构建当前编码块在MMVD模式下的第一候选列表,其中,第一候选列表包含第一预设数量个第一候选运动矢量,第一候选运动矢量包括分别对应两个方向的两个子运动矢量;确定第二预设数量个运动搜索幅值和第三预设数量个运动搜索方向;针对每个第一候选运动矢量:以第一候选运动矢量的至少一个子运动方向作为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到第一候选运动矢量在不同运动组合下的运动矢量偏移,其中,运动矢量偏移包括对应两个方向的两个子运动矢量偏移;基于每个第一候选运动矢量在不同运动组合下的运动矢量偏移,确定得到当前编码块的最佳运动矢量。
为解决上述技术问题,本申请第三方面提供了一种视频编码方法,包括:获取当前编码块的最佳运动矢量,其中,当前编码块的运动矢量是利用上述第一方面或第二方面的帧间预测方法获取的;基于当前编码块的最佳运动矢量以及帧间预测方法中使用的句法元素表达,对当前编码块进行编码。
为解决上述技术问题,本申请第四方面提供了一种基于MMVD模式的帧间预测设备,包括相互耦接的处理器和存储器,存储器用于存储程序,处理器用于执行程序以实现上述第一方面,或上述第二方面的帧间预测方法。
为解决上述技术问题,本申请第五方面提供了一种视频编码设备,包括相互耦接的处理器和存储器,存储器用于存储程序,处理器用于执行程序以实现上述第三方面的视频编码方法。
为解决上述技术问题,本申请第六方面提供了一种存储装置,存储有程序,程序被执行时能够实现上述第一方面,或上述第二方面的帧间预测方法,或实现上述第三方面的视频编码方法。
上述方案,通过构建当前编码块在MMVD模式下包含第一预设数量个的第一候选运动矢量的第一候选列表,并确定第二预设数量个运动搜索幅值和第三预设数量个运动搜索方向,从而针对每个第一候选运动矢量:以第一候选运动矢量为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,得到第一候选运动矢量在不同运动组合下的运动矢量偏移,进而利用该不同运动组合下对应的像素块的运动矢量偏移确定当前编码块的最佳运动矢量。
其中,当第一预设数量大于2、第二预设数量大于6、或第三预设数量大于4时,可一定程度上扩大了搜索范围,增多了通过该搜索得到的像素块,进而得以基于该搜索得到的像素块的运动矢量偏移,确定得到当前编码块的最佳运动矢量,由于搜索到的像素块数量增多,故确定的最佳运动矢量的准确性也相应提高,进而提高帧间预测的准确性。
另外,当第一候选运动矢量所利用的运动搜索方向的索引值与对应第一候选运动矢量相关时,由于与第一候选运动矢量相关的运动搜索方向最终为当前编码块的最佳运动矢量所对应的运动搜索方向的概率较大,故将对于越大概率作为当前编码块的最佳运动矢量的运动搜索方向,其索引设置为越小,能够较大概率使得作为当前编码块的最佳运动矢量的运动搜索方向的索引为较小值,进而可以减少作为最佳运动矢量的运动搜索方向索引值的编码比特数,减少后续视频编码的码流数据量,提高编码压缩率,降低视频数据的传输带宽和视频数据的存储资源。
附图说明
图1是本申请基于MMVD模式的帧间预测方法一实施例的流程示意图;
图2是图1中步骤S11一实施例的流程示意图;
图3是图1中步骤S12一实施例的流程示意图;
图4是本申请基于MMVD模式的帧间预测方法实施例中当前编码块与空域块之间的位置关系示意图;
图5是本申请基于MMVD模式的帧间预测方法实施例中当前编码块与时域块之间的位置关系示意图;
图6是本申请基于MMVD模式的帧间预测方法实施例中时域运动矢量缩放示意图;
图7是图1中步骤S13一实施例的流程示意图;
图8是图1中步骤S13另一是实施例的流程示意图;
图9是图1中步骤S13又一实施例的流程示意图;
图10是图1中步骤S13又一实施例的流程示意图;
图11是图1中步骤S14一实施例的流程示意图;
图12是图11中步骤S142一实施例的流程示意图;
图13是本申请基于MMVD模式的帧间预测方法另一实施例的流程示意图;
图14是本申请视频编码方法一实施例的流程示意图;
图15是本申请基于MMVD模式的帧间预测装置一实施例的框架示意图;
图16是本申请基于MMVD模式的帧间预测装置另一实施例的框架示意图;
图17是本申请视频编码装置一实施例的框架示意图;
图18是本申请基于MMVD模式的帧间预测设备一实施例的框架示意图;
图19是本申请基于MMVD模式的帧间预测设备另一实施例的框架示意图;
图20是本申请视频编码设备一实施例的框架示意图;
图21是本申请存储装置一实施例的框架示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。本申请实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。需注意的是,对于下述方法实施例,若有实质上相同的结果,本申请的方法并不以图示的流程顺序为限。
为便于说明,下面先对下文所提及的多个预设帧间预测模式进行介绍。
一、Merge预测模式
在常规merge模式下,其构建运动矢量候选列表的方式具体如下:
按照原本常规merge的空域候选运动矢量的默认获取原则,如图4所示,默认从待编码块的左边界和上边界的预设方位选择已编码块运动矢量(即A0、A1、B0、B1、B2的运动信息),以作为待候选运动矢量(MV)。对于B帧和P帧而言,每个运动矢量包括前向MV和后向MV,或者包括两个前向MV,或者包括两个后向MV。当为B帧时,两个MV均有效,当为P帧时,其中一个MV无效。
常规merge模式的运动矢量候选列表包含6个候选运动矢量。最多能从空域中获取4个候选运动矢量。故空域候选运动矢量的默认获取顺序为A1->B1->B0->A0(->B2)。其中,只有当A1,B1,B0,A0中至少有一个不存在且B2与A1和B1的运动矢量都不相同时,才会获取B2的运动矢量。
如果未能采用空域候选运动矢量填满运动矢量候选列表,且当前编码块的尺寸大于4x4、8x4和4x8时,需要再将时域运动矢量填充到运动矢量候选列表。当前编码块的时域运动矢量是由当前帧的同位帧中的同位块的运动矢量经过缩放得到的。如图5和图6所示,当前帧中C0位置的块为同位块的候选位置,对应地,同位帧中与C0处于相同空间位置的块col_PU为同位块,从而通过获取得到同位块的运动矢量,再利用当前帧和当前帧的参考帧之前的距离,以及同位帧和同位帧的参考帧之间的距离,对同位块的运动矢量进行缩放,得到当前编码块的时域运动矢量,具体可参考下式得到当前编码块的时域运动矢量:
curMV=(td/tb)*colMV
其中,cur_PU表示当前编码块,col_PU表示同位块,curMV为当前编码块的时域运动矢量,colMV为同位块的时域运动矢量,td表示当前帧(cur_pic)与当前帧的参考帧(cur_ref)之间的距离,tb表示同位帧(col_pic)与同位帧的参考帧(col_ref)之间的距离。其中,在一个实施场景中,当图5中C0位置的同位块不可用时,可以替换为C1位置的同位块。
若Merge运动矢量候选列表还未填满,将已编码块HMVP(历史已编码块的MV)列表中的运动矢量依次和空域A1和B1的运动矢量进行比较,将不相同的运动矢量填充到候选列表内,直到填满候选列表为止。
若Merge运动矢量候选列表还未填满,则利用Merge运动矢量候选列表中的前两个运动矢量进行平均(即前向运动矢量和前向运动矢量平均,后向运动矢量和后向运动矢量平均),将最终平均值填充到Merge运动矢量候选列表中。
若Merge运动矢量候选列表还未填满,则使用零运动矢量进行填补达到规定数量。
二、AMVP(Advanced Motion Vector Prediction,高级运动矢量预测)预测模式
在常规AMVP模式下,其构建运动矢量候选列表的方式具体如下:
按照原本AMVP的空域候选运动矢量的默认获取原则,如图4所示,默认从当前编码块的左边界和上边界的预设方位选择已编码块运动矢量(即位于当前编码块左下的相邻已编码块A0的运动矢量、位于当前编码块左边界的相邻已编码块A1的运动矢量、位于当前编码块左上的相邻已编码块B2的运动矢量、位于当前编码块上侧的相邻已编码块B1的运动矢量、位于当前编码块右上的相邻已编码块B0的运动矢量以及上述已编码块A0-A1/B0-B2的经缩放后的运动矢量),以作为待候选运动矢量。
AMVP的运动矢量候选列表包含2个候选运动矢量。故在待编码块的左边界和上边界各获取一个待候选运动矢量以作为空域候选运动矢量,并加入到运动矢量候选列表中。其中,左边界的待候选运动矢量的默认获取顺序为A0->A1->scaled A0->scaled A1,上边界的待候选运动矢量的默认获取顺序为B0->B1->B2(->scaled B0->scaled B1->scaledB2)。当左边界(或上边界)检查到第一个可用的待候选运动矢量时,将该待候选运动矢量作为空域候选运动矢量加入至运动矢量候选列表,不再检查左边界(或上边界)的其他待候选运动矢量。
其中,上述用于提供待候选运动矢量的已编码块与当前编码块的参考帧为同一帧时,选择已编码块的运动矢量加入候选列表;参考帧不同时,需将已编码块的运动矢量经缩放后再加入候选列表,缩放基于当前编码块与其参考帧的距离和已编码块与其参考帧的距离。上边界的3个缩放后的运动矢量只有在A0和A1都不可用或都是非帧间模式时才会选择。
如果未能采用空域候选运动矢量填满运动矢量候选列表,将先后获取时域候选运动矢量、HMVP和(0,0)加入到运动矢量候选列表中,直到运动矢量候选列表填满。其中,HMVP为当前编码树单元(CTU)中已编码的块的运动矢量。
下面结合上述各预测模式的介绍,从三个方面对本申请各实施例进行说明。
第一方面:
请参阅图1,图1是本申请基于MMVD模式的帧间预测方法一实施例的流程示意图。具体而言,可以包括如下步骤:
步骤S11:构建当前编码块在MMVD模式下的第一候选列表,其中,第一候选列表包含第一预设数量个第一候选运动矢量。
在一个实施场景中,第一候选列表具体可以基于在预设帧间预测模式下而构建的运动矢量候选列表而进行构建。本实施例中,预设帧间预测模式包括但不限于Merge模式、AMVP模式。关于在Merge模式、AMVP模式下构建运动矢量候选列表可以参考前述实施方式,本实施例在此不再赘述。
第一预设数量为整数,在一个实施场景中,为了进一步提高第一候选运动矢量的数量,第一预设数量具体可以设置为大于2,例如3、4、5等等。
步骤S12:确定第二预设数量个运动搜索幅值和第三预设数量个运动搜索方向。
运动搜索幅值可以包括1/8-pel(picture element,像素)、1/4-pel、1/2-pel、1-pel、2-pel、4-pel、8-pel、16-pel等等。
运动搜索方向可以包括右方、左方、下方、上方、右下方、左下方、右上方、左上方等等。
第二预设数量为整数,在一个实施场景中,为了进一步提高运动搜索幅值的数量,第二预设数量具体可以设置为大于6,例如7、8等等。第二预设数量个运动搜索幅值可以是:1/8-pel、1/4-pel、1/2-pel、1-pel、2-pel、4-pel、8-pel,或者第二预设数量个运动搜索幅值还可以是:1/4-pel、1/2-pel、1-pel、2-pel、4-pel、8-pel、16-pel等等,本实施例在此不再一一举例。
此外,在一个实施场景中,为了便于后续视频编码,还可以获取第二预设数量个运动搜索幅值,以构建幅值列表,在幅值列表中每一运动搜索幅值对应一索引值。例如,当第二预设数量个运动搜索幅值为1/8-pel、1/4-pel、1/2-pel、1-pel、2-pel、4-pel、8-pel时,可以分别为上述运动搜索幅值建立索引值0、1、2、3、4、5、6;或者,当第二预设数量个运动搜索幅值为1/8-pel、1/4-pel、1/2-pel、1-pel、2-pel、4-pel、8-pel、16-pel时,还可以分别为上述运动搜索幅值建立索引值0、1、2、3、4、5、6、7,如下表2。以此类推,本实施例在此不再一一举例。在一个实施场景中,所构建的幅值列表中,运动搜索幅值按照从小到大的顺序排列。
第三预设数量为整数,在一个实施场景中,为了进一步提高运动搜索方向的数量,第三预设数量具体可以设置为大于4,例如5、6、7、8等等。第三预设数量个运动搜索方向可以是:右方、左方、下方、上方、右下方,或者第三预设数量个运动搜索方法还可以是右方、左方、下方、上方、右下方、左下方、右上方、左上方等等,本实施例在此不再一一举例。
此外,在一个实施场景中,为了便于后续视频编码,还可以获取第三语速和数量个运动搜索方向,以构建方向列表,方向列表中每一运动搜索方向对应一索引值。例如,当第三预设数量个运动搜索方向为右方、左方、下方、上方、右下方,可以分别为上述运动搜索方向建立一索引值0、1、2、3、4;或者,当第三预设数量个运动搜索方向为右方、左方、下方、上方、右下方、左下方、右上方、左上方时,可以分别为上述运动搜索方向建立一索引值0、1、2、3、4、5、6、7,如下表3。以此类推,本实施例在此不再一一举例。
在一个实施场景中,为了进一步减少运动搜索方向的索引值的编码比特,减少后续视频编码的码流数据量,提高编码压缩率,降低视频数据的传输带宽和视频数据的存储资源,第一候选运动矢量所利用的运动搜索方向的索引值与对应第一候选运动矢量相关时,从而可以将较大概率作为当前编码块的最佳运动矢量所对应的运动搜索方向优先获取作为第一候选运动矢量的运动搜索方向。
步骤S13:针对每个第一候选运动矢量:以第一候选运动矢量为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,得到第一候选运动矢量在不同运动组合下的运动矢量偏移。
利用运动搜索幅值和运动搜索方向的不同组合进行搜索可以进一步扩大运动搜索范围。例如,运动搜索幅值的第二预设数量为7、运动搜索方向的第三预设数量为8时,可以扩展出56种搜索组合;或者运动搜索幅值的第二预设数量为8、运动搜索方向的第三预设数量均为8时,即第二预设数量个运动搜索幅值包括1/8像素、1/4像素、1/2像素、1像素、2像素、4像素、8像素、16像素,第三预设数量个运动搜索方向包括右方、左方、下方、上方、右下方、左下方、右上方、左上方,可以扩展出64种搜索组合。
在此基础上,结合第一候选运动矢量的第一预设数量,可以进一步扩展搜索范围。例如,当第一候选运动矢量的第一预设数量为3、运动搜索幅值的第二预设数量为7、运动搜索方向的第三预设数量为8时,可以扩展出168种搜索组合;或者当当第一候选运动矢量的第一预设数量为5、运动搜索幅值的第二预设数量为8、运动搜索方向的第三预设数量为8时,可以扩展出320种搜索组合。
对于每一个第一候选运动矢量,通过运动搜索幅值与运动搜索方向的多种组合,可以获得多组运动矢量偏移。
在一个实施场景中,为了便于后续视频编码,可以构建幅值列表和方向列表,从而基于所构建的幅值列表和方向列表,以第一候选运动矢量作为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,得到第一候选运动矢量在不同运动组合下的运动矢量偏移。
步骤S14:基于每个第一候选运动矢量在不同运动组合下的运动矢量偏移,确定得到当前编码块的最佳运动矢量。
具体地,可以基于每个第一候选运动矢量和其在不同运动组合下的运动矢量偏移,从中确定出当前编码块的最佳运动矢量。在一个实施场景中,当前编码块的最佳运动矢量所指示的预测块与当前编码块的像素差异最小。
本实施例中,至少满足以下一者:第一预设数量大于2、第二预设数量大于6、第三预设数量大于4、以及第一候选运动矢量所利用的运动搜索方向和索引值和与第一候选运动矢量相关。
上述方案,通过构建当前编码块在MMVD模式下包含第一预设数量个的第一候选运动矢量的第一候选列表,并确定第二预设数量个运动搜索幅值和第三预设数量个运动搜索方向,从而针对每个第一候选运动矢量:以第一候选运动矢量为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,得到第一候选运动矢量在不同运动组合下的运动矢量偏移,进而利用该不同运动组合下对应的像素块的运动矢量偏移确定当前编码块的最佳运动矢量。
其中,当第一预设数量大于2、第二预设数量大于6、或第三预设数量大于4时,可一定程度上扩大了搜索范围,增多了通过该搜索得到的像素块,进而得以基于该搜索得到的像素块的运动矢量偏移,确定得到当前编码块的最佳运动矢量,由于搜索到的像素块数量增多,故确定的最佳运动矢量的准确性也相应提高,进而提高帧间预测的准确性。
另外,当第一候选运动矢量所利用的运动搜索方向的索引值与对应第一候选运动矢量相关时,由于与第一候选运动矢量相关的运动搜索方向最终为当前编码块的最佳运动矢量所对应的运动搜索方向的概率较大,故将对于越大概率作为当前编码块的最佳运动矢量的运动搜索方向,其索引设置为越小,能够较大概率使得作为当前编码块的最佳运动矢量的运动搜索方向的索引为较小值,进而可以减少作为最佳运动矢量的运动搜索方向索引值的编码比特数,减少后续视频编码的码流数据量,提高编码压缩率,降低视频数据的传输带宽和视频数据的存储资源。
请参阅图2,图2是图1中步骤S11一实施例的流程示意图。具体而言,上述步骤S11可以包括:
步骤S111:获取当前编码块的第二候选列表。
本实施例中,第二候选列表是在预设帧间预测模式下构建的,且包括若干第二候选运动矢量。预设帧间预测模式包括但不限于Merge模式和AMVP模式,在Merge模式和AMVP模式下构建第二候选列表的步骤具体可以参阅前述实施例,本实施例在此不再赘述,例如,在Merge模式中,可以根据当前编码块空域MV、时域MV、HMVP、平均MV、零MV等构建第二候选列表,且其中包含6个第二候选运动矢量的数量。
步骤S112:从第二候选列表中依序选择第一预设数量个第二候选运动矢量,以作为第一候选列表中的第一候选运动矢量。
例如,在Merge模式下构建的第二候选列表中选择第一预设数量个第二候选运动矢量,以作为第一候选列表中的第一候选运动矢量;或者,在AMVP模式下构建的第二候选列表中选择第一预设数量个第二候选运动矢量,以作为第一候选列表中的第一候选运动矢量。
本实施例中,为了尽可能地扩大后续运动搜索的范围,提高预测准确性,第一预设数量可以大于2,例如3、4、5等等。
此外,本实施例中,每个第一候选运动矢量包括两个方向的MV,例如包括前向MV和后向MV,或者包括前向MV和前向MV,或者包括后向MV和后向MV。
此外,从第二候选列表中选择的若干第二候选运动矢量中包含空域候选运动矢量和时域候选运动矢量,从而使得构建的第一候选列表中包含空域候选运动矢量和时域候选运动矢量。
请参阅图3,图3是图1中步骤S12一实施例的流程示意图。具体而言,上述步骤S12的实施例中“获取第三预设数量个运动搜索方向,以构建方向列表”可以包括:
步骤S121:获取第三预设数量个运动搜索方向。
例如,第三预设数量为8,则获取8个运动搜索方向,这8个运动搜索方向可以分别是右方、左方、下方、上方、右下方、左下方、右上方、左上方。当第三预设数量为其他值时,可以以此类推,本实施例在此不再一一举例。
步骤S122:按照每个运动搜索方向与第一候选运动矢量之间的相关度,确定第三预设数量个运动搜索方向的索引。
索引是一个唯一标识运动搜索方向的编码,通过索引即可确定运动搜索方向。例如,上述8个运动搜索方向中,右方的索引是0、左方的索引是1、下方的索引是2、上方的索引是3、右下方的索引是4、左下方的索引是5、右上方的索引是6、左上方的索引是7。运动搜索方向的索引还可以是除此之外的其他值,本实施例在此不再一一举例。
在一个实施场景中,为了减少运动搜索方向索引值的编码比特数,以减少后续视频编码的码流数据量,提高编码压缩率,降低视频数据的传输带宽和视频数据的存储资源,第一候选运动矢量所利用的运动搜索方向的索引值可以与对应第一候选运动矢量相关,从而可以将较大概率作为当前编码块的最佳运动矢量所对应的运动搜索方向优先获取作为第一候选运动矢量的运动搜索方向,与第一候选运动矢量越相关的运动搜索方向在方向列表中的索引越小。例如,第一候选运动矢量为(16,16),则为第一候选运动矢量构建的方向列表中右下方的运动搜索方向的索引为0,基于这一准则,右方的运动搜索方向的索引为1,下方的运动搜索方向的索引为2,右上方的运动搜索方向的索引为3,左下方的运动搜索方向的索引为4,上方的运动搜索方向的索引为5,左方的运动搜索方向的索引为6,而左上方的运动搜索方向与第一候选运动矢量最不相关,其索引为7,此外,由于右方和下方与右下方的相关性是等同的,因此两者的索引可以相互交换,即下方的运动搜索方向的索引为1,右方的运动搜索方向的索引为2,以此类推,右上方和左下方的运动搜索方向的索引也可以交换、上方和左方的运动搜索方向的索引也可以交换。
步骤S123:由第三预设数量个运动搜索方向及其索引,构建得到第一候选运动矢量对应的方向列表。
由第三预设数量个运动搜索方向及其索引,即可构建得到第一候选运动矢量对应的方向列表。例如,当第一候选运动矢量其中一个MV为(16,16)时,即可构建得到如下表1所示的方向列表:
表1第一候选运动矢量的方向列表
索引 0 1 2 3 4 5 6 7
运动搜索方向 右下方 右方 下方 右上方 左下方 上方 左方 左上方
本实施例中,以第一候选运动矢量作为起点进行运动搜索时采用的方向列表为第一候选运动矢量的方向列表。例如,以运动矢量(16,16)作为起点进行运动搜索时所采用的方向列表为上表1的方向列表。当第一候选运动矢量为其他值时,可以以此类推获得对应的方向列表,并在以第一候选运动矢量作为起点时,采用对应的方向列表。
第一候选运动矢量包括分别对应两个方向的两个子运动矢量。两个方向可以都是前向,或者都是后向,也可以一个是前向一个是后向。当当前编码块所在的当前帧为B帧时,上述步骤S13具体可以包括:以第一候选运动矢量的至少一个子运动矢量作为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到第一候选运动矢量在不同运动组合下的运动矢量偏移,其中,运动矢量偏移包括对应两个方向的两个子运动矢量偏移。也就是说,可以分别以第一候选运动矢量的两个子运动矢量作为起点,分别利用运动搜索幅值和运动搜索方向的不同组合进行搜索,从而分别得到两个子运动矢量在不同组合下的子运动矢量偏移,由于两个子运动矢量得到各自子运动矢量偏移的过程都是独立的,不相关的,因此通过自由组合可以得到第一候选运动矢量在不同组合下的运动矢量偏移。或者,还可以以第一运动矢量中的一个子运动矢量作为起点,利用运动搜索幅值和运动搜索方向的不同组合进行搜索,从而得到该子运动矢量在不同组合下的子运动矢量偏移,从而通过推导得到另一子运动矢量的子运动矢量偏移,通过对应组合即可获得第一候选运动矢量不同组合下的运动矢量偏移,其中可至少利用两个子运动矢量的幅度关系来确定哪个子运动矢量采用搜索方式,哪个子运动矢量采用推导方式。上述运动矢量偏移获取方式可提高运动矢量偏移的准确性,若最终确定的最佳运动矢量为该运动矢量偏移对应的运动矢量,则亦提高了最佳运动矢量的获取准确性,进而提高了帧间预测准确性。
此外,当当前编码块所在的当前帧为P帧时,由于第一候选运动矢量所包含的两个子运动矢量中其中一个为无效MV,因此,另一个MV只能通过搜索的方式获取其对应的运动矢量偏移。
下面分别从两个子方面举例说明通过搜索的方式获取第一候选运动矢量的运动矢量偏移,以及通过搜索和推导的方式获取第一候选运动矢量的运动矢量偏移。
第一子方面:
请参阅图7,图7为图1中步骤S13一实施例的流程示意图。具体而言,可以包括如下步骤:
步骤S71:以第一候选运动矢量的第一子运动矢量作为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到第一候选运动矢量在不同运动组合下的第一子运动矢量偏移。
本实施例中,运动搜索幅值有预设第二数量个,运动搜索方向有第三预设数量个,因此以第一候选运动矢量的第一子运动矢量作为起点,分别利用运动搜索幅值和运动搜索方向的不同组合进行搜索,可以得到第一子运动矢量在不同运动组合下的第一子运动矢量偏移,且第一子运动矢量偏移的个数为第二预设数量与第三预设数量的乘积。
例如,第一候选运动矢量的第一子运动矢量为(16,-16),且该MV是以1/16像素精度存储的,也就是说该MV实际是(1,-1)。第二预设数量个运动搜索幅值所构建的幅值列表如下表2所示:
表2第一子运动矢量的幅值列表
此外,由于第一子运动矢量为(16,-16),则根据与其越相关的搜索方向在方向列表中的索引越小而构建第三预设数量个运动搜索方向所组成的方向列表如下表3所示:
表3第一子运动矢量的方向列表
从而利用第一子运动矢量(16,-16),分别利用上述8种运动搜索幅值和上述8种运动搜索方向共计64种组合,从而得到第一候选运动矢量在不同运动组合下的第一子运动矢量偏移。以运动搜索幅值为1/2-pel,运动搜索方向为右下方为例,该组合下的第一子运动矢量偏移为(8,8),当运动搜索幅值和运动搜索方向为其他组合时,以此类推,本实施例在此不再一一举例。
步骤S72:以第一候选运动矢量的第二子运动矢量作为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到第一候选运动矢量在不同运动组合下的第二子运动矢量偏移。
本实施例中,运动搜索幅值有预设第二数量个,运动搜索方向有第三预设数量个,因此以第一候选运动矢量的第二子运动矢量作为起点,分别利用运动搜索幅值和运动搜索方向的不同组合进行搜索,可以得到第二子运动矢量在不同运动组合下的第二子运动矢量偏移,且第二子运动矢量偏移的个数为第二预设数量与第三预设数量的乘积。
例如,第一候选运动矢量的第二子运动矢量为(-32,40),且该MV是以1/16像素精度存储的。第二预设数量个运动搜索幅值所构建的幅值列表如下表4所示:
表4第二子运动矢量的幅值列表
此外,由于第二子运动矢量为(-32,40),则根据与其越相关的运动搜索方向在方向列表中的索引越小而构建第三预设数量个运动搜索方向所组成的方向列表如下表5所示:
表5第二子运动矢量的方向列表
从而利用第二子运动矢量(-32,40),分别利用上述8种运动搜索幅值和上述8种运动搜索方向共计64种组合,从而得到第二候选运动矢量在不同运动组合下的第二子运动矢量偏移。以运动搜索幅值为4-pel,运动搜索方向为左上方为例,该组合下的第二子运动矢量偏移为(-64,-64),当运动搜索幅值和运动搜索方向为其他组合时,以此类推,本实施例在此不再一一举例。
步骤S73:由第一候选运动矢量在不同运动组合下的第一子运动矢量偏移与第二子运动矢量偏移组成第一候选运动矢量在不同运动组合下的运动矢量偏移。
由第一候选运动矢量在不同运动组合下的第一子运动矢量偏移与第二子运动矢量偏移组成第一候选运动矢量在不同运动组合下的运动矢量偏移。以上述8个运动搜索方向和8个运动搜索幅值为例,可以生成64个第一子运动矢量偏移和64个第二子运动矢量偏移,最终可自由组合生成64*64组运动矢量偏移。
在第一子方面的实施例中,MMVD模式的句法元素表达包括第一候选运动矢量的两个方向的句法元素,每个方向的句法元素包括运动矢量偏移或者运动矢量偏移对应的运动组合中运动搜索幅值索引和运动搜索方向索引。
上述方案,通过分别以第一候选运动矢量的第一子运动矢量和第二子运动矢量作为起点,利用运动搜索幅值和运动搜索方向的不同组合进行搜索,从而得到第一候选运动矢量在不同运动组合下的第一子运动矢量偏移,以及第一候选运动矢量在不同运动组合下的第二子运动矢量偏移,并由第一候选运动矢量在不同运动组合下的第一子运动矢量偏移和第二子运动矢量偏移组成第一候选运动矢量在不同运动组合下的运动矢量偏移,从而可以进一步增加运动搜索的范围,有利于找到更加准确的运动矢量,进而有利于进一步提高帧间预测的准确性。
第二子方面:
请参阅图8,图8是图1中步骤S13另一实施例的流程示意图。具体而言,可以包括如下步骤:
步骤S81:获得第一候选运动矢量的第一子运动矢量和第二子运动矢量的幅值。
获得第一候选运动矢量的第一子运动矢量和第二子运动矢量的幅值。例如,获取得到第一候选运动矢量MV的第一子运动矢量的幅值MV0和第二子运动矢量的幅值MV1。
步骤S82:从第一子运动矢量和第二子运动矢量中,选择幅值符合预设幅值条件的第一子运动矢量。
从第一子运动矢量和第二子运动矢量中,选择幅值符合预设幅值条件的第一子运动矢量。例如,第一子运动矢量的幅值MV0符合预设幅值条件,则选择第一子运动矢量。
步骤S83:以第一子运动矢量作为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到第一子运动方向在不同运动组合下的第一子运动矢量偏移。
以第一子运动矢量作为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到第一子运动方向在不同运动组合下的第一子运动矢量偏移。具体地,可以参阅上述第一子方面的步骤利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,从而得到第一子运动方向在不同运动组合下的第一子运动矢量偏移。
步骤S84:利用第一子运动矢量在不同运动组合下的第一子运动矢量偏移,获得第二子运动方向在对应不同运动组合下的第二子运动矢量偏移。
根据第一子运动矢量在不同运动组合下的第一子运动矢量偏移进行推导,从而获得第二子运动方向在对应不同运动组合下的第二子运动矢量偏移。
步骤S85:由第一候选运动矢量在对应运动组合下的第一子运动矢量偏移与第二子运动矢量偏移组成第一候选运动矢量在对应运动组合下的运动矢量偏移。
由第一候选运动矢量在对应运动组合下的第一子运动矢量偏移与第二子运动矢量偏移组成第一候选运动矢量在对应运动组合下的运动矢量偏移。
具体地,在上述步骤S82中,预设幅值条件可以以第一子运动矢量和第二子运动矢量的幅值作为影响因子,此外,预设幅值条件还可以以第一子运动矢量和第二子运动矢量的幅值以及第一子运动矢量对应的参考帧与当前帧之间的距离、第二子运动矢量对应的参考帧与当前帧之间的距离作为影响因子。
当预设幅值条件可以以第一子运动矢量和第二子运动矢量的幅值作为影响因子时,预设幅值条件具体可以为第一子运动矢量和第二子运动矢量中幅值较大或者幅值相等,在此情况下,请结合参阅图9,图9是图1中步骤S13又一实施例的流程示意图。步骤S13具体可以包括:
步骤S91:获得第一候选运动矢量的第一子运动矢量和第二子运动矢量的幅值。
例如,获取得到第一候选运动矢量MV的第一子运动矢量的幅值MV0和第二子运动矢量的幅值MV1。
步骤S92:从第一子运动矢量和第二子运动矢量中,选择幅值符合预设幅值条件的第一子运动矢量。
例如,幅值为MV0的子运动矢量大于幅值为MV1的子运动矢量,则选择幅值为MV0的子运动矢量作为第一子运动矢量;或者,
例如,幅值为MV1的子运动矢量大于矢量为MV0的子运动矢量,则选择幅值为MV1的子运动矢量作为第一子运动矢量;或者,
例如,幅值为MV0的子运动矢量等于幅值为MV1的子运动矢量,则选择幅值为MV0的子运动矢量作为第一子运动矢量,当然也可以选择幅值为MV1的子运动矢量作为第一子运动矢量。
步骤S93:以第一子运动矢量作为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到第一子运动方向在不同运动组合下的第一子运动矢量偏移。
例如,幅值为MV0的子运动矢量大于幅值为MV1的子运动矢量,选择幅值为MV0的子运动矢量作为第一子运动矢量时,以第一子运动矢量作为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到第一子运动方向在不同运动组合下的第一子运动矢量偏移MMVD0;或者,
例如,幅值为MV1的子运动矢量大于矢量为MV0的子运动矢量,选择幅值为MV1的子运动矢量作为第一子运动矢量时,以第一子运动矢量作为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到第一子运动方向在不同运动组合下的第一子运动矢量偏移MMVD1;或者,
例如,幅值为MV0的子运动矢量等于幅值为MV1的子运动矢量,选择幅值为MV0的子运动矢量作为第一子运动矢量时,以第一子运动矢量作为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到第一子运动方向在不同运动组合下的第一子运动矢量偏移MMVD0。
步骤S94:获得第二子运动矢量与第一子运动矢量之间的幅值关系,基于幅值关系与在不同运动组合下的第一子运动矢量偏移确定第二子运动方向在对应运动组合下的第二子运动矢量偏移。
幅值关系可以是幅值之比,也可以是幅值对数、幅值指数等正相关函数,本实施例在此不做具体限制。作为其中一个优选的实施例,可以获得第二子运动矢量与第一子运动矢量之间的幅值之比,将幅值之比与在不同运动组合下的第一子运动矢量偏移的乘积作为第二子运动方向在对应运动组合下的第二子运动矢量偏移。
例如,幅值为MV0的子运动矢量大于幅值为MV1的子运动矢量,选择幅值为MV0的子运动矢量作为第一子运动矢量,并以第一子运动矢量作为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到第一子运动方向在不同运动组合下的第一子运动矢量偏移MMVD0=mmvdoffset时,获得第二子运动矢量与第一子运动矢量之间的幅值比MV1/MV0,将幅值比MV1/MV0与在不同运动组合下的第一子运动矢量偏移MMVD0的乘积(MV1/MV0)*MMVD0作为第二子运动方向在对应运动组合下的第二子运动矢量偏移MMVD1,即MMVD1=(MV1/MV0)*MMVD0;或者,
例如,幅值为MV1的子运动矢量大于矢量为MV0的子运动矢量,选择幅值为MV1的子运动矢量作为第一子运动矢量,并以第一子运动矢量作为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到第一子运动方向在不同运动组合下的第一子运动矢量偏移MMVD1=mmvdoffset时,获得第二子运动矢量与第一子运动矢量之间的幅值比MV0/MV1,将幅值比MV0/MV1与在不同运动组合下的第一子运动矢量偏移MMVD1的乘积(MV0/MV1)*MMVD1作为第二子运动方向在对应运动组合下的第二子运动矢量偏移MMVD0,即MMVD0=(MV0/MV1)*MMVD1;或者,
例如,幅值为MV0的子运动矢量等于幅值为MV1的子运动矢量,选择幅值为MV0的子运动矢量作为第一子运动矢量,并以第一子运动矢量作为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到第一子运动方向在不同运动组合下的第一子运动矢量偏移MMVD0=mmvdoffset时,获得第二子运动矢量与第一子运动矢量之间的幅值比MV1/MV0,即1,将幅值比1与在不同运动组合下的第一子运动矢量偏移MMVD0的乘积1*MMVD0作为第二子运动方向在对应运动组合下的第二子运动矢量偏移MMVD1,即MMVD1=MMVD0=mmvdoffset。
步骤S95:由第一候选运动矢量在对应运动组合下的第一子运动矢量偏移与第二子运动矢量偏移组成第一候选运动矢量在对应运动组合下的运动矢量偏移。
由第一候选运动矢量在对应运动组合下的第一子运动矢量偏移与第二子运动矢量偏移组成第一候选运动矢量在对应运动组合下的运动矢量偏移。
当预设幅值条件还可以以第一子运动矢量和第二子运动矢量的幅值以及第一子运动矢量对应的参考帧与当前帧之间的距离、第二子运动矢量对应的参考帧与当前帧之间的距离作为影响因子时,预设幅值条件具体可以是第一子运动矢量和第二子运动矢量中幅值与对应距离的商较大或者相等,其中第一子运动矢量的对应距离为第一子运动矢量对应的第一参考帧与当前帧之间的第一距离,第二子运动矢量的对应距离为第二子运动矢量对应的第二参考帧与当前帧之间的第二距离,例如,幅值为MV0的子运动矢量对应的距离currPocDiffL0为其对应的参考帧播放序号POC0与当前帧播放序号POC之差,即currPocDiffL0=POC-POC0,幅值为MV1的子运动矢量对应的距离currPocDiffL1为其对应的参考帧播放序号POC1与当前帧播放序号POC之差,即currPocDiffL1=POC-POC1。在此情况下,请结合参阅图10,图10是图1中步骤S13又一实施例的流程示意图。步骤S13具体可以包括:
步骤S1010:获得第一候选运动矢量的第一子运动矢量和第二子运动矢量的幅值。
例如,获取得到第一候选运动矢量MV的第一子运动矢量的幅值MV0和第二子运动矢量的幅值MV1。
步骤S1020:从第一子运动矢量和第二子运动矢量中,选择幅值符合预设幅值条件的第一子运动矢量。
例如,幅值为MV0的子运动矢量其幅值MV0与对应距离的商MV0/abs(currPocDiffL0)大于幅值为MV1的子运动矢量其幅值MV1与对应距离的商MV1/abs(currPocDiffL1),则选择幅值为MV0的子运动矢量作为第一子运动矢量,且幅值为MV0的第一运动矢量对应的第一距离为currPocDiffL0,幅值为MV1的子运动矢量对应的第二距离为currPocDiffL1;或者,
例如,幅值为MV1的子运动矢量其幅值MV1与对应距离的商MV1/abs(currPocDiffL1)大于等于矢量为MV0的子运动矢量其幅值与对应距离的商MV0/abs(currPocDiffL0),则选择幅值为MV1的子运动矢量作为第一子运动矢量,且幅值为MV1的第一子运动矢量对应的第一距离为currPocDiffL1,幅值为MV0的子运动矢量对应的第二距离为currPocDiffL0。
步骤S1030:以第一子运动矢量作为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到第一子运动方向在不同运动组合下的第一子运动矢量偏移。
例如,幅值为MV0的子运动矢量其幅值MV0与对应距离的商MV0/abs(currPocDiffL0)大于幅值为MV1的子运动矢量其幅值MV1与对应距离的商MV1/abs(currPocDiffL1),选择幅值为MV0的子运动矢量作为第一子运动矢量时,以第一子运动矢量作为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到第一子运动方向在不同运动组合下的第一子运动矢量偏移MMVD0;或者,
例如,幅值为MV1的子运动矢量其幅值MV1与对应距离的商MV1/abs(currPocDiffL1)大于等于矢量为MV0的子运动矢量其幅值与对应距离的商MV0/abs(currPocDiffL0),选择幅值为MV1的子运动矢量作为第一子运动矢量时,以第一子运动矢量作为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到第一子运动方向在不同运动组合下的第一子运动矢量偏移MMVD1。
步骤S1040:获得第二子运动矢量与第一子运动矢量之间的幅值关系以及第一距离与第二距离之间的距离关系,基于幅值关系、距离关于与在不同运动组合下的第一子运动矢量偏移确定第二子运动方向在对应运动组合下的第二子运动矢量偏移。
幅值关系可以是幅值之比,也可以是幅值对数、幅值指数等正相关函数。同理,距离关系可以是距离之比,也可以是距离对数、距离指数等正相关函数,本实施例在此不做具体限制。作为其中一个优选的实施例,可以获得第二子运动矢量与第一子运动矢量之间幅值之比以及第一距离与第二距离之间的距离之比,将幅值之比、距离之比与在不同运动组合下的第一子运动矢量偏移的乘积作为第二子运动方向在对应组合下的第二子运动矢量偏移。
例如,幅值为MV0的子运动矢量其幅值MV0与对应距离的商MV0/abs(currPocDiffL0)大于幅值为MV1的子运动矢量其幅值MV1与对应距离的商MV1/abs(currPocDiffL1),选择幅值为MV0的子运动矢量作为第一子运动矢量,并以第一子运动矢量作为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到第一子运动方向在不同运动组合下的第一子运动矢量偏移MMVD0=mmvdoffset时,获得第二子运动矢量与第一子运动矢量之间的幅值比MV1/MV0,以及第一距离与第二距离之比currPocDiffL0/currPocDiffL1,将幅值比MV1/MV0、距离比currPocDiffL0/currPocDiffL1在不同运动组合下的第一子运动矢量偏移MMVD0的乘积(MV1/MV0)*(currPocDiffL0/currPocDiffL1)*MMVD0作为第二子运动方向在对应运动组合下的第二子运动矢量偏移MMVD1,即MMVD1=(MV1/MV0)*(currPocDiffL0/currPocDiffL1)*MMVD0;或者,
例如,幅值为MV1的子运动矢量其幅值MV1与对应距离的商MV1/abs(currPocDiffL1)大于等于矢量为MV0的子运动矢量其幅值与对应距离的商MV0/abs(currPocDiffL0),选择幅值为MV1的子运动矢量作为第一子运动矢量,并以第一子运动矢量作为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到第一子运动方向在不同运动组合下的第一子运动矢量偏移MMVD1=mmvdoffset时,获得第二子运动矢量与第一子运动矢量之间的幅值比MV0/MV1,以及第一距离与第二距离之比currPocDiffL1/currPocDiffL0,将幅值比MV0/MV1、距离比currPocDiffL1/currPocDiffL0在不同运动组合下的第一子运动矢量偏移MMVD1的乘积(MV0/MV1)*(currPocDiffL1/currPocDiffL0)*MMVD1作为第二子运动方向在对应运动组合下的第二子运动矢量偏移MMVD0,即MMVD0=(MV0/MV1)*(currPocDiffL1/currPocDiffL0)*MMVD。
步骤S1050:由第一候选运动矢量在对应运动组合下的第一子运动矢量偏移与第二子运动矢量偏移组成第一候选运动矢量在对应运动组合下的运动矢量偏移。
由第一候选运动矢量在对应运动组合下的第一子运动矢量偏移与第二子运动矢量偏移组成第一候选运动矢量在对应运动组合下的运动矢量偏移。
在第二子方面的实施例中,MMVD模式的句法元素表达包括第一子运动矢量对应方向的句法元素,第一子运动矢量对应方向的句法元素包括第一子运动矢量偏移或者第一子运动矢量偏移对应的运动组合中运动搜索幅值索引和运动搜索方向索引。
请参阅图11,图11是图1中步骤S14一实施例的流程示意图。具体而言,步骤S14可以包括:
步骤S141:将第一候选运动矢量及其一运动矢量偏移相加得到对应一搜索运动矢量。
将第一候选运动矢量与其一运动矢量偏移相加得到对应一搜索运动矢量。例如,第一候选运动矢量的其中一个子运动矢量MV0为(16,-16),其中一个运动矢量偏移MMVD0为(8,8),则对应一个搜索运动矢量MV3=MV0+MMVD0为(24,-8);或者第一候选运动矢量的另一个子运动矢量MV1为(-32,40),其中一个运动矢量偏移MMVD1为(-64,-64),则对应一个搜索运动矢量MV4=MV1+MMVD1为(-96,-24)。
步骤S142:从第二候选列表中的第二候选运动矢量以及搜索运动矢量中,选出率失真代价符合预设代价条件的运动矢量以作为当前编码块的最佳运动矢量。
从第二候选列表中的第二候选运动矢量以及搜索运动矢量中,选出率失真代价符合预设代价条件的运动矢量,并将其作为当前编码块的最佳运动矢量。
在一个实施场景中,上述预设代价条件为率失真代价最小,具体而言,请结合参阅图12,上述步骤S142可以包括:
步骤S1421:确定每个第二候选运动矢量以及每个搜索运动矢量对应的预测块,并利用对应预测块计算出每个第二候选运动矢量以及每个搜索运动矢量的第一率失真代价,粗选出第一率失真代价最小的第四预设数量个运动矢量。
在一个实施场景中,可以基于已经确定的第二候选运动矢量以及搜索运动矢量的集合,采用低复杂度的SATD(Sum of Absolute Transformed Difference,即对残差进行哈德曼变换后的系数绝对和)来获取不同运动矢量的第一率失真代价Rdcost,具体计算可参阅下式:
Rdcost=D+λ*R
其中,D、R表示采用不同运动矢量时的失真和比特数,λ为拉格朗日因子。
基于第一率失真代价从第二候选运动矢量以及搜索运动矢量的集合中确定出第一率失真代价最小的第四预设数量个运动矢量。在一个实施场景中,第四预设数量可以为5,在其他实施场景中,第四预设数量也可以不限于5,例如4、6等等。
在另一个实施场景中,还可以基于已经确定的第二候选运动矢量,利用上式计算对应的第一率失真代价Rdcost,并基于计算得到的Rdcost构建包含第四预设数量个运动矢量的Rdcost代价列表和第二候选运动矢量在第二候选列表中对应index索引列表。然后,利用利用上式计算搜索运动矢量的第一率失真代价Rdcost,并与已经构建的Rdcost代价列表依次进行比对,从而更新Rdcost列表和index列表。
上述两种方法都可以粗选出第一率失真代价最小的第四预设数量个运动矢量,本实施例在此不限制具体的实施方式。
步骤S1422:利用对应预测块计算出每个粗选出的运动矢量的第二率失真代价,细选出第二率失真代价最小的运动矢量以作为当前编码块的最佳运动矢量。
在一个实施场景中,可以采用复杂度较高的SSE(Sum of Squared Error,即差值的平方和)来计算第二率失真代价,从而细选出第二率失真代价最小的运动矢量作为当前编码块的最佳运动矢量。SSE的具体算法为本领域的现有技术,本实施例在此不再赘述。
本实施例中,第一率失真代价的计算复杂度低于第二率失真代价的计算复杂度,第四预设数量为任意自然数。
上述方案,通过以计算复杂度较低的方式先粗选获取第四预设数量个运动矢量,再以计算复杂度较高的方式细选获取最佳运动矢量,从而在一定程度上降低了获取最佳运动矢量的计算复杂度,减少了处理负荷。
第二方面:
当当前编码块所在的帧为B帧时,还可以具体通过如下步骤获取最佳运动矢量,以提高最佳运动矢量的获取准确性,进而提高帧间预测的准确性。具体请结合参阅图13,包括如下步骤:
步骤S1310:构建当前编码块在MMVD模式下的第一候选列表。
第一候选列表包含第一预设数量个第一候选运动矢量,第一候选运动矢量包括分别对应两个方向的两个子运动矢量。在一个实施场景中,第一候选运动矢量所包含的两个子运动矢量的方向分别为前向和后向,在另一个实施场景中,第一候选运动矢量所包含的两个子运动矢量的方向分别为前向和前向,在又一个实施场景中,第一候选运动矢量所包含的两个子运动矢量的方向分别为后向和后向,本实施例在此不做具体限制。
在一个实施场景中,第一候选列表具体可以基于在预设帧间预测模式下而构建的运动矢量候选列表而进行构建。本实施例中,预设帧间预测模式包括但不限于Merge模式、AMVP模式。关于在Merge模式、AMVP模式下构建运动矢量候选列表可以参考前述实施方式,本实施例在此不再赘述。
第一预设数量为整数,在一个实施场景中,为了进一步提高第一候选运动矢量的数量,第一预设数量具体可以设置为大于2,例如3、4、5等等。
此外,从第二候选列表中选择的若干第二候选运动矢量中包含空域候选运动矢量和时域候选运动矢量,从而使得构建的第一候选列表中包含空域候选运动矢量和时域候选运动矢量。
具体可以参阅上述第一方面实施例中步骤S11。此外,构建当前编码块在MMVD模式下的第一候选列表的具体步骤可参阅上述第一方面实施例中步骤S111~步骤S112,本实施例在此不再赘述。
步骤S1320:确定第二预设数量个运动搜索幅值和第三预设数量个运动搜索方向。
在一个实施场景中,为了便于后续视频编码,还可以获取第二预设数量个运动搜索幅值,以构建幅值列表,在幅值列表中每一运动搜索幅值对应一索引值。
具体可参阅上述第一方面的实施例中的步骤S12。此外,在一个实施场景中,为了便于后续视频编码,还可以获取第三预设数量个运动搜索方向,以构建方向列表,方向列表中每一运动搜索方向对应一索引值,具体可以参阅上述第一方面实施例中步骤S121~步骤S123,本实施例在此不再赘述。
步骤S1330:针对每个第一候选运动矢量:以第一候选运动矢量的至少一个子运动方向作为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到第一候选运动矢量在不同运动组合下的运动矢量偏移,其中,运动矢量偏移包括对应两个方向的两个子运动矢量偏移。
在一个实施场景中,可以分别以第一候选运动矢量的两个子运动矢量作为起点,分别利用运动搜索幅值和运动搜索方向的不同组合进行搜索,从而分别得到两个子运动矢量在不同组合下的子运动矢量偏移,由于两个子运动矢量得到各自子运动矢量偏移的过程都是独立的,不相关的,因此通过自由组合可以得到第一候选运动矢量在不同组合下的运动矢量偏移。具体可以参阅上述第一方面实施例中第一子方面的相关描述,本实施例在此不再赘述。
在另一个实施场景中,还可以以第一运动矢量中的一个子运动矢量作为起点,利用运动搜索幅值和运动搜索方向的不同组合进行搜索,从而得到该子运动矢量在不同组合下的子运动矢量偏移,进而通过推导得到另一子运动矢量的子运动矢量的偏移,通过对应组合即可获得第一候选运动矢量子不同组合下的运动矢量偏移。具体可以参阅上述第一方面实施例中第二子方面的相关描述,本实施例在此不再赘述。
上述两种方式都可以得到第一候选运动矢量在不同运动组合下的运动矢量偏移,本实施例在此不做具体限制。
步骤S1340:基于每个第一候选运动矢量在不同运动组合下的运动矢量偏移,确定得到当前编码块的最佳运动矢量。
具体可以参阅上述第一方面的实施例中的步骤S14,以及上述第一方面的实施例中步骤S141~步骤S142、步骤S1421~步骤S1422,本实施例在此不再赘述。
第三方面:
请参阅图14,图14是本申请视频编码方法一实施例的流程示意图。具体而言,可以包括如下步骤:
步骤S1410:获取当前编码块的最佳运动矢量。
其中,当前编码块的最佳运动矢量是利用上述第一方面实施例的步骤获取的,或是利用上述第二方面实施例的步骤获取的。
步骤S1420:基于当前编码块的最佳运动矢量以及帧间预测方法中使用的句法元素表达,对当前编码块进行编码。
基于当前编码块的最佳运动矢量以及帧间预测方法中使用的句法元素表达,对当前编码块进行编码。
上述方案,可一定程度上扩大了搜索范围,增多了通过该搜索得到的像素块,进而得以基于该搜索得到的像素块的运动矢量偏移,确定得到当前编码块的最佳运动矢量,由于搜索到的像素块数量增多,故确定的最佳运动矢量的准确性也相应提高,进而提高帧间预测的准确性。
另外,当第一候选运动矢量所利用的运动搜索方向的索引值与对应第一候选运动矢量相关时,由于与第一候选运动矢量相关的运动搜索方向最终为当前编码块的最佳运动矢量所对应的运动搜索方向的概率较大,故将对于越大概率作为当前编码块的最佳运动矢量的运动搜索方向,其索引设置为越小,能够较大概率使得作为当前编码块的最佳运动矢量的运动搜索方向的索引为较小值,进而可以减少作为最佳运动矢量的运动搜索方向索引值的编码比特数,减少后续视频编码的码流数据量,提高编码压缩率,降低视频数据的传输带宽和视频数据的存储资源。
请参阅图15,图15是本申请基于MMVD模式的帧间预测装置1500一实施例的框架示意图。具体而言,基于MMVD模式的帧间预测装置1500包括候选列表构建模块1510、幅值方向确定模块1520、运动搜索执行模块1530、最佳矢量确定模块1540,候选列表构建模块1510用于构建当前编码块在MMVD模式下的第一候选列表,其中,第一候选列表包含第一预设数量个第一候选运动矢量;幅值方向确定模块1520用于确定第二预设数量个运动搜索幅值和第三预设数量个运动搜索方向;运动搜索执行模块1530用于针对每个第一候选运动矢量:以第一候选运动矢量为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,得到第一候选运动矢量在不同运动组合下的运动矢量偏移;最佳矢量确定模块1540用于基于每个第一候选运动矢量在不同运动组合下的运动矢量偏移,确定得到当前编码块的最佳运动矢量;其中,第一预设数量、第二预设数量、第三预设数量均为整数,且至少满足以下一者:第一预设数量大于2、第二预设数量大于6、第三预设数量大于4、以及第一候选运动矢量所利用的运动搜索方向的索引值与对应第一候选运动矢量相关。
上述方案,通过构建当前编码块在MMVD模式下包含第一预设数量个的第一候选运动矢量的第一候选列表,并确定第二预设数量个运动搜索幅值和第三预设数量个运动搜索方向,从而针对每个第一候选运动矢量:以第一候选运动矢量为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,得到第一候选运动矢量在不同运动组合下的运动矢量偏移,从而在一定程度上扩大了搜索范围,增多了运动矢量偏移的个数,进而得以基于每个第一候选运动矢量在不同运动组合下的众多运动矢量偏移,有利于确定得到当前编码块的最佳运动矢量,提高获取到的运动矢量的准确性,有利于提高帧间预测的准确性。
此外,还至少满足以下任一者:第一预设数量大于2、第二预设数量大于6、第三预设数量大于4、以及第一候选运动矢量所利用的运动搜索方向的索引值与对应第一候选运动矢量相关。当满足第一预设数量大于2、第二预设数量大于6、第三预设数量大于4中至少一者时,可以进一步扩大运动搜索范围,从而有利于进一步选出当前编码块的最佳运动矢量,进一步提高获取到的运动矢量的准确性,有利于提高帧间预测的准确性。当满足第一候选运动矢量所利用的运动搜索方向的索引值与对应第一候选运动矢量相关时,从而可以将较大概率作为当前编码块的最佳运动矢量所对应的运动搜索方向优先获取作为第一候选运动矢量的运动搜索方向,进而可以减少运动搜索方向索引值的编码比特数,进而减少后续视频编码的码流数据量,提高编码压缩率,降低视频数据的传输带宽和视频数据的存储资源。
在一些实施例中,幅值方向确定模块1520用于获取第二预设数量个运动搜索幅值,以构建幅值列表,以及获取第三预设数量个运动搜索方向,以构建方向列表。
在一些实施例中,运动搜索执行模块1530用于基于幅值列表和方向列表,以第一候选运动矢量作为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,得到第一候选运动矢量在不同运动组合下的运动矢量偏移。
在一些实施例中,每个第一候选运动矢量对应一个方向列表,幅值方向确定模块1520具体用于:获取第三预设数量个运动搜索方向;按照每个运动搜索方向与第一候选运动矢量之间的相关度,确定第三预设数量个运动搜索方向的索引,其中,与第二候选运动矢量越相关的运动搜索方向在方向列表中的索引越小,由第三预设数量个运动搜索方向及其索引,构建得到第一候选运动矢量对应的方向列表,其中,以第一候选运动矢量作为起点进行运动搜索时采用的方向列表为第一候选运动矢量的方向列表。
在一些实施例中,第二预设数量和第三预设数量均为8,第二预设数量个运动搜索幅值包括1/8像素、1/4像素、1/2像素、1像素、2像素、4像素、8像素、16像素,第三预设数量个运动搜索方向包括右方、左方、下方、上方、右下方、左下方、右上方、左上方。
在一些实施例中,候选列表构建模块1510包括列表获取模块,用于获取当前编码块的第二候选列表,其中,第二候选列表是在预设帧间预测模式下构建的,且包括若干第二候选运动矢量,候选列表构建模块1510还包括列表构建模块,用于从第二候选列表中依序选择第一预设数量个第二候选运动矢量,以作为第一候选列表中的第一候选运动矢量。
在一些实施例中,最佳矢量确定模块1540包括搜索运动矢量获取模块,用于将第一候选运动矢量及其一运动矢量偏移相加得到对应一搜索运动矢量,最佳矢量确定模块1540还包括运动矢量选择模块,用于从第二候选列表中的第二候选运动矢量以及搜索运动矢量中,选出率失真代价符合预设代价条件的运动矢量以作为当前编码块的最佳运动矢量。
在一些实施例中,预设代价条件为率失真代价最小,运动矢量选择模块具体用于确定每个第二候选运动矢量以及每个搜索运动矢量对应的预测块,并利用对应预测块计算出每个第二候选运动矢量以及每个搜索运动矢量的第一率失真代价,粗选出第一率失真代价最小的第四预设数量个运动矢量;利用对应预测块计算出每个粗选出的运动矢量的第二率失真代价,细选出第二率失真代价最小的运动矢量以作为当前编码块的最佳运动矢量,其中,第一率失真代价的计算复杂度低于第二率失真代价的计算复杂度,第四预设数量为任意自然数。
在一些实施例中,第一候选列表包括空域候选运动矢量和时域候选运动矢量;预设帧间预测模式包括merge模式和AMVP模式。
在一些实施例中,第一候选运动矢量包括分别对应两个方向的两个子运动矢量,当前编码块所在的当前帧为B帧,运动搜索执行模块1530还具体用于以第一候选运动矢量的至少一个子运动矢量作为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到第一候选运动矢量在不同运动组合下的运动矢量偏移,其中,运动矢量偏移包括对应两个方向的两个子运动矢量偏移。
在一些实施例中,运动搜索执行模块1530还具体用于以第一候选运动矢量的第一子运动矢量作为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到第一候选运动矢量在不同运动组合下的第一子运动矢量偏移;以第一候选运动矢量的第二子运动矢量作为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到第一候选运动矢量在不同运动组合下的第二子运动矢量偏移;由第一候选运动矢量在不同运动组合下的第一子运动矢量偏移与第二子运动矢量偏移组成第一候选运动矢量在不同运动组合下的运动矢量偏移;其中,MMVD模式的句法元素表达包括第一候选运动矢量的两个方向的句法元素,每个方向的句法元素包括运动矢量偏移或者运动矢量偏移对应的运动组合中运动搜索幅值索引和运动搜索方向索引。
在一些实施例中,运动搜索执行模块1530还具体用于获得第一候选运动矢量的第一子运动矢量和第二子运动矢量的幅值;从第一子运动矢量和第二子运动矢量中,选择幅值符合预设幅值条件的第一子运动矢量;以第一子运动矢量作为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到第一子运动方向在不同运动组合下的第一子运动矢量偏移;利用第一子运动矢量在不同运动组合下的第一子运动矢量偏移,获得第二子运动方向在对应不同运动组合下的第二子运动矢量偏移;由第一候选运动矢量在对应运动组合下的第一子运动矢量偏移与第二子运动矢量偏移组成第一候选运动矢量在对应运动组合下的运动矢量偏移;其中,MMVD模式的句法元素表达包括第一子运动矢量对应方向的句法元素,第一子运动矢量对应方向的句法元素包括第一子运动矢量偏移或者第一子运动矢量偏移对应的运动组合中运动搜索幅值索引和运动搜索方向索引。
在一些实施例中,预设幅值条件为第一子运动矢量和第二子运动矢量中幅值较大或者幅值相等,则运动搜索执行模块1530还具体用于获得第二子运动矢量与第一子运动矢量之间的幅值关系,基于幅值关系与在不同运动组合下的第一子运动矢量偏移确定第二子运动方向在对应运动组合下的第二子运动矢量偏移;或者,预设幅值条件为第一子运动矢量和第二子运动矢量中幅值与对应距离的商较大或者相等,第一子运动矢量的对应距离为第一子运动矢量对应的第一参考帧与当前帧之间的第一距离,第二子运动矢量的对应距离为第二子运动矢量对应的第二参考帧与当前帧之间的第二距离,则运动搜索执行模块1530还具体用于获得第二子运动矢量与第一子运动矢量之间的幅值关系以及第一距离与第二距离之间的距离关系,基于幅值关系、距离关系与在不同运动组合下的第一子运动矢量偏移确定第二子运动方向在对应运动组合下的第二子运动矢量偏移。
请参阅图16,图16是本申请基于MMVD模式的帧间预测装置1600另一实施例的框架示意图。具体而言,基于MMVD模式的帧间预测装置1600包括候选列表构建模块1610、幅值方向确定模块1620、运动搜索执行模块1630、最佳矢量确定模块1640,候选列表构建模块,用于构建当前编码块在MMVD模式下的第一候选列表,其中,第一候选列表包含第一预设数量个第一候选运动矢量,第一候选运动矢量包括分别对应两个方向的两个子运动矢量;幅值方向确定模块1610用于确定第二预设数量个运动搜索幅值和第三预设数量个运动搜索方向;运动搜索执行模块1620用于针对每个第一候选运动矢量:以第一候选运动矢量的至少一个子运动方向作为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索1630以得到第一候选运动矢量在不同运动组合下的运动矢量偏移,其中,运动矢量偏移包括对应两个方向的两个子运动矢量偏移;最佳矢量确定模块1640用于基于每个第一候选运动矢量在不同运动组合下的运动矢量偏移,确定得到当前编码块的最佳运动矢量。
上述方案,可一定程度上扩大了搜索范围,增多了运动矢量偏移的个数,进而得以基于每个第一候选运动矢量在不同运动组合下的众多运动矢量偏移,有利于确定得到当前编码块的最佳运动矢量,提高获取到的运动矢量的准确性,有利于提高帧间预测的准确性。
在一些实施例中,运动搜索执行模块1630具体用于以第一候选运动矢量的第一子运动矢量作为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到第一候选运动矢量在不同运动组合下的第一子运动矢量偏移;以第一候选运动矢量的第二子运动矢量作为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到第一候选运动矢量在不同运动组合下的第二子运动矢量偏移;由第一候选运动矢量在不同运动组合下的第一子运动矢量偏移与第二子运动矢量偏移组成第一候选运动矢量在不同运动组合下的运动矢量偏移。MMVD模式的句法元素表达包括第一候选运动矢量的两个方向的句法元素,每个方向的句法元素包括运动矢量偏移或者运动矢量偏移对应的运动组合中运动搜索幅值索引和运动搜索方向索引,运动搜索执行模块1630还具体用于将每个运动组合下的第一子运动矢量偏移与每个运动组合下的第二子运动矢量偏移进行不同组合,组成第一候选运动矢量在不同运动组合下的N个运动矢量偏移,其中,N等于第二预设数量J与第三预设数量K的积的平方。
在一些实施例中,运动搜索执行模块1630还具体用于获得第一候选运动矢量的第一子运动矢量和第二子运动矢量的幅值;从第一子运动矢量和第二子运动矢量中,选择幅值符合预设幅值条件的第一子运动矢量;以第一子运动矢量作为起点,分别利用运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到第一子运动方向在不同运动组合下的第一子运动矢量偏移;利用第一子运动矢量在不同运动组合下的第一子运动矢量偏移,获得第二子运动方向在不同运动组合下的第二子运动矢量偏移;由第一候选运动矢量在对应运动组合下的第一子运动矢量偏移与第二子运动矢量偏移组成第一候选运动矢量在对应运动组合下的运动矢量偏移。MMVD模式的句法元素表达包括第一子运动矢量对应方向的句法元素,第一子运动矢量对应方向的句法元素包括第一子运动矢量偏移或者第一子运动矢量偏移对应的运动组合中运动搜索幅值索引和运动搜索方向索引。预设幅值条件为第一子运动矢量和第二子运动矢量中幅值较大或者幅值相等,运动搜索执行模块1630还具体用于获得第二子运动矢量与第一子运动矢量之间的幅值关系,基于幅值关系与在不同运动组合下的第一子运动矢量偏移确定第二子运动方向在对应运动组合下的第二子运动矢量偏移,或者,预设幅值条件为第一子运动矢量和第二子运动矢量中幅值与对应距离的商较大或者相等,第一子运动矢量的对应距离为第一子运动矢量对应的第一参考帧与当前帧之间的第一距离,第二子运动矢量的对应距离为第二子运动矢量对应的第二参考帧与当前帧之间的第二距离,运动搜索执行模块1630还具体用于获得第二子运动矢量与第一子运动矢量之间的幅值关系以及第一距离与第二距离之间的距离关系,基于幅值关系、距离关系与在不同运动组合下的第一子运动矢量偏移确定第二子运动方向在对应运动组合下的第二子运动矢量偏移。
在一些实施例中,候选列表构建模块1610包括列表获取模块,用于获取当前编码块的第二候选列表,其中,第二候选列表是在预设帧间预测模式下构建的,且包括若干第二候选运动矢量,候选列表构建模块1610还包括列表构建模块,用于从第二候选列表中依序选择第一预设数量个第二候选运动矢量,以作为第一候选列表中的第一候选运动矢量。
在一些实施例中,最佳矢量确定模块1640包括搜索运动矢量获取模块,用于将第一候选运动矢量及其一运动矢量偏移相加得到对应一搜索运动矢量,最佳矢量确定模块1640还包括运动矢量选择模块,用于从第二候选列表中的第二候选运动矢量以及搜索运动矢量中,选出率失真代价符合预设代价条件的运动矢量以作为当前编码块的最佳运动矢量。其中,第一候选列表包括空域候选运动矢量和时域候选运动矢量;预设帧间预测模式包括merge模式和AMVP模式。
请参阅图17,图17是本申请视频编码装置1700一实施例的框架示意图。具体而言,视频编码装置1700包括获取模块1710、编码模块1720,获取模块1710用于获取当前编码块的最佳运动矢量,其中,当前编码块的最佳运动矢量是利用上述帧间预测装置1500或帧间预测装置1600获取的。编码模块1720用于基于当前编码块的最佳运动矢量以及上述帧间预测装置1500或上述帧间预测装置1600中使用的句法元素表达,对当前编码块进行编码。
上述方案,可一定程度上扩大了搜索范围,增多了通过该搜索得到的像素块,进而得以基于该搜索得到的像素块的运动矢量偏移,确定得到当前编码块的最佳运动矢量,由于搜索到的像素块数量增多,故确定的最佳运动矢量的准确性也相应提高,进而提高帧间预测的准确性。
另外,当第一候选运动矢量所利用的运动搜索方向的索引值与对应第一候选运动矢量相关时,由于与第一候选运动矢量相关的运动搜索方向最终为当前编码块的最佳运动矢量所对应的运动搜索方向的概率较大,故将对于越大概率作为当前编码块的最佳运动矢量的运动搜索方向,其索引设置为越小,能够较大概率使得作为当前编码块的最佳运动矢量的运算缩量方向的索引为较小值,进而可以减少作为最佳运动矢量的运动搜索方向索引值的编码比特数,减少后续视频编码的码流数据量,提高编码压缩率,降低视频数据的传输带宽和视频数据的存储资源。
请参阅图18,图18是本申请基于MMVD模式的帧间预测设备1800一实施例的框架示意图。基于MMVD模式的帧间预测设备1800包括相互耦接的处理器1810和存储器1820,存储器1810用于存储程序,处理器1820用于执行程序以实现上述第一方面中任一帧间预测方法实施例中的步骤。
具体而言,处理器1810用于控制其自身以及存储器1820以实现上述第一方面中任一帧间预测方法实施例中的步骤。处理器1810还可以称为CPU(Central Processing Unit,中央处理单元)。处理器1810可能是一种集成电路芯片,具有信号的处理能力。处理器1810还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器1810可以由多个集成电路芯片共同实现。
上述方案,可一定程度上扩大了搜索范围,增多了通过该搜索得到的像素块,进而得以基于该搜索得到的像素块的运动矢量偏移,确定得到当前编码块的最佳运动矢量,由于搜索到的像素块数量增多,故确定的最佳运动矢量的准确性也相应提高,进而提高帧间预测的准确性。
另外,当第一候选运动矢量所利用的运动搜索方向的索引值与对应第一候选运动矢量相关时,由于与第一候选运动矢量相关的运动搜索方向最终为当前编码块的最佳运动矢量所对应的运动搜索方向的概率较大,故将对于越大概率作为当前编码块的最佳运动矢量的运动搜索方向,其索引设置为越小,能够较大概率使得作为当前编码块的最佳运动矢量的运算缩量方向的索引为较小值,进而可以减少作为最佳运动矢量的运动搜索方向索引值的编码比特数,减少后续视频编码的码流数据量,提高编码压缩率,降低视频数据的传输带宽和视频数据的存储资源。
请参阅图19,图19是本申请基于MMVD模式的帧间预测设备1900另一实施例的框架示意图。基于MMVD模式的帧间预测设备1900包括相互耦接的处理器1910和存储器1920,存储器1910用于存储程序,处理器1920用于执行程序以实现上述第二方面中任一帧间预测方法实施例中的步骤。
具体而言,处理器1910用于控制其自身以及存储器1920以实现上述第二方面中任一帧间预测方法实施例中的步骤。处理器1910还可以称为CPU(Central Processing Unit,中央处理单元)。处理器1910可能是一种集成电路芯片,具有信号的处理能力。处理器1910还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器1910可以由多个集成电路芯片共同实现。
上述方案,可一定程度上使得确定的最佳运动矢量的准确性相应提高,有利于提高帧间预测的准确性。
请参阅图20,图20是本申请视频编码设备2000一实施例的框架示意图。视频编码设备2000包括相互耦接的处理器2010和存储器2020,存储器2020用于存储程序,处理器2010用于执行程序以实现上述第三方面视频编码方法任一实施例中的步骤。
具体而言,处理器2010用于控制其自身以及存储器2020以实现上述第三方面中任一帧间预测方法实施例中的步骤。处理器2010还可以称为CPU(Central Processing Unit,中央处理单元)。处理器2010可能是一种集成电路芯片,具有信号的处理能力。处理器2010还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器2010可以由多个集成电路芯片共同实现。
上述方案,可一定程度上使得确定的最佳运动矢量的准确性相应提高,有利于提高帧间预测的准确性。
请参阅图21,图21是本申请存储装置2100一实施例的框架示意图。本申请实施例的存储装置存储有能够实现上述所有方法的程序2110,该程序2110被执行时能够实现上述第一方面实施例中的步骤,或实现上述第二方面实施例中的步骤,或实现上述第三方面实施例中的步骤。其中,该程序2110可以以软件产品的形式存储在上述存储装置中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储装置包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
上述方案,可一定程度上使得确定的最佳运动矢量的准确性相应提高,有利于提高帧间预测的准确性。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。以上仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (21)

1.一种基于MMVD模式的帧间预测方法,其特征在于,包括:
构建当前编码块在MMVD模式下的第一候选列表,其中,所述第一候选列表包含第一预设数量个第一候选运动矢量;
确定第二预设数量个运动搜索幅值和第三预设数量个运动搜索方向;
针对每个所述第一候选运动矢量:以所述第一候选运动矢量为起点,分别利用所述运动搜索幅值和运动搜索方向的不同运动组合进行搜索,得到所述第一候选运动矢量在所述不同运动组合下的运动矢量偏移;
基于每个所述第一候选运动矢量在所述不同运动组合下的所述运动矢量偏移,确定得到所述当前编码块的最佳运动矢量;
其中,所述第一预设数量、所述第二预设数量、所述第三预设数量均为整数,且至少满足以下一者:所述第一预设数量大于2、所述第二预设数量大于6、所述第三预设数量大于4、以及所述第一候选运动矢量所利用的运动搜索方向的索引值与对应所述第一候选运动矢量相关。
2.根据权利要求1所述的方法,其特征在于,所述确定第二预设数量个运动搜索幅值和第三预设数量个运动搜索方向,包括:
获取第二预设数量个运动搜索幅值,以构建幅值列表,以及获取第三预设数量个运动搜索方向,以构建方向列表;
所述以所述第一候选运动矢量为起点,分别利用所述运动搜索幅值和运动搜索方向的不同运动组合进行搜索,得到所述第一候选运动矢量在所述不同运动组合下的运动矢量偏移,包括:
基于所述幅值列表和所述方向列表,以所述第一候选运动矢量作为起点,分别利用所述运动搜索幅值和运动搜索方向的不同运动组合进行搜索,得到所述第一候选运动矢量在所述不同运动组合下的运动矢量偏移。
3.根据权利要求2所述的方法,其特征在于,每个所述第一候选运动矢量对应一个方向列表,对于每个所述第一候选运动矢量,所述获取第三预设数量个运动搜索方向,以构建方向列表,包括:
获取第三预设数量个运动搜索方向;
按照每个所述运动搜索方向与所述第一候选运动矢量之间的相关度,确定所述第三预设数量个运动搜索方向的索引,其中,与所述第一候选运动矢量越相关的运动搜索方向在所述方向列表中的索引越小;
由所述第三预设数量个运动搜索方向及其索引,构建得到所述第一候选运动矢量对应的方向列表;其中,以所述第一候选运动矢量作为所述起点进行运动搜索时采用的方向列表为所述第一候选运动矢量的方向列表。
4.根据权利要求1所述的方法,其特征在于,
所述第二预设数量和第三预设数量均为8;
所述第二预设数量个运动搜索幅值包括1/8像素、1/4像素、1/2像素、1像素、2像素、4像素、8像素、16像素;
所述第三预设数量个运动搜索方向包括右方、左方、下方、上方、右下方、左下方、右上方、左上方。
5.根据权利要求1所述的方法,其特征在于,所述构建当前编码块在MMVD模式下的第一候选列表,包括:
获取当前编码块的第二候选列表,其中,所述第二候选列表是在预设帧间预测模式下构建的,且包括若干第二候选运动矢量;
从所述第二候选列表中依序选择所述第一预设数量个第二候选运动矢量,以作为第一候选列表中的第一候选运动矢量;
所述基于每个所述第一候选运动矢量在所述不同运动组合下的所述运动矢量偏移,确定得到所述当前编码块的最佳运动矢量,包括:
将所述第一候选运动矢量及其一所述运动矢量偏移相加得到对应一搜索运动矢量;
从所述第二候选列表中的第二候选运动矢量以及所述搜索运动矢量中,选出率失真代价符合预设代价条件的运动矢量以作为当前编码块的最佳运动矢量。
6.根据权利要求5所述的方法,其特征在于,所述预设代价条件为率失真代价最小;
所述从所述第二候选列表中的第二候选运动矢量以及所述搜索运动矢量中,选出率失真代价符合预设条件的运动矢量以作为当前编码块的最佳运动矢量,包括:
确定每个第二候选运动矢量以及每个所述搜索运动矢量对应的预测块,并利用对应所述预测块计算出每个第二候选运动矢量以及每个所述搜索运动矢量的第一率失真代价,粗选出所述第一率失真代价最小的第四预设数量个运动矢量;
利用对应预测块计算出每个所述粗选出的运动矢量的第二率失真代价,细选出所述第二率失真代价最小的运动矢量以作为当前编码块的最佳运动矢量;
其中,所述第一率失真代价的计算复杂度低于所述第二率失真代价的计算复杂度,所述第四预设数量为任意自然数。
7.根据权利要求5所述的方法,其特征在于,所述第一候选列表包括空域候选运动矢量和时域候选运动矢量;所述预设帧间预测模式包括merge模式和AMVP模式。
8.根据权利要求1所述的方法,其特征在于,所述第一候选运动矢量包括分别对应两个方向的两个子运动矢量;
所述当前编码块所在的当前帧为B帧,所述以所述第一候选运动矢量为起点,分别利用所述运动搜索幅值和运动搜索方向的不同运动组合进行搜索,得到所述第一候选运动矢量在所述不同运动组合下的运动矢量偏移,包括:
以所述第一候选运动矢量的至少一个子运动矢量作为起点,分别利用所述运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到所述第一候选运动矢量在所述不同运动组合下的运动矢量偏移,其中,所述运动矢量偏移包括对应所述两个方向的两个子运动矢量偏移。
9.根据权利要求8所述的方法,其特征在于,所述以所述第一候选运动矢量的至少一个子运动方向作为起点,分别利用所述运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到所述第一候选运动矢量在所述不同运动组合下的运动矢量偏移,包括:
以所述第一候选运动矢量的第一子运动矢量作为起点,分别利用所述运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到所述第一候选运动矢量在所述不同运动组合下的第一子运动矢量偏移;
以所述第一候选运动矢量的第二子运动矢量作为起点,分别利用所述运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到所述第一候选运动矢量在所述不同运动组合下的第二子运动矢量偏移;
由所述第一候选运动矢量在不同运动组合下的所述第一子运动矢量偏移与所述第二子运动矢量偏移组成所述第一候选运动矢量在不同运动组合下的运动矢量偏移;
其中,所述MMVD模式的句法元素表达包括所述第一候选运动矢量的两个方向的句法元素,每个所述方向的句法元素包括所述运动矢量偏移或者所述运动矢量偏移对应的运动组合中运动搜索幅值索引和运动搜索方向索引。
10.根据权利要求8所述的方法,其特征在于,所述以所述第一候选运动矢量的至少一个子运动方向作为起点,分别利用所述运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到所述第一候选运动矢量在所述不同运动组合下的运动矢量偏移,包括:
获得所述第一候选运动矢量的第一子运动矢量和第二子运动矢量的幅值;
从所述第一子运动矢量和第二子运动矢量中,选择幅值符合预设幅值条件的第一子运动矢量;
以所述第一子运动矢量作为起点,分别利用所述运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到所述第一子运动方向在所述不同运动组合下的第一子运动矢量偏移;
利用所述第一子运动矢量在所述不同运动组合下的第一子运动矢量偏移,获得所述第二子运动方向在对应不同运动组合下的第二子运动矢量偏移;
由所述第一候选运动矢量在对应运动组合下的所述第一子运动矢量偏移与所述第二子运动矢量偏移组成所述第一候选运动矢量在对应运动组合下的运动矢量偏移;
其中,所述MMVD模式的句法元素表达包括所述第一子运动矢量对应方向的句法元素,所述第一子运动矢量对应方向的句法元素包括所述第一子运动矢量偏移或者所述第一子运动矢量偏移对应的运动组合中运动搜索幅值索引和运动搜索方向索引。
11.根据权利要求10所述的方法,其特征在于,
所述预设幅值条件为所述第一子运动矢量和第二子运动矢量中幅值较大或者幅值相等;所述利用所述第一子运动矢量在所述不同运动组合下的第一子运动矢量偏移,获得所述第二子运动方向在所述不同运动组合下的第二子运动矢量偏移,包括:
获得所述第二子运动矢量与所述第一子运动矢量之间的幅值关系,基于所述幅值关系与在所述不同运动组合下的所述第一子运动矢量偏移确定所述第二子运动方向在对应所述运动组合下的第二子运动矢量偏移;或者
所述预设幅值条件为所述第一子运动矢量和第二子运动矢量中幅值与对应距离的商较大或者相等,所述第一子运动矢量的对应距离为所述第一子运动矢量对应的第一参考帧与所述当前帧之间的第一距离,所述第二子运动矢量的对应距离为所述第二子运动矢量对应的第二参考帧与所述当前帧之间的第二距离;所述利用所述第一子运动矢量在所述不同运动组合下的第一子运动矢量偏移,获得所述第二子运动方向在所述不同运动组合下的第二子运动矢量偏移,包括:
获得所述第二子运动矢量与所述第一子运动矢量之间的幅值关系以及所述第一距离与所述第二距离之间的距离关系,基于所述幅值关系、距离关系与在所述不同运动组合下的所述第一子运动矢量偏移确定所述第二子运动方向在对应所述运动组合下的第二子运动矢量偏移。
12.一种基于MMVD模式的帧间预测方法,其特征在于,包括:
构建当前编码块在MMVD模式下的第一候选列表,其中,所述第一候选列表包含第一预设数量个第一候选运动矢量,所述第一候选运动矢量包括分别对应两个方向的两个子运动矢量;
确定第二预设数量个运动搜索幅值和第三预设数量个运动搜索方向;
针对每个所述第一候选运动矢量:以所述第一候选运动矢量的至少一个子运动方向作为起点,分别利用所述运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到所述第一候选运动矢量在所述不同运动组合下的运动矢量偏移,其中,所述运动矢量偏移包括对应所述两个方向的两个子运动矢量偏移;
基于每个所述第一候选运动矢量在所述不同运动组合下的所述运动矢量偏移,确定得到所述当前编码块的最佳运动矢量。
13.根据权利要求12所述的方法,其特征在于,所述以所述第一候选运动矢量的至少一个子运动方向作为起点,分别利用所述运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到所述第一候选运动矢量在所述不同运动组合下的运动矢量偏移,包括:
以所述第一候选运动矢量的第一子运动矢量作为起点,分别利用所述运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到所述第一候选运动矢量在所述不同运动组合下的第一子运动矢量偏移;
以所述第一候选运动矢量的第二子运动矢量作为起点,分别利用所述运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到所述第一候选运动矢量在所述不同运动组合下的第二子运动矢量偏移;
由所述第一候选运动矢量在不同运动组合下的所述第一子运动矢量偏移与所述第二子运动矢量偏移组成所述第一候选运动矢量在不同运动组合下的运动矢量偏移。
14.根据权利要求13所述的方法,其特征在于,所述MMVD模式的句法元素表达包括所述第一候选运动矢量的两个方向的句法元素,每个所述方向的句法元素包括所述运动矢量偏移或者所述运动矢量偏移对应的运动组合中运动搜索幅值索引和运动搜索方向索引;和/或
所述由所述第一候选运动矢量在不同运动组合下的所述第一子运动矢量偏移与所述第二子运动矢量偏移组成所述第一候选运动矢量在不同运动组合下的运动矢量偏移,包括:
将每个所述运动组合下的第一子运动矢量偏移与每个所述运动组合下的第二子运动矢量偏移进行不同组合,组成所述第一候选运动矢量在不同运动组合下的N个运动矢量偏移,其中,所述N等于第二预设数量J与第三预设数量K的积的平方。
15.根据权利要求12所述的方法,其特征在于,所述以所述第一候选运动矢量的至少一个子运动方向作为起点,分别利用所述运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到所述第一候选运动矢量在所述不同运动组合下的运动矢量偏移,包括:
获得所述第一候选运动矢量的第一子运动矢量和第二子运动矢量的幅值;
从所述第一子运动矢量和第二子运动矢量中,选择幅值符合预设幅值条件的第一子运动矢量;
以所述第一子运动矢量作为起点,分别利用所述运动搜索幅值和运动搜索方向的不同运动组合进行搜索,以得到所述第一子运动方向在所述不同运动组合下的第一子运动矢量偏移;
利用所述第一子运动矢量在所述不同运动组合下的第一子运动矢量偏移,获得所述第二子运动方向在所述不同运动组合下的第二子运动矢量偏移;
由所述第一候选运动矢量在对应运动组合下的所述第一子运动矢量偏移与所述第二子运动矢量偏移组成所述第一候选运动矢量在对应运动组合下的运动矢量偏移。
16.根据权利要求15所述的方法,其特征在于,所述MMVD模式的句法元素表达包括所述第一子运动矢量对应方向的句法元素,所述第一子运动矢量对应方向的句法元素包括所述第一子运动矢量偏移或者所述第一子运动矢量偏移对应的运动组合中运动搜索幅值索引和运动搜索方向索引;和/或
所述预设幅值条件为所述第一子运动矢量和第二子运动矢量中幅值较大或者幅值相等;所述利用所述第一子运动矢量在所述不同运动组合下的第一子运动矢量偏移,获得所述第二子运动方向在所述不同运动组合下的第二子运动矢量偏移,包括:
获得所述第二子运动矢量与所述第一子运动矢量之间的幅值关系,基于所述幅值关系与在所述不同运动组合下的所述第一子运动矢量偏移确定所述第二子运动方向在对应所述运动组合下的第二子运动矢量偏移;或者
所述预设幅值条件为所述第一子运动矢量和第二子运动矢量中幅值与对应距离的商较大或者相等,所述第一子运动矢量的对应距离为所述第一子运动矢量对应的第一参考帧与所述当前帧之间的第一距离,所述第二子运动矢量的对应距离为所述第二子运动矢量对应的第二参考帧与所述当前帧之间的第二距离;
所述利用所述第一子运动矢量在所述不同运动组合下的第一子运动矢量偏移,获得所述第二子运动方向在所述不同运动组合下的第二子运动矢量偏移,包括:
获得所述第二子运动矢量与所述第一子运动矢量之间的幅值关系以及所述第一距离与所述第二距离之间的距离关系,基于所述幅值关系、距离关系与在所述不同运动组合下的所述第一子运动矢量偏移确定所述第二子运动方向在对应所述运动组合下的第二子运动矢量偏移。
17.根据权利要求12所述的方法,其特征在于,所述构建当前编码块在MMVD模式下的第一候选列表,包括:
获取当前编码块的第二候选列表,其中,所述第二候选列表是在预设帧间预测模式下构建的,且包括若干第二候选运动矢量;
从所述第二候选列表中依序选择所述第一预设数量个第二候选运动矢量,以作为第一候选列表中的第一候选运动矢量;
所述基于每个所述第一候选运动矢量在所述不同运动组合下的所述运动矢量偏移,确定得到所述当前编码块的最佳运动矢量,包括:
将所述第一候选运动矢量及其一所述运动矢量偏移相加得到对应一搜索运动矢量;
从所述第二候选列表中的第二候选运动矢量以及所述搜索运动矢量中,选出率失真代价符合预设代价条件的运动矢量以作为当前编码块的最佳运动矢量;
其中,所述第一候选列表包括空域候选运动矢量和时域候选运动矢量;所述预设帧间预测模式包括merge模式和AMVP模式。
18.一种视频编码方法,其特征在于,包括:
获取当前编码块的最佳运动矢量,其中,所述当前编码块的运动矢量是利用权利要求1至17任一项所述的帧间预测方法获取的;
基于所述当前编码块的最佳运动矢量以及所述帧间预测方法中使用的句法元素表达,对所述当前编码块进行编码。
19.一种基于MMVD模式的帧间预测设备,其特征在于,包括:相互耦接的处理器和存储器,所述存储器用于存储程序,所述处理器用于执行所述程序以实现如权利要求1至17任一项所述的方法。
20.一种视频编码设备,其特征在于,包括相互耦接的处理器和存储器,所述存储器用于存储程序,所述处理器用于执行所述程序以实现如权利要求18所述的方法。
21.一种存储装置,其特征在于,存储有程序,所述程序被执行时能够实现如权利要求1-17任一项所述的方法,或实现如权利要求18所述的方法。
CN201910775394.0A 2019-08-21 2019-08-21 基于mmvd模式的帧间预测方法、视频编码方法及相关装置、设备 Active CN110545424B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910775394.0A CN110545424B (zh) 2019-08-21 2019-08-21 基于mmvd模式的帧间预测方法、视频编码方法及相关装置、设备
PCT/CN2020/110644 WO2021032206A1 (en) 2019-08-21 2020-08-21 Inter-frame prediction method based on merge with motion vector difference (mmvd) mode, video coding method, related device and apparatus
EP20854330.6A EP4018666A4 (en) 2019-08-21 2020-08-21 INTER-FRAME PREDICTION METHODS BASED ON MOTION VECTOR DIFFERENCE (MMVD) MODE MERGING, VIDEO CODING METHODS, ASSOCIATED APPARATUS AND DEVICE
US17/676,783 US12113983B2 (en) 2019-08-21 2022-02-21 Inter-frame prediction method based on merge with motion vector difference (MMVD) mode, video coding method, related device and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910775394.0A CN110545424B (zh) 2019-08-21 2019-08-21 基于mmvd模式的帧间预测方法、视频编码方法及相关装置、设备

Publications (2)

Publication Number Publication Date
CN110545424A true CN110545424A (zh) 2019-12-06
CN110545424B CN110545424B (zh) 2021-05-11

Family

ID=68711750

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910775394.0A Active CN110545424B (zh) 2019-08-21 2019-08-21 基于mmvd模式的帧间预测方法、视频编码方法及相关装置、设备

Country Status (4)

Country Link
US (1) US12113983B2 (zh)
EP (1) EP4018666A4 (zh)
CN (1) CN110545424B (zh)
WO (1) WO2021032206A1 (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111885389A (zh) * 2020-07-24 2020-11-03 腾讯科技(深圳)有限公司 一种多媒体数据编码方法、装置及存储介质
CN111901590A (zh) * 2020-06-29 2020-11-06 北京大学 一种用于帧间预测的细化运动矢量存储方法及装置
CN111970516A (zh) * 2020-07-22 2020-11-20 浙江大华技术股份有限公司 帧间预测方法、视频编码方法及电子设备、存储装置
CN112055206A (zh) * 2020-08-24 2020-12-08 浙江大华技术股份有限公司 一种帧间预测方法、电子设备和存储装置
CN112055207A (zh) * 2020-08-06 2020-12-08 浙江大华技术股份有限公司 时域运动矢量预测方法、设备及存储介质
CN112291565A (zh) * 2020-09-10 2021-01-29 浙江大华技术股份有限公司 视频编码方法及其相关装置
WO2021032206A1 (en) * 2019-08-21 2021-02-25 Zhejiang Dahua Technology Co., Ltd. Inter-frame prediction method based on merge with motion vector difference (mmvd) mode, video coding method, related device and apparatus
CN113507609A (zh) * 2021-09-09 2021-10-15 康达洲际医疗器械有限公司 一种基于时空域预测的帧间图像并行编码方法
CN113596475A (zh) * 2021-06-24 2021-11-02 浙江大华技术股份有限公司 图像/视频编码方法、装置、系统及计算机可读存储介质
CN113727119A (zh) * 2020-05-20 2021-11-30 Oppo广东移动通信有限公司 帧间预测方法、编码器、解码器以及计算机存储介质
CN114374849A (zh) * 2020-10-18 2022-04-19 腾讯科技(深圳)有限公司 一种候选运动信息列表确定方法、装置、电子设备及存储介质
CN115278256A (zh) * 2020-03-16 2022-11-01 北京达佳互联信息技术有限公司 对视频数据进行解码的方法、装置和介质
WO2023051646A1 (en) * 2021-09-30 2023-04-06 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240055149A (ko) * 2018-05-10 2024-04-26 엘지전자 주식회사 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
CN113630602B (zh) * 2021-06-29 2024-07-02 杭州未名信科科技有限公司 编码单元的仿射运动估计方法、装置、存储介质及终端
US20230336772A1 (en) * 2022-04-18 2023-10-19 Tencent America LLC Mmvd candidate refinement methods
WO2023246634A1 (en) * 2022-06-22 2023-12-28 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1774933A (zh) * 2003-04-10 2006-05-17 Sk电信有限公社 确定视频编码器中的自适应运动矢量的搜索范围的方法及设备
US20070258521A1 (en) * 2006-05-02 2007-11-08 National Central University Method for motion search between video frames with multiple blocks
US20120128261A1 (en) * 2010-11-22 2012-05-24 Electronics And Telecommunications Research Institute Adaptive motion search range determining apparatus and method
CN104639944A (zh) * 2013-11-13 2015-05-20 安纳帕斯股份有限公司 运动估计的方法和使用该方法的图像处理装置
US20160080760A1 (en) * 2014-09-17 2016-03-17 Socionext Inc. Encoder circuit and encoding method
CN108419082A (zh) * 2017-02-10 2018-08-17 北京金山云网络技术有限公司 一种运动估计方法及装置
CN108605122A (zh) * 2015-11-19 2018-09-28 韩国电子通信研究院 用于编码/解码屏幕内预测模式的方法和装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230135157A (ko) * 2017-09-19 2023-09-22 삼성전자주식회사 움직임 정보의 부호화 및 복호화 방법, 및 움직임 정보의 부호화 및 복호화 장치
US20210006824A1 (en) * 2018-01-08 2021-01-07 Samsung Electronics Co., Ltd. Encoding and decoding method for motion information, and encoding and decoding device for motion information
WO2020125750A1 (en) * 2018-12-21 2020-06-25 Beijing Bytedance Network Technology Co., Ltd. Motion vector precision in merge with motion vector difference mode
WO2020125756A1 (en) * 2018-12-21 2020-06-25 Beijing Bytedance Network Technology Co., Ltd. Motion vector bit depth in video processing
ES2968163T3 (es) * 2019-02-20 2024-05-08 Beijing Dajia Internet Information Tech Co Ltd Derivación de vector de movimiento restringido para imágenes de referencia a largo plazo en codificación de video
US10979716B2 (en) * 2019-03-15 2021-04-13 Tencent America LLC Methods of accessing affine history-based motion vector predictor buffer
CN112135135A (zh) * 2019-06-24 2020-12-25 腾讯美国有限责任公司 视频解码方法、装置、计算机设备及存储介质
US11272200B2 (en) * 2019-06-24 2022-03-08 Tencent America LLC Method and apparatus for video coding
CN110545424B (zh) * 2019-08-21 2021-05-11 浙江大华技术股份有限公司 基于mmvd模式的帧间预测方法、视频编码方法及相关装置、设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1774933A (zh) * 2003-04-10 2006-05-17 Sk电信有限公社 确定视频编码器中的自适应运动矢量的搜索范围的方法及设备
US20070258521A1 (en) * 2006-05-02 2007-11-08 National Central University Method for motion search between video frames with multiple blocks
US20120128261A1 (en) * 2010-11-22 2012-05-24 Electronics And Telecommunications Research Institute Adaptive motion search range determining apparatus and method
CN104639944A (zh) * 2013-11-13 2015-05-20 安纳帕斯股份有限公司 运动估计的方法和使用该方法的图像处理装置
US20160080760A1 (en) * 2014-09-17 2016-03-17 Socionext Inc. Encoder circuit and encoding method
CN108605122A (zh) * 2015-11-19 2018-09-28 韩国电子通信研究院 用于编码/解码屏幕内预测模式的方法和装置
CN108419082A (zh) * 2017-02-10 2018-08-17 北京金山云网络技术有限公司 一种运动估计方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
NAERI PARK等: "CE4-related : Candidates optimization on MMVD", 《JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 13TH MEETING: MARRAKECH, MA, JVET-M0307, 12 JULY 2018》 *
SEUNGSOO JEONG等: "CE4 Ultimate motion vector expression (Test 4.5.4)", 《JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 13TH MEETING: MACAO, CN, JVET-L0054, 05 OCTOBER 2018》 *
SEUNGSOO JEONG等: "CE4 Ultimate motion vector expression in J0024 (Test 4.2.9)", 《JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 11TH MEETING: LJUBLJANA, SI, JVET-K0115, 12 JULY 2018》 *

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021032206A1 (en) * 2019-08-21 2021-02-25 Zhejiang Dahua Technology Co., Ltd. Inter-frame prediction method based on merge with motion vector difference (mmvd) mode, video coding method, related device and apparatus
US12113983B2 (en) 2019-08-21 2024-10-08 Zhejiang Dahua Technology Co., Ltd. Inter-frame prediction method based on merge with motion vector difference (MMVD) mode, video coding method, related device and apparatus
US12047598B2 (en) 2020-03-16 2024-07-23 Beijing Dajia Internet Information Technology Co., Ltd. Merge mode with motion vector differences
CN115278256B (zh) * 2020-03-16 2023-09-08 北京达佳互联信息技术有限公司 对视频数据进行解码的方法、装置和介质
CN115278256A (zh) * 2020-03-16 2022-11-01 北京达佳互联信息技术有限公司 对视频数据进行解码的方法、装置和介质
CN113727119A (zh) * 2020-05-20 2021-11-30 Oppo广东移动通信有限公司 帧间预测方法、编码器、解码器以及计算机存储介质
CN113727119B (zh) * 2020-05-20 2023-03-17 Oppo广东移动通信有限公司 帧间预测方法、编码器、解码器以及计算机存储介质
CN111901590B (zh) * 2020-06-29 2023-04-18 北京大学 一种用于帧间预测的细化运动矢量存储方法及装置
CN111901590A (zh) * 2020-06-29 2020-11-06 北京大学 一种用于帧间预测的细化运动矢量存储方法及装置
CN111970516A (zh) * 2020-07-22 2020-11-20 浙江大华技术股份有限公司 帧间预测方法、视频编码方法及电子设备、存储装置
CN111970516B (zh) * 2020-07-22 2022-02-18 浙江大华技术股份有限公司 帧间预测方法、视频编码方法及电子设备、存储装置
CN111885389A (zh) * 2020-07-24 2020-11-03 腾讯科技(深圳)有限公司 一种多媒体数据编码方法、装置及存储介质
CN111885389B (zh) * 2020-07-24 2021-08-24 腾讯科技(深圳)有限公司 一种多媒体数据编码方法、装置及存储介质
CN112055207B (zh) * 2020-08-06 2024-05-31 浙江大华技术股份有限公司 时域运动矢量预测方法、设备及存储介质
CN112055207A (zh) * 2020-08-06 2020-12-08 浙江大华技术股份有限公司 时域运动矢量预测方法、设备及存储介质
CN112055206B (zh) * 2020-08-24 2024-06-07 浙江大华技术股份有限公司 一种帧间预测方法、电子设备和存储装置
CN112055206A (zh) * 2020-08-24 2020-12-08 浙江大华技术股份有限公司 一种帧间预测方法、电子设备和存储装置
CN112291565A (zh) * 2020-09-10 2021-01-29 浙江大华技术股份有限公司 视频编码方法及其相关装置
CN112291565B (zh) * 2020-09-10 2021-09-14 浙江大华技术股份有限公司 视频编码方法及其相关装置
CN114374849A (zh) * 2020-10-18 2022-04-19 腾讯科技(深圳)有限公司 一种候选运动信息列表确定方法、装置、电子设备及存储介质
WO2022078150A1 (zh) * 2020-10-18 2022-04-21 腾讯科技(深圳)有限公司 候选运动信息列表确定方法、装置、电子设备及存储介质
CN113596475A (zh) * 2021-06-24 2021-11-02 浙江大华技术股份有限公司 图像/视频编码方法、装置、系统及计算机可读存储介质
CN113507609B (zh) * 2021-09-09 2021-11-19 康达洲际医疗器械有限公司 一种基于时空域预测的帧间图像并行编码方法
CN113507609A (zh) * 2021-09-09 2021-10-15 康达洲际医疗器械有限公司 一种基于时空域预测的帧间图像并行编码方法
WO2023051646A1 (en) * 2021-09-30 2023-04-06 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing

Also Published As

Publication number Publication date
US12113983B2 (en) 2024-10-08
US20220217356A1 (en) 2022-07-07
WO2021032206A1 (en) 2021-02-25
EP4018666A1 (en) 2022-06-29
EP4018666A4 (en) 2022-10-26
CN110545424B (zh) 2021-05-11

Similar Documents

Publication Publication Date Title
CN110545424B (zh) 基于mmvd模式的帧间预测方法、视频编码方法及相关装置、设备
US10631003B2 (en) Moving picture coding device, moving picture coding method, and moving picture coding program, and moving picture decoding device, moving picture decoding method, and moving picture decoding program
US10484705B2 (en) Video prediction encoding device, video prediction encoding method, video prediction encoding program, video prediction decoding device, video prediction decoding method, and video prediction decoding program
KR102279115B1 (ko) 화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램
CN116233463A (zh) 用于多参考预测的运动矢量修正
KR102365353B1 (ko) 화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램
US20250024018A1 (en) Motion vector prediction for video coding
CN111586415B (zh) 视频编码方法、装置、编码器及存储装置
KR101409826B1 (ko) 적응적 탐색 범위를 이용한 움직임 예측 방법
WO2021052477A1 (en) Method for acquiring motion vectors, prediction method and device
CN112004097B (zh) 帧间预测方法、图像处理装置以及计算机可读存储介质
US9313492B2 (en) Device and method for moving image encoding
CN113382248B (zh) 帧间预测值修正方法、编码器及计算机可读存储介质
CN107197290A (zh) 推导缩放的运动向量的方法、装置和计算机可读媒介
JP2025060684A (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