CN111866515B - 一种矢量差解码方法、装置及电子设备 - Google Patents

一种矢量差解码方法、装置及电子设备 Download PDF

Info

Publication number
CN111866515B
CN111866515B CN201910364638.6A CN201910364638A CN111866515B CN 111866515 B CN111866515 B CN 111866515B CN 201910364638 A CN201910364638 A CN 201910364638A CN 111866515 B CN111866515 B CN 111866515B
Authority
CN
China
Prior art keywords
component
true value
information
value
equal
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.)
Active
Application number
CN201910364638.6A
Other languages
English (en)
Other versions
CN111866515A (zh
Inventor
孙煜程
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201910364638.6A priority Critical patent/CN111866515B/zh
Priority to PCT/CN2020/087887 priority patent/WO2020221317A1/zh
Publication of CN111866515A publication Critical patent/CN111866515A/zh
Application granted granted Critical
Publication of CN111866515B publication Critical patent/CN111866515B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

本发明实施例提供了一种解码方法、装置及解码设备。其中,解码方法包括:获取码流信息,码流信息包括第一指示信息,第一指示信息用于指示当前块的块矢量差和参考块矢量;根据第一指示信息,确定参考块矢量和块矢量差;根据参考块矢量和块矢量差,确定当前块的最终块矢量;其中,根据第一指示信息,确定块矢量差,包括:根据第一指示信息,确定第一分量的真值和第二分量的真值,块矢量差包括第一分量和第二分量;根据第一分量的真值和第二分量的真值,确定块矢量差;其中,确定第二分量的真值包括:根据第一分量的预设真值属性信息,对第二分量的预设真值属性信息进行解析。可以去除融合模式与普通模式中的语法冗余。

Description

一种矢量差解码方法、装置及电子设备
技术领域
本发明涉及图像编码技术领域,特别是涉及一种矢量差解码方法、装置及电子设备。
背景技术
解码端在基于该残差复原图像的过程中,需要确定编码端编码当前正在解码的图像块(下文称当前解码块)所参考的图像块。编码块可以对用于表示当前编码块与参考块之间的相对位移的矢量,在帧间预测技术中该矢量称运动矢量(MotionVector,MV),在帧内预测技术以及帧内块复制技术中该矢量称块矢量(Block Vector,BV),进行编入码流。解码端根据解码出的该矢量,确定当前解码块所对应的参考块。但是,如果编码端对每个图像块的该矢量单独编码,可能导致码流信息中用于传输这些矢量的数据的数据量较大,不利于传输。
在相关技术中,编码块可以针对当前编码块在已经编码的图像块中确定参考块,将该参考块的索引值编入码流。解码块基于解码出的索引值,确定当前解码块的参考块,并将参考块的矢量复制至当前解码块(下文称该模式为融合模式)。编码块还可以是针对当前编码块在已经编码的图像块中确定参考块,将当前编码块的矢量,与该参考块的矢量之间的差值(下文称矢量差)编入码流,并将该参考块的索引值编入码流。解码块基于解码出的索引值,从列表中确定当前解码块的候选值,将候选值与解码出的矢量差叠加,并将叠加结果作为当前解码块的矢量(下文称普通模式)。
但是,如果普通模式和融合模式的候选值列表相同或相近的情况下,当矢量差为(0,0)时,融合模式与普通模式所表达的矢量可能是一致的。即编码端和解码端中,对于同一个矢量存在两种不同的表达方式,即编码端和解码端存在语法冗余,影响编码端和解码端的性能。
发明内容
本发明实施例的目的在于提供一种矢量差解码方法、装置及电子设备,以实现去除融合模式与普通模式中的语法冗余,提高编码端和解码端的性能。具体技术方案如下:
在本发明实施例的第一方面,提供了解码方法,应用解码端,所述方法包括:
获取码流信息,所述码流信息包括第一指示信息,所述第一指示信息用于指示当前块的块矢量差和参考块矢量;
根据所述第一指示信息,确定所述参考块矢量和所述块矢量差;
根据所述参考块矢量和所述块矢量差,确定所述当前块的最终块矢量;
其中,根据所述第一指示信息,确定所述块矢量差,包括:
根据所述第一指示信息,确定第一分量的真值和第二分量的真值,所述块矢量差包括所述第一分量和所述第二分量;
根据所述第一分量的真值和所述第二分量的真值,确定所述块矢量差;
其中,确定所述第二分量的真值包括:
根据所述第一分量的预设真值属性信息,对所述第二分量的预设真值属性信息进行解析。
在本发明实施例的第二方面,提供了一种编码方法,应用于编码端,所述方法包括:
确定当前块的块矢量差和参考块矢量;
将所述块矢量差和所述参考块矢量编入码流信息,得到携带有第一指示信息的码流信息,所述第一指示信息用于指示所述块矢量差和所述参考块矢量;
其中,对所述块矢量差进行编码,包括:
对所述块矢量差的第一分量的真值和第二分量的真值进行编码;
其中对所述第二分量的真值进行编码,包括:
根据所述第一分量的真值或预设真值属性信息对所述第二分量的预设真值属性信息进行编码。
在本发明实施例的第三方面,提供了一种解码方法,应用于解码端,所述方法包括:
获取码流信息,所述码流信息包括第一指示信息,所述第一指示信息用于指示当前块的运动矢量差和参考运动矢量;
根据所述第一指示信息,确定所述运动矢量差和所述参考运动矢量;
根据所述运动矢量差和所述参考运动矢量,确定所述当前块的最终运动矢量;
其中,根据所述第一指示信息,确定所述运动矢量差,包括:
根据所述第一指示信息,确定第一分量的真值和第二分量的真值,所述运动矢量包括所述第一分量和所述第二分量;
根据所述第一分量的真值和所述第二分量的真值,确定所述运动矢量差;
其中,确定所述第二分量的真值包括:
根据所述第一分量的预设真值属性信息,对所述第二分量的预设真值属性信息进行解析。
在本发明实施例的第四方面,提供了一种编码方法,应用编码端,所述方法包括:
确定当前块的运动矢量差和参考运动矢量;
将所述运动矢量差和所述参考运动矢量编入码流信息,得到携带有第一指示信息的码流信息,所述第一指示信息用于指示所述运动矢量差和所述参考运动矢量;
其中,对所述运动矢量差进行编码,包括:
对所述运动矢量差的第一分量的真值和第二分量的真值进行编码;
其中,对所述第二分量的真值进行编码,包括:
根据所述第一分量的真值或预设真值属性信息对所述第二分量的真值属性信息进行编码。
在本发明实施例的第五方面,提供了一种解码方法,应用于解码端,所述方法包括:
获取码流信息,所述码流信息包括第一指示信息,所述第一指示信息用于指示当前块的矢量差信息和参考矢量信息;
根据所述第一指示信息,确定所述矢量差信息和所述参考矢量信息;
根据所述矢量差信息和所述参考矢量信息,确定所述当前块的最终运动矢量信息;
其中,根据所述第一指示信息,确定所述矢量差信息,包括:
根据所述第一指示信息,确定第一分量的真值和第二分量的真值,所述运动矢量包括所述第一分量和所述第二分量;
根据所述第一分量的真值和所述第二分量的真值,确定所述矢量差信息;
其中,确定所述第二分量的真值包括:
根据所述第一分量的预设真值属性信息,对所述第二分量的预设真值属性信息进行解析;
其中,帧内块复制模式的ABVP模式和帧间预测的AMVP模式共用所述矢量差信息的语法元素解码方案;当根据所述码流信息确定当前块启动帧内块复制模式时,根据所述第一指示信息确定的所述参考矢量信息是当前块的参考块矢量,根据所述第一指示信息确定的所述矢量差信息是当前块的块矢量差,根据所述参考矢量信息和所述矢量差信息确定的所述最终运动矢量信息是当前块的最终块矢量。
在本发明实施例的第六方面,提供了一种编码方法,应用于编码端,所述方法包括:
确定当前块的矢量差信息和参考矢量信息;
将所述矢量差信息和所述参考矢量信息编入码流信息,得到携带有第一指示信息的码流信息,所述第一指示信息用于表示所述矢量差信息和所述参考矢量信息;
其中,对所述矢量差信息进行编码,包括:
对所述矢量差信息的第一分量的真值和第二分量的真值进行编码;
其中对所述第二分量的真值进行编码,包括:
根据所述第一分量的真值或预设真值属性信息对所述第二分量的真值属性信息进行编码;
其中,帧内块复制模式的ABVP和帧间预测模式的AMVP共用所述矢量差信息的编码语法元素;当编码决策帧内块复制模式时,所述参考矢量信息是当前块的参考块矢量,所述矢量差信息是当前块的块矢量差。
在本发明实施例的第七方面,提供了一种解码装置,所述装置包括:
码流获取模块,用于获取码流信息,所述码流信息包括第一指示信息,所述第一指示信息用于指示当前块的块矢量差和参考块矢量;
解码模块,用于根据所述第一指示信息,确定所述参考块矢量和所述块矢量差;
确定模块,用于根据所述参考块矢量和所述块矢量差,确定所述当前块的最终块矢量;
其中,根据所述第一指示信息,确定所述块矢量差,包括:
根据所述第一指示信息,确定第一分量的真值和第二分量的真值,所述块矢量差包括所述第一分量和所述第二分量;
根据所述第一分量的真值和所述第二分量的真值,确定所述块矢量差;
其中,确定所述第二分量的真值包括:
根据所述第一分量的预设真值属性信息,对所述第二分量的预设真值属性信息进行解析。
在本发明实施例的第八方面,提供了一种编码装置,所述装置包括:
确定模块,用于确定当前块的块矢量差和参考块矢量;
编码模块,用于将所述块矢量差和所述参考块矢量编入码流信息,得到携带有第一指示信息的码流信息,所述第一指示信息用于指示所述块矢量差和所述参考块矢量;
其中,对所述块矢量差进行编码,包括:
对所述块矢量差的第一分量的真值和第二分量的真值进行编码;
其中对所述第二分量的真值进行编码,包括:
根据所述第一分量的真值或预设真值属性信息对所述第二分量的预设真值属性信息进行编码。
在本发明实施例的第九方面,提供了一种解码装置,所述装置包括:
码流获取模块,用于获取码流信息,所述码流信息包括第一指示信息,所述第一指示信息用于指示当前块的运动矢量差和参考运动矢量;
解码模块,用于根据所述第一指示信息,确定所述运动矢量差和所述参考运动矢量;
确定模块,用于根据所述运动矢量差和所述参考运动矢量,确定所述当前块的最终运动矢量;
其中,根据所述第一指示信息,确定所述运动矢量差,包括:
根据所述第一指示信息,确定第一分量的真值和第二分量的真值,所述运动矢量包括所述第一分量和所述第二分量;
根据所述第一分量的真值和所述第二分量的真值,确定所述运动矢量差;
其中,确定所述第二分量的真值包括:
根据所述第一分量的预设真值属性信息,对所述第二分量的预设真值属性信息进行解析。
在本发明实施例的第十方面,提供了一种编码装置,所述装置包括:
确定模块,用于确定当前块的运动矢量差和参考运动矢量;
编码模块,用于将所述运动矢量差和所述参考运动矢量编入码流信息,得到携带有第一指示信息的码流信息,所述第一指示信息用于指示所述运动矢量差和所述参考运动矢量;
其中,对所述运动矢量差进行编码,包括:
对所述运动矢量差的第一分量的真值和第二分量的真值进行编码;
其中,对所述第二分量的真值进行编码,包括:
根据所述第一分量的真值或预设真值属性信息对所述第二分量的真值属性信息进行编码。
在本发明实施例的第十一方面,提供了一种解码装置,所述装置包括:
码流获取模块,用于获取码流信息,所述码流信息包括第一指示信息,所述第一指示信息用于指示当前块的矢量差信息和参考矢量信息;
解码模块,用于根据所述第一指示信息,确定所述矢量差信息和所述参考矢量信息;
确定模块,用于根据所述矢量差信息和所述参考矢量信息,确定所述当前块的最终运动矢量信息;
其中,根据所述第一指示信息,确定所述矢量差信息,包括:
根据所述第一指示信息,确定第一分量的真值和第二分量的真值,所述运动矢量包括所述第一分量和所述第二分量;
根据所述第一分量的真值和所述第二分量的真值,确定所述矢量差信息;
其中,确定所述第二分量的真值包括:
根据所述第一分量的预设真值属性信息,对所述第二分量的预设真值属性信息进行解析;
其中,帧内块复制模式的ABVP模式和帧间预测的AMVP模式共用所述矢量差信息的语法元素解码方案;当根据所述码流信息确定当前块启动帧内块复制模式时,根据所述第一指示信息确定的所述参考矢量信息是当前块的参考块矢量,根据所述第一指示信息确定的所述矢量差信息是当前块的块矢量差,根据所述参考矢量信息和所述矢量差信息确定的所述最终运动矢量信息是当前块的最终块矢量。
在本发明实施例的第十二方面,提供了一种编码装置,所述装置包括:
确定模块,用于确定当前块的矢量差信息和参考矢量信息;
编码模块,用于将所述矢量差信息和所述参考矢量信息编入码流信息,得到携带有第一指示信息的码流信息,所述第一指示信息用于表示所述矢量差信息和所述参考矢量信息;
其中,对所述矢量差信息进行编码,包括:
对所述矢量差信息的第一分量的真值和第二分量的真值进行编码;
其中对所述第二分量的真值进行编码,包括:
根据所述第一分量的真值或预设真值属性信息对所述第二分量的真值属性信息进行编码;
其中,帧内块复制模式的ABVP和帧间预测模式的AMVP共用所述矢量差信息的编码语法元素;当编码决策帧内块复制模式时,所述参考矢量信息是当前块的参考块矢量,所述矢量差信息是当前块的块矢量差。
本发明实施例提供的一种矢量差解码方法、装置及电子设备,可以基于第一分量的预设真值属性信息,对第二分量的预设真值属性信息进行解析,使得第二分量的解析依赖于第一分量,可以避免解析得到特定数值的矢量差,因此可以去除融合模式与普通模式中的语法冗余,进而提高编码端和解码端的性能。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的解码方法的一种流程示意图;
图2为本发明实施例提供的编码方法的一种流程示意图;
图3a为本发明实施例提供的解码方法的另一种流程示意图;
图3b为本发明实施例提供的编码方法的另一种流程示意图;
图4a为本发明实施例提供的解码方法的另一种流程示意图;
图4b为本发明实施例提供的编码方法的另一种流程示意图;
图5为本发明实施例提供的解码装置的一种结构示意图;
图6为本发明实施例提供的编码装置的一种结构示意图;
图7为本发明实施例提供的解码设备的一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为更清楚的进行描述,下面对本文中出现的一些术语进行解释:
预测像素(Prediction Signal):预测像素是指从已经编解码的像素中导出的像素值,通过原始像素与预测像素之差获得残差,进而进行残差变换量化以及系数编码。特别的,帧间的预测像素指的是当前块从参考帧(重建像素帧)导出的像素值,由于像素位置离散,需要通过插值运算来获取最终的预测像素。预测像素与原始像素越接近,两者相减得到的残差能量越小,编码压缩性能越高。
运动矢量(Motion Vector,MV):在帧间编码中,用运动矢量(MotionVector,MV)表示当前编码块与其参考图像中的最佳匹配块之间的相对位移。每个划分的块都有相应的运动矢量需要传送到解码端。如果对每个块的MV进行独立编码和传输,特别是划分成小尺寸的块,需要消耗相当多的比特。为了降低用于编码运动矢量的比特数,视频编码中会利用相邻图像块之间的空间相关性,根据相邻已编码块的运动矢量对当前待编码块的运动矢量进行预测,然后对预测差进行编码。这样可以有效地降低表示运动矢量的比特数。基于此,在对当前图像块的运动矢量编码过程中,一般首先使用相邻已编码块的运动矢量预测当前宏块的运动矢量,然后对运动矢量的预测值(MVP,Motion Vector Prediction)与运动矢量的真正估值之间的差值(MVD,MotionVector Difference)进行编码,从而有效降低MV的编码比特数。
运动信息(Motion Information):由于运动矢量表示当前块与某个参考图像某个块的位置偏移,为了准确获取指向图像块的信息,除了运动矢量信息,还需要参考图像的索引信息表示使用了哪个参考图像。视频编码技术中,对于当前图像,通常会基于一定的原则,建立一个参考图像列表,参考图像索引信息则表示当前块采用了参考图像列表中的第几个参考图像。此外,很多编码技术还支持多个参考图像列表,因此还需要一个索引值表示使用了哪一个参考图像列表,一般我们称这个索引值为参考方向。视频编码中,我们将运动矢量、参考帧索引、参考方向等与运动相关的编码信息统称为运动信息。
率失真原则(Rate-Distortion Optimized),评价编码效率的有两大指标:码率和PSNR。比特流越小,则压缩率越大;PSNR越大,重建图像质量越好。在模式选择的时候,判别公式实质上也就是对二者的综合评价。
模式对应的代价:J(mode)=D+λ*R。其中,D表示Distortion,通常使用SSE指标来衡量,SSE是指重建块与源图像的差值均方和;λ是拉格朗日乘子;R就是该模式下图像块编码所需的实际比特数,包括编码模式信息、运动信息、残差等所需的比特总和。在模式选择时,若使用RDO原则去对编码模式做比较决策,通常可以保证编码性能最佳。
帧内预测与帧间预测(Intra Prediction and Inter Prediction):帧内预测指利用当前块的空域相邻块(与当前块处于同一帧图像)的重建像素值进行预测编码,而帧间预测指利用当前块的时域相邻块(与当前块处于不同图像)的重建像素值进行预测编码。
高级块矢量预测技术(Advanced Block Vector Prediction,ABVP):高级块矢量预测技术利用空时上的块矢量相关性,为帧内块复制模式的当前编码单元建立参考块矢量列表。编码器从中选出最优的参考块矢量,并与实际块矢量进行差值操作得到块矢量差,编码器将参考块矢量在列表中的位置/索引值以及块矢量差编入码流。
帧内块复制模式(Intra Block Copy,IBC):帧内块复制模式指从当前帧已解码区域获取当前块的预测像素,类似于将当前帧(已解码区域)作为当前块的参考帧,故该技术又被称为当前帧参考模式(Current Picture Reference,CPR)。
块矢量(Block Vector,BV):指示帧内块复制技术中,当前块指向参考块的矢量。类似于帧间预测中,当前块指向参考帧中参考块的运动矢量(Motion Vector)。
高级运动矢量预测技术(Advanced Motion Vector Prediction,AMVP):高级运动矢量预测技术利用空时域上的运动矢量相关性,为帧间预测的当前编码单元建立参考运动矢量列表。编码器从中选出最优的参考运动矢量,并与实际运动矢量进行差值操作得到运动矢量差,编码器将参考运动矢量在列表中的位置/索引值以及运动矢量差编入码流。
帧内块复制技术需要块矢量信息来获取当前块的预测像素,通过融合模式或者普通模式(即高级块矢量预测模式ABVP模式)将块矢量传递至解码端。其中,融合模式将参考块的索引值编入码流,解码端通过索引值找到对应的参考块,将参考块的块矢量赋予当前块;普通模式将参考块矢量所在的参考块的索引值以及块矢量差(BVD,类似于MVD)编入码流,解码端通过索引值找到对应的参考块,将参考块的块矢量与块矢量差叠加得到当前块的最终块矢量。
在帧内块复制技术的编解码方案中,在一些应用场景中,普通模式和融合模式采用了相同(或相近)的列表,例如普通模式的候选全部存在于融合模式的候选列表中,融合模式的候选列表长度大于普通模式的候选列表,即普通模式的候选列表为融合模式的候选列表的子集。在这种情况下,若编码端在普通模式下,以参考块索引值X为搜索起始点,搜索的最终块矢量差为(0,0),则普通模式与融合模式所表述的块矢量一致(融合模式的参考块索引值也为X)。即存在两种表达方式,其表述的块矢量完全一致,造成了较大的语法冗余,影响了编解码压缩性能。
针对相关技术的缺点,本发明实施例提供了一种解码方法,以去除在融合模式与普通模式拥有相同或相近候选列表的情况下的语法冗余。
在本申请的一种可能的实现方式中,参见图1,图1所示为本发明实施例提供的解码方法的一种流程示意图,该方法应用于解码端,方法可以包括:
S110,获取码流信息,码流信息包括第一指示信息,第一指示信息用于指示当前块的块矢量差和参考块矢量。
根据应用场景的不同,第一指示信息可以是以不同的形式表示的。在本申请的一种可能的实施方式中,第一指示信息可以是多个连续或非连续的语法元素集合。第一指示信息可以包括多个指示信息,示例性的,第一指示信息中包括一个或多个用于指示块矢量差的指示信息,还包括一个或多个用于指示参考块矢量的指示信息。
S120,根据第一指示信息,确定当前块的参考块矢量和当前块的块矢量差。
作为一种示例,可以是根据第一指示信息,确定参考块矢量在帧内块复制模式支持的ABVP候选列表中的索引信息,根据该索引信息,确定参考块矢量。示例性的,ABVP候选列表中可以包括两个候选,索引信息可以用于指示是ABVP候选列表中的一个候选,如果索引信息指示ABVP候选列表中的第一个候选,则将ABVP候选列表中的第一个候选,确定为参考块矢量。
作为一种示例,可以是根据第一指示信息,确定第一分量的真值和第二分量的真值,根据第一分量的真值和第二分量的真值,确定块矢量差。
作为一种示例,确定第二分量的真值,包括根据第一分量的预设真值属性信息,对第二分量的预设真值属性信息进行解析。可以是根据第一分量的预设真值属性信息的不同,对第二分量的预设真值属性信息采取不同的方式进行解析。
示例性的,第一分量的预设真值属性信息可以是第一分量的真值是否等于0,第二分量的预设真值属性信息可以是第二分量的真值是否等于0,基于此,根据第一分量的真值是否等于0来对第二分量的真值是否等于0进行解析。
例如,在一些应用场景中,帧内块复制技术中,为消除块矢量差为(0,0)造成的ABVP模式与融合模式的语法冗余,第一指示信息所指示的块矢量差不能为(0,0,)则可以是根据第一分量的真值为0,不执行第二分量的真值是否为0的解析,确定第二分量的真值的绝对值大于0。在其他应用场景中,也可以是根据第一分量的真值不等于0,根据第一指示信息对第二分量的真实是否为0进行解析。本质上,两者都在避免第一分量的真值与第二分量的真值同时为0的情况。
作为一种示例,一个分量的预设真值属性信息可以是根据该分量的一个语法元素或者多个语法元素确定得到的,示例性的,一个分量可以包括四个语法元素,第一语法元素用于表示真值的绝对值是否大于0,第二语法元素用于表示真值的绝对值是否大于1,第三语法元素用于表示真值的绝对值超出1的部分,第四语法元素用于表示真值的符号位。以第一分量为5为例,第一分量的第一语法元素为逻辑1(表示第一分量的真值的绝对值大于0),第二语法元素为逻辑1(表示第一分量的真值的绝对值大于1),第三语法元素为3,第四语法元素为逻辑0(表示第一分量的真值的符号为正号)。例如,如果第一分量的预设真值属性信息,用于表示第一分量的真值是否等于0,则该预设真值属性信息可以是通过解析第一语法元素确定得到的。本质上,预设真值属性信息不一定与某类语法一一对应,可以是由单一语法导出,或者,若干语法一起导出。
在第一指示信息中,块矢量差的一个分量的语法元素可以是连续或非连续解码的,也可以是和另一个分量的语法元素交替解码的。
为描述方便,以如下语法表为例:
表1
Figure GDA0002129915590000141
该语法表中出现的各个语法元素的含义如下:
abs_bvd_greater0_flag[0]用于指示第一分量的真值的绝对值是否大于0;
abs_bvd_greater1_flag[0]用于指示第一分量的真值的绝对值是否大于1;
abs_bvd_minus2[0]用于指示第一分量的真值超出1的部分;
bvd_sign_flag[0]用于指示第一分量的符号位。
abs_bvd_greater0_flag[1]用于指示第二分量的真值的绝对值是否大于0;
abs_bvd_greater1_flag[1]用于指示第二分量的真值的绝对值是否大于1;
abs_bvd_minus2[1]用于指示第二分量的真值超出1的部分;
bvd_sign_flag[1]用于指示第二分量的符号位。
块矢量差可以是通过以下语法元素集合的形式进行表示的:{abs_bvd_greater0_flag[0],abs_bvd_greater0_flag[1],abs_bvd_greater1_flag[0],abs_bvd_greater1_flag[1],abs_bvd_minus2[0],abs_bvd_minus2[1],abs_bvd_minus2[1],bvd_sign_flag[1]},该语法元素集合仅是块矢量差的一种可能的表示形式,在其他应用场景中,也可以使用其他形式表示块矢量差,该示例对此不做限制。
S130,根据参考块矢量和块矢量差,确定当前块的最终块矢量。
作为一种示例,可以是将参考块块矢量与块矢量叠加,得到当前块的最终块矢量。
选用该实施例,可以基于第一分量的预设真值属性信息,对第二分量的预设真值属性信息进行解析,使得第二分量的解析依赖于第一分量,可以避免解析得到特定数值的矢量差,因此可以去除融合模式与普通模式中的语法冗余,进而提高编码端和解码端的性能。
在本申请一种可能的实现中,上述实施例中的第一分量为横向分量,第二分量为纵向分量。
例如,
表2
Figure GDA0002129915590000161
该语法表中,默认先对横向分量的预设真值属性信息进行解码。
也可以是第一分量为纵向分量,第二分量为横向分量。
在本发明的一种示例中,编码端和解码端可以是根据第二指示信息,确定是第一分量为横向分量,第二分量为纵向分量,或者,是第一分量为纵向分量,第二分量为横向分量。
第二指示信息用于指示块矢量差的横向分量和纵向分量的的预设真值属性信息的解码(编码)顺序,如果第二指示信息用于指示横向分量的预设真值属性信息先解码(编码),则第一分量为横向分量,第二分量为纵向分量。如果第二指示信息用于指示纵向分量的预设真值属性信息先解码(编码),则第一分量为纵向分量,第二分量为横向分量。
例如,
表3
Figure GDA0002129915590000171
相较于表2,该语法表中默认先对纵向分量的预设真值属性信息进行解码。
又例如,
表4
Figure GDA0002129915590000181
即,后续的语法解析顺序可按照其他预设方式进行改变,不一定与第二指示信息所指示的顺序一致。换句话说,第二指示信息可以只是指示了部分语法元素的编解码顺序,而非全部相关语法元素的编解码顺序。
又例如,
表5,
Figure GDA0002129915590000191
相较于表2或者表3,该语法表中,横向分量和纵向分量的解码顺序是可以根据语法元素bvd_coding_order进行调整的。
解码端自适应的确定当前块的块矢量差的第一分量和第二分量的预设真值属性信息的解码顺序的方式可以包括以下几种。
作为一种示例,解码端也可以根据上一帧各个已编码块的块矢量差信息中第一分量为0或第二分量为0的情况,确定当前帧的每个块的哪个分量的预设真值属性信息先解码(帧级别)。
作为一种示例,解码端也可以根据当前帧已编码块的块矢量差信息中第一分量为0或第二分量为0的情况,确定当前块的哪个分量的预设真值属性信息先解码;(块级别)。
作为一种示例,解码端也可以根据已编码的帧序列的已编码块的块矢量差信息中第一分量为0或第二分量为0的情况,确定当前帧的当前块的哪个分量的预设真值属性信息先解码;(帧序列级别)。
作为一种示例,对于解码端,第二指示信息可以是从码流信息中解析得到的,也可以是统计前一帧已经解码的图像块中,横向分量的真值等于0的图像块的数目,与纵向分量的真值等于0的图像块的数目。
如果前一帧中已经解码的图像块中横向分量的真值等于0的图像块的数目,大于纵向分量的真值等于0的图像块的数目,则第二指示信息用于指示当前帧的横向分量的预设真值属性信息先解码。
如果前一帧中已经解码的图像块中横向分量的真值等于0的图像块的数目,小于纵向分量的真值等于0的图像块的数目,则第二指示信息用于当前帧的指示纵向分量的预设真值属性信息先解码。
已经编码的图像块可以是当前块所属的当前帧中的已经编码的图像块,还可以是已经编码过的图像帧中的图像块。
在可能的示例中,码流信息中还可以包括第三指示信息,第三指示信息用于指示对块矢量差的真值进行预设恢复操作,根据应用场景的不同,预设恢复操作可以是强制预设恢复操作,也可以是可选预设变换操作。强制预设恢复操作,可以是当第一分量的真值等于0时,对第二分量的绝对值进行减一操作。可选预设恢复操作,可以是根据码流信息中的额外语法元素进行变换,例如当第一分量的真值为0,并且第二分量的恢复前的真值也为0时,可以是根据该额外语法元素将第二分量的真值恢复为1或者-1。
根据第一分量的真值和第二分量的真值,确定矢量差,可以包括:根据第三指示信息,对块矢量差的真值进行恢复,将恢复后的真值确定为,将恢复后的真值,确定为块矢量差的真值。
解码端可以是根据第三指示信息,确定对第一分量的真值进行回复;或者,
根据第三指示信息,确定对第二分量的真值进行恢复;或者,
根据第三指示信息,确定对第一分量的真值和第二分量的真值进行恢复。
第三指示信息所指示的内容,根据应用场景的不同可以不同。例如,第三指示信息可以用于指示按照预设偏移方向信息对块矢量差的真值进行恢复,又例如,第三指示信息也可以用于按照预设偏移值和预设偏移方向信息对块矢量差的真值进行恢复。
作为一种示例,
表6
Figure GDA0002129915590000211
该语法表中需要额外编码一个符号位extra_bvd_sign_flag,用于指示按照预设对块矢量差的真值进行恢复。
在本申请的一种可能的实现方式中,参见图2,图2所示为本发明实施例提供的编码方法的一种流程示意图,该方法应用于编码端,方法可以包括:
S210,确定当前块的块矢量差和参考块矢量。
S220,对块矢量差和参考块矢量进行编码,将编码信息加入码流信息,得到携带有第一指示信息的码流信息。
第一指示信息用于指示块矢量差和参考块矢量。对块矢量进行编码,包括:对块矢量差的第一分量的真值和第二分量的真值进行编码。对第二分量的真值进行编码,包括:根据第一分量的真值或预设真值属性信息对第二分量的预设真值属性信息进行编码。
在得到携带有第一指示信息的码流信息后,编码端可以向解码端发送该码流信息。
在一种可能的实现方式中,预设真值属性信息包括真值是否等于0;
根据第一分量的真值或预设真值属性信息对第二分量的预设真值属性信息进行编码,包括:根据第一分量的真值是否等于0,对第二分量的真值是否等于0进行编码;其中,真值是否等于0,包括:真值的绝对值是否等于0,或者真值的绝对值是否大于0。
在一种可能的实现方式中,根据第一分量的真值是否等于0,对第二分量的真值是否等于0进行编码,包括:
根据第一分量的真值等于0,确定第二分量的真值的绝对值大于0,不执行对第二分量的真值是否等于0的真值属性信息进行编码。
在一种可能的实现方式中,根据第一分量的真值是否等于0,对第二分量的真值是否等于0进行编码,包括:
根据第一分量的真值不等于0,对第二分量的真值是否等于0的真值属性信息进行编码。
在一种可能的实现方式中,第一分量为横向分量,第二分量为纵向分量。或者,第一分量为纵向分量,第二分量为横向分量。
在一种可能的实现方式中,方法还包括:
确定第二指示信息,第二指示信息用于指示块矢量差的横向分量和纵向分量的预设真值属性信息的编码顺序;
其中,若编码顺序用于指示横向分量的预设真值属性信息先编码,则第一分量为横向分量,第二分量为纵向分量;
若编码顺序用于指示纵向分量的预设真值属性信息先编码,则第一分量为纵向分量,第二分量为横向分量;
将第二指示信息携带在码流信息中。
对于编码端,第二指示信息可以是根据用户输入的操作指令确定得到的。
作为一种示例,编码端也可以根据上一帧各个已编码块的块矢量差信息中第一分量为0或第二分量为0的情况,确定当前帧的每个块的哪个分量的预设真值属性信息先编码(帧级别)。
作为一种示例,编码端也可以根据当前帧已编码块的块矢量差信息中第一分量为0或第二分量为0的情况,确定当前块的哪个分量的预设真值属性信息先编码;(块级别)。
作为一种示例,编码端也可以根据已编码的帧序列的已编码块的块矢量差信息中第一分量为0或第二分量为0的情况,确定当前帧的当前块的哪个分量的预设真值属性信息先编码;(帧序列级别)。
作为一种示例,编码端统计前一帧中已经编码的图像块中,横向分量的真值等于0的图像块的数目,与纵向分量的真值等于0的图像块的数目,如果横向分量的真值等于0的图像块的数目,大于纵向分量的真值等于0的图像块的数目,则第二指示信息用于指示当前帧横向分量的预设真值属性信息先编码,如果横向分量的真值等于0的图像块的数目,小于纵向分量的真值等于0的图像块的数目,则第二指示信息用于指示当前帧纵向分量的预设真值属性信息先编码。
在一种可能的实现方式中,在对块矢量差进行编码之前,方法还包括:
对块矢量差的真值进行预设变换操作,将变换后的真值,确定为块矢量差的真值;
对第二分量的真值进行编码,还包括:
根据预设变换操作,生成第三指示信息,第三指示信息用于指示解码端对块矢量差变换后的真值进行预设恢复操作,预设恢复操作为预设变换操作的逆操作;
将第三指示信息携带在码流信息中;
其中,预设变换操作用于对第一分量变换后的真值进行变换;或者,
预设变换操作用于对第二分量变换后的真值进行变换;或者,
预设变换操作用于对第一分量变换后的真值和第二分量的变换后的真值进行变换。
在一种可能的实现方式中,第三指示信息用于指示按照预设偏移方向信息对块矢量差变换后的真值进行恢复;或者
第三指示信息用于指示按照预设偏移值和预设偏移方向信息对块矢量差变换后的真值进行恢复。
作为一种示例,当当前块的块矢量差为(0,y)时,
若y>0,则在对当前块的块矢量差进行编码之前将块矢量差改变为(0,y-1);
若y<0,则在对当前块的块矢量差进行编码之前将块矢量差改变为(0,y+1)。
特别的,当y=±1时,由于改变后的值变为(0,0),解码端无法判断后者的符号位进而恢复±1,所以需要额外编码一个符号位extra_bvd_sign_flag。
更换横纵向编码顺序同理,即上述(0,y)更改为(x,0),若x>0,则将BVD改变为(x–1,0);
若x<0,则将块矢量差改变为(y+1,0)。
特别的,当x=±1时,由于改变后的值变为(0,0),解码端无法判断后者的符号位进而恢复±1,所以需要额外编码一个符号位extra_bvd_sign_flag。
作为一种示例,确定当前块的块矢量差,包括:
若当前块启动帧内块复制模式,且按照ABVP模式以参考块矢量为搜索起始点,搜索最终块矢量差,作为当前块的块矢量差,
若搜索到的最终块矢量差为(0,0),将所述ABVP模式的搜索结果改为对应的指向相同参考块矢量的融合模式,不再执行融合模式决策。
作为一种示例,确定当前块的块矢量差,包括:
若当前块启动帧内块复制模式,且按照ABVP模式搜索最终块矢量差作为当前块的块矢量差,搜索过程跳过参考块矢量指向的位置。。
由于编码方法的实施例基本相似于解码方法的实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可
为更清楚的进行描述,下面将结合可能的示例对本发明提供的解码方法进行说明,以下示例不对本发明提供的解码方法进行限制。
在一种可能的应用场景中,在帧内块复制技术中,为避免因普通模式中的块矢量差为(0,0),导致普通模式与融合模式存在语法冗余,编码端可以通过帧内块复制模式传递块矢量差时,使得所传递的块矢量差不为(0,0)。
示例性的,编码端可以是在搜索到最终块矢量差为(0,0)的情况下,将普通模式的搜索结果作为融合模式的搜索结果,不再执行按照融合模式以参考块矢量为搜索起始点搜索最终块矢量差的步骤,并通过融合模式向解码端传递块矢量。编码端也可以是按照普通模式搜索最终块矢量差作为当前块的块矢量差,并且搜索起点跳过(0,0)位置。
在一种示例中,编码端的当前块的块矢量差的编码方法可以参见图3a,可以包括:
S311,编码当前块的块矢量差的第一分量的第一语法元素。
第一语法元素用于表示真值的绝对值是否大于0,并且当第一语法元素为逻辑0时,表示真值的绝对值等于0,当第一语法元素为逻辑1时,表示真值的绝对值大于0。示例性的,如果第一分量的真值为2,则由于第一分量的真值的绝对值大于0,因此编码得到的真值属性信息为逻辑1,如果第一分量的真值为0,则由于第一分量的真值的绝对值不大于0,因此编码得到的真值属性信息为逻辑0。
逻辑0和逻辑1,根据应用场景可以用不同的字符进行表示,示例性的,根据实际需求,可以用数字0表示逻辑0,数字1表示逻辑1,也可以是用字母N表示逻辑0,字母Y表示逻辑1,本实施例对此不做限制。
S312,如果第一分量的真值不等于0,编码当前块的块矢量差的第二分量的第一语法元素。
第一分量的真值不等于0,可以是通过判断第一分量的真值(或真值的绝对值)是否等于0确定得到的,也可以是通过判断第一分量的真值的绝对值是否大于确定得到的。如果第一分量的真值的绝对值大于0,则第一分量的真值不等于0,如果第一分量的真值的绝对值等于0,则第一分量的真值等于0。
对于编码端,第一分量的真值是已知的,因此第一分量是否等于0,可以是直接根据第一分量的真值确定得到的,也可以是根据第一分量的真值属性信息确定得到的。示例性的,如果第一分量的真值属性信息表示第一分量的真值的绝对值大于0,则确定第一分量的真值不等于0,
如果第一分量的真值不等于0,则块矢量差的第二分量可能为0,因此需要对第二分量的第一语法元素进行编码。
如果第一分量的真值等于0,则由于块矢量差不为(0,0),因此第二分量的真值不等于0,因此在这种情况下,可以直接确定第二分量的真值不等于0,不需要对第二分量的第一语法元素进行编码。在其他编码方案中,如果第一分量的真值等于0,则不需要对第二分量的真值为0进行编码。
S313,如果第一分量的真值不等0,编码第一分量的第二语法元素。
第二语法元素用于表示真值的绝对值是否大于1,并且当第二语法元素为逻辑0时,表示真值的绝对值不大于1,当第二语法元素为逻辑1时,表示真值的绝对值大于1。示例性的,如果第二分量的真值为2,则由于第一分量的真值的绝对值大于1,因此编码得到的真值属性信息为逻辑1,如果第一分量的真值为0,则由于第一分量的真值的绝对值不大于1,因此编码得到的真值属性信息为逻辑0。
如果第一分量的真值等于0,则第一分量的真值的绝对值不大于1,因此不需要对第一分量的第二语法元素进行编码。
S314,如果当前块的块矢量差的第二分量的真值不等0,编码第二分量的第二语法元素。
可以是根据第二分量的真值直接确定第二分量的真值是否等于0,也可以是根据第一分量的真值等于0,直接确定第二分量的真值不等于0。
如果第二分量的真值等于0,则第二分量的真值的绝对值不大于1,因此不需要对第二分量的第二语法元素进行编码。
S315,如果第一分量的真值的绝对值大于1,编码第一分量的第三语法元素。
第三语法元素用于表示真值的绝对值超出1的部分,可以是用真值的绝对值与2的差值表示第三语法元素。示例性的,如果第一分量的真值为2,则第三真值属性信息可以是0,如果第一分量的真值为6,则第三真值属性信息可以是3。
如果第一分量的真值的绝对值不大于1,则第一分量的真值不存在超出1的部分,因此不需要对第一分量的第三语法元素进行编码。
S316,如果第一分量的真值的绝对值大于0,编码第一分量的真值的第四语法元素。
第四语法元素用于表示真值的符号位是否为正号,并且当第四语法元素为逻辑0时,表示真值的符号位为正号,当第一语法元素为逻辑1时,表示真值的符号位为负号。示例性的,如果第一分量的真值为5,则第四语法元素可以是逻辑0,如果第一分量的真值为-3,则第四语法元素可以是逻辑1。
如果第一分量的真值等于0,则第一分量的真值不存在符号位,因此不需要对第一分量的第四语法元素进行编码。
S317,如果第二分量的真值的绝对值大于1,编码第二分量的第三语法元素。
如果第二分量的真值的绝对值不大于1,则第二分量的真值不存在超出1的部分,因此不需要对第二分量的第三语法元素进行编码。
S318,如果第二分量的真值的绝对值大于0,编码第二分量的真值的第四语法元素。
如果第二分量的真值等于0,则第二分量的真值不存在符号位,因此不需要对第二分量的第四语法元素进行编码。
解码端的当前块的块矢量差的解码方法可以参见图3b,可以包括:
S321,解码当前块的块矢量差的第一分量的第一语法元素。
关于第一语法元素,可以参见前述S211中的相关描述,在此不再赘述。通过解码第一分量的第一语法元素,解码端可以确定第一分量的真值是否等于0。
S322,如果第一分量的真值不等于0,解码第二分量的第一语法元素。
对于解码端,第一分量的真值是未知的。因此,可以是根据从码流信息中获取的某一或某些语法元素解析导出的第一分量的真值属性信息来判断第一分量的真值是否等于0。
如果第一分量的真值不等于0,则第二分量的真值可能等于0,因此需要解码第二分量的第一语法元素。如果第一分量的真值等于0由于块矢量差不为(0,0),因此第二分量的真值不等于0,解码端不需要解码第二分量的第一语法元素,可以直接确定第二分量的真值的绝对值大于0。
S323,如果第一分量的真值不等于0,解码第一分量的第二语法元素。
关于第二语法元素,可以参见前述S213中的相关描述,在此不再赘述。如果第一分量的真值等于0,则第一分量的真值的绝对值不大于1,因此不需要解码第一分量的第二语法元素。
S324,如果当前块的块矢量差第二分量的真值不等于0,解码第二分量的第二语法元素。
如果第二分量的真值等于0,则第二分量的真值的绝对值不大于1,因此不需要解码第二分量的第二语法元素。
S325,如果第一分量的真值的绝对值大于1,解码第一分量的第三语法元素。
关于第三语法元素,可以参见前述S215中的相关描述,在此不再赘述。如果第一分量的真值的绝对值不大于1,则第一分量的真值的绝对值不存在超出1的部分,因此不需要解码第一分量的第三语法元素。
S326,如果第一分量的真值不等于0,解码第一分量的第四语法元素。
关于第四语法元素,可以参见前述S216中的相关描述,在此不再赘述。如果第一分量的真值等于0,则第一分量的真值不存在符号位,因此不需要解码第一分量的第四语法元素。
S327,如果第一分量的真值的绝对值大于1,解码第一分量的第三语法元素。
如果第二分量的真值的绝对值不大于1,则第二分量的真值的绝对值不存在超出1的部分,因此不需要解码第二分量的第三语法元素。
S328,如果第一分量的真值不等于0,解码第一分量的第四语法元素。
如果第二分量的真值等于0,则第二分量的真值不存在符号位,因此不需要解码第二分量的第四语法元素。
在解码第一分量和第二分量的语法元素后,解码可以确定第一分量和第二分量的真值。示例性的,假设第一分量的第一语法元素为逻辑1第二语法元素为逻辑1,第三语法元素为3,第四语法元素为逻辑0,则可以确定第一分量的真值为5。假设第一分量的第一语法元素为逻辑1第二语法元素为逻辑0,第四语法元素为逻辑1,则可以确定第一分量的真值为-1。
该解码方法和编码方法在不同的应用场景中,可以通过不同的语法表实现。例如,可以是通过如下所示的语法表实现的,该语法表仅为一种可能的示例,不对本发明实施例进行限定:
表7
Figure GDA0002129915590000301
该语法表中,是否解码第二分量的第一语法元素,与是否解码第一分量的第二语法元素各自进行了一次判断。
abs_bvd_greater0_flag[0]、abs_bvd_greater1_flag[0]、abs_bvd_minus2[0]、bvd_sign_flag[0]分别表示第一分量的第一至第四语法元素,abs_bvd_greater0_flag[1]、abs_bvd_greater1_flag[1]、abs_bvd_minus2[1]、bvd_sign_flag[1]分别表示第二分量的第一至第四语法元素,。“if”为条件语句,“!=”表示不等于。
在另一种示例中,编码端的编码方法可以参见图4a,可以包括:
S411,编码当前块的块矢量差第一分量的第一语法元素。
可以参见前述S211中的相关描述,在此不再赘述。
S412,判断第一分量的真值是否等于0,如果第一分量的真值等于0,执行S413,如果第一分量的真值不等于0,执行S414。
S413,编码第一分量的第二语法元素。
可以参见前述S213中的相关描述,在此不再赘述。
S414,编码第二分量的第一语法元素。
可以参见前述S212中的相关描述,在此不再赘述。
S415,如果第二分量的真值不等0,编码第一分量的第二语法元素。
可以参见前述S214中的相关描述,在此不再赘述。
S416,如果第一分量的真值的绝对值大于1,编码第一分量的第三语法元素。
可以参见前述S215中的相关描述,在此不再赘述。
S417,如果第一分量的真值不等于0,编码第一分量的真值的第四语法元素。
可以参见前述S216中的相关描述,在此不再赘述。
S418,如果当前块的块矢量差第二分量的真值的绝对值大于1,编码第二分量的第三真值属性信息。
可以参见前述S217中的相关描述,在此不再赘述。
解码端的解码方法可以如图4b所示,可以包括:
S421,解码第一分量的第一语法元素。
可以参见前述S221的相关描述,在此不再赘述。
S422,判断第一分量的真值是否等于0,如果第一分量的真值等于0,执行S423,如果第一分量的真值不等于0,执行S424。
S423,如果第一分量的真值不等于0,解码第一分量的第二语法元素。
可以参见前述S223的相关描述,在此不再赘述。
S424,解码第二分量的第一语法元素。
可以参见前述S222的相关描述,在此不再赘述。
S425,如果第二分量的真值不等于0,解码第二分量的第二语法元素。
可以参见前述S224的相关描述,在此不再赘述。
S426,如果第一分量的真值的绝对值大于1,解码第一分量的第三语法元素。
可以参见前述S225的相关描述,在此不再赘述。
S427,如果第一分量的真值不等于0,解码第一分量的第四语法元素。
可以参见前述S226的相关描述,在此不再赘述。
S428,如果第一分量的真值的绝对值大于1,解码第一分量的第三语法元素。
可以参见前述S227的相关描述,在此不再赘述。
S429,如果第一分量的真值不等于0,解码第一分量的第四语法元素。
可以参见前述S228的相关描述,在此不再赘述。
以该示例中的编码方法为例,S413和S414两个步骤共用同一个判断,因此相对于图2所示的示例,可以减少一次判断,以提高编码效率。该示例中的解码方案同理,相对于图2所示的示例,可以减少一个判断,以提高解码效率。
该解码方法和编码方法在不同的应用场景中,可以通过不同的语法表实现。例如,可以是通过如下所示的语法表实现的,该语法表仅为一种可能的示例,不对本发明实施例进行限定:
表8
Figure GDA0002129915590000331
“else”表示否则,相较于表7,该语法表中,是否解码第二分量的第一语法元素,与是否解码第一分量的第二语法元素共用一次判断,即相对表7,减少了一次判断。
在另一种示例中,编解码所使用的语法表可以如下所示:
表9
Figure GDA0002129915590000332
Figure GDA0002129915590000341
该语法中使用了与表1不同类型的语法元素表示预设真值属性信息。
编码端在对第一分量的真值属性信息进行编码时,可能是按照如下所示的表格进行语法元素的编码的:
表10
Figure GDA0002129915590000342
该语法表中存在与(0,0)对应的语法元素。Proposed Method为相关技术提出的MVD编码方案,HEVC mvd_coding()部分为目前HEVC标准中的MVD编码方案,
其中,第一列为第一分量的真值的绝对值,第二列和第三列为第一分量的真值的绝对值所对应的语法元素。示例性的,如果第一分量的真值的绝对值为1,则编码得到的第一分量的语法元素为10。
如果第一分量的真值的绝对值不等于0,则由于第二分量的真值的绝对值可以等于0,因此编码端对编码第二分量的真值属性信息进行编码时,可以也是根据表10进行语法元素的编码。如果第一分量的真值等于0,则由于第二分量的真值不等于0,因此在该示例中,编码端可以是按照如下表格对第二分量进行编码:
表11-1
Figure GDA0002129915590000351
表11-2
Figure GDA0002129915590000352
该语法表中不存在与0对应的语法元素,表11-2相较于表10,可以视为整体偏移了一个码位,如表11-1,当一个分量的真值为0时,在编解码另一个分量时表格更改为对表9中的第一个bin不编码。
该示例中,解码端同理,在对第一分量进行解码时可以是根据表9进行解码,如果第一分量的真值的绝对值不等于0,则在对第二分量进行解码时还可以是根据表10进行解码。如果第一分量的真值的绝对值等于0,则在对第二分量进行解码时,可以是根据表11-2进行解码。
在另一种示例中,编解码所使用的语法表可以如下所示:
表12
Figure GDA0002129915590000361
该语法中使用了与表1不同类型的语法元素表示预设真值属性信息。
编码端在对第一分量的真值属性信息进行编码时,可能是按照如下所示的表格进行语法元素的编码的:
表13.
abs_mvd_prefix gt0 gt1 gt3 gt7 gt15
0 0
1 1 0
2 1 1 0
3 1 1 1 0
4 1 1 1 1 0
5 1 1 1 1 1
该语法表中存在与块矢量差(0,0)对应的语法元素。
其中,第一列为第一分量的真值的绝对值,第三列至第七列为第一分量的真值的绝对值所对应的语法元素。示例性的,如果第一分量的真值为2,则编码得到的第一分量的语法元素为20。
如果第一分量的真值的绝对值不等于0,则由于第二分量的真值的绝对值可以等于0,因此编码端在对第二分量的真值属性信息进行编码时,可以也是根据表13对语法元素进行编码。如果第一分量的真值等于0,则由于第二分量的真值不等于0,因此在该示例中,编码端可以是按照如下表格对第二分量进行编码:
表14.
Figure GDA0002129915590000371
该语法表中不存在与0对应的语法元素,表14相较于表13,当一个分量的真值为0时,在编解码另一个分量时表格更改为对表9中的第一个bin不编码,可以视为整体偏移了一个码位。
该示例中,解码端同理,在对第一分量进行解码时可以是根据表12进行解码,如果第一分量的真值的绝对值不等于0,则在对第二分量进行解码时还可以是根据表13进行解码。如果第一分量的真值的绝对值等于0,则在对第二分量进行解码时,可以是根据表14进行解码。
在一种可能的应用场景中,编码端的当前块的块矢量差的编码方法可以参见,可以包括:
,确定当前块的块矢量差和参考块矢量。
确定方法可以参见前述术语解释中的相关描述,在此不再赘述。
对块矢量差的真值进行预设变换操作,将变换后的真值,确定为块矢量差的真值。
编码端对块矢量差的真值所进行的预设变换操作,可以是对第一分量的真值进行变换,也可以是对第二分量的真值进行变换,还是是对第一分量的真值和第二分量的真值进行变换。示例性的,可以是当第一分量的真值等于0时,如果第二分量的真值小于0,则将第二分量的真值加一,如果第二分量的真值大于0,则将第二分量的真值减一。例如,假设块矢量差的真值为(0,8),则经过预设变换操作后,块矢量差的真值为(0,7)。又例如,假设块矢量差的真值为(0,-3),则经过预设变换操作后,块矢量差的真值为(0,-2)。
在该示例中,解码端在解析得到第一分量和第二分量的真值后,需要对第一分量和第二分量进行预设恢复操作,该预设恢复操作为预设变换操作的逆操作。例如,假设解码端解析得到第一分量的真值为0,第二分量的真值7,则可以将第二分量的真值加一,以将块矢量差恢复为(0,8)。又例如,假设解码端解析得到的第一分量的真值为0,第二分量的真值为-2,则可以将第二分量的真值减一,以将块矢量差恢复为(0,-3)。
特例的,当解码端解析得到块矢量差变换后的真值为(0,0,)时,可以认为编码端所进行的预设变换操作可能是将(0,1)变换为(0,0),也可能是将(0,-1)变换为(0,0)。因此解码端无法根据直接根据解析到的第一分量的真值和第二分量的真值进行预设恢复操作。有鉴于此,编码端可以在码流信息中加入第三指示信息,第三指示信息用于指示解码端对块矢量差变换后的真值进行预设恢复操作。示例性的,以extra_bvd_sign_flag表示第三指示信息,当编码端将块矢量差(0,1)通过预设变换操作变换为(0,0)时,将extra_bvd_sign_flag=1编入码流信息,当编码端将块矢量差(0,-1)通过预设变换操作变换为(0,0)时,将extra_bvd_sign_flag=0编入码流信息。则编码端在解析得到块矢量差变换后的真值为(0,0)时,可以解析第三指示信息,如果第三指示信息为extra_bvd_sign_flag=1,则将真值恢复为(0,1),如果第三指示信息为extra_bvd_sign_flag=0,则将真值恢复为(0,-1)
S613,对块矢量差和参考块矢量进行编码,将编码信息加入码流信息,得到携带有第一指示信息的码流信息。
第一指示信息用于指示块矢量差和参考块矢量。对块矢量差进行编码,可以包括对块矢量差的第一分量的真值和第二分量的真值。对第二分量的真值进行编码,包括根据第一分量的真值或预设真值属性信息对第二分量的预设真真值属性信息进行编码。
解码端的当前块的块矢量差的解码方法可以包括:
S621,获取码流信息。
码流中包括第三指示信息,关于第三指示信息可以参见S612中的相关描述,在此不再赘述。
S622,根据第三指示信息,对块矢量差的真值进行恢复,将恢复后的真值,确定为块矢量差的真值。
关于预设恢复操作可以参见S612中的相关描述,在此不再赘述。可以是根据第三指示信息,对第一分量的真值进行恢复,也可以是根据第三指示信息,对第二分量的真值进行恢复,还可以是根据第三指示信息,对第一分量和第二分量的真值进行恢复。
该解码方法和编码方法在不同的应用场景中,可以通过不同的语法表实现。例如,可以是通过如下所示的语法表实现的,该语法表仅为一种可能的示例,不对本发明实施例进行限定:
表15
Figure GDA0002129915590000401
“&&”为逻辑与运算符,“==”表示相等。该语法表中需要额外编码一个符号位extra_bvd_sign_flag,用于指示按照预设对块矢量差的真值进行恢复。
在另一种示例中,为去除在融合模式与普通模式拥有相同或相近候选列表的情况下的语法冗余,可以在融合模式的候选列表中,去除普通模式的候选列表中存在的块矢量候选。示例性的,假设融合模式的候选列表为{A,B,C,D,E},其中A、B、C、D、E为块矢量候选,普通模式的候选列表为{A,B},则可以是在融合模式的候选列表中删除A、B,即将融合模式的候选列表更改为{C,D,E},则即使普通模式中,第一指示信息所指示的块矢量差为(0,0),由于融合模式的候选列表中不存在A、B,因此融合模式中不会表述相同的块矢量,即去除在融合模式与普通模式拥有相同或相近候选列表的情况下的语法冗余。
在另一种应用场景中,在帧间预测技术的编解码方案中,在一些应用场景中,普通模式和融合模式采用了相同(或相近)的列表。在这种情况下,若编码端在普通模式下,以参考块索引值X为搜索起始点,搜索的最终运动矢量差为(0,0),则普通模式与融合模式所表述的块矢量一致(融合模式的参考块索引值也为X)。即存在两种表达方式,其表述的运动矢量完全一致,造成了较大的语法冗余,影响了编解码压缩性能。
针对相关技术的缺点,本发明实施例提供了一种解码方法,以去除在融合模式与普通模式拥有相同或相近候选列表的情况下的语法冗余。该方法应用于解码端,方法可以包括:
S710,获取码流信息,码流信息包括第一指示信息,第一指示信息用于指示当前块的运动矢量差和参考运动矢量。
S720,根据第一指示信息,确定参考运动矢量和运动矢量差。
其中,根据第一指示信息,确定运动矢量差,包括:
根据第一指示信息,确定第一分量的真值和第二分量的真值,运动矢量包括第一分量和第二分量;
根据第一分量的真值和第二分量的真值,确定运动矢量差;
其中,确定第二分量的真值包括:
根据第一分量的预设真值属性信息,对第二分量的预设真值属性信息进行解析。
S730,根据参考运动矢量和运动矢量差,确定当前块的最终运动矢量。
该示例中,编码端的编码方法可以包括:
S810,确定当前块的运动矢量差和参考运动矢量;
S820,对运动矢量差和参考运动矢量进行编码,将编码信息加入码流,得到携带有第一指示信息的码流,第一指示信息用于指示运动矢量差和参考运动矢量;
其中,对运动矢量差进行编码,包括:
对运动矢量差的第一分量的真值和第二分量的真值进行编码;
其中,对第二分量的真值进行编码,包括:
根据第一分量的真值或预设真值属性信息对第二分量的真值属性信息进行编码。
由于该示例与前述针对帧内块复制模式的编解码方法,区别仅在于将块矢量差替换为运动矢量差,将参考块矢量替换为参考运动矢量,因此可以参见前述关于帧内块复制模式的相关描述,在此不再赘述。
在另一种应用场景中,帧内块复制模式和帧间预测模式可能共用候选列表。例如表16,有鉴于此,在一种示例中,帧内块复制模式的ABVP和帧间预测模式的AMVP可以共用矢量差信息的编码语法元素。解码方法可以包括:
S810,获取码流信息,码流信息包括第一指示信息,第一指示信息用于指示当前块的矢量差信息和参考矢量信息;
S820,根据第一指示信息,确定矢量差信息和参考矢量信息;
S830,根据矢量差信息和参考矢量信息,确定当前块的最终运动矢量信息;
其中,根据第一指示信息,确定矢量差信息,包括:
根据第一指示信息,确定第一分量的真值和第二分量的真值,运动矢量包括第一分量和第二分量;
根据第一分量的真值和第二分量的真值,确定矢量差信息;
其中,确定第二分量的真值包括:
根据第一分量的预设真值属性信息,对第二分量的预设真值属性信息进行解析;
其中,帧内块复制模式的ABVP模式和帧间预测的AMVP模式共用所述矢量差信息的语法元素解码方案;当根据所述码流信息确定当前块启动帧内块复制模式时,根据所述第一指示信息确定的所述参考矢量信息是当前块的参考块矢量,根据所述第一指示信息确定的所述矢量差信息是当前块的块矢量差,根据所述参考矢量信息和所述矢量差信息确定的所述最终运动矢量信息是当前块的最终块矢量。
作为一种示例,当根据所述码流信息确定当前块启动帧间预测模式时,根据所述第一指示信息确定的所述参考矢量信息是当前块的参考运动矢量,根据所述第一指示信息确定的所述矢量差信息是当前块的运动矢量差,根据所述参考矢量信息和所述矢量差信息确定的所述最终运动矢量信息是当前块的最终运动矢量。
编码方法可以包括:
S910,确定当前块的矢量差信息和参考矢量信息;
S920,对矢量差信息和参考矢量信息进行编码,将编码信息加入码流,得到携带有第一指示信息的码流,第一指示信息用于表示矢量差信息和参考矢量信息;
其中,对矢量差信息进行编码,包括:
对矢量差信息的第一分量的真值和第二分量的真值进行编码;
其中对第二分量的真值进行编码,包括:
根据第一分量的真值或预设真值属性信息对第二分量的真值属性信息进行编码;其中,帧内块复制模式的ABVP和帧间预测模式的AMVP共用所述矢量差信息的编码语法元素;当编码决策帧内块复制模式时,所述参考矢量信息是当前块的参考块矢量,所述矢量差信息是当前块的块矢量差。当编码决策帧间预测模式时,所述参考矢量信息是当前块的参考运动矢量,所述矢量差信息是当前块的运动矢量差。
由于该示例与前述针对帧内块复制模式的编解码方法,区别仅在于将块矢量差替换为矢量差信息,将参考块矢量替换为参考矢量信息,因此可以参见前述关于帧内块复制模式的相关描述,在此不再赘述。
该解码方法和编码方法在不同的应用场景中,可以通过不同的语法表实现。例如,可以是通过如下所示的语法表实现的,该语法表仅为一种可能的示例,不对本发明实施例进行限定:
表16
Figure GDA0002129915590000441
该语法表中,帧内块复制模式的ABVP和帧间预测模式的AMVP可以共用矢量差信息的编码语法元素。不需要针对帧内块复制模式的ABVP单独设置语法表。对于帧间预测模式的AMVP,多出了一个当前块是否启动帧内块复制模式的判断。
基于与上述方法相同的申请构思,本申请实施例还提供了一种解码装置,应用于解码端,如图5所示,为所述装置的结构图,所述装置可以包括:
码流获取模块1001,用于获取码流信息,所述码流信息包括第一指示信息,所述第一指示信息用于指示当前块的块矢量差和参考块矢量;
解码模块1002,用于根据所述第一指示信息,确定所述参考块矢量和所述块矢量差;
确定模块1003,用于根据所述参考块矢量和所述块矢量差,确定所述当前块的最终块矢量;
其中,根据所述第一指示信息,确定所述块矢量差,包括:
根据所述第一指示信息,确定第一分量的真值和第二分量的真值,所述块矢量差包括所述第一分量和所述第二分量;
根据所述第一分量的真值和所述第二分量的真值,确定所述块矢量差;
其中,确定所述第二分量的真值包括:
根据所述第一分量的预设真值属性信息,对所述第二分量的预设真值属性信息进行解析。
作为一种示例,所述预设真值属性信息包括真值是否等于0;
解码模块1002,具体用于根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行解析;
其中,所述真值是否等于0,包括:
所述真值的绝对值是否等于0,或者所述真值的绝对值是否大于0。
作为一种示例,解码模块1002,具体用于根据所述第一分量的真值等于0,确定所述第二分量的真值的绝对值大于0。
作为一种示例,解码模块1002,具体用于根据所述第一分量的真值不等于0,根据第一指示信息对所述第二分量的真值的是否为0进行解析。
作为一种示例,解码模块1002,具体用于根据所述第一分量的真值为0,不执行所述第二分量的真值是否为0的解析的步骤,将第二分量的预设真值属性信息确定为所述第二分量的真值的绝对值大于0。
作为一种示例,所述第一分量为横向分量,所述第二分量为纵向分量。
作为一种示例,所述第一分量为纵向分量,所述第二分量为横向分量。
作为一种示例,解码模块1002,还用于获取所述码流信息中携带的第二指示信息,所述第二指示信息用于指示所述块矢量差的横向分量和纵向分量的预设真值属性信息的解码顺序;
其中,若所述第二指示信息用于指示横向分量的预设真值属性信息先解码,则所述第一分量为横向分量,所述第二分量为纵向分量;
若所述第二指示信息用于指示纵向分量的预设真值属性信息先解码,则所述第一分量为纵向分量,所述第二分量为横向分量。
作为一种示例,所述码流信息还包括第三指示信息,所述第三指示信息用于指示对所述块矢量差的真值进行预设恢复操作;
解码模块1002,具体用于根据所述第三指示信息,对所述块矢量差的真值进行恢复,将恢复后的真值,确定为所述块矢量差的真值;
其中,根据所述第三指示信息,对所述块矢量差的真值进行恢复,包括:
根据所述第三指示信息,确定对所述第一分量的真值进行恢复;或者,
根据所述第三指示信息,确定对所述第二分量的真值进行恢复;或者,
根据所述第三指示信息,确定对所述第一分量的真值和所述第二分量的真值进行恢复。
作为一种示例,所述第三指示信息用于指示按照预设偏移方向信息对所述块矢量差的真值进行恢复;或者
所述第三指示信息用于指示按照预设偏移值和预设偏移方向信息对所述块矢量差的真值进行恢复。
作为一种示例,所述解码模块1002,具体用于根据所述第一指示信息,确定所述参考块矢量在帧内块复制模式支持的高级块矢量预测模式ABVP候选列表中的索引信息;
根据所述索引信息,确定所述参考块矢量。
所述装置还包括,像素预测模块,用于在确定所述当前块的块矢量之后,根据当前块的最终块矢量,确定当前块的预测像素。
基于与上述方法相同的申请构思,本申请实施例还提供了一种编码装置,应用于编码端,如图6所示,为所述装置的结构图,所述装置可以包括:
确定模块1101,用于确定当前块的块矢量差和参考块矢量;
编码模块1102,用于将所述块矢量差和所述参考块矢量编入码流信息,得到携带有第一指示信息的码流信息,所述第一指示信息用于指示所述块矢量差和所述参考块矢量;
其中,对所述块矢量差进行编码,包括:
对所述块矢量差的第一分量的真值和第二分量的真值进行编码;
其中对所述第二分量的真值进行编码,包括:
根据所述第一分量的真值或预设真值属性信息对所述第二分量的预设真值属性信息进行编码。
作为一种示例,所述预设真值属性信息包括真值是否等于0;
编码模块1102,具体用于根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行编码;
其中,所述真值是否等于0,包括:
所述真值的绝对值是否等于0,或者所述真值的绝对值是否大于0。
作为一种示例,编码模块1102,具体用于根据所述第一分量的真值等于0,确定所述第二分量的真值的绝对值大于0,不执行对所述第二分量的真值是否等于0的真值属性信息进行编码。
作为一种示例,编码模块1102,具体用于根据所述第一分量的真值不等于0,对所述第二分量的真值是否等于0的真值属性信息进行编码。
作为一种示例,所述第一分量为纵向分量,所述第二分量为横向分量。
作为一种示例,所述第一分量为纵向分量,所述第二分量为横向分量。
作为一种示例,解码模块1102,还用于确定第二指示信息,所述第二指示信息用于指示块矢量差的横向分量和纵向分量的预设真值属性信息的编码顺序;
其中,若所述编码顺序用于指示横向分量的预设真值属性信息先编码,则所述第一分量为横向分量,第二分量为纵向分量;
若所述编码顺序用于指示纵向分量的预设真值属性信息先编码,则所述第一分量为纵向分量,第二分量为横向分量;
将所述第二指示信息携带在所述码流信息中。
作为一种示例,所述编码模块1102,还用于在所述对所述块矢量差进行编码之前,对所述块矢量差的真值进行预设变换操作,将变换后的真值,确定为所述块矢量差的真值;
根据所述预设变换操作,生成第三指示信息,所述第三指示信息用于指示解码端对所述块矢量差变换后的真值进行预设恢复操作,所述预设恢复操作为所述预设变换操作的逆操作;
将所述第三指示信息携带在所述码流信息中;
其中,所述预设变换操作用于对所述第一分量变换后的真值进行变换;或者,
所述预设变换操作用于对所述第二分量变换后的真值进行变换;或者,
所述预设变换操作用于对所述第一分量变换后的真值和所述第二分量的变换后的真值进行变换。
作为一种示例,所述第三指示信息用于指示按照预设偏移方向信息对所述块矢量差变换后的真值进行恢复;或者
所述第三指示信息用于指示按照预设偏移值和预设偏移方向信息对所述块矢量差变换后的真值进行恢复。
作为一种示例,确定模块1101,具体用于若当前块启动帧内块复制模式,且按照ABVP模式以所述参考块矢量为搜索起始点,搜索最终块矢量差,作为当前块的块矢量差,
若搜索到的所述最终块矢量差为(0,0),将所述ABVP模式的搜索结果改为对应的指向相同参考块矢量的融合模式,不再执行融合模式决策。
作为一种示例,确定模块1101,具体用于若当前块启动帧内块复制模式,且按照ABVP模式在一定搜索范围内搜索最终块矢量差作为当前块的块矢量差,搜索过程跳过参考块矢量指向的位置。
基于与上述方法相同的申请构思,本申请实施例还提供了一种解码装置,应用于解码端,所述装置可以包括:
码流获取模块,用于获取码流信息,所述码流信息包括第一指示信息,所述第一指示信息用于指示当前块的运动矢量差和参考运动矢量;
解码模块,用于根据所述第一指示信息,确定所述运动矢量差和所述参考运动矢量;
确定模块,用于根据所述运动矢量差和所述参考运动矢量,确定所述当前块的最终运动矢量;
其中,根据所述第一指示信息,确定所述运动矢量差,包括:
根据所述第一指示信息,确定第一分量的真值和第二分量的真值,所述运动矢量包括所述第一分量和所述第二分量;
根据所述第一分量的真值和所述第二分量的真值,确定所述运动矢量差;
其中,确定所述第二分量的真值包括:
根据所述第一分量的预设真值属性信息,对所述第二分量的预设真值属性信息进行解析。
基于与上述方法相同的申请构思,本申请实施例还提供了一种编码装置,应用于编码端,所述装置可以包括:
确定模块,用于确定当前块的运动矢量差和参考运动矢量;
编码模块,用于将所述运动矢量差和所述参考运动矢量编入码流信息,得到携带有第一指示信息的码流信息,所述第一指示信息用于指示所述运动矢量差和所述参考运动矢量;
其中,对所述运动矢量差进行编码,包括:
对所述运动矢量差的第一分量的真值和第二分量的真值进行编码;
其中,对所述第二分量的真值进行编码,包括:
根据所述第一分量的真值或预设真值属性信息对所述第二分量的真值属性信息进行编码。
基于与上述方法相同的申请构思,本申请实施例还提供了一种解码装置,应用于解码端,所述装置可以包括:
码流获取模块,用于获取码流信息,所述码流信息包括第一指示信息,所述第一指示信息用于指示当前块的矢量差信息和参考矢量信息;
解码模块,用于根据所述第一指示信息,确定所述矢量差信息和所述参考矢量信息;
确定模块,用于根据所述矢量差信息和所述参考矢量信息,确定所述当前块的最终运动矢量信息;
其中,根据所述第一指示信息,确定所述矢量差信息,包括:
根据所述第一指示信息,确定第一分量的真值和第二分量的真值,所述运动矢量包括所述第一分量和所述第二分量;
根据所述第一分量的真值和所述第二分量的真值,确定所述矢量差信息;
其中,确定所述第二分量的真值包括:
根据所述第一分量的预设真值属性信息,对所述第二分量的预设真值属性信息进行解析;
其中,帧内块复制模式的ABVP模式和帧间预测的AMVP模式共用所述矢量差信息的语法元素解码方案;当根据所述码流信息确定当前块启动帧内块复制模式时,根据所述第一指示信息确定的所述参考矢量信息是当前块的参考块矢量,根据所述第一指示信息确定的所述矢量差信息是当前块的块矢量差,根据所述参考矢量信息和所述矢量差信息确定的所述最终运动矢量信息是当前块的最终块矢量。
基于与上述方法相同的申请构思,本申请实施例还提供了一种编码装置,应用于编码端,所述装置可以包括:
确定模块,用于确定当前块的矢量差信息和参考矢量信息;
编码模块,用于将所述矢量差信息和所述参考矢量信息编入码流信息,得到携带有第一指示信息的码流信息,所述第一指示信息用于表示所述矢量差信息和所述参考矢量信息;
其中,对所述矢量差信息进行编码,包括:
对所述矢量差信息的第一分量的真值和第二分量的真值进行编码;
其中对所述第二分量的真值进行编码,包括:
根据所述第一分量的真值或预设真值属性信息对所述第二分量的真值属性信息进行编码;
其中,帧内块复制模式的ABVP和帧间预测模式的AMVP共用所述矢量差信息的编码语法元素;当编码决策帧内块复制模式时,所述参考矢量信息是当前块的参考块矢量,所述矢量差信息是当前块的块矢量差。
本申请实施例提供的解码端设备,从硬件层面而言,其硬件架构示意图具体可以参见图7所述,包括:处理器1701和机器可读存储介质1702,所述机器可读存储介质102存储有能够被所述处理器1701执行的机器可执行指令;所述处理器1701用于执行机器可执行指令,以实现本申请上述示例公开的方法。例如,处理器用于执行机器可执行指令,以实现如下步骤:
获取码流信息,所述码流信息包括第一指示信息,所述第一指示信息用于指示当前块的块矢量差和参考块矢量;
根据所述第一指示信息,确定所述参考块矢量和所述块矢量差;
根据所述参考块矢量和所述块矢量差,确定所述当前块的最终块矢量;
其中,根据所述第一指示信息,确定所述块矢量差,包括:
根据所述第一指示信息,确定第一分量的真值和第二分量的真值,所述块矢量差包括所述第一分量和所述第二分量;
根据所述第一分量的真值和所述第二分量的真值,确定所述块矢量差;
其中,确定所述第二分量的真值包括:
根据所述第一分量的预设真值属性信息,对所述第二分量的预设真值属性信息进行解析。
作为一种示例,所述预设真值属性信息包括真值是否等于0;
所述根据所述第一分量的预设真值属性信息,对所述第二分量的预设真值属性信息进行解析,包括:
根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行解析;
其中,所述真值是否等于0,包括:
所述真值的绝对值是否等于0,或者所述真值的绝对值是否大于0。
作为一种示例,所述根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行解析,包括:
根据所述第一分量的真值等于0,确定所述第二分量的真值的绝对值大于0。
作为一种示例,所述根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行解析,包括:
根据所述第一分量的真值不等于0,根据第一指示信息对所述第二分量的真值的是否为0进行解析。
作为一种示例,所述根据所述第一分量的真值等于0,确定所述第二分量的真值的绝对值大于0,包括:
根据所述第一分量的真值为0,不执行所述第二分量的真值是否为0的解析的步骤,将第二分量的预设真值属性信息确定为所述第二分量的真值的绝对值大于0。
作为一种示例,所述第一分量为横向分量,所述第二分量为纵向分量。
作为一种示例,所述第一分量为纵向分量,所述第二分量为横向分量。
作为一种示例,所述方法还包括:
获取所述码流信息中携带的第二指示信息,所述第二指示信息用于指示所述块矢量差的横向分量和纵向分量的预设真值属性信息的解码顺序;
其中,若所述第二指示信息用于指示横向分量的预设真值属性信息先解码,则所述第一分量为横向分量,所述第二分量为纵向分量;
若所述第二指示信息用于指示纵向分量的预设真值属性信息先解码,则所述第一分量为纵向分量,所述第二分量为横向分量。
作为一种示例,所述码流信息还包括第三指示信息,所述第三指示信息用于指示对所述块矢量差的真值进行预设恢复操作;
根据所述第一分量的真值和所述第二分量的真值,确定所述矢量差包括:
根据所述第三指示信息,对所述块矢量差的真值进行恢复,将恢复后的真值,确定为所述块矢量差的真值;
其中,根据所述第三指示信息,对所述块矢量差的真值进行恢复,包括:
根据所述第三指示信息,确定对所述第一分量的真值进行恢复;或者,
根据所述第三指示信息,确定对所述第二分量的真值进行恢复;或者,
根据所述第三指示信息,确定对所述第一分量的真值和所述第二分量的真值进行恢复。
作为一种示例,所述第三指示信息用于指示按照预设偏移方向信息对所述块矢量差的真值进行恢复;或者
所述第三指示信息用于指示按照预设偏移值和预设偏移方向信息对所述块矢量差的真值进行恢复。
作为一种示例,所述根据所述第一指示信息,确定所述参考块矢量包括:
根据所述第一指示信息,确定所述参考块矢量在帧内块复制模式支持的高级块矢量预测模式ABVP候选列表中的索引信息;
根据所述索引信息,确定所述参考块矢量。
在确定所述当前块的块矢量之后,所述方法还包括:
根据当前块的最终块矢量,确定当前块的预测像素。
作为一种示例,也可以实现如下步骤:
获取码流信息,所述码流信息包括第一指示信息,所述第一指示信息用于指示当前块的运动矢量差和参考运动矢量;
根据所述第一指示信息,确定所述运动矢量差和所述参考运动矢量;
根据所述运动矢量差和所述参考运动矢量,确定所述当前块的最终运动矢量;
其中,根据所述第一指示信息,确定所述运动矢量差,包括:
根据所述第一指示信息,确定第一分量的真值和第二分量的真值,所述运动矢量包括所述第一分量和所述第二分量;
根据所述第一分量的真值和所述第二分量的真值,确定所述运动矢量差;
其中,确定所述第二分量的真值包括:
根据所述第一分量的预设真值属性信息,对所述第二分量的预设真值属性信息进行解析。
作为一种示例,也可以实现如下步骤:
本申请实施例提供的编码端设备,从硬件层面而言,其硬件架构示意图具体可以包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器111用于执行机器可执行指令,以实现本申请上述示例公开的方法。例如,处理器用于执行机器可执行指令,以实现如下步骤:
作为一种示例,也可以是实现如下步骤:
获取码流信息,所述码流信息包括第一指示信息,所述第一指示信息用于指示当前块的矢量差信息和参考矢量信息;
根据所述第一指示信息,确定所述矢量差信息和所述参考矢量信息;
根据所述矢量差信息和所述参考矢量信息,确定所述当前块的最终运动矢量信息;
其中,根据所述第一指示信息,确定所述矢量差信息,包括:
根据所述第一指示信息,确定第一分量的真值和第二分量的真值,所述运动矢量包括所述第一分量和所述第二分量;
根据所述第一分量的真值和所述第二分量的真值,确定所述矢量差信息;
其中,确定所述第二分量的真值包括:
根据所述第一分量的预设真值属性信息,对所述第二分量的预设真值属性信息进行解析;
其中,帧内块复制模式的ABVP模式和帧间预测的AMVP模式共用所述矢量差信息的语法元素解码方案;当根据所述码流信息确定当前块启动帧内块复制模式时,根据所述第一指示信息确定的所述参考矢量信息是当前块的参考块矢量,根据所述第一指示信息确定的所述矢量差信息是当前块的块矢量差,根据所述参考矢量信息和所述矢量差信息确定的所述最终运动矢量信息是当前块的最终块矢量。
作为一种示例,当根据所述码流信息确定当前块启动帧间预测模式时,根据所述第一指示信息确定的所述参考矢量信息是当前块的参考运动矢量,根据所述第一指示信息确定的所述矢量差信息是当前块的运动矢量差,根据所述参考矢量信息和所述矢量差信息确定的所述最终运动矢量信息是当前块的最终运动矢量。
本申请实施例提供的解码端设备,从硬件层面而言,其硬件架构示意图具体可以包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现本申请上述示例公开的方法。例如,处理器用于执确定当前块的块矢量差和参考块矢量;
行机器可执行指令,以实现如下步骤:
将所述块矢量差和所述参考块矢量编入码流信息,得到携带有第一指示信息的码流信息,所述第一指示信息用于指示所述块矢量差和所述参考块矢量;
其中,对所述块矢量差进行编码,包括:
对所述块矢量差的第一分量的真值和第二分量的真值进行编码;
其中对所述第二分量的真值进行编码,包括:
根据所述第一分量的真值或预设真值属性信息对所述第二分量的预设真值属性信息进行编码。
作为一种示例,所述预设真值属性信息包括真值是否等于0;
所述根据第一分量的真值或预设真值属性信息对所述第二分量的预设真值属性信息进行编码,包括:
根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行编码;
其中,所述真值是否等于0,包括:
所述真值的绝对值是否等于0,或者所述真值的绝对值是否大于0。
作为一种示例,所述根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行编码,包括:
根据所述第一分量的真值等于0,确定所述第二分量的真值的绝对值大于0,不执行对所述第二分量的真值是否等于0的真值属性信息进行编码。
作为一种示例,所述根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行编码,包括:
根据所述第一分量的真值不等于0,对所述第二分量的真值是否等于0的真值属性信息进行编码。
作为一种示例,所述第一分量为横向分量,所述第二分量为纵向分量。
作为一种示例,所述第一分量为纵向分量,所述第二分量为横向分量。
作为一种示例,所述方法还包括:
确定第二指示信息,所述第二指示信息用于指示块矢量差的横向分量和纵向分量的预设真值属性信息的编码顺序;
其中,若所述编码顺序用于指示横向分量的预设真值属性信息先编码,则所述第一分量为横向分量,第二分量为纵向分量;
若所述编码顺序用于指示纵向分量的预设真值属性信息先编码,则所述第一分量为纵向分量,第二分量为横向分量;
将所述第二指示信息携带在所述码流信息中。
作为一种示例,在所述对所述块矢量差进行编码之前,所述方法还包括:
对所述块矢量差的真值进行预设变换操作,将变换后的真值,确定为所述块矢量差的真值;
所述对所述第二分量的真值进行编码,还包括:
根据所述预设变换操作,生成第三指示信息,所述第三指示信息用于指示解码端对所述块矢量差变换后的真值进行预设恢复操作,所述预设恢复操作为所述预设变换操作的逆操作;
将所述第三指示信息携带在所述码流信息中;
其中,所述预设变换操作用于对所述第一分量变换后的真值进行变换;或者,
所述预设变换操作用于对所述第二分量变换后的真值进行变换;或者,
所述预设变换操作用于对所述第一分量变换后的真值和所述第二分量的变换后的真值进行变换。
作为一种示例,所述第三指示信息用于指示按照预设偏移方向信息对所述块矢量差变换后的真值进行恢复;或者
所述第三指示信息用于指示按照预设偏移值和预设偏移方向信息对所述块矢量差变换后的真值进行恢复。
作为一种示例,所述确定当前块的块矢量差,包括:
若当前块启动帧内块复制模式,且按照ABVP模式以所述参考块矢量为搜索起始点,搜索最终块矢量差,作为当前块的块矢量差,
若搜索到的所述最终块矢量差为(0,0),将所述ABVP模式的搜索结果改为对应的指向相同参考块矢量的融合模式,不再执行融合模式决策。
作为一种示例,也可以是实现如下步骤:
若当前块启动帧内块复制模式,且按照ABVP模式在一定搜索范围内搜索最终块矢量差作为当前块的块矢量差,搜索过程跳过参考块矢量指向的位置。
作为一种示例,处理器用于执确定当前块的运动矢量差和参考运动矢量;
行机器可执行指令,以实现如下步骤:
确定当前块的运动矢量差和参考运动矢量;
将所述运动矢量差和所述参考运动矢量编入码流信息,得到携带有第一指示信息的码流信息,所述第一指示信息用于指示所述运动矢量差和所述参考运动矢量;
其中,对所述运动矢量差进行编码,包括:
对所述运动矢量差的第一分量的真值和第二分量的真值进行编码;
其中,对所述第二分量的真值进行编码,包括:
根据所述第一分量的真值或预设真值属性信息对所述第二分量的真值属性信息进行编码。
作为一种示例,也可以是实现如下步骤:
行机器可执行指令,以实现如下步骤:
确定当前块的矢量差信息和参考矢量信息;
将所述矢量差信息和所述参考矢量信息编入码流信息,得到携带有第一指示信息的码流信息,所述第一指示信息用于表示所述矢量差信息和所述参考矢量信息;
其中,对所述矢量差信息进行编码,包括:
确定当前块的矢量差信息和参考矢量信息;
将所述矢量差信息和所述参考矢量信息编入码流信息,得到携带有第一指示信息的码流信息,所述第一指示信息用于表示所述矢量差信息和所述参考矢量信息;
其中,对所述矢量差信息进行编码,包括:
对所述矢量差信息的第一分量的真值和第二分量的真值进行编码;
其中对所述第二分量的真值进行编码,包括:
根据所述第一分量的真值或预设真值属性信息对所述第二分量的真值属性信息进行编码;
其中,帧内块复制模式的ABVP和帧间预测模式的AMVP共用所述矢量差信息的编码语法元素;当编码决策帧内块复制模式时,所述参考矢量信息是当前块的参考块矢量,所述矢量差信息是当前块的块矢量差。当编码决策帧间预测模式时,所述参考矢量信息是当前块的参考运动矢量,所述矢量差信息是当前块的运动矢量差。
上述解码设备和编码提到的存储器可以包括随机存取存储器(Random AccessMemory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一解码方法或编码方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一解码方法或编码方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于编码方法、装置、编码设备、解码设备、计算机可读存储介质以及计算机程序产品的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (31)

1.一种解码方法,其特征在于,应用于解码端,所述方法包括:
获取码流信息,所述码流信息包括第一指示信息,所述第一指示信息用于指示当前块的块矢量差和参考块矢量;
根据所述第一指示信息,确定所述参考块矢量和所述块矢量差;
根据所述参考块矢量和所述块矢量差,确定所述当前块的最终块矢量;
其中,根据所述第一指示信息,确定所述块矢量差,包括:
根据所述第一指示信息,确定第一分量的真值和第二分量的真值,所述块矢量差包括所述第一分量和所述第二分量;
根据所述第一分量的真值和所述第二分量的真值,确定所述块矢量差;
其中,确定所述第二分量的真值包括:
根据所述第一分量的预设真值属性信息,对所述第二分量的预设真值属性信息进行解析;
所述预设真值属性信息包括真值是否等于0;
所述根据所述第一分量的预设真值属性信息,对所述第二分量的预设真值属性信息进行解析,包括:
根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行解析;
所述根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行解析,包括:
若所述第一分量的真值不等于0,对所述第二分量的真值是否等于0进行解析;
其中,所述真值是否等于0,包括:
所述真值的绝对值是否等于0,或者所述真值的绝对值是否大于0。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行解析,包括:
根据所述第一分量的真值等于0,确定所述第二分量的真值的绝对值大于0。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行解析,包括:
根据所述第一分量的真值不等于0,根据第一指示信息对所述第二分量的真值的是否为0进行解析。
4.根据权利要求2所述的方法,其特征在于,所述根据所述第一分量的真值等于0,确定所述第二分量的真值的绝对值大于0,包括:
根据所述第一分量的真值为0,不执行所述第二分量的真值是否为0的解析的步骤,将第二分量的预设真值属性信息确定为所述第二分量的真值的绝对值大于0。
5.根据权利要求1所述的方法,其特征在于,所述第一分量为横向分量,所述第二分量为纵向分量。
6.根据权利要求1所述的方法,其特征在于,所述第一分量为纵向分量,所述第二分量为横向分量。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述码流信息中携带的第二指示信息,所述第二指示信息用于指示所述块矢量差的横向分量和纵向分量的预设真值属性信息的解码顺序;
其中,若所述第二指示信息用于指示横向分量的预设真值属性信息先解码,则所述第一分量为横向分量,所述第二分量为纵向分量;
若所述第二指示信息用于指示纵向分量的预设真值属性信息先解码,则所述第一分量为纵向分量,所述第二分量为横向分量。
8.根据权利要求1所述的方法,其特征在于,所述码流信息还包括第三指示信息,所述第三指示信息用于指示对所述块矢量差的真值进行预设恢复操作;
根据所述第一分量的真值和所述第二分量的真值,确定所述矢量差包括:
根据所述第三指示信息,对所述块矢量差的真值进行恢复,将恢复后的真值,确定为所述块矢量差的真值;
其中,根据所述第三指示信息,对所述块矢量差的真值进行恢复,包括:
根据所述第三指示信息,确定对所述第一分量的真值进行恢复;或者,
根据所述第三指示信息,确定对所述第二分量的真值进行恢复;或者,
根据所述第三指示信息,确定对所述第一分量的真值和所述第二分量的真值进行恢复。
9.根据权利要求8所述的方法,其特征在于,
所述第三指示信息用于指示按照预设偏移方向信息对所述块矢量差的真值进行恢复;或者
所述第三指示信息用于指示按照预设偏移值和预设偏移方向信息对所述块矢量差的真值进行恢复。
10.根据权利要求1所述的方法,其特征在于,
所述根据所述第一指示信息,确定所述参考块矢量包括:
根据所述第一指示信息,确定所述参考块矢量在帧内块复制模式支持的高级块矢量预测模式ABVP候选列表中的索引信息;
根据所述索引信息,确定所述参考块矢量;
在确定所述当前块的块矢量之后,所述方法还包括:
根据当前块的最终块矢量,确定当前块的预测像素。
11.一种编码方法,其特征在于,应用于编码端,所述方法包括:
确定当前块的块矢量差和参考块矢量;
将所述块矢量差和所述参考块矢量编入码流信息,得到携带有第一指示信息的码流信息,所述第一指示信息用于指示所述块矢量差和所述参考块矢量;
其中,对所述块矢量差进行编码,包括:
对所述块矢量差的第一分量的真值和第二分量的真值进行编码;
其中对所述第二分量的真值进行编码,包括:
根据所述第一分量的真值或预设真值属性信息对所述第二分量的预设真值属性信息进行编码;
所述预设真值属性信息包括真值是否等于0;
所述根据第一分量的真值或预设真值属性信息对所述第二分量的预设真值属性信息进行编码,包括:
根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行编码;
所述根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行解析,包括:
若所述第一分量的真值不等于0,对所述第二分量的真值是否等于0进行解析;
其中,所述真值是否等于0,包括:
所述真值的绝对值是否等于0,或者所述真值的绝对值是否大于0。
12.根据权利要求11所述的方法,其特征在于,所述根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行编码,包括:
根据所述第一分量的真值等于0,确定所述第二分量的真值的绝对值大于0,不执行对所述第二分量的真值是否等于0的真值属性信息进行编码的步骤,将第二分量的预设真值属性信息确定为所述第二分量的真值的绝对值大于0。
13.根据权利要求11所述的方法,其特征在于,所述根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行编码,包括:
根据所述第一分量的真值不等于0,对所述第二分量的真值是否等于0的真值属性信息进行编码。
14.根据权利要求11所述的方法,其特征在于,所述第一分量为横向分量,所述第二分量为纵向分量。
15.根据权利要求11所述的方法,其特征在于,所述第一分量为纵向分量,所述第二分量为横向分量。
16.根据权利要求11所述的方法,其特征在于,所述方法还包括:
确定第二指示信息,所述第二指示信息用于指示块矢量差的横向分量和纵向分量的预设真值属性信息的编码顺序;
其中,若所述编码顺序用于指示横向分量的预设真值属性信息先编码,则所述第一分量为横向分量,第二分量为纵向分量;
若所述编码顺序用于指示纵向分量的预设真值属性信息先编码,则所述第一分量为纵向分量,第二分量为横向分量;
将所述第二指示信息携带在所述码流信息中。
17.根据权利要求11所述的方法,其特征在于,在所述对所述块矢量差进行编码之前,所述方法还包括:
对所述块矢量差的真值进行预设变换操作,将变换后的真值,确定为所述块矢量差的真值;
所述对所述第二分量的真值进行编码,还包括:
根据所述预设变换操作,生成第三指示信息,所述第三指示信息用于指示解码端对所述块矢量差变换后的真值进行预设恢复操作,所述预设恢复操作为所述预设变换操作的逆操作;
将所述第三指示信息携带在所述码流信息中;
其中,所述预设变换操作用于对所述第一分量变换后的真值进行变换;或者,
所述预设变换操作用于对所述第二分量变换后的真值进行变换;或者,
所述预设变换操作用于对所述第一分量变换后的真值和所述第二分量的变换后的真值进行变换。
18.根据权利要求17所述的方法,其特征在于,所述第三指示信息用于指示按照预设偏移方向信息对所述块矢量差变换后的真值进行恢复;或者
所述第三指示信息用于指示按照预设偏移值和预设偏移方向信息对所述块矢量差变换后的真值进行恢复。
19.根据权利要求11所述的方法,其特征在于,所述确定当前块的块矢量差,包括:
若当前块启动帧内块复制模式,且按照ABVP模式以所述参考块矢量为搜索起始点,搜索最终块矢量差,作为当前块的块矢量差,
若搜索到的所述最终块矢量差为(0,0),将所述ABVP模式的搜索结果改为对应的指向相同参考块矢量的融合模式,不再执行融合模式决策。
20.根据权利要求11所述的方法,其特征在于,所述确定当前块的块矢量差,包括:
若当前块启动帧内块复制模式,且按照ABVP模式在一定搜索范围内搜索最终块矢量差作为当前块的块矢量差,搜索过程跳过参考块矢量指向的位置。
21.一种解码方法,其特征在于,应用于解码端,所述方法包括:
获取码流信息,所述码流信息包括第一指示信息,所述第一指示信息用于指示当前块的运动矢量差和参考运动矢量;
根据所述第一指示信息,确定所述运动矢量差和所述参考运动矢量;
根据所述运动矢量差和所述参考运动矢量,确定所述当前块的最终运动矢量;
其中,根据所述第一指示信息,确定所述运动矢量差,包括:
根据所述第一指示信息,确定第一分量的真值和第二分量的真值,所述运动矢量包括所述第一分量和所述第二分量;
根据所述第一分量的真值和所述第二分量的真值,确定所述运动矢量差;
其中,确定所述第二分量的真值包括:
根据所述第一分量的预设真值属性信息,对所述第二分量的预设真值属性信息进行解析;
所述预设真值属性信息包括真值是否等于0;
所述根据所述第一分量的预设真值属性信息,对所述第二分量的预设真值属性信息进行解析,包括:
根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行解析;
所述根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行解析,包括:
若所述第一分量的真值不等于0,对所述第二分量的真值是否等于0进行解析;
其中,所述真值是否等于0,包括:
所述真值的绝对值是否等于0,或者所述真值的绝对值是否大于0。
22.一种编码方法,其特征在于,应用编码端,所述方法包括:
确定当前块的运动矢量差和参考运动矢量;
将所述运动矢量差和所述参考运动矢量编入码流信息,得到携带有第一指示信息的码流信息,所述第一指示信息用于指示所述运动矢量差和所述参考运动矢量;
其中,对所述运动矢量差进行编码,包括:
对所述运动矢量差的第一分量的真值和第二分量的真值进行编码;
其中,对所述第二分量的真值进行编码,包括:
根据所述第一分量的真值或预设真值属性信息对所述第二分量的真值属性信息进行编码;
所述预设真值属性信息包括真值是否等于0;
所述根据第一分量的真值或预设真值属性信息对所述第二分量的预设真值属性信息进行编码,包括:
根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行编码;
所述根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行解析,包括:
若所述第一分量的真值不等于0,对所述第二分量的真值是否等于0进行解析;
其中,所述真值是否等于0,包括:
所述真值的绝对值是否等于0,或者所述真值的绝对值是否大于0。
23.一种解码方法,其特征在于,应用于解码端,所述方法包括:
获取码流信息,所述码流信息包括第一指示信息,所述第一指示信息用于指示当前块的矢量差信息和参考矢量信息;
根据所述第一指示信息,确定所述矢量差信息和所述参考矢量信息;
根据所述矢量差信息和所述参考矢量信息,确定所述当前块的最终运动矢量信息;
其中,根据所述第一指示信息,确定所述矢量差信息,包括:
根据所述第一指示信息,确定第一分量的真值和第二分量的真值,所述运动矢量包括所述第一分量和所述第二分量;
根据所述第一分量的真值和所述第二分量的真值,确定所述矢量差信息;
其中,确定所述第二分量的真值包括:
根据所述第一分量的预设真值属性信息,对所述第二分量的预设真值属性信息进行解析;
其中,帧内块复制模式的ABVP模式和帧间预测的AMVP模式共用所述矢量差信息的语法元素解码方案;当根据所述码流信息确定当前块启动帧内块复制模式时,根据所述第一指示信息确定的所述参考矢量信息是当前块的参考块矢量,根据所述第一指示信息确定的所述矢量差信息是当前块的块矢量差,根据所述参考矢量信息和所述矢量差信息确定的所述最终运动矢量信息是当前块的最终块矢量;
所述预设真值属性信息包括真值是否等于0;
所述根据所述第一分量的预设真值属性信息,对所述第二分量的预设真值属性信息进行解析,包括:
根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行解析;
所述根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行解析,包括:
若所述第一分量的真值不等于0,对所述第二分量的真值是否等于0进行解析;
其中,所述真值是否等于0,包括:
所述真值的绝对值是否等于0,或者所述真值的绝对值是否大于0。
24.根据权利要求23所述的方法,其特征在于,
当根据所述码流信息确定当前块启动帧间预测模式时,根据所述第一指示信息确定的所述参考矢量信息是当前块的参考运动矢量,根据所述第一指示信息确定的所述矢量差信息是当前块的运动矢量差,根据所述参考矢量信息和所述矢量差信息确定的所述最终运动矢量信息是当前块的最终运动矢量。
25.一种编码方法,其特征在于,应用于编码端,所述方法包括:
确定当前块的矢量差信息和参考矢量信息;
将所述矢量差信息和所述参考矢量信息编入码流信息,得到携带有第一指示信息的码流信息,所述第一指示信息用于表示所述矢量差信息和所述参考矢量信息;
其中,对所述矢量差信息进行编码,包括:
对所述矢量差信息的第一分量的真值和第二分量的真值进行编码;
其中对所述第二分量的真值进行编码,包括:
根据所述第一分量的真值或预设真值属性信息对所述第二分量的真值属性信息进行编码;
其中,帧内块复制模式的ABVP和帧间预测模式的AMVP共用所述矢量差信息的编码语法元素;当编码决策帧内块复制模式时,所述参考矢量信息是当前块的参考块矢量,所述矢量差信息是当前块的块矢量差;
所述预设真值属性信息包括真值是否等于0;
所述根据第一分量的真值或预设真值属性信息对所述第二分量的预设真值属性信息进行编码,包括:
根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行编码;
所述根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行解析,包括:
若所述第一分量的真值不等于0,对所述第二分量的真值是否等于0进行解析;
其中,所述真值是否等于0,包括:
所述真值的绝对值是否等于0,或者所述真值的绝对值是否大于0。
26.一种解码装置,其特征在于,应用于解码端,所述装置包括:
码流获取模块,用于获取码流信息,所述码流信息包括第一指示信息,所述第一指示信息用于指示当前块的块矢量差和参考块矢量;
解码模块,用于根据所述第一指示信息,确定所述参考块矢量和所述块矢量差;
确定模块,用于根据所述参考块矢量和所述块矢量差,确定所述当前块的最终块矢量;
其中,根据所述第一指示信息,确定所述块矢量差,包括:
根据所述第一指示信息,确定第一分量的真值和第二分量的真值,所述块矢量差包括所述第一分量和所述第二分量;
根据所述第一分量的真值和所述第二分量的真值,确定所述块矢量差;
其中,确定所述第二分量的真值包括:
根据所述第一分量的预设真值属性信息,对所述第二分量的预设真值属性信息进行解析;
所述预设真值属性信息包括真值是否等于0;
其中,根据所述第一分量的预设真值属性信息,对所述第二分量的预设真值属性信息进行解析,包括:
根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行解析;
所述根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行解析,包括:
若所述第一分量的真值不等于0,对所述第二分量的真值是否等于0进行解析;
其中,所述真值是否等于0,包括:
所述真值的绝对值是否等于0,或者所述真值的绝对值是否大于0。
27.一种编码装置,其特征在于,应用于编码端,所述装置包括:
确定模块,用于确定当前块的块矢量差和参考块矢量;
编码模块,用于将所述块矢量差和所述参考块矢量编入码流信息,得到携带有第一指示信息的码流信息,所述第一指示信息用于指示所述块矢量差和所述参考块矢量;
其中,对所述块矢量差进行编码,包括:
对所述块矢量差的第一分量的真值和第二分量的真值进行编码;
其中对所述第二分量的真值进行编码,包括:
根据所述第一分量的真值或预设真值属性信息对所述第二分量的预设真值属性信息进行编码;
所述预设真值属性信息包括真值是否等于0;
其中,根据第一分量的真值或预设真值属性信息对所述第二分量的预设真值属性信息进行编码,包括:
根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行编码;
所述根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行解析,包括:
若所述第一分量的真值不等于0,对所述第二分量的真值是否等于0进行解析;
其中,所述真值是否等于0,包括:
所述真值的绝对值是否等于0,或者所述真值的绝对值是否大于0。
28.一种解码装置,其特征在于,所述装置包括:
码流获取模块,用于获取码流信息,所述码流信息包括第一指示信息,所述第一指示信息用于指示当前块的运动矢量差和参考运动矢量;
解码模块,用于根据所述第一指示信息,确定所述运动矢量差和所述参考运动矢量;
确定模块,用于根据所述运动矢量差和所述参考运动矢量,确定所述当前块的最终运动矢量;
其中,根据所述第一指示信息,确定所述运动矢量差,包括:
根据所述第一指示信息,确定第一分量的真值和第二分量的真值,所述运动矢量包括所述第一分量和所述第二分量;
根据所述第一分量的真值和所述第二分量的真值,确定所述运动矢量差;
其中,确定所述第二分量的真值包括:
根据所述第一分量的预设真值属性信息,对所述第二分量的预设真值属性信息进行解析;
所述预设真值属性信息包括真值是否等于0;
其中,根据所述第一分量的预设真值属性信息,对所述第二分量的预设真值属性信息进行解析,包括:
根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行解析;
所述根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行解析,包括:
若所述第一分量的真值不等于0,对所述第二分量的真值是否等于0进行解析;
其中,所述真值是否等于0,包括:
所述真值的绝对值是否等于0,或者所述真值的绝对值是否大于0。
29.一种编码装置,其特征在于,应用于编码端,所述装置包括:
确定模块,用于确定当前块的运动矢量差和参考运动矢量;
编码模块,用于将所述运动矢量差和所述参考运动矢量编入码流信息,得到携带有第一指示信息的码流信息,所述第一指示信息用于指示所述运动矢量差和所述参考运动矢量;
其中,对所述运动矢量差进行编码,包括:
对所述运动矢量差的第一分量的真值和第二分量的真值进行编码;
其中,对所述第二分量的真值进行编码,包括:
根据所述第一分量的真值或预设真值属性信息对所述第二分量的真值属性信息进行编码;
所述预设真值属性信息包括真值是否等于0;
其中,根据第一分量的真值或预设真值属性信息对所述第二分量的预设真值属性信息进行编码,包括:
根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行编码;
所述根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行解析,包括:
若所述第一分量的真值不等于0,对所述第二分量的真值是否等于0进行解析;
其中,所述真值是否等于0,包括:
所述真值的绝对值是否等于0,或者所述真值的绝对值是否大于0。
30.一种解码装置,其特征在于,用于解码端,所述装置包括:
码流获取模块,用于获取码流信息,所述码流信息包括第一指示信息,所述第一指示信息用于指示当前块的矢量差信息和参考矢量信息;
解码模块,用于根据所述第一指示信息,确定所述矢量差信息和所述参考矢量信息;
确定模块,用于根据所述矢量差信息和所述参考矢量信息,确定所述当前块的最终运动矢量信息;
其中,根据所述第一指示信息,确定所述矢量差信息,包括:
根据所述第一指示信息,确定第一分量的真值和第二分量的真值,所述运动矢量包括所述第一分量和所述第二分量;
根据所述第一分量的真值和所述第二分量的真值,确定所述矢量差信息;
其中,确定所述第二分量的真值包括:
根据所述第一分量的预设真值属性信息,对所述第二分量的预设真值属性信息进行解析;
其中,帧内块复制模式的ABVP模式和帧间预测的AMVP模式共用所述矢量差信息的语法元素解码方案;当根据所述码流信息确定当前块启动帧内块复制模式时,根据所述第一指示信息确定的所述参考矢量信息是当前块的参考块矢量,根据所述第一指示信息确定的所述矢量差信息是当前块的块矢量差,根据所述参考矢量信息和所述矢量差信息确定的所述最终运动矢量信息是当前块的最终块矢量;
所述预设真值属性信息包括真值是否等于0;
其中,根据所述第一分量的预设真值属性信息,对所述第二分量的预设真值属性信息进行解析,包括:
根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行解析;
所述根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行解析,包括:
若所述第一分量的真值不等于0,对所述第二分量的真值是否等于0进行解析;
其中,所述真值是否等于0,包括:
所述真值的绝对值是否等于0,或者所述真值的绝对值是否大于0。
31.一种编码装置,其特征在于,所述装置包括:
确定模块,用于确定当前块的矢量差信息和参考矢量信息;
编码模块,用于将所述矢量差信息和所述参考矢量信息编入码流信息,得到携带有第一指示信息的码流信息,所述第一指示信息用于表示所述矢量差信息和所述参考矢量信息;
其中,对所述矢量差信息进行编码,包括:
对所述矢量差信息的第一分量的真值和第二分量的真值进行编码;
其中对所述第二分量的真值进行编码,包括:
根据所述第一分量的真值或预设真值属性信息对所述第二分量的真值属性信息进行编码;
其中,帧内块复制模式的ABVP和帧间预测模式的AMVP共用所述矢量差信息的编码语法元素;当编码决策帧内块复制模式时,所述参考矢量信息是当前块的参考块矢量,所述矢量差信息是当前块的块矢量差;
所述预设真值属性信息包括真值是否等于0;
其中,根据第一分量的真值或预设真值属性信息对所述第二分量的预设真值属性信息进行编码,包括:
根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行编码;
所述根据所述第一分量的真值是否等于0,对所述第二分量的真值是否等于0进行解析,包括:
若所述第一分量的真值不等于0,对所述第二分量的真值是否等于0进行解析;
其中,所述真值是否等于0,包括:
所述真值的绝对值是否等于0,或者所述真值的绝对值是否大于0。
CN201910364638.6A 2019-04-30 2019-04-30 一种矢量差解码方法、装置及电子设备 Active CN111866515B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910364638.6A CN111866515B (zh) 2019-04-30 2019-04-30 一种矢量差解码方法、装置及电子设备
PCT/CN2020/087887 WO2020221317A1 (zh) 2019-04-30 2020-04-29 一种矢量差解码方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910364638.6A CN111866515B (zh) 2019-04-30 2019-04-30 一种矢量差解码方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN111866515A CN111866515A (zh) 2020-10-30
CN111866515B true CN111866515B (zh) 2022-03-04

Family

ID=72966165

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910364638.6A Active CN111866515B (zh) 2019-04-30 2019-04-30 一种矢量差解码方法、装置及电子设备

Country Status (2)

Country Link
CN (1) CN111866515B (zh)
WO (1) WO2020221317A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024077572A1 (zh) * 2022-10-13 2024-04-18 Oppo广东移动通信有限公司 编解码方法、编码器、解码器以及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009111647A (ja) * 2007-10-29 2009-05-21 Panasonic Corp 動きベクトル検出装置および動きベクトル検出方法
CN103190151A (zh) * 2010-08-17 2013-07-03 吴秀美 帧间预测编码方法
CN105392008A (zh) * 2014-08-22 2016-03-09 中兴通讯股份有限公司 一种预测编、解码方法和相应的编、解码器和电子设备
CN106576172A (zh) * 2014-06-20 2017-04-19 成均馆大学校产学协力团 用于编码/解码图像的方法和使用该方法的装置
CN107211136A (zh) * 2015-01-30 2017-09-26 联发科技股份有限公司 具有大字母表的源样本的熵编码的方法与装置
CN109196864A (zh) * 2016-05-24 2019-01-11 韩国电子通信研究院 图像编码/解码方法和用于所述方法的记录介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150098504A1 (en) * 2013-10-09 2015-04-09 Qualcomm Incorporated Block vector coding for intra block copying
US9930341B2 (en) * 2014-06-20 2018-03-27 Qualcomm Incorporated Block vector coding for intra block copying

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009111647A (ja) * 2007-10-29 2009-05-21 Panasonic Corp 動きベクトル検出装置および動きベクトル検出方法
CN103190151A (zh) * 2010-08-17 2013-07-03 吴秀美 帧间预测编码方法
CN106576172A (zh) * 2014-06-20 2017-04-19 成均馆大学校产学协力团 用于编码/解码图像的方法和使用该方法的装置
CN105392008A (zh) * 2014-08-22 2016-03-09 中兴通讯股份有限公司 一种预测编、解码方法和相应的编、解码器和电子设备
CN107211136A (zh) * 2015-01-30 2017-09-26 联发科技股份有限公司 具有大字母表的源样本的熵编码的方法与装置
CN109196864A (zh) * 2016-05-24 2019-01-11 韩国电子通信研究院 图像编码/解码方法和用于所述方法的记录介质

Also Published As

Publication number Publication date
CN111866515A (zh) 2020-10-30
WO2020221317A1 (zh) 2020-11-05

Similar Documents

Publication Publication Date Title
CN113455003B (zh) 视频编解码方法及电子设备
KR102344430B1 (ko) 다중 참조 예측을 위한 움직임 벡터 개선
US11044482B2 (en) Method for encoding/decoding image and device using same
RU2513707C1 (ru) Способ и устройство для кодирования и декодирования вектора движения
KR101855542B1 (ko) 예제 기반 데이터 프루닝을 이용한 비디오 부호화
EP3197165A1 (en) Image prediction method and relevant device
JP5559139B2 (ja) 映像の符号化、復号化の方法及び装置
KR20110017301A (ko) 움직임 벡터를 부호화하는 방법 및 장치
GB2487200A (en) Video encoding and decoding with improved error resilience
KR20090095012A (ko) 연속적인 움직임 추정을 이용한 영상 부호화, 복호화 방법및 장치
US9094683B2 (en) Method of coding moving image and method of decoding moving image
US20240114151A1 (en) Method for encoding/decoding image and device using same
Abou-Elailah et al. Fusion of global and local motion estimation for distributed video coding
EP4037320A1 (en) Boundary extension for video coding
CN111418214A (zh) 使用重建像素点的语法预测
CN111866515B (zh) 一种矢量差解码方法、装置及电子设备
KR100928325B1 (ko) 영상의 부호화, 복호화 방법 및 장치
CN116033162A (zh) 率失真编码模式的选择方法及装置、编码方法及***
Zuo et al. Library based coding for videos with repeated scenes
CN112261409A (zh) 残差编码、解码方法及装置、存储介质及电子装置
JP2007510344A (ja) 電力最適化された配列動き予測方法
WO2007029914A1 (en) Video encoding/decoding method and apparatus in temporal direct mode in hierarchica structure
WO2023051645A1 (en) Method, apparatus, and medium for video processing
WO2024131979A1 (en) Method, apparatus, and medium for video processing
KR20080068277A (ko) 움직임 추정을 이용한 영상의 부호화, 복호화 방법 및 장치

Legal Events

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