CN111163322B - 对基于历史运动矢量的索引进行映射的编码及解码方法 - Google Patents

对基于历史运动矢量的索引进行映射的编码及解码方法 Download PDF

Info

Publication number
CN111163322B
CN111163322B CN202010017903.6A CN202010017903A CN111163322B CN 111163322 B CN111163322 B CN 111163322B CN 202010017903 A CN202010017903 A CN 202010017903A CN 111163322 B CN111163322 B CN 111163322B
Authority
CN
China
Prior art keywords
historical motion
motion vector
mapping
motion vectors
candidate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010017903.6A
Other languages
English (en)
Other versions
CN111163322A (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 CN202010017903.6A priority Critical patent/CN111163322B/zh
Publication of CN111163322A publication Critical patent/CN111163322A/zh
Application granted granted Critical
Publication of CN111163322B publication Critical patent/CN111163322B/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/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/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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

本发明涉及对基于历史运动矢量的索引进行映射的编/解码方法,首先构建大于等于预设数量历史运动矢量的候选历史运动矢量列表,这样可以将更多有潜力的历史运动矢量收录进来,以提高后面的编/解码效率,然后从上述构建的候选历史运动矢量列表中,基于一定的选取规则选择出符合预设数量要求的历史运动矢量,并按照预设的映射规则将所选取出来的历史运动矢量逐一建立映射关系,即将编/解码比特数少的历史运动矢量映射为更小的index,既未扩大index编/解码的范围,也未改变index熵编/解码方式,充分保证了index熵编/解码的有效性,从整体上减少了编/解码运动矢量所消耗的比特数,进一步提高了编/解码运动矢量的效率。

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种块分割单元,分别是编码单元(Coding Unit,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一般由MVx和MVy组成。
设当前编码单元在图像中的位置为(currPosx,currPosy),最佳参考块在图像中的位置为(refPosx,refPosy)。则有:
MVx=currPosx-refPosx或MVx=refPosx-currPosx
MVy=currPosy-refPosy或MVy=refPosy–currPosy
在现有的MV编解码方案中,各标准采纳的是基于预测编码的MV编解码方案。图像的相关性和MV的统计特征表明,当前编码的MV与邻近和/或历史运动矢量具有较强的相关性(当前编码的MV与邻近和/或历史运动矢量相同的概率比较高),历史运动矢量也称为最近运动矢量。假设当前待编码的MV为(MVx,MVy),mvcoding表示MV的编码方案。预测编码方案是通过从邻近和/或历史运动矢量候选集内选择其中的一个运动矢量作为预测运动矢量(MVPx,MVPy),首先编码index用来表示选择哪个候选运动矢量作为当前预测运动矢量,然后再编码当前运动矢量和预测运动矢量之差,即(MVx-MVPx,MVy-MVPy)。
上述对本技术领域的专业概念以及相关技术背景进行了介绍说明,接下来介绍现有技术中基于历史运动矢量预测编/解码方案(也称基于N元组的运动矢量预测编解码方案)的主要内容,包括以下步骤:
1)构建G个运动矢量的历史运动矢量列表:即建立具有G个运动矢量的历史运动矢量列表,并对历史运动矢量进行初始化;
2)对每一个编/解码单元,执行步骤3)~步骤5);
3)更新G个历史运动矢量:即根据编/解码运动矢量“先进先出”的顺序来更新G个历史运动矢量;
4)选择最优预测历史运动矢量:即根据比特数最小化原则,在历史运动矢量列表的G个历史运动矢量中,选择当前运动矢量的最优预测历史运动矢量,并记录下最优预测历史运动矢量在列表中的index(0~G-1)和运动矢量之差;
5)历史运动矢量信息熵编码:对index和运动矢量之差进行熵编/解码。
上述给出的基于历史运动矢量的编/解码方案中,直接建立预设数量的历史运动矢量列表,并直接采用该列表选择最优预测历史运动矢量,可能会遗漏掉较多有潜力的历史运动矢量,从而会影响到后续的编/解码效率;再者,只对列表中的运动矢量按照“先进先出”的顺序更新,未考虑历史运动矢量的其他信息(如历史运动矢量所在编码单元的位置信息和尺寸信息),在编/解码效率上还存在进一步优化的空间。有鉴于此,本案由此而生。
发明内容:
本发明为了进一步提高运动矢量的编/解码效率,公开一种对基于历史运动矢量的索引进行映射的编码及解码方法,具体采用如下技术方案实现:
对基于历史运动矢量的索引进行映射的编码方法,内容包括:
步骤1):构建具有M个候选历史运动矢量的候选历史运动矢量列表,并对候选历史运动矢量列表中的历史运动矢量进行初始化;
步骤2):对每一个编码单元,执行步骤3)~步骤5);
步骤3):根据更新规则对候选历史运动矢量列表进行更新;
步骤4):从候选历史运动矢量列表中的M个候选历史运动矢量中,根据选取规则挑选出N个历史运动矢量,并根据映射规则对N个历史运动矢量进行内部逐一映射,建立映射后的历史运动矢量列表;
所述选取规则和映射规则相关联,选取规则从下列方式中选择一种或者几种进行组合形成:
(1)分别计算当前编码单元与M个候选历史运动矢量所在编码单元的二维距离差值dxi和dyi,根据二维距离差值的大小选出N个历史运动矢量;
(2)统计M个候选历史运动矢量重复出现的次数,按照重复次数多的原则来选出N个历史运动矢量;对选出来的N个历史运动矢量内部映射时,将重复此处最多的映射为index最小的,按照此原则建立映射关系;
(3)分别计算M个候选历史运动矢量所在编码单元的面积大小,按照面积大的原则来选出N个历史运动矢量;对选出来的N个历史运动矢量内部映射时,将面积最大的映射为index最小的,按照此原则建立映射关系;
(4)将M个候选历史运动矢量所在编码单元的宽和高分别与各自的设定阈值Y1、Y2进行比较,在宽和高均大于各自阈值的历史运动矢量中选取N个历史运动矢量;
(5)根据当前编码单元相对于M个候选历史运动矢量所在编码单元的位置关系,按照位于上方优先,其次位于左方优先的原则选出N个历史运动矢量;
步骤5):在映射后的历史运动矢量列表中,根据比特数最小化原则选择当前运动矢量的最优预测历史运动矢量,并记录下最优预测历史运动矢量在映射后的历史运动矢量列表中的index和运动矢量之差;
步骤6):对步骤5)中的index和运动矢量之差进行熵编码。
进一步,所述选取规则中二维距离差dxi和dyi计算方法如下:
dxi=(Sign(xi-(x+wc-1))+Sign(xi+wi-1-x))×Min(|xi-(x+wc-1)|,|xi+wi-1-x|)/2
dyi=(Sign(yi-(y+hc-1))+Sign(yi+hi-1-y))×Min(|yi-(y+hc-1)|,|yi+hi-1-y|)/2
其中,(xi,yi)表示第i个候选历史运动矢量所在编码单元左顶点像素坐标除以4,wi表示第i个候选历史运动矢量所在编码单元的宽除以4,hi表示第i个候选历史运动矢量所在编码单元的高除以4,(x,y)表示当前编码单元左顶点像素坐标除以4,wc表示当前编码单元的宽除以4,hc表示当前编码单元的高除以4;Sign(Z)表示符号函数,当Z≥0时取1,否则取-1。
进一步,所述选取规则中根据二维距离差值的大小选择时,将获得的每个坐标(dxi,dyi)映射为一个预设值,二维距离小的映射值小,按照映射值由小到大排序,选择映射值小的N个历史运动矢量;对选出来的N个历史运动矢量内部映射时,将映射值最小的历史运动矢量映射为index最小的,按照此原则建立映射关系。
进一步,所述选取规则中根据二维距离差值的大小选择时,计算对应于每个候选历史运动矢量的|dxi|+|dyi|值,并将计算结果由小到大排序,选择计算结果小的N个历史运动矢量;对选出来的N个历史运动矢量内部映射时,将|dxi|+|dyi|值最小的历史运动矢量映射为index最小的,按照此原则建立映射关系。
进一步,所述步骤3)中的更新规则采用如下方式之一或者几种方式组合而成:
(1)对每个最优预测历史运动矢量逐个更新到候选历史运动矢量列表中并排在首位;
(2)设定固定步长,每隔一个固定步长选择一次最优预测历史运动矢量更新到候选历史运动矢量列表中并排在首位;
(3)根据不定值步长选择最优预测历史运动矢量更新到候选历史运动矢量列表中并排在首位,对于距离近的步长设定值小,距离远的步长设定值大。
上述公开了采用本发明技术的编码方法,下面给出与之对应的解码方法:
对基于历史运动矢量的索引进行映射的解码方法,内容包括:
步骤1):构建具有M个候选历史运动矢量的候选历史运动矢量列表,并对候选历史运动矢量列表中的历史运动矢量进行初始化;
步骤2):对每一个解码单元,执行步骤3)~步骤5);
步骤3):根据更新规则对候选历史运动矢量列表进行更新;
步骤4):从候选历史运动矢量列表中的M个候选历史运动矢量中,根据选取规则挑选出N个历史运动矢量,并根据映射规则对N个历史运动矢量进行内部逐一映射,建立映射后的历史运动矢量列表;
所述选取规则和映射规则相关联,选取规则从下列方式中选择一种或者几种进行组合形成:
(1)分别计算当前解码单元与M个候选历史运动矢量所在解码单元的二维距离差值dxi和dyi,根据二维距离差值的大小选出N个历史运动矢量;
(2)统计M个候选历史运动矢量重复出现的次数,按照重复次数多的原则来选出N个历史运动矢量;对选出来的N个历史运动矢量内部映射时,将重复此处最多的映射为index最小的,按照此原则建立映射关系;
(3)分别计算M个候选历史运动矢量所在解码单元的面积大小,按照面积大的原则来选出N个历史运动矢量;对选出来的N个历史运动矢量内部映射时,将面积最大的映射为index最小的,按照此原则建立映射关系;
(4)将M个候选历史运动矢量所在解码单元的宽和高分别与各自的设定阈值Y1、Y2进行比较,在宽和高均大于各自阈值的历史运动矢量中选取N个历史运动矢量;
(5)根据当前解码单元相对于M个候选历史运动矢量所在解码单元的位置关系,按照位于上方优先,其次位于左方优先的原则选出N个历史运动矢量;
步骤5):对已编码的历史运动矢量信息进行熵解码,根据解码index和运动矢量之差获得解码后的运动矢量。
进一步,所述选取规则中二维距离差dxi和dyi计算方法如下:
dxi=(Sign(xi-(x+wc-1))+Sign(xi+wi-1-x))×Min(|xi-(x+wc-1)|,|xi+wi-1-x|)/2
dyi=(Sign(yi-(y+hc-1))+Sign(yi+hi-1-y))×Min(|yi-(y+hc-1)|,|yi+hi-1-y|)/2
其中,(xi,yi)表示第i个候选历史运动矢量所在解码单元左顶点像素坐标除以4,wi表示第i个候选历史运动矢量所在解码单元的宽除以4,hi表示第i个候选历史运动矢量所在解码单元的高除以4,(x,y)表示当前解码单元左顶点像素坐标除以4,wc表示当前解码单元的宽除以4,hc表示当前解码单元的高除以4;Sign(Z)表示符号函数,当Z≥0时取1,否则取-1。
进一步,所述选取规则中根据二维距离差值的大小选择时,将获得的每个坐标(dxi,dyi)映射为一个预设值,二维距离小的映射值小,按照映射值由小到大排序,选择映射值小的N个历史运动矢量;对选出来的N个历史运动矢量内部映射时,将映射值最小的历史运动矢量映射为index最小的,按照此原则建立映射关系。
进一步,所述选取规则中根据二维距离差值的大小选择时,计算对应于每个候选历史运动矢量的|dxi|+|dyi|值,并将计算结果由小到大排序,选择计算结果小的N个历史运动矢量;对选出来的N个历史运动矢量内部映射时,将|dxi|+|dyi|值最小的历史运动矢量映射为index最小的,按照此原则建立映射关系。
进一步,所述步骤3)中的更新规则采用如下方式之一或者几种方式组合而成:
(1)对每个最优预测历史运动矢量逐个更新到候选历史运动矢量列表中并排在首位;
(2)设定固定步长,每隔一个固定步长选择一次最优预测历史运动矢量更新到候选历史运动矢量列表中并排在首位;
(3)根据不定值步长选择最优预测历史运动矢量更新到候选历史运动矢量列表中并排在首位,对于距离近的步长设定值小,距离远的步长设定值大。
本发明所公开的编/解码方法,首先构建大于预设数量历史运动矢量的候选历史运动矢量列表,这样可以将更多有潜力的历史运动矢量收录进来,以提高后面的编/解码效率,然后从上述构建的候选历史运动矢量列表中,基于一定的选取规则选择出符合预设数量要求的历史运动矢量,并按照预设的映射规则将所选取出来的历史运动矢量逐一建立映射关系,即将编/解码比特数少的历史运动矢量映射为更小的index,既未扩大index编/解码的范围,也未改变index熵编/解码方式,充分保证了index熵编/解码的有效性,从整体上减少了编/解码运动矢量所消耗的比特数,进一步提高了编/解码运动矢量的效率。
以下通过附图和具体实施方式对本发明做进一步阐述。
附图说明:
图1为本发明实施例中的编码方法流程图;
图2为本发明实施例中的解码方法流程图;
图3为当前编/解码单元与候选历史运动矢量所在编/解码单元位置关系展示图;
图4为当前待编/解码运动矢量等于候选历史运动矢量列表中的运动矢量时更新规则说明图;
图5为当前待编/解码运动矢量不等于候选历史运动矢量列表中的运动矢量时更新规则说明图。
具体实施方式:
本实施例公开了一种对基于历史运动矢量的索引进行映射的编码方法和解码方法,编码方法流程如图1所示,解码方法流程如图2所示。下面分别对本实施例的编码方法和解码方法详细说明。
其中,编码方法主要步骤如下:
步骤1):构建具有M个候选历史运动矢量的候选历史运动矢量列表,并对候选历史运动矢量列表中的历史运动矢量进行初始化;
步骤2):对每一个编码单元,执行步骤3)~步骤5);
步骤3):根据更新规则对候选历史运动矢量列表进行更新;
步骤4):从候选历史运动矢量列表中的M个候选历史运动矢量中,根据选取规则挑选出N(N≤M)个历史运动矢量,并根据映射规则对N个历史运动矢量进行内部逐一映射,建立映射后的历史运动矢量列表;
步骤5):在映射后的历史运动矢量列表中,根据比特数最小化原则选择当前运动矢量的最优预测历史运动矢量,并记录下最优预测历史运动矢量在映射后的历史运动矢量列表中的index(0~N-1)和运动矢量之差;
步骤6):对步骤5)中的index和运动矢量之差进行熵编码。
上述步骤3)中的更新规则可以采用如下方式之一或者将几种方式组合而成:
方式一:对每个最优预测历史运动矢量逐个更新到候选历史运动矢量列表中并将其排在首位;
方式二:设定一个固定步长d(d≥2),每隔一个固定步长(即每隔2个最优预测历史运动矢量)选择一次最优预测历史运动矢量更新到候选历史运动矢量列表中并将其排在首位;
方式三:根据不定值步长(步长不固定)选择最优预测历史运动矢量更新到候选历史运动矢量列表中并将其排在首位;对于距离近的步长设定值小,距离远的步长设定值大。
采用上述更新方式,可以扩大M个候选历史运动矢量的范围,但不会漏掉有潜力的候选历史运动矢量,对提高编码效率有帮助。无论采用上述哪种方式进行更新,当更新时,设X为当前待编码运动矢量,若X等于M个候选历史运动矢量集合中的某一个运动矢量,如图4所示更新,即:若X(如X=ch7)不是候选历史运动矢量列表中的第一个,将X调换到首位,剩余历史运动矢量依次后移;若X不等于M个候选历史运动矢量集合中的任何一个运动矢量,如图5所示更新,即:将X插入并放在首位,按照“先进先出”原则将其余历史运动矢量依次后移,替换掉位于末尾的一个历史运动矢量。
上述步骤4)中所采用的选取规则需要和映射规则匹配关联,当选取规则从下列方式中选择一种或者将几种进行组合时,相应的映射规则也采用与选择规则一致的方式,为了简化说明,以下仅以选取规则为例来说明:
选取规则一:根据当前编码单元与候选历史运动矢量所在编码单元的二维距离差关系选取,即:分别计算出当前编码单元与M个候选历史运动矢量所在编码单元的二维距离差值dxi和dyi,根据该二维距离差值的大小选出N个历史运动矢量。其中,二维距离差dxi和dyi计算方法如下:
dxi=(Sign(xi-(x+wc-1))+Sign(xi+wi-1-x))×Min(|xi-(x+wc-1)|,|xi+wi-1-x|)/2;
dyi=(Sign(yi-(y+hc-1))+Sign(yi+hi-1-y))×Min(|yi-(y+hc-1)|,|yi+hi-1-y|)/2;
其中,(xi,yi)表示第i个候选历史运动矢量所在编码单元左顶点像素坐标(可以参考图3所标注的坐标指示)除以4,wi表示第i个候选历史运动矢量所在编码单元的宽除以4,hi表示第i个候选历史运动矢量所在编码单元的高除以4,(x,y)表示当前编码单元左顶点像素坐标(可以参考图3所标注的坐标指示)除以4,wc表示当前编码单元的宽除以4,hc表示当前编码单元的高除以4;Sign(Z)表示符号函数,当Z≥0时取1,否则取-1;Min函数是计算两个编码单元之间的最近距离(以4×4块为单位),取最小值。
xi、yi、wi、hi与候选历史运动矢量一起被写入到候选历史运动矢量列表中。计算dxi和dyi也就是计算两个编码单元之间最近的4×4块之间的距离。上述给出的计算dxi和dyi公式中,符号函数Sign(Z)是用来确定候选历史运动矢量所在编码单元的位置是在当前编码单元的左边(左边界重叠即被认为是在左边)还是右边(右边界重叠即被认为是在右边),只有当前者的左边界和右边界都在后者的左边或右边时,计算的距离才不为0。如图3所示对两者位置关系的展示,图3a为候选历史运动矢量所在编码单元的左右边界都位于当前编码单元的左边;图3b为候选历史运动矢量所在编码单元的左边界位于当前编码单元的左边,右边界位于当前编码单元的右边;图3c为候选历史运动矢量所在编码单元的左右边界都位于当前编码单元的右边。当出现图3a和图3c的情况时,dxi和dyi计算公式中的两个Sign(Z)函数累加为2或者-2,因此公式末尾要除以2,从而获得最终的距离。
当选取规则中根据二维距离差值的大小选择时,具体选择方法提供如下两种:
第一种是将上述计算获得的每个坐标(dxi,dyi)都映射为一个预设值,对于二维距离小的映射值也小,按照映射值由小到大排序,选择映射值小的N个历史运动矢量。举例说明如下:按照上述给出的计算公式可以计算获得M个坐标(dxi,dyi),本实施例中的M为整数,8≤M≤64或者M是N的整数倍,4≤N≤30,设定一个判断数值D,其中4≤D≤64,再设定一个映射值K,令20≤K≤256;先判断以下关系式是否成立,即:|dxi|+|dyi|≤D,若该关系式成立,则将(dxi,dyi)映射为0~K的一个数,即映射值在0~K范围内,对于出现概率越高的(dxi,dyi)其映射值越小,如下示例,左侧为映射前坐标,右侧映射值:
(-1,0)<==>0
(0,-1)<==>1
(-1,1)<==>2
(-2,0)<==>3
(-1,-1)<==>4
(0,-2)<==>5
(1,-1)<==>6
(-1,2)<==>7
(-2,1)<==>8
(-3,0)<==>9
(-2,-1)<==>10
(-1,-2)<==>11
(0,-3)<==>12
(1,-2)<==>13
(2,-1)<==>14
……
(dxi,dyi)<==>K
当不满足关系式|dxi|+|dyi|≤D时,即满足|dxi|+|dyi|>D,则将(dxi,dyi)映射为K+1~K+N-1的一个数,即映射值在K+1~K+N-1范围内,如:
(dxi,dyi)<==>K+1
……
(dxi,dyi)<==>K+N-1
按照上述方法完成映射后,根据右侧的映射值大小,从映射值最小的开始选择,选出映射值较小的N个历史运动矢量即可。然后对选出来的N个历史运动矢量内部根据映射规则进行逐一映射,此处是将映射值最小的历史运动矢量映射为index最小的,按照此原则逐一对N个历史运动矢量建立映射关系,完成映射后的历史运动矢量列表。
第二种根据二维距离差值的大小选择方法为:计算当前编码单元对应于每个候选历史运动矢量的|dxi|+|dyi|值,并将计算结果由小到大排序,选择计算结果小的N个历史运动矢量,如果遇到计算出来的|dxi|+|dyi|值相等的情况时,优先选择|dxi|数值较小者。最后对选出来的N个历史运动矢量内部根据映射规则进行逐一映射,此处是将|dxi|+|dyi|值最小的历史运动矢量映射为index最小的,按照此原则逐一对N个历史运动矢量建立映射关系,完成映射后的历史运动矢量列表。
选取规则二:统计M个候选历史运动矢量重复出现的次数,按照重复次数较多的原则来选出N个历史运动矢量;然后对选出来的N个历史运动矢量内部根据映射规则进行逐一映射,将重复此处最多的映射为index最小的,按照此原则逐一对N个历史运动矢量建立映射关系,完成映射后的历史运动矢量列表。
选取规则三:分别计算M个候选历史运动矢量所在编码单元的宽和高,然后将各自的宽和高相乘计算出各自的面积大小,按照面积较大的原则来选出N个历史运动矢量。因为候选历史运动矢量所在编码单元的面积越大,越有潜力跟当前编码单元的运动矢量相似。按照上述方法选择好后,对选出来的N个历史运动矢量根据映射规则进行逐一映射,将面积最大的映射为index最小的,按照此原则逐一对N个历史运动矢量建立映射关系,完成映射后的历史运动矢量列表。
选取规则四:分别计算M个候选历史运动矢量所在编码单元的宽和高,设定两个阈值Y1和Y2,比较M个候选历史运动矢量所在编码单元的宽是否大于阈值Y1,比较M个候选历史运动矢量所在编码单元的高是否大于阈值Y2,从宽和高均大于各自阈值的历史运动矢量中选取N个历史运动矢量。按照上述方法选择好后,对选出来的N个历史运动矢量根据映射规则进行逐一映射,完成映射后的历史运动矢量列表。
选取规则五:根据当前编码单元相对于M个候选历史运动矢量所在编码单元的位置关系(关系展示参考图3所示)进行选择。根据编码的顺序,一般先上后下,先左后右,因此选择时可以按照位于上方优先,其次位于左方优先的原则选出N个历史运动矢量。根据位置关系选择,可以将出现概率高的选择出来进行映射。按照上述方法选择好后,对选出来的N个历史运动矢量根据映射规则进行逐一映射,将出现概率最高的映射为index最小的,如此完成映射后的历史运动矢量列表。
本实施例给出的对基于历史运动矢量的索引进行映射的解码方法,其内容概括如下:
步骤1):构建具有M个候选历史运动矢量的候选历史运动矢量列表,并对候选历史运动矢量列表中的历史运动矢量进行初始化;
步骤2):对每一个解码单元,执行步骤3)~步骤5);
步骤3):根据更新规则对候选历史运动矢量列表进行更新;
步骤4):从候选历史运动矢量列表中的M个候选历史运动矢量中,根据选取规则挑选出N个历史运动矢量,并根据映射规则对N个历史运动矢量进行内部逐一映射,建立映射后的历史运动矢量列表;
步骤5):对已编码的历史运动矢量信息进行熵解码,根据解码index和运动矢量之差获得解码后的运动矢量。
上述解码方法中的步骤1)至步骤4)内容参照上述给出的编码方法对应步骤的详细说明,特别是所涉及的更新规则、选取规则、映射规则都可以参照编码方法所给出的内容,此处为了简化说明,不重复介绍。
以上实施例仅用以说明本发明的技术方案而非限制,本领域普通技术人员对本发明的技术方案所做的其他修改或者等同替换,只要不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围中。

Claims (6)

1.对基于历史运动矢量的索引进行映射的编码方法,其特征在于:包括:
步骤1):构建具有M个候选历史运动矢量的候选历史运动矢量列表,并对候选历史运动矢量列表中的历史运动矢量进行初始化;
步骤2):对每一个编码单元,执行步骤3)~步骤5);
步骤3):根据更新规则对候选历史运动矢量列表进行更新,所述步骤3)中的更新规则采用如下方式之一或者几种方式组合而成:
(1)对每个最优预测历史运动矢量逐个更新到候选历史运动矢量列表中并排在首位;
(2)设定固定步长,每隔一个固定步长选择一次最优预测历史运动矢量更新到候选历史运动矢量列表中并排在首位;
(3)根据不定值步长选择最优预测历史运动矢量更新到候选历史运动矢量列表中并排在首位,对于距离近的步长设定值小,距离远的步长设定值大;
步骤4):从候选历史运动矢量列表中的M个候选历史运动矢量中,根据选取规则挑选出N个历史运动矢量,并根据映射规则对N个历史运动矢量进行内部逐一映射,建立映射后的历史运动矢量列表;
所述选取规则和映射规则相关联,选取规则为下列方式:
分别计算当前编码单元与M个候选历史运动矢量所在编码单元的二维距离差值dxi和dyi,根据二维距离差值的大小选出N个历史运动矢量;
步骤5):在映射后的历史运动矢量列表中,根据比特数最小化原则选择当前运动矢量的最优预测历史运动矢量,并记录下最优预测历史运动矢量在映射后的历史运动矢量列表中的index和运动矢量之差;
步骤6):对步骤5)中的index和运动矢量之差进行熵编码;
所述选取规则中二维距离差值dxi和dyi计算方法如下:
dxi=(Sign(xi-(x+wc-1))+Sign(xi+wi-1-x))×Min(|xi-(x+wc-1)|,|xi+wi-1-x|)/2
dyi=(Sign(yi-(y+hc-1))+Sign(yi+hi-1-y))×Min(|yi-(y+hc-1)|,|yi+hi-1-y|)/2
其中,(xi,yi)表示第i个候选历史运动矢量所在编码单元左顶点像素坐标除以4,wi表示第i个候选历史运动矢量所在编码单元的宽除以4,hi表示第i个候选历史运动矢量所在编码单元的高除以4,(x,y)表示当前编码单元左顶点像素坐标除以4,wc表示当前编码单元的宽除以4,hc表示当前编码单元的高除以4;Sign(Z)表示符号函数,当Z≥0时取1,否则取-1。
2.根据权利要求1所述的对基于历史运动矢量的索引进行映射的编码方法,其特征在于:所述选取规则中根据二维距离差值的大小选择时,将获得的每个坐标(dxi,dyi)映射为一个预设值,二维距离小的映射值小,按照映射值由小到大排序,选择映射值小的N个历史运动矢量;对选出来的N个历史运动矢量内部映射时,将映射值最小的历史运动矢量映射为index最小的,按照此原则建立映射关系。
3.根据权利要求1所述的对基于历史运动矢量的索引进行映射的编码方法,其特征在于:所述选取规则中根据二维距离差值的大小选择时,计算对应于每个候选历史运动矢量的|dxi|+|dyi|值,并将计算结果由小到大排序,选择计算结果小的N个历史运动矢量;对选出来的N个历史运动矢量内部映射时,将|dxi|+|dyi|值最小的历史运动矢量映射为index最小的,按照此原则建立映射关系。
4.对基于历史运动矢量的索引进行映射的解码方法,其特征在于:包括:
步骤1):构建具有M个候选历史运动矢量的候选历史运动矢量列表,并对候选历史运动矢量列表中的历史运动矢量进行初始化;
步骤2):对每一个解码单元,执行步骤3)~步骤5);
步骤3):根据更新规则对候选历史运动矢量列表进行更新,所述步骤3)中的更新规则采用如下方式之一或者几种方式组合而成:
(1)对每个最优预测历史运动矢量逐个更新到候选历史运动矢量列表中并排在首位;
(2)设定固定步长,每隔一个固定步长选择一次最优预测历史运动矢量更新到候选历史运动矢量列表中并排在首位;
(3)根据不定值步长选择最优预测历史运动矢量更新到候选历史运动矢量列表中并排在首位,对于距离近的步长设定值小,距离远的步长设定值大;
步骤4):从候选历史运动矢量列表中的M个候选历史运动矢量中,根据选取规则挑选出N个历史运动矢量,并根据映射规则对N个历史运动矢量进行内部逐一映射,建立映射后的历史运动矢量列表;
所述选取规则和映射规则相关联,选取规则为下列方式:
分别计算当前解码单元与M个候选历史运动矢量所在解码单元的二维距离差值dxi和dyi,根据二维距离差值的大小选出N个历史运动矢量;
步骤5):对已编码的历史运动矢量信息进行熵解码,根据解码index和运动矢量之差获得解码后的运动矢量;
所述选取规则中二维距离差值dxi和dyi计算方法如下:
dxi=(Sign(xi-(x+wc-1))+Sign(xi+wi-1-x))×Min(|xi-(x+wc-1)|,|xi+wi-1-x|)/2
dyi=(Sign(yi-(y+hc-1))+Sign(yi+hi-1-y))×Min(|yi-(y+hc-1)|,|yi+hi-1-y|)/2
其中,(xi,yi)表示第i个候选历史运动矢量所在解码单元左顶点像素坐标除以4,wi表示第i个候选历史运动矢量所在解码单元的宽除以4,hi表示第i个候选历史运动矢量所在解码单元的高除以4,(x,y)表示当前解码单元左顶点像素坐标除以4,wc表示当前解码单元的宽除以4,hc表示当前解码单元的高除以4;Sign(Z)表示符号函数,当Z≥0时取1,否则取-1。
5.根据权利要求4所述的对基于历史运动矢量的索引进行映射的解码方法,其特征在于:所述选取规则中根据二维距离差值的大小选择时,将获得的每个坐标(dxi,dyi)映射为一个预设值,二维距离小的映射值小,按照映射值由小到大排序,选择映射值小的N个历史运动矢量;对选出来的N个历史运动矢量内部映射时,将映射值最小的历史运动矢量映射为index最小的,按照此原则建立映射关系。
6.根据权利要求4所述的对基于历史运动矢量的索引进行映射的解码方法,其特征在于:所述选取规则中根据二维距离差值的大小选择时,计算对应于每个候选历史运动矢量的|dxi|+|dyi|值,并将计算结果由小到大排序,选择计算结果小的N个历史运动矢量;对选出来的N个历史运动矢量内部映射时,将|dxi|+|dyi|值最小的历史运动矢量映射为index最小的,按照此原则建立映射关系。
CN202010017903.6A 2020-01-08 2020-01-08 对基于历史运动矢量的索引进行映射的编码及解码方法 Active CN111163322B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010017903.6A CN111163322B (zh) 2020-01-08 2020-01-08 对基于历史运动矢量的索引进行映射的编码及解码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010017903.6A CN111163322B (zh) 2020-01-08 2020-01-08 对基于历史运动矢量的索引进行映射的编码及解码方法

Publications (2)

Publication Number Publication Date
CN111163322A CN111163322A (zh) 2020-05-15
CN111163322B true CN111163322B (zh) 2022-08-30

Family

ID=70561955

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010017903.6A Active CN111163322B (zh) 2020-01-08 2020-01-08 对基于历史运动矢量的索引进行映射的编码及解码方法

Country Status (1)

Country Link
CN (1) CN111163322B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112004099B (zh) * 2020-07-30 2021-08-03 浙江大华技术股份有限公司 一种帧内块复制预测方法、装置及计算机可读存储介质
CN112055219B (zh) * 2020-08-05 2021-08-31 浙江大华技术股份有限公司 一种串匹配预测方法、装置及计算机可读存储介质
CN114079788A (zh) * 2020-08-20 2022-02-22 腾讯科技(深圳)有限公司 视频编解码中的运动信息列表构建方法、装置及设备
CN112055208A (zh) * 2020-08-22 2020-12-08 浙江大华技术股份有限公司 视频编码方法、设备及存储装置
CN112532974A (zh) * 2020-11-24 2021-03-19 浙江大华技术股份有限公司 串编码技术的编码方法、设备及存储介质
CN114598888A (zh) * 2020-12-04 2022-06-07 腾讯科技(深圳)有限公司 串矢量的编解码方法、编码设备、解码设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012081949A2 (ko) * 2010-12-17 2012-06-21 한국전자통신연구원 인터 예측 방법 및 그 장치
CN103079067A (zh) * 2013-01-09 2013-05-01 华为技术有限公司 运动矢量预测值列表构建方法和视频编解码方法及装置
WO2018097693A2 (ko) * 2016-11-28 2018-05-31 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2018105581A1 (ja) * 2016-12-09 2018-06-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
WO2020003274A1 (en) * 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Checking order of motion candidates in lut
WO2020003279A1 (en) * 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200012957A (ko) * 2017-06-30 2020-02-05 후아웨이 테크놀러지 컴퍼니 리미티드 인터-프레임 예측 방법 및 디바이스
WO2019151795A1 (ko) * 2018-01-31 2019-08-08 가온미디어 주식회사 움직임 정보를 처리하는 영상 처리 방법, 그를 이용한 영상 복호화, 부호화 방법 및 그 장치
CN110248188A (zh) * 2018-03-07 2019-09-17 华为技术有限公司 预测运动矢量生成方法以及相关设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012081949A2 (ko) * 2010-12-17 2012-06-21 한국전자통신연구원 인터 예측 방법 및 그 장치
CN103079067A (zh) * 2013-01-09 2013-05-01 华为技术有限公司 运动矢量预测值列表构建方法和视频编解码方法及装置
WO2018097693A2 (ko) * 2016-11-28 2018-05-31 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2018105581A1 (ja) * 2016-12-09 2018-06-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
WO2020003274A1 (en) * 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Checking order of motion candidates in lut
WO2020003279A1 (en) * 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks

Also Published As

Publication number Publication date
CN111163322A (zh) 2020-05-15

Similar Documents

Publication Publication Date Title
CN111163322B (zh) 对基于历史运动矢量的索引进行映射的编码及解码方法
US11552651B2 (en) Hierarchical point cloud compression
US20210264640A1 (en) Adaptive Distance Based Point Cloud Compression
US11178421B2 (en) Method and apparatus for encoding/decoding images using adaptive motion vector resolution
KR102340774B1 (ko) 포인트 클라우드 압축
CN108600765B (zh) 运动矢量的解码方法
CN107483956B (zh) 视频数据的解码方法
KR101874100B1 (ko) 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
US8326065B2 (en) Method and apparatus for encoding image data including generation of bit streams
US5909513A (en) Bit allocation for sequence image compression
US20200404326A1 (en) Method and device for intra-prediction
US11638029B2 (en) Method and apparatus for encoding/decoding images using adaptive motion vector resolution
JP5461419B2 (ja) 画素予測値生成手順自動生成方法、画像符号化方法、画像復号方法、それらの装置、それらのプログラム、およびこれらのプログラムを記録した記録媒体
CN110087090B (zh) 采用混合串匹配和帧内预测的数据编码、解码方法
JPH08214316A (ja) 移動映像面予測方法及び装置
US10609421B2 (en) Context derivation for coefficient coding
CN112218092B (zh) 串编码技术的编码方法、设备及存储介质
AU2021298606B2 (en) Encoding and decoding method and apparatus, and device therefor
GB2519289A (en) Method and apparatus for displacement vector component transformation in video coding and decoding
KR101294364B1 (ko) 고화질 영상을 위한 무손실 영상 압축방법, 압축 해제방법 및 이를 적용한 전자기기
US20220360814A1 (en) Enhanced motion vector prediction
CN113365080B (zh) 串编码技术的编解码方法、设备及存储介质
WO2019150411A1 (ja) 映像符号化装置、映像符号化方法、映像復号装置、映像復号方法、及び映像符号化システム
CN110505486B (zh) 一种对高概率运动矢量映射的编码及解码方法
JP5566406B2 (ja) 画像データのブロックを予測する方法、当該方法を実現する復号化及び符号化装置

Legal Events

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

Effective date of registration: 20221208

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

TR01 Transfer of patent right