CN110602502B - 一种运动矢量编码和解码的方法 - Google Patents

一种运动矢量编码和解码的方法 Download PDF

Info

Publication number
CN110602502B
CN110602502B CN201910785729.7A CN201910785729A CN110602502B CN 110602502 B CN110602502 B CN 110602502B CN 201910785729 A CN201910785729 A CN 201910785729A CN 110602502 B CN110602502 B CN 110602502B
Authority
CN
China
Prior art keywords
motion vector
idle
mapping
current
mvs
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
CN201910785729.7A
Other languages
English (en)
Other versions
CN110602502A (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.)
Beijing Boya Ruishi Technology Co ltd
Original Assignee
University of Shaoxing
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 University of Shaoxing filed Critical University of Shaoxing
Priority to CN201910785729.7A priority Critical patent/CN110602502B/zh
Publication of CN110602502A publication Critical patent/CN110602502A/zh
Application granted granted Critical
Publication of CN110602502B publication Critical patent/CN110602502B/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/583Motion compensation with overlapping blocks

Abstract

本发明涉及一种运动矢量编码和解码的方法,其中编码方法包括映射前运动矢量集合和闲置运动矢量集合,闲置运动矢量集合是由当前编码块与参考块重叠区域的运动矢量和/或处于当前未重建区域的运动矢量所构成,将映射前运动矢量集合中的邻近MV/历史MV与闲置运动矢量集合中的运动矢量建立一一映射关系。本发明提供的编码方法适用于各种运动矢量的编码方案使用,不需要使用标识符,减少了标识符造成的比特数消耗;本发明选用原本存在而未被启用的“闲置运动矢量”来充当标识符和index作用,这样不仅能够充分利用邻近MV或历史MV的相关性和统计特性,也整体上减少了编码运动矢量所消耗的比特数,使得编码效率显著提高。

Description

一种运动矢量编码和解码的方法
技术领域:
本发明涉及图像和视频数字处理技术领域,尤其涉及一种运动矢量编码和解码的方法。
背景技术:
新一代主流云计算与信息处理平台中,直接传输云端产生的屏幕图像的像素数据到客户端是数据传输所需带宽最省、安全性高的一种系统架构。任何直接从各类设备的屏幕图像显示单元捕获的视频或图像,或者作为信息载体显示在显示屏上的内容都称为屏幕图像。屏幕无处不在,各种各样日益剧增的应用产生的屏幕内容错综复杂,种类繁多。因此,对屏幕图像进行超高压缩比和极高质量的数据压缩技术,即屏幕图像编码(ScreenContent Coding,SCC)技术,成为当前云计算、云移动计算、桌面云、远程桌面、智能手机和平板电脑的第二显示、屏幕分享等新一代云计算与信息处理应用中解决客户端与云服务器端或客户端与客户端之间数据传输瓶颈问题中亟需的技术。
屏幕图像编码算法的研究主要围绕国际视频标准HEVC(High Efficiency VideoCoding,HEVC)SCC扩展版和VVC(Versatile Video Coding)、我国数字音视频编码技术标准(Audio Video Coding Standard,AVS)工作组制定AVS第二代(简称AVS2)标准的屏幕混合内容视频编码(Screen and Mixed Content Coding,SMCC)扩展版和AVS3标准展开。HEVC-SCC版的标准制定工作于2014年1月份启动并发布了标准提案征集公告,到2016年3月份标准制定完成。VVC和AVS3标准目前处于制定阶段。与前一代国际标准HEVC和我国AVS2标准类似的,VVC和AVS3中定义了3种块分割单元,分别是编码单元(CodingUnit,CU),预测单元(Prediction Unit,PU),和变换单元(Transform Unit,TU),但是PU、TU必须与CU一致。CU是最基本的二维对称结构编码单位,各种编码环节如帧内/帧间预测、变换、量化、以及熵编码都是以CU为单位进行的。最大的CU称为LCU(Largest Coding Unit),一般设置为128x128。一帧图像可以认为是由互相不重叠的LCU组合而成,由于CU是二维对称结构,对LCU的进一步分割是以递归四叉树方式或三叉树或二叉树进行的。与之相对应地,最小的CU一般设置为4x4。屏幕混合内容视频编码也称屏幕图像编码,SMCC也称SCC。
从视频编码角度来看,屏幕图像的显著特点主要体现在屏幕图像局部或全局范围中具有各种各样的形状和大小不一的重复样图。针对这一特性,目前主流的去除重复样图冗余的屏幕图像编码算法主要包括帧内块复制或匹配(Intra Block Copy,IBC)算法、调色板(Palette,PLT)算法和串匹配(String Matching,SM)。
运动矢量(Motion Vector,MV)是帧内块复制和串匹配算法中关键的编码参数。帧内块复制算法是帧间运动估计和补偿算法在当前帧内的扩展。帧间运动估计和补偿的参考像素是当前帧编解码之前已经完成编解码的重建图像帧,而IBC的参考像素是当前帧内已经完成的帧内重建图像帧。运动矢量用来表示当前帧中当前块与参考块位置关系,其需要被编码和解码。运动矢量也称为Block Vector或Displacement Vector或Offset,运动矢量通常简称为MV,MV一般由MVx和MVy组成,MV的确定方式如下:设当前编码单元在图像中的位置为(currPosx,currPosy),最佳参考块在图像中的位置为(refPosx,refPosy),则有:
MVx=currPosx-refPosx或MVx=refPosx-currPosx
MVy=currPosy-refPosy或MVy=refPosy–currPosy
现有的MV编码方案主要有以下三种:直接编码方案、预测编码方案、自适应预测或直接编码方案。图像的相关性和MV的统计特征表明,当前待编码的MV与其邻近运动矢量或者其历史运动矢量具有较强的相关性。假设当前待编码的MV为(MVx,MVy),mvcoding表示MV的编码方案,那么现有的三种MV编码方案及其存在的不足说明如下:
1、直接编码方案:该方案是将当前运动矢量的数值本身按照预定方式直接写入码流,可以表示为:mvcoding(MVx,MVy)。这种直接编码方案没有充分利用当前MV与其邻近MV/或历史MV之间的相关性和统计特性,因此存在编码效率不高的问题。
2、预测编码方案:该方案是通过从邻近MV或历史MV候选集内选择其中的一个运动矢量作为预测运动矢量(MVPx,MVPy),首先编码index用来表示选择哪个候选运动矢量作为当前预测运动矢量,然后再编码当前运动矢量与预测运动矢量的差,可以表示为:
编码index;
mvcoding(MVx-MVPx,MVy-MVPy)。
一般而言,当预测运动矢量的水平分量与垂直分量的绝对值之和,比当前运动矢量的水平分量与垂直分量的绝对值之和要大时,反而需要消耗更多的比特数,因此,这种编码方案同样存在编码效率不高的问题。
3、自适应预测或直接编码方案:该方案首先需要用标识符来表示当前MV所采用的编码方案(采用预测编码方案还是直接编码方案),如果当前MV采用预测编码方案,则还需要用标识符来标识当前MV是否是邻近或历史MV列表中的运动矢量之一;如果当前MV是邻近或历史MV列表中的运动矢量之一,则编码当前MV对应在邻近或历史MV列表中对应的index;否则将当前MV直接写入码流,可以表示为:
编码预测编码或直接编码方案标识;
如果(MVx,MVy)是邻近运动矢量之一,则
编码邻近运动矢量标识;
编码(MVx,MVy)对应在邻近运动矢量列表index;
如果(MVx,MVy)是历史运动矢量之一,且邻近运动矢量不为空,则
编码邻近和历史运动矢量标识;
编码(MVx,MVy)对应在历史运动矢量列表index;
如果(MVx,MVy)是历史运动矢量之一,且邻近运动矢量为空,则
编码历史运动矢量标识;
编码(MVx,MVy)对应在历史运动矢量列表index;
如果(MVx,MVy)不是邻近或历史运动矢量之一,则
mvcoding(MVx,MVy)。
这种自适应预测或直接编码方案,需要使用到标识符来起到标识作用,而标识符会造成比特数的消耗;并且方案中对于非邻近MV或非历史MV也同样需要增加标识符位,进一步会导致不必要的比特数消耗,从而令该方案的编码效率受到明显的损害。
在现有的直接编码方案中,由于参考块与当前块在同一帧内,参考块与当前块不能有任何重叠部分且参考块不能是当前未重建区域,所以当前运动矢量的数值(MVx,MVy)取值是受到限制的。例如:对于MVx小于最小编码单位的宽,且MVy小于最小编码单位的高(说明参考块与当前块有重叠),该区域内的MV在目前的编码方案中是不会使用到的,这些未被使用到的MV可以被称为“闲置MV”(图1给出了“闲置MV”取值区域的示意图)。关于“闲置MV”的取值举例说明如下:如果最小编码单位的宽和高均为4,那么“闲置MV”集合中的一部分数值为:
{(0,-3),(0,-2),(0,-1),(0,0),(0,1),(0,2),(0,3)}
事实上,这些“闲置MV”本身就存在于现有的MV编码方案中,在目前编码方案中不会被使用到,但是仍然需要占用标识符造成比特数消耗。而这些“闲置MV”通常数值比较小,消耗的比特数也非常小,比如MV(0,0)是一个“闲置MV”,在所有的MV中消耗的比特数最少。
鉴于上述现有MV编码方案中存在编码效率不高的问题,本发明充分发挥了“闲置MV”的作用,将其与当前MV的邻近或历史MV建立映射关系,取消了标识符的使用,显著降低了比特数的消耗,使得编码效率大幅提升。有鉴于此,本案由此而生。
发明内容:
为了实现提高MV编码效率的发明目的,本发明所采用的技术方案为:
一种运动矢量编码的方法,包括:
1)建立映射规则:包括映射前运动矢量集合和闲置运动矢量集合,所述映射前运动矢量集合是由预设数量的邻近运动矢量和/或历史运动矢量构成,所述闲置运动矢量集合是由表示当前编码块与参考块重叠区域的运动矢量、和/或表示参考块处于当前未重建区域的运动矢量所构成,将映射前运动矢量集合中的运动矢量与闲置运动矢量集合中的运动矢量建立一一映射关系;
2)判断当前编码运动矢量是否属于映射前运动矢量集合中的邻近运动矢量或历史运动矢量,如果属于,根据映射规则,则将当前编码运动矢量与闲置运动矢量集合中对应的闲置运动矢量映射,然后执行3);如果不属于,直接执行3);
3)对当前编码运动矢量直接编码方案进行编码。
所述步骤1)中映射前运动矢量集合中的运动矢量与闲置运动矢量集合中的运动矢量建立一一映射关系之前,首先对所述闲置运动矢量集合中的运动矢量按照比特数消耗大小从小到大排序,根据比特数消耗由小到大在闲置运动矢量集合中选取预设数量的闲置运动矢量,该预设数量与待编码运动矢量集合中的运动矢量数量一致,将该预设数量的闲置运动矢量与待编码运动矢量集合中的运动矢量一一映射。
上述运动矢量的编码方法既适用于有损数据压缩的编码,又适用于无损数据压缩的编码;既适用于图像数据的编码,又适用于任何二维或多维数据的编码;适用于各种运动矢量的编码方案使用。本发明提供的编码方法不需要使用标识符,减少了标识符造成的比特数消耗,而是选用原本存在而未被启用的“闲置运动矢量”来充当标识符和index作用,这样不仅能够充分利用邻近MV或历史MV的相关性和统计特性,也整体上减少了编码运动矢量所消耗的比特数,使得编码效率显著提高。
本发明除了上述公开的运动矢量编码方法之外,还公开了一种用上述编码方法编码运动矢量的解码方法,具体采用如下解码方案:
一种已编码运动矢量的解码方法,包括待解码的已编码运动矢量,所述已编码运动矢量按照上述编码方法进行编码,解码方法如下:
1)设置逆映射规则:该逆映射规则与上述编码方法中的映射规则互为逆映射关系;
2)对当前解码运动矢量用直接解码方案进行解码;
3)判断当前解码运动矢量是否属于闲置运动矢量集合中的闲置运动矢量,如果属于,根据逆映射规则,则将当前解码运动矢量与映射前运动矢量集合中对应的邻近运动矢量或历史运动矢量映射,然后执行步骤3);如果不属于,直接执行步骤3);
4)获得解码后运动矢量。
以下通过附图和具体实施方式对本发明做进一步阐述。
附图说明:
图1为本发明中提及的“闲置运动矢量”的取值范围示意图;
图2为本发明运动矢量编码的一个实施例示意图;
图3为本发明运动矢量解码的一个实施例示意图。
具体实施方式:
为了更好的理解本发明的技术方案以及相关背景技术,以下将给出本技术领域的一些专业术语解释说明,本发明所提供方案中涉及到的术语参照给出的解释进行理解。
术语说明:
“图像编码”(/“图像解码”):是指将一帧图像划分为编码块(/解码块),一个块一个块地进行编码(/解码)。
“当前编码块”(/“当前解码块”):当前正在进行编码(/解码)的编码块(/解码块)被称为“当前编码块”(/“当前解码块”)。
“邻近编码块”(/“邻近解码块”):在与当前编码块(/解码块)相邻或邻近空间位置上的编码块(/解码块)被称为|邻近编码块(/“邻近解码块”)。
“历史编码块”(/“历史解码块”):在当前编码块(/解码块)之前进行编码(/解码)的编码块(/解码块)被称为“历史编码块”(/“历史解码块”)。
“邻近MV”:是当前编码块的邻近编码块的MV,或是当前解码块的邻近解码块的MV。
“历史MV”:是当前编码块的历史编码块的MV,或是当前解码块的历史解码块的MV,“历史MV”也被称为“最近MV”。
本发明涉及一种运动矢量的编码和解码方法,其中图2展示了编码方法的其中一个实施例情况,图3展示了解码方法的其中一个实施例情况,下面分别针对编码方法和解码方法举例说明,为了名称简化,以下某些地方将“运动矢量”用“MV”代替。
一种运动矢量编码的方法,内容包括:
1)建立映射规则:包括映射前运动矢量集合和闲置运动矢量集合,映射前运动矢量集合是由预设数量的邻近运动矢量和/或历史运动矢量构成,闲置运动矢量集合是由表示当前编码块与参考块重叠区域的运动矢量、和/或表示参考块处于当前未重建区域的运动矢量所构成,将映射前运动矢量集合中的运动矢量与闲置运动矢量集合中的运动矢量建立一一映射关系;
2)判断当前编码运动矢量是否属于映射前运动矢量集合中的邻近运动矢量或历史运动矢量,如果属于,根据映射规则,则将当前编码运动矢量与闲置运动矢量集合中对应的闲置运动矢量映射,然后执行3);如果不属于,直接执行3);
3)对当前编码运动矢量直接编码方案进行编码。
根据编码MV的需要不同,上述映射前运动矢量集合中对应的MV构成也存在不同。映射前运动矢量集合可以由若干邻近MV构成,也可以由若干历史MV构成,还可以由若干邻近MV和历史MV共同构成,下面将分别给出这三种情况的具体实施例。
实施例1:设邻近MV的数量为常数M个,映射前运动矢量集合为{MV1,MV2,……MVM};根据本发明给出的闲置MV的取值方式可以得到闲置运动矢量集合即:{MV′1,MV′2,……MV′M},映射前运动矢量集合中的邻近MV数量与闲置运动矢量集合中的闲置MV数量均为M,将两个集合中的MV建立一一映射关系;判断当前编码MV是否为映射前运动矢量集合中第i个邻近MV(1≤i≤M),如果是,则将当前编码MV按照映射规则与闲置运动矢量集合中第i个闲置MV映射,然后对当前编码的MV用直接编码方案进行编码;如果不是邻近MV,则直接对当前编码的MV用直接编码方案进行编码。
实施例2:设历史MV的数量为常数N个,映射前运动矢量集合为{MV1,MV2,……MVN};根据本发明给出的闲置MV的取值方式可以得到闲置运动矢量集合即:{MV′1,MV′2,……MV′N},映射前运动矢量集合中的历史MV数量与闲置运动矢量集合中的闲置MV数量均为N,将两个集合中的MV建立一一映射关系;判断当前编码MV是否为映射前运动矢量集合中第i个历史MV(1≤i≤N),如果是,则将当前编码MV按照映射规则与闲置运动矢量集合中第i个闲置MV映射,然后对当前编码的MV用直接编码方案进行编码;如果不是历史MV,则直接对当前编码的MV用直接编码方案进行编码。
实施例3:设邻近MV的数量为常数M个、历史MV的数量为常数N个,映射前运动矢量集合表示为{(MVx,MVy)i,其中1≤i≤M+N}:{邻近MV1,邻近MV2,……,邻近MVM,历史MV1,历史MV2,……,历史MVN};根据本发明给出的闲置MV的取值方式可以得到闲置运动矢量集合,即MVmapping集合{(MVmappingx,MVmappingy)i,其中1≤i≤M+N}:{闲置MV1,闲置MV2,……闲置MVM,闲置MVM+1,闲置MVM+2,……闲置MVM+N}。映射前运动矢量集合中的MV数量与闲置运动矢量集合中的闲置MV数量均为M+N,将两个集合中的MV建立一一映射关系;判断当前编码MV是否为映射前运动矢量集合中第i个邻近MV或历史MV(1≤i≤M+N),如果是,则将当前编码MV按照映射规则与闲置运动矢量集合中第i个闲置MV映射,然后对当前编码的MV用直接编码方案进行编码;如果不是,则直接对当前编码的MV用直接编码方案进行编码。
上述给出的实施例中的闲置MV集合中的闲置MV虽说比特数消耗比较小,但集合中的每个闲置MV比特数消耗大小仍然存在差异,为了进一步降低比特数的消耗,可以在将映射前运动矢量集合中的MV与闲置运动矢量集合中的MV建立一一映射关系之前,首先对闲置运动矢量集合中的MV按照比特数消耗大小从小到大排序,然后根据比特数消耗由小到大的顺序选取预设数量(与映射前运动矢量集合中的MV数量一致)的闲置MV,再将该预设数量的闲置MV与映射前运动矢量集合中的MV一一映射。
本发明除了公开上述的运动矢量编码方法之外,还公开了一种用上述编码方法编码运动矢量的解码方法,具体采用如下解码方案:
一种已编码运动矢量的解码方法,包括待解码的已编码运动矢量,已编码运动矢量必须是按照上述编码方法进行编码。解码方法如下:
1)设置逆映射规则:该逆映射规则与上述编码方法中的映射规则互为逆映射关系;
2)对当前解码运动矢量用直接解码方案进行解码;
3)判断当前解码运动矢量是否属于闲置运动矢量集合中的闲置运动矢量,如果属于,根据逆映射规则,则将当前解码运动矢量与映射前运动矢量集合中对应的邻近运动矢量或历史运动矢量映射,然后执行步骤3);如果不属于,直接执行步骤3);
4)获得解码后运动矢量。
下面将给出采用该解码方法的几个实施例:
实施例4:本实施例的解码方法对应于实施例1中编码而展开:
(1)设置逆映射规则:将M个闲置MV一一映射到M个邻近运动矢量上,即:确定逆映射规则中映射前的闲置MV集合{(MVx,MVy)i,其中1≤i≤M}:{闲置MV1,闲置MV2,……,闲置MVM};上述集合中的闲置MV是经过比特数消耗由小到大排序的;
确定逆映射规则中与之映射的MVmapping集合{(MVmappingx,MVmappingy)i,其中1≤i≤M}:{邻近MV1,邻近MV2,……,邻近MVM};该集合在逆映射时,集合内部的MV是需要按照统计概率由大到下排序的;
(2)对当前待解码运动矢量用直接解码方案进行解码,表示为:mvdecoding(MVx,MVy);//mvdecoding是与mvcoding相对应的解码方案;
(3)如果当前待解码MV为第i个闲置MV,则根据逆映射规则,将当前待解码MV映射为第i个“M个邻近运动矢量集合”中的运动矢量,即:
如果(当前待解码运动矢量(MVx,MVy)=(MVx,MVy)i),则
当前待解码运动矢量(MVx,MVy)=(MVmappingx,MVmappingy)i
实施例5:本实施例的解码对应于实施例2中编码而展开:
(1)设置逆映射规则:将N个闲置MV一一映射到N个历史运动矢量上,即:确定逆映射规则中映射前的闲置MV集合{(MVx,MVy)i,其中1≤i≤N}:{闲置MV1,闲置MV2,……,闲置MVN};上述集合中的闲置MV是经过比特数消耗由小到大排序的;
确定逆映射规则中与之映射的MVmapping集合{(MVmappingx,MVmappingy)i,其中1≤i≤N}:{历史MV1,历史MV2,……,历史MVN};该集合在逆映射时,集合内部的MV是需要按照统计概率由大到下排序的;
(2)对当前待解码运动矢量用直接解码方案进行解码,表示为:mvdecoding(MVx,MVy);//mvdecoding是与mvcoding相对应的解码方案;
(3)如果当前待解码MV为第i个闲置MV,则根据逆映射规则,将当前待解码MV映射为第i个“N个历史运动矢量集合”中的运动矢量,即:
如果(当前待解码运动矢量(MVx,MVy)=(MVx,MVy)i),则
当前待解码运动矢量(MVx,MVy)=(MVmappingx,MVmappingy)i
实施例6:本实施例的解码对应于实施例3中编码而展开:
(1)设置逆映射规则:将M+N个闲置MV一一映射到M个邻近运动矢量和N个历史运动矢量上,即:确定逆映射规则中映射前的闲置MV集合{(MVx,MVy)i,其中1≤i≤M+N}:{闲置MV1,闲置MV2,……,闲置MVM,闲置MVM+1,闲置MVM+2,……,闲置MVM+N};
确定逆映射规则中与之映射的MVmapping集合{(MVmappingx,MVmappingy)i,其中1≤i≤M+N}:{邻近MV1,邻近MV2,……,邻近MVM,历史MV1,历史MV2,……,历史MVN};
(2)对当前待解码运动矢量用直接解码方案进行解码,表示为:mvdecoding(MVx,MVy);//mvdecoding是与mvcoding相对应的解码方案;
(3)如果当前待解码MV为第i个闲置MV,则根据逆映射规则,将当前待解码MV映射为第i个“M个邻近和N个历史运动矢量集合”中的运动矢量,即:
如果(当前待解码运动矢量(MVx,MVy)=(MVx,MVy)i),则
当前待解码运动矢量(MVx,MVy)=(MVmappingx,MVmappingy)i
实施例7:本实施例是基于实施例4基础上进一步限制了M≤4,其他内容同实施例4。
实施例8:本实施例是基于实施例5基础上进一步限制了N≤32,其他内容同实施例5。
实施例9:本实施例是基于实施例6基础上进一步限制了M≤4且N≤32,其他内容同实施例6。
实施例10:本实施例是基于实施例:9基础上展开,给出了逆映射规则的一个实施例,该逆映射规则为:
闲置MV(0,0)映射为邻近MV列表中index=0的MV;且闲置MV(0,1)映射为邻近MV列表中index=1的MV;且闲置MV(0,-1)映射为历史MV列表中index=0的MV;且闲置MV(1,0)映射为历史MV列表中中index=1的MV;且闲置MV(-1,0)映射为历史MV列表中index=2的MV;且闲置MV(0,2)映射为历史MV列表中index=3的MV;且闲置MV(0,-2)映射为历史MV列表中index=4的MV;且闲置MV(2,0)映射为历史MV列表中index=5的MV;且闲置MV(-2,0)映射为历史MV列表中index=6的MV;且闲置MV(0,3)映射为历史MV列表中index=7的MV;且闲置MV(0,-3)映射为历史MV列表中index=8的MV;且闲置MV(3,0)映射为历史MV列表中index=9的MV;且闲置MV(-3,0)映射为历史MV列表中index=10的MV;且闲置MV(1,1)映射为历史MV列表中index=11的MV。
以上实施例仅用以说明本发明的技术方案而非限制,本领域普通技术人员对本发明的技术方案所做的其他修改或者等同替换,只要不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围中。

Claims (10)

1.一种运动矢量编码的方法,其特征在于:包括:
1)建立映射规则:包括映射前运动矢量集合和闲置运动矢量集合,所述映射前运动矢量集合是由预设数量的邻近运动矢量和/或历史运动矢量构成,所述闲置运动矢量集合是由表示当前编码块与参考块重叠区域的运动矢量、和/或表示参考块处于当前未重建区域的运动矢量所构成,将映射前运动矢量集合中的运动矢量与闲置运动矢量集合中的运动矢量建立一一映射关系,映射前运动矢量集合中的邻近MV数量与闲置运动矢量集合中的闲置MV数量均为M,将两个集合中的MV建立一一映射关系;
2)判断当前编码运动矢量是否属于映射前运动矢量集合中的邻近运动矢量或历史运动矢量,如果属于,根据映射规则,则将当前编码运动矢量与闲置运动矢量集合中对应的闲置运动矢量映射,然后执行3);如果不属于,直接执行3);
3)对当前编码运动矢量用直接编码方案进行编码,该方案是将当前运动矢量的数值本身按照预定方式直接写入码流。
2.根据权利要求1所述的一种运动矢量编码的方法,其特征在于:所述步骤1)中映射前运动矢量集合中的运动矢量与闲置运动矢量集合中的运动矢量建立一一映射关系之前,首先对所述闲置运动矢量集合中的运动矢量按照比特数消耗大小从小到大排序,根据比特数消耗由小到大在闲置运动矢量集合中选取预设数量的闲置运动矢量,该预设数量与待编码运动矢量集合中的运动矢量数量一致,将该预设数量的闲置运动矢量与待编码运动矢量集合中的运动矢量一一映射。
3.一种已编码运动矢量的解码方法,包括待解码的已编码运动矢量,所述已编码运动矢量按照如权利要求1或2所述编码方法进行编码,解码方法如下:
1)设置逆映射规则:该逆映射规则与权利要求1或2编码方法中的映射规则互为逆映射关系;
2)对当前解码运动矢量用直接解码方案进行解码,直接编码方案和直接解码方案相互对应;
3)判断当前解码运动矢量是否属于闲置运动矢量集合中的闲置运动矢量,如果属于,根据逆映射规则,则将当前解码运动矢量与映射前运动矢量集合中对应的邻近运动矢量或历史运动矢量映射,然后执行步骤4);如果不属于,直接执行步骤4);
4)获得解码后运动矢量。
4.根据权利要求3所述的一种已编码运动矢量的解码方法,其特征在于:
(1)设置逆映射规则:将M个闲置MV一一映射到M个邻近运动矢量上,确定逆映射规则中映射前的闲置MV集合,该集合中的闲置MV是经过比特数消耗由小到大排序的;
确定逆映射规则中与闲置MV集合映射的映射前MV集合,该集合在逆映射时,集合内部的MV是需要按照统计概率由大到下排序的;
(2)对当前待解码运动矢量用直接解码方案进行解码;
(3)如果当前待解码MV为闲置MV集合中第i个闲置MV,则根据逆映射规则,将当前待解码MV映射为第i个映射前MV集合中的运动矢量。
5.根据权利要求4所述的一种已编码运动矢量的解码方法,其特征在于:所述M≤4。
6.根据权利要求3所述的一种已编码运动矢量的解码方法,其特征在于:
(1)设置逆映射规则:将N个闲置MV一一映射到N个历史运动矢量上,确定逆映射规则中映射前的闲置MV集合,该集合中的闲置MV是经过比特数消耗由小到大排序的;
确定逆映射规则中与闲置MV集合映射的映射前MV集合,该集合在逆映射时,集合内部的MV是需要按照统计概率由大到下排序的;
(2)对当前待解码运动矢量用直接解码方案进行解码;
(3)如果当前待解码MV为闲置MV集合中第i个闲置MV,则根据逆映射规则,将当前待解码MV映射为第i个映射前MV集合中的运动矢量。
7.根据权利要求6所述的一种已编码运动矢量的解码方法,其特征在于:所述N≤32。
8.根据权利要求3所述的一种已编码运动矢量的解码方法,其特征在于:
(1)设置逆映射规则:将M+N个闲置MV一一映射到M个邻近运动矢量和N个历史运动矢量上,确定逆映射规则中映射前的闲置MV集合,该集合中的闲置MV是经过比特数消耗由小到大排序的;
确定逆映射规则中与闲置MV集合映射的映射前MV集合,该集合在逆映射时,集合内部的MV是需要按照统计概率由大到下排序的;
(2)对当前待解码运动矢量用直接解码方案进行解码;
(3)如果当前待解码MV为闲置MV集合中第i个闲置MV,则根据逆映射规则,将当前待解码MV映射为第i个映射前MV集合中的运动矢量。
9.根据权利要求8所述的一种已编码运动矢量的解码方法,其特征在于:所述M≤4,且N≤32。
10.根据权利要求9所述的一种已编码运动矢量的解码方法,其特征在于:所述逆映射规则为:
闲置MV(0,0)映射为邻近MV列表中index=0的MV;且闲置MV(0,1)映射为邻近MV列表中index=1的MV;且闲置MV(0,-1)映射为历史MV列表中index=0的MV;且闲置MV(1,0)映射为历史MV列表中中index=1的MV;且闲置MV(-1,0)映射为历史MV列表中index=2的MV;且闲置MV(0,2)映射为历史MV列表中index=3的MV;且闲置MV(0,-2)映射为历史MV列表中index=4的MV;且闲置MV(2,0)映射为历史MV列表中index=5的MV;且闲置MV(-2,0)映射为历史MV列表中index=6的MV;且闲置MV(0,3)映射为历史MV列表中index=7的MV;且闲置MV(0,-3)映射为历史MV列表中index=8的MV;且闲置MV(3,0)映射为历史MV列表中index=9的MV;且闲置MV(-3,0)映射为历史MV列表中index=10的MV;且闲置MV(1,1)映射为历史MV列表中index=11的MV。
CN201910785729.7A 2019-08-23 2019-08-23 一种运动矢量编码和解码的方法 Active CN110602502B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910785729.7A CN110602502B (zh) 2019-08-23 2019-08-23 一种运动矢量编码和解码的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910785729.7A CN110602502B (zh) 2019-08-23 2019-08-23 一种运动矢量编码和解码的方法

Publications (2)

Publication Number Publication Date
CN110602502A CN110602502A (zh) 2019-12-20
CN110602502B true CN110602502B (zh) 2022-08-16

Family

ID=68855341

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910785729.7A Active CN110602502B (zh) 2019-08-23 2019-08-23 一种运动矢量编码和解码的方法

Country Status (1)

Country Link
CN (1) CN110602502B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8085849B1 (en) * 2006-11-03 2011-12-27 Keystream Corporation Automated method and apparatus for estimating motion of an image segment using motion vectors from overlapping macroblocks
JP2013021573A (ja) * 2011-07-12 2013-01-31 Jvc Kenwood Corp 画像復号装置、画像復号方法および画像復号プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4925697B2 (ja) * 2006-03-23 2012-05-09 ソニー株式会社 ネットワーク伝送用の映像信号符号化システム及び映像信号符号化方法,信号変換装置
US9351017B2 (en) * 2010-01-19 2016-05-24 Samsung Electronics Co., Ltd. Method and apparatus for encoding/decoding images using a motion vector of a previous block as a motion vector for the current block
CN102939750B (zh) * 2010-04-13 2016-07-06 Ge视频压缩有限责任公司 跨平面预测
US10009629B2 (en) * 2013-10-11 2018-06-26 Sony Corporation Video coding system with search range and method of operation thereof
WO2018105580A1 (ja) * 2016-12-09 2018-06-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
WO2018174618A1 (ko) * 2017-03-22 2018-09-27 한국전자통신연구원 참조 블록을 사용하는 예측 방법 및 장치
WO2019147067A1 (ko) * 2018-01-26 2019-08-01 한국전자통신연구원 시간적 움직임 정보를 이용하는 영상 부호화 및 영상 복호화를 위한 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8085849B1 (en) * 2006-11-03 2011-12-27 Keystream Corporation Automated method and apparatus for estimating motion of an image segment using motion vectors from overlapping macroblocks
JP2013021573A (ja) * 2011-07-12 2013-01-31 Jvc Kenwood Corp 画像復号装置、画像復号方法および画像復号プログラム

Also Published As

Publication number Publication date
CN110602502A (zh) 2019-12-20

Similar Documents

Publication Publication Date Title
CN111163322B (zh) 对基于历史运动矢量的索引进行映射的编码及解码方法
US20170302939A1 (en) Adaptive screen and video coding scheme
US7251371B2 (en) Image encoding method, image decoding method, image encoder, image decoder, program, computer data signal, and image transmission system
RU2577207C2 (ru) Способ и устройство для видеокодирования
WO2020253831A1 (zh) 一种编解码方法、装置及存储介质
AU2016390979B2 (en) Image encoding method and apparatus, and image decoding method and apparatus
JP3764458B2 (ja) 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、及びプログラム
US9756347B2 (en) Screen content coding systems and methods
CN101350929B (zh) 表示图像帧的非帧边缘区块时的增强的压缩方法
CN105684441A (zh) 视频和图像编码中的基于散列的块匹配
CN113068032A (zh) 图像编解码方法、编码器、解码器以及存储介质
CN103931195A (zh) 用于对帧内预测模式进行解码的方法和设备
WO2010050152A1 (ja) 画素予測値生成手順自動生成方法、画像符号化方法、画像復号方法、それらの装置、それらのプログラム、およびこれらのプログラムを記録した記録媒体
CN105100814B (zh) 图像编码、解码方法及装置
US10116962B2 (en) Image coding device, image decoding device, image coding method and image decoding method
CN111277841B (zh) 一种在视频通信中执行错误隐藏的方法和设备
US6898322B2 (en) Coding method, coding apparatus, decoding method and decoding apparatus using subsampling
CN110602502B (zh) 一种运动矢量编码和解码的方法
CN110505486B (zh) 一种对高概率运动矢量映射的编码及解码方法
JP2014514808A (ja) 画像ブロックを再構成および符号化する方法
JP5566406B2 (ja) 画像データのブロックを予測する方法、当該方法を実現する復号化及び符号化装置
US10057583B2 (en) Encoding method of image encoding device
US11438595B2 (en) Video coding method and system using a scan region based coefficient coding
CN113785565B (zh) 视频编解码的方法和系统
US20240121439A1 (en) Point cloud attribute information encoding method and apparatus, point cloud attribute information decoding method and apparatus, and related device

Legal Events

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

Effective date of registration: 20221207

Address after: 100193 303C, 304C, Floor 3, Building 2, East District, Yard 10, Northwest Wangdong Road, Haidian District, Beijing

Patentee after: Beijing Boya Ruishi Technology Co.,Ltd.

Address before: 312000 No. 508 West Ring Road, Zhejiang, Shaoxing

Patentee before: SHAOXING University