CN108235031B - 一种运动矢量解码方法及解码器 - Google Patents

一种运动矢量解码方法及解码器 Download PDF

Info

Publication number
CN108235031B
CN108235031B CN201611162229.0A CN201611162229A CN108235031B CN 108235031 B CN108235031 B CN 108235031B CN 201611162229 A CN201611162229 A CN 201611162229A CN 108235031 B CN108235031 B CN 108235031B
Authority
CN
China
Prior art keywords
unit
point
decoded
motion vector
face image
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
CN201611162229.0A
Other languages
English (en)
Other versions
CN108235031A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201611162229.0A priority Critical patent/CN108235031B/zh
Priority to EP17882001.5A priority patent/EP3547688B1/en
Priority to PCT/CN2017/098648 priority patent/WO2018107800A1/zh
Publication of CN108235031A publication Critical patent/CN108235031A/zh
Priority to US16/440,941 priority patent/US10805628B2/en
Application granted granted Critical
Publication of CN108235031B publication Critical patent/CN108235031B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

本发明实施例公开了一种运动矢量解码方法及解码器,该方法包括:根据待解码单元的预测单元的运动矢量确定该待解码单元的预测运动矢量;当第一参考单元所在的面图像和该预测单元所在的面图像中的至少一个与该待解码单元所在的面图像不属于同方位面图像时,对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量;根据该第一更新后的该预测运动矢量,获得该待解码单元的运动矢量。采用本发明,能够提高编码效率。

Description

一种运动矢量解码方法及解码器
技术领域
本发明涉及计算机技术领域,尤其涉及一种运动矢量解码方法及解码器。
背景技术
目前的视频编码技术大致包含帧内预测(英文:Intra Prediction)、帧间预测(英文:Inter Prediction)、变换(英文:Transformation)、量化(英文:Quantization)、熵编码(英文:Entropy encode)、去块滤波(英文:de-blocking filtering)等环节。目前,融合(Merge)技术和先进运动矢量预测(英文:Advanced motion vector prediction,简称:AMVP)技术均属于目前使用较为广泛的运动矢量编码技术,编码过程中往往需要确定待编码块的相邻块,然后根据相邻块的运动矢量(英文:motion vector,简称:MV)来编码该待编码块的运动矢量。随着全景视频(也称虚拟现实(英文:virtual reality,简称:VR)视频)的发展,编码技术面临新的挑战。
全景视频中的图像经过处理后近似于球形的全景图像,为了编码方便通常需要将该三维的全景图像转换为二维平面,目前较常用的做法是将该三维全景图像转换为经纬图,然而经纬图中邻近南北两极区域经过了拉伸,存在严重的失真和数据冗余。为了避免失真和数据冗余,本领域的技术人员正在尝试将全景图像上的像素点映射到一个正多面体表面上,从而将全景图像通过若干等大小的多边形平面图像表示。如图1所示,a部分正四面体包围全景图像、b部分为正六面体包围全景图像、c部分为正八面体包围全景图像、d部分为正十二面体包围全景图像、e部分为正二十面体包围全景图像等。将多面体表面展开为二维平面图像,f部分为正四面体展开得到的一种二维平面图像、g部分为正六面体展开得到的一种二维平面图像、h部分为正八面体展开得到的一种二维平面图像、i部分为正十二面体展开得到的一种二维平面图像和j部分为正二十面体展开得到的一种二维平面图像。
将全景图像上的像素点映射到一个正多面体表面上的具体过程为,使多面体包围全景图像;将全景图像的球心与全景图像上某像素点连线并延长相交于多面体表面,相交点的像素值等于该某像素点的像素值;对该全景图像中所有像素点均执行这样的映射操作。若该多面体上其他像素点未被映射像素值,则可根据插值法结合该其他像素点周围的像素点的像素值得到该其他像素点的像素值(可以理解的是,为了得到多面体上某像素点的像素值,也可以将该像素点与球心连线以交于全景图像上的某点,然后将该某点的像素值作为该某像素点的像素值)。以六面体映射过程为例,将全景图像内切于图2中的六面体ABCDEFGH中,为了得到多面体上M’点位置处的像素值,将球心O与M’连线,并交于球面M点,则M点处的像素值即为M’点处的像素值。按照此方法可以得到平面A’B’C’D’上ABCD面内所有像素点的像素值,ABCD面内像素点构成一个面图像(或者称为面图像),平面A’B’C’D’称为ABCD面的投影平面(projection plane)。同理可得六面体其他面对应的面图像以及投影平面。
将该六面体上各个面的面图像展开拼接成一个二维平面图像,如图3所示,n部分的二维平面可以由m部分的六面体展开后拼接得到,六面体表面上顶部Top的面图像成为该二维平面图像中左上角的面图像,底部Bottom的面图像成为该二维平面图像中左下角的面图像,正面Front的面图像、右侧Right的面图像、背部Rear的面图像和Left左侧的面图像如n部分所示,此处不再一一赘述。在编解码图像的过程中往往以矩形图像作为编解码对象,因此可以可直接将包围该二维平面图像的最小矩形中除该二维平面图像外的部分填充为黑色、或者灰色,或者白色等。除此之外,还可以直接将这些面图像拼接成一个矩形的二维平面图像,以避免填充操作。
现有技术中,由于从球形全景图像到多面体的面图像,再到二维平面图像的过程存在多次几何变换,这个过程会导致相邻面图像之间存在几何失真。所述几何失真会影响相邻块MV的相关性,从而导致基于该相邻块的MV得到的待解码块的MV预测信息不准确,最终影响编码效率。
发明内容
以下先对本发明实施例可能涉及到的相关技术进行简单介绍。
融合技术:首先需要根据待编码块的相邻块的MV构建一个融合候选列表(mergecandidate list),简称融合列表。编码器按照预先设定的规则从融合列表中选择一个最优候选MV作为当前块的MV,其中,每个融合列表中各个候选MV均对应有自身的索引值;然后对此最优候选MV的索引值编码以生成编码信息。该编码器还可能将该编码信息发送给解码器,相应地,该解码器会采用与编码器相同的方式构建融合候选列表;该解码器还会从编码信息中解析候选索引值,确定该索引值在融合候选列表中对应的MV,并将确定的MV作为待编码块的MV。该融合候选列表具体根据空间相邻块的MV和时域相邻块的MV构建得到;另外,后续描述的预测单元即属于该相邻块。另外,此处的待编码块编码完后,在被解码器解码时则可称为待解码块。
如图4所示,待编码块C周围的空间相邻块包括相邻块A1、相邻块B1、相邻块B0、相邻块A0和相邻块B2块,这些空间相邻块的MV均可以作为该融合候选列表中的候选MV。
如图5所示,确定待编码块在临近的已编码图像中对应位置处的块D,然后将块D右下角相对的位置处的块H的MV经伸缩得到的MV添加到融合列表中作为该块H在该融合列表中的MV,当块H不可用时可以用块H中更小单位的块C3来代替,此处的块H可以看做当前编码块的时域相邻块。该相邻块的MV缩放的原理如图6所示,Cur_pic、Col_pic、Col_ref、Cur_ref依次为待编码块所在的图像,时域相邻块所在的图像,时域相邻块所在的图像的参考图像,待编码块所在的图像的参考图像。tb表示Cur_pic与Cur_ref之间的时间差值,td表示Col_pic与Col_ref之间的视时间差值。Cur_blk表示待编码块的位置,Col_blk表示时域相邻块的位置。设定缩放后的MV为curMV,相邻块的MV为colMV,那么存在如下关系:curMV=(tb/td)*colMV。
通常会从空间相邻块的MV和时域相邻块的MV(指缩放后的)中按照相应规则选取若干候选构成融合列表,若融合列表长度不满足要求则可填补(0,0)。
先进运动矢量预测技术:利用待编码块的相邻块(包括空间相邻块和时域相邻块,可参照融合技术中的相应描述)的MV构建MV的运动矢量预测候选列表(motion vectorpredictor candidate list),简称预测列表。编码器从该预测列表中选出最优候选MV作为该待编码块的MV的预测值,该预测列表中每个MV对应有自身的索引值;然后对选择出的最优候选MV的索引值进行编码,以及对待编码块的MV与该预测值的差值进行编码以得到编码信息,该待编码块的MV与该预测值的差值为运动矢量差值(英文:motion vectordifference,简称:MVD)。该编码器可以将该编码信息发送给解码器;该解码器通过相同的方式建立预测候选列表;该解码器解析处该编码信息中的索引值和MVD,然后将该MVD加上该解析出的索引值对应的MV得到的矢量作为该待编码块的MV。
预测候选列表中通常包含空间相邻块的MV和时域相邻块的MV。对于空间相邻块,当空间相邻块的参考图像与待编码块的参考图像不同时,需要对空间相邻块的MV进行相应的比例缩放操作,然后作为预测列表的候选。对于时域块,其MV作为预测列表的候选的方式与融合技术中相同。
通常会从空间相邻块的MV(有可能是缩放后的)和时域相邻块的MV(指缩放后的)中按照相应规则选取若干候选构成预测列表,若预测列表长度不满足要求则可填补(0,0)。
布局信息:
球形的全景图像映射到多面体表面形成的面可以称为面图像,再将多面体的面图像展开成为多面体格式二维平面图像时,该二维平面图像可选的布局方式有很多,布局方式可以通过布局信息来描述,不同布局方式的布局信息不同,这里布局信息可以包括以下信息:
(1)球面映射到多面体表面过程中所述多面体的面数量信息。
(2)多面体表面展开成为二维图像时的面图像排布方式信息。
(3)多面体表面展开成为二维图像时的面图像排列顺序信息。
(4)多面体表面展开成为二维图像时的面图像的旋转信息。
举例来说,球形全景图像可以映射到不同多面体的表面,如六面体的表面,或者八面体的表面,或者其他多面体的表面,具体映射到几面体可以通过该面数量信息来体现。根据该面数量信息确定为哪种多面体后,其表面展开成为二维平面图像时,该二维平面图像还有多种排布方式,以六面体为例,如图3所示,n部分为4x3型,r部分和s部分为3x2型,t部分和u部分为6x1型,其余类型不再一一举例,此处的排布方式信息用于表明采用了哪种排布方式。另外,即便是排布方式相同各个面的排列顺序也可以存在区别,如图3所示,t部分和u部分的排列顺序不同,该排列顺序信息可以体现各个面的排列顺序。除此之外,每个面还可以进行旋转等操作,例如,图3的t部分的Font相较于u部分的Front存在角度旋转,该旋转信息即可体现各个面的旋转情况。该布局信息还可以包括其他信息,该布局信息可以得到该二维平面图像中的各个面图像的布局方式,可以理解的是,当获知了该布局信息和各个面在二维平面图像中的布局方式后,也可以反推出该二维平面图像中各个面在多面体中的连接关系。
可选的,可以认为拼接出的二维平面图像为目标图像,可以为该目标图像建立坐标系以便根据该坐标系描述该目标图像中各个点(包括像素点)之间的相对位置关系;图7所示的图像为目标图像,目标图像的左上角为坐标原点,横向设为x轴方向,纵向设为y轴方向,这里坐标原点的位置为图像左上角像素点位置沿着x轴y轴各自反方向偏移0.5个像素点间距。设目标图像的宽度为4t,高度为3t,则面图像Top的范围为x∈(0,t),y∈(0,t),面图像Bottom的范围为x∈(0,t),y∈(2t,3t),同理可得其他面图像的范围。若已知某一像素点P的坐标(x1,y1),即可判断P属于哪一个面图像并且得知所在面图像的范围。这里为了确定某一个块所在面图像,使用此块内一点(例如中心点T,其他点亦可)的位置判断当前块所在的面图像。例如,已知当前块所在面图像Bottom内,则可知当前块所在面图像的范围为x∈(0,t),y∈(2t,3t)。
可选的,若某个块基于M面体来看是待编码块的相邻块,但是该某个块在该目标图像上的位置并没有与该待编码块相邻,那么在计算该相邻的MV时可能需要对要用到的相关信息进行转换。例如,在该目标图像内如果该相邻块所在的面图像逆时针旋转90度就与该待编码块相邻,若在转换前相邻块在该目标图像上的位置坐标为(xs2,ys2),该相邻块的参考块在该目标图像上的位置坐标为(xs1,ys1),那么变换前计算得到的相邻块的运动矢量MVs如公式1-1所示,变换后计算得到的相邻块的运动矢量MVs′如公式1-2所示,MVs′才是该相邻块的真实的运动矢量MV。图8示意了变换前的运动矢量MVs与变换后的运动矢量MVs′。像“逆时针旋转90度”这样的信息可以在排列目标图像时通过布局信息来体现。
MVs=(xs2-xs1,ys2-ys1) 1-1
本发明实施例提供一种运动矢量解码方法及解码器,能够提到解码效率。
第一方面,本发明实施例提供了一种运动矢量的解码方法,该方法包括:根据待解码单元的预测单元的运动矢量确定该待解码单元的预测运动矢量;当第一参考单元所在的面图像和该预测单元所在的面图像中的至少一个与该待解码单元所在的面图像不属于同方位面图像时,对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量,该第一参考单元根据该预测单元的运动矢量和该预测单元的参考图像标识确定,该面图像为全景图像在一个方位的平面映射图像,M个该面图像构成封闭的M面体,其中,该M面体的体心和以该全景图像为表面的物体的体心重合,该M面体的体心到该面图像上的第一位置点的连线与该全景图像交于第二位置点,该第一位置点是该第二位置点的映射点,M大于等于4;根据该第一更新后的该预测运动矢量,获得该待解码单元的运动矢量。
本发明实施例的有益效果在于:通过执行上述步骤,按照M面体中的连接关系确定的相邻块的MV往往会有几何形变,因此此处的预测单元(属于相邻块)的预测运动矢量在用于计算待解码单元的运动矢量时,在使用预测运动矢量时先确定该预测运动矢量是否满足发生几何变形的条件,如果满足几何变形的条件则对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量,然后使用第一更新后的预测运动矢量计算该待解码块的运动矢量,使得计算出的待解码块的运动矢量更准确,提高了编码效率。
结合第一方面,在第一方面的第一种可能的实现方式中,该预测单元为根据该M面体中面图像间的邻接关系确定的与该待解码单元呈空域相邻或时域相邻的已解码单元。
结合第一方面,或者第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,该对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量之前,还包括:根据该预测运动矢量,确定与该预测单元中的第一预置点对应的第一对应点,该第一对应点属于该第一参考单元;当该第一对应点所在的面图像与该待解码单元所在的面图像不属于同方位面图像时,确定该第一参考单元所在的面图像与该待解码单元所在的面图像不属于同方位面图像。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,该根据该预测运动矢量,确定与该预测单元中的第一预置点对应的第一对应点,包括:在由该参考图像标识确定的参考图像中,确定该第一对应点,该第一对应点和该第一预置点的位置矢量由该预测单元的运动矢量确定。
结合第一方面,或者第一方面的上述任意一种可能的实现方式,在第一方面的第四种可能的实现方式中,该对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量之前,还包括:当该第一预置点所在的面图像与该待解码单元所在的面图像不属于同方位面图像时,确定该待解码单元所在的面图像与该预测单元所在的面图像不属于同方位面图像。
结合第一方面的第二种可能的实现方式,或者第一方面的第三种可能的实现方式,或者第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,该对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量,包括:当该待解码单元所在的面图像与该第一参考单元所在的面图像不属于同方位面图像,且该待解码单元所在的面图像与该预测单元所在的面图像属于同方位面图像时,根据该第一预置点和第一更新点的位置矢量确定第一更新后的该预测运动矢量;当该待解码单元所在的面图像与该预测单元所在的面图像不属于同方位面图像,且该待解码单元所在的面图像与该第一参考单元所在的面图像属于同方位面图像时,根据第二更新点和该第一对应点的位置矢量确定第一更新后的该预测运动矢量;当该待解码单元所在的面图像与该第一参考单元所在的面图像和该预测单元所在的面图像都不属于同方位面图像时,根据该第二更新点和该第一更新点的位置矢量确定第一更新后的该预测运动矢量。
结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,在该根据该第一预置点和第一更新点的位置矢量确定第一更新后的该预测运动矢量或在该根据该第二更新点和该第一更新点的位置矢量确定第一更新后的该预测运动矢量之前,还包括:获得该第一对应点在该M面体的表面的第一映射点,该第一映射点到该M面体的第一棱的距离与该第一对应点到该第一棱的距离相等,该第一棱为该第一映射点所在面图像与该待解码块所在面图像的同方位面图像的交界;确定该M面体的体心与该第一映射点的连线与该待解码块所在的面图像的同方位面图像所在的平面的交点为该第一更新点。
本发明实施例的有益效果在于:使用更新后的第一参考单元的矢量计算该待解码块的运动矢量,使得计算出的待解码块的运动矢量更准确,提高了编码效率。
结合第一方面的第五种可能的实现方式,或者第一方面的第六种可能的实现方式,在第一方面的第七种可能的实现方式中,在该根据第二更新点和该第一对应点的位置矢量确定第一更新后的该预测运动矢量或在该根据该第二更新点和该第一更新点的位置矢量确定第一更新后的该预测运动矢量之前,还包括:获得该第一预置点在该M面体的表面的第二映射点,该第二映射点到该M面体的第二棱的距离与该第一预置点到该第二棱的距离相等,该第二棱为该第二映射点所在面图像与该待解码块所在面图像的交界;确定该M面体的体心与该第二映射点的连线与该待解码块所在的面图像所在的平面的交点为该第二更新点。
本发明实施例的有益效果在于:使用更新后的预测单元的矢量计算该待解码块的运动矢量,使得计算出的待解码块的运动矢量更准确,提高了编码效率。
结合第一方面,或者第一方面的上述任意一种可能的实现方式,在第一方面的第八种可能的实现方式中,该根据该第一更新后的该预测运动矢量,获得该待解码单元的运动矢量,包括:将该第一更新后的预测运动矢量作为该待解码单元的运动矢量。
结合第一方面,或者第一方面的上述任意一种可能的实现方式,在第一方面的第九种可能的实现方式中,该根据该第一更新后的该预测运动矢量,获得该待解码单元的运动矢量,包括:将该第一更新后的预测运动矢量作为该待解码单元的运动矢量预测值;解析码流,获得该待解码单元的运动矢量差值,该运动矢量差值用于表征该待解码单元的运动矢量预测值和该待解码单元的运动矢量的差值;根据该待解码单元的运动矢量预测值和该待解码单元的运动矢量差值,获得该待解码单元的运动矢量。
结合第一方面,或者第一方面的上述任意一种可能的实现方式,在第一方面的第十种可能的实现方式中,该根据该第一更新后的该预测运动矢量,获得该待解码单元的运动矢量之后,还包括:根据该待解码单元的运动矢量,确定该待解码单元的第二参考单元;当该待解码单元所在的面图像与该第二参考单元所在的面图像不属于同方位面图像时,对该待解码单元的运动矢量进行第二更新。
结合第一方面的第十种可能的实现方式,在第一方面的第十一种可能的实现方式中,该对该待解码单元的运动矢量进行第二更新之前,还包括:根据该待解码单元的运动矢量,确定与该待解码单元中的第二预置点对应的第二对应点,该第二对应点属于该第二参考单元;当该第二对应点所在的面图像与该待解码单元所在的面图像不属于同方位面图像时,确定该待解码单元所在的面图像与该第二参考单元所在的面图像不属于同方位面图像。
结合第一方面的第十种可能的实现方式,或者第一方面的第十一种可能的实现方式,在第一方面的第十二种可能的实现方式中,该对该待解码单元的运动矢量进行第二更新,包括:确定该M面体的体心与该第二对应点的连线与该M面体的表面的交点为第一目标点;获得该第一目标点在与该第二预置点所在的面图像同方位的面图像所在的平面上的第三更新点,该第三更新点到该M面体的第三棱的距离与该第一目标点到该第三棱的距离相等,该第三棱为与该第二预置点所在面图像同方位面图像与该第一目标点所在面图像的交界;根据该第三更新点和该第二预置点的位置矢量确定该预测运动矢量。
本发明实施例的有益效果在于:对待解码块的运动矢量进行更新,提高了编码效率。
结合第一方面的第二种可能的实现方式至第十二种可能的实现方式中任意一种可能的实现方式,在第一方面的第十三种可能的实现方式中,该对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量之前,还包括:确定该M面体的体心与该第一对应点的连线与该M面体的表面的交点为第二目标点;获得该第二目标点在与该第一预置点所在的面图像同方位的面图像所在的平面上的第四更新点,该第四更新点到该M面体的第四棱的距离与该第二目标点到该第四棱的距离相等,该第四棱为与该第一预置点所在面图像同方位面图像与该第二目标点所在面图像的交界;根据该第四更新点和该第一预置点的位置矢量确定该预测运动矢量。
本发明实施例的有益效果在于:使用更新后的预测单元的矢量计算该待解码块的运动矢量,使得计算出的待解码块的运动矢量更准确,提高了编码效率。
结合第一方面的第二种可能的实现方式至第十三种可能的实现方式中任意一种可能的实现方式,在第一方面的第十四种可能的实现方式中,该第一预置点包括该预测单元的中心点或该预测单元的左上角点。
结合第一方面的第十一种可能的实现方式至第十三种可能的实现方式中任意一种可能的实现方式,在第一方面的第十四种可能的实现方式中,该第二预置点包括该待解码单元的中心点或该待解码单元的左上角点。
第二方面,本发明实施例提供一种解码器,该解码器包括处理单元、第一更新单元和第一获取单元,其中:处理单元,用于根据待解码单元的预测单元的运动矢量确定该待解码单元的预测运动矢量;第一更新单元,用于在第一参考单元所在的面图像和该预测单元所在的面图像中的至少一个与该待解码单元所在的面图像不属于同方位面图像时,对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量,该第一参考单元根据该预测单元的运动矢量和该预测单元的参考图像标识确定,该面图像为全景图像在一个方位的平面映射图像,M个该面图像构成封闭的M面体,其中,该M面体的体心和以该全景图像为表面的物体的体心重合,该M面体的体心到该面图像上的第一位置点的连线与该全景图像交于第二位置点,该第一位置点是该第二位置点的映射点,M大于等于4;第一获取单元,用于根据该第一更新后的该预测运动矢量,获得该待解码单元的运动矢量。
通过运行上述单元,按照M面体中的连接关系确定的相邻块的MV往往会有几何形变,因此此处的预测单元(属于相邻块)的预测运动矢量在用于计算待解码单元的运动矢量时,在使用预测运动矢量时先确定该预测运动矢量是否满足发生几何变形的条件,如果满足几何变形的条件则对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量,然后使用第一更新后的预测运动矢量计算该待解码块的运动矢量,使得计算出的待解码块的运动矢量更准确,提高了编码效率。
结合第二方面,在第二方面的第一种可能的实现方式中,该预测单元为根据该M面体中面图像间的邻接关系确定的与该待解码单元呈空域相邻或时域相邻的已解码单元。
结合第二方面,或者第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,还包括:第一确定单元,用于在对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量之前,根据该预测运动矢量,确定与该预测单元中的第一预置点对应的第一对应点,该第一对应点属于该第一参考单元;第二确定单元,用于在该第一对应点所在的面图像与该待解码单元所在的面图像不属于同方位面图像时,确定该第一参考单元所在的面图像与该待解码单元所在的面图像不属于同方位面图像。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,第一确定单元具体用于在由该参考图像标识确定的参考图像中,确定该第一对应点,该第一对应点和该第一预置点的位置矢量由该预测单元的运动矢量确定。
结合第二方面,或者第二方面的上述任意一种可能的实现方式,在第二方面的第四种可能的实现方式中,还包括:第三确定单元,用于在该第一预置点所在的面图像与该待解码单元所在的面图像不属于同方位面图像时,确定该待解码单元所在的面图像与该预测单元所在的面图像不属于同方位面图像。
结合第二方面的第二种可能的实现方式,或者第二方面的第三种可能的实现方式,或者第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,该第一更新单元具体用于:当该待解码单元所在的面图像与该第一参考单元所在的面图像不属于同方位面图像,且该待解码单元所在的面图像与该预测单元所在的面图像属于同方位面图像时,根据该第一预置点和第一更新点的位置矢量确定第一更新后的该预测运动矢量;当该待解码单元所在的面图像与该预测单元所在的面图像不属于同方位面图像,且该待解码单元所在的面图像与该第一参考单元所在的面图像属于同方位面图像时,根据第二更新点和该第一对应点的位置矢量确定第一更新后的该预测运动矢量;当该待解码单元所在的面图像与该第一参考单元所在的面图像和该预测单元所在的面图像都不属于同方位面图像时,根据该第二更新点和该第一更新点的位置矢量确定第一更新后的该预测运动矢量。
结合第二方面的第五种可能的实现方式,在第二方面的第六种可能的实现方式中,还包括:第二获取单元,用于在该根据该第一预置点和第一更新点的位置矢量确定第一更新后的该预测运动矢量或在该根据该第二更新点和该第一更新点的位置矢量确定第一更新后的该预测运动矢量之前,获得该第一对应点在该M面体的表面的第一映射点,该第一映射点到该M面体的第一棱的距离与该第一对应点到该第一棱的距离相等,该第一棱为该第一映射点所在面图像与该待解码块所在面图像的同方位面图像的交界;第四确定单元,用于确定该M面体的体心与该第一映射点的连线与该待解码块所在的面图像的同方位面图像所在的平面的交点为该第一更新点。
结合第二方面的第五种可能的实现方式,或者第二方面的第六种可能的实现方式,在第二方面的第七种可能的实现方式中,还包括:第三获取单元,用于在该根据第二更新点和该第一对应点的位置矢量确定第一更新后的该预测运动矢量或在该根据该第二更新点和该第一更新点的位置矢量确定第一更新后的该预测运动矢量之前,获得该第一预置点在该M面体的表面的第二映射点,该第二映射点到该M面体的第二棱的距离与该第一预置点到该第二棱的距离相等,该第二棱为该第二映射点所在面图像与该待解码块所在面图像的交界;第五确定单元,用于确定该M面体的体心与该第二映射点的连线与该待解码块所在的面图像所在的平面的交点为该第二更新点。
结合第二方面,或者第二方面的上述任意一种可能的实现方式,在第二方面的第八种可能的实现方式中,该第一获取单元具体用于将该第一更新后的预测运动矢量作为该待解码单元的运动矢量。
结合第二方面,或者第二方面的上述任意一种可能的实现方式,在第二方面的第九种可能的实现方式中,该第一获取单元具体用于:将该第一更新后的预测运动矢量作为该待解码单元的运动矢量预测值;解析码流,获得该待解码单元的运动矢量差值,该运动矢量差值用于表征该待解码单元的运动矢量预测值和该待解码单元的运动矢量的差值;根据该待解码单元的运动矢量预测值和该待解码单元的运动矢量差值,获得该待解码单元的运动矢量。
结合第二方面,或者第二方面的上述任意一种可能的实现方式,在第二方面的第十种可能的实现方式中,还包括:第六确定单元,用于在该根据该第一更新后的该预测运动矢量,获得该待解码单元的运动矢量之后,根据该待解码单元的运动矢量,确定该待解码单元的第二参考单元;第二更新单元,用于在该待解码单元所在的面图像与该第二参考单元所在的面图像不属于同方位面图像时,对该待解码单元的运动矢量进行第二更新。
结合第二方面的第十种可能的实现方式,在第二方面的第十一种可能的实现方式中,还包括:第七确定单元,用于在该对该待解码单元的运动矢量进行第二更新之前,根据该待解码单元的运动矢量,确定与该待解码单元中的第二预置点对应的第二对应点,该第二对应点属于该第二参考单元;第八确定单元,在该第二对应点所在的面图像与该待解码单元所在的面图像不属于同方位面图像时,确定该待解码单元所在的面图像与该第二参考单元所在的面图像不属于同方位面图像。
结合第二方面的第十种可能的实现方式,或者第二方面的第十一种可能的实现方式,在第二方面的第十二种可能的实现方式中,该第二更新单元具体用于:确定该M面体的体心与该第二对应点的连线与该M面体的表面的交点为第一目标点;获得该第一目标点在与该第二预置点所在的面图像同方位的面图像所在的平面上的第三更新点,该第三更新点到该M面体的第三棱的距离与该第一目标点到该第三棱的距离相等,该第三棱为与该第二预置点所在面图像同方位面图像与该第一目标点所在面图像的交界;根据该第三更新点和该第二预置点的位置矢量确定该预测运动矢量。
结合第二方面的第二种可能的实现方式至第十二种可能的实现方式中任意一种可能的实现方式,在第二方面的第十三种可能的实现方式中,还包括:第九确定单元,用于在该对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量之前,确定该M面体的体心与该第一对应点的连线与该M面体的表面的交点为第二目标点;第四获取单元,用于获得该第二目标点在与该第一预置点所在的面图像同方位的面图像所在的平面上的第四更新点,该第四更新点到该M面体的第四棱的距离与该第二目标点到该第四棱的距离相等,该第四棱为与该第一预置点所在面图像同方位面图像与该第二目标点所在面图像的交界;第十确定单元,用于根据该第四更新点和该第一预置点的位置矢量确定该预测运动矢量。
结合第二方面的第二种可能的实现方式至第十三种可能的实现方式中任意一种可能的实现方式,在第二方面的第十四种可能的实现方式中,该第一预置点包括该预测单元的中心点或该预测单元的左上角点。
结合第二方面的第十一种可能的实现方式至第十三种可能的实现方式中任意一种可能的实现方式,在第二方面的第十四种可能的实现方式中,该第二预置点包括该待解码单元的中心点或该待解码单元的左上角点。
第三方面,本发明实施例提供了又一种解码器,该解码器包括处理器和存储器,该存储器用于存储程序和数据,该处理器调用该存储器中的程序,用于执行如下操作:根据待解码单元的预测单元的运动矢量确定该待解码单元的预测运动矢量;当第一参考单元所在的面图像和该预测单元所在的面图像中的至少一个与该待解码单元所在的面图像不属于同方位面图像时,对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量,该第一参考单元根据该预测单元的运动矢量和该预测单元的参考图像标识确定,该面图像为全景图像在一个方位的平面映射图像,M个该面图像构成封闭的M面体,其中,该M面体的体心和以该全景图像为表面的物体的体心重合,该M面体的体心到该面图像上的第一位置点的连线与该全景图像交于第二位置点,该第一位置点是该第二位置点的映射点,M大于等于4;根据该第一更新后的该预测运动矢量,获得该待解码单元的运动矢量。
通过执行上述操作,按照M面体中的连接关系确定的相邻块的MV往往会有几何形变,因此此处的预测单元(属于相邻块)的预测运动矢量在用于计算待解码单元的运动矢量时,在使用预测运动矢量时先确定该预测运动矢量是否满足发生几何变形的条件,如果满足几何变形的条件则对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量,然后使用第一更新后的预测运动矢量计算该待解码块的运动矢量,使得计算出的待解码块的运动矢量更准确,提高了编码效率。
结合第三方面,在第三方面的第一种可能的实现方式中,该预测单元为根据该M面体中面图像间的邻接关系确定的与该待解码单元呈空域相邻或时域相邻的已解码单元。
结合第三方面,或者第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,该对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量之前,该处理器还用于:根据该预测运动矢量,确定与该预测单元中的第一预置点对应的第一对应点,该第一对应点属于该第一参考单元;当该第一对应点所在的面图像与该待解码单元所在的面图像不属于同方位面图像时,确定该第一参考单元所在的面图像与该待解码单元所在的面图像不属于同方位面图像。
结合第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,该处理器根据该预测运动矢量,确定与该预测单元中的第一预置点对应的第一对应点,具体为:在由该参考图像标识确定的参考图像中,确定该第一对应点,该第一对应点和该第一预置点的位置矢量由该预测单元的运动矢量确定。
结合第三方面,或者第三方面的上述任意一种可能的实现方式,在第三方面的第四种可能的实现方式中,该处理器对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量之前,还用于:当该第一预置点所在的面图像与该待解码单元所在的面图像不属于同方位面图像时,确定该待解码单元所在的面图像与该预测单元所在的面图像不属于同方位面图像。
结合第三方面的第二种可能的实现方式,或者第三方面的第三种可能的实现方式,或者第三方面的第四种可能的实现方式,在第三方面的第五种可能的实现方式中,该处理器对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量,具体为:
当该待解码单元所在的面图像与该第一参考单元所在的面图像不属于同方位面图像,且该待解码单元所在的面图像与该预测单元所在的面图像属于同方位面图像时,根据该第一预置点和第一更新点的位置矢量确定第一更新后的该预测运动矢量;当该待解码单元所在的面图像与该预测单元所在的面图像不属于同方位面图像,且该待解码单元所在的面图像与该第一参考单元所在的面图像属于同方位面图像时,根据第二更新点和该第一对应点的位置矢量确定第一更新后的该预测运动矢量;当该待解码单元所在的面图像与该第一参考单元所在的面图像和该预测单元所在的面图像都不属于同方位面图像时,根据该第二更新点和该第一更新点的位置矢量确定第一更新后的该预测运动矢量。
结合第三方面的第五种可能的实现方式,在第三方面的第六种可能的实现方式中,该处理器在该根据该第一预置点和第一更新点的位置矢量确定第一更新后的该预测运动矢量或在该根据该第二更新点和该第一更新点的位置矢量确定第一更新后的该预测运动矢量之前,还用于:获得该第一对应点在该M面体的表面的第一映射点,该第一映射点到该M面体的第一棱的距离与该第一对应点到该第一棱的距离相等,该第一棱为该第一映射点所在面图像与该待解码块所在面图像的同方位面图像的交界;确定该M面体的体心与该第一映射点的连线与该待解码块所在的面图像的同方位面图像所在的平面的交点为该第一更新点。
结合第三方面的第五种可能的实现方式,或者第三方面的第六种可能的实现方式,在第三方面的第七种可能的实现方式中,该处理器在该根据第二更新点和该第一对应点的位置矢量确定第一更新后的该预测运动矢量或在该根据该第二更新点和该第一更新点的位置矢量确定第一更新后的该预测运动矢量之前,还用于:获得该第一预置点在该M面体的表面的第二映射点,该第二映射点到该M面体的第二棱的距离与该第一预置点到该第二棱的距离相等,该第二棱为该第二映射点所在面图像与该待解码块所在面图像的交界;确定该M面体的体心与该第二映射点的连线与该待解码块所在的面图像所在的平面的交点为该第二更新点。
结合第三方面,或者第三方面的上述任意一种可能的实现方式,在第三方面的第八种可能的实现方式中,该处理器根据该第一更新后的该预测运动矢量,获得该待解码单元的运动矢量,具体为:将该第一更新后的预测运动矢量作为该待解码单元的运动矢量。
结合第三方面,或者第三方面的上述任意一种可能的实现方式,在第三方面的第九种可能的实现方式中,该处理器根据该第一更新后的该预测运动矢量,获得该待解码单元的运动矢量,具体为:将该第一更新后的预测运动矢量作为该待解码单元的运动矢量预测值;解析码流,获得该待解码单元的运动矢量差值,该运动矢量差值用于表征该待解码单元的运动矢量预测值和该待解码单元的运动矢量的差值;根据该待解码单元的运动矢量预测值和该待解码单元的运动矢量差值,获得该待解码单元的运动矢量。
结合第三方面,或者第三方面的上述任意一种可能的实现方式,在第三方面的第十种可能的实现方式中,该处理器根据该第一更新后的该预测运动矢量,获得该待解码单元的运动矢量之后,还用于:根据该待解码单元的运动矢量,确定该待解码单元的第二参考单元;当该待解码单元所在的面图像与该第二参考单元所在的面图像不属于同方位面图像时,对该待解码单元的运动矢量进行第二更新。
结合第三方面的第十种可能的实现方式,在第三方面的第十一种可能的实现方式中,该对该待解码单元的运动矢量进行第二更新之前,还包括:根据该待解码单元的运动矢量,确定与该待解码单元中的第二预置点对应的第二对应点,该第二对应点属于该第二参考单元;当该第二对应点所在的面图像与该待解码单元所在的面图像不属于同方位面图像时,确定该待解码单元所在的面图像与该第二参考单元所在的面图像不属于同方位面图像。
结合第三方面的第十种可能的实现方式,或者第三方面的第十一种可能的实现方式,在第三方面的第十二种可能的实现方式中,该处理器对该待解码单元的运动矢量进行第二更新,具体为:确定该M面体的体心与该第二对应点的连线与该M面体的表面的交点为第一目标点;获得该第一目标点在与该第二预置点所在的面图像同方位的面图像所在的平面上的第三更新点,该第三更新点到该M面体的第三棱的距离与该第一目标点到该第三棱的距离相等,该第三棱为与该第二预置点所在面图像同方位面图像与该第一目标点所在面图像的交界;根据该第三更新点和该第二预置点的位置矢量确定该预测运动矢量。
结合第三方面的第二种可能的实现方式至第十二种可能的实现方式中任意一种可能的实现方式,在第三方面的第十三种可能的实现方式中,该处理器对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量之前,还用于:确定该M面体的体心与该第一对应点的连线与该M面体的表面的交点为第二目标点;获得该第二目标点在与该第一预置点所在的面图像同方位的面图像所在的平面上的第四更新点,该第四更新点到该M面体的第四棱的距离与该第二目标点到该第四棱的距离相等,该第四棱为与该第一预置点所在面图像同方位面图像与该第二目标点所在面图像的交界;根据该第四更新点和该第一预置点的位置矢量确定该预测运动矢量。
结合第三方面的第二种可能的实现方式至第十三种可能的实现方式中任意一种可能的实现方式,在第三方面的第十四种可能的实现方式中,该第一预置点包括该预测单元的中心点或该预测单元的左上角点。
结合第三方面的第十一种可能的实现方式至第十三种可能的实现方式中任意一种可能的实现方式,在第三方面的第十四种可能的实现方式中,该第二预置点包括该待解码单元的中心点或该待解码单元的左上角点。
通过实施本发明实施例,按照M面体中的连接关系确定的相邻块的MV往往会有几何形变,因此此处的预测单元(属于相邻块)的预测运动矢量在用于计算待解码单元的运动矢量时,在使用预测运动矢量时先确定该预测运动矢量是否满足发生几何变形的条件,如果满足几何变形的条件则对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量,然后使用第一更新后的预测运动矢量计算该待解码块的运动矢量,使得计算出的待解码块的运动矢量更准确,提高了编码效率。应理解,本发明实施例第二、三方面和第一方面的技术方案一致,有益效果相似,不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1是本发明实施例提供的一种多面体的结构示意图;
图2是本发明实施例提供的又一种六面体的结构示意图;
图3是本发明实施例提供的一种二维平面与六面体的对应关系示意图;
图4是本发明实施例提供的一种相邻块的场景示意图;
图5是本发明实施例提供的又一种相邻块的场景示意图;
图6是本发明实施例提供的又一种相邻块的场景示意图;
图7是本发明实施例提供的一种目标图像的场景示意图;
图8是本发明实施例提供的一种运动矢量变换的场景示意图;
图9是本发明实施例提供的一种运动矢量的解码方法的流程示意图;
图10是本发明实施例提供的一种运动矢量的场景示意图;
图11是本发明实施例提供的一种M面体的场景示意图;
图12是本发明实施例提供的又一种运动矢量变换的场景示意图;
图13是本发明实施例提供的一种解码器的结构示意图;
图14是本发明实施例提供的又一种解码器的结构示意图;
图15是本发明实施例提供的一种装置的结构示意图;
图16是本发明实施例提供的一种编码器的结构示意图。
具体实施方式
下面将结合附图对本发明实施例中的技术方案进行清楚地描述。
本发明实施例所描述的解码器可以为具有图像编码或者图像解码功能的模块、设备或者装置,例如,手机,电视机,平板电脑、笔记本电脑、掌上电脑、移动互联网设备(英文:mobile internet device,简称:MID)、可穿戴设备(例如智能手表(如iWatch等)、智能手环、计步器等)等。
请参见图9,图9是本发明实施例提供的一种运动矢量解码方法的流程示意图,该方法包括但不限于如下步骤。
步骤S901:解码器根据待解码单元的预测单元的运动矢量确定该待解码单元的预测运动矢量。
具体地,该待解码单元是指当前进行解码的单元(或者称为块),该预测单元属于该待解码单元的相邻块,该相邻块可以为根据该M面体中面图像间的邻接关系确定的与该待解码单元呈空域相邻或时域相邻的已解码单元,此处的相邻块的数量可以为多个,该多个相邻块中可以存在时域相邻的已解码单元,也可以存在空域相邻的已解码单元,此处的“单元”概念指的是图像中的块。为了便于理解,下面对该M面体进行介绍。
M个面图像构成封闭的M面体,每个面图像为全景图像在一个方位的平面映射图像,那么M个面图像可以看做是全景图像往M个方位映射得到的M个不同方位的面图像,M大于等于4,其中,该M面体的体心和以该全景图像为表面的物体的体心重合,该M面体的体心到该面图像上的第一位置点的连线与该全景图像交于第二位置点,该第一位置点是该第二位置点的映射点;全景图像通常也被称为VR图像、全景图像等等,由于这些图像不是二维的平面图像,因此称之为全景图像,优选的,此处的全景图像为球形的全景图像,当为球形的全景图像时,该重心为该球形全景图像的球心。
以该曲面图像为球形的全景图像为例更具体地讲述球形全景图像映射到M面体的几种可选方式。
方式一:在该M面体上的每个面上规划像素点,使得每个面上的像素点形成阵列(组成该阵列的像素点可以称为整数像素点),然后将每个面上的每个像素点与该全景图像的球心连线以交于该全景图像,连线的线段与该全景图像的交点往往不是该全景图像上的整点像素点,如果该交点不是整点像素点则采用插值法对该交点周围的整点像素点的像素值进行处理,从而计算出该交点处的像素值,然后将该交点的像素值作为该线段在该M面体上的像素点的像素值;M面体上每个具有像素点的面为一个面图像。
方式二:以该全景图像的球心为起点向该全景图像上的每个整点像素点做射线以交于该M面体,若射线与该M面体的某个交点、该球心以及该全景图像上的某个像素点三点一线,则将该某个像素点的像素值作为该某个交点的像素值;进一步地,在该M面体上的每个面上规划像素点,使每个面上的像素点形成阵列。若该M面体上的某个像素点与该M面体上的一个交点重合则将该交点的像素值作为该像素点的像素值,若该某个像素点不与该M面体上的交点重合,则采用插值法对该像素点周围的交点进行处理从而计算出该像素点的像素值,M面体上每个具有像素点的面为一个面图像。
举例来说,如果M面体中两个面图像相交于一条棱,那么这两个面图像相邻;可选的,在该M面体中描述一个块的相邻块时,将与该一个块所在的面图像相邻的面图像翻折到与该一个块所在的面图像处于同一平面。然后参照现有技术中确定相邻块时的位置关系,在该同一平面内确定该一个块的相邻块。举例来说,在M面体中,如果块C0和块A3分别处于不同的面图像,块C0和块A3均存在边界处于该M面体的某个棱上,并且块C0的一个角的顶点与块A3的一个角的顶点在该某个棱上重合,那么,块A3可能为块C0的相邻块(此处的A3可以类比图4中的A1,此处的C0可以类别图4中的C)。再举一例,在M面体中,如果块C1和块A4分别处于不同的面图像,块C1的一个角的顶点与块A4的一个角的顶点在M面体的一个棱上重合,且该块C1的边与该块A4的边在该M面体上没有重合部分,则块A4可能为块C1的相邻块(此处的块A4相当于图4中的块A0、B2、B0,此处的块C1相当于图4中的块C)。可以理解的是,当确定待编码单元的时域相邻块时,时域相邻块也会存在于一个M面体,该M面体的规格与待编码图像所在的M面体的规格(例如,M面体的边长等信息)相同;关于时域相邻块和空域相邻块的特点还可以参照发明内容中的相关描述。
对任意两个M面体中相同方位的面图像可以称为同方位面图像,具体来说,在一段全景视频(或者称VR视频)中存在多张球形全景图像,每张全景图像都会根据以上描述的原理映射到一个M面体上,假设两个全景图像各映射得到一个6面体(M面体存在M个方位),且6面体的六个方位上的面图像分别称为Front面图像、bottom面图像、top面图像、rear面图像、right面图像和left面图像,那么这两个M面体中的一个M面体的bottom面图像与另一个M面体的bottom面图像为同方位面图像,这两个M面体中的一个M面体的left面图像与另一个M面体的left面图像为同方位面图像,其余依此类推。
需要说明的是,目前在图像的处理中所处理的对象大部分为二维平面图像,因此这里的M面体的M个面图像也可能会拼接成一个二维平面图像以适应现有技术中对二维平面图像的处理。这样的话,本发明实施例所描述的面图像、块、单元等就会存在两种状态,这些面图像、块、单元等在M面体中是一种状态,在二维平面图像中又是另外一种状态,在对该二维平面图像的某个块进行处理时难免会要用到该某个块在对应的M面体中的邻接关系、位置关系等,因此可以建立布局信息,该布局信息可以记录面图像、块、单元等在M面体上的邻接关系、位置关系等,或者记录面图像、块、单元等在该二维平面图像上的邻接关系、位置关系等。可以通过布局信息来标记该每个面图像在该M面体中的位置(也可以理解为标记了各个面图像在该M面体中的邻接关系),可选的,还可以通过该布局信息来标记该二维平面图像中面图像内的块在该M面体中的位置(也可以理解为标记了各个块在该M面体中的邻接关系)。
可选的,该解码器会根据这些相邻块中的预测单元的运动矢量进行相关计算,该预测单元可以为依据预先给定的筛选条件从这些相邻块中确定的一个块,或者一部分块。例如,编码侧通过某种规则从该这些相邻块中选择一个块的MV用来计算待解码块的运动矢量,选择的这个块即为预测单元,编码侧可以编码一种标识来表明选择的块为预测单元,相应地,该解码器根据该标识即可确定该预测单元。
步骤S902:解码器对预测运动矢量做第一更新。
具体地,当第一参考单元所在的面图像和该预测单元所在面图像中至少一个面图像与该待解码单元所在的面图像不属于同方位面图像时,对预测运动矢量做第一更新,该第一参考单元根据该预测单元的运动矢量和该预测单元的参考图像标识确定,此处的参考图像标识定义了该第一参考单元所在的参考图像,例如,该预测单元按照预测单元的运动矢量偏移后在该预测单元所在的图像中的相对位置与该第一参考单元在该参考图像中的相对位置相同。由上述条件可知第一更新至少存在如下三种方案。
方案一:当第一参考单元所在的面图像与该待解码单元所在的面图像不属于同方位面图像,且该待解码单元所在的面图像与该预测单元所在的面图像属于同方位面图像时,对预测运动矢量做第一更新。在这种方案中,该对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量之前,还包括:根据该预测运动矢量,确定与该预测单元中的第一预置点对应的第一对应点,例如,该第一对应点和该第一预置点的位置矢量由该预测单元的运动矢量确定,该第一对应点为第一参考单元中的点;当该第一对应点不属于该待解码单元所在的面图像同方位面图像时,确定该第一参考单元所在的面图像与该待解码单元所在的面图像不属于同方位面图像。第一更新的过程如下:
首先获得该第一对应点在该M面体的表面的第一映射点,该第一映射点到该M面体的第一棱的距离与该第一对应点到该第一棱的距离相等,该第一棱为该第一映射点所在面图像与该待解码块所在面图像的同方位面图像的交界,优选的,该第一棱上的任意一点到该第一映射点的距离等于到该第一对应点的距离;然后确定该M面体的体心与该第一映射点的连线与该待解码块所在的面图像的同方位面图像所在的平面的交点为该第一更新点,例如,第一更新后的预测运动矢量等于该第一预置点的坐标位置到该第一更新点的坐标位置的坐标位置偏移。优选的,该第一更新的前提是待解码单元所属的面图像的同方位面图像在目标图像上的位置与在M面体上的位置完全重合,在实际中可能不会存在这种应用场景,这里是为了描述清楚上述几何关系才构建出来了这么样的场景。另外,若该第一参考单元为与该待解码块不在同一个M面体上,那么在描述上述几何关系时,可视该第一参考单元所在的M面体(即第一对应点所属的M面体)与该待解码单元所在的M面体重合,这样才能方便描述该第一参考单元(或者说第一对应点)与待解码单元的各种几何关系。
方案二:当该预测单元所在面图像与该待解码单元所在的面图像不属于同方位面图像,且该待解码单元所在的面图像与该第一参考单元所在的面图像属于同方位面图像时,对预测运动矢量做第一更新。因此,在做第一更新前,确定该待解码单元所在的面图像与该预测单元所在的面图像不属于同方位面图像,例如,判断该第一预置点是否属于该待解码单元所在的面图像,若不属于,则可确定该待解码单元所在的面图像与该预测单元所在的面图像不属于同方位面图像。第一更新的过程如下:
首先获得该第一预置点在该M面体的表面的第二映射点,该第二映射点到该M面体的第二棱的距离与该第一预置点到该第二棱的距离相等,该第二棱为该第二映射点所在面图像与该待解码块所在面图像的交界;然后确定该M面体的体心与该第二映射点的连线与该待解码块所在的面图像所在的平面的交点为该第二更新点,例如,第一更新后的预测运动矢量等于该第二更新点的坐标位置到该第一对应点的坐标位置的坐标位置偏移。优选的,该第一更新的前提是待解码单元所属的面图像在目标图像上的位置与在M面体上的位置完全重合,在实际中可能不会存在这种应用场景,这里是为了描述清楚上述几何关系才构建出来了这么样的场景。另外,若该预测单元为与该待解码块不在同一个M面体上,那么在描述上述几何关系时,可视该预测单元所在的M面体(即第一预置点所在的M面体)与该待解码单元所在的M面体重合,这样才能方便描述该第一参考单元(或者说第一对应点)与待解码单元的各种几何关系。
方案三:当第一参考单元所在的面图像和该预测单元所在面图像均与该待解码单元所在的面图像不属于同方位面图像时,对预测运动矢量做第一更新。因此,在做第一更新之前,判断第一参考单元所在的面图像与该待解码单元所在的面图像是否属于同方位面图像,以及判断该预测单元所在面图像均与该待解码单元所在的面图像是否属于同方位面图像,若第一参考单元所在的面图像和该预测单元所在面图像均与该待解码单元所在的面图像不属于同方位面图像,则对预测运动矢量做第一更新。做第一更新时可以根据方案一中的方式确定第一更新点,以及根据方案二中的方式确定第二更新点,然后根据该第二更新点和该第一更新点的位置矢量确定第一更新后该预测运动矢量,例如,第一更新后的预测运动矢量等于该第二更新点的坐标位置到该第一更新点的坐标位置的坐标位置偏移。
以下通过图10来举例示意上述三种方案的相关场景,图10中包括待解码单元P和待解码单元P的预测单元Q、第二预置点(xP1,yP1)、第二对应点(xP2,yP2)、第一预置点(xQ1,yQ1)和第一对应点(xQ2,yQ2),其中,第二预置点为预先配置的用于表征该待解码单元的位置的点,优选的,第二预置点可以为该预测单元的中心点或该预测单元的左上角点,该第一预置点为预先配置的用于表征该预测单元Q的位置的点,优选的,第二预置点可以为该预测单元的中心点或该预测单元的左上角点,第一预置点到第一对应点的向量(xQ2-xQ1,yQ2-yQ1)即等于预测运动矢量,第二预置点到第二对应点的向量(xP2-xP1,yP2-yP1)即为后续要计算的该待解码单元的运动矢量。在图10中,h部分表示第一预置点和第一对应点均在面图像Front上,而该待解码单元P也在面图像Front上,因此第一参考单元所在的面图像和预测单元所在的面图像均与该待解码单元所在的面图像属于同方位面图像;i部分表示第一预置点在面图像Front上,第一对应点不在面图像Front上,该待解码单元P在面图像Front上,因此预测单元所在的面图像与该待解码单元所在的面图像属于同方位面图像,第一参考单元所在的面图像与该待解码单元所在的面图像不属于同方位面图像;j部分表示第一预置点不在面图像Front上,第一对应点不在面图像Front上,该待解码单元P在面图像Front上,因此预测单元所在的面图像与该待解码单元所在的面图像不属于同方位面图像,第一参考单元所在的面图像与该待解码单元所在的面图像不属于同方位面图像。
图11示意了根据第一对应点确定第一更新点的方式,图11中的a部分示意了待解码单元P在M面体(M面体的几个顶点为A、B、C、D、E、F、G、H)展开拼接成的二维平面中的位置,b部分示意了第一对应点H和第一更新点T在目标图像中的位置,第一对应点H在M面体上对应的点为第一映射点H’,第一更新点在M面体上对应的点为T’。,c部分示意了将第一对应点校正到该待解码单元所在面图像的同方位面图像所在的平面内的方式;其中,O为多面体的体心,也是球形全景图像的圆心,O′为front面图像的中心。c部分中,SJ的长度LSJ、SH’的长度LSH’为已知量时,可以很容易确定KT的长度LKT和JK的长度LJK,也即是说,确定了第一映射点H’在多面体中的位置后即可确定第一更新点T的位置。假设图11中的正六面体的边长为t,那么可以通过公式2-1和公式2-2计算LKT和LJK
根据第一预置点确定第二更新点的原理与根据第一对应点确定第一更新点的原理相同;图10中的j部分中根据第一预置点(xQ1,yQ1)得到的第二更新点为(xQ1‘,yQ1’),根据第一对应点(xQ2,yQ2)得到的第一更新点为(xQ2‘,yQ2’),因此基于第二更新点到第一更新点的矢量为(xQ2‘-xQ1‘,yQ2’-yQ1’),即第一更新后的预测运动矢量等于MVQ′=(xQ2‘-xQ1‘,yQ2’-yQ1’),这里描述的是上述方案三,方案一和方案二原理相同此处不再赘述。图12为第一更新之前的预测运动矢量(xQ2-xQ1,yQ2-yQ1)与第一更新之后的预测运动矢量(xQ2‘-xQ1‘,yQ2’-yQ1’的对比示意图。
步骤S903:解码器根据该第一更新后的该预测运动矢量,获得该待解码单元的运动矢量。
具体地,确定待解码快的运动矢量的具体方式可能因采用的编码技术不同而存在差异(不管采用哪种方式,解码器和编码器用的编码技术是相同的),以下分别以融合技术和先进运动矢量预测技术为例进行描述。
融合技术:解码器根据该第一更新后该预测运动矢量,获得该待解码单元的运动矢量,可以为:将该第一更新后的预测运动矢量作为该待解码单元的运动矢量。也可以为:将该第一更新后的预测运动矢量经缩放后得到的运动矢量作为该待解码单元的运动矢量,缩放的方式可以参照发明内容中有关缩放的相关描述。
先进运动矢量预测技术:该根据该第一更新后该预测运动矢量,获得该待解码单元的运动矢量,包括:将该第一更新后的预测运动矢量作为该待解码单元的运动矢量预测值(英文:motion vector predictor,简称:MVP);也可以将该第一更新后的预测运动矢量经缩放后得到的运动矢量作为该待解码单元的运动矢量预测值,缩放的方式可以参照发明内容中有关缩放的相关描述;还要解析码流来获得该待解码单元的运动矢量差值MVD;根据该待解码单元的运动矢量预测值MVP和该待解码单元的运动矢量差值MVD,获得该待解码单元的运动矢量,优选的,将运动矢量预测值MVP和待解码单元的运动矢量差值MVD之和作为该待解码单元的运动矢量,即待解码单元的MV=MVP+MVD。
在一种可选的方案中,该解码器根据该第一更新后该预测运动矢量,获得该待解码单元的运动矢量之后,还包括:根据该待解码单元的运动矢量,确定该待解码单元的第二参考单元,当该待解码单元所在的面图像与该第二参考单元所在的面图像不属于同方位面图像时,对该待解码单元的运动矢量进行第二更新。因此,在进行第二更新之前还要判断待解码单元所在面图像与该第二参考单元所在面图像是否属于同方位面图像,具体方式可以如下:根据该待解码单元的运动矢量,确定与该待解码单元中的第二预置点对应的第二对应点,例如,第二预置点的位置坐标到第二对应点的位置坐标的位置坐标偏移等于该待解码单元的运动矢量,该第二对应点为该第二参考单元中的点;当该第二对应点所在的面图像与该待解码单元所在的面图像不属于同方位面图像时,确定该待解码单元所在的面图像与该第二参考单元所在的面图像不属于同方位面图像。进一步地,该对该待解码单元的运动矢量进行第二更新,可以具体为:确定该M面体的体心与该第二对应点的连线与该M面体的表面的交点为第一目标点;再获得该第一目标点在与该第二预置点所在的面图像同方位的面图像所在的平面上的第三更新点,该第三更新点到该M面体的第三棱的距离与该第一目标点到该第三棱的距离相等,该第三棱为与该第二预置点所在面图像同方位面图像与该第一目标点所在面图像的交界;优选的,该第三棱上的任意一点到该第三映射点的距离与到该第二对应点的距离相等;然后根据该第二预置点和该第三更新点的位置矢量确定该第二更新后的待解码单元的运动矢量,例如,第二更新后的待解码单元的运动矢量等于该第二预置点的坐标位置到该第三更新点的坐标位置的位置坐标偏移。优选的,该第二更新的前提是待解码单元所属的面图像在目标图像上的位置与在M面体上的位置完全重合,在实际中可能不会存在这种应用场景,这里是为了描述清楚上述几何关系才构建出来了这么样的场景。
在又一种可选的方案中,即便目标图像中的两个面图像在M面体中的位置相邻,但是由于全景图像往M面体上映射的过程,以及后续的相关过程会导致这两个面图像的交界处的内容呈现出几何变形,本领域的技术人员正在尝试采用相关技术来克服这种几何变形,这就导致了该块的MV并非真实的MV,因此在使用预测单元的MV之前需要对该预测单元的MV做还原,还原的过程如下:
确定该M面体的体心与该第一对应点的连线与该M面体的表面的交点为第二目标点;获得该第二目标点与在该第一预置点所在的面图像同方位面图像所在的平面上的第四更新点,该第四更新点到该M面体的第四棱的距离与该第二目标点到该第四棱的距离相等,该第四棱为与该第一预置点所在面图像同方位面图像与该第二目标点所在面图像的交界,优选的,该第四棱上的任意一点到该第四更新点的距离与到该目标点的距离相等;进一步地,根据该第四更新点和该第一预置点的位置矢量确定该预测运动矢量,例如,该第一预置点到该第四更新点的向量等于该预测运动矢量。优选的,生成预测运动矢量的前提是预测单元所属的面图像在目标图像上的位置与在M面体上的位置完全重合,在实际中可能不会存在这种应用场景,这里是为了描述清楚上述几何关系才构建出来了这么样的场景。
在图9所描述的方法中,按照M面体中的连接关系确定的相邻块的MV往往会有几何形变,因此此处的预测单元(属于相邻块)的预测运动矢量在用于计算待解码单元的运动矢量时,在使用预测运动矢量时先确定该预测运动矢量是否满足发生几何变形的条件,如果满足几何变形的条件则对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量,然后使用第一更新后的预测运动矢量计算该待解码块的运动矢量,使得计算出的待解码块的运动矢量更准确,提高了编码效率。
上述详细阐述了本发明实施例的方法,为了便于更好地实施本发明实施例的上述方案,相应地,下面提供了本发明实施例的装置。
请参见图13,图13是本发明实施例提供的一种解码器130的结构示意图,该解码器130可以包括处理单元1301、第一更新单元1302和第一获取单元1303,其中,各个单元的详细描述如下。
处理单元1301用于根据待解码单元的预测单元的运动矢量确定该待解码单元的预测运动矢量;第一更新单元1302用于在第一参考单元所在的面图像和该预测单元所在的面图像中的至少一个与该待解码单元所在的面图像不属于同方位面图像时,对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量,该第一参考单元根据该预测单元的运动矢量和该预测单元的参考图像标识确定,该面图像为全景图像在一个方位的平面映射图像,M个该面图像构成封闭的M面体,其中,该M面体的体心和以该全景图像为表面的物体的体心重合,该M面体的体心到该面图像上的第一位置点的连线与该全景图像交于第二位置点,该第一位置点是该第二位置点的映射点,M大于等于4;第一获取单元1303用于根据该第一更新后的该预测运动矢量,获得该待解码单元的运动矢量。
通过运行上述单元,按照M面体中的连接关系确定的相邻块的MV往往会有几何形变,因此此处的预测单元(属于相邻块)的预测运动矢量在用于计算待解码单元的运动矢量时,在使用预测运动矢量时先确定该预测运动矢量是否满足发生几何变形的条件,如果满足几何变形的条件则对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量,然后使用第一更新后的预测运动矢量计算该待解码块的运动矢量,使得计算出的待解码块的运动矢量更准确,提高了编码效率。
在一种可选的方案中,该预测单元为根据该M面体中面图像间的邻接关系确定的与该待解码单元呈空域相邻或时域相邻的已解码单元。
在又一种可选的方案中,还包括:第一确定单元,用于在对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量之前,根据该预测运动矢量,确定与该预测单元中的第一预置点对应的第一对应点,该第一对应点属于该第一参考单元;第二确定单元,用于在该第一对应点所在的面图像与该待解码单元所在的面图像不属于同方位面图像时,确定该第一参考单元所在的面图像与该待解码单元所在的面图像不属于同方位面图像。
在又一种可选的方案中,第一确定单元具体用于在由该参考图像标识确定的参考图像中,确定该第一对应点,该第一对应点和该第一预置点的位置矢量由该预测单元的运动矢量确定。
在又一种可选的方案中,还包括:第三确定单元,用于在该第一预置点所在的面图像与该待解码单元所在的面图像不属于同方位面图像时,确定该待解码单元所在的面图像与该预测单元所在的面图像不属于同方位面图像。
在又一种可选的方案中,该第一更新单元具体用于:
当该待解码单元所在的面图像与该第一参考单元所在的面图像不属于同方位面图像,且该待解码单元所在的面图像与该预测单元所在的面图像属于同方位面图像时,根据该第一预置点和第一更新点的位置矢量确定第一更新后的该预测运动矢量;
当该待解码单元所在的面图像与该预测单元所在的面图像不属于同方位面图像,且该待解码单元所在的面图像与该第一参考单元所在的面图像属于同方位面图像时,根据第二更新点和该第一对应点的位置矢量确定第一更新后的该预测运动矢量;
当该待解码单元所在的面图像与该第一参考单元所在的面图像和该预测单元所在的面图像都不属于同方位面图像时,根据该第二更新点和该第一更新点的位置矢量确定第一更新后的该预测运动矢量。
在又一种可选的方案中,还包括:第二获取单元,用于在该根据该第一预置点和第一更新点的位置矢量确定第一更新后的该预测运动矢量或在该根据该第二更新点和该第一更新点的位置矢量确定第一更新后的该预测运动矢量之前,获得该第一对应点在该M面体的表面的第一映射点,该第一映射点到该M面体的第一棱的距离与该第一对应点到该第一棱的距离相等,该第一棱为该第一映射点所在面图像与该待解码块所在面图像的同方位面图像的交界;第四确定单元,用于确定该M面体的体心与该第一映射点的连线与该待解码块所在的面图像的同方位面图像所在的平面的交点为该第一更新点。
在又一种可选的方案中,还包括:第三获取单元,用于在该根据第二更新点和该第一对应点的位置矢量确定第一更新后的该预测运动矢量或在该根据该第二更新点和该第一更新点的位置矢量确定第一更新后的该预测运动矢量之前,获得该第一预置点在该M面体的表面的第二映射点,该第二映射点到该M面体的第二棱的距离与该第一预置点到该第二棱的距离相等,该第二棱为该第二映射点所在面图像与该待解码块所在面图像的交界;第五确定单元,用于确定该M面体的体心与该第二映射点的连线与该待解码块所在的面图像所在的平面的交点为该第二更新点。
在又一种可选的方案中,该第一获取单元具体用于将该第一更新后的预测运动矢量作为该待解码单元的运动矢量。
在又一种可选的方案中,该第一获取单元具体用于:将该第一更新后的预测运动矢量作为该待解码单元的运动矢量预测值;解析码流,获得该待解码单元的运动矢量差值,该运动矢量差值用于表征该待解码单元的运动矢量预测值和该待解码单元的运动矢量的差值;根据该待解码单元的运动矢量预测值和该待解码单元的运动矢量差值,获得该待解码单元的运动矢量。
在又一种可选的方案中,还包括:第六确定单元,用于在该根据该第一更新后的该预测运动矢量,获得该待解码单元的运动矢量之后,根据该待解码单元的运动矢量,确定该待解码单元的第二参考单元;第二更新单元,用于在该待解码单元所在的面图像与该第二参考单元所在的面图像不属于同方位面图像时,对该待解码单元的运动矢量进行第二更新。
在又一种可选的方案中,还包括:第七确定单元,用于在该对该待解码单元的运动矢量进行第二更新之前,根据该待解码单元的运动矢量,确定与该待解码单元中的第二预置点对应的第二对应点,该第二对应点属于该第二参考单元;第八确定单元,在该第二对应点所在的面图像与该待解码单元所在的面图像不属于同方位面图像时,确定该待解码单元所在的面图像与该第二参考单元所在的面图像不属于同方位面图像。
在又一种可选的方案中,该第二更新单元具体用于:确定该M面体的体心与该第二对应点的连线与该M面体的表面的交点为第一目标点;获得该第一目标点在与该第二预置点所在的面图像同方位的面图像所在的平面上的第三更新点,该第三更新点到该M面体的第三棱的距离与该第一目标点到该第三棱的距离相等,该第三棱为与该第二预置点所在面图像同方位面图像与该第一目标点所在面图像的交界;根据该第三更新点和该第二预置点的位置矢量确定该预测运动矢量。
在又一种可选的方案中,还包括:第九确定单元,用于在该对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量之前,确定该M面体的体心与该第一对应点的连线与该M面体的表面的交点为第二目标点;第四获取单元,用于获得该第二目标点在与该第一预置点所在的面图像同方位的面图像所在的平面上的第四更新点,该第四更新点到该M面体的第四棱的距离与该第二目标点到该第四棱的距离相等,该第四棱为与该第一预置点所在面图像同方位面图像与该第二目标点所在面图像的交界;第十确定单元,用于根据该第四更新点和该第一预置点的位置矢量确定该预测运动矢量。
在又一种可选的方案中,该第一预置点包括该预测单元的中心点或该预测单元的左上角点。
在又一种可选的方案中,该第二预置点包括该待解码单元的中心点或该待解码单元的左上角点。
需要说明的是,各个单元的具体实现还可以对应参照图9所示的方法实施例的相应描述。
在图13所描述的解码器130中,按照M面体中的连接关系确定的相邻块的MV往往会有几何形变,因此此处的预测单元(属于相邻块)的预测运动矢量在用于计算待解码单元的运动矢量时,在使用预测运动矢量时先确定该预测运动矢量是否满足发生几何变形的条件,如果满足几何变形的条件则对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量,然后使用第一更新后的预测运动矢量计算该待解码块的运动矢量,使得计算出的待解码块的运动矢量更准确,提高了编码效率。
请参见图14,图14是本发明实施例提供的又一种解码器140的结构示意图,该解码器140包括处理器1401和存储器1402,该处理器1401和存储器1402通过总线相互连接。
存储器1402包括但不限于是随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或者快闪存储器)、或便携式只读存储器(CD-ROM),该存储器1402用于相关指令及数据。
处理器1401可以是一个或多个中央处理器1401(英文:Central ProcessingUnit,简称:CPU),在处理器1401是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
该解码器140中的处理器1401用于读取该存储器1402中存储的程序代码,执行以下操作:
根据待解码单元的预测单元的运动矢量确定该待解码单元的预测运动矢量;当第一参考单元所在的面图像和该预测单元所在的面图像中的至少一个与该待解码单元所在的面图像不属于同方位面图像时,对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量,该第一参考单元根据该预测单元的运动矢量和该预测单元的参考图像标识确定,该面图像为全景图像在一个方位的平面映射图像,M个该面图像构成封闭的M面体,其中,该M面体的体心和以该全景图像为表面的物体的体心重合,该M面体的体心到该面图像上的第一位置点的连线与该全景图像交于第二位置点,该第一位置点是该第二位置点的映射点,M大于等于4;根据该第一更新后的该预测运动矢量,获得该待解码单元的运动矢量。
通过执行上述步骤,按照M面体中的连接关系确定的相邻块的MV往往会有几何形变,因此此处的预测单元(属于相邻块)的预测运动矢量在用于计算待解码单元的运动矢量时,在使用预测运动矢量时先确定该预测运动矢量是否满足发生几何变形的条件,如果满足几何变形的条件则对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量,然后使用第一更新后的预测运动矢量计算该待解码块的运动矢量,使得计算出的待解码块的运动矢量更准确,提高了编码效率。
在一种可选的方案中,该预测单元为根据该M面体中面图像间的邻接关系确定的与该待解码单元呈空域相邻或时域相邻的已解码单元。
在又一种可选的方案中,该对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量之前,该处理器1401还用于:根据该预测运动矢量,确定与该预测单元中的第一预置点对应的第一对应点,该第一对应点属于该第一参考单元;当该第一对应点所在的面图像与该待解码单元所在的面图像不属于同方位面图像时,确定该第一参考单元所在的面图像与该待解码单元所在的面图像不属于同方位面图像。
在又一种可选的方案中,该处理器1401根据该预测运动矢量,确定与该预测单元中的第一预置点对应的第一对应点,具体为:在由该参考图像标识确定的参考图像中,确定该第一对应点,该第一对应点和该第一预置点的位置矢量由该预测单元的运动矢量确定。
在又一种可选的方案中,该处理器1401对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量之前,还用于:当该第一预置点所在的面图像与该待解码单元所在的面图像不属于同方位面图像时,确定该待解码单元所在的面图像与该预测单元所在的面图像不属于同方位面图像。
在又一种可选的方案中,该处理器1401对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量,具体为:
当该待解码单元所在的面图像与该第一参考单元所在的面图像不属于同方位面图像,且该待解码单元所在的面图像与该预测单元所在的面图像属于同方位面图像时,根据该第一预置点和第一更新点的位置矢量确定第一更新后的该预测运动矢量;
当该待解码单元所在的面图像与该预测单元所在的面图像不属于同方位面图像,且该待解码单元所在的面图像与该第一参考单元所在的面图像属于同方位面图像时,根据第二更新点和该第一对应点的位置矢量确定第一更新后的该预测运动矢量;
当该待解码单元所在的面图像与该第一参考单元所在的面图像和该预测单元所在的面图像都不属于同方位面图像时,根据该第二更新点和该第一更新点的位置矢量确定第一更新后的该预测运动矢量。
在又一种可选的方案中,该处理器1401在该根据该第一预置点和第一更新点的位置矢量确定第一更新后的该预测运动矢量或在该根据该第二更新点和该第一更新点的位置矢量确定第一更新后的该预测运动矢量之前,还用于:获得该第一对应点在该M面体的表面的第一映射点,该第一映射点到该M面体的第一棱的距离与该第一对应点到该第一棱的距离相等,该第一棱为该第一映射点所在面图像与该待解码块所在面图像的同方位面图像的交界;确定该M面体的体心与该第一映射点的连线与该待解码块所在的面图像的同方位面图像所在的平面的交点为该第一更新点。
在又一种可选的方案中,该处理器1401在该根据第二更新点和该第一对应点的位置矢量确定第一更新后的该预测运动矢量或在该根据该第二更新点和该第一更新点的位置矢量确定第一更新后的该预测运动矢量之前,还用于:获得该第一预置点在该M面体的表面的第二映射点,该第二映射点到该M面体的第二棱的距离与该第一预置点到该第二棱的距离相等,该第二棱为该第二映射点所在面图像与该待解码块所在面图像的交界;确定该M面体的体心与该第二映射点的连线与该待解码块所在的面图像所在的平面的交点为该第二更新点。
结合第三方面,或者第三方面的上述任意一种可能的实现方式,在第三方面的第八种可能的实现方式中,该处理器1401根据该第一更新后的该预测运动矢量,获得该待解码单元的运动矢量,具体为:将该第一更新后的预测运动矢量作为该待解码单元的运动矢量。
在又一种可选的方案中,该处理器1401根据该第一更新后的该预测运动矢量,获得该待解码单元的运动矢量,具体为:将该第一更新后的预测运动矢量作为该待解码单元的运动矢量预测值;解析码流,获得该待解码单元的运动矢量差值,该运动矢量差值用于表征该待解码单元的运动矢量预测值和该待解码单元的运动矢量的差值;根据该待解码单元的运动矢量预测值和该待解码单元的运动矢量差值,获得该待解码单元的运动矢量。
在又一种可选的方案中,该处理器1401根据该第一更新后的该预测运动矢量,获得该待解码单元的运动矢量之后,还用于:根据该待解码单元的运动矢量,确定该待解码单元的第二参考单元;当该待解码单元所在的面图像与该第二参考单元所在的面图像不属于同方位面图像时,对该待解码单元的运动矢量进行第二更新。
在又一种可选的方案中,该对该待解码单元的运动矢量进行第二更新之前,还包括:根据该待解码单元的运动矢量,确定与该待解码单元中的第二预置点对应的第二对应点,该第二对应点属于该第二参考单元;当该第二对应点所在的面图像与该待解码单元所在的面图像不属于同方位面图像时,确定该待解码单元所在的面图像与该第二参考单元所在的面图像不属于同方位面图像。
在又一种可选的方案中,该处理器1401对该待解码单元的运动矢量进行第二更新,具体为:确定该M面体的体心与该第二对应点的连线与该M面体的表面的交点为第一目标点;获得该第一目标点在与该第二预置点所在的面图像同方位的面图像所在的平面上的第三更新点,该第三更新点到该M面体的第三棱的距离与该第一目标点到该第三棱的距离相等,该第三棱为与该第二预置点所在面图像同方位面图像与该第一目标点所在面图像的交界;根据该第三更新点和该第二预置点的位置矢量确定该预测运动矢量。
在又一种可选的方案中,该处理器1401对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量之前,还用于:确定该M面体的体心与该第一对应点的连线与该M面体的表面的交点为第二目标点;获得该第二目标点在与该第一预置点所在的面图像同方位的面图像所在的平面上的第四更新点,该第四更新点到该M面体的第四棱的距离与该第二目标点到该第四棱的距离相等,该第四棱为与该第一预置点所在面图像同方位面图像与该第二目标点所在面图像的交界;根据该第四更新点和该第一预置点的位置矢量确定该预测运动矢量。
在又一种可选的方案中,该第一预置点包括该预测单元的中心点或该预测单元的左上角点。
在又一种可选的方案中,该第二预置点包括该待解码单元的中心点或该待解码单元的左上角点。
需要说明的是,各个操作的具体实现还可以对应参照图9所示的方法实施例的相应描述。
在图14所描述的解码器140中,按照M面体中的连接关系确定的相邻块的MV往往会有几何形变,因此此处的预测单元(属于相邻块)的预测运动矢量在用于计算待解码单元的运动矢量时,在使用预测运动矢量时先确定该预测运动矢量是否满足发生几何变形的条件,如果满足几何变形的条件则对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量,然后使用第一更新后的预测运动矢量计算该待解码块的运动矢量,使得计算出的待解码块的运动矢量更准确,提高了编码效率。
请参见图15,图15是视频编解码终端或装置160的示意性框图,上述解码器130和解码器140可以为该终端160或者该终端160中的一部分。该装置160用于对视频图像进行编码和解码,或者编码,或者解码。
装置160可以包括用于并入和保护设备的壳90。装置160还可以包括形式为液晶显示器的显示器32。在本发明的其它实施例中,显示器可以是适合于显示图像或者视频的任何适当的显示器技术。装置160还可以包括小键盘34。在本发明的其它实施例中,可以运用任何适当的数据或者用户接口机制。例如,可以实施用户接口为虚拟键盘或者数据录入系统作为触敏显示器的一部分。装置可以包括麦克风36或者任何适当的音频输入,该音频输入可以是数字或者模拟信号输入。装置160还可以包括如下音频输出设备,该音频输出设备在本发明的实施例中可以是以下各项中的任何一项:耳机38、扬声器或者模拟音频或者数字音频输出连接。装置160也可以包括电池40,在本发明的其它实施例中,设备可以由任何适当的移动能量设备,比如太阳能电池、燃料电池或者时钟机构生成器供电。装置还可以包括用于与其它设备的近程视线通信的红外线端口42。在其它实施例中,装置160还可以包括任何适当的近程通信解决方案,比如蓝牙无线连接或者USB/火线有线连接。
装置160可以包括用于控制装置160的控制器56或者处理器。控制器56可以连接到存储器58,该存储器在本发明的实施例中可以存储形式为图像的数据和音频的数据,和/或也可以存储用于在控制器56上实施的指令。控制器56还可以连接到适合于实现音频和/或视频数据的编码和解码或者由控制器56实现的辅助编码和解码的编码解码器电路54。
装置160还可以包括用于提供用户信息并且适合于提供用于在网络认证和授权用户的认证信息的读卡器48和智能卡46,例如UICC和UICC读取器。
装置160还可以包括无线电接口电路52,该无线电接口电路连接到控制器并且适合于生成例如用于与蜂窝通信网络、无线通信系统或者无线局域网通信的无线通信信号。装置160还可以包括天线44,该天线连接到无线电接口电路52用于向其它(多个)装置发送在无线电接口电路52生成的射频信号并且用于从其它(多个)装置接收射频信号。
在本发明的一些实施例中,装置160包括能够记录或者检测单帧的相机,编码解码器54或者控制器接收到这些单帧并对它们进行处理。在本发明的一些实施例中,装置可以在传输和/或存储之前从另一设备接收待处理的视频图像数据。在本发明的一些实施例中,装置160可以通过无线或者有线连接接收图像用于编码/解码。
图16是根据本发明实施例的另一视频编解码系统170的示意性框图。如图16所示,视频编解码系统170包含源装置62及目的地装置72。源装置62产生经编码视频数据。因此,源装置62可被称作视频编码装置或视频编码设备。目的地装置72可解码由源装置62产生的经编码视频数据。因此,目的地装置72可被称作视频解码装置或视频解码设备。源装置62及目的地装置72可为视频编解码装置或视频编解码设备的实例。源装置62及目的地装置72可包括广泛范围的装置,包含台式计算机、移动计算装置、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、智能电话等手持机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机,或其类似者。本发明各个实施例中的终端可以为该源装置62,也可能为该目的装置72。
目的地装置72可经由信道16接收来自源装置62的编码后的视频数据。信道16可包括能够将经编码视频数据从源装置62移动到目的地装置72的一个或多个媒体及/或装置。在一个实例中,信道16可包括使源装置62能够实时地将编码后的视频数据直接发射到目的地装置72的一个或多个通信媒体。在此实例中,源装置62可根据通信标准(例如,无线通信协议)来调制编码后的视频数据,且可将调制后的视频数据发射到目的地装置72。该一个或多个通信媒体可包含无线及/或有线通信媒体,例如射频(RF)频谱或一根或多根物理传输线。该一个或多个通信媒体可形成基于包的网络(例如,局域网、广域网或全球网络(例如,因特网))的部分。该一个或多个通信媒体可包含路由器、交换器、基站,或促进从源装置62到目的地装置72的通信的其它设备。
在另一实例中,信道16可包含存储由源装置62产生的编码后的视频数据的存储媒体。在此实例中,目的地装置72可经由磁盘存取或卡存取来存取存储媒体。存储媒体可包含多种本地存取式数据存储媒体,例如蓝光光盘、DVD、CD-ROM、快闪存储器,或用于存储经编码视频数据的其它合适数字存储媒体。
在另一实例中,信道16可包含文件服务器或存储由源装置62产生的编码后的视频数据的另一中间存储装置。在此实例中,目的地装置72可经由流式传输或下载来存取存储于文件服务器或其它中间存储装置处的编码后的视频数据。文件服务器可以是能够存储编码后的视频数据且将该编码后的视频数据发射到目的地装置72的服务器类型。实例文件服务器包含web服务器(例如,用于网站)、文件传送协议(FTP)服务器、网络附加存储(NAS)装置,及本地磁盘驱动器。
目的地装置72可经由标准数据连接(例如,因特网连接)来存取编码后的视频数据。数据连接的实例类型包含适合于存取存储于文件服务器上的编码后的视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、缆线调制解调器等),或两者的组合。编码后的视频数据从文件服务器的发射可为流式传输、下载传输或两者的组合。
本发明的技术不限于无线应用场景,示例性的,可将该技术应用于支持以下应用等多种多媒体应用的视频编解码:空中电视广播、有线电视发射、卫星电视发射、流式传输视频发射(例如,经由因特网)、存储于数据存储媒体上的视频数据的编码、存储于数据存储媒体上的视频数据的解码,或其它应用。在一些实例中,视频编解码系统170可经配置以支持单向或双向视频发射,以支持例如视频流式传输、视频播放、视频广播及/或视频电话等应用。
在图16的实例中,源装置62包含视频源18、视频编码器70及输出接口22。在一些实例中,输出接口22可包含调制器/解调器(调制解调器)及/或发射器。视频源18可包含视频俘获装置(例如,视频相机)、含有先前俘获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频输入接口,及/或用于产生视频数据的计算机图形系统,或上述视频数据源的组合。
视频编码器70可编码来自视频源18的视频数据。在一些实例中,源装置62经由输出接口22将编码后的视频数据直接发射到目的地装置72。编码后的视频数据还可存储于存储媒体或文件服务器上以供目的地装置72稍后存取以用于解码及/或播放。
在图16的实例中,目的地装置72包含输入接口28、视频解码器90及显示装置32。在一些实例中,输入接口28包含接收器及/或调制解调器。输入接口28可经由信道16接收编码后的视频数据。显示装置32可与目的地装置72整合或可在目的地装置72外部。一般来说,显示装置32显示解码后的视频数据。显示装置32可包括多种显示装置,例如液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或其它类型的显示装置。
视频编码器70及视频解码器90可根据视频压缩标准(例如,高效率视频编解码H.265标准)而操作,且可遵照HEVC测试模型(HM)。
或者,视频编码器70及视频解码器90可根据其它专属或行业标准而操作,该标准包含ITU-TH.261、ISO/IECMPEG-1Visual、ITU-TH.262或ISO/IECMPEG-2Visual、ITU-TH.263、ISO/IECMPEG-4Visual,ITU-TH.264(还称为ISO/IECMPEG-4AVC),包含可分级视频编解码(SVC)及多视图视频编解码(MVC)扩展。应理解,本发明的技术不限于任何特定编解码标准或技术。
此外,图16仅为实例且本发明的技术可应用于未必包含编码装置与解码装置之间的任何数据通信的视频编解码应用(例如,单侧的视频编码或视频解码)。在其它实例中,从本地存储器检索数据,经由网络流式传输数据,或以类似方式操作数据。编码装置可编码数据且将该数据存储到存储器,及/或解码装置可从存储器检索数据且解码该数据。通常,通过彼此不进行通信而仅编码数据到存储器及/或从存储器检索数据及解码数据的多个装置执行编码及解码。
视频编码器70及视频解码器90各自可实施为多种合适电路中的任一者,例如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、硬件或其任何组合。如果技术部分地或者全部以软件实施,则装置可将软件的指令存储于合适的非瞬时计算机可读存储媒体中,且可使用一个或多个处理器执行硬件中的指令以执行本发明的技术。可将前述各者中的任一者(包含硬件、软件、硬件与软件的组合等)视为一个或多个处理器。视频编码器70及视频解码器90中的每一者可包含于一个或多个编码器或解码器中,其中的任一者可整合为其它装置中的组合式编码器/解码器(编解码器(CODEC))的部分。
本发明大体上可指代视频编码器70将某一信息“用信号发送”到另一装置(例如,视频解码器90)。术语“用信号发送”大体上可指代语法元素及/或表示编码后的视频数据的传达。此传达可实时或近实时地发生。或者,此通信可在一时间跨度上发生,例如可在编码时以编码后得到的二进制数据将语法元素存储到计算机可读存储媒体时发生,该语法元素在存储到此媒体之后接着可由解码装置在任何时间检索。
综上所述,通过实施本发明实施例,按照M面体中的连接关系确定的相邻块的MV往往会有几何形变,因此此处的预测单元(属于相邻块)的预测运动矢量在用于计算待解码单元的运动矢量时,在使用预测运动矢量时先确定该预测运动矢量是否满足发生几何变形的条件,如果满足几何变形的条件则对该预测运动矢量进行第一更新,该第一更新用于确定该预测运动矢量在该待解码单元所在的面图像所在的平面上的映射矢量,然后使用第一更新后的预测运动矢量计算该待解码块的运动矢量,使得计算出的待解码块的运动矢量更准确,提高了编码效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上实施例仅揭露了本发明中较佳实施例,不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

Claims (28)

1.一种运动矢量的解码方法,其特征在于,包括:
根据待解码单元的预测单元的运动矢量确定所述待解码单元的预测运动矢量;
当第一参考单元所在的面图像和所述预测单元所在的面图像中的至少一个与所述待解码单元所在的面图像不属于同方位面图像时,对所述预测运动矢量进行第一更新,所述第一更新用于确定所述预测运动矢量在所述待解码单元所在的面图像所在的平面上的映射矢量,所述第一参考单元根据所述预测单元的运动矢量和所述预测单元的参考图像标识确定,所述面图像为全景图像在一个方位的平面映射图像,M个所述面图像构成封闭的M面体,其中,所述M面体的体心和以所述全景图像为表面的物体的体心重合,所述M面体的体心到所述面图像上的第一位置点的连线与所述全景图像交于第二位置点,所述第一位置点是所述第二位置点的映射点,M大于等于4;
根据所述第一更新后的所述预测运动矢量,获得所述待解码单元的运动矢量。
2.根据权利要求1所述的方法,其特征在于,所述预测单元为根据所述M面体中面图像间的邻接关系确定的与所述待解码单元呈空域相邻或时域相邻的已解码单元。
3.根据权利要求1或2所述的方法,其特征在于,所述对所述预测运动矢量进行第一更新,所述第一更新用于确定所述预测运动矢量在所述待解码单元所在的面图像所在的平面上的映射矢量之前,还包括:
根据所述预测运动矢量,确定与所述预测单元中的第一预置点对应的第一对应点,所述第一对应点属于所述第一参考单元;
当所述第一对应点所在的面图像与所述待解码单元所在的面图像不属于同方位面图像时,确定所述第一参考单元所在的面图像与所述待解码单元所在的面图像不属于同方位面图像。
4.根据权利要求3所述的方法,其特征在于,所述根据所述预测运动矢量,确定与所述预测单元中的第一预置点对应的第一对应点,包括:
在由所述参考图像标识确定的参考图像中,确定所述第一对应点,所述第一对应点和所述第一预置点的位置矢量由所述预测单元的运动矢量确定。
5.根据权利要求1或2所述的方法,其特征在于,所述对所述预测运动矢量进行第一更新,所述第一更新用于确定所述预测运动矢量在所述待解码单元所在的面图像所在的平面上的映射矢量之前,还包括:
当所述预测单元中的第一预置点所在的面图像与所述待解码单元所在的面图像不属于同方位面图像时,确定所述待解码单元所在的面图像与所述预测单元所在的面图像不属于同方位面图像。
6.根据权利要求3所述的方法,其特征在于,所述对所述预测运动矢量进行第一更新,所述第一更新用于确定所述预测运动矢量在所述待解码单元所在的面图像所在的平面上的映射矢量,包括:
当所述待解码单元所在的面图像与所述第一参考单元所在的面图像不属于同方位面图像,且所述待解码单元所在的面图像与所述预测单元所在的面图像属于同方位面图像时,根据所述第一预置点和第一更新点的位置矢量确定第一更新后的所述预测运动矢量;
当所述待解码单元所在的面图像与所述预测单元所在的面图像不属于同方位面图像,且所述待解码单元所在的面图像与所述第一参考单元所在的面图像属于同方位面图像时,根据第二更新点和所述第一对应点的位置矢量确定第一更新后的所述预测运动矢量;
当所述待解码单元所在的面图像与所述第一参考单元所在的面图像和所述预测单元所在的面图像都不属于同方位面图像时,根据所述第二更新点和所述第一更新点的位置矢量确定第一更新后的所述预测运动矢量;
在所述根据所述第一预置点和第一更新点的位置矢量确定第一更新后的所述预测运动矢量或在所述根据所述第二更新点和所述第一更新点的位置矢量确定第一更新后的所述预测运动矢量之前,还包括:
获得所述第一对应点在所述M面体的表面的第一映射点,所述第一映射点到所述M面体的第一棱的距离与所述第一对应点到所述第一棱的距离相等,所述第一棱为所述第一映射点所在面图像与所述待解码块所在面图像的同方位面图像的交界;
确定所述M面体的体心与所述第一映射点的连线与所述待解码块所在的面图像的同方位面图像所在的平面的交点为所述第一更新点;
在所述根据第二更新点和所述第一对应点的位置矢量确定第一更新后的所述预测运动矢量或在所述根据所述第二更新点和所述第一更新点的位置矢量确定第一更新后的所述预测运动矢量之前,还包括:
获得所述第一预置点在所述M面体的表面的第二映射点,所述第二映射点到所述M面体的第二棱的距离与所述第一预置点到所述第二棱的距离相等,所述第二棱为所述第二映射点所在面图像与所述待解码块所在面图像的交界;
确定所述M面体的体心与所述第二映射点的连线与所述待解码块所在的面图像所在的平面的交点为所述第二更新点。
7.根据权利要求1或2所述的方法,其特征在于,所述根据所述第一更新后的所述预测运动矢量,获得所述待解码单元的运动矢量,包括:
将所述第一更新后的预测运动矢量作为所述待解码单元的运动矢量。
8.根据权利要求1或2所述的方法,其特征在于,所述根据所述第一更新后的所述预测运动矢量,获得所述待解码单元的运动矢量,包括:
将所述第一更新后的预测运动矢量作为所述待解码单元的运动矢量预测值;
解析码流,获得所述待解码单元的运动矢量差值,所述运动矢量差值用于表征所述待解码单元的运动矢量预测值和所述待解码单元的运动矢量的差值;
根据所述待解码单元的运动矢量预测值和所述待解码单元的运动矢量差值,获得所述待解码单元的运动矢量。
9.根据权利要求1或2所述的方法,其特征在于,所述根据所述第一更新后的所述预测运动矢量,获得所述待解码单元的运动矢量之后,还包括:
根据所述待解码单元的运动矢量,确定所述待解码单元的第二参考单元;
当所述待解码单元所在的面图像与所述第二参考单元所在的面图像不属于同方位面图像时,对所述待解码单元的运动矢量进行第二更新。
10.根据权利要求9所述的方法,其特征在于,所述对所述待解码单元的运动矢量进行第二更新之前,还包括:
根据所述待解码单元的运动矢量,确定与所述待解码单元中的第二预置点对应的第二对应点,所述第二对应点属于所述第二参考单元;
当所述第二对应点所在的面图像与所述待解码单元所在的面图像不属于同方位面图像时,确定所述待解码单元所在的面图像与所述第二参考单元所在的面图像不属于同方位面图像。
11.根据权利要求9所述的方法,其特征在于,所述对所述待解码单元的运动矢量进行第二更新,包括:
确定所述M面体的体心与第二对应点的连线与所述M面体的表面的交点为第一目标点,所述第二对应点属于所述第二参考单元,其中,所述第二对应点为与所述待解码单元中的第二预置点对应的点;
获得所述第一目标点在与所述待解码单元中的第二预置点所在的面图像同方位的面图像所在的平面上的第三更新点,所述第三更新点到所述M面体的第三棱的距离与所述第一目标点到所述第三棱的距离相等,所述第三棱为与所述第二预置点所在面图像同方位面图像与所述第一目标点所在面图像的交界;
根据所述第三更新点和所述第二预置点的位置矢量确定所述预测运动矢量。
12.根据权利要求3所述的方法,其特征在于,所述对所述预测运动矢量进行第一更新,所述第一更新用于确定所述预测运动矢量在所述待解码单元所在的面图像所在的平面上的映射矢量之前,还包括:
确定所述M面体的体心与所述第一对应点的连线与所述M面体的表面的交点为第二目标点;
获得所述第二目标点在与所述第一预置点所在的面图像同方位的面图像所在的平面上的第四更新点,所述第四更新点到所述M面体的第四棱的距离与所述第二目标点到所述第四棱的距离相等,所述第四棱为与所述第一预置点所在面图像同方位面图像与所述第二目标点所在面图像的交界;
根据所述第四更新点和所述第一预置点的位置矢量确定所述预测运动矢量。
13.根据权利要求3所述的方法,其特征在于,所述第一预置点包括所述预测单元的中心点或所述预测单元的左上角点。
14.根据权利要求10所述的方法,其特征在于,所述第二预置点包括所述待解码单元的中心点或所述待解码单元的左上角点。
15.一种解码器,其特征在于,包括:
处理单元,用于根据待解码单元的预测单元的运动矢量确定所述待解码单元的预测运动矢量;
第一更新单元,用于在第一参考单元所在的面图像和所述预测单元所在的面图像中的至少一个与所述待解码单元所在的面图像不属于同方位面图像时,对所述预测运动矢量进行第一更新,所述第一更新用于确定所述预测运动矢量在所述待解码单元所在的面图像所在的平面上的映射矢量,所述第一参考单元根据所述预测单元的运动矢量和所述预测单元的参考图像标识确定,所述面图像为全景图像在一个方位的平面映射图像,M个所述面图像构成封闭的M面体,其中,所述M面体的体心和以所述全景图像为表面的物体的体心重合,所述M面体的体心到所述面图像上的第一位置点的连线与所述全景图像交于第二位置点,所述第一位置点是所述第二位置点的映射点,M大于等于4;
第一获取单元,用于根据所述第一更新后的所述预测运动矢量,获得所述待解码单元的运动矢量。
16.根据权利要求15所述的解码器,其特征在于,所述预测单元为根据所述M面体中面图像间的邻接关系确定的与所述待解码单元呈空域相邻或时域相邻的已解码单元。
17.根据权利要求15或16所述的解码器,其特征在于,还包括:
第一确定单元,用于在对所述预测运动矢量进行第一更新,所述第一更新用于确定所述预测运动矢量在所述待解码单元所在的面图像所在的平面上的映射矢量之前,根据所述预测运动矢量,确定与所述预测单元中的第一预置点对应的第一对应点,所述第一对应点属于所述第一参考单元;
第二确定单元,用于在所述第一对应点所在的面图像与所述待解码单元所在的面图像不属于同方位面图像时,确定所述第一参考单元所在的面图像与所述待解码单元所在的面图像不属于同方位面图像。
18.根据权利要求17所述的解码器,其特征在于,第一确定单元具体用于在由所述参考图像标识确定的参考图像中,确定所述第一对应点,所述第一对应点和所述第一预置点的位置矢量由所述预测单元的运动矢量确定。
19.根据权利要求15或16所述的解码器,其特征在于,还包括:
第三确定单元,用于在所述预测单元中的第一预置点所在的面图像与所述待解码单元所在的面图像不属于同方位面图像时,确定所述待解码单元所在的面图像与所述预测单元所在的面图像不属于同方位面图像。
20.根据权利要求17所述的解码器,其特征在于,所述第一更新单元具体用于:
当所述待解码单元所在的面图像与所述第一参考单元所在的面图像不属于同方位面图像,且所述待解码单元所在的面图像与所述预测单元所在的面图像属于同方位面图像时,根据所述第一预置点和第一更新点的位置矢量确定第一更新后的所述预测运动矢量;
当所述待解码单元所在的面图像与所述预测单元所在的面图像不属于同方位面图像,且所述待解码单元所在的面图像与所述第一参考单元所在的面图像属于同方位面图像时,根据第二更新点和所述第一对应点的位置矢量确定第一更新后的所述预测运动矢量;
当所述待解码单元所在的面图像与所述第一参考单元所在的面图像和所述预测单元所在的面图像都不属于同方位面图像时,根据所述第二更新点和所述第一更新点的位置矢量确定第一更新后的所述预测运动矢量;
所述解码器还包括:
第二获取单元,用于在所述根据所述第一预置点和第一更新点的位置矢量确定第一更新后的所述预测运动矢量或在所述根据所述第二更新点和所述第一更新点的位置矢量确定第一更新后的所述预测运动矢量之前,获得所述第一对应点在所述M面体的表面的第一映射点,所述第一映射点到所述M面体的第一棱的距离与所述第一对应点到所述第一棱的距离相等,所述第一棱为所述第一映射点所在面图像与所述待解码块所在面图像的同方位面图像的交界;
第四确定单元,用于确定所述M面体的体心与所述第一映射点的连线与所述待解码块所在的面图像的同方位面图像所在的平面的交点为所述第一更新点;
所述解码器还包括:
第三获取单元,用于在所述根据第二更新点和所述第一对应点的位置矢量确定第一更新后的所述预测运动矢量或在所述根据所述第二更新点和所述第一更新点的位置矢量确定第一更新后的所述预测运动矢量之前,获得所述第一预置点在所述M面体的表面的第二映射点,所述第二映射点到所述M面体的第二棱的距离与所述第一预置点到所述第二棱的距离相等,所述第二棱为所述第二映射点所在面图像与所述待解码块所在面图像的交界;
第五确定单元,用于确定所述M面体的体心与所述第二映射点的连线与所述待解码块所在的面图像所在的平面的交点为所述第二更新点。
21.根据权利要求15或16所述的解码器,其特征在于,所述第一获取单元具体用于将所述第一更新后的预测运动矢量作为所述待解码单元的运动矢量。
22.根据权利要求15或16所述的解码器,其特征在于,所述第一获取单元具体用于:
将所述第一更新后的预测运动矢量作为所述待解码单元的运动矢量预测值;
解析码流,获得所述待解码单元的运动矢量差值,所述运动矢量差值用于表征所述待解码单元的运动矢量预测值和所述待解码单元的运动矢量的差值;
根据所述待解码单元的运动矢量预测值和所述待解码单元的运动矢量差值,获得所述待解码单元的运动矢量。
23.根据权利要求15或16所述的解码器,其特征在于,还包括:
第六确定单元,用于在所述根据所述第一更新后的所述预测运动矢量,获得所述待解码单元的运动矢量之后,根据所述待解码单元的运动矢量,确定所述待解码单元的第二参考单元;
第二更新单元,用于在所述待解码单元所在的面图像与所述第二参考单元所在的面图像不属于同方位面图像时,对所述待解码单元的运动矢量进行第二更新。
24.根据权利要求23所述的解码器,其特征在于,还包括:
第七确定单元,用于在所述对所述待解码单元的运动矢量进行第二更新之前,根据所述待解码单元的运动矢量,确定与所述待解码单元中的第二预置点对应的第二对应点,所述第二对应点属于所述第二参考单元;
第八确定单元,在所述第二对应点所在的面图像与所述待解码单元所在的面图像不属于同方位面图像时,确定所述待解码单元所在的面图像与所述第二参考单元所在的面图像不属于同方位面图像。
25.根据权利要求23所述的解码器,其特征在于,所述第二更新单元具体用于:
确定所述M面体的体心与第二对应点的连线与所述M面体的表面的交点为第一目标点,所述第二对应点属于所述第二参考单元,其中,所述第二对应点为与所述待解码单元中的第二预置点对应的点;
获得所述第一目标点在与所述待解码单元中的第二预置点所在的面图像同方位的面图像所在的平面上的第三更新点,所述第三更新点到所述M面体的第三棱的距离与所述第一目标点到所述第三棱的距离相等,所述第三棱为与所述第二预置点所在面图像同方位面图像与所述第一目标点所在面图像的交界;
根据所述第三更新点和所述第二预置点的位置矢量确定所述预测运动矢量。
26.根据权利要求17所述的解码器,其特征在于,还包括:
第九确定单元,用于在所述对所述预测运动矢量进行第一更新,所述第一更新用于确定所述预测运动矢量在所述待解码单元所在的面图像所在的平面上的映射矢量之前,确定所述M面体的体心与所述第一对应点的连线与所述M面体的表面的交点为第二目标点;
第四获取单元,用于获得所述第二目标点在与所述第一预置点所在的面图像同方位的面图像所在的平面上的第四更新点,所述第四更新点到所述M面体的第四棱的距离与所述第二目标点到所述第四棱的距离相等,所述第四棱为与所述第一预置点所在面图像同方位面图像与所述第二目标点所在面图像的交界;
第十确定单元,用于根据所述第四更新点和所述第一预置点的位置矢量确定所述预测运动矢量。
27.根据权利要求17所述的解码器,其特征在于,所述第一预置点包括所述预测单元的中心点或所述预测单元的左上角点。
28.根据权利要求24所述的解码器,其特征在于,所述第二预置点包括所述待解码单元的中心点或所述待解码单元的左上角点。
CN201611162229.0A 2016-12-15 2016-12-15 一种运动矢量解码方法及解码器 Active CN108235031B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201611162229.0A CN108235031B (zh) 2016-12-15 2016-12-15 一种运动矢量解码方法及解码器
EP17882001.5A EP3547688B1 (en) 2016-12-15 2017-08-23 Method for decoding motion vector, and decoder
PCT/CN2017/098648 WO2018107800A1 (zh) 2016-12-15 2017-08-23 一种运动矢量解码方法及解码器
US16/440,941 US10805628B2 (en) 2016-12-15 2019-06-13 Motion vector decoding method and decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611162229.0A CN108235031B (zh) 2016-12-15 2016-12-15 一种运动矢量解码方法及解码器

Publications (2)

Publication Number Publication Date
CN108235031A CN108235031A (zh) 2018-06-29
CN108235031B true CN108235031B (zh) 2019-11-05

Family

ID=62557869

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611162229.0A Active CN108235031B (zh) 2016-12-15 2016-12-15 一种运动矢量解码方法及解码器

Country Status (4)

Country Link
US (1) US10805628B2 (zh)
EP (1) EP3547688B1 (zh)
CN (1) CN108235031B (zh)
WO (1) WO2018107800A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200228777A1 (en) * 2017-09-15 2020-07-16 InterDigita! VC Holdings, Inc. Methods, devices and stream for encoding and decoding three degrees of freedom and volumetric compatible video stream
CN110771165A (zh) * 2018-08-01 2020-02-07 深圳市大疆创新科技有限公司 图像处理方法和设备
CN110855998B (zh) * 2018-08-20 2023-04-11 华为技术有限公司 融合候选者列表构建方法、装置及的编/解方法及装置
WO2020038357A1 (zh) * 2018-08-20 2020-02-27 华为技术有限公司 融合候选者列表构建方法、装置及的编/解方法及装置
CN110741644A (zh) * 2018-08-31 2020-01-31 深圳市大疆创新科技有限公司 视频处理方法及相关装置
US10904558B2 (en) * 2019-04-26 2021-01-26 Tencent America LLC Method and apparatus for motion compensation for 360 video coding

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101667295A (zh) * 2009-09-09 2010-03-10 北京航空航天大学 一种将线搜索扩展于全景视频运动估计的方法
CN102611826A (zh) * 2011-01-21 2012-07-25 索尼公司 图像处理装置、图像处理方法以及程序
CN104429078A (zh) * 2012-07-10 2015-03-18 Lg电子株式会社 用于处理视频信号的方法和设备
WO2016064862A1 (en) * 2014-10-20 2016-04-28 Google Inc. Continuous prediction domain
CN105898339A (zh) * 2016-04-12 2016-08-24 乐视控股(北京)有限公司 一种全景视频转码的方法及装置
CN105959702A (zh) * 2016-05-30 2016-09-21 北京奇艺世纪科技有限公司 一种球面视频编码方法和装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130176390A1 (en) * 2012-01-06 2013-07-11 Qualcomm Incorporated Multi-hypothesis disparity vector construction in 3d video coding with depth
GB2524249B (en) * 2014-03-17 2021-01-20 Sony Interactive Entertainment Inc Image Processing
US10104361B2 (en) * 2014-11-14 2018-10-16 Samsung Electronics Co., Ltd. Coding of 360 degree videos using region adaptive smoothing
WO2016140083A1 (ja) * 2015-03-05 2016-09-09 ソニー株式会社 画像処理装置および画像処理方法
US10701396B2 (en) * 2015-11-23 2020-06-30 Electronics And Telecommunications Research Institute Multi-viewpoint video encoding/decoding method
US10645362B2 (en) * 2016-04-11 2020-05-05 Gopro, Inc. Systems, methods and apparatus for compressing video content

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101667295A (zh) * 2009-09-09 2010-03-10 北京航空航天大学 一种将线搜索扩展于全景视频运动估计的方法
CN102611826A (zh) * 2011-01-21 2012-07-25 索尼公司 图像处理装置、图像处理方法以及程序
CN104429078A (zh) * 2012-07-10 2015-03-18 Lg电子株式会社 用于处理视频信号的方法和设备
WO2016064862A1 (en) * 2014-10-20 2016-04-28 Google Inc. Continuous prediction domain
CN105898339A (zh) * 2016-04-12 2016-08-24 乐视控股(北京)有限公司 一种全景视频转码的方法及装置
CN105959702A (zh) * 2016-05-30 2016-09-21 北京奇艺世纪科技有限公司 一种球面视频编码方法和装置

Also Published As

Publication number Publication date
EP3547688B1 (en) 2023-07-26
WO2018107800A1 (zh) 2018-06-21
EP3547688A4 (en) 2020-01-15
CN108235031A (zh) 2018-06-29
EP3547688A1 (en) 2019-10-02
US10805628B2 (en) 2020-10-13
US20190297342A1 (en) 2019-09-26

Similar Documents

Publication Publication Date Title
CN108235031B (zh) 一种运动矢量解码方法及解码器
CN108111851B (zh) 一种去块滤波方法及终端
CN109479143B (zh) 一种帧间预测的图像编解码方法和装置
US11250597B2 (en) Method and apparatus for encoding/decoding the geometry of a point cloud representing a 3D object
US10992919B2 (en) Packed image format for multi-directional video
US20180109810A1 (en) Method and Apparatus for Reference Picture Generation and Management in 3D Video Compression
US20200143568A1 (en) A method and apparatus for encoding/decoding the colors of a colored point cloud whose geometry is represented by an octree-based structure
CN111713111A (zh) 用于360度视频译码的面不连续性滤波
EP3652948A1 (en) A method and apparatus for encoding/decoding the geometry of a point cloud representing a 3d object
CN109691098A (zh) 视频编码方法、解码方法及终端
CN107426559A (zh) 用于沉浸式视频格式的方法、装置和流
EP2715449B1 (en) Methods, apparatuses and computer program products for generating panoramic images using depth map data
US20140286414A1 (en) Moving picture encoding device, moving picture encoding method and moving picture encoding program, and moving picture decoding device, moving picture decoding method and moving picture decoding program
US20230030845A1 (en) Picture Encoding and Decoding Method and Apparatus for Video Sequence
US20210150665A1 (en) Image processing method and device
Hu et al. Mobile edge assisted live streaming system for omnidirectional video
CN109565601B (zh) 一种基于模板匹配的预测方法及装置
BR112020024666A2 (pt) método e aparelho de obtenção de vetor de movimento
JP6968228B2 (ja) インター予測を介する画像符号化および復号のための方法および装置
CN116760986B (zh) 候选运动矢量生成方法、装置、计算机设备和存储介质
KR20130066121A (ko) 단말들간의 영상 공유 요청에 대응하여 단말들로 3d 영상 데이터를 제공하는 서버 및 방법, 그리고 단말
EP3024236A1 (en) Method and device for transmission of a video
EP4363946A1 (en) Head motion dependent viewport region modification for omnidirectional conversational vdd
WO2023059727A1 (en) Method and apparatus for point cloud compression using hybrid deep entropy coding

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