CN115037942A - 视频图像处理方法与装置 - Google Patents

视频图像处理方法与装置 Download PDF

Info

Publication number
CN115037942A
CN115037942A CN202210376345.1A CN202210376345A CN115037942A CN 115037942 A CN115037942 A CN 115037942A CN 202210376345 A CN202210376345 A CN 202210376345A CN 115037942 A CN115037942 A CN 115037942A
Authority
CN
China
Prior art keywords
block
motion vector
image block
current image
candidate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210376345.1A
Other languages
English (en)
Inventor
郑萧桢
王苏红
王苫社
马思伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peking University
SZ DJI Technology Co Ltd
Original Assignee
Peking University
SZ DJI 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
Priority claimed from PCT/CN2018/112805 external-priority patent/WO2019192170A1/zh
Application filed by Peking University, SZ DJI Technology Co Ltd filed Critical Peking University
Priority claimed from PCT/CN2019/078051 external-priority patent/WO2019192301A1/zh
Publication of CN115037942A publication Critical patent/CN115037942A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • 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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/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
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Abstract

提供一种视频图像处理方法与装置,该方法包括:对当前图像块的预设的M个邻近块中的N个邻近块依次扫描,根据扫描结果确定目标邻近块,N小于M;根据所述目标邻近块的运动矢量、所述当前图像块以及所述当前图像块的参考图像,确定所述当前图像块的相关块;将所述当前图像块和所述相关块采用相同的方式划分成多个子图像块,所述当前图像块中的各子图像块与所述相关块中的各子图像块一一对应;根据所述相关块中各子图像块的运动矢量分别对所述当前图像块中对应的子图像块进行预测。在保证编解码性能的前提下,可以降低复杂度。

Description

视频图像处理方法与装置
本申请是申请日为2019年3月13日、申请号为201980002813.5的中国专利申请“视频图像处理方法与装置”的分案申请。
本申请要求申请号为PCT/CN2018/081652、PCT/CN2018/095710、PCT/CN2018/103693、PCT/CN2018/107436和PCT/CN2018/112805的PCT申请的优先权,其全部内容通过引用结合在本申请中。
版权申明
本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。
技术领域
本申请涉及视频编解码领域,并具体涉及一种视频图像处理方法与装置。
背景技术
目前,主要的视频编码标准在帧间预测部分都采用了基于块的运动补偿技术,其主要原理是为当前图像块在已编码图像中寻找一个最相似块,该过程称为运动补偿。例如,对于一帧图像,先分成等大的编码区域(Coding Tree Unit,CTU),例如,大小为64×64或128×128。每个CTU可以进一步划分成方形或矩形的编码单元(Coding Unit,CU)。每个CU在参考帧中(一般为当前帧的时域附近的已重构帧)寻找最相似块作为当前CU的预测块。当前块(即当前CU)与相似块(即当前CU的预测块)之间的相对位移称为运动矢量(MotionVector,MV)。在参考帧中寻找最相似块作为当前块的预测块的过程就是运动补偿。
当前技术中,通常根据两种方式构建当前CU的运动矢量候选列表,运动矢量候选列表也称为merge候选列表。运动矢量候选列表中包括空域的候选运动矢量,通常是将当前CU的已编码的邻近块的运动矢量(或运动信息)填充至运动矢量候选列表中。运动矢量候选列表中还包括时域的候选运动矢量,时域运动矢量预测(Temproal Motion VectorPrediction,TMVP)利用当前CU在邻近已编码图像中对应位置CU(即同位CU)的运动矢量(或运动信息)。从merge候选列表中选择最优的一个候选运动矢量作为当前CU的运动矢量;根据当前CU的运动矢量确定当前CU的预测块。
高级/可选时域运动矢量预测技术(Advanced/Alternative temporal motionvector prediction,ATMVP)是一种运动矢量预测机制。ATMVP技术的基本思想是通过获取当前CU内多个子块的运动信息进行运动补偿。ATMVP技术在构建候选列表(例如merge候选列表或者AMVP(Advanced Motion Vector Prediction)候选列表)中引入当前CU内多个子块的运动信息作为候选。ATMVP技术的实现大致可以分为两个步骤。第一步,通过扫描当前CU的候选运动矢量列表或当前CU的相邻图象块的运动矢量,确定一个时域矢量;第二步,将当前CU划分为N×N(N默认为4)的子块(sub-CU),根据第一步获取的时域矢量确定各个子块在参考帧中的对应块,并根据各个子块在参考帧中对应块的运动矢量,确定各个子块的运动矢量。
在当前ATMVP技术的第一步中,通过扫描当前CU的候选运动矢量列表或当前CU的相邻图象块的运动矢量,确定一个时域矢量的过程还存在改进的空间。当前ATMVP技术的第二步对sub-CU的大小进行了帧级自适应的设置,默认大小为4×4。当满足一定预设条件时,sub-CU的大小将被设置为8×8。sub-CU的大小设定存在一些与目前运动信息存储颗粒度(8×8)不匹配的问题。ATMVP技术与TMVP技术在某些情况下存在冗余操作,构造候选运动矢量列表的过程存在改进的空间。
发明内容
本申请提供一种视频图像处理方法与装置,在保持现有ATMVP技术的性能增益的前提下,可以降低ATMVP技术的复杂度。
第一方面,提供一种视频图像处理方法,该方法包括:
对当前图像块的预设的M个邻近块中的N个邻近块依次扫描,根据扫描结果确定目标邻近块,N小于M;
根据所述目标邻近块的运动矢量、所述当前图像块以及所述当前图像块的参考图像,确定所述当前图像块的相关块;
将所述当前图像块和所述相关块采用相同的方式划分成多个子图像块,所述当前图像块中的各子图像块与所述相关块中的各子图像块一一对应;
根据所述相关块中各子图像块的运动矢量分别对所述当前图像块中对应的子图像块进行预测。
在本申请提供的方案中,在获取当前图像块的参考运动矢量过程中,仅对已经获取的M个候选运动矢量中的N(N小于M)个候选运动矢量依次扫描,相对于现有技术,可以减少在获取当前图像块的参考运动矢量过程中对候选运动矢量的扫描次数。应理解,将本申请提供的方案应用于现有ATMVP技术的第一步中,可以对其存在的冗余操作进行简化。
第二方面,提供一种视频图像处理方法,该方法包括:
根据当前图像块的运动矢量第二候选列表中的M个候选者确定所述当前图像块的M个邻近块;
对所述M个邻近块中的N个邻近块依次扫描,根据扫描结果确定目标邻近块.N小于M;
根据所述目标邻近块的运动矢量、所述当前图像块以及所述当前图像块的参考图像,确定所述当前图像块的相关块;
根据所述当前图像块的相关块确定所述当前图像块的运动矢量第一候选列表中的特定候选者;
当确定采用所述特定候选者时,将所述当前图像块和所述相关块采用相同的方式划分成多个子图像块,所述当前图像块中的各子图像块与所述相关块中的各子图像块一一对应;
根据所述相关块中各子图像块的运动矢量分别对所述当前图像块中对应的子图像块进行预测。
第三方面,提供一种视频图像处理装置,该装置包括:
构建模块,用于对当前图像块的预设的M个邻近块中的N个邻近块依次扫描,根据扫描结果确定目标邻近块,N小于M;根据所述目标邻近块的运动矢量、所述当前图像块以及所述当前图像块的参考图像,确定所述当前图像块的相关块;将所述当前图像块和所述相关块采用相同的方式划分成多个子图像块,所述当前图像块中的各子图像块与所述相关块中的各子图像块一一对应;
预测模块,用于根据所述相关块中各子图像块的运动矢量分别对所述当前图像块中对应的子图像块进行预测。
第四方面,提供一种视频图像处理装置,该装置包括:
构建模块,用于根据当前图像块的运动矢量第二候选列表中的M个候选者确定所述当前图像块的M个邻近块;对所述M个邻近块中的N个邻近块依次扫描,根据扫描结果确定目标邻近块,N小于M;根据所述目标邻近块的运动矢量、所述当前图像块以及所述当前图像块的参考图像,确定所述当前图像块的相关块;根据所述当前图像块的相关块确定所述当前图像块的运动矢量第一候选列表中的特定候选者;当确定采用所述特定候选者时,将所述当前图像块和所述相关块采用相同的方式划分成多个子图像块,所述当前图像块中的各子图像块与所述相关块中的各子图像块一一对应;
预测模块,用于根据所述相关块中各子图像块的运动矢量分别对所述当前图像块中对应的子图像块进行预测。
第五方面,提供一种视频图像处理装置,该装置包括存储器与处理器,所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,并且对所述存储器中存储的指令的执行使得,所述处理器用于执行第一方面或第一方面的任一可能的实现方式中的方法。
第六方面,提供一种视频图像处理装置,该装置包括存储器与处理器,所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,并且对所述存储器中存储的指令的执行使得,所述处理器用于执行第二方面或第二方面的任一可能的实现方式中的方法。
第七方面,提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被计算机执行时使得所述计算机实现第一方面或第一方面的任一可能的实现方式中的方法。
第八方面,提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被计算机执行时使得所述计算机实现第二方面或第二方面的任一可能的实现方式中的方法。
第九方面,提供一种包含指令的计算机程序产品,所述指令被计算机执行时使得所述计算机实现第一方面或第一方面的任一可能的实现方式中的方法。
第十方面,提供一种包含指令的计算机程序产品,所述指令被计算机执行时使得所述计算机实现第二方面或第二方面的任一可能的实现方式中的方法。
第十一方面,提供一种视频图像处理方法,该方法包括:
确定基础运动矢量列表,所述基础运动矢量列表中包括至少一组双预测基础运动矢量组,所述双预测基础运动矢量组中包括第一基础运动矢量和第二基础运动矢量;
从预设的偏移量集中确定两个运动矢量偏移量,所述两个运动矢量偏移量分别对应于所述第一基础运动矢量和所述第二基础运动矢量;
根据所述第一基础运动矢量、所述第二基础运动矢量和所述两个的运动矢量偏移量,确定当前图像块的运动矢量;
根据所述当前图像块的运动矢量对所述当前图像块进行预测。
第十二方面,提供一种视频图像处理方法,该方法包括:
确定基础运动矢量列表,所述基础运动矢量列表中包括基础运动矢量组;
当所述基础运动矢量组中有至少一个基础运动矢量指向特定参考图像时,放弃根据所述基础运动矢量组和运动矢量偏移量确定所述当前图像块的运动矢量。
第十三方面,提供一种视频图像处理装置,该装置包括:
构建模块,用于确定基础运动矢量列表,所述基础运动矢量列表中包括至少一组双预测基础运动矢量组,所述双预测基础运动矢量组中包括第一基础运动矢量和第二基础运动矢量;从预设的偏移量集中确定两个运动矢量偏移量,所述两个运动矢量偏移量分别对应于所述第一基础运动矢量和所述第二基础运动矢量;根据所述第一基础运动矢量、所述第二基础运动矢量和所述两个的运动矢量偏移量,确定当前图像块的运动矢量;
预测模块,用于根据所述当前图像块的运动矢量对所述当前图像块进行预测。
第十四方面,提供一种视频图像处理装置,该装置包括:
确定模块,用于确定基础运动矢量列表,所述基础运动矢量列表中包括基础运动矢量组;
处理模块,用于当所述基础运动矢量组中有至少一个基础运动矢量指向特定参考图像时,放弃根据所述基础运动矢量组和运动矢量偏移量确定所述当前图像块的运动矢量。
第十五方面,提供一种视频图像处理装置,该装置包括存储器与处理器,所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,并且对所述存储器中存储的指令的执行使得,所述处理器用于执行第十一方面或第十一方面的任一可能的实现方式中的方法。
第十六方面,提供一种视频图像处理装置,该装置包括存储器与处理器,所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,并且对所述存储器中存储的指令的执行使得,所述处理器用于执行第十二方面或第十二方面的任一可能的实现方式中的方法。
第十七方面,提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被计算机执行时使得所述计算机实现第十一方面或第十一方面的任一可能的实现方式中的方法。
第十八方面,提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被计算机执行时使得所述计算机实现第十二方面或第十二方面的任一可能的实现方式中的方法。
第十九方面,提供一种包含指令的计算机程序产品,所述指令被计算机执行时使得所述计算机实现第十一方面或第十一方面的任一可能的实现方式中的方法。
第二十方面,提供一种包含指令的计算机程序产品,所述指令被计算机执行时使得所述计算机实现第十二方面或第十二方面的任一可能的实现方式中的方法。
附图说明
图1是本申请实施例提供的视频图像处理方法的示意性流程图。
图2是通过当前图像块的邻近块获取当前块的候选运动矢量的示意图。
图3是对候选运动矢量进行缩放处理的示意图。
图4是本申请实施例提供的视频图像处理方法的另一示意性流程图。
图5是本申请实施例提供的视频图像处理装置的示意性框图。
图6是本申请实施例提供的视频图像处理装置的另一示意性框图。
图7是本申请实施例提供的视频图像处理方法的示意性流程图。
图8是本申请实施例提供的视频图像处理方法的另一示意性流程图。
图9是本申请实施例提供的视频图像处理装置的再一示意性框图。
图10是本申请实施例提供的视频图像处理装置的再一示意性框图。
图11是本申请实施例提供的视频图像处理装置的再一示意性框图。
图12是获取运动矢量第一候选列表的候选者的示意图。
图13是构造运动矢量第一候选列表的候选者的再一示意图。
图14和图15是本申请实施例提供的视频图像处理方法的示意性流程图。
图16是本申请实施例提供的视频图像处理装置的再一示意性框图。
图17是本申请实施例提供的视频图像处理装置的再一示意性框图。
图18是本申请实施例提供的视频图像处理方法的另一示意性流程图。
图19是本申请实施例提供的视频图像处理装置的再一示意性框图。
图20是本申请实施例提供的视频图像处理装置的再一示意性框图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
在视频编解码中,预测步骤用于减少图像中的冗余信息。预测块指的是一帧图像中用于预测的基本单元,在一些标准中,该预测块也称为预测单元(Prediction Unit,PU)。在对一帧图像进行编码/压缩之前,图像被分成多个图像块,进一步的,该多个图像块中的每一个图像块可以再次被分成多个图像块,以此类推。不同的编码方法中,分割的层级数量可以不同,所承担的操作方法也不同。不同的编码标准中,对同一层级上的图像块的名称可能不同。例如,在一些视频标准中,一帧图像第一次被分割成的多个图像块中的每个图像块称为编码树单元(Coding Tree Unit,CTU);每个编码树单元可以包含一个编码单元(Coding Unit,CU)或者再次分割成多个编码单元;一个编码单元可以根据预测方式分割成一个、两个、四个或者其他数量的预测单元。在一些视频标准中,该编码树单元也被称为最大编码单元(Largest Coding Unit,LCU)。
预测指的是查找与该预测块相似的图像数据,也称为该预测块的参考块。通过对该预测块和该预测块的参考块之间的差异进行编码/压缩,以减少编码/压缩中的冗余信息。其中,预测块与参考块的差异可以是由该预测块与该参考块的相应像素值相减得到的残差。预测包括帧内预测和帧间预测。帧内预测指的是在预测块所在帧内查找该预测块的参考块,帧间预测指的是在除预测块所在帧以外的其他帧内查找该预测块的参考块。
在现有的一些视频标准中,预测单元是图像中最小的单元,预测单元不会继续被划分成多个图像块。下文中所提到的“图像块”或“当前图像块”指的是一个预测单元(或一个编码单元),而且一个图像块可以被继续划分成多个子图像块,每个子图像块可以进一步做预测。
本方案中,在对当前图像块进行预测之前,会构建运动矢量候选列表,根据在该运动矢量候选列表中选中的候选运动矢量对当前图像块进行预测。运动矢量候选列表有多类模式。下面先对运动矢量候选列表的多类模式进行举例说明。
在第一类模式中,作为第一个示例,在编码端,在构建好运动矢量候选列表之后,可以通过如下步骤完成当前图像块的编码。
1)从运动矢量候选列表中选出最优的一个运动矢量(记为MV1),将选出的MV1作为当前图像块的运动矢量,并获得该MV1在运动矢量候选列表中的索引。
2)根据当前图像块的运动矢量MV1,从参考图像(即参考帧)中确定当前图像块的预测图像块。即,确定当前图像块的预测图像块在参考帧中的位置。
3)获得当前图像块与预测图像块之间的残差。
4)向解码端发送当前图像块的运动矢量MV1在运动矢量候选列表中的索引以及步骤3)获得的残差。
作为示例,在解码端,可以通过如下步骤解码出当前图像块。
1)从编码端接收残差与当前图像块的运动矢量在运动矢量候选列表中的索引。
2)通过根据本申请实施例的方法获取运动矢量候选列表。解码端获取的运动矢量候选列表与编码端获取的运动矢量候选列表一致。
3)根据索引,在运动矢量候选列表中获取当前图像块的运动矢量MV1。
4)根据运动矢量MV1,获取当前图像块的预测图像块,再结合残差,解码得到当前图像块。
也即在第一类模式中,当前图像块的运动矢量等于预测MV(Motion vectorprediction,MVP)。在一些标准中,该第一类模式也称为Merge模式。
在第二类模式中,与第一类模式不同的是,编码端从运动矢量候选列表选出最优的一个运动矢量MV1后,还以该MV1为搜索起点进行运动搜索,将最终搜索到的位置与搜索起点的位移记为运动矢量差值(Motion vector difference,MVD)。然后根据当前图像块的运动矢量MV1+MVD,从参考图像中确定当前图像块的预测图像块。编码端还向解码端发送给MVD。在一些标准中,该第二类模式也称为AMVP模式(即普通帧间预测模式)。
不同类型模式下的运动矢量候选列表的构建方式可以相同也可以不同。同一种方式构建的运动矢量候选列表可以只适用其中的一种类型模式,也可以适用不同类型的构建模式,在此不做限制。
本方案中将提供两种构建方式的运动矢量候选列表,为描述方便,下文中称该两种构建方式的运动矢量候选列表为运动矢量第一候选列表和运动矢量第二候选列表。该两种列表的一个区别在于:运动矢量第一候选列表中的至少一个候选者包括子图像块的运动矢量,运动矢量第二候选列表中的每个候选者包括图像块的运动矢量。如上文所说,这里的图像块和当前图像块是同一类型的概念,指的均是一个预测单元(或一个编码单元),子图像块指的是在该图像块的基础上分割得到的多个子图像块。在采用运动矢量第一候选列表中的候选者进行预测时,根据该候选者确定当前图像块的参考块,然后计算该图像块与该参考块的残差。在采用运动矢量第二候选列表中的候选者进行预测时,若采用的候选者为子图像块的运动矢量,则根据该候选者确定当前图像块中的各子图像块的参考块,然后计算当前图像块中的各子图像块与其参考块的残差,将各子图像块的残差拼接成该当前图像块的残差。
其中,在确定运动矢量第一候选列表和/或运动矢量第二候选列表中候选者时,可以根据ATMVP技术确定其中一个候选者。在一个示例中,在构建运动矢量第一候选列表时,可以将根据ATMVP技术确定的运动矢量作为第一个候选者加入列表中。在一个示例中,在构建运动矢量第二候选列表时,可以在根据当前图像块的预设位置处的预设数量个空域邻近块的运动矢量往运动矢量第二候选列表中加入候选者之后,将根据ATMVP技术确定的运动矢量作为候选者加入列表中,当然,该两个候选列表的候选者加入顺序可以是其他顺序,对此不做限制。
下面先结合运动矢量第二候选列表的构建方式使用方式对如何根据ATMVP技术确定其中一个候选者进行举例说明。
在描述运动矢量第二候选列表的构建方式中,为方便理解,在此对运动矢量进行解释。一个图像块的运动矢量可以包含两个信息:1)该运动矢量所指向的图像;2)位移。一个图像块的运动矢量所表示的含义为,在该运动矢量所指向的图像中与该图像块具有该位移的图像块。对于已编/解码的图像块,其运动矢量所包含的含义包括:该已编/解码的图像块的参考图像,以及已编/解码的图像块的参考块相对该已编/解码的图像块的位移。需注意的是,本文中提到的一个图像块的参考块,指的是表示用于计算该图像块的残差的图像块。
图1为本申请实施例提供的视频图像处理方法的示意性流程图。该方法包括如下步骤。
S110,确定用于加入当前图像块的运动矢量第二候选列表的M个候选运动矢量。
当前图像块为待进行编码(或解码)的图像块。当前图像块所在的图像帧称为当前帧。例如,当前图像块为一个编码单元(CU)。
例如,当前图像块的运动矢量第二候选列表可以是Merge候选列表或者AMVP候选列表。例如,该运动矢量第二候选列表可以是Merge候选列表中的常规运动矢量候选列表(Normal Merge List)。应理解,运动矢量第二候选列表也可以有别的名称。
M个候选运动矢量可以是根据当前图像块在当前帧内的M个邻近块的运动矢量确定的。邻近块可以为在当前帧上与当前图像块的位置相邻或具有一定位置间距的图像块。应理解,这M个邻近块为当前帧内已完成编码(或解码)的图像块。
作为示例,如图2所示,当前图像块的M个邻近块为图2中所示的位于当前图像块周围4个位置A1(左)→B1(上)→B0(右上)→A0(左下)的图像块。根据这4个位置的图像块的运动矢量确定当前图像块的M(即M等于4)个候选运动矢量。
此外,当该M个邻近块中出现不可获得的邻近块时,或者该M个邻近块中出现采用帧内编码模式的邻近块时,该不可获得的邻近块或该采用帧内编码模式的邻近块的运动矢量不可获得。那么,该不可获得的邻近块的运动矢量不作为候选运动矢量,放弃将该不可获得的运动矢量加入当前图像块的运动矢量第二候选列表。
作为一种可能的实现方式,完成步骤S110之后,M个候选运动矢量已加入运动矢量第二候选列表。在步骤S120中,可以直接对运动矢量第二候选列表进行扫描。
S120,对M个候选运动矢量中的N个候选运动矢量依次扫描,根据扫描结果确定参考运动矢量,N小于M。其中,M和N都是自然数。
无论该M个候选运动矢量都被加入运动矢量第二候选列表中,还是该M个候选运动矢量中出现部分运动矢量不可得而导致该M个候选运动矢量中只有部分候选运动矢量被加入运动矢量第二候选列表中,都固定对该M个候选运动矢量中的N个候选运动矢量依次扫描。固定对该M个候选运动矢量中的N个候选运动矢量依次扫描,可以指的是固定对该N个候选运动矢量中已被加入候选运动矢量列表的候选运动矢量进行扫描;或者,可以指的是固定对该M个候选运动矢量中已被加候选运动矢量列表的N个候选运动矢量进行扫描。
根据N个候选运动矢量的扫描结果确定参考运动矢量的过程可以是,基于预设条件对N个候选运动矢量依次进行判断,根据判断结果确定参考运动矢量。
作为示例,预设条件包括:图像块可以获得或不采用帧内预测编码模式,且所述候选运动矢量指向的参考帧与当前图像块的参考图像相同。
其中,当前图像块的参考图像为与当前图像块所在的图像时间距离最近的参考图像;或,当前图像块的参考图像为编解码端预设的参考图像;或,当前图像块的参考图像为在视频参数集、序列头、序列参数集、图像头、图像参数集、条带头中指定的参考图像。
例如,该当前图像块的参考图像为当前图像块的同位帧,同位帧即为在条带级信息头中设定的用于获取运动信息进行预测的帧。在一些应用场景中,该同位帧也被称为位置相关帧(collocated picture)。
应理解,根据未来技术的演进,该预设条件可能会被赋予其它不同的定义,相应的方案也落入本申请保护范围。
下文将对根据N个候选运动矢量的扫描结果确定参考运动矢量的过程进行详细描述。
在步骤S120中,仅对步骤S110中获取的M个候选运动矢量中的N个运动矢量进行扫描,这样可以减少扫描次数。
可选地,在步骤S120中,可以对M个候选运动矢量中的前N个候选运动矢量依次扫描。
可选地,在步骤S120中,可以对M个候选运动矢量中的最后N个候选运动矢量依次扫描;或者,可以对M个候选运动矢量中的中间的N个候选运动矢量依次扫描。本申请对此不作限定。
作为一个示例,在步骤S120中,对M个候选运动矢量中的部分候选运动矢量依次扫描。
作为另一个示例,在步骤S120中,对当前已加入运动矢量第二候选列表中的候选运动矢量中的部分候选运动矢量进行依次扫描。
S130,根据参考运动矢量、当前图像块以及当前图像块的参考图像,确定继续加入运动矢量第二候选列表中的候选运动矢量。
当前图像块的运动矢量第二候选列表中包括步骤S110中确定的M个候选运动矢量以及步骤S130中确定的候选运动矢量。在一个示例中,在根据S130确定继续加入运动矢量第二候选列表的第M+1个候选运动矢量之后,还根据其他方法确定继续加入运动矢量第二候选列表的其他候选运动矢量,在此不做限制。
在构建完运动矢量第二候选列表后,如图1所示,该方法还可以包括:S140,根据步骤S130得到的运动矢量第二候选列表,确定当前图像块的运动矢量。
应理解,本申请提供的方案可应用于ATMVP技术中。在现有ATMVP技术的第一步中,通过对运动矢量第二候选列表中当前已加入的所有空域候选运动矢量进行扫描,来获取当前图像块的时域矢量。例如,运动矢量第二候选列表通常会被填充4个空域候选运动矢量,则可能会出现如下情形:需要扫描4个候选运动矢量,才能获得当前图像块的时域矢量。
而在本申请实施例中,在获取当前图像块的参考运动矢量过程中,仅对已经获取的M个候选运动矢量中的N(N小于M)个候选运动矢量依次扫描,相对于现有技术,可以减少在获取当前图像块的参考运动矢量过程中对候选运动矢量的扫描次数。应理解,将本申请提供的方案应用于现有ATMVP技术的第一步中,可以对其存在的冗余操作进行简化。
申请人在通用视频编码(Versatile Video Coding)最新的参考软件VTM-2.0上,选取官方通测序列作为测试序列,测试配置为RA配置及LDB配置,对本申请提供的方案进行测试,测试结果显示,减少扫描次数后,还可以保持ATMVP技术的性能增益。
因此,本申请提供的方案在保持现有ATMVP技术的性能增益的前提下,可以降低ATMVP技术的复杂度。
应理解,本申请提供的构建的方案所形成的运动矢量第二候选列表可以应用于编码端与解码端。换句话说,本申请提供的方法的执行主体可以为编码端,也可以为解码端。
作为示例,本申请提供的构建方案所形成的运动矢量第二候选列表的可以应用于上述的第一类模式(例如Merge模式)。
可选地,在本实施例中,在步骤S110中,根据当前图像块在当前帧内的4个邻近块的运动矢量,确定用于加入当前图像块的运动矢量第二候选列表中的4个候选运动矢量,即M等于4。在步骤S120中,对4个候选运动矢量中的N个候选运动矢量进行扫描,N小于4。
例如,N等于1。例如,在步骤S120中,仅对运动矢量第二候选列表中的第一个候选运动矢量进行扫描。再例如,N等于2或3。
下文将对步骤S120中,根据N个候选运动矢量的扫描结果确定当前图像块的参考运动矢量的方式进行描述。
在步骤S120中,逐个判断M个候选运动矢量中的N个候选运动矢量是否满足预设条件,根据判断结果确定参考运动矢量。本文中以预设条件的定义为候选运动矢量指向的参考帧与当前图像块的参考图像相同为例进行描述。
可选地,在步骤S120中,对N个候选运动矢量依次进行扫描,当扫描到第一个符合预设条件的候选运动矢量时,即当扫描到第一个参考帧与当前帧的同位帧相同的候选运动矢量时,停止扫描,且根据扫描到的第一个符合预设条件的候选运动矢量确定参考运动矢量。
应理解,在扫描到第一个符合预设条件的候选运动矢量时,扫描次数可能等于N,也可能小于N。例如,当第一个扫描的候选运动矢量就满足预设条件,则停止扫描,将这个候选运动矢量作为当前图像块的参考运动矢量。
可选地,在步骤S120中,当在N个候选运动矢量中未扫描到符合预设条件的候选运动矢量时,即当N个候选运动矢量指向的参考帧均与当前图像块的同位帧不同时,将默认值作为参考运动矢量的值。
例如,默认值为(0,0),即参考运动矢量为(0,0)。应理解,根据实际情况,默认值还可以有别的定义。
可选地,在步骤S120中,当在N个候选运动矢量中未扫描到符合预设条件的候选运动矢量时,即当N个候选运动矢量指向的参考帧均与当前图像块的同位帧不同时,对运动矢量第二候选列表中的特定候选运动矢量进行缩放处理,根据缩放处理后的特定候选运动矢量确定参考运动矢量。
该特定候选运动矢量可以为N个候选运动矢量中,按扫描顺序得到的第一个运动矢量或者最后一个运动矢量。
该特定候选运动矢量还可以为N个候选运动矢量中,按其它扫描顺序得到的运动矢量。
当预设条件的定义为候选运动矢量指向的参考帧与当前图像块的参考帧相同时,对运动矢量第二候选列表中的特定候选运动矢量进行缩放处理,根据缩放处理后的特定候选运动矢量确定参考运动矢量,包括:对运动矢量第二候选列表中的特定候选运动矢量进行缩放处理,使得经过缩放处理的特定候选运动矢量指向的参考帧与当前图像块的参考图像相同;将经过缩放处理后的特定候选运动矢量作为参考运动矢量。
如图3所示,curr_pic表示当前图像块所在图像,col_pic表示当前图像块的同位帧(collocated picture),neigh_ref_pic表示特定候选运动矢量指向的参考帧。一种实现方式中,基于特定候选运动矢量指向的参考图像neigh_ref_pic与该特定运动矢量对应的图像块所在图像curr_pic之间的时间距离,以及当前图像块的参考图像col_pic与当前图像块所在图像curr_pic之间的时间距离,确定该特定运动矢量的缩放比例。
应理解,图像帧与图像帧之间的运动程度差异性较差,在当前帧与其同位帧之间运动剧烈的情况下,如果使用运动矢量(0,0)作为定位当前块的对应块的依据,并没有考虑帧间的运动,而是直接假设当前块在同位帧中的绝对坐标没有发生任何改变,实际上有很大概率,当前块在同位帧中的坐标与其在当前帧中的坐标不同,因此,会产生较大的偏差。
本申请实施例,在N个候选运动矢量中未扫描到参考帧与当前帧的同位帧相同的候选运动矢量的情况下,对N个候选运动矢量中的一个候选运动矢量进行缩放处理,使其参考帧与当前帧的同位帧相同,然后将这个经过缩放处理的候选运动矢量作为当前图像块的运动矢量。这样可以提高当前图像块的运动矢量的准确度。
可选地,当N为小于M且大于1的整数时,本实施例中的特定候选运动矢量可以为N个候选运动矢量中参考帧与当前图像块的同位帧在时域上距离最近的候选运动矢量。
应理解,选择N个候选运动矢量中参考帧与当前帧的同位帧距离最近的一个候选运动矢量进行缩放处理,可以减少进行缩放处理的耗时,从而提高获取当前图像块的运动矢量的效率。
可选地,当N为小于M且大于1的整数时,本实施例中的特定候选运动矢量也可以为N个候选运动矢量中的任意一个候选运动矢量。
应理解,当N等于1时,本实施例中的特定候选运动矢量就是所扫描的这一个候选运动矢量。
可选地,作为一个实施例,N等于1,在步骤S120中,通过扫描该运动矢量第二候选列表中的一个候选运动矢量,获取该当前图像块的参考运动矢量。当扫描的这个候选运动矢量指向参考帧与当前图像块所在的当前帧的同位帧不同时,对这个候选运动矢量进行缩放处理,使得经过该缩放处理的候选运动矢量的参考帧与该当前帧的同位帧相同;将经过该缩放处理后的候选运动矢量作为该当前图像块的参考运动矢量。当扫描的这一个候选运动矢量的参考帧与当前帧的同位帧相同时,则将这个候选运动矢量作为当前图像块的运动矢量。
在本实施例中,通过扫描该候选运动矢量列表中的一个候选运动矢量,获取该当前图像块的运动矢量,有效减少了在获取当前图像块的运动矢量过程中扫描候选运动矢量的次数;在扫描的候选运动矢量的参考帧与当前帧的同位帧不同时,对这个候选运动矢量进行缩放处理,使其参考帧与当前帧的同位帧相同,然后以这个经过缩放处理后的候选运动矢量作为当前图像块的运动矢量,这样可以提高当前图像块的运动矢量的准确度。因此,相对于现有技术,本申请实施例提供的方案,既可以简化确定当前图像块的运动矢量的过程,又可以提高当前图像块的运动矢量的准确度。
应理解,当预设条件的定义发生变化时,对运动矢量第二候选列表中的特定候选运动矢量进行缩放处理的过程也要相应发生变化,即保证缩放处理之后的特定候选运动矢量满足预设条件。
下文将对步骤S130中,根据参考运动矢量、当前图像块以及当前图像块的参考图像,确定继续加入运动矢量第二候选列表中的候选运动矢量的过程进行描述。
可选地,作为一种实现方式,根据参考运动矢量、当前图像块以及当前图像块的参考图像,确定继续加入运动矢量第二候选列表中的候选运动矢量,包括:将当前图像块划分成多个子图像块;根据参考运动矢量,在当前图像块的参考图像中确定子图像块的相关块;根据相关块的运动矢量,确定继续加入运动矢量第二候选列表的候选运动矢量。
在一个示例中,将当前图像块中每个子图像块的相关块的运动矢量作为候选者加入到运动矢量第二候选列表中。在采用该候选者进行预测时,根据当前图像块中每个子图像块的相关块的运动矢量对该子图像块进行预测。
在一个示例中,将当前图像块的相关块的代表运动矢量作为候选者加入到运动矢量第二候选列表中,并标记该候选者为根据ATMVP技术确定的。当采用该候选者进行预测时,根据该标记和候选者确定当前图像块的相关块,将当前图像块和该相关块采用相同的方式划分成多个子图像块,当前图像块中的各子图像块与所述相关块中的各子图像块一一对应;根据该相关块中各子图像块的运动矢量分别对当前图像块中对应的子图像块进行预测。可选的,当相关块中出现运动矢量不可获得的子图像块时,采用该相关块的代表运动矢量替代该不可获得的运动矢量,对当前图像块中对应的子图像块进行预测。可选的,当相关块中出现运动矢量不可获得的子图像块,且相关块的代表运动矢量均不可获得时,放弃将根据ATMVP技术确定的候选者加入到该运动矢量第二候选列表中。一种示例中,当相关块中的子图像块不可获得,或者相关块中的子图像块采用帧内编码模式时,确定该相关块中出现不可获得运动矢量的子图像块。
可选的,当前图像块的相关块的代表运动矢量可以指的是该相关块的中心位置的运动矢量,或者其他代表该相关块的运动矢量,在此不做限制。
在一些视频编解码标准中,相关块可以被称为collocated block或者corresponding block。
例如,当前图像块为一个CU,将其划分之后得到的子图像块可称为sub-CU。可选地,子图像块的大小和/或子图像块的相关块的大小固定为大于或等于64个像素。可选地,子图像块的大小和/或子图像块的相关块的大小均固定为8×8个像素。
在目前ATMVP技术中,对子图像块的大小进行帧级自适应的设置,子图像块的大小默认为4×4,当满足一定条件时,子图像块的大小被设置为8×8。例如,在编码端,在编码当前图像块时,计算同一时域层的上一个编码图像块进行ATMVP模式编码时CU中的各个子图像块的平均块大小,当平均块大小大于阈值,当前图像块的子图像块的尺寸被设置为8×8,否则使用默认值4×4。目前,在新一代视频编码标准(Versatile Video Coding,VVC)中,是以8×8的大小对运动矢量进行存储。应理解,当将子图像块的大小设置为4×4,该子图像块的运动矢量的大小(也为4×4)不符合当前标准中运动矢量的存储粒度。此外,目前ATMVP技术中,编码当前图像块时,还需要存储同一时域层的上一个已编码图像块的子图像块的大小的信息。
在本申请实施例中,将当前图像块的子图像块的大小设置为8×8,一方面可以适应视频标准VVC中规定的运动矢量的存储粒度,另一方面,无需存储上一个已编码图像块的子图像块的大小的信息,因此,可以节省存储空间。
目前,TMVP技术将当前CU右下角或中心位置在邻近已编码图像中同位CU的MV进行伸缩得到当前CU的时域候选运动矢量。换句话说,TMVP是通过遍历参考图像中两个固定位置的编码块来得到MVP的,该顺序是TB→TC,直接将第一个遍历到的MV作为TMVP的MVP。在本申请实施例中,ATMVP技术中的子图像块大小设置为8×8,它将使用本申请各实施例的已有的合并(merge)候选列表(merge list)中的一个MV进行相关块的定位,将定位到的相关块的MV作为ATMVP的MVP。
在视频标准VVC的一些版本中,构建merge列表是先进行ATMVP的merge候选列表构建再进行TMVP的merge候选列表构建。在视频标准VVC另外的一些版本中,TMVP的merge候选列表构建在merge list构建过程进行,ATMVP的merge候选列表构建在affine merge list构建过程中进行。ATMVP和TMVP分别构建两个不同的列表,然而从道理上说不需要在两个merge候选列表中添加同一个或同一组MV。在当前CU的宽和高均等于8的情况下,TMVP与ATMVP分别构建的merge候选列表可能存在一定的冗余,即两种技术可能会为当前CU导出同一组时域候选运动信息。
在本申请一些实施例中,在当前CU的宽和高均等于8的情况下,设置不进行TMVP操作。换句话说,在子图像块的大小和/或所述子图像块的相关块的大小为8×8个像素的情况下,设置不进行TMVP操作。由此可以避免ATMVP和TMVP分别构建的merge候选列表中包括同一个或同一组MV,可以跳过部分冗余操作,有效节省编解码的时间,提高编码效率。
在本申请一些实施例中,在当前CU的宽和/或高小于8像素的情况下,设置不进行TMVP操作。换句话说,在子图像块和/或所述子图像块的相关块的宽和高中至少一个小于8像素的情况下,设置不进行TMVP操作。这是由于:编码器和/或解码器的硬件设计尽量要求相同大小的处理区域完成编码或解码的时间一致。然而对于包含较多小块的区域,需要编码或解码的流水时间就会远远超过其他区域。进一步地,可以在子图像块和/或所述子图像块的相关块的宽和高均小于8像素的情况下,设置不进行TMVP操作。因此节省小块编码或解码的流水时间对于硬件的并行处理十分有意义。除此之外,目前编码技术对于时域相关性的利用率越来越高,许多时域预测技术被采纳,如ATMVP技术。因此对小块而言,跳过TMVP操作带来的性能影响可以忽略不计,从而可以有效节省编解码的时间,提高编码效率。
应理解,在保证子图像块的大小和/或子图像块的相关块的大小固定为等于64个像素的前提下,子图像块的大小和/或子图像块的相关块的大小还可以为别的尺寸,例如子图像块的大小和/或子图像块的相关块的大小为A×B,A≤64,B≤64,A和B均为4的整数。例如,子图像块的大小和/或子图像块的相关块的大小为4×16个像素,或者为16×4个像素。
可选地,作为另一种实现方式,根据参考运动矢量、当前图像块以及当前图像块的参考图像,确定继续加入运动矢量第二候选列表中的候选运动矢量,包括:根据参考运动矢量,在当前图像块的参考图像中确定当前图像块的相关块;根据相关块的运动矢量,确定继续加入运动矢量第二候选列表的候选运动矢量。
在编/解码技术中,一般采用已编/解码的图像来作为当前待编/解码的参考图像。在一些实施例中,还可以构造一个参考图像,来提高参考图像与当前待编/解码图像的相似度。
举例而言,视频内容中存在一类特定的编/解码场景,在该场景中背景基本不发生改变,只有视频中的前景发生改变或者运动。例如,视频监控就属于该类场景。在视频监控场景中通常监控摄像头固定不动或者只发生缓慢的移动,可以认为背景基本不发生变化。与此相对,在视频监控镜头中所拍摄到的人或车等物体则经常发生移动或改变,可以认为前景是经常变化的。在这类场景中,可以造一个特定的参考图像,该特定的参考图像中只包含高质量的背景信息。该特定参考图像中可以包括多个图像块,任意一个图像块均是从某个已解码图像中取出的,该特定参考图像中的不同图像块可能取自于不同的已解码图像。在进行帧间预测时,当前待编/解码图像的背景部分可通过参考该特定参考图像,由此能够减少帧间预测的残差信息,从而提高编/解码效率。
上述是对特定参考图像的一个具体举例。在一些实现方式中,特定参考图像具有以下至少一种性质:构造帧(composite reference)、长期参考图像、不被输出的图像。其中,该不被输出的图像,指的是不被输出显示的图像;一般来说,该不被输出的图像是作为其他图像的参考图像存在的。例如,该特定参考图像可以是构造的长期参考图像,或者可以是不被输出的构造帧,或者可以是不被输出的长期参考图像等等。在一些实现方式中,构造帧也被称为合成参考帧。
在一些实现方式中,非特定参考图像可以是不具有以下至少一种性质的参考图像:构造帧、长期参考图像、不被输出的图像。例如,该非特定参考图像可以包括除构造帧以外的参考图像,或者包括除长期参考图像以外的参考图像,或者包括除不被输出的图像以外的参考图像,或者包括除构造的长期参考图像以外的参考图像,或者包括除不被输出的构造帧以外的参考图像,或者包括除不被输出的长期参考图像以外的参考图像等等。
在一些实现方式中,视频中的图像可作为参考图像时,可以区分长期参考图像和短期参考图像的。其中,该短期参考图像是与长期参考图像相对应的一个概念。短期参考图像存在于参考图像缓冲区中一段时间,经过该短期参考图像之后的已解码的参考图像在参考图像缓冲区中的若干移入和移出操作之后,短期参考图像会被移出参考图像缓冲区。参考图像缓冲区也可以称为参考图像列表缓存、参考图像列表、参考帧列表缓存或参考帧列表等,本文中将其统称为参考图像缓冲区。
长期参考图像(或长期参考图像中的一部分数据)可以一直存在于参考图像缓冲区中,该长期参考图像(或长期参考图像中的一部分数据)不受已解码的参考图像在参考图像缓冲区中的移入和移出操作的影响,只有在解码端发出更新指令操作时该长期参考图像(或长期参考图像中的一部分数据)才会被移出参考图像缓冲区。
短期参考图像和长期参考图像在不同的标准中的叫法可能不同,例如,在H.264/高级视频编码(advanced video coding,AVC)或者H.265/HEVC等标准中短期参考图像被称为短期参考帧(short-term reference),长期参考图像被称为长期参考帧(long-termreference)。又如在信源编码标准(audio video coding standard,AVS)1-P2、AVS2-P2、电气和电子工程师协会(institute of electrical and electronics engineers,IEEE)1857.9-P4等标准中,长期参考图像被称为背景帧(background picture)。又如在VP8、VP9等标准中,长期参考图像被称为黄金帧(golden frame)。
应理解,本申请实施例中采用特定的术语,并不代表必须应用到特定场景下,例如,将长期参考图像称为长期参考帧并不代表必须用到H.264/AVC或者H.265/HEVC等标准对应的技术中。
以上提到的长期参考图像可以是从多个已解码图像中取出的图像块构造得到的,或者利用多个已解码图像对已有参考帧(例如,预存的参考帧)进行更新得到。当然,该构造的特定参考图像也可以是短期参考图像。或者,长期参考图像也可以不是构造的参考图像。
在上述的实现方式中,特定参考图像可以包括长期参考图像,非特定参考图像可以包括短期参考图像。
可选地,参考帧的类型可以在码流结构中通过特殊字段标识出来。
可选地,在确定参考图像为长期参考图像时,确定该参考图像为特定参考图像;或,在确定参考图像为不被输出的帧时,确定该参考图像为特定参考图像;或,在确定参考图像为构造帧时,确定该参考图像为特定参考图像;或,在确定参考图像为不被输出的帧,且进一步确定该参考图像为构造帧时,确定该参考图像为特定参考图像。
可选地,各种类型的参考图像都可以具有相应的标识,此时对于解码端而言,可以依据参考图像所具有的标识来确定该参考图像是否为特定参考图图像。
在一些实现方式中,在确定参考图像具有长期参考图像的标识时,确定该参考图像为特定参考图像。
在一些实现方式中,在确定参考图像具有不被输出的标识时,确定该参考图像为特定参考图像。
在一些实现方式中,在确定参考图像具有构造帧的标识时,确定该参考图像为特定参考图像。
在一些实现方式中,在确定参考图像具有以下三个标识中的至少两个标识时,确定参考图像为特定参考图像:长期参考图像的标识、不被输出的标识、构造帧或合成参考帧的标识。例如,确定参考图像具有不被输出的标识,且确定参考图像具有构造帧的标识时,确定参考图像为特定参考图像。
具体地,图像可以具有指示是否是被输出帧的标识,当某一图像被指示是不被输出时,则表明该帧为参考图像,进一步地,判断该帧是否具有构造帧的标识,如果是,则确定所述参考图像为特定参考图像。如果某一图像被指示被输出,则可以不进行是否是构造帧的判断,直接确定该帧不是特定参考图像。或者,如果某一图像被指示不被输出,但是具有不是构造帧的标识,则可以确定该帧不是特定参考图像。
可选地,从图像头(picture header)、图像参数集(PPS,picture parameterset)、条带头(slice header)中解析参数确定所述参考图像满足以下条件之一时,确定所述参考图像为特定参考图像:
所述参考图像为长期参考图像;
所述参考图像为构造参考图像;
所述参考图像为不被输出图像;
所述参考图像为不被输出图像时,进一步判断所述参考图像为构造参考图像。
在本申请实施例的一些实现方式中,在确定当前图像块的运动矢量的过程中,涉及到要利用其它图像上的某个图像块的运动矢量来确定该图像块的运动矢量。为描述方便,称该图像块为第一图像块,称所要利用的其他图像上的某个图像块为该第一图像块的时域参考块或相关块。可以理解的是,第一图像块和该第一图像块的时域参考块(或相关块)位于不同的图像上。那么,在利于该时域参考块(或相关块)的运动矢量来确定第一图像块的运动矢量的过程中,可能需要对该时域参考块(或相关块)的运动矢量进行缩放。为描述方便,本文中统一采用“相关块”这个术语。
例如,ATMVP技术应用在构建AMVP候选列表中时,在根据ATMVP技术确定当前图像块的相关块的运动矢量时,需要对该相关块的运动矢量进行缩放,然后根据缩放后的运动矢量确定当前图像块的运动矢量。一般来说,基于相关块的运动矢量指向的参考图像与该相关块所在图像之间的时间距离,以及当前图像块的参考图像与当前图像块所在图像之间的时间距离,确定该相关块的运动矢量的缩放比例。
在一个示例中,称该相关块的运动矢量为MV 2,该运动矢量MV 2所指向的参考图像的参考帧索引值为x。其中,该参考帧索引值x为MV 2所指向的参考图像的顺序编号(例如POC)与该相关块所在图像的顺序编号之差。称第一图像块的参考图像的参考帧索引值为y。其中,该参考帧索引值y为第一图像块的参考图像的顺序编号与该第一图像块所在图像的顺序编号之差。那么,对运动矢量MV 2的缩放比例为y/x。可选的,可以将运动矢量MV 2与y/x的乘积作为第一图像块的运动矢量。
然而,当相关块的运动矢量MV 2是指向一个特定参考图像时,或者,当第一图像块的参考图像是一个特定参考图像时,由于特定参考图像与第一图像块所在图像的时间距离定义不明确,对相关块的运动矢量MV 2缩放便没有意义。
可选地,在本实施例中,当根据相关块的运动矢量确定当前图像块的运动矢量时,具体地:当相关块的运动矢量指向特定参考图像,或者当前图像块的参考图像为特定参考图像时,根据处理后的相关块的运动矢量确定当前图像块的运动矢量,其中,处理后的相关块的运动矢量和处理前的相关块的运动矢量相同。
例如,处理后的相关块的运动矢量,包括:根据数值为1的缩放比例对相关块的运动矢量进行缩放后得到的运动矢量,或者,跳过缩放步骤的相关块的运动矢量。
可选地,在本实施例中,当根据相关块的运动矢量确定当前图像块的运动矢量时,具体地:当相关块的运动矢量指向特定参考图像,或者当前图像块的参考图像为特定参考图像时,放弃根据相关块的运动矢量确定当前图像块的运动矢量。
在一些实施例中,步骤S120包括:在N个候选运动矢量中未扫描到符合预设条件的候选运动矢量,对运动矢量第二候选列表中的特定候选运动矢量进行缩放处理,根据缩放处理后的特定候选运动矢量确定参考运动矢量。这种情形下,可选地,该方法还包括:当特定候选运动矢量指向特定参考图像,或者当前图像块的参考图像为特定参考图像时,根据处理后的特定候选运动矢量确定继续加入运动矢量第二候选列表中的候选运动矢量,其中,处理后的特定候选运动矢量和处理前的特定候选运动矢量相同。
其中,处理后的相关块的运动矢量,包括:根据数值为1的缩放比例对相关块的运动矢量进行缩放后得到的运动矢量,或者,跳过缩放步骤的相关块的运动矢量。
在一些实施例中,步骤S120包括:在N个候选运动矢量中未扫描到符合预设条件的候选运动矢量,对运动矢量第二候选列表中的特定候选运动矢量进行缩放处理,根据缩放处理后的特定候选运动矢量确定参考运动矢量。这种情形下,可选地,该方法还包括:当特定候选运动矢量指向特定参考图像,或者当前图像块的参考图像为特定参考图像时,放弃根据特定候选运动矢量确定继续加入运动矢量第二候选列表的候选运动矢量。
上述可知,本申请实施例,在获取当前图像块的参考运动矢量过程中,仅对已经获取的M个候选运动矢量中的N(N小于M)个候选运动矢量依次扫描,相对于现有技术,可以减少在获取当前图像块的参考运动矢量过程中对候选运动矢量的扫描次数。应理解,将本申请提供的方案应用于现有ATMVP技术中,可以对其存在的冗余操作进行简化。
在N个候选运动矢量中未扫描到参考帧与当前帧的同位帧相同的候选运动矢量的情况下,对N个候选运动矢量中的一个候选运动矢量进行缩放处理,使其参考帧与当前帧的同位帧相同,然后将这个经过缩放处理的候选运动矢量作为当前图像块的运动矢量,这样可以提高当前图像块的运动矢量的准确度。
将当前图像块划分为大小为8×8的子图像块,一方面可以适应视频标准VVC中规定的运动矢量的存储粒度,另一方面,无需存储上一个已编码图像块的子块的大小的信息,因此,可以节省存储空间。
在本申请一些实施例中,在子图像块的大小和/或所述子图像块的相关块的大小为8×8个像素的情况下,设置不进行TMVP操作,可以跳过部分冗余操作,有效节省编解码的时间,提高编码效率。
在本申请一些实施例中,在当前CU的宽和/或高小于8像素的情况下,设置不进行TMVP操作。换句话说,在子图像块和/或所述子图像块的相关块的宽和高中至少一个小于8像素的情况下,设置不进行TMVP操作。对于上述情况,跳过TMVP操作带来的性能影响可以忽略不计,从而可以有效节省编解码的时间,提高编码效率。
如图4所示,本申请实施例还提供一种视频图像处理方法,该方法包括如下步骤,
S410,获取用于加入当前图像块的运动矢量第二候选列表的M个候选运动矢量。
步骤S410对应于上文描述的步骤S110,具体描述参考上文,这里不再赘述。
S420,对M个候选运动矢量中的至少部分候选运动矢量依次扫描,根据扫描结果确定当前图像块的参考运动矢量。
作为一种可选实现方式,对M个候选运动矢量中的部分候选运动矢量依次扫描,根据扫描结果确定当前图像块的参考运动矢量。在这种实现方式下,步骤S420可对应于上文描述的步骤S120,具体描述参见上文。
作为另一种可选实现方式,对M个候选运动矢量中的全部候选运动矢量依次扫描,根据扫描结果确定当前图像块的参考运动矢量。
应理解,在步骤S420中,根据扫描结果确定当前图像块的参考运动矢量的具体方式可以参考上文实施例中的相关描述,这里不再赘述。
S430,将当前图像块划分成多个子图像块,其中,子图像块的大小固定为大于或等于64个像素。
例如,当前图像块为一个CU,将其划分之后得到的子图像块可称为sub-CU。
S440,根据参考运动矢量在当前图像块的参考图像中确定子图像块的相关块。
当前图像块的参考图像可以是当前图像块的同位帧。
S450,根据相关块的运动矢量确定继续加入运动矢量第二候选列表的候选运动矢量。
在目前ATMVP技术中,对子图像块的大小进行帧级自适应的设置,子图像块的大小默认为4×4,当满足一定条件时,子图像块的大小被设置为8×8。例如,在编码端,在编码当前图像块时,计算同一时域层的上一个编码图像块进行ATMVP模式编码时CU中的各个子图像块的平均块大小,当平均块大小大于阈值,当前图像块的子图像块的尺寸被设置为8×8,否则使用默认值4×4。换言之,在现有技术中,在编码当前图像块时,还需要存储同一时域层的上一个已编码图像块的子图像块的大小的信息。
在本申请实施例中,将当前图像块的子图像块的大小固定为大于或等于64个像素,无需存储上一个已编码图像块的子图像块的大小的信息,因此,可以节省存储空间。
可选地,在本实施例中,子图像块的大小和/或子图像块的相关块的大小均固定为8×8个像素。
在目前ATMVP技术中,对子图像块的大小进行帧级自适应的设置,子图像块的大小默认为4×4,当满足一定条件时,子图像块的大小被设置为8×8。例如,在编码端,在编码当前图像块时,计算同一时域层的上一个编码图像块进行ATMVP模式编码时CU中的各个子图像块的平均块大小,当平均块大小大于阈值,当前图像块的子图像块的尺寸被设置为8×8,否则使用默认值4×4。目前,在新一代视频编码标准(Versatile Video Coding,VVC)中,是以8×8的大小对运动矢量进行存储。应理解,当将子图像块的大小设置为4×4,该子图像块的运动矢量的大小(也为4×4)不符合当前标准中运动矢量的存储粒度。此外,目前ATMVP技术中,编码当前图像块时,还需要存储同一时域层的上一个已编码图像块的子图像块的大小的信息。
在本申请实施例中,将当前图像块的子图像块的大小设置为8×8,一方面可以适应视频标准VVC中规定的运动矢量的存储粒度,另一方面,无需存储上一个已编码图像块的子图像块的大小的信息,因此,可以节省存储空间。
在本申请一些实施例中,在子图像块的大小和/或所述子图像块的相关块的大小为8×8个像素的情况下,设置不进行TMVP操作,可以跳过部分冗余操作,有效节省编解码的时间,提高编码效率。
在本申请一些实施例中,在当前CU的宽和/或高小于8像素的情况下,设置不进行TMVP操作。换句话说,在子图像块和/或所述子图像块的相关块的宽和高中至少一个小于8像素的情况下,设置不进行TMVP操作。对于上述情况,跳过TMVP操作带来的性能影响可以忽略不计,从而可以有效节省编解码的时间,提高编码效率。
应理解,在保证子图像块的大小和/或子图像块的相关块的大小固定为等于64个像素的前提下,子图像块的大小和/或子图像块的相关块的大小还可以为别的尺寸,例如子图像块的大小和/或子图像块的相关块的大小为A×B,A≤64,B≤64,A和B均为4的整数。例如,子图像块的大小和/或子图像块的相关块的大小为4×16个像素,或者为16×4个像素。
可选地,在步骤S420中,对至少部分候选运动矢量依次进行扫描,当扫描到第一个符合预设条件的候选运动矢量时,停止扫描,且根据扫描到的第一个符合预设条件的候选运动矢量确定参考运动矢量。
根据扫描到的第一个符合预设条件的候选运动矢量确定参考运动矢量,可以包括:将第一个符合预设条件的候选运动矢量作为目标邻近块。
可选地,预设条件包括:候选运动矢量的参考图像与当前图像块的参考图像相同。
可选地,步骤S450包括:当相关块的运动矢量指向特定参考图像,或者当前图像块的参考图像为特定参考图像时,根据处理后的相关块的运动矢量确定继续加入运动矢量第二候选列表中的候选运动矢量,其中,处理后的相关块的运动矢量和处理前的相关块的运动矢量相同。
例如,处理后的相关块的运动矢量,包括:根据数值为1的缩放比例对相关块的运动矢量进行缩放后得到的运动矢量,或者,跳过缩放步骤的相关块的运动矢量。
可选地,步骤S450包括:当相关块的运动矢量指向特定参考图像,或者当前图像块的参考图像为特定参考图像时,放弃根据相关块的运动矢量确定继续加入运动矢量第二候选列表的候选运动矢量。
因此,图4所示的实施例,将当前图像块划分为大小为8×8的子图像块,一方面可以适应视频标准VVC中规定的运动矢量的存储粒度,另一方面,无需存储上一个已编码图像块的子块的大小的信息,因此,可以节省存储空间。
在本申请一些实施例中,在子图像块的大小和/或所述子图像块的相关块的大小为8×8个像素的情况下,设置不进行TMVP操作,可以跳过部分冗余操作,有效节省编解码的时间,提高编码效率。
在本申请一些实施例中,在当前CU的宽和/或高小于8像素的情况下,设置不进行TMVP操作。换句话说,在子图像块和/或所述子图像块的相关块的宽和高中至少一个小于8像素的情况下,设置不进行TMVP操作。对于上述情况,跳过TMVP操作带来的性能影响可以忽略不计,从而可以有效节省编解码的时间,提高编码效率。
上面描述了如何根据ATMVP技术确定加入运动矢量第二候选列表的候选者的方法。一些实现方式中,还可以往运动矢量第二候选列表加入其它的候选者,在此不做限制。
上文结合图1和图4描述了本申请的方法实施例,下文将描述上文方法实施例对应的装置实施例。应理解,装置实施例的描述与方法实施例的描述相互对应,因此,未详细描述的内容可以参见前面方法实施例,为了简洁,这里不再赘述。
图5为本申请实施例提供的视频图像处理装置500的示意性框图。该装置500用于执行如图1所示的方法实施例。该装置500包括如下单元。
获取单元510,用于获取用于加入当前图像块的运动矢量第二候选列表的M个候选运动矢量;
确定单元520,用于对M个候选运动矢量中的N个候选运动矢量依次扫描,根据扫描结果确定参考运动矢量,N小于M;
确定单元520还用于,根据参考运动矢量、当前图像块以及当前图像块的参考图像,确定继续加入运动矢量第二候选列表中的候选运动矢量;
确定单元520还用于,根据运动矢量第二候选列表,确定当前图像块的运动矢量。
在现有ATMVP技术的第一步中,通过对运动矢量第二候选列表中当前已加入的所有候选运动矢量进行扫描,来获取当前图像块的时域矢量。例如,运动矢量第二候选列表通常会被填充4个候选运动矢量,则可能会出现如下情形:需要扫描4个候选运动矢量,才能获得当前图像块的时域矢量。
而在本申请实施例中,在获取当前图像块的参考运动矢量过程中,仅对已经获取的M个候选运动矢量中的N(N小于M)个候选运动矢量依次扫描,相对于现有技术,可以减少在获取当前图像块的参考运动矢量过程中对候选运动矢量的扫描次数。应理解,将本申请提供的方案应用于现有ATMVP技术的第一步中,可以对其存在的冗余操作进行简化。
申请人在通用视频编码(Versatile Video Coding)最新的参考软件VTM-2.0上,选取官方通测序列作为测试序列,测试配置为RA配置及LDB配置,对本申请提供的方案进行测试,测试结果显示,减少扫描次数后,还可以保持ATMVP技术的性能增益。
因此,本申请提供的方案在保持现有ATMVP技术的性能增益的前提下,可以降低ATMVP技术的复杂度。
可选地,作为一个实施例,获取单元510用于,根据当前图像块在当前帧内的M个邻近块的运动矢量,获取用于加入当前图像块的运动矢量第二候选列表的M个候选运动矢量。
可选地,作为一个实施例,邻近块为在当前帧上与当前图像块的位置相邻或具有一定位置间距的图像块。
可选地,作为一个实施例,确定单元520用于,对M个候选运动矢量中的前N个候选运动矢量依次扫描。
可选地,作为一个实施例,M等于4,N小于4。
可选地,作为一个实施例,N等于1或2。
可选地,作为一个实施例,确定单元520用于,基于预设条件,对M个候选运动矢量中的N个候选运动矢量依次扫描,根据扫描结果确定参考运动矢量。
可选地,作为一个实施例,预设条件包括:指向的参考帧与当前图像块的参考图像相同的候选运动矢量。
可选地,作为一个实施例,确定单元520用于,对N个候选运动矢量依次进行扫描,当扫描到第一个符合预设条件的候选运动矢量时,停止扫描,且根据扫描到的第一个符合预设条件的候选运动矢量确定参考运动矢量。
可选地,作为一个实施例,确定单元520用于,当在N个候选运动矢量中未扫描到符合预设条件的候选运动矢量时,对运动矢量第二候选列表中的特定候选运动矢量进行缩放处理,根据缩放处理后的特定候选运动矢量确定参考运动矢量。
可选地,作为一个实施例,特定候选运动矢量为N个候选运动矢量中,按扫描顺序得到的第一个运动矢量或者最后一个运动矢量。
可选地,作为一个实施例,确定单元520用于,对运动矢量第二候选列表中的特定候选运动矢量进行缩放处理,使得经过缩放处理的特定候选运动矢量指向的参考帧与当前图像块的参考图像相同;将经过缩放处理后的特定候选运动矢量作为参考运动矢量。
可选地,作为一个实施例,确定单元520用于,当在N个候选运动矢量中未扫描到符合预设条件的候选运动矢量时,将默认值作为参考运动矢量。
可选地,作为一个实施例,默认值为运动矢量(0,0)。
可选地,作为一个实施例,确定单元520用于,将当前图像块划分成多个子图像块;根据参考运动矢量,在当前图像块的参考图像中确定子图像块的相关块;根据相关块的运动矢量,确定继续加入运动矢量第二候选列表的候选运动矢量。
可选地,作为一个实施例,子图像块的大小和/或子图像块的相关块的大小固定为大于或等于64个像素。
可选地,作为一个实施例,当前图像块为一个编码单元CU。
可选地,作为一个实施例,确定单元520用于,根据参考运动矢量,在当前图像块的参考图像中确定当前图像块的相关块;根据相关块的运动矢量,确定继续加入运动矢量第二候选列表的候选运动矢量。
可选地,作为一个实施例,确定单元520用于,当相关块的运动矢量指向特定参考图像,或者当前图像块的参考图像为特定参考图像时,根据处理后的相关块的运动矢量确定继续加入运动矢量第二候选列表中的候选运动矢量,其中,处理后的相关块的运动矢量和处理前的相关块的运动矢量相同。
可选地,作为一个实施例,处理后的相关块的运动矢量,包括:根据数值为1的缩放比例对相关块的运动矢量进行缩放后得到的运动矢量,或者,跳过缩放步骤的相关块的运动矢量。
可选地,作为一个实施例,确定单元520用于,当相关块的运动矢量指向特定参考图像,或者当前图像块的参考图像为特定参考图像时,放弃根据相关块的运动矢量确定继续加入运动矢量第二候选列表的候选运动矢量。
可选地,作为一个实施例,确定单元520用于,当特定候选运动矢量指向特定参考图像,或者当前图像块的参考图像为特定参考图像时,根据处理后的特定候选运动矢量确定继续加入运动矢量第二候选列表中的候选运动矢量,其中,处理后的特定候选运动矢量和处理前的特定候选运动矢量相同。
可选地,作为一个实施例,处理后的相关块的运动矢量,包括:根据数值为1的缩放比例对相关块的运动矢量进行缩放后得到的运动矢量,或者,跳过缩放步骤的相关块的运动矢量。
可选地,作为一个实施例,确定单元520用于,当特定候选运动矢量指向特定参考图像,或者当前图像块的参考图像为特定参考图像时,放弃根据特定候选运动矢量确定继续加入运动矢量第二候选列表的候选运动矢量。
可选地,作为一个实施例,运动矢量第二候选列表为Merge候选列表。
可选地,作为一个实施例,当前图像块的参考图像为当前图像块的同位帧。
可选地,作为一个实施例,子图像块的大小和/或子图像块的相关块的大小均固定为8×8个像素。
可选地,在本申请一些实施例中,在子图像块的大小和/或所述子图像块的相关块的大小为8×8个像素的情况下,设置不进行TMVP操作,可以跳过部分冗余操作,有效节省编解码的时间,提高编码效率。
可选地,在本申请一些实施例中,在当前CU的宽和/或高小于8像素的情况下,设置不进行TMVP操作。换句话说,在子图像块和/或所述子图像块的相关块的宽和高中至少一个小于8像素的情况下,设置不进行TMVP操作。对于上述情况,跳过TMVP操作带来的性能影响可以忽略不计,从而可以有效节省编解码的时间,提高编码效率。
应理解,本实施例中的获取单元510和确定单元520均可以由处理器实现。
如图6所示,本申请实施例还提供一种视频图像处理装置600。该装置600用于执行如图4所示的方法实施例。该装置600包括如下单元。
确定单元610,用于获取用于加入当前图像块的运动矢量第二候选列表的M个候选运动矢量;
确定单元620,用于对M个候选运动矢量中的至少部分候选运动矢量依次扫描,根据扫描结果确定当前图像块的参考运动矢量;
划分单元630,用于将当前图像块划分成多个子图像块,其中,子图像块的大小固定为大于或等于64个像素;
确定单元620还用于,根据参考运动矢量在当前图像块的参考图像中确定子图像块的相关块;
确定单元620还用于,根据相关块的运动矢量确定继续加入运动矢量第二候选列表的候选运动矢量。
在目前ATMVP技术中,对子图像块的大小进行帧级自适应的设置,子图像块的大小默认为4×4,当满足一定条件时,子图像块的大小被设置为8×8。例如,在编码端,在编码当前图像块时,计算同一时域层的上一个编码图像块进行ATMVP模式编码时CU中的各个子图像块的平均块大小,当平均块大小大于阈值,当前图像块的子图像块的尺寸被设置为8×8,否则使用默认值4×4。换言之,在现有技术中,在编码当前图像块时,还需要存储同一时域层的上一个已编码图像块的子图像块的大小的信息。
在本申请实施例中,将当前图像块的子图像块的大小固定为大于或等于64个像素,无需存储上一个已编码图像块的子图像块的大小的信息,因此,可以节省存储空间。
可选地,作为一个实施例,子图像块的大小和/或子图像块的相关块的大小均固定为8×8个像素。
目前,在新一代视频编码标准(Versatile Video Coding,VVC)中,是以8×8的大小对运动矢量进行存储。在本申请实施例中,将当前图像块的子图像块的大小设置为8×8,一方面可以适应视频标准VVC中规定的运动矢量的存储粒度,另一方面,无需存储上一个已编码图像块的子图像块的大小的信息,因此,可以节省存储空间。
在本申请一些实施例中,在子图像块的大小和/或所述子图像块的相关块的大小为8×8个像素的情况下,设置不进行TMVP操作,可以跳过部分冗余操作,有效节省编解码的时间,提高编码效率。
在本申请一些实施例中,在当前CU的宽和/或高小于8像素的情况下,设置不进行TMVP操作。换句话说,在子图像块和/或所述子图像块的相关块的宽和高中至少一个小于8像素的情况下,设置不进行TMVP操作。对于上述情况,跳过TMVP操作带来的性能影响可以忽略不计,从而可以有效节省编解码的时间,提高编码效率。
可选地,作为一个实施例,确定单元620用于,对至少部分候选运动矢量依次进行扫描,当扫描到第一个符合预设条件的候选运动矢量时,停止扫描,且根据扫描到的第一个符合预设条件的候选运动矢量确定参考运动矢量。
可选地,作为一个实施例,确定单元620用于,将第一个符合预设条件的候选运动矢量作为目标邻近块。
可选地,作为一个实施例,预设条件包括:候选运动矢量的参考图像与当前图像块的参考图像相同。
应理解,本实施例中的获取单元610、确定单元620和划分单元630均可以由处理器实现。
在上文描述中,一个图像块的运动矢量包含两个信息:1)该运动矢量所指向的图像;2)位移。在一些应用场景中,一个图像块的运动矢量仅仅包含“位移”这个信息。该图像块另外提供了用于指示该图像块的参考图像的索引信息。对于已编/解码的图像块,其运动矢量所包含的含义包括:该已编/解码的图像块的参考块在参考图像上相对与该已编/解码的图像块位置相同且位于该参考图像的图像块的位移。在确定该已编/解码的图像块的参考块时,需要通过该已编/解码的图像块的参考图像的索引信息以及该已编/解码的图像块的运动矢量确定该已编/解码的图像块的参考块。那么,在图1所示的视频图像处理方法中,步骤S120不是对运动矢量第二候选列表中的候选运动矢量进行扫描,而是直接对该候选运动矢量所对应的图像块进行扫描。下文中针对该运动矢量新的定义(也即包含“位移”信息但不包含“所指向的图像”),提供视频图像处理方法。需要注意的是,针对“运动矢量”的这两种不同含义所分别提供的基于ATMVP技术确定候选运动矢量的方法基本是一致的,上文中的解释也适用于下文提供的视频图像处理方法,区别主要在构建运动矢量第二候选列表中,根据ATMVP技术确定加入运动矢量第二候选列表中的候选者时,在上文已描述的视频图像处理方法中是对已加入运动矢量第二候选列表中的运动矢量进行扫描,而下文中所提供的视频图像处理方法中是对该已加入运动矢量第二候选列表中的运动矢量所对应的图像块进行扫描。
如图7所示,本申请实施例提供一种视频图像处理方法,该方法包括如下步骤。
S710,确定当前图像块的M个邻近块。
当前图像块为待进行编码(或解码)的图像块。例如,当前图像块为一个编码单元(CU)。
当前图像块所在的图像帧称为当前帧。
邻近块为在当前图像上与当前图像块的位置相邻或具有一定位置间距的图像块。
M个邻近块为当前帧内已完成编码(或解码)的图像块。
作为示例,如图2所示,按图2中所示的位于当前图像块周围4个位置A1(左)→B1(上)→B0(右上)→A0(左下)的图像块的顺序,依次确定当前图像块的4个邻近块。
S720,对M个邻近块中的N个邻近块依次扫描,根据扫描结果确定目标邻近块,N小于M。
根据N个邻近块的扫描结果确定目标邻近块的过程可以是,基于预设条件对N个邻近块依次进行判断,根据判断结果确定目标邻近块。
作为示例,预设条件的定义为,邻近块的参考图像与当前图像块的参考图像相同。
其中,当前图像块的参考图像为与当前图像块所在的图像时间距离最近的参考图像;或,当前图像块的参考图像为编解码端预设的参考图像;或,当前图像块的参考图像为在视频参数集、序列头、序列参数集、图像头、图像参数集、条带头中指定的参考图像。
例如,该当前图像块的参考图像为当前图像块的同位帧,同位帧即为在条带级信息头中设定的用于获取运动信息进行预测的帧。
应理解,根据未来技术的演进,该预设条件可能会被赋予其它不同的定义,相应的方案也落入本申请保护范围。
下文将对根据N个邻近块的扫描结果确定目标邻近块的过程进行详细描述。
在步骤S720中,仅对步骤S710中获取的M个邻近块中的N个邻近块进行扫描,这样可以减少扫描次数。
可选地,在步骤S720中,可以对M个邻近块中的前N个邻近块依次扫描。
当在步骤S710中,按预设顺序依次确定当前图像块的M个邻近块时,步骤S720中获取的前N个邻近块,指的是按该预设顺序首先确定的N个邻近块。
可选地,在步骤S720中,可以对M个邻近块中的最后N个邻近块依次扫描;或者,可以对M个邻近块中的中间的N个邻近块依次扫描。本申请对此不作限定。
S730,根据目标邻近块的运动矢量、当前图像块以及当前图像块的参考图像,确定当前图像块的相关块。
S740,根据相关块的运动矢量对当前图像块进行编/解码。
可选地,步骤S740包括:根据相关块的运动矢量和参考图像确定当前图像块的参考块。
例如,步骤S740包括:构建当前图像块的候选块列表,该候选块列表中的候选块包括M个邻近块和相关块;根据候选块列表中的候选块的参考块对当前图像块进行编解码。
在一个示例中,该候选块列表为当前图像块的merge候选列表。在一个示例中。该候选块列表为当前图像块的AMVP候选列表。
在编码端,将当前块的候选块的索引(index)写入码流。在解码端,获取到索引后,从候选块列表中找到该索引对应的候选块,根据该候选块的参考块确定当前图像块的参考块,或者,根据该候选块的运动矢量确定当前图像块的运动矢量。
例如,直接将候选块的参考块确定当前图像块的参考块,或者,直接将候选块的运动矢量确定当前图像块的运动矢量。又例如,编码端还将该当前块的MVD写入码流中。解码端获取到该MVD后,将该候选块的运动矢量加上MVD作为当前块的运动矢量,然后根据该运动矢量和当前块的参考图像确定当前块的参考块。
在本申请实施例中,在获取当前图像块的目标邻近块的过程中,仅对已经获取的M个邻近块中的N(N小于M)个邻近块依次扫描,相对于现有技术,可以减少在获取当前图像块的目标邻近块的过程中对候选邻近块的扫描次数,从而降低复杂度。
可选地,在本实施例中,在步骤S710中,确定当前图像块在当前帧内的4个邻近块,即M等于4。在步骤S720中,对4个邻近块中的N个邻近块进行扫描,N小于4。
例如,N等于1。例如,在步骤S720中,仅对4个邻近块中的第一个邻近块进行扫描。
再例如,N等于2或3。
下文将对步骤S720中,根据N个邻近块的扫描结果确定目标邻近块的方式进行描述。
可选地,在步骤S720中,对N个邻近块依次进行扫描,当扫描到第一个符合预设条件的邻近块时,停止扫描,且根据扫描到的第一个符合预设条件的邻近块确定目标邻近块。
例如,预设条件的定义为邻近块的参考图像与当前图像块的参考图像相同。
应理解,在将来演进的技术中,预设条件还可能被赋予其他定义。
下文中,以预设条件的定义为邻近块的参考图像与当前图像块的参考图像相同为例进行描述。
例如,将第一个符合预设条件的邻近块作为目标邻近块。
可选地,当在步骤S720中,在N个邻近块中未扫描到符合预设条件的邻近块时,该方法还包括:对M个邻近块中的特定邻近块的运动矢量进行缩放处理,根据缩放处理后的运动矢量对当前图像块进行编/解码。
例如,根据缩放处理后的运动矢量和当前图像块的参考图像确定当前图像块的参考块。
可选地,特定邻近块为N个邻近块中,按扫描顺序得到的第一个邻近块或者最后一个邻近块。
该特定邻近块还可以为N个邻近块中,按其它扫描顺序得到的邻近块。
可选地,根据缩放处理后的运动矢量对当前图像块进行编/解码,包括:对特定邻近块的运动矢量进行缩放处理,使得经过缩放处理后的运动矢量指向的参考帧与当前图像块的参考图像相同;将经过缩放处理后的运动矢量在当前图像块的参考图像中指向的图像块作为当前图像块的参考块。
可选地,当在步骤S720中,当在N个邻近块中未扫描到符合预设条件的邻近块时,将默认块作为当前图像块的候选参考块。
例如,默认块为运动矢量(0,0)指向的图像块。
下文将对步骤S730中,根据目标邻近块的运动矢量、当前图像块以及当前图像块的参考图像,确定当前图像块的相关块的过程进行描述。
可选地,作为一种实现方式,根据目标邻近块的运动矢量、当前图像块以及当前图像块的参考图像,确定当前图像块的相关块,包括:将当前图像块划分为多个子图像块;根据目标邻近块的运动矢量,在当前图像块的参考图像中确定子图像块的相关块,当前图像块的相关块包括子图像块的相关块。
相关块可以被称为collocated block或者corresponding block。
例如,当前图像块为一个CU,将其划分之后得到的子图像块可称为sub-CU。
可选地,子图像块的大小和/或子图像块的相关块的大小固定为大于或等于64个像素。
可选地,子图像块的大小和/或子图像块的相关块的大小均固定为8×8个像素。
在目前ATMVP技术中,对子图像块的大小进行帧级自适应的设置,子图像块的大小默认为4×4,当满足一定条件时,子图像块的大小被设置为8×8。例如,在编码端,在编码当前图像块时,计算同一时域层的上一个编码图像块进行ATMVP模式编码时CU中的各个子图像块的平均块大小,当平均块大小大于阈值,当前图像块的子图像块的尺寸被设置为8×8,否则使用默认值4×4。目前,在新一代视频编码标准(Versatile Video Coding,VVC)中,是以8×8的大小对运动矢量进行存储。应理解,当将子图像块的大小设置为4×4,该子图像块的运动矢量的大小(也为4×4)不符合当前标准中运动矢量的存储粒度。此外,目前ATMVP技术中,编码当前图像块时,还需要存储同一时域层的上一个已编码图像块的子图像块的大小的信息。
在本申请实施例中,将当前图像块的子图像块的大小设置为8×8,一方面可以适应视频标准VVC中规定的运动矢量的存储粒度,另一方面,无需存储上一个已编码图像块的子图像块的大小的信息,因此,可以节省存储空间。
在本申请一些实施例中,在子图像块的大小和/或所述子图像块的相关块的大小为8×8个像素的情况下,设置不进行TMVP操作,可以跳过部分冗余操作,有效节省编解码的时间,提高编码效率。
在本申请一些实施例中,在当前CU的宽和/或高小于8像素的情况下,设置不进行TMVP操作。换句话说,在子图像块和/或所述子图像块的相关块的宽和高中至少一个小于8像素的情况下,设置不进行TMVP操作。对于上述情况,跳过TMVP操作带来的性能影响可以忽略不计,从而可以有效节省编解码的时间,提高编码效率。
应理解,在保证子图像块的大小和/或子图像块的相关块的大小固定为等于64个像素的前提下,子图像块的大小和/或子图像块的相关块的大小还可以为别的尺寸,例如子图像块的大小和/或子图像块的相关块的大小为A×B,A≤64,B≤64,A和B均为4的整数。例如,子图像块的大小和/或子图像块的相关块的大小为4×16个像素,或者为16×4个像素。
可选地,作为另一种实现方式,根据目标邻近块的运动矢量、当前图像块以及当前图像块的参考图像,确定当前图像块的相关块,包括:根据目标邻近块的运动矢量,在当前图像块的参考图像中确定当前图像块的相关块。
可选地,步骤S740包括:当相关块的参考图像为特定参考图像,或者当前图像块的参考图像为特定参考图像时,根据处理后的相关块的运动矢量和当前图像块的参考图像确定当前图像块的候选参考块;其中,处理后的相关块的运动矢量和处理前的相关块的运动矢量相同。
例如,处理后的相关块的运动矢量,包括:根据数值为1的缩放比例对相关块的运动矢量进行缩放后得到的运动矢量,或者,跳过缩放步骤的相关块的运动矢量。
可选地,步骤S740包括:当相关块的参考图像为特定参考图像,或者当前块的参考图像为特定参考图像时,放弃根据相关块的运动矢量确定当前图像块的候选参考块。
在一些实施例中,步骤S720包括:当特定邻近块的运动矢量指向特定参考图像,或者当前图像块的参考图像为特定参考图像时,根据处理后的相关块的运动矢量和当前图像块的参考图像确定当前图像块的参考块;其中,处理后的相关块的运动矢量和处理前的相关块的运动矢量相同。
其中,处理后的相关块的运动矢量,包括:根据数值为1的缩放比例对相关块的运动矢量进行缩放后得到的运动矢量,或者,跳过缩放步骤的相关块的运动矢量。
上述可知,本申请实施例,在获取当前图像块的目标邻近块的过程中,仅对已经获取的M个邻近块中的N(N小于M)个邻近块依次扫描,相对于现有技术,可以减少在获取当前图像块的目标邻近块的过程中对候选邻近块的扫描次数,从而降低复杂度。
在N个邻近块中未扫描到参考帧与当前帧的同位帧相同的邻近块的情况下,对N个邻近块中的一个邻近块的运动矢量进行缩放处理,使其参考帧与当前帧的同位帧相同,然后将这个经过缩放处理的运动矢量作为当前图像块的运动矢量,这样可以提高当前图像块的运动矢量的准确度。
将当前图像块划分为大小为8×8的子图像块,一方面可以适应视频标准VVC中规定的运动矢量的存储粒度,另一方面,无需存储上一个已编码图像块的子块的大小的信息,因此,可以节省存储空间。
在本申请一些实施例中,在子图像块的大小和/或所述子图像块的相关块的大小为8×8个像素的情况下,设置不进行TMVP操作,可以跳过部分冗余操作,有效节省编解码的时间,提高编码效率。
在本申请一些实施例中,在当前CU的宽和/或高小于8像素的情况下,设置不进行TMVP操作。换句话说,在子图像块和/或所述子图像块的相关块的宽和高中至少一个小于8像素的情况下,设置不进行TMVP操作。对于上述情况,跳过TMVP操作带来的性能影响可以忽略不计,从而可以有效节省编解码的时间,提高编码效率。
在本申请实施例的一些实现方式中,在确定当前图像块的运动矢量的过程中,涉及到要利用其它图像上的某个图像块的运动矢量来确定该图像块的运动矢量。为描述方便,称该图像块为第一图像块,称所要利用的其他图像上的某个图像块为该第一图像块的时域参考块或相关块。可以理解的是,第一图像块和该第一图像块的时域参考块(或相关块)位于不同的图像上。那么,在利用该时域参考块(或相关块)的运动矢量来确定第一图像块的运动矢量的过程中,可能需要对该时域参考块(或相关块)的运动矢量进行缩放。为描述方便,本文中统一采用“相关块”这个术语。
例如,ATMVP技术应用在构建AMVP候选列表中时,在根据ATMVP技术确定当前图像块的相关块后,根据该相关块的运动矢量确定当前图像块的运动矢量时,需要对该相关块的运动矢量进行缩放,然后根据缩放后的运动矢量确定当前图像块的运动矢量。一般来说,基于相关块的运动矢量指向的参考图像与该相关块所在图像之间的时间距离,以及当前图像块的参考图像与当前图像块所在图像之间的时间距离,确定该相关块的运动矢量的缩放比例。
在一个示例中,称该相关块的运动矢量为MV 2,该运动矢量MV 2所指向的参考图像的参考帧索引值为x。其中,该参考帧索引值x为MV 2所指向的参考图像的顺序编号(例如POC)与该相关块所在图像的顺序编号之差。称第一图像块的参考图像的参考帧索引值为y。其中,该参考帧索引值y为第一图像块的参考图像的顺序编号与该第一图像块所在图像的顺序编号之差。那么,对运动矢量MV 2的缩放比例为y/x。可选的,可以将运动矢量MV 2与y/x的乘积作为第一图像块的运动矢量。
然而,当相关块的运动矢量MV 2是指向一个特定参考图像时,或者,当第一图像块的参考图像是一个特定参考图像时,由于特定参考图像与第一图像块所在图像的时间距离定义不明确,对相关块的运动矢量MV 2缩放便没有意义。
可选地,在本实施例中,当根据相关块的运动矢量确定当前图像块的运动矢量时,具体地:当相关块的运动矢量指向特定参考图像,或者当前图像块的参考图像为特定参考图像时,根据处理后的相关块的运动矢量确定当前图像块的运动矢量,其中,处理后的相关块的运动矢量和处理前的相关块的运动矢量相同。
例如,处理后的相关块的运动矢量,包括:根据数值为1的缩放比例对相关块的运动矢量进行缩放后得到的运动矢量,或者,跳过缩放步骤的相关块的运动矢量。
可选地,在本实施例中,当根据相关块的运动矢量确定当前图像块的运动矢量时,具体地:当相关块的运动矢量指向特定参考图像,或者当前图像块的参考图像为特定参考图像时,放弃根据相关块的运动矢量确定当前图像块的运动矢量。
如图8所示,本申请实施例还提供一种视频图像处理方法,该方法包括如下步骤。
S810,确定当前图像块的M个邻近块。
步骤S810可以对应于上文实施例中的步骤S710。
S820,对M个邻近块中的至少部分邻近块依次扫描,根据扫描结果确定目标邻近块。
可选地,对M个邻近块中的部分邻近块依次扫描,根据扫描结果确定目标邻近块。
可选地,对M个邻近块中的全部邻近块依次扫描,根据扫描结果确定目标邻近块。
S830,将当前图像块划分成多个子图像块,其中,子图像块的大小固定为大于或等于64个像素。
S840,根据目标邻近块的运动矢量及子图像块,在当前图像块的参考图像中确定当前图像块的相关块。
可选地,当前图像块的参考图像为与当前图像块所在的图像时间距离最近的参考图像。
可选地,当前图像块的参考图像为编解码端预设的参考图像。
可选地,当前图像块的参考图像为在视频参数集、序列头、序列参数集、图像头、图像参数集、条带头中指定的参考图像。
S850,根据相关块的运动矢量对当前图像块进行编/解码。
在本申请实施例中,将当前图像块的子图像块的大小固定为大于或等于64个像素,无需存储上一个已编码图像块的子图像块的大小的信息,因此,可以节省存储空间。
可选地,在本实施例中,子图像块的大小和/或子图像块的时域参考块的大小均固定为8×8个像素。
目前,在新一代视频编码标准(Versatile Video Coding,VVC)中,是以8×8的大小对运动矢量进行存储。在本申请实施例中,将当前图像块的子图像块的大小设置为8×8,一方面可以适应视频标准VVC中规定的运动矢量的存储粒度,另一方面,无需存储上一个已编码图像块的子图像块的大小的信息,因此,可以节省存储空间。
在本申请一些实施例中,在子图像块的大小和/或所述子图像块的相关块的大小为8×8个像素的情况下,设置不进行TMVP操作,可以跳过部分冗余操作,有效节省编解码的时间,提高编码效率。
在本申请一些实施例中,在当前CU的宽和/或高小于8像素的情况下,设置不进行TMVP操作。换句话说,在子图像块和/或所述子图像块的相关块的宽和高中至少一个小于8像素的情况下,设置不进行TMVP操作。对于上述情况,跳过TMVP操作带来的性能影响可以忽略不计,从而可以有效节省编解码的时间,提高编码效率。
应理解,在保证子图像块的大小和/或子图像块的相关块的大小固定为等于64个像素的前提下,子图像块的大小和/或子图像块的相关块的大小还可以为别的尺寸,例如子图像块的大小和/或子图像块的相关块的大小为A×B,A≤64,B≤64,A和B均为4的整数。例如,子图像块的大小和/或子图像块的相关块的大小为4×16个像素,或者为16×4个像素。
可选地,步骤S820包括:对至少部分邻近块依次进行扫描,当扫描到第一个符合预设条件的邻近块时,停止扫描,且根据扫描到的第一个符合预设条件的邻近块确定目标邻近块。
例如,将第一个符合预设条件的邻近块作为目标邻近块。
例如,预设条件的定义为:邻近块的参考图像与当前图像块的参考图像相同。
可选地,步骤S840包括:根据目标邻近块的运动矢量及子图像块,在当前图像块的参考图像中确定子图像块的相关块,其中,当前图像块的相关块,包括子图像块的相关块。
上文结合图7和图8描述了本申请的方法实施例,下文将描述图7和图8所示的方法实施例对应的装置实施例。应理解,装置实施例的描述与方法实施例的描述相互对应,因此,未详细描述的内容可以参见前面方法实施例,为了简洁,这里不再赘述。
图9为本申请实施例提供的视频图像处理装置900的示意性框图。该装置900用于执行如图7所示的方法实施例。该装置900包括如下单元。
获取单元910,用于获取当前图像块的M个邻近块;
确定单元920,用于对M个邻近块中的N个邻近块依次扫描,根据扫描结果确定目标邻近块,N小于M;
确定单元920还用于,根据目标邻近块的运动矢量、当前图像块以及当前图像块的参考图像,确定当前图像块的相关块;
编/解码单元930,用于根据相关块的运动矢量对当前图像块进行编/解码。
在本申请实施例中,在获取当前图像块的目标邻近块的过程中,仅对已经获取的M个邻近块中的N(N小于M)个邻近块依次扫描,相对于现有技术,可以减少在获取当前图像块的目标邻近块的过程中对候选邻近块的扫描次数,从而降低复杂度。
可选地,作为一个实施例,M等于4,N小于4。
可选地,作为一个实施例,N等于1或2。
可选地,作为一个实施例,确定单元920用于,对M个邻近块中的前N个邻近块依次扫描。
可选地,作为一个实施例,获取单元910用于,按预设顺序依次获取当前图像块的M个邻近块;前N个邻近块,指的是按预设顺序首先确定的N个邻近块。
可选地,作为一个实施例,确定单元920用于,对N个邻近块依次进行扫描,当扫描到第一个符合预设条件的邻近块时,停止扫描,且根据扫描到的第一个符合预设条件的邻近块确定目标邻近块。
可选地,作为一个实施例,确定单元920用于,将第一个符合预设条件的邻近块作为目标邻近块。
可选地,作为一个实施例,预设条件包括:邻近块的参考图像与当前图像块的参考图像相同。
可选地,作为一个实施例,编/解码单元930用于,根据相关块的运动矢量和参考图像确定当前图像块的参考块。
可选地,作为一个实施例,编/解码单元930用于,构建当前图像块的候选块列表,候选块列表中的候选块包括M个邻近块和相关块;根据候选块列表中的候选块的参考块对当前图像块进行编解码。
可选地,作为一个实施例,编/解码单元930还用于,当在N个邻近块中未扫描到符合预设条件的邻近块时,对M个邻近块中的特定邻近块的运动矢量进行缩放处理,根据缩放处理后的运动矢量对当前图像块进行编/解码。
可选地,作为一个实施例,编/解码单元930用于,根据缩放处理后的运动矢量和当前图像块的参考图像确定当前图像块的参考块。
可选地,作为一个实施例,特定邻近块为N个邻近块中,按扫描顺序得到的第一个邻近块或者最后一个邻近块。
可选地,作为一个实施例,编/解码单元930用于,对特定邻近块的运动矢量进行缩放处理,使得经过缩放处理后的运动矢量指向的参考帧与当前图像块的参考图像相同;将经过缩放处理后的运动矢量在当前图像块的参考图像中指向的图像块作为当前图像块的参考块。
可选地,作为一个实施例,确定单元920用于,当N个邻近块中未扫描到符合预设条件的邻近块时,将默认块作为当前图像块的参考块。
可选地,作为一个实施例,默认块为运动矢量(0,0)指向的图像块。
可选地,作为一个实施例,确定单元920用于:
将当前图像块划分为多个子图像块;
根据目标邻近块的运动矢量,在当前图像块的参考图像中确定子图像块的相关块,当前图像块的相关块包括子图像块的相关块。
可选地,作为一个实施例,子图像块的大小和/或子图像块的相关块的大小固定为大于或等于64个像素。
可选地,在本申请一些实施例中,在子图像块的大小和/或所述子图像块的相关块的大小为8×8个像素的情况下,设置不进行TMVP操作,可以跳过部分冗余操作,有效节省编解码的时间,提高编码效率。
可选地,在本申请一些实施例中,在当前CU的宽和/或高小于8像素的情况下,设置不进行TMVP操作。换句话说,在子图像块和/或所述子图像块的相关块的宽和高中至少一个小于8像素的情况下,设置不进行TMVP操作。对于上述情况,跳过TMVP操作带来的性能影响可以忽略不计,从而可以有效节省编解码的时间,提高编码效率。
可选地,作为一个实施例,当前图像块为一个编码单元CU。
可选地,作为一个实施例,确定单元920用于,根据目标邻近块的运动矢量,在当前图像块的参考图像中确定当前图像块的相关块。
可选地,作为一个实施例,邻近块为在当前图像上与当前图像块的位置相邻或具有一定位置间距的图像块。
可选地,作为一个实施例,编/解码单元930用于,当相关块的参考图像为特定参考图像,或者当前图像块的参考图像为特定参考图像时,根据处理后的相关块的运动矢量和当前图像块的参考图像确定当前图像块的参考块;
其中,处理后的相关块的运动矢量和处理前的相关块的运动矢量相同。
可选地,作为一个实施例,,处理后的相关块的运动矢量,包括:根据数值为1的缩放比例对相关块的运动矢量进行缩放后得到的运动矢量,或者,跳过缩放步骤的相关块的运动矢量。
可选地,作为一个实施例,编/解码单元930用于,当相关块的参考图像为特定参考图像,或者当前块的参考图像为特定参考图像时,放弃根据相关块的运动矢量确定当前图像块的参考块。
可选地,作为一个实施例,确定单元920用于:当特定邻近块的运动矢量指向特定参考图像,或者当前图像块的参考图像为特定参考图像时,根据处理后的相关块的运动矢量和当前图像块的参考图像确定当前图像块的参考块;其中,处理后的相关块的运动矢量和处理前的相关块的运动矢量相同。
可选地,作为一个实施例,处理后的相关块的运动矢量,包括:根据数值为1的缩放比例对相关块的运动矢量进行缩放后得到的运动矢量,或者,跳过缩放步骤的相关块的运动矢量。
应理解,本实施例中的获取单元910、确定单元920和编/解码单元930均可以由处理器实现。
如图10所示,本申请实施例还提供一种视频图像处理装置1000。该装置1000用于执行如图8所示的方法实施例。该装置1000包括如下单元。
获取单元1010,用于获取当前图像块的M个邻近块;
确定单元1020,用于对M个邻近块中的至少部分邻近块依次扫描,根据扫描结果确定目标邻近块;
划分单元1030,用于将当前图像块划分成多个子图像块,其中,子图像块的大小固定为大于或等于64个像素;
确定单元1020还用于,根据目标邻近块的运动矢量及子图像块,在当前图像块的参考图像中确定当前图像块的相关块;
编/解码单元1040,用于根据相关块的运动矢量对当前图像块进行编/解码。
在本申请实施例中,将当前图像块的子图像块的大小固定为大于或等于64个像素,无需存储上一个已编码图像块的子图像块的大小的信息,因此,可以节省存储空间。
可选地,作为一个实施例,子图像块的大小和/或子图像块的时域参考块的大小均固定为8×8个像素。
目前,在新一代视频编码标准(Versatile Video Coding,VVC)中,是以8×8的大小对运动矢量进行存储。在本申请实施例中,将当前图像块的子图像块的大小设置为8×8,一方面可以适应视频标准VVC中规定的运动矢量的存储粒度,另一方面,无需存储上一个已编码图像块的子图像块的大小的信息,因此,可以节省存储空间。
在本申请一些实施例中,在ATMVP技术中的子图像块的大小和/或所述子图像块的相关块的大小为8×8个像素的情况下,设置不进行TMVP操作,可以跳过部分冗余操作,有效节省编解码的时间,提高编码效率。
在本申请一些实施例中,在当前CU的宽和高中的至少一个小于8的情况下,设置不进行TMVP操作,跳过TMVP操作带来的性能影响可以忽略不计,从而可以有效节省编解码的时间,提高编码效率。
应理解,在保证子图像块的大小和/或子图像块的相关块的大小固定为等于64个像素的前提下,子图像块的大小和/或子图像块的相关块的大小还可以为别的尺寸,例如子图像块的大小和/或子图像块的相关块的大小为A×B,A≤64,B≤64,A和B均为4的整数。例如,子图像块的大小和/或子图像块的相关块的大小为4×16个像素,或者为16×4个像素。
可选地,作为一个实施例,对M个邻近块中的至少部分邻近块依次扫描,根据扫描结果确定目标邻近块,包括:对至少部分邻近块依次进行扫描,当扫描到第一个符合预设条件的邻近块时,停止扫描,且根据扫描到的第一个符合预设条件的邻近块确定目标邻近块。
可选地,作为一个实施例,确定单元1020用于,将第一个符合预设条件的邻近块作为目标邻近块。
可选地,作为一个实施例,预设条件包括:邻近块的参考图像与当前图像块的参考图像相同。
可选地,作为一个实施例,确定单元1020用于,根据目标邻近块的运动矢量及子图像块,在当前图像块的参考图像中确定子图像块的相关块,其中,当前图像块的相关块,包括子图像块的相关块。
应理解,本实施例中的获取单元1010、确定单元1020、划分单元1030和编/解码单元1040均可以由处理器实现。
如图11所示,本申请实施例还提供一种视频图像处理装置1100。装置1100可以用于执行上文描述的方法实施例。装置1100包括处理器1110、存储器1120,存储器1120用于存储指令,处理器1110用于执行存储器1120存储的指令,并且对存储器1120中存储的指令的执行使得处理器1110用于执行根据上文方法实施例的方法。
可选地,如图11所示,该装置1100还可以包括通信接口1130,用于与外部设备进行通信。例如,处理器1110用于控制通信接口1130接收和/或发送信号。
本申请提供的装置500、600、900、1000和1100可以应用于编码器,也可以应用于解码器。
上文中对运动矢量第二候选列表进行了解释,下面将对运动矢量第一候选列表进行解释。
在运动补偿预测阶段,以往主流的视频编码标准只应用了平移运动模型。而在现实世界中,有太多种运动形式,如放大/缩小,旋转,远景运动和其他不规则运动。为了提高帧间预测的效率,可以在编解码技术中引入仿射变换(affine)运动补偿模型。仿射变换运动补偿会通过一组控制点(control point)的MV来描述图像块的仿射运动场。一个示例中,仿射变换运动补偿模型采用的是四参Affine模型,则该组控制点包括两个控制点(例如图像块的左上角点和右上角点)。一个示例中,仿射变换运动补偿模型采用的是六参Affine模型,则该组控制点包括三个控制点(例如图像块的左上角点、右上角点和左下角点)。
一种实现方式中,在构建运动矢量第一候选列表时,加入的候选者可以是一组控制点的MV,或者称为控制点预测运动矢量(CPMVP,Control point motion vectorprediction)。可选的,运动矢量第一候选列表可用于Merge模式中,具体的,可以称为Affine Merge模式;相对应的,该运动矢量第一候选列表可以称为affine mergecandidate list。在Affine Merge模式中,直接使用运动矢量第一候选列表中的预测作为当前图像块的CPMV(Control point motion vector),也即不需要进行affine运动估计过程。
一种实现方式中,可将根据ATMVP技术确定的候选者加入到运动矢量第一候选列表中。
其中,一个示例中,将当前图像块的相关块的控制点运动矢量组作为候选者加入到运动矢量第一候选列表中。在采用运动矢量第一列表中该候选者进行预测时,根据当前图像块的相关块的控制点运动矢量组对该当前图像块进行预测。
其中,一个示例中,如上文所描述的,将当前图像块的相关块的代表运动矢量作为候选者加入到运动矢量第一候选列表中。进一步,可选的,还标记该候选者为根据ATMVP技术确定的。当采用运动矢量第一候选列表中该候选者进行预测时,根据该标记和候选者确定当前图像块的相关块,将当前图像块和该相关块采用相同的方式划分成多个子图像块,当前图像块中的各子图像块与所述相关块中的各子图像块一一对应;根据该相关块中各子图像块的运动矢量分别对当前图像块中对应的子图像块的运动矢量进行预测。
其中,可选的,当相关块中出现运动矢量不可获得的子图像块时,采用该相关块的代表运动矢量替代该不可获得的运动矢量,对当前图像块中对应的子图像块进行预测。可选的,当相关块的代表运动矢量均不可获得时,放弃将根据ATMVP技术确定的候选者加入到该运动矢量第二候选列表中。一种示例中,当相关块中的子图像块不可获得,或者相关块中的子图像块采用帧内编码模式时,确定该相关块中出现不可获得运动矢量的子图像块。
其中,可选的,运动矢量第一候选列表中每个候选者包括一组控制点的运动矢量;在将当前图像块的相关块的代表运动矢量加入运动矢量第一候选列表中时,为保证数据格式的一致性,可将该相关块的代表运动矢量插入为候选者中的每一个控制点的运动矢量(也即该候选者中的每个控制点的运动矢量都赋值为该相关块的代表运动矢量)。
其中,可选的,当前图像块的相关块的代表运动矢量可以指的是该相关块的中心位置的运动矢量,或者其他代表该相关块的运动矢量,在此不做限制。
根据上文对运动矢量第二候选列表的描述可知,在根据ATMVP技术确定候选者时,需要确定当前图像块的相关块。本方案中,在根据ATMVP技术确定加入运动矢量第一候选列表的候选者时,确定当前图像块的相关块的方法包括两种:
方法一、对当前图像块的预设的M个邻近块中的N个邻近块依次扫描,根据扫描结果确定目标邻近块,N小于M,M小于等于4;根据所述目标邻近块的运动矢量、所述当前图像块以及所述当前图像块的参考图像,确定所述当前图像块的相关块。
方法二、确定根据当前图像块的运动矢量第二候选列表中的M个候选者确定当前图像块的M个邻近块;对该M个邻近块中的N个邻近块依次扫描,根据扫描结果确定目标邻近块,N小于M,M小于等于4;根据该目标邻近块的运动矢量、当前图像块以及当前图像块的参考图像,确定所述当前图像块的相关块。其中,运动矢量第二候选列表中的M个候选者可以指的是当前图像块的M个邻近块。
其中,对方法一和方法二中关于“根据扫描结果确定目标邻近块”,以及“根据所述目标邻近块的运动矢量、所述当前图像块以及所述当前图像块的参考图像,确定所述当前图像块的相关块”这两个步骤的说明,可参考上文中的解释,在此不在赘述。
一种实现方式中,确定加入运动矢量第一候选列表中的候选者的方法包括:从当前图像块的邻近块中,按特定扫描顺序确定采用仿射变换模式进行预测的邻近块的控制点运动矢量组;将每一个确定的邻近块的控制点运动矢量组作为一个候选者加入运动矢量第一候选列表。
其中,一个示例中,采用仿射变化模式进行预测的邻近块,指的是该邻近块的运动矢量是根据affine merge candidate list中的候选者确定的。也即候选者来自当前图像块的使用affine模式的空域相邻块的affine运动模型;即,将使用affine模式的空域相邻块的CPMV作为当前块的CPMVP。
其中,一个示例中,控制点运动矢量组可以包括该邻近块的2个控制点的运动矢量(例如该邻近块的左上角点和右上角点),或者包括该邻近块的3个控制点的运动矢量(例如图像块的左上角点、右上角点和左下角点),这取决于采用的是四参Affine模型还是六参Affine模型。
其中,一个示例中,按特定扫描顺序确定采用仿射变换模式进行预测的邻近块的控制点运动矢量组,包括:
在所述当前图像块的左侧邻近块中按第一扫描顺序确定第一邻近块的控制点运动矢量组;
在所述当前图像块的上侧邻近块中按第二扫描顺序确定第二邻近块的控制点运动矢量组;
将所述第一邻近块的控制点运动矢量组和所述第二邻近块的控制点运动矢量组加入所述运动矢量第一候选列表。
例如,如图12所示,图12是通过当前图像块的邻近块获取运动矢量第一候选列表的候选者的示意图。在当前图像块的左侧,按图像块A->图像块D->图像块E的扫描顺序依次扫描,将第一个满足预置条件的图像块的控制点运动矢量组作为一个候选者加入运动矢量第一候选列表。在当前图像块的上侧,按图像块B->图像块C的扫描顺序依次扫描,将第一个满足预置条件的图像块的控制点运动矢量组作为一个候选者加入运动矢量第一候选列表。可选的,在该扫描顺序中,若未找到符合该阈值条件的图像块,则放弃在该扫描顺序中确定出候选者。
一种实现方式中,确定加入运动矢量第一候选列表中的候选者的方法包括:
根据所述当前图像块的部分控制点的邻近块构造所述部分控制点的运动矢量;
将所述当前图像块的部分控制点的运动矢量加入所述运动矢量第一候选列表。
也即在该种实现方式中,是通过构造候选者来加入到运动矢量第一候选列表中。一个示例中,在通过构造候选者来加入到运动矢量第一候选列表之前,首先判断运动矢量第一候选列表中的候选者的数量是否已达到预置数值(例如5),若未达到预置数值,则通过构造候选者来加入到运动矢量第一候选列表中。
一个示例中,构造的候选者是将当前图像块部分控制点的邻近块的运动信息组合后作为CPMVP加入到运动矢量第一候选列表中。
如图13所示,图13是通过当前图像块的邻近块构造运动矢量第一候选列表的候选者的示意图。当前图像块一共有四个控制点,分别为CP1,CP2,CP3,CP4。其中,图像块A0和A1是CP1的空域相邻块;图像块A2,B2和B3是CP2的空域相邻块;图像块B0和B1是CP2的空域相邻块,T是CP4的时域相邻块。控制点CP1,CP2,CP3和CP4的坐标分别为:(0,0),(W,0),(H,0)和(W,H),W和H分别表示当前CU的宽和高。每个控制点的相邻块运动信息的获取优先级为:
对于CP1,获取优先级为:B2->B3->A2。B2可用时,使用B2的MV作为控制点CP1的MV;B2不可用时,使用B3的MV作为控制点CP1的MV;若B2和B3都不可用,则使用A1的MV作为控制点CP1的MV;若B2,B3和A1都不可用,则控制点CP1的运动信息不可得。
同理,对于CP2,获取优先级为:B1->B0;对于CP3,获取优先级为:A1->A0;对于CP4,直接使用T的MV作为控制点CP4的MV。
只有当当前CU的控制点(六参数模型:CP0,CP1和CP2;四参数模型:CP0和CP1)的MV都可用时,才会插入构造生成的MV,否则直接跳至下一步。得到所有控制点的MV(如果有的话)之后,将控制点的MV进行不同的组合即可得到多个affine candidates,组合方式如下:
若使用四参数affine模型,则组合四个控制点的MV中的两个即可得到一个或多个候选者,选择其中的两种组合方式:{CP1,CP2},{CP1,CP3}。其中,组合方式{CP1,CP3}需要根据四参数模型将选中的两个控制点的MV转化成当前CU的左上角和右上角控制点的MV(CP1和CP2)。
若使用六参数affine模型,则组合四个控制点的MV中的三个即可得到一个或多个候选者,选择4种组合方式:{CP1,CP2,CP4},{CP1,CP2,CP3},{CP2,CP3,CP4},{CP1,CP3,CP4}。其中,组合方式{CP1,CP2,CP3},{CP2,CP3,CP4},{CP1,CP3,CP4}需要根据六参数模型将选中的三个控制点的MV转化成当前CU的左上角,右上角和左下角控制点的MV(CP1,CP2和CP3)
一个示例中,若不同组合的MV(2个或3个)所使用的参考帧不相同,则认为该组合构造生成的候选者不可用。
一种实现方式中,确定加入运动矢量第一候选列表中的候选者的方法包括:使用默认向量进行填充。可选的,该默认向量可以是零向量或其他向量。可选的,可以是在采用其他方法确定加入运动矢量第一候选列表的候选者之后,判断当前已加入该第一候选列表的候选者的数量是否已达到预置数值;若未达到,则使用默认向量填充到第一候选列表中,直至第一候选列表中的候选者的数量达到预置数值。
当采用运动矢量第一候选列表中的候选者来对当前图像块进行预测时,若采用的候选者为除利用ATMVP技术所确定的候选者以外的至少一个候选者时,通过仿射运动模型根据该候选者导出当前图像块中的子图像块的运动矢量。当采用的候选者为利用ATMVP技术所确定的候选者时,则根据上文所描述的,根据相关块中的每个子图像块的运动矢量确定当前图像块中各子图像块的参考块,将各子图像块的参考块拼接成当前图像块的参考块,并根据该参考块计算当前图像块的残差。
下面结合图14和图15对本申请实施例提供的一种视频图像处理方法进行举例描述。如图14所示,该方法包括如下步骤。
S1410,对当前图像块的预设的M个邻近块中的N个邻近块依次扫描,根据扫描结果确定目标邻近块,N小于M。可选的,M小于等于4。
S1420,根据所述目标邻近块的运动矢量、所述当前图像块以及所述当前图像块的参考图像,确定所述当前图像块的相关块。
S1430,将所述当前图像块和所述相关块采用相同的方式划分成多个子图像块,所述当前图像块中的各子图像块与所述相关块中的各子图像块一一对应。
S1440,根据所述相关块中各子图像块的运动矢量分别对所述当前图像块中对应的子图像块进行预测。
对图14所示的视频图像处理方法的解释可参考上文,在此不再赘述。
如图15所示,该方法包括如下步骤。
S1510,根据当前图像块的运动矢量第二候选列表中的M个候选者确定所述当前图像块的M个邻近块。
S1520,对所述M个邻近块中的N个邻近块依次扫描,根据扫描结果确定目标邻近块,N小于M。可选的,M小于等于4。
S1530,根据所述目标邻近块的运动矢量、所述当前图像块以及所述当前图像块的参考图像,确定所述当前图像块的相关块。
S1540,根据所述当前图像块的相关块确定所述当前图像块的运动矢量第一候选列表中的特定候选者。其中,该特定候选者可以是上文所提到的根据ATMVP技术所确定的候选者。
S1550,当确定采用所述特定候选者时,将所述当前图像块和所述相关块采用相同的方式划分成多个子图像块,所述当前图像块中的各子图像块与所述相关块中的各子图像块一一对应。
S1560,根据所述相关块中各子图像块的运动矢量分别对所述当前图像块中对应的子图像块进行预测。
对图15所示的视频图像处理方法的解释可参考上文,在此不再赘述。
图16为本申请实施例提供的视频图像处理装置1600的示意性框图。该装置1600用于执行如图14所示的方法实施例。该装置1600包括如下单元。
构建模块1610,对当前图像块的预设的M个邻近块中的N个邻近块依次扫描,根据扫描结果确定目标邻近块,N小于M;根据所述目标邻近块的运动矢量、所述当前图像块以及所述当前图像块的参考图像,确定所述当前图像块的相关块;将所述当前图像块和所述相关块采用相同的方式划分成多个子图像块,所述当前图像块中的各子图像块与所述相关块中的各子图像块一一对应;
预测模块1620,根据所述相关块中各子图像块的运动矢量分别对所述当前图像块中对应的子图像块进行预测。
一个示例中,N等于1或2。
一个示例中,预测模块还用于:在所述根据所述相关块中各子图像块的运动矢量分别对所述当前图像块中对应的子图像块进行预测之前将所述相关块的代表运动矢量作为候选者加入运动矢量第一候选列表;
当确定采用所述候选者时,所述预测模块根据所述相关块中各子图像块的运动矢量分别对所述当前图像块中对应的子图像块进行预测。
一个示例中,所述根据所述相关块中各子图像块的运动矢量分别对所述当前图像块中对应的子图像块进行预测,包括:
将所述相关块中各子图像块的运动矢量,分别作为所述当前图像块中对应的子图像块的运动矢量。
一个示例中,将所述相关块的代表运动矢量作为第一个候选者加入运动矢量第一候选列表。
一个示例中,所述相关块的代表运动矢量包括所述相关块的中心位置的运动矢量。
一个示例中,预测模块还用于:当所述相关块中出现不可获得运动矢量的子图像块时,将所述相关块的代表运动矢量作为所述不可获得运动矢量的子图像块的运动矢量,对所述当前图像块中对应的子图像块进行预测。
一个示例中,预测模块还用于:当所述相关块中出现不可获得运动矢量的子图像块,且所述相关块的代表运动矢量不可获得时,放弃根据所述相关块中各子图像块的运动矢量分别对所述当前图像块中对应的子图像块进行预测。
一个示例中,预测模块还用于:当所述相关块中的子图像块不可获得,或者所述相关块中的子图像块采用帧内编码模式时,确定所述相关块中出现不可获得运动矢量的子图像块。
一个示例中,构建模块还用于:确定其他候选者,将所述其他候选者加入所述运动矢量第一候选列表,其中,所述其他候选者中的至少一个候选者包括子图像块的运动矢量。
一个示例中,构建模块还用于:当确定采用所述其他候选者中的其中一个候选者时,根据所述采用的候选者确定所述当前图像块中的子图像块的运动矢量。
一个示例中,所述至少一个候选者包括一组控制点的运动矢量。
一个示例中,预测模块还用于:
当确定采用所述至少一个候选者中的候选者时,根据仿射变换模型对所述采用的候选者进行仿射变换;
根据所述仿射变换后的候选者对所述当前图像块中的子图像块进行预测。
一个示例中,当所述仿射变换模型包括四参仿射变换模型时,所述至少一个候选者中,每个候选者包括2个控制点的运动矢量;
当所述仿射变换模型包括六参仿射变换模型时,所述至少一个候选者中,每个候选者包括3个控制点的运动矢量。
一个示例中,构建模块还用于:从所述当前图像块的邻近块中,按特定扫描顺序确定采用仿射变换模式进行预测的邻近块的控制点运动矢量组;
将每一个确定的邻近块的控制点运动矢量组作为一个候选者加入所述运动矢量第一候选列表。
一个示例中,所述从所述当前图像块的邻近块中,按特定扫描顺序确定采用仿射变换模式进行预测的邻近块的控制点运动矢量组,包括:
在所述当前图像块的左侧邻近块中按第一扫描顺序确定第一邻近块的控制点运动矢量组;
在所述当前图像块的上侧邻近块中按第二扫描顺序确定第二邻近块的控制点运动矢量组;
将所述第一邻近块的控制点运动矢量组和所述第二邻近块的控制点运动矢量组加入所述运动矢量第一候选列表。
一个示例中,构建模块还用于:根据所述当前图像块的部分控制点的邻近块构造所述部分控制点的运动矢量;
将所述当前图像块的部分控制点的运动矢量加入所述运动矢量第一候选列表。
一个示例中,所述根据所述当前图像块的部分控制点的邻近块构造所述部分控制点的运动矢量,包括:
对所述部分控制点中的每个控制点,按第三扫描顺序对所述控制点的特定邻近块依次扫描,将满足预设条件的特定邻近块的运动矢量作为所述控制点的运动矢量。
一个示例中,构建模块还用于:
当所述部分控制点的运动矢量分别指向不同的参考帧时,放弃将所述当前图像块的部分控制点的运动矢量加入所述运动矢量第一候选列表。
一个示例中,当所述运动矢量第一候选列表中的候选者的数量大于预设数值时,放弃将所述当前图像块的部分控制点的运动矢量加入所述运动矢量第一候选列表。
一个示例中,构建模块还用于:
构建运动矢量第二候选列表,其中,加入所述运动矢量第二候选列表的候选者为一个图像块的运动矢量;
当确认采用所述运动矢量第二候选列表中的候选者时,根据所述候选者的运动矢量确定所述当前图像块的运动矢量。
一个示例中,所述根据所述候选者的运动矢量确定所述当前图像块的运动矢量,包括:
将所述确认采用的候选者作为所述当前图像块的运动矢量,或者对所述确认采用的候选者进行缩放后作为所述当前图像块的运动矢量。
一个示例中,所述构建运动矢量第二候选列表,包括:
根据所述当前图像块在当前图像上的若干个邻近块的运动矢量确定加入所述运动矢量第二候选列表的候选者。
一个示例中,所述当前图像块在当前图像上的若干个邻近块包括所述预设的M个邻近块。
一个示例中,构建模块还用于:
按预设顺序依次将所述预设的M个邻近块的运动矢量分别作为M个候选者,加入所述运动矢量第二候选列表;
所述N个邻近块,指的是按所述预设顺序首先确定的N个邻近块。
一个示例中,构建模块还用于:
当所述M个邻近块中的一个或多个邻近块的运动矢量不可获得时,放弃根据所述一个或多个邻近块的运动矢量确定加入所述运动矢量第二候选列表的候选者。
一个示例中,所述对所述M个邻近块中的N个邻近块依次扫描,根据扫描结果确定目标邻近块,包括:
对所述N个邻近块依次进行扫描,当扫描到第一个符合预设条件的邻近块时,停止扫描,且根据所述扫描到的所述第一个符合预设条件的邻近块确定目标邻近块。
一个示例中,所述根据所述扫描到的所述第一个符合预设条件的邻近块确定目标邻近块,包括:
将所述第一个符合预设条件的邻近块作为所述目标邻近块。
一个示例中,所述预设条件包括:
邻近块的参考图像与所述当前图像块的参考图像相同。
一个示例中,构建模块还用于当在所述N个邻近块中未扫描到符合所述预设条件的邻近块时,对所述M个邻近块中的特定邻近块的运动矢量进行缩放处理,预测模块还用于根据所述缩放处理后的运动矢量对所述当前图像块进行预测。
一个示例中,所述根据所述缩放处理后的运动矢量对所述当前图像块进行预测,包括:
根据所述缩放处理后的运动矢量和所述当前图像块的参考图像确定所述当前图像块的参考块。
一个示例中,所述特定邻近块为所述N个邻近块中,按扫描顺序得到的第一个邻近块或者最后一个邻近块。
一个示例中,所述对所述M个邻近块中的特定邻近块的运动矢量进行缩放处理,根据所述缩放处理后的运动矢量对所述当前图像块进行预测,包括:
对所述特定邻近块的运动矢量进行缩放处理,使得经过所述缩放处理后的运动矢量指向的参考帧与所述当前图像块的参考图像相同;
将经过所述缩放处理后的运动矢量在所述当前图像块的参考图像中指向的图像块作为所述当前图像块的参考块。
一个示例中,当在所述N个邻近块中未扫描到符合所述预设条件的邻近块时,将默认块作为所述当前图像块的参考块。
一个示例中,所述默认块为运动矢量(0,0)指向的图像块。
一个示例中,所述子图像块的大小和/或所述子图像块的相关块的大小固定为大于或等于64个像素。
一个示例中,所述子图像块的大小和/或所述子图像块的相关块的大小固定为8×8个像素,或16×4个像素或4×16个像素。
一个示例中,在ATMVP技术中的子图像块的大小和/或所述子图像块的相关块的大小为8×8个像素或者其宽和高中的至少一个小于8像素的情况下,设置不进行TMVP操作,可以跳过部分冗余操作,有效节省编解码的时间,提高编码效率。
一个示例中,所述当前图像块为一个编码单元CU。
一个示例中,所述根据所述目标邻近块的运动矢量、所述当前图像块以及所述当前图像块的参考图像,确定所述当前图像块的相关块,包括:
根据所述目标邻近块的运动矢量,在所述当前图像块的参考图像中确定所述当前图像块的相关块。
一个示例中,所述邻近块为在所述当前图像上与所述当前图像块的位置相邻或具有一定位置间距的图像块。
一个示例中,所述根据所述相关块的运动矢量对所述当前图像块进行预测,包括:
当所述相关块的参考图像为特定参考图像,或者所述当前图像块的参考图像为特定参考图像时,根据处理后的所述相关块的运动矢量和所述当前图像块的参考图像确定所述当前图像块的参考块;
其中,所述处理后的所述相关块的运动矢量和处理前的相关块的运动矢量相同。
一个示例中,所述处理后的所述相关块的运动矢量,包括:
根据数值为1的缩放比例对所述相关块的运动矢量进行缩放后得到的运动矢量,或者,
跳过缩放步骤的所述相关块的运动矢量。
一个示例中,所述根据所述相关块的运动矢量对所述当前图像块进行预测,包括:
当所述相关块的参考图像为特定参考图像,或者所述当前块的参考图像为特定参考图像时,放弃根据所述相关块的运动矢量确定所述当前图像块的参考块。
一个示例中,构建模块还用于:
当所述特定邻近块的运动矢量指向特定参考图像,或者所述当前图像块的参考图像为特定参考图像时,根据处理后的所述相关块的运动矢量和所述当前图像块的参考图像确定所述当前图像块的参考块;
其中,所述处理后的所述相关块的运动矢量和处理前的相关块的运动矢量相同。
一个示例中,所述处理后的所述相关块的运动矢量,包括:
根据数值为1的缩放比例对所述相关块的运动矢量进行缩放后得到的运动矢量,或者,
跳过缩放步骤的所述相关块的运动矢量。
一个示例中,M小于等于4。
图17为本申请实施例提供的视频图像处理装置1700的示意性框图。该装置1700用于执行如图15所示的方法实施例。该装置1700包括如下单元。
构建模块1710,用于根据当前图像块的运动矢量第二候选列表中的M个候选者确定所述当前图像块的M个邻近块;对所述M个邻近块中的N个邻近块依次扫描,根据扫描结果确定目标邻近块,N小于M;根据所述目标邻近块的运动矢量、所述当前图像块以及所述当前图像块的参考图像,确定所述当前图像块的相关块;根据所述当前图像块的相关块确定所述当前图像块的运动矢量第一候选列表中的特定候选者;当确定采用所述特定候选者时,将所述当前图像块和所述相关块采用相同的方式划分成多个子图像块,所述当前图像块中的各子图像块与所述相关块中的各子图像块一一对应;
预测模块1720,用于根据所述相关块中各子图像块的运动矢量分别对所述当前图像块中对应的子图像块进行预测。
一个示例中,所述运动矢量第一候选列表中的至少一个候选者包括子图像块的运动矢量,所述运动矢量第二候选列表中的每个候选者包括图像块的运动矢量。
一个示例中,N等于1或2。
一个示例中,所述M个候选者包括所述当前图像块在当前图像上的M个邻近块的运动矢量。
一个示例中,所述对所述M个邻近块中的N个邻近块依次扫描,根据扫描结果确定目标邻近块,包括:
对所述N个邻近块依次进行扫描,当扫描到第一个符合预设条件的邻近块时,停止扫描,且根据所述扫描到的所述第一个符合预设条件的邻近块确定目标邻近块。
一个示例中,所述根据所述扫描到的所述第一个符合预设条件的邻近块确定目标邻近块,包括:
将所述第一个符合预设条件的邻近块作为所述目标邻近块。
一个示例中,所述预设条件包括:
邻近块的参考图像与所述当前图像块的参考图像相同。
一个示例中,构建模块还用于当在所述N个邻近块中未扫描到符合所述预设条件的邻近块时,对所述M个邻近块中的特定邻近块的运动矢量进行缩放处理,预测模块还用于根据所述缩放处理后的运动矢量对所述当前图像块进行预测。
一个示例中,所述根据所述缩放处理后的运动矢量对所述当前图像块进行预测,包括:
根据所述缩放处理后的运动矢量和所述当前图像块的参考图像确定所述当前图像块的参考块。
一个示例中,所述特定邻近块为所述N个邻近块中,按扫描顺序得到的第一个邻近块或者最后一个邻近块。
一个示例中,所述对所述M个邻近块中的特定邻近块的运动矢量进行缩放处理,根据所述缩放处理后的运动矢量对所述当前图像块进行预测,包括:
对所述特定邻近块的运动矢量进行缩放处理,使得经过所述缩放处理后的运动矢量指向的参考帧与所述当前图像块的参考图像相同;
将经过所述缩放处理后的运动矢量在所述当前图像块的参考图像中指向的图像块作为所述当前图像块的参考块。
一个示例中,当在所述N个邻近块中未扫描到符合所述预设条件的邻近块时,将默认块作为所述当前图像块的参考块。
一个示例中,所述默认块为运动矢量(0,0)指向的图像块。
一个示例中,所述子图像块的大小和/或所述子图像块的相关块的大小固定为大于或等于64个像素。
一个示例中,所述子图像块的大小和/或所述子图像块的相关块的大小固定为8×8个像素,或16×4个像素或4×16个像素。
一个示例中,在ATMVP技术中的子图像块的大小和/或所述子图像块的相关块的大小为8×8个像素或者其宽和高中的至少一个小于8像素的情况下,设置不进行TMVP操作,可以跳过部分冗余操作,有效节省编解码的时间,提高编码效率。
一个示例中,所述当前图像块为一个编码单元CU。
一个示例中,所述根据所述目标邻近块的运动矢量、所述当前图像块以及所述当前图像块的参考图像,确定所述当前图像块的相关块,包括:
根据所述目标邻近块的运动矢量,在所述当前图像块的参考图像中确定所述当前图像块的相关块。
一个示例中,所述邻近块为在所述当前图像上与所述当前图像块的位置相邻或具有一定位置间距的图像块。
一个示例中,所述根据所述相关块的运动矢量对所述当前图像块进行预测,包括:
当所述相关块的参考图像为特定参考图像,或者所述当前图像块的参考图像为特定参考图像时,根据处理后的所述相关块的运动矢量和所述当前图像块的参考图像确定所述当前图像块的参考块;
其中,所述处理后的所述相关块的运动矢量和处理前的相关块的运动矢量相同。
一个示例中,所述处理后的所述相关块的运动矢量,包括:
根据数值为1的缩放比例对所述相关块的运动矢量进行缩放后得到的运动矢量,或者,
跳过缩放步骤的所述相关块的运动矢量。
一个示例中,所述根据所述相关块的运动矢量对所述当前图像块进行预测,包括:
当所述相关块的参考图像为特定参考图像,或者所述当前块的参考图像为特定参考图像时,放弃根据所述相关块的运动矢量确定所述当前图像块的参考块。
一个示例中,构建模块还用于:当所述特定邻近块的运动矢量指向特定参考图像,或者所述当前图像块的参考图像为特定参考图像时,根据处理后的所述相关块的运动矢量和所述当前图像块的参考图像确定所述当前图像块的参考块;
其中,所述处理后的所述相关块的运动矢量和处理前的相关块的运动矢量相同。
一个示例中,所述处理后的所述相关块的运动矢量,包括:
根据数值为1的缩放比例对所述相关块的运动矢量进行缩放后得到的运动矢量,或者,
跳过缩放步骤的所述相关块的运动矢量。
一个示例中,所述根据所述相关块中各子图像块的运动矢量分别对所述当前图像块中对应的子图像块进行预测,包括:
将所述相关块中各子图像块的运动矢量,分别作为所述当前图像块中对应的子图像块的运动矢量。
一个示例中,所述根据所述当前图像块的相关块确定所述当前图像块的运动矢量第一候选列表中的特定候选者,包括:
将所述当前图像块的相关块的代表运动矢量作为所述特定候选者加入所述运动矢量第一候选列表。
一个示例中,将所述相关块的代表运动矢量作为第一个候选者加入运动矢量第一候选列表。
一个示例中,所述相关块的代表运动矢量包括所述相关块的中心位置的运动矢量。
一个示例中,预测模块还用于:当所述相关块中出现不可获得运动矢量的子图像块时,将所述相关块的代表运动矢量作为所述不可获得运动矢量的子图像块的运动矢量,对所述当前图像块中对应的子图像块进行预测。
一个示例中,预测模块还用于:当所述相关块中出现不可获得运动矢量的子图像块,且所述相关块的代表运动矢量不可获得时,放弃根据所述相关块中各子图像块的运动矢量分别对所述当前图像块中对应的子图像块进行预测。
一个示例中,预测模块还用于:当所述相关块中的子图像块不可获得,或者所述相关块中的子图像块采用帧内编码模式时,确定所述相关块中出现不可获得运动矢量的子图像块。
一个示例中,预测模块还用于:当确定采用所述运动矢量第二候选列表中除所述特定候选者以外的其中一个候选者时,根据仿射变换模型对所述采用的候选者进行仿射变换;
根据所述仿射变换后的候选者对所述当前图像块中的子图像块进行预测。
一个示例中,所述运动矢量第二候选列表中除所述特定候选者以外至少一个候选者中,每个候选者包括一组控制点的运动矢量。
一个示例中,当所述仿射变换模型包括四参仿射变换模型时,所述至少一个候选者中,每个候选者包括2个控制点的运动矢量;
当所述仿射变换模型包括六参仿射变换模型时,所述至少一个候选者中,每个候选者包括3个控制点的运动矢量。
一个示例中,预测模块还用于:从所述当前图像块的邻近块中,按特定扫描顺序确定采用仿射变换模式进行预测的邻近块的控制点运动矢量组;
将每一个确定的邻近块的控制点运动矢量组作为一个候选者加入所述运动矢量第一候选列表。
一个示例中,所述从所述当前图像块的邻近块中,按特定扫描顺序确定采用仿射变换模式进行预测的邻近块的控制点运动矢量组,包括:
在所述当前图像块的左侧邻近块中按第一扫描顺序确定第一邻近块的控制点运动矢量组;
在所述当前图像块的上侧邻近块中按第二扫描顺序确定第二邻近块的控制点运动矢量组;
将所述第一邻近块的控制点运动矢量组和所述第二邻近块的控制点运动矢量组加入所述运动矢量第一候选列表。
一个示例中,构建模块还用于:根据所述当前图像块的部分控制点的邻近块构造所述部分控制点的运动矢量;
将所述当前图像块的部分控制点的运动矢量加入所述运动矢量第一候选列表。
一个示例中,所述根据所述当前图像块的部分控制点的邻近块构造所述部分控制点的运动矢量,包括:
对所述部分控制点中的每个控制点,按第三扫描顺序对所述控制点的特定邻近块依次扫描,将满足预设条件的特定邻近块的运动矢量作为所述控制点的运动矢量。
一个示例中,构建模块还用于:当所述部分控制点的运动矢量分别指向不同的参考帧时,放弃将所述当前图像块的部分控制点的运动矢量加入所述运动矢量第一候选列表。
一个示例中,构建模块还用于:当所述运动矢量第一候选列表中的候选者的数量大于预设数值时,放弃将所述当前图像块的部分控制点的运动矢量加入所述运动矢量第一候选列表。
一个示例中,构建模块还用于:构建运动矢量第二候选列表,其中,加入所述运动矢量第二候选列表的候选者为一个图像块的运动矢量;
当确认采用所述运动矢量第二候选列表中的候选者时,根据所述候选者的运动矢量确定所述当前图像块的运动矢量。
一个示例中,所述根据所述候选者的运动矢量确定所述当前图像块的运动矢量,包括:
将所述确认采用的候选者作为所述当前图像块的运动矢量,或者对所述确认采用的候选者进行缩放后作为所述当前图像块的运动矢量。
一个示例中,所述构建运动矢量第二候选列表,包括:
根据所述当前图像块在当前图像上的M个邻近块的运动矢量确定加入所述运动矢量第二候选列表的所述M个候选者。
一个示例中,构建模块还用于:按预设顺序依次将所述预设的M个邻近块的运动矢量分别作为M个候选者,加入所述运动矢量第二候选列表;
所述N个邻近块,指的是按所述预设顺序首先确定的N个邻近块。
一个示例中,构建模块还用于:当所述M个邻近块中的一个或多个邻近块的运动矢量不可获得时,放弃根据所述一个或多个邻近块的运动矢量确定加入所述运动矢量第二候选列表的候选者。
一个示例中,M小于等于4。
如图18所示,本申请实施例还提供一种视频图像处理方法1800,该方法包括如下步骤,
S1810,确定基础运动矢量列表,该基础运动矢量列表中包括至少一组双预测基础运动矢量组,该双预测基础运动矢量组中包括第一基础运动矢量和第二基础运动矢量;
S1820,从预设的偏移量集中确定两个运动矢量偏移量,该两个运动矢量偏移量分别对应于该第一基础运动矢量和该第二基础运动矢量;
S1830,根据该第一基础运动矢量、该第二基础运动矢量和该两个的运动矢量偏移量,确定当前图像块的运动矢量;
S1840,根据该当前图像块的运动矢量对该当前图像块进行预测。
本申请实施例的视频图像处理方法,以预设的偏移量集为基础对双预测基础运动矢量组中的基础运动矢量进行偏移,通过有限次计算便可以得到当前图像块的更精确的运动矢量,使得预测得到的残差更小,从而能够提高编码效率。
在一些实施例中,本申请实施例的视频图像处理方法可以用于改进合并运动矢量差异(Merge with Motion Vector Difference,MMVD)技术,也称为终极运动矢量表达(Ultimate motion vector expression,UMVE)技术。尤其是应用在MMVD技术构建合并(merge)候选列表(merge list),也称为运动矢量候选列表中。
在一些实施例中,在S1810之前,视频图像处理方法1800还可以包括以下步骤:获取合并候选列表,所述合并候选列表中包括P组合并运动矢量候选,其中,P为大于或等于1的整数。S1810确定基础运动矢量列表,可以包括:根据所述合并候选列表,确定所述基础运动矢量列表。例如,在P大于或等于2时,取所述合并候选列表中的两组合并运动矢量候选形成所述基础运动矢量列表。可选地,该两组合并运动矢量候选可以是合并候选列表中前两组合并运动矢量候选,也可以是在前两组合并运动矢量候选不符合条件时其他的两组合并运动矢量候选。或者,该两组合并运动矢量候选可以是合并候选列表中符合条件的任意两组合并运动矢量候选,本申请实施例对此不作限定。再如,在P小于2时,以运动矢量(0,0)填充形成所述基础运动矢量列表。
具体可以是该MMVD技术首先利用已有的merge候选列表(或者前文中描述的不同类型模式下获得的各种运动矢量候选列表)中的合并运动矢量候选(candidate)构建基础运动矢量列表(base MVP list)。例如,遍历已有的merge候选列表(merge list)中的合并运动矢量候选,如果已有的merge list中的合并运动矢量candidate的组数大于2,则取merge list中前2组合并运动矢量candidate形成MMVD的base MVP list;否则,使用MV(0,0)来填充形成MMVD的base MVP list。本申请实施例中也可以以其他的默认运动矢量来填充形成基础运动矢量列表,例如(1,1)、(2,2)等,本申请实施例对此不作限定。
应理解,base MVP list中的两组基础MV中的每组基础MV可以为单向预测的基础运动矢量,也可以为双预测基础运动矢量组。当然,base MVP list中可以包括更多组或者更少组基础MV,本申请对此不作限定。本文仅对双预测基础运动矢量组的情况展开讨论,双预测基础运动矢量组中所包括的两个基础运动矢量可以是前向基础运动矢量和后向基础运动矢量;也可以是方向相同的两个基础运动矢量,例如两个前向基础运动矢量或两个后向基础运动矢量。
可选地,在一些实施例中,S1820从预设的偏移量集中确定两个运动矢量偏移量,可以包括:从所述偏移量集中确定包括两个运动矢量偏移量的多组运动矢量偏移量组合;S1830根据所述第一基础运动矢量、所述第二基础运动矢量和所述两个的运动矢量偏移量,确定当前图像块的运动矢量,可以包括:从所述多组运动矢量偏移量组合中确定出使得率失真损失满足预设条件的运动矢量偏移量组合,根据所述第一基础运动矢量、所述第二基础运动矢量和所述使得率失真损失满足预设条件的运动矢量偏移量组合,确定当前图像块的运动矢量。可选地,率失真损失满足预设条件可以是率失真损失小于预设阈值,或者率失真损失最小,例如预测残差最小等,本申请实施例对此不作限定。
在本申请实施例中,MMVD技术可以根据一定规则对基础运动矢量预测值进行偏移,产生新的运动矢量预测候选作为MMVD运动矢量预测值,放入MMVD运动矢量候选列表。可选地,在一些实施例中,偏移量集中的运动矢量偏移量(offset)可以有8个选择(21,22,……,28),即预设的偏移量集为{2,4,8,16,32,64,128,256}。举例而言,base MVP list中的基础运动矢量(也称为基础运动矢量candidate)的组数为2,运动矢量偏移量(offset)有8个选择(21,22,……,28)。对于MMVD的base MVP list中的一组基础MV的2个分量MV_x,MV_y,可以在其上加或者减(2种选择)运动矢量offset。具体例如,MMVD运动矢量预测值=基础运动矢量预测值+运动矢量偏移量offset。由此,MMVD的当前图像块的运动矢量共有2x8x2x2=64种改进(refine)模式。本申请实施例也可以从64种改进模式中选取一部分,或者由64种改进模式衍生出更多的改进模式,而不限于64种改进模式。例如改进模式数可以是32种或128种,等等,本申请实施例对此不作限定。从这些运动矢量中确定出使得率失真损失满足预设条件的运动矢量作为用于编码和/或解码时当前图像块的运动矢量。
从另一个角度理解,确定出使得率失真损失满足预设条件的运动矢量也可以等价认为是从所述多组运动矢量偏移量组合中确定出使得率失真损失满足预设条件的运动矢量偏移量组合,根据所述第一基础运动矢量、所述第二基础运动矢量和所述使得率失真损失满足预设条件的运动矢量偏移量组合,确定当前图像块的运动矢量。
应理解,运动矢量偏移量组合中的两个运动矢量偏移量可以相同也可以不同。
可选地,包括两个运动矢量偏移量的多组运动矢量偏移量组合可以是遍历预设的偏移量集中的运动矢量偏移量,以形成多组运动矢量偏移量组合。
或者,多组运动矢量偏移量组合中的其中一个运动矢量偏移量,可以是通过预设算法计算得到的偏移量集中的一个运动矢量偏移量,将该计算得到的运动矢量偏移量作为一个固定的值,遍历偏移量集中的运动矢量偏移量作为多组运动矢量偏移量组合中的另一个运动矢量偏移量,以形成多组运动矢量偏移量组合。不进行缩放操作(进行缩放比例为1的缩放操作),而是进行简单的遍历寻找合适的运动矢量偏移量组合,可以在整体上减少运算量,提高编/解码效率。
或者,多组运动矢量偏移量组合中的其中一个运动矢量偏移量,可以是通过预设算法计算得到的偏移量集中的一个运动矢量偏移量,将该计算得到的运动矢量偏移量作为一个固定的值,通过对该固定的值进行缩放操作得到多组运动矢量偏移量组合中的另一个运动矢量偏移量,以形成多组运动矢量偏移量组合。
或者,包括两个运动矢量偏移量的多组运动矢量偏移量组合还可以以其他方式形成,本申请实施例对此不作限定。
可选地,在一些实施例中,当所述第一基础运动矢量和第二基础运动矢量均指向非特定参考图像时,可以对已选的运动矢量偏移量进行缩放操作后得到新的运动矢量偏移量。再通过新的运动矢量偏移量对第一基础运动矢量和第二基础运动矢量进行调整。根据第一基础运动矢量、第二基础运动矢量和两个新的运动矢量偏移量,即根据经过调整的确定当前图像块的运动矢量;根据所述当前图像块的运动矢量对所述当前图像块进行预测。换句话说,在双预测中,根据MMVD技术确定当前图像块的运动矢量预测值时,如果当前图像距离两个基础运动矢量的参考图像的距离不同,需要对运动矢量偏移量进行缩放,然后将缩放后的运动矢量偏移量与基础运动矢量预测相加(或相减)以确定当前图像块的运动矢量。
当所述第一基础运动矢量和第二基础运动矢量均指向非特定参考图像时,所述两个运动矢量偏移量用于:根据所述两个运动矢量偏移量对所述第一基础运动矢量和第二基础运动矢量进行调整。可选地,所述当前图像到所述第一基础运动矢量的参考图像的距离与所述当前图像到所述第二基础运动矢量的参考图像的距离之比,等于所述第一基础运动矢量所使用的运动矢量偏移量与所述第二基础运动矢量所使用的运动矢量偏移量之比。换而言之,缩放比例由当前图像块(例如第一图像块)所在图像与当前图像块的在两个参考方向上的参考图像之间的距离决定,这两个参考图像即为当前基础运动矢量的参考图像。该实现方式可以进一步减少需尝试的运动矢量偏移量组合的数量,可以进一步提高编/解码效率。
应理解,调整可以是将两个运动矢量偏移量分别与第一基础运动矢量和第二基础运动矢量相加;或者调整可以是将两个运动矢量偏移量分别与第一基础运动矢量和第二基础运动矢量相减。
例如,在编码或解码过程中,可选的运动矢量偏移量有{2,4,8,16,32,64,128,256}这8种选择。记当前过程选择的运动矢量偏移量为X。记当前图像的帧号为P2,第一基础运动矢量的参考图像的帧号、第二基础运动矢量的参考图像的帧号分别为P0、P1。如果P2-P0=P2-P1,则对两个基础运动矢量加相同大小的运动矢量偏移量X;如果P2-P0=2*(P2-P1),则在第一基础运动矢量上加运动矢量偏移量2*X,在第二基础运动矢量上加运动矢量偏移量X;同理,如果P2-P1=2*(P2-P0),则在第一基础运动矢量上加运动矢量偏移量X,在第二基础运动矢量上加运动矢量偏移量2*X。
此外,如果当前图像到第一基础运动矢量的参考图像的距离与当前图像到第二基础运动矢量的参考图像的距离之比不是2的倍数,则选择合适的比值(2的倍数),使第一基础运动矢量所使用的运动矢量偏移量与第二基础运动矢量所使用的运动矢量偏移量之比尽量接近当前图像到第一基础运动矢量的参考图像的距离与当前图像到第二基础运动矢量的参考图像的距离之比。例如,P2-P0=3*(P2-P1),则选择比值2或4。在第一基础运动矢量上加运动矢量偏移量2*X,在第二基础运动矢量上加运动矢量偏移量X;或者,在第一基础运动矢量上加运动矢量偏移量4*X,在第二基础运动矢量上加运动矢量偏移量X。再如,P2-P0=5*(P2-P1),则比值选择与5最接近的2的倍数4。在第一基础运动矢量上加运动矢量偏移量4*X,在第二基础运动矢量上加运动矢量偏移量X。
当所述第一基础运动矢量和/或第二基础运动矢量指向特定参考图像(即当前图像块的参考图像为特定参考图像)时,由于特定参考图像与当前图像块所在图像的时间距离定义不明确,对运动矢量偏移量的缩放便没有意义。
可选地,在一些实施例中,当所述第一基础运动矢量和/或第二基础运动矢量指向特定参考图像时,所述两个运动矢量偏移量中的至少一个运动矢量偏移量,包括:根据数值为1的缩放比例对初始运动矢量偏移量进行缩放后得到的运动矢量偏移量,或者,跳过缩放操作得到的运动矢量偏移量。
或者换句话说,当所述第一基础运动矢量和/或第二基础运动矢量指向特定参考图像时,根据处理后的运动矢量偏移量和基础运动矢量组确定当前图像块的运动矢量,其中,处理后的运动矢量偏移量和处理前的运动矢量偏移量相同。例如,处理后的两个运动矢量偏移量中的至少一个运动矢量偏移量,包括:根据数值为1的缩放比例对初始运动矢量偏移量进行缩放后得到的运动矢量偏移量,或者,跳过缩放操作得到的运动矢量偏移量。
在一个具体的实施例中,两个运动矢量偏移量中的某一个运动矢量偏移量(例如为offset1)可以是通过预设算法计算得到的。在第一基础运动矢量指向特定参考图像,或者第二基础运动矢量指向特定参考图像,或者第一基础运动矢量和第二基础运动矢量均指向特定参考图像时时,另一个运动矢量偏移量(例如为offset2)可以是对offset1进行缩放比例为1的缩放得到的,或者是对offset1不进行缩放操作得到的。或者,另一个运动矢量偏移量(例如为offset2)可以是对某个初始偏移量进行缩放比例为1的缩放得到的或不进行缩放操作得到的。换而言之,初始运动矢量偏移量可以是offset1也可以是其他的初始偏移量,本申请实施例对此不作限定。
在本申请的一些实施例中,方法由编码端执行,该方法还包括:根据预测的结果进行编码并向解码端发送码流,所述码流中包括用于指示使得率失真损失满足预设条件的运动矢量偏移量组合的索引。在该实施例中,编码端将确定好的运动矢量偏移量组合的索引告知解码端,这样解码端可以通过少量的计算便可以得知两个运动矢量偏移量,可以简化解码端。可选地,当两个运动矢量偏移量中的某一个运动矢量偏移量(例如为offset1)可以是通过预设算法计算得到的时,该索引可以是另一个运动矢量偏移量(例如为offset2)与offset1的比值。
在本申请的一些实施例中,方法由解码端执行,该方法还包括:接收编码端发送的码流,所述码流中包括用于指示两个运动矢量偏移量的形成组合的索引;所述从预设的偏移量集中确定两个运动矢量偏移量,包括:根据所述索引确定所述两个运动矢量偏移量。在该实施例中,编码端将确定好的运动矢量偏移量组合的索引告知解码端,这样解码端可以通过少量的计算便可以得知两个运动矢量偏移量,可以简化解码端。可选地,当两个运动矢量偏移量中的某一个运动矢量偏移量(例如为offset1)可以是通过预设算法计算得到的时,该索引可以是另一个运动矢量偏移量(例如为offset2)与offset1的比值。
上文结合图18描述了本申请的方法实施例,下文将描述上文方法实施例对应的装置实施例。应理解,装置实施例的描述与方法实施例的描述相互对应,因此,未详细描述的内容可以参见前面方法实施例,为了简洁,这里不再赘述。
图19为本申请实施例提供的视频图像处理装置1900的示意性框图。该装置1900用于执行如图18所示的方法实施例。该装置1900包括如下模块。
构建模块1910,用于确定基础运动矢量列表,所述基础运动矢量列表中包括至少一组双预测基础运动矢量组,所述双预测基础运动矢量组中包括第一基础运动矢量和第二基础运动矢量;从预设的偏移量集中确定两个运动矢量偏移量,所述两个运动矢量偏移量分别对应于所述第一基础运动矢量和所述第二基础运动矢量;根据所述第一基础运动矢量、所述第二基础运动矢量和所述两个的运动矢量偏移量,确定当前图像块的运动矢量;
预测模块1920,用于根据所述当前图像块的运动矢量对所述当前图像块进行预测。
本申请实施例的视频图像处理装置,以预设的偏移量集为基础对双预测基础运动矢量组中的基础运动矢量进行偏移,通过有限次计算便可以得到当前图像块的更精确的运动矢量,使得预测得到的残差更小,从而能够提高编码效率。
可选地,在一些实施例中,所述构建模块1910从预设的偏移量集中确定两个运动矢量偏移量,包括:所述构建模块从所述偏移量集中确定包括两个运动矢量偏移量的多组运动矢量偏移量组合;所述构建模块1910根据所述第一基础运动矢量、所述第二基础运动矢量和所述两个的运动矢量偏移量,确定当前图像块的运动矢量,包括:所述构建模块1910从所述多组运动矢量偏移量组合中确定出使得率失真损失满足预设条件的运动矢量偏移量组合,根据所述第一基础运动矢量、所述第二基础运动矢量和所述使得率失真损失满足预设条件的运动矢量偏移量组合,确定当前图像块的运动矢量。
可选地,在一些实施例中,视频图像处理装置1900用于编码端,视频图像处理装置1900还包括发送模块,用于:根据预测的结果进行编码并向解码端发送码流,所述码流中包括用于指示使得率失真损失满足预设条件的运动矢量偏移量组合的索引。
可选地,在一些实施例中,视频图像处理装置1900用于解码端,视频图像处理装置1900还包括接收模块,用于:接收编码端发送的码流,所述码流中包括用于指示两个运动矢量偏移量的形成组合的索引;构建模块1910从预设的偏移量集中确定两个运动矢量偏移量,包括:根据所述索引确定所述两个运动矢量偏移量。
可选地,在一些实施例中,当所述第一基础运动矢量和/或第二基础运动矢量指向特定参考图像时,所述两个运动矢量偏移量中的至少一个运动矢量偏移量,包括:根据数值为1的缩放比例对初始运动矢量偏移量进行缩放后得到的运动矢量偏移量,或者,跳过缩放操作得到的运动矢量偏移量。
可选地,在一些实施例中,当所述第一基础运动矢量和第二基础运动矢量均指向非特定参考图像时,所述两个运动矢量偏移量用于:根据所述两个运动矢量偏移量对所述第一基础运动矢量和第二基础运动矢量进行调整。
可选地,在一些实施例中,所述当前图像到所述第一基础运动矢量的参考图像的距离与所述当前图像到所述第二基础运动矢量的参考图像的距离之比,等于所述第一基础运动矢量所使用的运动矢量偏移量与所述第二基础运动矢量所使用的运动矢量偏移量之比。
可选地,在一些实施例中,所述构建模块1910还用于:获取合并候选列表,所述合并候选列表中包括P组合并运动矢量候选,其中,P为大于或等于1的整数;所述构建模块1910确定基础运动矢量列表,包括:所述构建模块1910根据所述合并候选列表,确定所述基础运动矢量列表。
可选地,在一些实施例中,所述构建模块1910根据所述合并候选列表,确定所述基础运动矢量列表,包括:在P大于或等于2时,所述构建模块1910取所述合并候选列表中前两组合并运动矢量候选形成所述基础运动矢量列表。
可选地,在一些实施例中,所述构建模块1910根据所述合并候选列表,确定所述基础运动矢量列表,包括:在P小于2时,所述构建模块1910以运动矢量(0,0)填充形成所述基础运动矢量列表。
可选地,在一些实施例中,所述预设的偏移量集为{2,4,8,16,32,64,128,256}。
可选地,在一些实施例中,所述当前图像块为一个编码单元CU。
可选地,在一些实施例中,所述当前图像块为双预测图像块。
图20是本申请实施例提供的视频图像处理装置2000的示意性框图。如图20所示的视频图像处理装置2000可以包括处理器2010和存储器2020,所述存储器2020中存储有计算机指令,所述处理器2010执行所述计算机指令时,使得所述视频图像处理装置2000执行以下步骤:确定基础运动矢量列表,所述基础运动矢量列表中包括至少一组双预测基础运动矢量组,所述双预测基础运动矢量组中包括第一基础运动矢量和第二基础运动矢量;从预设的偏移量集中确定两个运动矢量偏移量,所述两个运动矢量偏移量分别对应于所述第一基础运动矢量和所述第二基础运动矢量;根据所述第一基础运动矢量、所述第二基础运动矢量和所述两个的运动矢量偏移量,确定当前图像块的运动矢量;根据所述当前图像块的运动矢量对所述当前图像块进行预测。
应理解,本申请实施例的视频图像处理装置2000还可以包括网络接口,以用于传输码流。例如接收编码设备发送的码流。
在本申请的一些实施例中,处理器2010从预设的偏移量集中确定两个运动矢量偏移量,包括:从所述偏移量集中确定包括两个运动矢量偏移量的多组运动矢量偏移量组合;处理器2010根据所述第一基础运动矢量、所述第二基础运动矢量和所述两个的运动矢量偏移量,确定当前图像块的运动矢量,包括:从所述多组运动矢量偏移量组合中确定出使得率失真损失满足预设条件的运动矢量偏移量组合,根据所述第一基础运动矢量、所述第二基础运动矢量和所述使得率失真损失满足预设条件的运动矢量偏移量组合,确定当前图像块的运动矢量。
在本申请的一些实施例中,视频图像处理装置2000用于编码端,处理器2010还用于根据预测的结果进行编码并向解码端发送码流,所述码流中包括用于指示使得率失真损失满足预设条件的运动矢量偏移量组合的索引。
在本申请的一些实施例中,视频图像处理装置2000用于解码端,处理器2010还用于接收编码端发送的码流,所述码流中包括用于指示两个运动矢量偏移量的形成组合的索引;处理器2010从预设的偏移量集中确定两个运动矢量偏移量,包括:根据所述索引确定所述两个运动矢量偏移量。
在本申请的一些实施例中,当所述第一基础运动矢量和/或第二基础运动矢量指向特定参考图像时,所述两个运动矢量偏移量中的至少一个运动矢量偏移量,包括:根据数值为1的缩放比例对初始运动矢量偏移量进行缩放后得到的运动矢量偏移量,或者,跳过缩放操作得到的运动矢量偏移量。
在本申请的一些实施例中,当所述第一基础运动矢量和第二基础运动矢量均指向非特定参考图像时,所述两个运动矢量偏移量用于:根据所述两个运动矢量偏移量对所述第一基础运动矢量和第二基础运动矢量进行调整。
在本申请的一些实施例中,所述当前图像到所述第一基础运动矢量的参考图像的距离与所述当前图像到所述第二基础运动矢量的参考图像的距离之比,等于所述第一基础运动矢量所使用的运动矢量偏移量与所述第二基础运动矢量所使用的运动矢量偏移量之比。
在本申请的一些实施例中,处理器2010还用于:获取合并候选列表,所述合并候选列表中包括P组合并运动矢量候选,其中,P为大于或等于1的整数;处理器2010确定基础运动矢量列表,包括:根据所述合并候选列表,确定所述基础运动矢量列表。
在本申请的一些实施例中,处理器2010根据所述合并候选列表,确定所述基础运动矢量列表,包括:在P大于或等于2时,取所述合并候选列表中前两组合并运动矢量候选形成所述基础运动矢量列表。
在本申请的一些实施例中,处理器2010根据所述合并候选列表,确定所述基础运动矢量列表,包括:在P小于2时,以运动矢量(0,0)填充形成所述基础运动矢量列表。
在本申请的一些实施例中,预设的偏移量集为{2,4,8,16,32,64,128,256}。
在本申请的一些实施例中,当前图像块为一个编码单元CU。
在本申请的一些实施例中,当前图像块为双预测图像块。
应理解,图20所示的视频图像处理装置2000或图19所示的视频图像处理装置1900,可用于执行上述方法实施例中的操作或流程,并且视频图像处理装置2000或视频图像处理装置1900中的各个模块和器件的操作和/或功能分别为了实现上述方法实施例中的相应流程,为了简洁,在此不再赘述。
本申请实施例还提供一种视频图像处理方法,包括:确定基础运动矢量列表,所述基础运动矢量列表中包括基础运动矢量组;当所述基础运动矢量组中有至少一个基础运动矢量指向特定参考图像时,放弃根据所述基础运动矢量组和运动矢量偏移量确定所述当前图像块的运动矢量。即,当基础运动矢量组中有至少一个基础运动矢量指向特定参考图像时,放弃将对应的运动矢量放入MV候选列表中。
在本申请的一些实施例中,获取合并候选列表,所述合并候选列表中包括P组合并运动矢量候选,其中,P为大于或等于1的整数;所述确定基础运动矢量列表,包括:根据所述合并候选列表,确定所述基础运动矢量列表。
在本申请的一些实施例中,所述根据所述合并候选列表,确定所述基础运动矢量列表,包括:在P大于或等于2时,取所述合并候选列表中前两组合并运动矢量候选形成所述基础运动矢量列表。
在本申请的一些实施例中,所述根据所述合并候选列表,确定所述基础运动矢量列表,包括:在P小于2时,以运动矢量(0,0)填充形成所述基础运动矢量列表。
在本申请的一些实施例中,所述当前图像块为一个编码单元CU。
相对应地,本申请提供一种视频图像处理装置,包括:确定模块,用于确定基础运动矢量列表,所述基础运动矢量列表中包括基础运动矢量组;处理模块,用于当所述基础运动矢量组中有至少一个基础运动矢量指向特定参考图像为特定参考图像时,放弃根据所述基础运动矢量组和运动矢量偏移量确定所述当前图像块的运动矢量。
在本申请的一些实施例中,所述视频图像处理装置还包括构建模块,用于:获取合并候选列表,所述合并候选列表中包括P组合并运动矢量候选,其中,P为大于或等于1的整数;所述确定模块具体用于:根据所述合并候选列表,确定所述基础运动矢量列表。
在本申请的一些实施例中,所述确定模块具体用于:在P大于或等于2时,取所述合并候选列表中前两组合并运动矢量候选形成所述基础运动矢量列表。
在本申请的一些实施例中,所述确定模块具体用于:在P小于2时,以运动矢量(0,0)填充形成所述基础运动矢量列表。
在本申请的一些实施例中,所述当前图像块为一个编码单元CU。
本申请还提供一种视频图像处理装置包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器执行所述计算机指令时,使得所述视频图像处理装置执行以下步骤:确定基础运动矢量列表,所述基础运动矢量列表中包括基础运动矢量组;当所述基础运动矢量组中有至少一个基础运动矢量指向特定参考图像时,放弃根据所述基础运动矢量组和运动矢量偏移量确定所述当前图像块的运动矢量。
应理解,本申请各实施例的设备可以基于存储器和处理器实现,各存储器用于存储用于执行本申请个实施例的方法的指令,处理器执行上述指令,使得设备执行本申请各实施例的方法。
应理解,本申请实施例中提及的处理器可以包括中央处理器(centralprocessing pnit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。处理器还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specificintegrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(genericarray logic,GAL)或其任意组合。
还应理解,本申请实施例中提及的存储器可以是易失性存储器(volatilememory)或非易失性存储器(non-volatile memory),或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)、快闪存储器(flash memory)、硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)集成在处理器中。
应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本申请实施例还提供一种计算机可读存储介质,其上存储有指令,当指令在计算机上运行时,使得所述计算机执行上述方法实施例的步骤。
本申请实施例还提供一种计算设备,该计算设备包括上述计算机可读存储介质。
本申请实施例还提供一种包括指令的计算机程序产品,其特征在于,当计算机运行所述计算机程序产品的所述指时,所述计算机执行上述方法实施例的步骤。
本申请实施例还提供一种计算机芯片,该计算机芯片使得计算机执行上述方法实施例的步骤。
本申请实施例可以应用在飞行器,尤其是无人机领域。
应理解,本申请各实施例的电路、子电路、子单元的划分只是示意性的。本领域普通技术人员可以意识到,本文中所公开的实施例描述的各示例的电路、子电路和子单元,能够再行拆分或组合。
本申请实施例提供给的设备,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(digital video disc,DVD))、或者半导体介质(例如,SSD)等。
应理解,本文中涉及的第一、第二以及各种数字编号仅为描述方便进行的区分,并不用来限制本申请的范围。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本申请实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (16)

1.一种视频图像处理方法,其特征在于,所述方法包括:
根据当前图像块的特定邻近块的运动矢量,确定所述当前图像块的相关块;
将所述当前图像块和所述相关块采用相同的方式划分成多个子图像块,所述当前图像块中的各子图像块与所述相关块中的各子图像块一一对应;
根据所述相关块中各子图像块的运动矢量分别对所述当前图像块中对应的子图像块进行预测;
其中,当所述相关块中出现不可获得运动矢量的子图像块时,将所述相关块的代表运动矢量作为所述不可获得运动矢量的子图像块的运动矢量,对所述当前图像块中对应的子图像块进行预测。
2.根据权利要求1所述的方法,其特征在于,所述根据所述相关块中各子图像块的运动矢量分别对所述当前图像块中对应的子图像块进行预测,之前还包括:
将所述相关块的代表运动矢量作为候选者加入运动矢量第一候选列表;
当确定采用所述候选者时,根据所述相关块中各子图像块的运动矢量分别对所述当前图像块中对应的子图像块进行预测。
3.根据权利要求1所述的方法,其特征在于,所述根据所述相关块中各子图像块的运动矢量分别对所述当前图像块中对应的子图像块进行预测,包括:
将所述相关块中各子图像块的运动矢量,分别作为所述当前图像块中对应的子图像块的运动矢量。
4.根据权利要求1所述的方法,其特征在于,将所述相关块的代表运动矢量作为第一个候选者加入运动矢量第一候选列表。
5.根据权利要求1所述的方法,其特征在于,所述相关块的代表运动矢量包括所述相关块的中心位置的运动矢量。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述相关块中出现不可获得运动矢量的子图像块,且所述相关块的代表运动矢量不可获得时,放弃根据所述相关块中各子图像块的运动矢量分别对所述当前图像块中对应的子图像块进行预测。
7.根据权利要求6所述的方法,其特征在于,当所述相关块中的子图像块不可获得,或者所述相关块中的子图像块采用帧内编码模式时,确定所述相关块中出现不可获得运动矢量的子图像块。
8.根据权利要求1所述的方法,其特征在于,所述特定邻近块符合预设条件,所述预设条件包括:
所述特定邻近块的参考图像与所述当前图像块的同位帧相同。
9.根据权利要求8所述的方法,其特征在于,当所述特定邻近块不符合预设条件时,将运动矢量(0,0)指向的图像块作为所述当前图像块的参考块。
10.根据权利要求1所述的方法,其特征在于,所述当前图像块为一个编码单元CU。
11.根据权利要求1所述的方法,其特征在于,所述根据所述相关块中各子图像块的运动矢量分别对所述当前图像块中对应的子图像块进行预测,包括:
当所述相关块的参考图像为特定参考图像,并且所述当前图像块的参考图像为特定参考图像时,根据处理后的所述相关块的运动矢量和所述当前图像块的参考图像确定所述当前图像块的参考块;
其中,所述处理后的所述相关块的运动矢量和处理前的相关块的运动矢量相同。
12.根据权利要求11所述的方法,其特征在于,所述处理后的所述相关块的运动矢量,包括:
根据数值为1的缩放比例对所述相关块的运动矢量进行缩放后得到的运动矢量,或者,
跳过缩放步骤的所述相关块的运动矢量。
13.根据权利要求1所述的方法,其特征在于,所述方法还包括:
输出根据预测的结果对所述当前图像块进行编码而得到的码流。
14.一种视频图像处理装置,其特征在于,包括:
构建模块,用于根据当前图像块的特定邻近块的运动矢量,确定所述当前图像块的相关块,并且将所述当前图像块和所述相关块采用相同的方式划分成多个子图像块,所述当前图像块中的各子图像块与所述相关块中的各子图像块一一对应;
预测模块,根据所述相关块中各子图像块的运动矢量分别对所述当前图像块中对应的子图像块进行预测;
其中,当所述相关块中出现不可获得运动矢量的子图像块时,将所述相关块的代表运动矢量作为所述不可获得运动矢量的子图像块的运动矢量,对所述当前图像块中对应的子图像块进行预测。
15.一种视频图像处理装置,其特征在于,包括:存储器与处理器,所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,并且对所述存储器中存储的指令的执行使得,所述处理器用于执行如权利要求1至13中任一项所述的方法。
16.一种计算机存储介质,其特征在于,其上存储有通过计算机程序形成的码流,所述计算机程序被计算机执行时使得,所述计算机执行如权利要求1至13中任一项所述的方法。
CN202210376345.1A 2018-04-02 2019-03-13 视频图像处理方法与装置 Pending CN115037942A (zh)

Applications Claiming Priority (12)

Application Number Priority Date Filing Date Title
CNPCT/CN2018/081652 2018-04-02
PCT/CN2018/081652 WO2019191890A1 (zh) 2018-04-02 2018-04-02 用于图像处理的方法和图像处理装置
CNPCT/CN2018/095710 2018-07-13
PCT/CN2018/095710 WO2019192102A1 (zh) 2018-04-02 2018-07-13 用于图像运动补偿的方法和装置
CNPCT/CN2018/103693 2018-08-31
PCT/CN2018/103693 WO2019192141A1 (zh) 2018-04-02 2018-08-31 用于图像运动补偿的方法和装置
PCT/CN2018/107436 WO2019192152A1 (zh) 2018-04-02 2018-09-25 获取视频图像运动矢量的方法与装置
CNPCT/CN2018/107436 2018-09-25
PCT/CN2018/112805 WO2019192170A1 (zh) 2018-04-02 2018-10-30 视频图像处理方法与装置
CNPCT/CN2018/112805 2018-10-30
PCT/CN2019/078051 WO2019192301A1 (zh) 2018-04-02 2019-03-13 视频图像处理方法与装置
CN201980002813.5A CN110720219B (zh) 2018-04-02 2019-03-13 视频图像处理方法与装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201980002813.5A Division CN110720219B (zh) 2018-04-02 2019-03-13 视频图像处理方法与装置

Publications (1)

Publication Number Publication Date
CN115037942A true CN115037942A (zh) 2022-09-09

Family

ID=68099733

Family Applications (16)

Application Number Title Priority Date Filing Date
CN201880012597.8A Active CN110419217B (zh) 2018-04-02 2018-04-02 用于图像处理的方法和图像处理装置
CN202311161948.0A Pending CN117135346A (zh) 2018-04-02 2018-04-02 用于图像处理的方法和图像处理装置
CN202311161992.1A Pending CN117061738A (zh) 2018-04-02 2018-04-02 用于图像处理的方法和图像处理装置
CN202311156567.3A Pending CN117294837A (zh) 2018-04-02 2018-04-02 用于图像处理的方法和图像处理装置
CN202311004591.5A Pending CN116760999A (zh) 2018-04-02 2018-07-13 用于图像运动补偿的方法和装置
CN202311002352.6A Pending CN116781928A (zh) 2018-04-02 2018-07-13 用于图像运动补偿的方法和装置
CN201880012589.3A Active CN110419220B (zh) 2018-04-02 2018-07-13 用于图像运动补偿的方法和装置
CN201880042138.4A Active CN110786012B (zh) 2018-04-02 2018-08-31 用于图像运动补偿的方法和装置
CN201880011514.3A Active CN110326295B (zh) 2018-04-02 2018-09-25 获取视频图像运动矢量的方法与装置、存储介质
CN202111284624.7A Active CN113824966B (zh) 2018-04-02 2018-09-25 获取视频图像运动矢量的方法与装置
CN202111283215.5A Active CN113852828B (zh) 2018-04-02 2018-09-25 获取视频图像运动矢量的方法与装置
CN202111455033.1A Pending CN114125440A (zh) 2018-04-02 2018-10-30 视频图像处理方法与装置
CN201880016545.8A Active CN110495169B (zh) 2018-04-02 2018-10-30 视频图像处理方法与装置
CN202210376345.1A Pending CN115037942A (zh) 2018-04-02 2019-03-13 视频图像处理方法与装置
CN201980002813.5A Active CN110720219B (zh) 2018-04-02 2019-03-13 视频图像处理方法与装置
CN202210376602.1A Pending CN114938452A (zh) 2018-04-02 2019-03-13 视频图像处理方法与装置

Family Applications Before (13)

Application Number Title Priority Date Filing Date
CN201880012597.8A Active CN110419217B (zh) 2018-04-02 2018-04-02 用于图像处理的方法和图像处理装置
CN202311161948.0A Pending CN117135346A (zh) 2018-04-02 2018-04-02 用于图像处理的方法和图像处理装置
CN202311161992.1A Pending CN117061738A (zh) 2018-04-02 2018-04-02 用于图像处理的方法和图像处理装置
CN202311156567.3A Pending CN117294837A (zh) 2018-04-02 2018-04-02 用于图像处理的方法和图像处理装置
CN202311004591.5A Pending CN116760999A (zh) 2018-04-02 2018-07-13 用于图像运动补偿的方法和装置
CN202311002352.6A Pending CN116781928A (zh) 2018-04-02 2018-07-13 用于图像运动补偿的方法和装置
CN201880012589.3A Active CN110419220B (zh) 2018-04-02 2018-07-13 用于图像运动补偿的方法和装置
CN201880042138.4A Active CN110786012B (zh) 2018-04-02 2018-08-31 用于图像运动补偿的方法和装置
CN201880011514.3A Active CN110326295B (zh) 2018-04-02 2018-09-25 获取视频图像运动矢量的方法与装置、存储介质
CN202111284624.7A Active CN113824966B (zh) 2018-04-02 2018-09-25 获取视频图像运动矢量的方法与装置
CN202111283215.5A Active CN113852828B (zh) 2018-04-02 2018-09-25 获取视频图像运动矢量的方法与装置
CN202111455033.1A Pending CN114125440A (zh) 2018-04-02 2018-10-30 视频图像处理方法与装置
CN201880016545.8A Active CN110495169B (zh) 2018-04-02 2018-10-30 视频图像处理方法与装置

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN201980002813.5A Active CN110720219B (zh) 2018-04-02 2019-03-13 视频图像处理方法与装置
CN202210376602.1A Pending CN114938452A (zh) 2018-04-02 2019-03-13 视频图像处理方法与装置

Country Status (6)

Country Link
US (15) US11190798B2 (zh)
EP (6) EP3780608A4 (zh)
JP (11) JP7088606B2 (zh)
KR (1) KR20200134319A (zh)
CN (16) CN110419217B (zh)
WO (4) WO2019191890A1 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111919447A (zh) * 2018-03-14 2020-11-10 韩国电子通信研究院 用于对图像进行编码/解码的方法和装置以及存储有比特流的记录介质
EP3780608A4 (en) 2018-04-02 2021-12-01 SZ DJI Technology Co., Ltd. IMAGE PROCESSING PROCESS AND IMAGE PROCESSING DEVICE
CN115250350B (zh) * 2018-09-03 2024-04-09 华为技术有限公司 运动矢量的获取方法、装置、计算机设备及存储介质
WO2020084554A1 (en) 2018-10-24 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Searching based motion candidate derivation for sub-block motion vector prediction
CN113228681A (zh) * 2018-12-21 2021-08-06 韩国电子通信研究院 图像编码/解码方法和装置以及存储比特流的记录介质
WO2020139184A1 (en) * 2018-12-28 2020-07-02 Telefonaktiebolaget Lm Ericsson (Publ) Generating a motion vector predictor list
EP3963890A4 (en) 2019-06-04 2022-11-02 Beijing Bytedance Network Technology Co., Ltd. BUILDING A LIST OF MOVEMENT CANDIDATES USING NEIGHBOR BLOCK INFORMATION
CN114097228B (zh) 2019-06-04 2023-12-15 北京字节跳动网络技术有限公司 具有几何分割模式编解码的运动候选列表
CN117354507A (zh) 2019-06-06 2024-01-05 北京字节跳动网络技术有限公司 视频编解码的运动候选列表构建
KR20220030995A (ko) 2019-07-14 2022-03-11 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 변환 블록 크기 제한
CN114175655B (zh) * 2019-07-27 2024-01-02 北京字节跳动网络技术有限公司 根据参考图片类型使用工具的限制
CN114270838B (zh) 2019-08-20 2024-04-12 北京字节跳动网络技术有限公司 变换跳过模式的信令通知
WO2021047631A1 (en) 2019-09-13 2021-03-18 Beijing Bytedance Network Technology Co., Ltd. Derivation of collocated motion vectors
CN117615155A (zh) 2019-09-19 2024-02-27 北京字节跳动网络技术有限公司 视频编解码中的参考样点位置推导
WO2021052490A1 (en) 2019-09-19 2021-03-25 Beijing Bytedance Network Technology Co., Ltd. Scaling window in video coding
WO2021057996A1 (en) 2019-09-28 2021-04-01 Beijing Bytedance Network Technology Co., Ltd. Geometric partitioning mode in video coding
EP4026336A4 (en) 2019-10-05 2022-12-07 Beijing Bytedance Network Technology Co., Ltd. LEVEL-BASED SIGNALING OF VIDEO CODING TOOLS
JP7391203B2 (ja) 2019-10-12 2023-12-04 北京字節跳動網絡技術有限公司 ビデオコーディングツールを洗練する使用およびシグナリング
MX2022004200A (es) 2019-10-13 2022-05-02 Beijing Bytedance Network Tech Co Ltd Interaccion entre remuestreo de imagen de referencia y herramientas de codificacion de video.
CN113727119B (zh) * 2020-05-20 2023-03-17 Oppo广东移动通信有限公司 帧间预测方法、编码器、解码器以及计算机存储介质
CN111724422B (zh) * 2020-06-29 2024-01-09 深圳市慧鲤科技有限公司 图像处理方法及装置、电子设备及存储介质
CN112132732B (zh) * 2020-09-10 2023-06-02 宁波大学科学技术学院 立体图像的像素预测方法、可逆信息隐藏提取方法、终端及存储介质
WO2022141278A1 (zh) * 2020-12-30 2022-07-07 深圳市大疆创新科技有限公司 视频处理方法和编码装置
WO2023192335A1 (en) * 2022-03-28 2023-10-05 Beijing Dajia Internet Information Technology Co., Ltd. Methods and devices for candidate derivation for affine merge mode in video coding
WO2024005456A1 (ko) * 2022-06-27 2024-01-04 현대자동차주식회사 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2024005616A1 (ko) * 2022-07-01 2024-01-04 엘지전자 주식회사 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체

Family Cites Families (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MXPA03006715A (es) * 2001-11-29 2003-10-24 Matsushita Electric Ind Co Ltd Metodo para la remocion de la distorsion de la codificacion, metodo codificador de video, metodo descodificador de video y aparato y programa para los mismos.
JP4130783B2 (ja) * 2002-04-23 2008-08-06 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
KR100491530B1 (ko) * 2002-05-03 2005-05-27 엘지전자 주식회사 모션 벡터 결정 방법
US20050013498A1 (en) * 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US7660354B2 (en) 2005-05-11 2010-02-09 Fang Shi Temporal error concealment for bi-directionally predicted frames
CN101496407B (zh) * 2006-07-06 2013-02-06 汤姆逊许可证公司 用于针对多视角视频编码和解码解耦合帧号和/或图像顺序计数(poc)的方法和装置
JP2010509799A (ja) * 2006-11-03 2010-03-25 サムスン エレクトロニクス カンパニー リミテッド 映像の予測符号化方法及び装置、その復号化方法及び装置
JP2009118221A (ja) * 2007-11-07 2009-05-28 Toshiba Corp ディジタル画像復号装置及びディジタル画像復号方法
CN101873500B (zh) * 2009-04-24 2012-05-23 华为技术有限公司 帧间预测编码方法、帧间预测解码方法及设备
TWI450592B (zh) * 2010-02-09 2014-08-21 Nippon Telegraph & Telephone 動向量預測編碼方法、動向量預測解碼方法、動畫像編碼裝置、動畫像解碼裝置及其程式
KR20120009861A (ko) * 2010-07-22 2012-02-02 에스케이 텔레콤주식회사 확장된 스킵모드를 이용한 영상 부호화/복호화 방법 및 장치
KR20120016991A (ko) 2010-08-17 2012-02-27 오수미 인터 프리딕션 방법
EP2625855B8 (en) * 2010-10-08 2021-03-10 GE Video Compression, LLC Picture coding supporting block partitioning and block merging
US8824558B2 (en) 2010-11-23 2014-09-02 Mediatek Inc. Method and apparatus of spatial motion vector prediction
US8976873B2 (en) * 2010-11-24 2015-03-10 Stmicroelectronics S.R.L. Apparatus and method for performing error concealment of inter-coded video frames
CN107071461B (zh) 2010-12-14 2019-11-12 M&K控股株式会社 用于解码运动画面的设备
US9635382B2 (en) 2011-01-07 2017-04-25 Texas Instruments Incorporated Method, system and computer program product for determining a motion vector
CN102611881B (zh) * 2011-01-19 2014-06-25 华为技术有限公司 参考运动矢量获取方法、模块及编、解码装置
US8755437B2 (en) * 2011-03-17 2014-06-17 Mediatek Inc. Method and apparatus for derivation of spatial motion vector candidate and motion vector prediction candidate
KR101484171B1 (ko) * 2011-01-21 2015-01-23 에스케이 텔레콤주식회사 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법
WO2012128540A2 (ko) * 2011-03-21 2012-09-27 엘지전자 주식회사 움직임 벡터 예측자 선택 방법 및 이를 이용하는 장치
US9485517B2 (en) 2011-04-20 2016-11-01 Qualcomm Incorporated Motion vector prediction with motion vectors from multiple views in multi-view video coding
JP5786478B2 (ja) 2011-06-15 2015-09-30 富士通株式会社 動画像復号装置、動画像復号方法、及び動画像復号プログラム
HUE056547T2 (hu) * 2011-06-28 2022-02-28 Lg Electronics Inc Eljárás mozgásvektor-prediktor levezetésére
CN105430390B (zh) * 2011-06-30 2017-04-12 Jvc建伍株式会社 图像解码装置、图像解码方法、接收装置及接收方法
MX341889B (es) * 2011-06-30 2016-09-07 Sony Corp Dispositivo de procesamiento de imagenes y metodo de procesamiento de imagenes.
CN107222745A (zh) 2011-08-29 2017-09-29 苗太平洋控股有限公司 用于解码合并模式下的运动信息的装置
CN102447904A (zh) * 2011-10-24 2012-05-09 成都虢电智能电力科技有限公司 一种快速对视频序列进行运动估计的方法
WO2013061551A1 (ja) * 2011-10-27 2013-05-02 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
PL2773111T3 (pl) 2011-10-28 2020-06-29 Sun Patent Trust Sposób kodowania obrazów, sposób dekodowania obrazów, urządzenie do kodowania obrazów i urządzenie do dekodowania obrazów
WO2013061549A1 (ja) * 2011-10-28 2013-05-02 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
TWI597973B (zh) 2011-10-31 2017-09-01 Jvc Kenwood Corp Video encoding device, video encoding method and recording medium
TWI505696B (zh) * 2011-11-08 2015-10-21 Samsung Electronics Co Ltd 解碼影像的方法
EP2777276B1 (en) 2011-11-08 2019-05-01 Nokia Technologies Oy Reference picture handling
CA2855777C (en) 2011-12-23 2017-10-24 Electronics And Telecommunications Research Institute Method and apparatus for setting reference picture index of temporal merging candidate
SI2838261T1 (sl) 2012-04-12 2020-08-31 JVC Kenwood Corporation Naprava za dekodiranje videa, postopek za dekodiranje videa, program za dekodiranje videa
JP2013223049A (ja) * 2012-04-13 2013-10-28 Sharp Corp 画像復号装置、および画像符号化装置
US9979959B2 (en) * 2012-04-20 2018-05-22 Qualcomm Incorporated Video coding with enhanced support for stream adaptation and splicing
AU2013285749B2 (en) * 2012-07-02 2016-06-16 Samsung Electronics Co., Ltd. Method and apparatus for predicting motion vector for coding video or decoding video
US9325990B2 (en) * 2012-07-09 2016-04-26 Qualcomm Incorporated Temporal motion vector prediction in video coding extensions
CN102883161B (zh) * 2012-09-19 2015-09-30 华为技术有限公司 视频编码和解码的处理方法和装置
US20150350684A1 (en) * 2012-09-20 2015-12-03 Sony Corporation Image processing apparatus and method
US9538180B2 (en) * 2012-12-17 2017-01-03 Qualcomm Incorporated Motion vector prediction in video coding
WO2014162954A1 (ja) * 2013-04-04 2014-10-09 シャープ株式会社 画像復号装置、および画像符号化装置
SG10201913551WA (en) * 2013-04-07 2020-03-30 Dolby Int Ab Signaling change in output layer sets
US9591321B2 (en) * 2013-04-07 2017-03-07 Dolby International Ab Signaling change in output layer sets
US9930363B2 (en) 2013-04-12 2018-03-27 Nokia Technologies Oy Harmonized inter-view and view synthesis prediction for 3D video coding
JPWO2015005331A1 (ja) * 2013-07-10 2017-03-02 シャープ株式会社 画像復号装置および画像符号化装置
CN105453562B (zh) * 2013-07-30 2018-12-25 株式会社Kt 支持多个层的图像编码和解码方法以及使用该方法的装置
US9762927B2 (en) * 2013-09-26 2017-09-12 Qualcomm Incorporated Sub-prediction unit (PU) based temporal motion vector prediction in HEVC and sub-PU design in 3D-HEVC
JP6397421B2 (ja) * 2013-10-08 2018-09-26 シャープ株式会社 画像復号装置及び画像符号化装置
US20170026655A1 (en) * 2014-01-02 2017-01-26 Sharp Kabushiki Kaisha Parameter set signaling
DK3091741T3 (da) 2014-01-02 2022-01-31 Intellectual Discovery Co Ltd Fremgangsmåde til afkodning af multi-visnings-video
WO2015136941A1 (en) * 2014-03-13 2015-09-17 Sharp Kabushiki Kaisha Constrained reference picture parameters
US9788007B2 (en) * 2014-06-20 2017-10-10 Qualcomm Incorporated Profile, tier, level for the 0-th output layer set in video coding
WO2016048834A1 (en) 2014-09-26 2016-03-31 Vid Scale, Inc. Intra block copy coding with temporal block vector prediction
KR20170078672A (ko) * 2014-10-31 2017-07-07 삼성전자주식회사 고정밀 스킵 부호화를 이용한 비디오 부호화 장치 및 비디오 복호화 장치 및 그 방법
US9872296B2 (en) 2015-01-06 2018-01-16 Qualcomm Incorporated Techniques for beam shaping at a millimeter wave base station and a wireless device and fast antenna subarray selection at a wireless device
WO2016165069A1 (en) * 2015-04-14 2016-10-20 Mediatek Singapore Pte. Ltd. Advanced temporal motion vector prediction in video coding
KR102164062B1 (ko) * 2015-09-08 2020-10-13 미디어텍 인크. 인트라 블록 복사 모드를 위한 디코딩된 픽처 버퍼의 방법 및 시스템
CN106534858B (zh) 2015-09-10 2019-09-06 展讯通信(上海)有限公司 真实运动估计方法及装置
CN107046645B9 (zh) 2016-02-06 2020-08-14 华为技术有限公司 图像编解码方法及装置
CN108781295B (zh) * 2016-03-16 2022-02-18 联发科技股份有限公司 视频编码的样式基础的运动向量推导之方法及装置
EP3432578A4 (en) 2016-03-24 2019-11-20 LG Electronics Inc. METHOD AND APPARATUS FOR INTER-PREDICTION IN A VIDEO CODING SYSTEM
US10560718B2 (en) 2016-05-13 2020-02-11 Qualcomm Incorporated Merge candidates for motion vector prediction for video coding
US10567808B2 (en) * 2016-05-25 2020-02-18 Arris Enterprises Llc Binary ternary quad tree partitioning for JVET
JP6768145B2 (ja) 2016-08-15 2020-10-14 ノキア テクノロジーズ オーユー ビデオの符号化および復号
US11409855B2 (en) * 2016-08-22 2022-08-09 Lenovo (Singapore) Pte. Ltd. Gesture based CAPTCHA test
CN107820095B (zh) * 2016-09-14 2020-01-03 北京金山云网络技术有限公司 一种长期参考图像选择方法及装置
US10812791B2 (en) * 2016-09-16 2020-10-20 Qualcomm Incorporated Offset vector identification of temporal motion vector predictor
EP3301914A1 (en) 2016-09-30 2018-04-04 Thomson Licensing Method and apparatus for encoding and decoding a large field of view video
EP3343924A1 (en) 2017-01-03 2018-07-04 Thomson Licensing Method and apparatus for encoding and decoding motion information
EP3343925A1 (en) 2017-01-03 2018-07-04 Thomson Licensing Method and apparatus for encoding and decoding motion information
US10542280B2 (en) 2017-01-09 2020-01-21 QUALCOMM Incorpated Encoding optimization with illumination compensation and integer motion vector restriction
US20180199057A1 (en) 2017-01-12 2018-07-12 Mediatek Inc. Method and Apparatus of Candidate Skipping for Predictor Refinement in Video Coding
JP7036628B2 (ja) * 2017-03-10 2022-03-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
CN109089119B (zh) 2017-06-13 2021-08-13 浙江大学 一种运动矢量预测的方法及设备
JP2020145486A (ja) 2017-07-28 2020-09-10 シャープ株式会社 動画像符号化装置及び動画像復号装置
CN111095926A (zh) * 2017-09-12 2020-05-01 三星电子株式会社 用于对运动信息进行编码和解码的方法以及用于对运动信息进行编码和解码的装置
CN107682705B (zh) * 2017-09-26 2020-05-12 杭州电子科技大学 基于mv-hevc框架的立体视频b帧错误隐藏方法
US20190141320A1 (en) * 2017-11-07 2019-05-09 Qualcomm Incorporated Enhanced reference picture management in video coding
US11057640B2 (en) 2017-11-30 2021-07-06 Lg Electronics Inc. Image decoding method and apparatus based on inter-prediction in image coding system
WO2019172705A1 (ko) 2018-03-09 2019-09-12 한국전자통신연구원 샘플 필터링을 이용한 영상 부호화/복호화 방법 및 장치
KR102455561B1 (ko) 2018-04-01 2022-10-17 엘지전자 주식회사 어파인 움직임 예측에 기반한 영상 코딩 방법 및 그 장치
KR20230028586A (ko) 2018-04-01 2023-02-28 엘지전자 주식회사 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
EP3780608A4 (en) 2018-04-02 2021-12-01 SZ DJI Technology Co., Ltd. IMAGE PROCESSING PROCESS AND IMAGE PROCESSING DEVICE
KR102609949B1 (ko) * 2018-08-17 2023-12-04 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 코딩에서의 참조 영상 관리

Also Published As

Publication number Publication date
US20210227251A1 (en) 2021-07-22
US11363294B2 (en) 2022-06-14
US11490120B2 (en) 2022-11-01
JP2021520120A (ja) 2021-08-12
US20210021855A1 (en) 2021-01-21
WO2019191890A1 (zh) 2019-10-10
JP2021520121A (ja) 2021-08-12
EP3783897A4 (en) 2022-02-23
CN110326295A (zh) 2019-10-11
JP2023052491A (ja) 2023-04-11
CN117061738A (zh) 2023-11-14
WO2019192102A1 (zh) 2019-10-10
JP2021520119A (ja) 2021-08-12
JP2021520124A (ja) 2021-08-12
US20210021865A1 (en) 2021-01-21
US11949911B2 (en) 2024-04-02
CN110419217B (zh) 2023-09-26
US11190798B2 (en) 2021-11-30
CN113824966B (zh) 2023-09-12
US20210021824A1 (en) 2021-01-21
EP3780614A1 (en) 2021-02-17
CN117294837A (zh) 2023-12-26
WO2019192141A1 (zh) 2019-10-10
EP3780615A1 (en) 2021-02-17
JP2023017981A (ja) 2023-02-07
US20220321907A1 (en) 2022-10-06
US11871032B2 (en) 2024-01-09
US20210218989A1 (en) 2021-07-15
CN110495169A (zh) 2019-11-22
CN113852828B (zh) 2023-09-12
JP7294753B2 (ja) 2023-06-20
EP3780608A4 (en) 2021-12-01
CN116760999A (zh) 2023-09-15
EP3780608A1 (en) 2021-02-17
US20210021812A1 (en) 2021-01-21
WO2019192152A1 (zh) 2019-10-10
CN110419220B (zh) 2023-08-29
JP2021526322A (ja) 2021-09-30
JP2023110048A (ja) 2023-08-08
US20220286706A1 (en) 2022-09-08
EP3780618A4 (en) 2022-03-02
EP3780618A1 (en) 2021-02-17
JP2024057014A (ja) 2024-04-23
CN114938452A (zh) 2022-08-23
JP2024010198A (ja) 2024-01-23
US20210227252A1 (en) 2021-07-22
EP3780614A4 (en) 2022-02-23
US11350124B2 (en) 2022-05-31
US20210227253A1 (en) 2021-07-22
CN110720219B (zh) 2022-04-26
KR20200134319A (ko) 2020-12-01
CN113824966A (zh) 2021-12-21
CN110786012A (zh) 2020-02-11
US20210227254A1 (en) 2021-07-22
US11323742B2 (en) 2022-05-03
EP3780615A4 (en) 2022-03-02
CN113852828A (zh) 2021-12-28
CN110786012B (zh) 2024-01-30
US11330294B2 (en) 2022-05-10
US11381839B2 (en) 2022-07-05
CN114125440A (zh) 2022-03-01
CN110326295B (zh) 2021-11-16
CN117135346A (zh) 2023-11-28
US20220353527A1 (en) 2022-11-03
US20220086483A1 (en) 2022-03-17
EP3780619A1 (en) 2021-02-17
CN110495169B (zh) 2021-12-17
US11949912B2 (en) 2024-04-02
US20210021856A1 (en) 2021-01-21
US20210021825A1 (en) 2021-01-21
EP3783897A1 (en) 2021-02-24
US11343534B2 (en) 2022-05-24
US11368714B2 (en) 2022-06-21
CN110419217A (zh) 2019-11-05
CN110419220A (zh) 2019-11-05
US11490118B2 (en) 2022-11-01
CN116781928A (zh) 2023-09-19
CN110720219A (zh) 2020-01-21
JP7388659B2 (ja) 2023-11-29
JP2021520126A (ja) 2021-08-12
US11159821B2 (en) 2021-10-26
JP7088606B2 (ja) 2022-06-21
EP3780619A4 (en) 2022-02-23
JP7216109B2 (ja) 2023-01-31

Similar Documents

Publication Publication Date Title
CN110720219B (zh) 视频图像处理方法与装置
TWI738081B (zh) 視訊編碼系統中結合多重預測子用於區塊預測之方法和裝置
WO2019192301A1 (zh) 视频图像处理方法与装置
WO2019192170A1 (zh) 视频图像处理方法与装置
US20240137559A1 (en) Method and device for image motion compensation

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