CN103079067B - 运动矢量预测值列表构建方法和视频编解码方法及装置 - Google Patents
运动矢量预测值列表构建方法和视频编解码方法及装置 Download PDFInfo
- Publication number
- CN103079067B CN103079067B CN201310007667.XA CN201310007667A CN103079067B CN 103079067 B CN103079067 B CN 103079067B CN 201310007667 A CN201310007667 A CN 201310007667A CN 103079067 B CN103079067 B CN 103079067B
- Authority
- CN
- China
- Prior art keywords
- motion vector
- vector predictor
- list
- spatial domain
- image block
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
Abstract
本发明实施例公开了运动矢量预测值列表构建方法和视频编解码方法及相关装置。一种运动矢量预测值列表构建方法包括:获得第一图像块对应的N个运动矢量预测值;构建第一图像块对应的运动矢量预测值列表,运动矢量预测值列表记录了N个运动矢量预测值,N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,零值运动矢量预测值和M个空域运动矢量预测值在运动矢量预测值列表中的位置位于时域运动矢量预测值之前,零值运动矢量预测值所指向的参考图像来自于与第一图像块所在图像层不同的图像层,运动矢量预测值列表中越靠前的位置所对应的索引号越小。本发明实施例提供的方案有利于提升视频压缩编码性能。
Description
技术领域
本发明涉及图像处理技术领域,具体涉及运动矢量预测值列表构建方法和视频编解码方法及装置。
背景技术
随着光电采集技术的发展及不断增长的高清数字视频需求,视频数据量越来越大,有限异构的传输带宽、多样化的视频应用不断地对视频编码效率提出了更高的需求,高性能视频编码(HEVC,HighEfficientVideoCoding)标准的制定工作因需启动。
视频编码压缩的基本原理是利用空域、时域和码字之间的相关性,尽可能去除冗余。目前流行做法是采用基于块的混合视频编码框架,通过预测(包括帧内预测和帧间预测)、变换、量化、熵编码等步骤实现视频编码压缩。这种编码框架,显示了很强的生命力,HEVC也仍沿用这种基于块的混合视频编码框架。
在上述编码框架中,视频序列(sequence)包括一系列图像(picture),图像被进一步划分为切片(slice),slice再被划分为块(block)。视频编码以块为单位,可从picture的左上角位置开始从左到右从上到下一行一行进行编码处理。在一些新的视频编码标准中,Block的概念被进一步扩展。在H.264标准中有宏块(MB,MacroBlock),MB可进一步划分成多个预测块(partition,可用于预测编码),在HEVC标准中,采用编码单元(CU,CodingUnit),预测单元(PU,PredictionUnit)和变换单元(TU,TransformUnit)等基本概念,从功能上划分了多种Unit,并采用全新的基于树结构进行描述。比如CU可以按照四叉树进行划分为更小的CU,而更小的CU还可以继续划分,从而形成一种四叉树结构。对于PU和TU也有类似的树结构。无论CU,PU还是TU,本质上都属于块block的概念,CU类似于宏块MB或编码块,是对编码图像进行划分和编码的基本单元;PU可对应预测块,是预测编码的基本单元。对CU按照划分模式进一步划分成多个PU;TU可对应变换块,是对预测残差进行变换的基本单元。HEVC标准中则可把它们统称为编码树块(CTB,CodingTreeBlock)等。
帧间预测基于运动补偿预测(MCP,MotionCompensatedPrediction)的机制进行。当前图像块根据运动矢量(MV,Motionvector)在参考图像中找到对应的参考块,该参考块作为当前图像块的一个预测值。在双向预测编码中当前图像块有两个或多个运动矢量,可以利用这些运动矢量从两个或多个参考图像中获得多个参考块,利用这些参考块获得当前图像块的预测值,比如他们的平均值作为当前图像块的预测值。当前picture编码允许有多个参考图象,这多个参考图象可形成一个参考图象列表(RefPicList),可从RefPicList中选择一个作为当前图像块的参考图象进行预测编码。当前编码块的运动矢量指向该参考图象。如Pslice编码时,有一个参考图象列表,Pslice中的block的运动矢量指向该参考图象列表中的一个参考图象;而对于Bslice允许有最多2个参考图象列表,Bslice中的block允许有两个MV,分别指向这两个参考图象列表中的参考图象。
实践中为节约对当前图像块的运动矢量的编码比特开销,可采用MV预测+编码预测差值的方法进行。可通过MV预测技术获得当前图像块的运动矢量预测值(MVP,MVpredictor)。MV预测在编码和解码过程中都执行,以获得相同的MVP,实现编码和解码的匹配。
HEVC标准中的扩展编码(SVC,Scalablevideocoding)标准是一种分层编码技术,支持多层(multi-layer)编码,支持视频在空域、时域和信噪比等方面的可伸缩性。SVC标准涉及的层(layer)可分为基本层(BL,BaseLayer)和增强层(EL,EnhancementLayer),其中,增强层的数量可包括多个。对于EL的编码,除了可利用当前layer中的空域和时域预测技术外,还了利用层间预测(ILP,inter-layerprediction)技术。每个layer是一个视频序列,多个层具有相同或相近的视频内容,各层间存在很大的相关性。ILP技术可很好地去除这些相关性,提高增强层的编码压缩性能。
在HEVCSVC的一种实现方式中,可以把BL的图像作为EL的一个额外参考图像。这种情况下零(Zero)值MVP可能指向来自于BL的参考图像。而现有技术的机制中并未充分利用zeroMVP的作用。只在MVP个数不满足MVPlist的长度要求时才将zeroMVP加入MVPlist的末尾。研究和实践发现,现有技术不能很好的适应SVC编码的特性,限制了压缩编码性能的提升。
发明内容
本发明实施例提供运动矢量预测值列表构建方法和视频编解码方法及相关装置,以期提升视频压缩编码性能。
本发明第一方面提供一种运动矢量预测值列表构建方法,可包括:
获得第一图像块对应的N个运动矢量预测值;
构建所述第一图像块对应的运动矢量预测值列表,其中,所述运动矢量预测值列表记录了所述N个运动矢量预测值,所述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,所述零值运动矢量预测值和所述M个空域运动矢量预测值在所述运动矢量预测值列表中的位置位于所述时域运动矢量预测值之前,所述零值运动矢量预测值所指向的参考图像来自于与所述第一图像块所在图像层不同的图像层,所述运动矢量预测值列表中越靠前的位置所对应的索引号越小。
结合第一方面,在第一种可能的实施方式中,
所述零值运动矢量预测值在所述运动矢量预测值列表中的位置位于所述M个空域运动矢量预测值之前;或者,所述零值运动矢量预测值在所述运动矢量预测值列表中的位置位于第一空域运动矢量预测值和第二空域运动矢量预测值之间,所述M个空域运动矢量预测值包括所述第一空域运动矢量预测值和所述第二空域运动矢量预测值。
结合第一方面或第一方面的第一种可能的实施方式,在第二种可能的实施方式中,所述N个运动矢量预测值还包括层间运动矢量预测值,其中,所述层间运动矢量预测值位于所述运动矢量预测值列表中的起始位置。
结合第一方面或第一方面的第一种可能的实施方式或第一方面的第二种可能的实施方式,在第三种可能的实施方式中,所述零值运动矢量预测值所指向的参考图像,来自于所述第一图像块所在图像层的相邻图像层。
结合第一方面或第一方面的第一种可能的实施方式或第一方面的第二种可能的实施方式,在第四种可能的实施方式中,所述零值运动矢量预测值所指向的参考图像来自于基本层。
本发明第二方面提供一种运动矢量预测值列表构建方法,包括:
获得第一图像块对应的N个运动矢量预测值;
构建所述第一图像块对应的运动矢量预测值列表,其中,所述运动矢量预测值列表记录了所述N个运动矢量预测值,所述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,用于指示所述零值运动矢量预测值在所述运动矢量预测值列表中所处位置的第一位置指示的比特数,小于用于指示所述时域运动矢量预测值在所述运动矢量预测值列表中所处位置的第二位置指示的比特数;用于指示第一空域运动矢量预测值在所述运动矢量预测值列表中所处位置的第三位置指示的比特数,小于用于指示所述时域运动矢量预测值在所述运动矢量预测值列表中所处位置的第二位置指示的比特数,其中,所述第一空域运动矢量预测值为所述M个空域运动矢量预测值中的任意一个,所述零值运动矢量预测值所指向的参考图像来自于与所述第一图像块所在图像层不同的图像层。
结合第二方面,在第一种可能的实施方式中,
所述第一位置指示的比特数小于所述第三位置指示的比特数;或者,所述第一位置指示的比特数大于第四位置指示的比特数且小于第五位置指示的比特数,其中,所述第四位置指示用于指示第二空域运动矢量预测值在所述运动矢量预测值列表中所处位置,所述第五位置指示用于指示第三空域运动矢量预测值在所述运动矢量预测值列表中所处位置,所述M个空域运动矢量预测值包括所述第二空域运动矢量预测值和所述第三空域运动矢量预测值。
结合第二方面或第二方面的第一种可能的实施方式,在第二种可能的实施方式中,所述N个运动矢量预测值还包括层间运动矢量预测值,其中,第六位置指示的比特数小于第三位置指示的比特数和第二位置指示的比特数,所述第六位置指示用于指示所述层间运动矢量预测值在所述运动矢量预测值列表中所处位置。
本发明第三方面提供一种视频编码方法,包括:
获得第一图像块对应的N个运动矢量预测值;
构建所述第一图像块对应的运动矢量预测值列表,其中,所述运动矢量预测值列表记录了所述N个运动矢量预测值,所述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,所述零值运动矢量预测值和所述M个空域运动矢量预测值在所述运动矢量预测值列表中的位置位于所述时域运动矢量预测值之前,所述零值运动矢量预测值所指向的参考图像来自于与所述第一图像块所在图像层不同的图像层,所述运动矢量预测值列表中越靠前的位置所对应的索引号越小;
基于所述运动矢量预测值列表确定所述第一图像块的运动矢量预测值;
基于确定出的所述第一图像块的运动矢量预测值对所述第一图像块进行编码。
结合第三方面,在第一种可能的实施方式中,
所述零值运动矢量预测值在所述运动矢量预测值列表中的位置位于所述M个空域运动矢量预测值之前;或者,所述零值运动矢量预测值在所述运动矢量预测值列表中的位置位于第一空域运动矢量预测值和第二空域运动矢量预测值之间,所述M个空域运动矢量预测值包括所述第一空域运动矢量预测值和所述第二空域运动矢量预测值。
结合第三方面或第三方面的第一种可能的实施方式,在第二种可能的实施方式中,所述N个运动矢量预测值还包括层间运动矢量预测值,其中,所述层间运动矢量预测值位于所述运动矢量预测值列表中的起始位置。
本发明第四方面提供一种视频解码方法,包括:
接收已编码的第一图像块和第一位置指示,其中,所述第一位置指示用于指示出第一图像块的运动矢量预测值在运动矢量预测值列表中所处位置;
获得所述第一图像块对应的N个运动矢量预测值;
构建所述第一图像块对应的运动矢量预测值列表,其中,所述运动矢量预测值列表记录了所述N个运动矢量预测值,所述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,所述零值运动矢量预测值和所述M个空域运动矢量预测值在所述运动矢量预测值列表中的位置位于所述时域运动矢量预测值之前,所述零值运动矢量预测值所指向的参考图像来自于与所述第一图像块所在图像层不同的图像层,所述运动矢量预测值列表中越靠前的位置所对应的索引号越小;
基于所述第一位置指示和所述运动矢量预测值列表确定所述第一图像块的运动矢量预测值;
基于确定出的所述第一图像块的运动矢量预测值对所述第一图像块进行解码。
结合第四方面,在第一种可能的实施方式中,
所述零值运动矢量预测值在所述运动矢量预测值列表中的位置位于所述M个空域运动矢量预测值之前;或者,所述零值运动矢量预测值在所述运动矢量预测值列表中的位置位于第一空域运动矢量预测值和第二空域运动矢量预测值之间,所述M个空域运动矢量预测值包括所述第一空域运动矢量预测值和所述第二空域运动矢量预测值。
结合第四方面或第四方面的第一种可能的实施方式,在第二种可能的实施方式中,所述N个运动矢量预测值还包括层间运动矢量预测值,其中,所述层间运动矢量预测值位于所述运动矢量预测值列表中的起始位置。
本发明第五方面提供一种运动矢量预测值列表构建装置,包括:
获得单元,用于获得第一图像块对应的N个运动矢量预测值;
第一列表构建单元,用于构建所述第一图像块对应的运动矢量预测值列表,其中,所述运动矢量预测值列表记录了所述N个运动矢量预测值,所述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,所述零值运动矢量预测值和所述M个空域运动矢量预测值在所述运动矢量预测值列表中的位置位于所述时域运动矢量预测值之前,所述零值运动矢量预测值所指向的参考图像来自于与所述第一图像块所在图像层不同的图像层,所述运动矢量预测值列表中越靠前的位置所对应的索引号越小。
结合第五方面,在第一种可能的实施方式中,所述获得单元获得的所述零值运动矢量预测值所指向的参考图像来自于基本层。
本发明第六方面提供一种运动矢量预测值列表构建装置,包括:
获得单元,获得第一图像块对应的N个运动矢量预测值;
第二列表构建单元,用于构建所述第一图像块对应的运动矢量预测值列表,其中,所述运动矢量预测值列表记录了所述N个运动矢量预测值,所述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,用于指示所述零值运动矢量预测值在所述运动矢量预测值列表中所处位置的第一位置指示的比特数,小于用于指示所述时域运动矢量预测值在所述运动矢量预测值列表中所处位置的第二位置指示的比特数;用于指示第一空域运动矢量预测值在所述运动矢量预测值列表中所处位置的第三位置指示的比特数,小于用于指示所述时域运动矢量预测值在所述运动矢量预测值列表中所处位置的第二位置指示的比特数,其中,所述第一空域运动矢量预测值为所述M个空域运动矢量预测值中的任意一个,所述零值运动矢量预测值所指向的参考图像来自于与所述第一图像块所在图像层不同的图像层。
结合第六方面,在第一种可能的实施方式中,所述获得单元获得的所述零值运动矢量预测值所指向的参考图像来自于基本层。
本发明第七方面提供一种视频编码器,包括:
获得单元,用于获得第一图像块对应的N个运动矢量预测值;
第一列表构建单元,用于构建所述第一图像块对应的运动矢量预测值列表,其中,所述运动矢量预测值列表记录了所述N个运动矢量预测值,所述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,所述零值运动矢量预测值和所述M个空域运动矢量预测值在所述运动矢量预测值列表中的位置位于所述时域运动矢量预测值之前,所述零值运动矢量预测值所指向的参考图像来自于与所述第一图像块所在图像层不同的图像层,所述运动矢量预测值列表中越靠前的位置所对应的索引号越小;
运动矢量预测值确定单元,用于基于所述运动矢量预测值列表确定所述第一图像块的运动矢量预测值;
编码单元,用于基于所述运动矢量预测值确定单元确定出的所述第一图像块的运动矢量预测值对所述第一图像块进行编码。
结合第七方面,在第一种可能的实施方式中,所述零值运动矢量预测值在所述运动矢量预测值列表中的位置位于所述M个空域运动矢量预测值之前;或者,所述零值运动矢量预测值在所述运动矢量预测值列表中的位置位于第一空域运动矢量预测值和第二空域运动矢量预测值之间,所述M个空域运动矢量预测值包括所述第一空域运动矢量预测值和所述第二空域运动矢量预测值。
本发明第八方面提供一种视频解码器,包括:
接收单元,用于接收已编码的第一图像块和第一位置指示,其中,所述第一位置指示用于指示出第一图像块的运动矢量预测值在运动矢量预测值列表中所处位置;
获得单元,用于获得所述第一图像块对应的N个运动矢量预测值;
第一列表构建单元,用于构建所述第一图像块对应的运动矢量预测值列表,其中,所述运动矢量预测值列表记录了所述N个运动矢量预测值,所述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,所述零值运动矢量预测值和所述M个空域运动矢量预测值在所述运动矢量预测值列表中的位置位于所述时域运动矢量预测值之前,所述零值运动矢量预测值所指向的参考图像来自于与所述第一图像块所在图像层不同的图像层,所述运动矢量预测值列表中越靠前的位置所对应的索引号越小;
运动矢量预测值确定单元,用于基于所述第一位置指示和所述运动矢量预测值列表确定所述第一图像块的运动矢量预测值;
解码单元,用于基于所述运动矢量预测值确定单元确定出的所述第一图像块的运动矢量预测值对所述第一图像块进行解码。
结合第八方面,在第一种可能的实施方式中,
所述零值运动矢量预测值在所述运动矢量预测值列表中的位置位于所述M个空域运动矢量预测值之前;或者,所述零值运动矢量预测值在所述运动矢量预测值列表中的位置位于第一空域运动矢量预测值和第二空域运动矢量预测值之间,所述M个空域运动矢量预测值包括所述第一空域运动矢量预测值和所述第二空域运动矢量预测值。
由上可见,本发明实施例技术方案中,获得第一编码块对应的N个预测块的运动矢量;构建第一编码块对应的运动矢量预测值列表,其中,运动矢量预测值列表记录了N个预测块的运动矢量,N个预测块的运动矢量包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,零值运动矢量预测值和M个空域运动矢量预测值在运动矢量预测值列表中的位置位于时域运动矢量预测值之前。由于充分的考虑了零值运动矢量预测值重要性,将零值运动矢量预测值置于运动矢量预测值列表中的靠前位置,如此,则有利于提高零值运动矢量预测值被选作第一编码块的运动矢量的几率,进而有助于更好地发挥零值运动矢量预测值的层间预测作用,进而有利于提高MV预测精度,提升视频编码压缩性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种运动矢量预测值列表构建方法的流程示意图;
图2-a是本发明实施例提供的一种当前图像块和参考图像块的位置关系示意图;
图2-b是本发明实施例提供的一种MVPlist的示意图;
图2-c是本发明实施例提供的另一种MVPlist的示意图;
图2-d是本发明实施例提供的另一种MVPlist的示意图;
图2-e是本发明实施例提供的另一种MVPlist的示意图;
图2-f是本发明实施例提供的另一种MVPlist的示意图;
图2-g是本发明实施例提供的另一种MVPlist的示意图;
图3是本发明实施例提供的另一种运动矢量预测值列表构建方法的流程示意图;
图4是本发明实施例提供的一种视频编码方法的流程示意图;
图5是本发明实施例提供的一种视频解码方法的流程示意图;
图6是本发明实施例提供的另一种视频编码方法的流程示意图;
图7是本发明实施例提供的另一种视频解码方法的流程示意图;
图8是本发明实施例提供的一种运动矢量预测值列表构建装置的示意图;
图9是本发明实施例提供的一种视频处理设备的示意图;
图10是本发明实施例提供的另一种运动矢量预测值列表构建装置的示意图;
图11是本发明实施例提供的另一种视频处理设备的示意图;
图12是本发明实施例提供的一种视频编码器的示意图;
图13是本发明实施例提供的另一种视频编码器的示意图;
图14是本发明实施例提供的另一种视频编码器的示意图;
图15是本发明实施例提供的另一种视频编码器的示意图;
图16是本发明实施例提供的一种视频解码器的示意图;
图17是本发明实施例提供的另一种视频解码器的示意图;
图18是本发明实施例提供的另一种视频解码器的示意图;
图19是本发明实施例提供的另一种视频解码器的示意图。
具体实施方式
本发明实施例提供运动矢量预测值列表构建方法和视频编解码方法及相关装置,以期提升视频压缩编码性能。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
以下分别进行详细说明。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明运动矢量预测值列表构建方法的一个实施例,方法可包括:获得第一图像块对应的N个运动矢量预测值;构建第一图像块对应的运动矢量预测值列表,其中,上述运动矢量预测值列表记录了上述N个运动矢量预测值,上述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,上述零值运动矢量预测值和上述M个空域运动矢量预测值在上述运动矢量预测值列表中的位置位于上述时域运动矢量预测值之前,上述零值运动矢量预测值所指向的参考图像来自于与第一图像块所在图像层不同的图像层,运动矢量预测值列表中越靠前的位置所对应的索引号越小。
首先参见图1,图1是本发明实施例提供的一种运动矢量预测值列表构建方法的流程示意图。如图1所示,本发明实施例提供的一种运动矢量预测值列表构建方法可包括以下内容:
101、获得第一图像块对应的N个运动矢量预测值。
在本发明的一些实施例中,第一图像块(可看做是当前图像块)的运动矢量预测值(MVP,Motionvectorpredictor)包括空域MVP(SMVP,SpatialMVP)和时域MVP(TMVP,TemporalMVP)等。其中,SMVP指当前图像块的相邻位置的参考块对应的MV,该参考块与当前图像块在同一图像内。TMVP是根据当前图像块的时域参考图像获取的MV值,所谓时域,指当前图像块所在的图像与当前图像块的参考图象,在视频序列时间轴上处于不同时间位置,该位置可采用图像命令计数(POC,PictureOrderCount)表示。其中,MV时域距离指MV指向的参考图像和当前图像块所在图像之间的距离,即POC差值。在获取TMVP过程中,可对参考块的MV根据时域距离进行缩放以得到当前图像块的MVP。
其中,获得的第一图像块对应的N个运动矢量预测值可包括:零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,其中,上述零值运动矢量预测值所指向的参考图像来自于与第一图像块所在图像层不同的图像层。其中,M个空域运动矢量预测值各不相同。
102、构建第一图像块对应的运动矢量预测值列表,其中,上述运动矢量预测值列表记录了上述N个运动矢量预测值,上述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,上述零值运动矢量预测值和上述M个空域运动矢量预测值在上述运动矢量预测值列表中的位置位于上述时域运动矢量预测值之前。其中,运动矢量预测值列表中越靠前的位置所对应的索引号越小,运动矢量预测值列表中各位置的索引号从起始位置开始依次递增。例如,运动矢量预测值列表的起始位置对应的索引号可为0或1,之后位置对应的索引号依次递增。
在本发明的一些实施例中,上述N可等于5、6、7或8或其它可能的值,M可等于2、3、4或5或其它可能的值,当然M小于N。
在本发明一些实施例中,上述零值运动矢量预测值所指向的参考图像可来自于第一图像块所在图像层的相邻图像层。在本发明一些实施例中,上述零值运动矢量预测值所指向的参考图像可来自于基本层。
在本发明一些实施例中,上述零值运动矢量预测值在上述运动矢量预测值列表中的位置位于上述M个空域运动矢量预测值之前;或者,上述零值运动矢量预测值在上述运动矢量预测值列表中的位置位于第一空域运动矢量预测值和第二空域运动矢量预测值之间,上述M个空域运动矢量预测值包括第一空域运动矢量预测值和第二空域运动矢量预测值。
在本发明一些实施例中,上述N个运动矢量预测值还可包括层间运动矢量预测值(也可能不可用于),其中,上述层间运动矢量预测值可位于上述运动矢量预测值列表中的起始位置。其中,上述层间运动矢量预测值所指向的参考图像来自于第一图像块所在图像层。其中,上述层间运动矢量预测值可基于其它图像层(例如基本层)的运动矢量得到。
HEVC采用基于多运动矢量竞争的方法,提高了运动矢量预测精度,从而提升编码压缩性能。多运动矢量竞争的原理是,根据当前图像块的多个已编码参考块获得多个运动矢量(包括MV值和MV指向的参考图象的索引值),将这多个运动矢量按照一定顺序置入列表之中,称为MVP列表(list),可给每个运动矢量分配索引号(该索引号可用于指示其在MVPlist中的位置)。对当前图像块编码时,从这多个MVP当中选择一个最佳的运动矢量作为当前图像块的运动矢量预测值,并把选中的MVP在MVPlist中的索引号写入码流;解码端可解码获得该索引号,解码端也可根据当前图像块的已解码参考块的运动矢量构造MVPlist,解码端构造的MVPlist与编码端构造的MVPlist一致,这样利用解码得到的索引号,解码端可用从其构造的MVPlist中确定一个运动矢量作为当前图像块的运动矢量预测值。HEVC有几种帧间预测模式,这些模式大都可采用多运动矢量竞争的方法构建MVPlist,用于当前图像块MV预测。当前图像块的参考块包含空域参考块和时域参考块(co-location),其中,空域参考块对应的运动矢量称之为空域运动矢量,而时域参考块对应的运动矢量称之为时域运动矢量。一般的对于merge/skip模式,允许4个候选的空域运动矢量和1个候选的时域运动矢量;对于AMVP模式,允许2个候选的空域运动矢量和1个候选的时域运动矢量。构建的MVPlist记录有这些空域运动矢量和时域运动矢量(即当前图像块的MVP)。
其中,HEVC标准的SVC标准是一种分层编码技术,支持多层(multi-layer)编码。发明人研究和实践发现,在HEVCSVC的一种实现方式中,可以把BL的图像作为EL的一个额外参考图像。这种情况下,0值MVP有可能指向来自于BL的参考图像。在这种情况下,0值MVP在分层或SVC编码中有特殊用处。EL和BL有着很强的相关性,层间预测技术(Inter-layerprediction)可以去除这种相关性,提高编码压缩性能。当BL和EL有着相同的图像分辨率时,如SVC中的SNRscalability,则EL和BL中每个block的像素位置一一对应,像素的相对位移为0,因此,可利用一个从EL指向BL的具有零值的MV(即zeroMV)进行高效的预测,较好地去除EL和BL的相关性,提升编码压缩性能。当BL和EL具有不同的图像分辨率时,如SVC中的spatialscalability,可对作为EL参考图像的BL进行插值,获得与EL相同的图像尺寸或分辨率,进行层间预测,因此在这种情况下zeroMVP仍然可以发挥有效的预测作用。因此,在本发明实施例的技术方案中,则充分的考虑利用zeroMVP的作用,不将zeroMVP置于MVPlist的末尾,而是将zeroMVP置于MVPlist中的靠前位置,如此,则有利于提高zeroMVP被选作当前编码块的运动矢量的几率,进而有助于更好地发挥指向其它层的zeroMVP的层间预测作用,进而有利于提高MV预测精度,提升视频编码压缩性能。
下面结合附图举例构建的几种MVPlist。
参见图2-a,假设将A0、A1、B0、B1、B2作为第一图像块(可看做是当前图像块)的相邻参考图像块,即空域参考图像块,空域参考图像块的MV看做是第一图像块的SMVP。其中,如图2所示,参考图像块A0为当前图像块的左下角位置对应的图像块;参考图像块A1为当前图像块的左下角位置对应的图像块;参考图像块B0为当前图像块的右上角位置对应的图像块。参考图像块B1为当前图像块的右上角位置对应的图像块;参考图像块B2为当前图像块的左上角位置对应的图像块。其中,A0、A1、B0、B1、B2有可能是帧间(Inter)已编码图像块,也有可能是帧内(Intra)已编码图像块。其中,Inter已编码图像块有MV(包括MV值大小和其指向的对应参考图象索引),而Intra已编码图像块没有MV。其中,时域运动矢量预测值(TMVP:TemporalMVP)是基于当前图像块的时域参考图象获得的MV,所谓时域,指当前图像块所在的图像与当前图像块的参考图象,在视频序列的时间轴上处于不同位置,或者处于不同layer。其中,层间运动矢量预测值(ILMVP)所指向的参考图像可能来自于第一图像块所在图像层,ILMVP可能基于其它图像层(例如基本层)的运动矢量得到,其中ILMVP可能可用也可能不可用。运动矢量预测值列表中越靠前的位置所对应的索引号越小。
参见图2-b,图2-b示出了一种可能的MVPlist,其中,ZeroMVP位于SMVP之前,而SMVP(包括SMVP-A0、SMVP-A1、SMVP-B0和SMVP-B1等4个各不相同的SMVP,分别为A0、A1、B0、B1对应的MV,当然,SMVP的数量也可为2或3或其它个数)位于TMVP之前,位于MVPlist起始位置的是ILMVP。
参见图2-c,图2-c示出了另一种可能的MVPlist,其中,此处假设ILMVP不可用,因此MVPlist中不记录ILMVP,ZeroMVP位于MVPlist起始位置,而SMVP位于TMVP之前。
参见图2-d,图2-d示出了另一种可能的MVPlist,其中,ZeroMVP位于SMVP之后,ZeroMVP位于TMVP之前,ILMVP位于MVPlist起始位置。
参见图2-e,图2-e示出了另一种可能的MVPlist,其中,此处假设ILMVP不可用,因此MVPlist中不记录ILMVP,ZeroMVP位于SMVP之后,ZeroMVP位于TMVP之前。
参见图2-f,图2-f示出了另一种可能的MVPlist,其中,ZeroMVP位于各SMVP之间(图2-f以ZeroMVP位于SMVP-A1和SMVP-B1之间为例,当然ZeroMVP亦可介于其它两个SMVP之间,以此类推),SMVP位于TMVP之前,ILMVP位于MVPlist起始位置。
参见图2-g,图2-g示出了另一种可能的MVPlist,其中,此处假设ILMVP不可用,因此MVPlist中不记录ILMVP,ZeroMVP位于各SMVP之间(图2-g以ZeroMVP位于SMVP-A1和SMVP-B1之间为例,当然ZeroMVP亦可介于其它两个SMVP之间,以此类推),SMVP位于TMVP之前,ILMVP位于MVPlist起始位置。
可以理解,上述举例仅为说明,在实际应用中,空域参考图像块的选取个数和位置均可能灵活的调整,并不限于上述举例。
以上示例,主要以HEVCSVC中的mergemode为例。实际上,对于skip和AMVPmode中涉及的运动矢量列表构造方法,也同样适用。除了HEVCSVC标准外,对于其他涉及分层(multi-layer)的编解码技术中涉及的运动矢量列表构方法,也同样适用。
由上可见,本实施例技术方案中,获得第一编码块对应的N个预测块的运动矢量;构建第一编码块对应的运动矢量预测值列表,其中,运动矢量预测值列表记录了N个预测块的运动矢量,N个预测块的运动矢量包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,零值运动矢量预测值和M个空域运动矢量预测值在运动矢量预测值列表中的位置位于时域运动矢量预测值之前。由于充分的考虑了零值运动矢量预测值重要性,将零值运动矢量预测值置于运动矢量预测值列表中的靠前位置,如此,则有利于提高零值运动矢量预测值被选作第一编码块的运动矢量的几率,进而有助于更好地发挥零值运动矢量预测值的层间预测作用,进而有利于提高MV预测精度,提升视频编码压缩性能。
本发明运动矢量预测值列表构建方法的一个实施例,方法可包括:获得第一图像块对应的N个运动矢量预测值;构建第一图像块对应的运动矢量预测值列表,其中,上述运动矢量预测值列表记录了上述N个运动矢量预测值,上述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,用于指示上述零值运动矢量预测值在上述运动矢量预测值列表中所处位置的第一位置指示的比特数,小于用于指示上述时域运动矢量预测值在上述运动矢量预测值列表中所处位置的第二位置指示的比特数;用于指示第一空域运动矢量预测值在上述运动矢量预测值列表中所处位置的第三位置指示的比特数,小于用于指示上述时域运动矢量预测值在上述运动矢量预测值列表中所处位置的第二位置指示的比特数,其中,第一空域运动矢量预测值为上述M个空域运动矢量预测值中的任意一个,上述零值运动矢量预测值所指向的参考图像来自于与第一图像块所在图像层不同的图像层。
首先参见图3,图3是本发明实施例提供的另一种运动矢量预测值列表构建方法的流程示意图。如图3所示,本发明实施例提供的另一种运动矢量预测值列表构建方法可包括以下内容:
301、获得第一图像块对应的N个运动矢量预测值。
在本发明的一些实施例中,获得的第一图像块对应的N个运动矢量预测值可包括:零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,其中,上述零值运动矢量预测值所指向的参考图像来自于与第一图像块所在图像层不同的图像层。其中,M个空域运动矢量预测值各不相同。
在本发明的一些实施例中,上述N可等于5、6、7或8或其它可能的值,M可等于2、3、4或5或其它可能的值,当然M小于N。
302、构建第一图像块对应的运动矢量预测值列表,其中,上述运动矢量预测值列表记录了上述N个运动矢量预测值,用于指示上述零值运动矢量预测值在上述运动矢量预测值列表中所处位置的第一位置指示的比特数,小于用于指示上述时域运动矢量预测值在上述运动矢量预测值列表中所处位置的第二位置指示的比特数;用于指示第一空域运动矢量预测值在上述运动矢量预测值列表中所处位置的第三位置指示的比特数,小于用于指示上述时域运动矢量预测值在上述运动矢量预测值列表中所处位置的第二位置指示的比特数,第一空域运动矢量预测值为上述M个空域运动矢量预测值中的任意一个。
在本发明的一些实施例中,运动矢量预测值列表的不同位置,可使用不同比特数的位置指示来进行指示,根据位置指示的比特数可确定出其指示的运动矢量预测值列表中的相应位置。例如,运动矢量预测值列表中越靠前的位置的对应位置指示的比特数越小或越大,当然,也可能运动矢量预测值列表中越靠中间的位置的对应位置指示的比特数越小或越大,当然可以能是编码端和解码端约定的其它变化规律,甚至也可能没有可循规律。
在本发明的一些实施例中,第一位置指示的比特数小于第三位置指示的比特数;或者,第一位置指示的比特数大于第四位置指示的比特数且小于第五位置指示的比特数,其中,第四位置指示用于指示第二空域运动矢量预测值在上述运动矢量预测值列表中所处位置,第五位置指示用于指示第三空域运动矢量预测值在上述运动矢量预测值列表中所处位置,上述M个空域运动矢量预测值包括第二空域运动矢量预测值和第三空域运动矢量预测值。
在本发明的一些实施例中,上述N个运动矢量预测值还包括层间运动矢量预测值,其中,第六位置指示的比特数小于第三位置指示的比特数和第二位置指示的比特数,第六位置指示用于指示上述层间运动矢量预测值在上述运动矢量预测值列表中所处位置。其中,上述层间运动矢量预测值所指向的参考图像来自于第一图像块所在图像层。其中,上述层间运动矢量预测值可基于其它图像层(例如基本层)的运动矢量得到。
在本发明一些实施例中,上述零值运动矢量预测值所指向的参考图像可来自于第一图像块所在图像层的相邻图像层。在本发明一些实施例中,上述零值运动矢量预测值所指向的参考图像可来自于基本层。
由上可见,本实施例技术方案中,获得第一编码块对应的N个预测块的运动矢量;构建第一编码块对应的运动矢量预测值列表,其中,运动矢量预测值列表记录了N个预测块的运动矢量,N个预测块的运动矢量包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,零值运动矢量预测值和M个空域运动矢量预测值在运动矢量预测值列表中所处位置的位置指示的比特数,小于时域运动矢量预测值在运动矢量预测值列表中所处位置的位置指示的比特数。由于充分的考虑了零值运动矢量预测值重要性,将零值运动矢量预测值置于运动矢量预测值列表中位置指示比特数更小的位置,如此则有利于提高零值运动矢量预测值被选作第一编码块的运动矢量的几率,进而有助于更好地发挥零值运动矢量预测值的层间预测作用,进而有利于提高MV预测精度,提升视频编码压缩性能。
本发明视频编码方法的一个实施例,方法可包括:获得第一图像块对应的N个运动矢量预测值;构建第一图像块对应的运动矢量预测值列表,其中,上述运动矢量预测值列表记录了上述N个运动矢量预测值,上述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,上述零值运动矢量预测值和上述M个空域运动矢量预测值在上述运动矢量预测值列表中的位置位于上述时域运动矢量预测值之前,上述零值运动矢量预测值所指向的参考图像来自于与第一图像块所在图像层不同的图像层;基于上述运动矢量预测值列表确定第一图像块的运动矢量预测值;基于确定出的第一图像块的运动矢量预测值对第一图像块进行编码。
首先参见图4,图4是本发明实施例提供的一种视频编码方法的流程示意图。如图4所示,本发明实施例提供的一种视频编码可包括以下内容:
401、获得第一图像块对应的N个运动矢量预测值。
在本发明的一些实施例中,获得的第一图像块对应的N个运动矢量预测值可包括:零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,其中,上述零值运动矢量预测值所指向的参考图像来自于与第一图像块所在图像层不同的图像层。其中,M个空域运动矢量预测值各不相同。
在本发明的一些实施例中,上述N可等于5、6、7或8或其它可能的值,M可等于2、3、4或5或其它可能的值,当然M小于N。
402、构建第一图像块对应的运动矢量预测值列表,其中,上述运动矢量预测值列表记录了上述N个运动矢量预测值,上述零值运动矢量预测值和上述M个空域运动矢量预测值在上述运动矢量预测值列表中的位置位于上述时域运动矢量预测值之前;其中,运动矢量预测值列表中越靠前位置所对应的索引号越小,运动矢量预测值列表中各位置的索引号从起始位置开始依次递增。例如,运动矢量预测值列表的起始位置对应的索引号可为0或1,之后位置对应的索引号依次递增。
在本发明一些实施例中,上述零值运动矢量预测值所指向的参考图像可来自于第一图像块所在图像层的相邻图像层。在本发明一些实施例中,上述零值运动矢量预测值所指向的参考图像可来自于基本层。
在本发明一些实施例中,上述零值运动矢量预测值在上述运动矢量预测值列表中的位置位于上述M个空域运动矢量预测值之前;或者,上述零值运动矢量预测值在上述运动矢量预测值列表中的位置位于第一空域运动矢量预测值和第二空域运动矢量预测值之间,上述M个空域运动矢量预测值包括第一空域运动矢量预测值和第二空域运动矢量预测值。
在本发明一些实施例中,上述N个运动矢量预测值还可包括层间运动矢量预测值(也可能不可用于),其中,上述层间运动矢量预测值可位于上述运动矢量预测值列表中的起始位置。其中,上述层间运动矢量预测值所指向的参考图像来自于第一图像块所在图像层。其中,上述层间运动矢量预测值可基于其它图像层(例如基本层)的运动矢量得到。
403、基于上述运动矢量预测值列表确定第一图像块的运动矢量预测值;
在本发明的一些实施例中,可针对每个上述运动矢量预测值列表中的每个运动矢量预测值计算得到对应的率失真代价,可选择最小的率失真代价所对应的运动矢量预测值,作为第一图像块的运动矢量预测值。
404、基于确定出的第一图像块的运动矢量预测值对第一图像块进行编码。
由上可见,本实施例技术方案中,获得第一编码块对应的N个预测块的运动矢量;构建第一编码块对应的运动矢量预测值列表,其中,运动矢量预测值列表记录了N个预测块的运动矢量,N个预测块的运动矢量包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,零值运动矢量预测值和M个空域运动矢量预测值在运动矢量预测值列表中的位置位于时域运动矢量预测值之前。由于充分的考虑了零值运动矢量预测值重要性,将零值运动矢量预测值置于运动矢量预测值列表中的靠前位置,如此,则有利于提高零值运动矢量预测值被选作第一编码块的运动矢量的几率,进而有助于更好地发挥零值运动矢量预测值的层间预测作用,进而有利于提高MV预测精度,提升视频编码压缩性能。
本发明视频解码方法的一个实施例,方法可包括:接收已编码的第一图像块和第一位置指示,其中,第一位置指示用于指示出第一图像块的运动矢量预测值在运动矢量预测值列表中所处位置;获得第一图像块对应的N个运动矢量预测值;构建第一图像块对应的运动矢量预测值列表,其中,上述运动矢量预测值列表记录了上述N个运动矢量预测值,上述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,上述零值运动矢量预测值和上述M个空域运动矢量预测值在上述运动矢量预测值列表中的位置位于上述时域运动矢量预测值之前,上述零值运动矢量预测值所指向的参考图像来自于与第一图像块所在图像层不同的图像层,基于第一位置指示和上述运动矢量预测值列表确定第一图像块的运动矢量预测值;基于确定出的第一图像块的运动矢量预测值对第一图像块进行解码。
首先参见图5,图5是本发明实施例提供的另一种视频解码方法的流程示意图。如图5所示,本发明实施例提供的另一种视频解码可包括以下内容:
501、接收已编码的第一图像块和第一位置指示,
其中,第一位置指示用于指示出第一图像块的运动矢量预测值在运动矢量预测值列表中所处位置;
502、获得第一图像块对应的N个运动矢量预测值;
在本发明的一些实施例中,获得的第一图像块对应的N个运动矢量预测值可包括:零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,其中,上述零值运动矢量预测值所指向的参考图像来自于与第一图像块所在图像层不同的图像层。其中,M个空域运动矢量预测值各不相同。
在本发明一些实施例中,上述N可等于5、6、7或8或其它可能的值,M可等于2、3、4或5或其它可能的值,当然M小于N。
503、构建第一图像块对应的运动矢量预测值列表,其中,上述运动矢量预测值列表记录了上述N个运动矢量预测值,上述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,上述零值运动矢量预测值和上述M个空域运动矢量预测值在上述运动矢量预测值列表中的位置位于上述时域运动矢量预测值之前,上述零值运动矢量预测值所指向的参考图像来自于与第一图像块所在图像层不同的图像层;其中,运动矢量预测值列表中越靠前的位置所对应的索引号越小,运动矢量预测值列表中各位置的索引号从起始位置开始依次递增。例如,运动矢量预测值列表的起始位置对应的索引号可为0或1,之后位置对应的索引号依次递增。
在本发明一些实施例中,上述零值运动矢量预测值所指向的参考图像可来自于第一图像块所在图像层的相邻图像层。在本发明一些实施例中,上述零值运动矢量预测值所指向的参考图像可来自于基本层。
在本发明一些实施例中,上述零值运动矢量预测值在上述运动矢量预测值列表中的位置位于上述M个空域运动矢量预测值之前;或者,上述零值运动矢量预测值在上述运动矢量预测值列表中的位置位于第一空域运动矢量预测值和第二空域运动矢量预测值之间,上述M个空域运动矢量预测值包括第一空域运动矢量预测值和第二空域运动矢量预测值。
在本发明一些实施例中,上述N个运动矢量预测值还可包括层间运动矢量预测值(也可能不可用于),其中,上述层间运动矢量预测值可位于上述运动矢量预测值列表中的起始位置。其中,上述层间运动矢量预测值所指向的参考图像来自于第一图像块所在图像层。其中,上述层间运动矢量预测值可基于其它图像层(例如基本层)的运动矢量得到。
504、基于第一位置指示和上述运动矢量预测值列表确定第一图像块的运动矢量预测值。
505、基于确定出的第一图像块的运动矢量预测值对第一图像块进行解码。
由上可见,本实施例技术方案中,获得第一编码块对应的N个预测块的运动矢量;构建第一编码块对应的运动矢量预测值列表,其中,运动矢量预测值列表记录了N个预测块的运动矢量,N个预测块的运动矢量包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,零值运动矢量预测值和M个空域运动矢量预测值在运动矢量预测值列表中的位置位于时域运动矢量预测值之前。由于充分的考虑了零值运动矢量预测值重要性,将零值运动矢量预测值置于运动矢量预测值列表中的靠前位置,如此,则有利于提高零值运动矢量预测值被选作第一编码块的运动矢量的几率,进而有助于更好地发挥零值运动矢量预测值的层间预测作用,进而有利于提高MV预测精度,提升视频编码压缩性能。
本发明视频编码方法的一个实施例,方法可包括:获得第一图像块对应的N个运动矢量预测值;构建第一图像块对应的运动矢量预测值列表,上述运动矢量预测值列表记录了上述N个运动矢量预测值,上述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,用于指示上述零值运动矢量预测值在上述运动矢量预测值列表中所处位置的第一位置指示的比特数,小于用于指示上述时域运动矢量预测值在上述运动矢量预测值列表中所处位置的第二位置指示的比特数;用于指示第一空域运动矢量预测值在上述运动矢量预测值列表中所处位置的第三位置指示的比特数,小于用于指示上述时域运动矢量预测值在上述运动矢量预测值列表中所处位置的第二位置指示的比特数,其中,第一空域运动矢量预测值为上述M个空域运动矢量预测值中的任意一个,上述零值运动矢量预测值所指向的参考图像来自于与第一图像块所在图像层不同的图像层;基于上述运动矢量预测值列表确定第一图像块的运动矢量预测值;基于确定出的第一图像块的运动矢量预测值对第一图像块进行编码。
首先参见图6,图6是本发明实施例提供的另一种视频编码方法的流程示意图。如图6所示,本发明实施例提供的另一种视频编码可包括以下内容:
601、获得第一图像块对应的N个运动矢量预测值。
在本发明的一些实施例中,获得的第一图像块对应的N个运动矢量预测值可包括:零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,其中,上述零值运动矢量预测值所指向的参考图像来自于与第一图像块所在图像层不同的图像层。其中,M个空域运动矢量预测值各不相同。
在本发明的一些实施例中,上述N可等于5、6、7或8或其它可能的值,M可等于2、3、4或5或其它可能的值,当然M小于N。
602、构建第一图像块对应的运动矢量预测值列表,其中,上述运动矢量预测值列表记录了上述N个运动矢量预测值,用于指示上述零值运动矢量预测值在上述运动矢量预测值列表中所处位置的第一位置指示的比特数,小于用于指示上述时域运动矢量预测值在上述运动矢量预测值列表中所处位置的第二位置指示的比特数;用于指示第一空域运动矢量预测值在上述运动矢量预测值列表中所处位置的第三位置指示的比特数,小于用于指示上述时域运动矢量预测值在上述运动矢量预测值列表中所处位置的第二位置指示的比特数,第一空域运动矢量预测值为上述M个空域运动矢量预测值中的任意一个。
在本发明的一些实施例中,运动矢量预测值列表的不同位置,可使用不同比特数的位置指示来进行指示,根据位置指示的比特数可确定出其指示的运动矢量预测值列表中的相应位置。例如,运动矢量预测值列表中越靠前的位置的对应位置指示的比特数越小或越大,当然,也可能运动矢量预测值列表中越靠中间的位置的对应位置指示的比特数越小或越大,当然可以能是编码端和解码端约定的其它变化规律,甚至也可能没有可循规律。
在本发明的一些实施例中,第一位置指示的比特数小于第三位置指示的比特数;或者,第一位置指示的比特数大于第四位置指示的比特数且小于第五位置指示的比特数,其中,第四位置指示用于指示第二空域运动矢量预测值在上述运动矢量预测值列表中所处位置,第五位置指示用于指示第三空域运动矢量预测值在上述运动矢量预测值列表中所处位置,上述M个空域运动矢量预测值包括第二空域运动矢量预测值和第三空域运动矢量预测值。
在本发明的一些实施例中,上述N个运动矢量预测值还包括层间运动矢量预测值,其中,第六位置指示的比特数小于第三位置指示的比特数和第二位置指示的比特数,第六位置指示用于指示上述层间运动矢量预测值在上述运动矢量预测值列表中所处位置。其中,上述层间运动矢量预测值所指向的参考图像来自于第一图像块所在图像层。其中,上述层间运动矢量预测值可基于其它图像层(例如基本层)的运动矢量得到。
在本发明一些实施例中,上述零值运动矢量预测值所指向的参考图像可来自于第一图像块所在图像层的相邻图像层。在本发明一些实施例中,上述零值运动矢量预测值所指向的参考图像可来自于基本层。
603、基于上述运动矢量预测值列表确定第一图像块的运动矢量预测值;
在本发明的一些实施例中,可针对每个上述运动矢量预测值列表中的每个运动矢量预测值计算得到对应的率失真代价,可选择最小的率失真代价所对应的运动矢量预测值,作为第一图像块的运动矢量预测值。
604、基于确定出的第一图像块的运动矢量预测值对第一图像块进行编码。
由上可见,本实施例技术方案中,获得第一编码块对应的N个预测块的运动矢量;构建第一编码块对应的运动矢量预测值列表,其中,运动矢量预测值列表记录了N个预测块的运动矢量,N个预测块的运动矢量包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,零值运动矢量预测值和M个空域运动矢量预测值在运动矢量预测值列表中所处位置的位置指示的比特数,小于时域运动矢量预测值在运动矢量预测值列表中所处位置的位置指示的比特数。由于充分的考虑了零值运动矢量预测值重要性,将零值运动矢量预测值置于运动矢量预测值列表中位置指示比特数更小的位置,如此则有利于提高零值运动矢量预测值被选作第一编码块的运动矢量的几率,进而有助于更好地发挥零值运动矢量预测值的层间预测作用,进而有利于提高MV预测精度,提升视频编码压缩性能。
本发明视频解码方法的另一个实施例,方法可包括:接收已编码的第一图像块和第七位置指示,其中,第七位置指示用于指示出第一图像块的运动矢量预测值在运动矢量预测值列表中所处位置;获得第一图像块对应的N个运动矢量预测值;构建第一图像块对应的运动矢量预测值列表,上述运动矢量预测值列表记录了上述N个运动矢量预测值,上述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,用于指示上述零值运动矢量预测值在上述运动矢量预测值列表中所处位置的第一位置指示的比特数,小于用于指示上述时域运动矢量预测值在上述运动矢量预测值列表中所处位置的第二位置指示的比特数;用于指示第一空域运动矢量预测值在上述运动矢量预测值列表中所处位置的第三位置指示的比特数,小于用于指示上述时域运动矢量预测值在上述运动矢量预测值列表中所处位置的第二位置指示的比特数,其中,第一空域运动矢量预测值为上述M个空域运动矢量预测值中的任意一个,上述零值运动矢量预测值所指向的参考图像来自于与第一图像块所在图像层不同的图像层;基于第七位置指示和上述运动矢量预测值列表确定第一图像块的运动矢量预测值;基于确定出的第一图像块的运动矢量预测值对第一图像块进行解码。
首先参见图7,图7是本发明实施例提供的另一种视频解码方法的流程示意图。如图7所示,本发明实施例提供的另一种视频解码可包括以下内容:
701、接收已编码的第一图像块和第七位置指示,其中,第七位置指示用于指示出第一图像块的运动矢量预测值在运动矢量预测值列表中所处位置;
702、获得第一图像块对应的N个运动矢量预测值。
在本发明的一些实施例中,获得的第一图像块对应的N个运动矢量预测值可包括:零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,其中,上述零值运动矢量预测值所指向的参考图像来自于与第一图像块所在图像层不同的图像层。其中,M个空域运动矢量预测值各不相同。
在本发明的一些实施例中,上述N可等于5、6、7或8或其它可能的值,M可等于2、3、4或5或其它可能的值,当然M小于N。
703、构建第一图像块对应的运动矢量预测值列表,其中,上述运动矢量预测值列表记录了上述N个运动矢量预测值,用于指示上述零值运动矢量预测值在上述运动矢量预测值列表中所处位置的第一位置指示的比特数,小于用于指示上述时域运动矢量预测值在上述运动矢量预测值列表中所处位置的第二位置指示的比特数;用于指示第一空域运动矢量预测值在上述运动矢量预测值列表中所处位置的第三位置指示的比特数,小于用于指示上述时域运动矢量预测值在上述运动矢量预测值列表中所处位置的第二位置指示的比特数,第一空域运动矢量预测值为上述M个空域运动矢量预测值中的任意一个。
在本发明的一些实施例中,运动矢量预测值列表的不同位置,可使用不同比特数的位置指示来进行指示,根据位置指示的比特数可确定出其指示的运动矢量预测值列表中的相应位置。例如,运动矢量预测值列表中越靠前的位置的对应位置指示的比特数越小或越大,当然,也可能运动矢量预测值列表中越靠中间的位置的对应位置指示的比特数越小或越大,当然可以能是编码端和解码端约定的其它变化规律,甚至也可能没有可循规律。
在本发明的一些实施例中,第一位置指示的比特数小于第三位置指示的比特数;或者,第一位置指示的比特数大于第四位置指示的比特数且小于第五位置指示的比特数,其中,第四位置指示用于指示第二空域运动矢量预测值在上述运动矢量预测值列表中所处位置,第五位置指示用于指示第三空域运动矢量预测值在上述运动矢量预测值列表中所处位置,上述M个空域运动矢量预测值包括第二空域运动矢量预测值和第三空域运动矢量预测值。
在本发明的一些实施例中,上述N个运动矢量预测值还包括层间运动矢量预测值,其中,第六位置指示的比特数小于第三位置指示的比特数和第二位置指示的比特数,第六位置指示用于指示上述层间运动矢量预测值在上述运动矢量预测值列表中所处位置。其中,上述层间运动矢量预测值所指向的参考图像来自于第一图像块所在图像层。其中,上述层间运动矢量预测值可基于其它图像层(例如基本层)的运动矢量得到。
在本发明一些实施例中,上述零值运动矢量预测值所指向的参考图像可来自于第一图像块所在图像层的相邻图像层。在本发明一些实施例中,上述零值运动矢量预测值所指向的参考图像可来自于基本层。
704、基于第七位置指示和上述运动矢量预测值列表确定第一图像块的运动矢量预测值。
可以理解的是,第七位置指示可与第一位置指示、第二位置指示、第三位置指示、第四位置指示、第五位置指示或第六位置指示相同或不同。
705、基于确定出的第一图像块的运动矢量预测值对第一图像块进行解码。
由上可见,本实施例技术方案中,获得第一编码块对应的N个预测块的运动矢量;构建第一编码块对应的运动矢量预测值列表,其中,运动矢量预测值列表记录了N个预测块的运动矢量,N个预测块的运动矢量包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,零值运动矢量预测值和M个空域运动矢量预测值在运动矢量预测值列表中所处位置的位置指示的比特数,小于时域运动矢量预测值在运动矢量预测值列表中所处位置的位置指示的比特数。由于充分的考虑了零值运动矢量预测值重要性,将零值运动矢量预测值置于运动矢量预测值列表中位置指示比特数更小的位置,如此则有利于提高零值运动矢量预测值被选作第一编码块的运动矢量的几率,进而有助于更好地发挥零值运动矢量预测值的层间预测作用,进而有利于提高MV预测精度,提升视频编码压缩性能。
为便于更好的实施例本发明实施例的上述方案,下面还提供用于实施上述方案的相关装置。
参见图8,本发明实施例提供一种运动矢量预测值列表构建装置800,可包括:获得单元810和第一列表构建单元820。
其中,获得单元810,用于获得第一图像块对应的N个运动矢量预测值;
第一列表构建单元820,用于构建第一图像块对应的运动矢量预测值列表,其中,上述运动矢量预测值列表记录了上述N个运动矢量预测值,上述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,上述零值运动矢量预测值和上述M个空域运动矢量预测值在上述运动矢量预测值列表中的位置位于上述时域运动矢量预测值之前,上述零值运动矢量预测值所指向的参考图像来自于与第一图像块所在图像层不同的图像层。其中,运动矢量预测值列表中越靠前的位置所对应的索引号越小,运动矢量预测值列表中各位置的索引号从起始位置开始依次递增。例如运动矢量预测值列表的起始位置对应的索引号可为0或1,之后位置对应的索引号依次递增。
在本发明的一些实施例中,上述N可等于5、6、7或8或其它可能的值,M可等于2、3、4或5或其它可能的值,当然M小于N。
在本发明一些实施例中,上述零值运动矢量预测值所指向的参考图像可来自于第一图像块所在图像层的相邻图像层。在本发明的一些实施例中,获得单元810获得的上述零值运动矢量预测值所指向的参考图像来自于基本层。
在本发明一些实施例中,上述零值运动矢量预测值在上述运动矢量预测值列表中的位置位于上述M个空域运动矢量预测值之前;或者,上述零值运动矢量预测值在上述运动矢量预测值列表中的位置位于第一空域运动矢量预测值和第二空域运动矢量预测值之间,上述M个空域运动矢量预测值包括第一空域运动矢量预测值和第二空域运动矢量预测值。
在本发明一些实施例中,上述N个运动矢量预测值还可包括层间运动矢量预测值(也可能不可用于),其中,上述层间运动矢量预测值可位于上述运动矢量预测值列表中的起始位置。其中,上述层间运动矢量预测值所指向的参考图像来自于第一图像块所在图像层。其中,上述层间运动矢量预测值可基于其它图像层(例如基本层)的运动矢量得到。
在本发明的一些实施例中,获得单元810获得的上述零值运动矢量预测值所指向的参考图像来自于基本层。
可以理解的是,本实施例的运动矢量预测值列表构建装置800的各功能模块的功能可根据图1所示方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
图9为本发明提供的一种视频处理设备的结构示意图,如图9所示,本实施例的视频处理设备包括至少一个总线901、与总线901相连的至少一个处理器902以及与总线901相连的至少一个存储器903。
其中,处理器902通过总线901,调用存储器903中存储的代码以用于获得第一图像块对应的N个运动矢量预测值;构建第一图像块对应的运动矢量预测值列表,其中,上述运动矢量预测值列表记录了上述N个运动矢量预测值,上述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,上述零值运动矢量预测值和上述M个空域运动矢量预测值在上述运动矢量预测值列表中的位置位于上述时域运动矢量预测值之前,上述零值运动矢量预测值所指向的参考图像来自于与第一图像块所在图像层不同的图像层。运动矢量预测值列表中越靠前的位置所对应的索引号越小,运动矢量预测值列表中各位置的索引号从起始位置开始依次递增。例如运动矢量预测值列表的起始位置对应的索引号可为0或1,之后位置对应的索引号依次递增。
本实施例提供的视频处理设备,可以用于执行图1所示方法实施例的技术方案中视频处理设备对应执行的部分,其实现原理和技术效果与之类似,此处不再赘述。图9仅为本发明提供的视频处理设备的结构的一种示意图,具体结构可根据实际进行调整。
参见图10,图10示出本发明实施例提供另一种运动矢量预测值列表构建装置1000,可包括:获得单元1010和第二列表构建单元1020。
其中,获得单元1010,获得第一图像块对应的N个运动矢量预测值;
第二列表构建单元1020,用于构建第一图像块对应的运动矢量预测值列表,其中,上述运动矢量预测值列表记录了上述N个运动矢量预测值,上述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,用于指示上述零值运动矢量预测值在上述运动矢量预测值列表中所处位置的第一位置指示的比特数,小于用于指示上述时域运动矢量预测值在上述运动矢量预测值列表中所处位置的第二位置指示的比特数;用于指示第一空域运动矢量预测值在上述运动矢量预测值列表中所处位置的第三位置指示的比特数,小于用于指示上述时域运动矢量预测值在上述运动矢量预测值列表中所处位置的第二位置指示的比特数,其中,第一空域运动矢量预测值为上述M个空域运动矢量预测值中的任意一个,上述零值运动矢量预测值所指向的参考图像来自于与第一图像块所在图像层不同的图像层。
在本发明的一些实施例中,运动矢量预测值列表的不同位置,可使用不同比特数的位置指示来进行指示,根据位置指示的比特数可确定出其指示的运动矢量预测值列表中的相应位置。例如,运动矢量预测值列表中越靠前的位置的对应位置指示的比特数越小或越大,当然,也可能运动矢量预测值列表中越靠中间的位置的对应位置指示的比特数越小或越大,当然可以能是编码端和解码端约定的其它变化规律,甚至也可能没有可循规律。
在本发明的一些实施例中,第一位置指示的比特数小于第三位置指示的比特数;或者,第一位置指示的比特数大于第四位置指示的比特数且小于第五位置指示的比特数,其中,第四位置指示用于指示第二空域运动矢量预测值在上述运动矢量预测值列表中所处位置,第五位置指示用于指示第三空域运动矢量预测值在上述运动矢量预测值列表中所处位置,上述M个空域运动矢量预测值包括第二空域运动矢量预测值和第三空域运动矢量预测值。
在本发明的一些实施例中,上述N个运动矢量预测值还包括层间运动矢量预测值,其中,第六位置指示的比特数小于第三位置指示的比特数和第二位置指示的比特数,第六位置指示用于指示上述层间运动矢量预测值在上述运动矢量预测值列表中所处位置。其中,上述层间运动矢量预测值所指向的参考图像来自于第一图像块所在图像层。其中,上述层间运动矢量预测值可基于其它图像层(例如基本层)的运动矢量得到。
在本发明一些实施例中,上述零值运动矢量预测值所指向的参考图像可来自于第一图像块所在图像层的相邻图像层。在本发明的一些实施例中,获得单元1010获得的上述零值运动矢量预测值所指向的参考图像来自于基本层。
可以理解的是,本实施例的运动矢量预测值列表构建装置1000的各功能模块的功能可根据图3所示方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
图11为本发明提供的一种视频处理设备的结构示意图,如图11所示,本实施例的视频处理设备包括至少一个总线1101、与总线1101相连的至少一个处理器1102以及与总线1101相连的至少一个存储器1103。
其中,处理器1102通过总线1101,调用存储器1103中存储的代码以用于获得第一图像块对应的N个运动矢量预测值;构建第一图像块对应的运动矢量预测值列表,其中,上述运动矢量预测值列表记录了上述N个运动矢量预测值,上述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,用于指示上述零值运动矢量预测值在上述运动矢量预测值列表中所处位置的第一位置指示的比特数,小于用于指示上述时域运动矢量预测值在上述运动矢量预测值列表中所处位置的第二位置指示的比特数;用于指示第一空域运动矢量预测值在上述运动矢量预测值列表中所处位置的第三位置指示的比特数,小于用于指示上述时域运动矢量预测值在上述运动矢量预测值列表中所处位置的第二位置指示的比特数,其中,第一空域运动矢量预测值为上述M个空域运动矢量预测值中的任意一个,上述零值运动矢量预测值所指向的参考图像来自于与第一图像块所在图像层不同的图像层。
本实施例提供的视频处理设备,可以用于执行图3所示方法实施例的技术方案中视频处理设备对应执行的部分,其实现原理和技术效果与之类似,此处不再赘述。图11仅为本发明提供的视频处理设备的结构的一种示意图,具体结构可根据实际进行调整。
参见图12,图12示出本发明实施例提供一种视频编码器1200,可包括:
获得单元1210、第一列表构建单元1220、运动矢量确定单元1230、编码单元1240。
其中,获得单元1210,用于获得第一图像块对应的N个运动矢量预测值;
第一列表构建单元1220,用于构建第一图像块对应的运动矢量预测值列表,其中,上述运动矢量预测值列表记录了上述N个运动矢量预测值,上述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,上述零值运动矢量预测值和上述M个空域运动矢量预测值在上述运动矢量预测值列表中的位置位于上述时域运动矢量预测值之前,上述零值运动矢量预测值所指向的参考图像来自于与第一图像块所在图像层不同的图像层。其中,运动矢量预测值列表中越靠前的位置所对应的索引号越小,运动矢量预测值列表中各位置的索引号从起始位置开始依次递增。例如运动矢量预测值列表的起始位置对应的索引号可为0或1,之后位置对应的索引号依次递增。
运动矢量确定单元1230,用于基于上述运动矢量预测值列表确定第一图像块的运动矢量预测值;
编码单元1240,用于基于运动矢量确定单元1230确定出的第一图像块的运动矢量预测值对第一图像块进行编码。
在本发明的一些实施例中,上述零值运动矢量预测值在上述运动矢量预测值列表中的位置位于上述M个空域运动矢量预测值之前;或者,上述零值运动矢量预测值在上述运动矢量预测值列表中的位置位于第一空域运动矢量预测值和第二空域运动矢量预测值之间,上述M个空域运动矢量预测值包括第一空域运动矢量预测值和第二空域运动矢量预测值。
可以理解的是,本实施例的视频编码器1200的各功能模块的功能可根据图4所示方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
图13为本发明提供的一种视频编码器的结构示意图,如图13所示,本实施例的视频编码器包括至少一个总线1301、与总线1301相连的至少一个处理器1302以及与总线1301相连的至少一个存储器1303。
其中,处理器1302通过总线1301,调用存储器1303中存储的代码以用于获得第一图像块对应的N个运动矢量预测值;构建第一图像块对应的运动矢量预测值列表,其中,上述运动矢量预测值列表记录了上述N个运动矢量预测值,上述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,上述零值运动矢量预测值和上述M个空域运动矢量预测值在上述运动矢量预测值列表中的位置位于上述时域运动矢量预测值之前,上述零值运动矢量预测值所指向的参考图像来自于与第一图像块所在图像层不同的图像层;基于上述运动矢量预测值列表确定第一图像块的运动矢量预测值;基于确定出的第一图像块的运动矢量预测值对第一图像块进行编码。其中,运动矢量预测值列表中越靠前的位置所对应的索引号越小,运动矢量预测值列表中各位置的索引号从起始位置开始依次递增。例如运动矢量预测值列表的起始位置对应的索引号可为0或1,之后位置对应的索引号依次递增。
本实施例提供的视频编码器,可以用于执行图4所示方法实施例的技术方案中视频编码器对应执行的部分,其实现原理和技术效果与之类似,此处不再赘述。图13仅为本发明提供的计算机系统的结构的一种示意图,具体结构可根据实际进行调整。
参见图14,图14示出本发明实施例提供另一种视频编码器1400,可包括:
获得单元1410、第二列表构建单元1420、运动矢量确定单元1430、编码单元1440。
其中,获得单元1410,用于获得第一图像块对应的N个运动矢量预测值;
第二列表构建单元1420,用于构建第一图像块对应的运动矢量预测值列表,其中,上述运动矢量预测值列表记录了上述N个运动矢量预测值,上述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,用于指示上述零值运动矢量预测值在上述运动矢量预测值列表中所处位置的第一位置指示的比特数,小于用于指示上述时域运动矢量预测值在上述运动矢量预测值列表中所处位置的第二位置指示的比特数;用于指示第一空域运动矢量预测值在上述运动矢量预测值列表中所处位置的第三位置指示的比特数,小于用于指示上述时域运动矢量预测值在上述运动矢量预测值列表中所处位置的第二位置指示的比特数,其中,第一空域运动矢量预测值为上述M个空域运动矢量预测值中的任意一个,上述零值运动矢量预测值所指向的参考图像来自于与第一图像块所在图像层不同的图像层。
运动矢量确定单元1430,用于基于上述运动矢量预测值列表确定第一图像块的运动矢量预测值。
编码单元1440,用于基于运动矢量确定单元1430确定出的第一图像块的运动矢量预测值对第一图像块进行编码。
在本发明的一些实施例中,运动矢量预测值列表的不同位置,可使用不同比特数的位置指示来进行指示,根据位置指示的比特数可确定出其指示的运动矢量预测值列表中的相应位置。例如,运动矢量预测值列表中越靠前的位置的对应位置指示的比特数越小或越大,当然,也可能运动矢量预测值列表中越靠中间的位置的对应位置指示的比特数越小或越大,当然可以能是编码端和解码端约定的其它变化规律,甚至也可能没有可循规律。
在本发明的一些实施例中,第一位置指示的比特数小于第三位置指示的比特数;或者,第一位置指示的比特数大于第四位置指示的比特数且小于第五位置指示的比特数,其中,第四位置指示用于指示第二空域运动矢量预测值在上述运动矢量预测值列表中所处位置,第五位置指示用于指示第三空域运动矢量预测值在上述运动矢量预测值列表中所处位置,上述M个空域运动矢量预测值包括第二空域运动矢量预测值和第三空域运动矢量预测值。
在本发明的一些实施例中,上述N个运动矢量预测值还包括层间运动矢量预测值,其中,第六位置指示的比特数小于第三位置指示的比特数和第二位置指示的比特数,第六位置指示用于指示上述层间运动矢量预测值在上述运动矢量预测值列表中所处位置。其中,上述层间运动矢量预测值所指向的参考图像来自于第一图像块所在图像层。其中,上述层间运动矢量预测值可基于其它图像层(例如基本层)的运动矢量得到。
在本发明一些实施例中,上述零值运动矢量预测值所指向的参考图像可来自于第一图像块所在图像层的相邻图像层。在本发明一些实施例中,上述零值运动矢量预测值所指向的参考图像可来自于基本层。
可以理解的是,本实施例的视频编码器1400的各功能模块的功能可根据图6所示方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
图15为本发明提供的一种视频编码器的结构示意图,如图15所示,本实施例的视频编码器包括至少一个总线1501、与总线1501相连的至少一个处理器1502以及与总线1501相连的至少一个存储器1503。
其中,处理器1502通过总线1501,调用存储器1503中存储的代码以用于获得第一图像块对应的N个运动矢量预测值;构建第一图像块对应的运动矢量预测值列表,其中,上述运动矢量预测值列表记录了上述N个运动矢量预测值,上述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,用于指示上述零值运动矢量预测值在上述运动矢量预测值列表中所处位置的第一位置指示的比特数,小于用于指示上述时域运动矢量预测值在上述运动矢量预测值列表中所处位置的第二位置指示的比特数;用于指示第一空域运动矢量预测值在上述运动矢量预测值列表中所处位置的第三位置指示的比特数,小于用于指示上述时域运动矢量预测值在上述运动矢量预测值列表中所处位置的第二位置指示的比特数,其中,第一空域运动矢量预测值为上述M个空域运动矢量预测值中的任意一个,上述零值运动矢量预测值所指向的参考图像来自于与第一图像块所在图像层不同的图像层;基于上述运动矢量预测值列表确定第一图像块的运动矢量预测值;基于确定出的第一图像块的运动矢量预测值对第一图像块进行编码。
本实施例提供的视频编码器,可以用于执行图6所示方法实施例的技术方案中视频编码器对应执行的部分,其实现原理和技术效果与之类似,此处不再赘述。图15仅为本发明提供的计算机系统的结构的一种示意图,具体结构可根据实际进行调整。
可以理解的是,本发明视频编码器例如可以部署于数码相机、手机、电视机、电脑或者可采用HEVC标准的其它能够进行视频播放和/或视频录制的设备之中。
参见图16,图16示出本发明实施例提供一种视频解码器1600,可包括:
接收单元1610、获得单元1620、第二列表构建单元1630、运动矢量确定单元1640和解码单元1650。
接收单元1610,用于接收已编码的第一图像块和第一位置指示,其中,第一位置指示用于指示出第一图像块的运动矢量预测值在运动矢量预测值列表中所处位置;
获得单元1620,用于获得第一图像块对应的N个运动矢量预测值;
第一列表构建单元1630,用于构建第一图像块对应的运动矢量预测值列表,其中,上述运动矢量预测值列表记录了上述N个运动矢量预测值,上述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,上述零值运动矢量预测值和上述M个空域运动矢量预测值在上述运动矢量预测值列表中的位置位于上述时域运动矢量预测值之前,上述零值运动矢量预测值所指向的参考图像来自于与第一图像块所在图像层不同的图像层;其中,运动矢量预测值列表中越靠前的位置所对应的索引号越小,运动矢量预测值列表中各位置的索引号从起始位置开始依次递增。例如运动矢量预测值列表的起始位置对应的索引号可为0或1,之后位置对应的索引号依次递增。
运动矢量确定单元1640,用于基于第一位置指示和上述运动矢量预测值列表确定第一图像块的运动矢量预测值;
解码单元1650,用于基于运动矢量确定单元1640确定出的第一图像块的运动矢量预测值对第一图像块进行解码。
在本发明的一些实施例中,上述零值运动矢量预测值在上述运动矢量预测值列表中的位置位于上述M个空域运动矢量预测值之前;或者,上述零值运动矢量预测值在上述运动矢量预测值列表中的位置位于第一空域运动矢量预测值和第二空域运动矢量预测值之间,上述M个空域运动矢量预测值包括第一空域运动矢量预测值和第二空域运动矢量预测值。
可以理解的是,本实施例的视频解码器1600的各功能模块的功能可根据图5所示方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
图17为本发明提供的一种视频解码器的结构示意图,如图17所示,本实施例的视频解码器包括至少一个总线1701、与总线1701相连的至少一个处理器1702以及与总线1701相连的至少一个存储器1703。
其中,处理器1702通过总线1701,调用存储器1703中存储的代码以用于接收已编码的第一图像块和第一位置指示,其中,第一位置指示用于指示出第一图像块的运动矢量预测值在运动矢量预测值列表中所处位置;获得第一图像块对应的N个运动矢量预测值;构建第一图像块对应的运动矢量预测值列表,其中,上述运动矢量预测值列表记录了上述N个运动矢量预测值,上述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,上述零值运动矢量预测值和上述M个空域运动矢量预测值在上述运动矢量预测值列表中的位置位于上述时域运动矢量预测值之前,上述零值运动矢量预测值所指向的参考图像来自于与第一图像块所在图像层不同的图像层;基于第一位置指示和上述运动矢量预测值列表确定第一图像块的运动矢量预测值;基于确定出的第一图像块的运动矢量预测值对第一图像块进行解码。其中,运动矢量预测值列表中越靠前的位置所对应的索引号越小,运动矢量预测值列表中各位置的索引号从起始位置开始依次递增。例如运动矢量预测值列表的起始位置对应的索引号可为0或1,之后位置对应的索引号依次递增。
本实施例提供的视频解码器,可以用于执行图5所示方法实施例的技术方案中视频编码器对应执行的部分,其实现原理和技术效果与之类似,此处不再赘述。图17仅为本发明提供的计算机系统的结构的一种示意图,具体结构可根据实际进行调整。
参见图18,图18示出本发明实施例提供另一种视频解码器1800,可包括:
接收单元1810、获得单元1820、第二列表构建单元1830、运动矢量确定单元1840和解码单元1850。
接收单元1810,用于接收已编码的第一图像块和第一位置指示,其中,第一位置指示用于指示出第一图像块的运动矢量预测值在运动矢量预测值列表中所处位置;
获得单元1820,用于获得第一图像块对应的N个运动矢量预测值;
第二列表构建单元1830,用于构建第一图像块对应的运动矢量预测值列表,其中,上述运动矢量预测值列表记录了上述N个运动矢量预测值,上述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,用于指示上述零值运动矢量预测值在上述运动矢量预测值列表中所处位置的第一位置指示的比特数,小于用于指示上述时域运动矢量预测值在上述运动矢量预测值列表中所处位置的第二位置指示的比特数;用于指示第一空域运动矢量预测值在上述运动矢量预测值列表中所处位置的第三位置指示的比特数,小于用于指示上述时域运动矢量预测值在上述运动矢量预测值列表中所处位置的第二位置指示的比特数,其中,第一空域运动矢量预测值为上述M个空域运动矢量预测值中的任意一个,上述零值运动矢量预测值所指向的参考图像来自于与第一图像块所在图像层不同的图像层。
运动矢量确定单元1840,用于基于第一位置指示和上述运动矢量预测值列表确定第一图像块的运动矢量预测值;
解码单元1850,用于基于运动矢量确定单元1840确定出的第一图像块的运动矢量预测值对第一图像块进行解码。
在本发明的一些实施例中,上述零值运动矢量预测值在上述运动矢量预测值列表中的位置位于上述M个空域运动矢量预测值之前;或者,上述零值运动矢量预测值在上述运动矢量预测值列表中的位置位于第一空域运动矢量预测值和第二空域运动矢量预测值之间,上述M个空域运动矢量预测值包括第一空域运动矢量预测值和第二空域运动矢量预测值。
可以理解的是,本实施例的视频解码器1800的各功能模块的功能可根据图7所示方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
图19为本发明提供的一种视频解码器的结构示意图,如图19所示,本实施例的视频解码器包括至少一个总线1901、与总线1901相连的至少一个处理器1902以及与总线1901相连的至少一个存储器1903。
其中,处理器1902通过总线1901,调用存储器1903中存储的代码以用于接收已编码的第一图像块和第一位置指示,其中,第一位置指示用于指示出第一图像块的运动矢量预测值在运动矢量预测值列表中所处位置;获得第一图像块对应的N个运动矢量预测值;构建第一图像块对应的运动矢量预测值列表,其中,上述运动矢量预测值列表记录了上述N个运动矢量预测值,上述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,用于指示上述零值运动矢量预测值在上述运动矢量预测值列表中所处位置的第一位置指示的比特数,小于用于指示上述时域运动矢量预测值在上述运动矢量预测值列表中所处位置的第二位置指示的比特数;用于指示第一空域运动矢量预测值在上述运动矢量预测值列表中所处位置的第三位置指示的比特数,小于用于指示上述时域运动矢量预测值在上述运动矢量预测值列表中所处位置的第二位置指示的比特数,其中,第一空域运动矢量预测值为上述M个空域运动矢量预测值中的任意一个,上述零值运动矢量预测值所指向的参考图像来自于与第一图像块所在图像层不同的图像层;基于第一位置指示和上述运动矢量预测值列表确定第一图像块的运动矢量预测值;基于确定出的第一图像块的运动矢量预测值对第一图像块进行解码。
本实施例提供的视频解码器,可以用于执行图7所示方法实施例的技术方案中视频编码器对应执行的部分,其实现原理和技术效果与之类似,此处不再赘述。图19仅为本发明提供的计算机系统的结构的一种示意图,具体结构可根据实际进行调整。
可以理解的是,本发明视频解码器例如可以部署于数码相机、手机、电视机、电脑或者可采用HEVC标准的其它能够进行视频播放和/或视频录制的设备之中。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的运动矢量预测值列表构建方法的部分或全部步骤。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的视频编码方法部分或全部步骤。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的视频解码方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (22)
1.一种运动矢量预测值列表构建方法,其特征在于,包括:
获得第一图像块对应的N个运动矢量预测值;
构建所述第一图像块对应的运动矢量预测值列表,其中,所述运动矢量预测值列表记录了所述N个运动矢量预测值,所述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,所述零值运动矢量预测值和所述M个空域运动矢量预测值在所述运动矢量预测值列表中的位置位于所述时域运动矢量预测值之前,所述零值运动矢量预测值所指向的参考图像来自于与所述第一图像块所在图像层不同的图像层,所述运动矢量预测值列表中越靠前的位置所对应的索引号越小。
2.根据权利要求1所述的方法,其特征在于,
所述零值运动矢量预测值在所述运动矢量预测值列表中的位置位于所述M个空域运动矢量预测值之前;或者,所述零值运动矢量预测值在所述运动矢量预测值列表中的位置位于第一空域运动矢量预测值和第二空域运动矢量预测值之间,所述M个空域运动矢量预测值包括所述第一空域运动矢量预测值和所述第二空域运动矢量预测值。
3.根据权利要求1所述的方法,其特征在于,所述N个运动矢量预测值还包括层间运动矢量预测值,其中,所述层间运动矢量预测值位于所述运动矢量预测值列表中的起始位置。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述零值运动矢量预测值所指向的参考图像,来自于所述第一图像块所在图像层的相邻图像层。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述零值运动矢量预测值所指向的参考图像来自于基本层。
6.一种运动矢量预测值列表构建方法,其特征在于,包括:
获得第一图像块对应的N个运动矢量预测值;
构建所述第一图像块对应的运动矢量预测值列表,其中,所述运动矢量预测值列表记录了所述N个运动矢量预测值,所述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,用于指示所述零值运动矢量预测值在所述运动矢量预测值列表中所处位置的第一位置指示的比特数,小于用于指示所述时域运动矢量预测值在所述运动矢量预测值列表中所处位置的第二位置指示的比特数;用于指示第一空域运动矢量预测值在所述运动矢量预测值列表中所处位置的第三位置指示的比特数,小于用于指示所述时域运动矢量预测值在所述运动矢量预测值列表中所处位置的第二位置指示的比特数,其中,所述第一空域运动矢量预测值为所述M个空域运动矢量预测值中的任意一个,所述零值运动矢量预测值所指向的参考图像来自于与所述第一图像块所在图像层不同的图像层。
7.根据权利要求6所述的方法,其特征在于,
所述第一位置指示的比特数小于所述第三位置指示的比特数;或者,所述第一位置指示的比特数大于第四位置指示的比特数且小于第五位置指示的比特数,其中,所述第四位置指示用于指示第二空域运动矢量预测值在所述运动矢量预测值列表中所处位置,所述第五位置指示用于指示第三空域运动矢量预测值在所述运动矢量预测值列表中所处位置,所述M个空域运动矢量预测值包括所述第二空域运动矢量预测值和所述第三空域运动矢量预测值。
8.根据权利要求6或7所述的方法,其特征在于,所述N个运动矢量预测值还包括层间运动矢量预测值,其中,第六位置指示的比特数小于第三位置指示的比特数和第二位置指示的比特数,所述第六位置指示用于指示所述层间运动矢量预测值在所述运动矢量预测值列表中所处位置。
9.一种视频编码方法,其特征在于,包括:
获得第一图像块对应的N个运动矢量预测值;
构建所述第一图像块对应的运动矢量预测值列表,其中,所述运动矢量预测值列表记录了所述N个运动矢量预测值,所述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,所述零值运动矢量预测值和所述M个空域运动矢量预测值在所述运动矢量预测值列表中的位置位于所述时域运动矢量预测值之前,所述零值运动矢量预测值所指向的参考图像来自于与所述第一图像块所在图像层不同的图像层,所述运动矢量预测值列表中越靠前的位置所对应的索引号越小;
基于所述运动矢量预测值列表确定所述第一图像块的运动矢量预测值;
基于确定出的所述第一图像块的运动矢量预测值对所述第一图像块进行编码。
10.根据权利要求9所述的方法,其特征在于,
所述零值运动矢量预测值在所述运动矢量预测值列表中的位置位于所述M个空域运动矢量预测值之前;或者,所述零值运动矢量预测值在所述运动矢量预测值列表中的位置位于第一空域运动矢量预测值和第二空域运动矢量预测值之间,所述M个空域运动矢量预测值包括所述第一空域运动矢量预测值和所述第二空域运动矢量预测值。
11.根据权利要求9或10所述的方法,其特征在于,所述N个运动矢量预测值还包括层间运动矢量预测值,其中,所述层间运动矢量预测值位于所述运动矢量预测值列表中的起始位置。
12.一种视频解码方法,其特征在于,包括:
接收已编码的第一图像块和第一位置指示,其中,所述第一位置指示用于指示出第一图像块的运动矢量预测值在运动矢量预测值列表中所处位置;
获得所述第一图像块对应的N个运动矢量预测值;
构建所述第一图像块对应的运动矢量预测值列表,其中,所述运动矢量预测值列表记录了所述N个运动矢量预测值,所述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,所述零值运动矢量预测值和所述M个空域运动矢量预测值在所述运动矢量预测值列表中的位置位于所述时域运动矢量预测值之前,所述零值运动矢量预测值所指向的参考图像来自于与所述第一图像块所在图像层不同的图像层,所述运动矢量预测值列表中越靠前的位置所对应的索引号越小;
基于所述第一位置指示和所述运动矢量预测值列表确定所述第一图像块的运动矢量预测值;
基于确定出的所述第一图像块的运动矢量预测值对所述第一图像块进行解码。
13.根据权利要求12所述的方法,其特征在于,
所述零值运动矢量预测值在所述运动矢量预测值列表中的位置位于所述M个空域运动矢量预测值之前;或者,所述零值运动矢量预测值在所述运动矢量预测值列表中的位置位于第一空域运动矢量预测值和第二空域运动矢量预测值之间,所述M个空域运动矢量预测值包括所述第一空域运动矢量预测值和所述第二空域运动矢量预测值。
14.根据权利要求12或13所述的方法,其特征在于,所述N个运动矢量预测值还包括层间运动矢量预测值,其中,所述层间运动矢量预测值位于所述运动矢量预测值列表中的起始位置。
15.一种运动矢量预测值列表构建装置,其特征在于,包括:
获得单元,用于获得第一图像块对应的N个运动矢量预测值;
第一列表构建单元,用于构建所述第一图像块对应的运动矢量预测值列表,其中,所述运动矢量预测值列表记录了所述N个运动矢量预测值,所述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,所述零值运动矢量预测值和所述M个空域运动矢量预测值在所述运动矢量预测值列表中的位置位于所述时域运动矢量预测值之前,所述零值运动矢量预测值所指向的参考图像来自于与所述第一图像块所在图像层不同的图像层,所述运动矢量预测值列表中越靠前的位置所对应的索引号越小。
16.根据权利要求15所述的装置,其特征在于,所述获得单元获得的所述零值运动矢量预测值所指向的参考图像来自于基本层。
17.一种运动矢量预测值列表构建装置,其特征在于,包括:
获得单元,获得第一图像块对应的N个运动矢量预测值;
第二列表构建单元,用于构建所述第一图像块对应的运动矢量预测值列表,其中,所述运动矢量预测值列表记录了所述N个运动矢量预测值,所述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,用于指示所述零值运动矢量预测值在所述运动矢量预测值列表中所处位置的第一位置指示的比特数,小于用于指示所述时域运动矢量预测值在所述运动矢量预测值列表中所处位置的第二位置指示的比特数;用于指示第一空域运动矢量预测值在所述运动矢量预测值列表中所处位置的第三位置指示的比特数,小于用于指示所述时域运动矢量预测值在所述运动矢量预测值列表中所处位置的第二位置指示的比特数,其中,所述第一空域运动矢量预测值为所述M个空域运动矢量预测值中的任意一个,所述零值运动矢量预测值所指向的参考图像来自于与所述第一图像块所在图像层不同的图像层。
18.根据权利要求17所述的装置,其特征在于,所述获得单元获得的所述零值运动矢量预测值所指向的参考图像来自于基本层。
19.一种视频编码器,其特征在于,包括:
获得单元,用于获得第一图像块对应的N个运动矢量预测值;
第一列表构建单元,用于构建所述第一图像块对应的运动矢量预测值列表,其中,所述运动矢量预测值列表记录了所述N个运动矢量预测值,所述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,所述零值运动矢量预测值和所述M个空域运动矢量预测值在所述运动矢量预测值列表中的位置位于所述时域运动矢量预测值之前,所述零值运动矢量预测值所指向的参考图像来自于与所述第一图像块所在图像层不同的图像层,所述运动矢量预测值列表中越靠前的位置所对应的索引号越小;
运动矢量预测值确定单元,用于基于所述运动矢量预测值列表确定所述第一图像块的运动矢量预测值;
编码单元,用于基于所述运动矢量预测值确定单元确定出的所述第一图像块的运动矢量预测值对所述第一图像块进行编码。
20.根据权利要求19所述的视频编码器,其特征在于,
所述零值运动矢量预测值在所述运动矢量预测值列表中的位置位于所述M个空域运动矢量预测值之前;或者,所述零值运动矢量预测值在所述运动矢量预测值列表中的位置位于第一空域运动矢量预测值和第二空域运动矢量预测值之间,所述M个空域运动矢量预测值包括所述第一空域运动矢量预测值和所述第二空域运动矢量预测值。
21.一种视频解码器,其特征在于,包括:
接收单元,用于接收已编码的第一图像块和第一位置指示,其中,所述第一位置指示用于指示出第一图像块的运动矢量预测值在运动矢量预测值列表中所处位置;
获得单元,用于获得所述第一图像块对应的N个运动矢量预测值;
第一列表构建单元,用于构建所述第一图像块对应的运动矢量预测值列表,其中,所述运动矢量预测值列表记录了所述N个运动矢量预测值,所述N个运动矢量预测值包括零值运动矢量预测值、时域运动矢量预测值和M个空域运动矢量预测值,所述零值运动矢量预测值和所述M个空域运动矢量预测值在所述运动矢量预测值列表中的位置位于所述时域运动矢量预测值之前,所述零值运动矢量预测值所指向的参考图像来自于与所述第一图像块所在图像层不同的图像层,所述运动矢量预测值列表中越靠前的位置所对应的索引号越小;
运动矢量预测值确定单元,用于基于所述第一位置指示和所述运动矢量预测值列表确定所述第一图像块的运动矢量预测值;
解码单元,用于基于所述运动矢量预测值确定单元确定出的所述第一图像块的运动矢量预测值对所述第一图像块进行解码。
22.根据权利要求21所述的视频解码器,其特征在于,
所述零值运动矢量预测值在所述运动矢量预测值列表中的位置位于所述M个空域运动矢量预测值之前;或者,所述零值运动矢量预测值在所述运动矢量预测值列表中的位置位于第一空域运动矢量预测值和第二空域运动矢量预测值之间,所述M个空域运动矢量预测值包括所述第一空域运动矢量预测值和所述第二空域运动矢量预测值。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310007667.XA CN103079067B (zh) | 2013-01-09 | 2013-01-09 | 运动矢量预测值列表构建方法和视频编解码方法及装置 |
PCT/CN2013/082035 WO2014107961A1 (zh) | 2013-01-09 | 2013-08-22 | 运动矢量预测值列表构建方法和视频编解码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310007667.XA CN103079067B (zh) | 2013-01-09 | 2013-01-09 | 运动矢量预测值列表构建方法和视频编解码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103079067A CN103079067A (zh) | 2013-05-01 |
CN103079067B true CN103079067B (zh) | 2016-03-09 |
Family
ID=48155463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310007667.XA Active CN103079067B (zh) | 2013-01-09 | 2013-01-09 | 运动矢量预测值列表构建方法和视频编解码方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103079067B (zh) |
WO (1) | WO2014107961A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103079067B (zh) * | 2013-01-09 | 2016-03-09 | 华为技术有限公司 | 运动矢量预测值列表构建方法和视频编解码方法及装置 |
CN104717510B (zh) * | 2013-12-13 | 2018-08-17 | 华为技术有限公司 | 用于图像处理的方法和装置 |
CN103747264B (zh) * | 2014-01-03 | 2017-10-17 | 华为技术有限公司 | 预测运动矢量的方法、编码设备和解码设备 |
CN109889850A (zh) * | 2014-02-21 | 2019-06-14 | 联发科技(新加坡)私人有限公司 | 视频编解码方法 |
WO2016165069A1 (en) * | 2015-04-14 | 2016-10-20 | Mediatek Singapore Pte. Ltd. | Advanced temporal motion vector prediction in video coding |
CN108172168B (zh) * | 2017-12-22 | 2019-11-15 | 深圳市华星光电半导体显示技术有限公司 | 一种补偿表压缩方法 |
US10652550B2 (en) | 2017-12-22 | 2020-05-12 | Shenzhen China Star Optoelectronics Semiconductor Display Technology Co., Ltd. | Compensation table compressing method |
CN111163322B (zh) * | 2020-01-08 | 2022-08-30 | 绍兴文理学院 | 对基于历史运动矢量的索引进行映射的编码及解码方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2622732T3 (es) * | 2011-01-07 | 2017-07-07 | Ntt Docomo, Inc. | Procedimiento de codificación predictiva, dispositivo de codificación predictiva y programa de codificación predictiva de un vector de movimiento, y procedimiento de descodificación predictiva, dispositivo de descodificación predictiva y programa de descodificación predictiva de un vector de movimiento |
CN102611881B (zh) * | 2011-01-19 | 2014-06-25 | 华为技术有限公司 | 参考运动矢量获取方法、模块及编、解码装置 |
US9319716B2 (en) * | 2011-01-27 | 2016-04-19 | Qualcomm Incorporated | Performing motion vector prediction for video coding |
MX2013012209A (es) * | 2011-05-31 | 2013-11-01 | Panasonic Corp | Metodo de codificacion de video, aparato de codificacion de video, metodo de decodificacion de video, aparato de decodificacion de video y aparato de codificacion/decodificacion de video. |
CN103079067B (zh) * | 2013-01-09 | 2016-03-09 | 华为技术有限公司 | 运动矢量预测值列表构建方法和视频编解码方法及装置 |
-
2013
- 2013-01-09 CN CN201310007667.XA patent/CN103079067B/zh active Active
- 2013-08-22 WO PCT/CN2013/082035 patent/WO2014107961A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2014107961A1 (zh) | 2014-07-17 |
CN103079067A (zh) | 2013-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103079067B (zh) | 运动矢量预测值列表构建方法和视频编解码方法及装置 | |
KR102017165B1 (ko) | 영상 복호화 방법 및 장치 | |
RU2699258C2 (ru) | Способ прогнозирования изображения и устройство прогнозирования изображения | |
CN107534770B (zh) | 图像预测方法和相关设备 | |
CN103975597B (zh) | 纹理及深度视图分量当中的内部视图运动预测 | |
CN104838658B (zh) | 具有不对称空间分辨率的纹理和深度视图分量当中的内部视图运动预测 | |
CN104768011B (zh) | 图像编解码方法和相关装置 | |
CN104012089B (zh) | 用于设置时间合并候选的参考画面索引的方法和设备 | |
CN103329525B (zh) | 用于视频译码的组合参考图片列表建构 | |
CN102857764B (zh) | 帧内预测模式处理的方法和装置 | |
CN103891290A (zh) | 运动矢量处理 | |
CN103891281A (zh) | 检测用于视频译码的相邻视频单元的可用性 | |
CN104704833A (zh) | 多视图或3维视频译码中的高级视图间残差预测 | |
CN104054350A (zh) | 用于视频编码的方法和装置 | |
CN104604232A (zh) | 用于编码多视点图像的方法及装置,以及用于解码多视点图像的方法及装置 | |
CN107257476A (zh) | 帧间预测方法及其装置 | |
CN110832869B (zh) | 用于视频编码或解码的运动信息获取方法与装置 | |
CN105580374A (zh) | Mv-hevc中的视图间相依性类型 | |
CN104581159A (zh) | 视频编解码中的块分割方式确定方法及相关装置 | |
CN102740071A (zh) | 可分级视频编解码器的编码设备及其方法 | |
CN104956676A (zh) | 层间语法预测控制 | |
CN108605123A (zh) | 通过使用预测对视频进行编码和解码的方法和装置 | |
CN103491371A (zh) | 基于分层的编码方法、装置和设备 | |
CN105933706A (zh) | 多媒体编解码器、应用处理器和电子装置 | |
CN104104956A (zh) | 用于分层视频编码和解码的方法、编码装置和解码装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |