CN107888928A - 运动补偿预测方法和设备 - Google Patents
运动补偿预测方法和设备 Download PDFInfo
- Publication number
- CN107888928A CN107888928A CN201610896430.5A CN201610896430A CN107888928A CN 107888928 A CN107888928 A CN 107888928A CN 201610896430 A CN201610896430 A CN 201610896430A CN 107888928 A CN107888928 A CN 107888928A
- Authority
- CN
- China
- Prior art keywords
- pixel
- subgraph
- value
- point
- polyhedron
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/167—Position within a video image, e.g. region of interest [ROI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/182—Methods 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 a pixel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/547—Motion estimation performed in a transform domain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例提供一种运动补偿预测方法和运动补偿预测装置。该运动补偿预测方法包括:确定当前像素点的初始参考像素点在参考图像中的位置,所述当前像素点位于所述当前图像的第一子图像内;当所述初始参考像素点位于所述参考图像中与所述第一子图像对应位置的第二子图像之外时,根据所述初始参考像素点的位置确定所述当前像素点的目标参考像素点在所述参考图像中的位置;根据所述目标参考像素点的像素值和/或所述目标参考像素点的临近像素点的像素值,确定所述当前像素点的像素值的预测值。本发明实施例能够提高运动补偿预测的准确性。
Description
本申请要求于2016年09月30日提交中国专利局、申请号为201610876864.9、发明名称为“运动补偿预测方法和设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及图像处理领域,并且更具体地,涉及一种运动补偿预测的方法和设备。
背景技术
在对球形全景图像(以下简称球形图像)进行处理时,一般是先将球形图像投影为多面体格式的二维平面全景图像(以下简称二维图像),然后再对多面体格式的二维图像进行编解码操作。
在对多面体格式的二维图像进行运动补偿预测时,一般是先确定当前像素点的参考像素点的位置,然后根据参考像素点的像素值对当前像素点的像素值进行预测。在现有技术的运动补偿预测过程中,无论参考像素点是否在当前像素点所在的面,都根据参考像素点所在位置的像素值对当前像素点的像素值进行预测。当参考像素点不在当前像素点所在的面时,由于多面体格式的二维图像中各个面不处于同一个投影平面,各个面的相接区域存在形变,导致根据此时根据参考像素点所在位置的像素值对当前像素点的像素值进行预测的效果较差。
发明内容
本发明提供了一种运动补偿预测方法和运动预测补偿装置,以提高运动补偿预测效果。
第一方面,提供了一种运动补偿预测方法,所述方法包括:确定当前像素点的初始参考像素点在参考图像中的位置,所述当前像素点位于所述当前图像的第一子图像内;当所述初始参考像素点位于所述参考图像中与所述第一子图像对应位置的第二子图像之外时,根据所述初始参考像素点的位置以及所述参考图像对应的球面体的球心位置,确定所述当前像素点的目标参考像素点对应在所述球面体表面的球面参考位置;根据所述球面参考位置确定所述目标参考像素点对应在所述参考图像对应的多面体的表面的多面体参考位置,其中,所述球面体内切于所述多面体,所述多面体参考位置与所述球心的连线经过所述球面参考位置;根据所述多面体参考位置,确定所述目标参考像素点在所述参考图像中的位置;根据所述目标参考像素点的像素值和/或所述目标参考像素点的临近像素点的像素值,确定所述当前像素点的像素值的预测值。
当初始参考像素点位于第二子图像之外时,由于二维图像的子图像边界的几何形变的影响,导致直接根据初始参考像素点对当前像素点进行预测是不准确的,因此,在这种情况下,本发明是根据该初始参考像素点的位置寻找到真正能够起到参考作用的目标参考像素点,然后根据目标参考像素点对当前像素点的像素值进行预测,提高了运动补偿预测的准确性。
上述第二子图像是参考图像中与当前图像中的第一子图像处于对应位置的子图像,例如,当前图像和参考图像对应的都是多面体都是正六面体,并且当前图像和参考图像的格式都是4×3,假设当前图像的第一子图像对应于当前图像对应的正六面体的Bottom(底)面,那么参考图像的第二子图像也对应于参考图像对应的正六面体的Bottom面。
上述参考图像对应多面体可以设置在参考图像上,这时多面体的锚定面为参考图像中的第二子图像的区域所在的面,锚定面是展开多面体时作为基准的面,例如,在展开多面体在时,将多面体的Bottom面置于某个平面上,然后将多面体中的其它面翻折到该平面上,这个时候Bottom面在该平面上的位置是不变的,而多面体的其它的面会翻折到该平面的其它区域,此时Bottom就是多面体的锚定面。
结合第一方面,在第一方面的第一种实现方式中,根据所述初始参考像素点的位置以及所述参考图像对应的球面体的球心位置,确定所述当前像素点的目标参考像素点对应在所述球面体表面的球面参考位置,包括:根据所述初始参考像素点的位置和所述初始参考像素点的位置相对于所述第二子图像的偏移值,确定所述初始参考像素点在所述多面体中的第一面所在平面的第一位置,其中,所述第一面是所述多面体中与所述第二子图像对应的面;根据所述第一位置以及所述球面体的球心位置,确定所述目标参考像素点对应在所述球面体表面的球面参考位置,其中,所述第一位置与所述球心位置的连线经过所述球面参考位置。
结合第一方面或者第一方面的第一种实现方式,在第一方面的第二种实现方式中,所述方法还包括:根据所述参考图像的布局信息和所述初始参考像素点的位置判断所述初始参考像素点是否位于所述参考图像中的所述第二子图像之外。
通过判断初始参考像素点是否在参考图像中的第二子图像之外,能够在初始参考像素点不在第二子图像之内时,直接根据初始参考像素点对当前像素点的像素值进行预测,而不必再根据初始参考像素点来确定目标参考像素点。
结合第一方面以及第一方面的第一种至第二种实现方式中的任意一种,在第一方面的第三种实现方式中,根据所述多面体参考位置,确定所述目标参考像素点在所述参考图像中的位置,包括:根据所述多面体参考位置以及所述多面体的布局信息,确定所述目标参考像素点在所述参考图像中的位置。
结合第一方面,以及第一方面的第一种至第三种实现方式中的任意一种,在第一方面的第四种实现方式中,所述布局信息包含所述多面体的面的数量信息,所述参考图像的子图像的排布方式信息,所述参考图像的子图像的排布顺序信息,所述参考图像的子图像的旋转信息中的至少一种。
结合第一方面,以及第一方面的第一种至第四种实现方式中的任意一种,在第一方面的第五种实现方式中,所述根据所述目标参考像素点的像素值和/或所述目标参考像素点的临近像素点的像素值,确定所述当前像素点的像素值的预测值,包括:将所述目标参考像素点的像素值确定为所述当前像素点的像素值的预测值。
结合第一方面,以及第一方面的第一种至第四种实现方式中的任意一种,在第一方面的第六种实现方式中,所述根据所述目标参考像素点的像素值和/或所述目标参考像素点的临近像素点的像素值,确定所述当前像素点的像素值的预测值,包括:对所述目标参考像素点的像素值以及所述目标参考像素点的临近像素点的像素值进行加权处理;将所述加权处理到的所述目标参考像素点所在位置的像素值确定为所述当前像素点的像素值的预测值。
结合第一方面,以及第一方面的第一种至第四种实现方式中的任意一种,在第一方面的第七种实现方式中,所述根据所述目标参考像素点的像素值和/或所述目标参考像素点的临近像素点的像素值,确定所述当前像素点的像素值的预测值,包括根据目标参考像素点的临近像素点的像素值在所述目标参考像素点位置进行插值运算;将所述插值运算得到的像素值确定为所述当前像素点的像素值的预测值。
在某些实现方式中,所述当前图像和所述参考图像均为二维图像。
在某些实现方式中,根据所述参考图像的布局信息和所述初始参考像素点的位置判断所述初始参考像素点是否位于所述参考图像中的所述第二子图像之外,包括:根据所述初始参考像素点的位置以及所述参考图像的第二子图像所在的区域,判断所述初始参考像素点是否位于所述参考图像中的所述第二子图像之外,其中,所述参考图像的第二子图像所在的区域是根据所述参考图像的布局信息确定的。
在某些实现方式中,所述二维图像对应的多面体为正多面体。其中,正多面体可以包括正四面体、正六面体、正八面体、正十二面体、正二十面体。
在某些实现方式中,当所述初始参考像素点位于所述参考图像中与所述第一子图像对应位置的第二子图像内时,根据所述初始参考像素点的像素值,确定所述当前像素点的像素值的预测值。
当初始参考像素点位于第二子图像内时,不必再根据初始参考像素点去寻找目标参考像素点,而是直接可以根据初始参考像素点的像素值,对当前像素点的像素值进行预测。只有当初始参考像素点不位于第二子图像内时(此时由于在二维图像中的子图像的相邻区域存在形变,不能直接根据该初始参考像素点对当前像素点的像素值进行预测),才需要根据初始参考像素点的位置去寻找目标参考像素点。
第二方面,提供了一种运动补偿预测方法,所述方法包括:确定当前参考像素点的初始参考像素点在参考图像中的位置,所述当前像素点位于所述当前图像的第一子图像内;当所述初始参考像素点位于所述参考图像中与所述第一子图像对应位置的第二子图像之外时,确定所述当前像素点在所述第二子图像的扩展区域中的目标参考像素点的位置,其中,所述第二子图像的扩展区域位于所述第二子图像之外,所述扩展区域包括多个像素点,所述扩展区域中任意一个第一像素点的像素值是根据所述参考图像中的第二像素点的像素值确定的,所述第二像素点对应在所述参考图像对应的多面体的表面的多面体参考位置与所述球心的连线经过所述第二像素点对应在所述参考图像对应的球面体的球面参考位置,所述球面参考位置是根据所述初始参考像素点的位置以及所述球面体的球心位置确定的,所述球面体内切于所述多面体;根据所述目标参考像素点的像素值和/或所述目标参考像素点的临近像素点的像素值,确定所述当前像素点的像素值的预测值。
当初始参考像素点位于第二子图像之外时,由于二维图像的面边界的几何形变的影响,导致直接根据初始参考像素点对当前像素点进行预测是不准确的,因此,在这种情况下,本发明是直接根据当前像素点以及当前像素点的运动信息直接在扩展区域中寻找真正能够起到参考作用的目标参考像素点,然后根据目标参考像素点对当前像素点的像素值进行预测,能够快速寻找到目标参考像素点,并且还能提高运动预测估计的准确性。
应理解,上述第二子图像的扩展区域可以是预先根据上述第一方面中的方法确定的。
结合第二方面,在第二方面的第一种实现方式中,所述方法还包括:根据所述第一像素点的位置以及所述参考图像对应的球面体的球心位置,确定所述第二像素点对应在所述球面体表面的球面参考位置;根据所述球面参考位置确定所述第二像素点对应在所述参考图像对应的多面体的表面的多面体参考位置;根据所述多面体参考位置,确定所述第二像素点在所述参考图像中的位置。
结合第二方面的第一种实现方式,在第二方面的第二种实现方式中,所述根据所述第一像素点的位置以及所述参考图像对应的球面体的球心位置,确定所述第二像素点对应在所述球面体表面的球面参考位置,包括:根据所述第一像素点的位置以及所述第一像素点的位置相对于所述第二子图像的偏移值,确定所述第一像素点在所述多面体中的第一面所在平面的第一位置,其中,所述第一面是所述多面体中与所述第二子图像对应的面;根据所述第一位置以及所述球面体的球心位置,确定所述第二像素点对应在所述球面体表面的球面参考位置,所述第一位置与所述球心位置的连线经过所述球面参考位置。
结合第二方面以及第二方面中的第一种至第二种实现方式中的任意一种,在第二方面的第三种实现方式中,所述方法还包括:根据所述参考图像的布局信息和所述初始参考像素点的位置判断所述初始参考像素点是否位于所述参考图像中的所述第二子图像之外。
第三方面,提供一种运动补偿预测方法,该方法包括:确定当前像素点在参考图像中的初始参考像素点位置,所述当前像素点位于所述当前图像的第一子图像内;当所述初始参考像素点位于所述参考图像中与所述第一子图像对应位置的第二子图像之外时,根据所述初始参考像素点位置确定所述当前像素点的目标参考像素点在所述参考图像对应的多面体的表面的位置,其中,所述目标参考像素点在所述多面体的表面的位置与所述初始参考像素点在第一平面的位置的连线经过所述多面体的中心点,所述第一平面为所述多面体中与所述第二子图像对应的面所在的平面;根据所述目标参考像素点在多面体表面的位置确定所述目标参考像素点在所述参考图像中的位置;根据所述参考图像中所述目标参考像素点的像素值和/或所述目标参考像素点的临近像素点的像素值,确定所述当前像素点的像素值的预测值。
当初始参考像素点位于第二子图像之外时,由于二维图像的子图像边界的几何形变的影响,导致直接根据初始参考像素点对当前像素点进行预测是不准确的,因此,在这种情况下,本发明是根据该初始参考像素点的位置寻找到真正能够起到参考作用的目标参考像素点,然后根据目标参考像素点对当前像素点的像素值进行预测,提高了运动补偿预测的准确性。
结合第三方面,在第三方面某些实现方式中,所述根据所述初始参考像素点位置确定所述当前像素点的目标参考像素点在所述参考图像对应的多面体的表面的位置,包括:根据所述初始参考像素点的位置和所述参考图像的布局信息,确定所述初始参考像素点在所述第一平面的位置;根据所述初始参考像素点在所述第一平面的位置和所述参考图像的布局信息,确定所述目标参考像素点在所述多面体的表面的位置。
结合第三方面,在第三方面某些实现方式中,所述根据所述目标参考像素点在多面体表面的位置确定所述目标参考像素点在所述参考图像中的位置,包括:根据所述初始参考像素点的位置和所述参考图像的布局信息,确定所述目标参考像素点在所述参考图像中的位置,所述目标参考像素点在所述多面体的表面的位置在所述初始参考像素点与所述多面体的中心点的连线与所述多面体的表面的交点处。
第四方面,提供一种运动补偿预测装置,所述运动补偿预测装置包括用于执行第一方面的方法的模块。
第五方面,提供一种运动补偿预测装置,所述运动补偿预测装置包括用于执行第二方面的方法的模块。
第六方面,提供一种运动补偿预测装置,所述运动补偿预测装置包括用于执行第三方面的方法的模块。
第七方面,提供一种编解码器,包括非易失性存储介质,以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述可执行程序以实现如本发明第一方面所提供的运动补偿预测方法及其扩展内容。
第八方面,提供一种编解码器,包括非易失性存储介质,以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述可执行程序以实现如本发明第二方面所提供的运动补偿预测方法及其扩展内容。
第九方面,提供一种编解码器,包括非易失性存储介质,以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述可执行程序以实现如本发明第三方面所提供的运动补偿预测方法及其扩展内容。
第十方面,提供一种计算机可读介质,所述计算机可读介质存储用于图像处理设备执行的程序代码,所述程序代码包括用于执行第一方面中的方法的指令。
第十一方面,提供一种计算机可读介质,所述计算机可读介质存储用于图像处理设备执行的程序代码,所述程序代码包括用于执行第二方面中的方法的指令。
第十二方面,提供一种计算机可读介质,所述计算机可读介质存储用于图像处理设备执行的程序代码,所述程序代码包括用于执行第三方面中的方法的指令。
本发明中,在初始参考像素点位于第二子图像之外时,根据该初始参考像素点的位置寻找到真正能够起到参考作用的目标参考像素点,然后根据目标参考像素点对当前像素点的像素值进行预测,提高了运动补偿预测的准确性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是球形图像的经纬图。
图2是多面体格式的二维图像。
图3是球形图像投影到正六面体的示意图。
图4是正六面体以及正六面体展开得到的二维图像的示意图。
图5是本发明实施例的运动补偿预测方法的示意性流程图。
图6是当前图像和参考图像的示意图。
图7是不同布局格式的参考图像的示意图。
图8是参考图像对应的多面体和球面体的示意图。
图9是参考图像的示意图。
图10是参考图像对应的球面体的示意图。
图11是参考图像对应的多面体和球面体的示意图。
图12是参考图像对应的多面体和球面体的示意图。
图13是当前图像和参考图像的示意图。
图14是参考图像对应的正六面体的示意图。
图15是参考图像对应的正六面体的示意图。
图16是参考图像对应的其它多面体的示意图。
图17是不同布局格式的参考图像。
图18是目标参考像素点周围的临近像素点的示意图。
图19是本发明实施例的运动补偿预测方法的示意性流程图。
图20是当前图像、参考图像以及参考图像的扩展区域的示意图。
图21是本发明实施例的运动补偿预测方法的示意性流程图。
图22是本发明实施例的运动补偿预测方法应用的架构示意图。
图23是本发明实施例的运动补偿预测装置的示意性框图。
图24是本发明实施例的运动补偿预测装置的示意性框图。
图25是本发明实施例的运动补偿预测装置的示意性框图。
图26是全景视频解码器的解码过程的示意性流程图。
图27是全景视频解码器的编码过程的示意性流程图。
图28是根据本发明实施例的图像编码器的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了更好地理解本发明实施例的运动补偿预测方法,下面先结合图1至图3对本发明实施例的运动补偿预测方法所应用的场景进行简单的介绍。
为支持各个方向的视频图像内容呈现,虚拟现实(Virtual Reality,VR)视频图像通常包含三维空间上下左右360度全向的视觉信息,可以将VR视频图像想象为从一个地球仪的内部中心位置向外观看地球仪的地图。典型地,我们也将VR视频图像称为全景视频图像(可以简称为球形图像)。
由于球形图像无法方便的表示、存储和索引,因此,在对球形图像进行处理之前,通常要将球形图像展开得到二维图像,再对该二维图像进行压缩、处理、存储、传输等操作。其中,将球形图像展开得到二维图像的过程称为投影。
如图1所示,常见的二维图像称为经纬图,在图1中,邻近南北两极区域的图像经过拉伸幅度较大,存在严重的失真和数据冗余。
为克服经纬图中存在的缺陷,可以将球形图像投影到多面体中,从而将球形图像转换为多面体格式的二维图像。例如,如图2所示,可以将球形图像投影到正四面体(图2(a))、正六面体(图2(b))、正八面体(图2(c))、正十二面体(图2(d))、正二十面体(图2(e)),将球形图像投影到上述各个多面体中得到的二维平面图像依次为图2(f)-图2(k)所示。
将球形图像投影到多面体中的具体过程为:将球形图像置于多面体中,使其成为多面体的内切球;将球心或者多面体体心与球面上某点连线并延长相较于多面体,多面体上交点位置处的位置处的像素点便为球形图像上对应点的像素点。
下面结合图3以将球形图像投影到正六面体的过程为例,将球面内切于正六面体ABCDEFGH中,为了得到正六面体上M’点处的像素值,将球心O与M’连线,并交于球面的M点,则M点处的像素点即为M’点处的像素点。类似地,可以按照同样的方法得到平面A’B’C’D’上ABCD区域内所有像素点,其中,ABCD区域内像素点构成ABCD面(face),平面A’B’C’D’为ABCD面的投影平面(projection plane)。
将球形图像投影到多面体,然后再将多面体表面展开为二维图像之后,多面体表面上的每个面图像成为二维图像中一个区域的图像或者球形图像的一个子图像。例如,图4(a)中的正六面体表面展开成为图4(b)的图像,六面体表面上的Top面的面图像将会成为图4(b)中左上角的子图像,我们称这个子图像为球形图像的Top面的面图像,球形图像中的Top面指代Top面的面图像覆盖的区域。对于Top面中的任意一个像素点,Top面称为此像素点的所在面。
应理解,本发明实施例中的面与子图像是对应的,例如,Bottom面为某个二维图像的一个面,这个Bottom面中的图像是第一子图像,Bottom面是第一子图像对应的面,第一子图像是Bottom面对应的子图像。如图2(h)所示,其中的每个小的矩形区域就是二维图像的一个面,每个矩形区域中的像素点组成的图像就是二维图像的一个子图像,也就是说面是一个区域的概念,子图像是图像。
另外,在对上述二维图像进行编解码或者压缩等操作时,可以直接对图2(f)-图2(k)所示的图像进行处理,也可以选择将其包围在内的最小面积矩形区域内的图像作为处理对象,对该矩形区域中除了包含二维图像的面的之外的区域都填充为默认内容等,例如,全灰、全黑或者全白等。
应理解,在对图像进行编解码时经常将图像分成大小相等的多个图像块,然后为每个图像块寻找参考块,在为当前图像块寻找参考块的过程中可能存在不同的参考情况。依据参考方向可以分成单向预测和双向预测。单向预测是指当前块存在一个参考图像集合(该集合中的元素为已重建图像中选择的参考图像),编码块可以选用集合中的任意一个参考图像。双向预测是指当前块存在两个参考图像集合(两个集合的元素分别是从已重建图像中独立选取的图像,这两个集合中的参考图像可以部分或者全部相同),编码块可以从两个集合中各选择一个参考图像。具体使用双向还是单向以及参考图像集合的构建方法为编解码端共同约定,或者编码端将所用方法传输到解码端,解码端依据解码结果确定所用方法。当使用双向预测方法时,当前编码块会存在两个参考块,每个参考块各自需要运动信息指示。解码端需要根据解码出的两套运动信息确定两个参考块。根据两个参考块内像素点的像素值确定当前块内像素点像素值的预测值。
实际上在确定当前块的参考块,并根据参考块对当前块进行预测时实际上确定当前块中的当前像素点在参考块中的参考像素点,然后根据参考像素点的像素值来预测当前像素点的像素值的预测值。下面就对本发明实施例的运动补偿预测方法进行详细的介绍。
图5是本发明实施例的运动补偿预测方法的示意性流程图。该方法包括:
110、确定当前像素点的初始参考像素点在参考图像中的位置,当前像素点位于当前图像的第一子图像内。
应理解,上述当前图像和参考图像均为球形图像转换得到的多面体格式的二维图像。
应理解,在对当前图像进行预测处理时可以将该当前图像划分为多个图像块,然后对每个图像块进行处理,上述当前像素点可以是当前图像中的某个图像块中的像素点。具体地,上述待处理的当前像素点可以位于第一子图像内的某个图像块内。
具体地,在解码器中,可以根据当前像素点的位置以及通过解码运动信息码流得到的当前像素点的运动信息确定初始参考像素点在参考图像中的位置。例如,根据运动信息中的参考图像指示信息确定参考图像,根据运动信息中的运动矢量信息以及当前像素点的位置确定参考图像中初始参考像素点的位置。在编码器中,在运动搜索过程中,当在一个参考图像中为当前块搜索参考块时,或者在为当前像素点搜索参考像素点时,当前参考像素点的位置即为初始参考像素点的位置。
假设当前图像和参考图像对应的多面体为正六面体,图6(a)为当前图像(当前像素点在当前图像上),图6(b)为参考图像(初始参考像素点在参考图像上),当前图像和参考图像均由六个子图像,这六个子图像分别是Top(上)、Front(前)、Right(右)、Rear(后)、Left(左)、Bottom(下)。这里的子图像可以认为是一些像素点组成的阵列,这些像素点在球面投影到多面体上时处于同一个投影平面。将多面体展开为二维图像之后,多面体的各个面则成为二维图像中的一部分。假设当前像素点为P,P在当前图像中的Bottom子图像内,假设初始参考像素点为T,T在参考图像中的Front子图像内,也就是说T不在参考图像中的Bottom子图像内。应理解,在图6(a)中,第一子图像就是Bottom子图像,在图6(b)中,第二子图像是Bottom子图像,第一子图像和第二子图像是当前图像和参考图像中处于对应位置的子图像。
120、当初始参考像素点位于参考图像中与第一子图像对应位置的第二子图像之外时,根据所述初始参考像素点的位置以及所述参考图像对应的球面体的球心位置,确定所述当前像素点的目标参考像素点对应在所述球面体表面的球面参考位置;
130、根据所述球面参考位置确定所述目标参考像素点对应在所述参考图像对应的多面体的表面的多面体参考位置,其中,所述球面体内切于所述多面体,所述多面体参考位置与所述球心的连线经过所述球面参考位置;
140、根据所述多面体参考位置,确定所述目标参考像素点在所述参考图像中的位置;
也就是说,为了确定目标参考像素点在参考图像中的位置,可以先根据初始参考像素点的位置确定目标参考像素点对应在球面体表面的球面参考位置,然后再根据球面参考位置确定目标参考像素点在多面体表面的多面体参考位置,接下来,再根据球面参考位置就可以确定目标参考像素点在参考图像中的位置了。
在这里,根据初始参考像素点的位置不太容易直接确定目标参考像素点在参考图像中的位置,而是通过借助参考图像对应的球面体以及多面体,通过球面参考位置和多面体参考位置可以逐步确定目标参考像素点在参考图像中的位置。
应理解,当初始参考像素点位于参考图像中与第一子图像对应位置的第二子图像之内时,可以根据直接根据初始参考像素点对当前像素点进行预测,而不用再寻找目标参考像素点。
上述参考图像对应的多面体可以是由该参考图像构成的多面体,也就是将该参考图像的各个子图像按照一定的规则折叠起来形成的多面体。
可选地,上述方法还包括:根据参考图像的布局信息和初始参考像素点的位置判断初始参考像素点是否位于参考图像中的第二子图像之外。
在判断初始参考像素点是否在第二子图像之外时,首先要先判断初始参考像素点在参考图像中的位置,在确定初始参考像素点的位置时,对于解码器和编码器,具体确定过程如下:
对于解码器,可以根据当前像素点的位置以及通过解码运动信息码流得到的当前像素点的运动信息确定初始参考像素点在参考图像中的位置。例如,解码器可以根据运动信息中的参考图像指示信息确定参考图像,根据运动信息中的运动矢量信息以及当前像素点的位置确定参考图像中初始参考像素点的位置。
对于编码器,在为当前块搜索参考块,或者在为当前像素点搜索参考像素点时,当前参考像素点的位置即为初始参考像素点的位置。
可选地,上述参考图像对应的多面体的布局信息包含参考图像对应的多面体的面的数量信息,参考图像的子图像的排布方式信息,参考图像的子图像的排布顺序信息,参考图像的子图像的旋转信息中的至少一种。
具体地,参考图像对应的多面体的面的数量信息具体可以为参考图像对应的是什么样的多面体,具体地,多面体的面的数量信息可以指示参考图像的对应的是正六面体。
参考图像的子图像的排布方式信息是指参考图像中的各个子图像的排布方式,如图7所示,参考图像对应的是正六面体,那么参考图像包含6个子图像,这6个子图像的排布可以是4×3型(图7(b))、3×2型(图7(c)、图7(d))、6×1型(图7(e)、图7(f))。
参考图像的子图像的排布顺序信息是指参考图像的各个子图像在参考图像中的排列顺序,例如,图7(c)和图7(d)都是3×2型的图像,在图7(c)中,Front面对应的子图像排列在图像的左下角,而在图7(d)中,Front面对应的子图像排列在第一列的中间位置。
参考图像的子图像的旋转信息可以指参考图像的子图像的旋转角度,假设以图7(c)中各个子图像的放置位置为基准,那么在图7(d)中,Front面对应的子图像的旋转角度为-90度。
150、根据目标参考像素点的像素值和/或目标参考像素点的临近像素点的像素值,确定当前像素点的像素值的预测值。
本发明实施例中,当初始参考像素点位于第二子图像之外时,根据初始参考像素点的位置寻找到真正能够起到参考作用的目标参考像素点,然后根据目标参考像素点对当前像素点的像素值进行预测,提高了运动补偿预测的准确性。
可选地,作为一个实施例,根据初始参考像素点的位置以及参考图像对应的球面体的球心位置,确定当前像素点的目标参考像素点对应在球面体表面的球面参考位置,包括:
根据初始参考像素点的位置和初始参考像素点的位置相对于第二子图像的偏移值,确定初始参考像素点在多面体中的第一面所在平面的第一位置,其中,第一面是多面体中与第二子图像对应的面;
根据第一位置以及球面体的球心位置,确定目标参考像素点对应在球面体表面的球面参考位置,其中,第一位置与球心位置的连线经过球面参考位置。
应理解,上述初始参考像素点的位置相对于第二子图像的偏移值可以是初始参考像素点的位置相对于第二子图像中某个点(例如,第二子图像的中心点)的位置偏移值。
初始参考像素点的位置可以是初始参考像素点在第二子图像所在的平面的坐标系中的位置,而第一位置可以是初始参考像素点对应在多面体(该多面体是与参考图像对应的多面体)中的第一面所在的平面的坐标系中的位置,第一面所在的平面的坐标系可能与第二子图像所在的平面的坐标系不同。这里是根据初始参考像素点在一个坐标系中的位置转换到另一个坐标系中的位置。如果参考图像对应的多面体中的第一面与参考图像中的第二子图像所在的面重合,那么初始参考像素点的位置与第一位置重合。
如图8所示,参考图像对应的正六面体为ABCD-EFGH,正六面体中的ABCD面与参考图像中的第二子图像对应,ABCD面所在的平面为A’B’C’D’,参考图像对应的球面体内切在正六面体ABCD-EFGH中,M点为目标参考像素点对应在球面体上的球面参考位置,M’点为目标参考像素点对应在多面体上的多面体参考位置,根据初始参考像素点的第一位置(图8中未表示出第一位置)以及球心O的位置可以确定M点的位置,根据M点的位置可以确定M’的位置,接下来就可以根据M’的位置来确定目标参考像素点在参考图像中的位置了。
下面结合实例一对根据初始参考像素点的位置以及球面体的球心位置,确定球面参考位置进行详细的说明。
实例一:
如图9所示,参考图像为4×3格式的六面体全景图像,当前像素点的初始参考像素点为T,当前像素点在当前图像中的Bottom面,R点为参考图像中的Bottom面中的任意一点,T的位置与T相对于R的位置偏移是已经的。图10为参考图像对应的球面体,球面体内切在参考图像对应的多面体(图10中未画出该多面体)中,球面体与多面体的Bottom面相切,多面体的Bottom面与参考图像中的Bottom面是对应的。根据T的位置以及T相对于R的偏移值,可以确定T’的位置(也就是初始参考像素点的第一位置)。在图10中,A’B’C’D’为ABCD面所在的平面,以球面体的球心为坐标原点建立空间直角坐标系x-y-z,为了描述方便,这里规定x-O-y面与面A’B’C’D’平行,O点在面A’B’C’D’的投影像素点为O’,O’Q平行于y轴,O’P平行于x轴,PT’垂直于O’P,T’Q垂直于O’Q,x-y面上的ON平行于O’T’,初始参考像素点的第一位置为T’,目标参考像素点在球面体上的球面参考位置为T”。
由于球半径OO’长度已知,那么根据T’的位置就可以确定球面上的T”点的位置。具体来说,已知PT’和QT’的长度分别为LPT'和LQT',由图中的几何关系可知:
由于球面体的半径已知,因此,根据球面体的半径以及∠O"ON和∠WOT"就可以确定T”点的位置,也就是确定了目标参考像素点在球面体多面的球面参考位置。
下面结合实例二对根据球面参考位置确定目标参考像素点对应在多面体的表面的多面体参考位置进行详细的说明。
实例二:
图10中已经确定了球面参考位置,接下来根据球面参考位置确定多面体参考位置,在图11中,参考图像对应的多面体为ABCD-EFGH,多面体的棱长为a,O为多面体的体心,O’为O在面ABCD上的投影,J为BC边的中点,T”为球面参考位置,O T”的延长线交多面体于H点,交ABCD所在面于T点,K为T在O’J延长线上的垂直投影,S为H点在BC上的垂直投影,I为T在BC边上的垂直投影,为了便于描述,这里假设BC边平行于x轴。
如果确定了SJ和SH的长度,那么就可以确定H点的位置,也就是确定了多面体参考位置。下面描述如何确定SJ和SH的长度。
已知OO’和O’J的长度LOO'和LO'J均为此外,由于T”位置已知,那么∠O'OT也是已知的,并且∠QO'T=∠O"ON,那么可知:
∠JO'S=90°-∠QO'T (4)
LSJ=LO'J*tan∠JO'S (5)
LO'T=LOO'*tan∠O'OT (6)
由公式(5)和公式(8)可知SJ和SH的长度,这样就确定了H点的位置,也就确定了多面体参考位置。
应理解,公式(8)是根据LST、LOO'以及LO'T的长度来确定LSH。实际上除了根据公式(8)确定LSH之外,还可以根据其它公式确定LSH,根据其它公式确定LSH的具体过程如下:
在图11中,根据三角形相似的几何关系可得:
由公式(b)和公式(c)可得:
对公式(c)进一步推导可得:
由公式(d)可知,还可以根据LJK、LOO'以及LO'K来确定LSH。
上文结合实例二对参考图像的多面体为正六面体的情况下如何确定多面体参考位置进行了详细的描述,下面结合实例三和实例四,对参考图像对应的多面体为其它多面体的情况下如何确定多面体参考位置进行了详细的描述进行详细的描述。
实例三:
图12中包含两个多面体,图12(a)中的多面体的相邻面之间的夹角大于90度,图12(b)中的多面体的相邻面之间的夹角小于90度。在图12(a)中参考图像对应的多面体包含两个面ACB和DBC,面ACB与面DBC的夹角大于90度(多面体还可以包含其它的面,这里不一一列出),ACB面为参考图像中第二子图像所在面的投影平面,BC边为第二子图像所在面与相邻面的相接的边。J为O’到BC边的垂线O’K与BC边的交点,OT”的延长线交多面体于H点,并交ACB面所在平面于T点,O’T与BC边交于S点,OT与面BCD交于H点,H”为H在O’K上的垂直投影,L为H”在O’K上的垂直投影。
由于多面体的几何形状已经确定(包括边长,相邻面的夹角,体心位置等),那么O’的位置以及OO’的长度确定,J的位置也是确定的,如果确定了SJ(与HH”长度相等)和SH的长度就可以确定OT与面BCD的交点H的位置,也就是确定了目标参考像素点在多面体表面的多面体参考位置。
具体地,已知OO’的长度为LOO',O’J的长度为LO'J,∠TO'K以及∠O'OT,∠O'SH=θ,由几何关系可知:
LO'T=LO'O*tan∠O'OT (8)
LKT=LO'T*sin∠TO'K (9)
LJK=LO'T*cos∠TO'K-LO'J (10)
LO'K=LO'J+LJK (11)
LO'H'=LO'S+LSH' (18)
根据上述公式(12)和(21)最终可以得到得到了LSJ和LH"J,进而可以确定多面体参考位置H。
在图12(b)中,参考图像对应的多面体的面ACB与面DBC的夹角小于90度,那么:
LO'H'=LO'S-LSH' (23)
根据上述公式(12)和(26)最终可以得到得到了LSJ和LH"J,进而可以多面体参考位置H。
应理解,在实例一和实例三中描述了根据第一位置确定球面体参考位置,以及根据球面体参考位置确定多面体参考位置。实际上,也可以直接根据根据第一位置确定多面体参考位置。下面结合实例四和实例五对根据第一位置直接确定多面体参考位置(也就是目标参考像素点投影到多面体表面的位置)进行详细的描述。
实例四:
在图13中,图13(a)为当前图像,图13(b)为参考图像,P为当前图像中的当前像素点,P位于当前图像的Bottom面,P′为参考图像中与P处于同位置的像素点,P′位于参考图像的Bottom面,T1、T2和T3均为当前像素点的初始参考像素点,它们均位于参考图像的Bottom面之外。
图14中的正六面体以参考图像的Bottom面为底面构建的与参考图像对应的多面体,图14示出了图13(b)中的T1、T2和T3三个当前参考像素点,由图14可知,三个目标参考像素点在该正六面体上的对应像素点分别为H1、H2和H3,它们分别位于T1、T2和T3与O点连线与正六面体的交点的位置,这样就可以根据T1、T2和T3的位置确定H1、H2和H3的位置。应理解,在图14
中,T1、T2和T3只是示出了初始参考像素点位于不同位置的情况,事实上,同一时间只会存在一个参考像素点。
下面以图15为例,详细介绍如何根据初始参考像素点的位置确定目标参考像素点在多面体的对应像素点的位置。
具体以T1为例,对根据T1在的位置确定目标像素点投影到多面体的表面的投影像素点的位置进行详细的说明。
图15中的正六面体以参考图像的Bottom面为底面构建的与参考图像对应的多面体,也就是说该正六面体的锚定面(锚定面可以理解为构建多面体时的底面,例如,以参考图像的某个面作为构建的多面体的底面,那么该底面就是多面体的锚定面)该参考图像的Bottom面。该正六面体的棱长为a,O为正六面体的体心,T位置为初始参考像素点的位置,ABCD面为参考图像中与当前像素点处于同位置的像素所在的面,O’为O在当前像素点所在面ABCD所在投影平面上沿着面法线方向投影ABCD面上的垂直投影,J为BC边的中点,K为T在O’J延长线上的垂直投影,OT交BCGF面于H点(H点所在的位置就是初始参考像素点的投影像素点所在的位置),H点在BC上的垂直投影为S,I为T在BC边上的垂直投影。由于正六面体的棱长为a,因此,OO’和O’J的长度均为假设JK线段的长度为x,KT线段长度为y,则根据相似三角形可得:
其中,LSJ为SJ的长度,LSH为SH的长度,在根据公式(1)和(2)得到SJ和SH的长度后就可以确定H点在正六面体的表面的位置。应理解,可以根据初始参考像素的位置坐标确定SJ和SH的长度,进而得到H点在正六面体的表面的位置。
进一步地,对公式(28)进行化简,可以得到:
此外,在图15中,还可以直接根据三角形相似的几何关系来得到公式(e),具体过程如下:
根据三角形相似的几何关系可得:
由公式(b)和公式(c)可得:
将OO’的长度JK长度x,O’K长度代入公式(h)中即可得到公式(e)。
实例五:
如图16所示,参考图像对应的多面体包含两个面ACB和DBC(多面体还可以包含其它的面,这里不一一列出),其中,面ACB为参考图像中与当前像素点处于同位置的像素点所在的面,O为多面体的体心,O’为O在ABC面上的垂直投影,T位置为初始参考像素点所在的位置,O’T与BC边交于S点,OT与面BCD交于H点,H”为H在O’K上的垂直投影,L为H”在O’K上的垂直投影,I为T在BC上的垂直投影。
如图16(a)所示,已知OO’的长度为LOO',O’J的长度为LO'J,JK的长度为LJK,KT的长度为LKT,面ACB与面BCD的夹角为α(α大于90°),∠O'SH=θ,那么可以得到:
LO'K=LO'J+LJK (29)
LO'H'=LO'S+LSH' (36)
当多面体的相邻面的夹角大于90°时,根据上述公式(30)和(39)最终可以得到得到了LSJ和LH"J,进而可以确定目标像素点投影到多面体的表面的位置。
在图16(b)中,面ACB与面BCD的夹角α小于90°。那么:
LO'H'=LO'S-LSH' (41)
当多面体的相邻面的夹角小于90°时,根据上述公式(30)和(44)最终可以得到得到了LSJ和LH"J,进而可以确定目标像素点投影到多面体的表面的位置。
应理解,实例五中的公式与实例三中的公式较为类似,在实例三计算LSJ和LH"J的过程中用到了球面参考位置J”在球面的角度参数,而在实例五中并未借助J”而是直接推导最终的结果,这两种实现方式都能确定目标参考像素点在多面体表面的多面体参考位置。
在一般的多面体中,四面体相邻面夹面角小于90°,正六面体相邻面夹面角为90°,正八面体以及更复杂的多面体相邻面夹面角大于90°。对于其他多面体格式的图像,可以按照类似方法得到相应参数,最终得到LSJ和LH"J,进而确定目标参考像素点投影到多面体的表面的投影像素点的位置。应理解,这里的投影像素点的位置为指初始参考像素点与多面体体心的连线与多面体表面的交点的位置。
可选地,作为一个实施例,根据多面体参考位置,确定目标参考像素点在参考图像中的位置,包括:根据多面体参考位置以及多面体的布局信息,确定目标参考像素点在参考图像中的位置。
可选地,可以将目标参考像素点在多面体的表面的位置的点理解为目标参考像素点的投影像素点,这样在根据初始参考像素点的位置确定当前像素点的目标参考像素点在参考图像中的位置时,具体包括:根据初始参考像素点的位置和参考图像的布局信息,确定初始参考像素点的投影像素点在多面体的表面的位置,投影像素点在多面体的表面的位置在初始参考像素点与多面体的中心点的连线与多面体的表面的交点处;根据投影像素点在多面体的表面的位置和参考图像的布局信息,确定目标参考像素点在参考图像中的位置。
下面结合图17,以正六面体格式的二维图像为例,具体描述如何确定目标参考像素点在参考图像中的位置,如图17(a)所示,假设参考图像对应的正六面体的边长为a,参考图像的布局格式为4x3,当前像素点的目标参考像素点投影到正六面体的front面的H1点,H1相对于Front面左上角顶点的距离分别为Δx、Δy。下面确定不同的局部格式的二维图像中目标参考像素点在参考图像中的位置。
在图17(b)中,图像的的宽度为4a,高度为3a,Front面位于左下角,并且没有旋转,那么H1在参考图像中相对于参考图像左上角顶点Q的位置为(Δx,a+Δy)。
在图17(c)中,Front面仍位于左下角与图12(b)相同的位置,但是顺时针旋转了90度,则H1在参考图像中相对于参考图像左上角顶点Q的位置为(a-Δy,2a+Δx)。
可选地,作为一个实施例,根据目标参考像素点的像素值和/或目标参考像素点的临近像素点的像素值,确定当前像素点的像素值的预测值,包括:将目标参考像素点的像素值确定为当前像素点的像素值的预测值。
上述目标参考像素点的像素值可以是该目标参考像素点所在位置的像素值,将目标参考像素点的像素值直接确定为当前像素点的预测值,能够减少计算流程。
可选地,作为一个实施例,根据目标参考像素点的像素值和/或目标参考像素点的临近像素点的像素值,确定当前像素点的像素值的预测值,包括:对目标参考像素点的像素值以及目标参考像素点的临近像素点的像素值进行加权处理;将加权处理得到的目标参考像素点所在位置的像素值确定为当前像素点的像素值的预测值。
上述加权处理可以是对目标参考像素点以及周围的像素点进行平滑滤波处理,也就是对包含目标参考像素点在内的多个像素点的像素值进行平均处理,将得到的像素值的平均值作为当前像素点的像素值的预测值。
在对当前像素点的像素值进行预测时可以直接将将目标参考像素点的像素值作为当前像素点的像素值的预测值,或者,不单独适用当前像素点的像素值对当前像素点的像素值进行预测,而是根据目标参考像素点以及目标参考像素点周围临近的像素点共同对当前像素点的像素值进行预测。
可选地,作为一个实施例,根据目标参考像素点的像素值和/或目标参考像素点的临近像素点的像素值,确定当前像素点的像素值的预测值,包括:根据目标参考像素点的临近像素点的像素值在目标参考像素点位置进行插值运算;将插值运算得到的像素值确定为当前像素点的像素值的预测值。
在确定了目标参考像素点的像素值之后,可以先对目标参考像素点的像素值的精度进行判断,当目标参考像素点的像素值的精度小于当前像素点的运动矢量精度时,需要利用插值算法对目标像素点周围的像素点的像素值进行计算,将计算得出的像素值作为目标参考像素点的像素值。具体来说,当目标参考像素点的像素值的精度为1/2像素精度,当前像素点的运动矢量精度为1/4像素精度时,目标参考像素点的像素值的精度小于当前像素点的运动矢量的精度,因此需要采用插值算法重新计算目标参考像素点的像素值。
具体地,如图18所示,投影点H的坐标为(i+u,j+v),其中i,j均为非负整数,u,v均为[0,1)区间的浮点数,H周围临近四个整数像素所在的位置坐标分别为P(i,j)、P(i,j+1)、P(i,j+1)和P(i+1,j+1)。
如果采用双线性内插算法,那么可以得到H处的像素值为:
PH=P(i,j)(1-u)(1-v)+P(i,j+1)(u)(1-v)+P(i,j+1)(1-u)(v)+P(i+1,j+1)(u)(v) (19)
而如果采用双三次插值算法,投影点H的坐标仍为(i+u,j+v),H点周围的16个相邻点的坐标分别为P(i-1,j-1)、P(i-1,j+0)、P(i-1,j+1)、P(i-1,j+2)、P(i+0,j-1)、P(i+0,j+0)、P(i+0,j+1)、P(i+0,j+2)、P(i+1,j-1)、P(i+1,j+0)、P(i+1,j+1)、P(i+1,j+2)、P(i+2,j-1)、P(i+2,j+0)、P(i+2,j+1)以及P(i+2,j+2)。
采用双三次插值算法,得到H处的像素值为:
PH=[A]*[B]*[C] (45)
[A]=[S(u+1)S(u+0)S(u-1)S(u-2)] (46)
以上仅仅以双双线性插值算法和双三次插值算法为例对本发明实施例中如何利用插值算法确定投影像素位置处的像素进行了详细的说明,实际上还可以采用Lanczos插值算法、最邻近插值算法以及一些基于图像结构等信息的非解析插值方法等。
应理解,在确定了目标参考像素点的像素值后,可以不考虑目标参考像素点的像素值是否满足相应的要求,而是直接将目标参考像素点的像素值确定为当前像素点的像素值。另外,还可以先在确定了目标参考像素点的像素值后,对目标参考像素点的像素值是否满足预设要求进行判断,当目标参考像素点的像素值不满足要求时,可以根据目标参考像素点的临近像素点的像素值对所述目标参考像素点进行插值运算,将得到的像素值作为当前像素点的像素值的预测值,或者,还可以对目标参考像素点的像素值以及目标参考像素点的临近像素点的像素值进行加权处理,将加权处理得到的结果作为当前像素点的像素值的预测值。
图19是本发明实施例的运动补偿预测方法的示意性流程图。图19所示的方法包括:
210、确定当前参考像素点的初始参考像素点在参考图像中的位置,当前像素点位于当前图像的第一子图像内;
220、当初始参考像素点位于参考图像中与第一子图像对应位置的第二子图像之外时,确定当前像素点在第二子图像的扩展区域中的目标参考像素点的位置,其中,第二子图像的扩展区域位于第二子图像之外,扩展区域包括多个像素点,扩展区域中任意一个第一像素点的像素值是根据参考图像中的第二像素点的像素值确定的,所述第二像素点对应在所述参考图像对应的多面体的表面的多面体参考位置与所述球心的连线经过所述第二像素点对应在所述参考图像对应的球面体的球面参考位置,所述球面参考位置是根据所述初始参考像素点的位置以及所述球面体的球心位置确定的,所述球面体内切于所述多面体;
230、根据目标参考像素点的像素值和/或目标参考像素点的临近像素点的像素值,确定当前像素点的像素值的预测值。
本发明实施例中,当初始参考像素点位于第二子图像之外时,直接根据当前像素点以及当前像素点的运动信息直接在扩展区域中寻找真正能够起到参考作用的目标参考像素点,然后根据目标参考像素点对当前像素点的像素值进行预测,能够快速寻找到目标参考像素点,并且还能提高运动预测估计的准确性。
具体而言,在现有技术中,并未针对参考图像中的每个子图像构建扩展区域,而是直接根据初始参考像素点的像素值计算当前像素点的像素值的预测值,而不考虑初始参考像素点在参考图像中的位置。而在本发明实施例中,可以依照图5所示的方法为参考图像中的子图像构建扩展区域,这样当初始参考像素点的位置不处于参考图像中与当前像素点对应的子图像区域时,根据运动信息在扩展区域中确定参考像素点的位置,并将扩展区域中参考像素点的像素值作为当前像素点像素值的预测值。
应理解,上述扩展区域中的像素点的像素值可以根据上文中图5所示的方法进行计算,这样在对当前像素点的像素值进行预测时,能够直接从扩展区域中找到目标参考像素点,能够快速地实现对当前像素点的像素值的预测。
可选地,作为一个实施例,图19所示的方法还包括:根据第一像素点的位置以及参考图像对应的球面体的球心位置,确定第二像素点对应在球面体表面的球面参考位置;根据球面参考位置确定第二像素点对应在参考图像对应的多面体的表面的多面体参考位置;根据多面体参考位置,确定第二像素点在参考图像中的位置。
可选地,作为一个实施例,根据第一像素点的位置以及参考图像对应的球面体的球心位置,确定第二像素点对应在球面体表面的球面参考位置具体包括:
根据第一像素点的位置以及第一像素点的位置相对于第二子图像的偏移值,确定第一像素点在多面体中的第一面所在平面的第一位置,其中,第一面是多面体中与第二子图像对应的面;
根据第一位置以及球面体的球心位置,确定第二像素点对应在球面体表面的球面参考位置,第一位置与球心位置的连线经过球面参考位置。
也就是说上述扩展区域中的任意一个像素点像素值都可以采用图5所示的方法来确定,根据第一像素点的位置确定第二像素点对应在球体的球面参考位置,然后再根据球面参考位置确定第二像素点对应在多面体的多面体参考位置,然后根据多面体参考位置确定第二像素点在参考图像中的位置,最后根据第二像素点在参考图像中的位置再确定第一像素点的像素值,采用同样的方法确定扩展区域中的每个像素点的像素值,这样在进行运动补偿预测时就可以直接确定扩展区域中的目标参考像素点的位置,提高了运动补偿预测的效率。
可选地,作为一个实施例,图19所示的方法还包括:根据参考图像的布局信息和初始参考像素点的位置判断初始参考像素点是否位于所述参考图像中的第二子图像之外。
应理解,判断初始参考像素点的位置是否在第二子图像之外可以是在确定了初始参考像素点在参考图像中的位置之后,并且根据初始参考像素点的位置以及所述参考图像对应的球面体的球心位置,确定球面参考位置之前进行的。
可选地,作为一个实施例,初始参考像素点位于参考图像中的第二子图像之内,根据初始参考像素点的像素值和/或目标参考像素点的临近像素点的像素值,确定当前像素点的像素值的预测值。也就是说,当初始参考像素点位于参考图像中的第二子图像之内时可以直接根据第一初始参考像素点来对当前像素点的像素值进行预测。
具体来说,图20所示的运动补偿预测方法是先确定参考图像的某个子图像的扩展区域(也可以确定参考图像中的多个子图像的扩展区域),然后确定参考像素点在扩展区域中的位置,这样就可以在对当前像素点进行预测时能够直接从扩展区域中寻找参考像素点,并根据该参考像素点的像素值对当前像素点进行预测。下面结合图20对上述过程进行详细说明,具体步骤如下:
201、在参考图像中为与当前像素点处于对应位置的面构建扩展区域。
根据参考图像对应的多面体的布局信息(一般情况下,参考图像对应的多面体的布局信息与当前图像的布局信息相同,因此,可以用来确定当前图像中的像素点所在的面)以及当前像素点的位置确定当前像素点的所在面,找到参考图像中与前像素点对应的面,并为该对应面构建扩展区域,并确定扩展区域中的像素点的像素值。扩展区域的具体效果类似于在面的周围对该面进行扩充或者填补,如图20(a)所示,当前像素点P处于Bottom面,那么接下来需要为参考图像中的Bottom面构建扩展区域,该扩展区域的范围如20(b)中的Bottom面外的虚线区域所示,在计算扩展区域中的像素点的像素值时可以以参考图像的Bottom为底面构建一个如图20(c)所示与该参考图像对应的多面体,如果将该多面体展开,那么多面体的Rear面、Front面、Left面、Right面等分别落在扩展区域的位置如图20(d)所示。对于扩展区域中的任一第一像素点,可以按照上文中图5所示的本发明实施例的运动补偿预测方法,根据第一像素点的位置,参考图像对应的球面体的球心位置先确定球面参考位置,再确定多面体参考位置,最终确定第二像素点中在参考图像中的位置,并根据第二像素点确定第一像素点的像素值(可以将第二像素点处的像素值直接确定为第一像素点的像素值,也可以对第二像素点或者第二像素点周围的像素点进行一定的运算,将运算得到的像素值作为第一像素点的像素值)。在这里,第一像素点类似于图5所示的本发明实施例的运动补偿预测方法中的初始参考像素点,第二像素点类似于图5所示的本发明实施例的运动补偿预测方法中的目标参考像素点。
202、确定当前像素点的在扩展区域中的目标参考像素点的位置。
首先确定当前像素点的参考像素点,并根据当前像素点所在的面以及参考像素点的位置判断参考像素点是否处于与当前像素点处于同位置的面。如果参考像素点是否处于与当前像素点处于同位置的面,那么就可以直接将参考像素点位置的像素值作为当前像素点像素值的预测值。否则,则需要执行以下操作:首先根据参考像素点与当前像素点的相对位置偏移,确定参考像素点在扩展区域中的对应位置。如图20(b)所示,参考像素点T不处于与当前像素点P处于同位置的面,根据参考像素点与当前像素点的相对位置偏移,可知参考像素点T应位于扩展区域中Rear面对应的区域。如果扩展区域按照实际的相对空间位置进行放置,如图20(d),则按照相对位置偏移确定参考像素点在扩展区域中的位置。否则,需要根据具体扩展区域的放置方法来确定参考像素点在扩展区域中的位置。
203、确定当前像素点的像素值的预测值。
确定参考像素点在扩展区域中的对应位置之后,将此位置上的像素值作为当前像素点像素值的预测值。
应理解,上述扩展区域内的像素点以为整数像素,也可以为分数像素,如果为分数像素时,具体像素值可以是1/2精度,1/4精度,1/8精度等。
另外,在确定了参考像素点在扩展区域位置之后,如果此位置没有像素值,则需要对该参考像素点进行插值运算。具体的插值运算方法可以使用DCT插值,双线性插值或者其他插值方法。
应理解,图19所示的方法与图5所示的方法的区别在于,图19中是预先计算出扩展区域中像素点的像素值,这样在对当前像素点进行预测时就能够更方便地从扩展区域中直接找到目标参考像素点,省去了根据初始参考像素点的位置确定目标参考像素点的位置的计算过程。而图5所示的方法是在对当前像素点的像素值进行预测时,再根据初始参考像素点的位置确定目标参考像素点的位置,与图19所示的方法相比多了一个计算过程。另外,图19所示的方法其它步骤与图5所示的方法的其它步骤基本相同,为了简洁,适当省略重复的描述。
图21是本发明实施例的运动补偿预测方法的示意性流程图。图21所示的方法包括:
310、确定当前像素点在参考图像中的初始参考像素点位置,当前像素点位于当前图像的第一子图像内;
320、当初始参考像素点位于参考图像中与第一子图像对应位置的第二子图像之外时,根据初始参考像素点位置确定当前像素点的目标参考像素点在参考图像对应的多面体的表面的位置,其中,目标参考像素点在多面体的表面的位置与初始参考像素点在第一平面的位置的连线经过多面体的中心点,第一平面为多面体中与第二子图像对应的面所在的平面;
330、根据目标参考像素点在多面体表面的位置确定目标参考像素点在参考图像中的位置;
340、根据参考图像中目标参考像素点的像素值和/或目标参考像素点的临近像素点的像素值,确定当前像素点的像素值的预测值。
本发明实施例中,当初始参考像素点位于第二子图像之外时,根据初始参考像素点的位置寻找到真正能够起到参考作用的目标参考像素点,然后根据目标参考像素点对当前像素点的像素值进行预测,提高了运动补偿预测的准确性。
应理解,本发明实施例中,图5所示的运动补偿预测方法与图21所示的运动补偿预测方法的区别在于图5中是根据初始参考像素点的位置和多面体的球心位置确定球面参考位置,然后再根据球面参考位置确定多面体参考位置,最再根据多面体参考位置确定目标参考像素点在参考图像中的位置,而图21是先根据初始参考像素点的位置确定目标参考像素点在参考图像对应的多面体的表面的位置,然后再根据目标参考像素点在多面体表面的位置确定目标参考像素点在参考图像中的位置。两者比较话,图5所示的方法是通过三个步骤来确定目标参考像素点在参考图像中的位置,而图16所示的方法是通过两个步骤来确定目标参考像素点在参考图像中的位置。应理解,对图5中所示的运动补偿预测方法的相关解释和说明同样适用于对图16所示的运动补偿预测方法,因此,为了简洁,此处适当省去重复的描述。
可选地,作为一个实施例,根据初始参考像素点位置确定当前像素点的目标参考像素点在参考图像对应的多面体的表面的位置,包括:根据初始参考像素点的位置和参考图像的布局信息,确定初始参考像素点在第一平面的位置;根据初始参考像素点在第一平面的位置和参考图像的布局信息,确定目标参考像素点在多面体的表面的位置。
可选地,作为一个实施例,根据目标参考像素点在多面体表面的位置确定目标参考像素点在参考图像中的位置,包括:根据初始参考像素点的位置和参考图像的布局信息,确定目标参考像素点在参考图像中的位置,目标参考像素点在多面体的表面的位置在初始参考像素点与多面体的中心点的连线与多面体的表面的交点处。
应理解,本发明实施例的运动补偿预测方法适用于各种多面体格式的二维图像,而且对于多面体格式的二维图像的面发生了旋转,面的排列次序发生了变化,以及面的空间布局格式发生了改变的情况,本发明实施例的运动补偿预测方法也都适用。
应理解,在本发明实施例中,可以在对当前像素点的像素值进行预测时去计算目标参考像素点的位置的像素值。也可以预先计算出待处理像素的目标参考像素点的像素值,这样在对待处理像素进行处理时可以直接获取待处理像素的目标参考响度点的像素值,节省了处理图像的时间。
应理解,虽然上述文中的以六面体格式的二维图像为例,但是对于其他多面体格式二维图像,本方法同样适用。包括四面体,八面体以及其他多面体格式。
应理解,上文中是以4x3格式的二维图像对本发明实施例的运动补偿预测方法进行了详细的说明,对于其他类型格式的多面体二维图像,本发明实施例的运动补偿预测方法同样适用,其中,二维图像的面带有部分或者全部旋转,不同面的排布顺序和排布方法等情况也都适用本发明实施例的运动补偿预测方法。
应理解,在本实施例中可以直接将参考图像中参考像素点的像素值作为当前像素点像素值的预测值,也可以利用参考像素点的像素值及其周围像素点的像素值的加权值或者进行其他运算得到的像素值作为当前像素点的像素值的预测值。
本发明实施例的运动补偿预测方法可以应用在图22所示的架构中,并可以具体应用在对二维全景图像的编码和解码的过程中。在图22中,现有的VR视频图像采集设备通常为环状或球状的多摄像头阵列,各个摄像头可以采集不同角度的图像得到当前场景的多视角视频图像,接下来,VR视频处理设备对多视角图像做图像拼接得到三维球面全景图,再将三维球面全景图映射得到二维全景图像,便于后续处理、压缩、传输、存储等操作的输入。并将处理后的结果存储到传输服务器中,VR头显设备可以通过网络等方式获取传输服务器中存储的图像处理结果,进行相应的解码等操作后就可以显示三维球面全景图像了。
上文结合图1-22详细的描述了本发明实施例的运动补偿预测方法,下面结合图23-28,详细描述本发明实施例的运动补偿预测装置。应理解,图23-28中的运动补偿预测装置能够执行图1-22中的运动补偿预测方法的各个步骤,为了避免重复,适当省略重复的描述。
图23是本发明实施例的运动补偿预测装置的示意性框图。该运动补偿预测装置400包括:
第一确定单元410,用于确定当前像素点的初始参考像素点在参考图像中的位置,所述当前像素点位于所述当前图像的第一子图像内。
第二确定单元420,用于当所述初始参考像素点位于所述参考图像中与所述第一子图像对应位置的第二子图像之外时,根据所述初始参考像素点的位置以及所述参考图像对应的球面体的球心位置,确定所述当前像素点的目标参考像素点对应在所述球面体表面的球面参考位置;
第三确定单元430,用于根据所述球面参考位置确定所述目标参考像素点对应在所述参考图像对应的多面体的表面的多面体参考位置,其中,所述球面体内切于所述多面体,所述多面体参考位置与所述球心的连线经过所述球面参考位置;
第四确定单元440,用于根据所述多面体参考位置,确定所述目标参考像素点在所述参考图像中的位置;
预测单元450,用于根据所述目标参考像素点的像素值和/或所述目标参考像素点的临近像素点的像素值,确定所述当前像素点的像素值的预测值。
本发明实施例中,当初始参考像素点位于第二子图像之外时,由于二维图像的面边界的几何形变的影响,导致直接根据初始参考像素点对当前像素点进行预测是不准确的,因此,在这种情况下,本发明是根据该初始参考像素点的位置寻找到真正能够起到参考作用的目标参考像素点,然后根据目标参考像素点对当前像素点的像素值进行预测,提高了运动预测估计的准确性。
可选地,作为一个实施例,所述第二确定单元420具体用于:
根据所述初始参考像素点的位置和所述初始参考像素点的位置相对于所述第二子图像的偏移值,确定所述初始参考像素点在所述多面体中的第一面所在平面的第一位置,其中,所述第一面是所述多面体中与所述第二子图像对应的面;
根据所述第一位置以及所述球面体的球心位置,确定所述目标参考像素点对应在所述球面体表面的球面参考位置,其中,所述第一位置与所述球心位置的连线经过所述球面参考位置。
可选地,作为一个实施例,所述运动补偿预测装置400还包括:
判断单元460,用于根据所述参考图像的布局信息和所述初始参考像素点的位置判断所述初始参考像素点是否位于所述参考图像中的所述第二子图像之外。
可选地,作为一个实施例,所述第四确定单元440具体用于:
根据所述多面体参考位置以及所述多面体的布局信息,确定所述目标参考像素点在所述参考图像中的位置。
可选地,作为一个实施例,所述布局信息包含所述多面体的面的数量信息,所述参考图像的子图像的排布方式信息,所述参考图像的子图像的排布顺序信息,所述参考图像的子图像的旋转信息中的至少一种。
可选地,作为一个实施例,所述预测单元450具体用于:
将所述目标参考像素点的像素值确定为所述当前像素点的像素值的预测值。
可选地,作为一个实施例,所述预测单元450具体用于:
对所述目标参考像素点的像素值以及所述目标参考像素点的临近像素点的像素值进行加权处理;
将所述加权处理得到的所述目标参考像素点所在位置的像素值确定为所述当前像素点的像素值的预测值。
可选地,作为一个实施例,所述预测单元450具体用于:
根据目标参考像素点的临近像素点的像素值在所述目标参考像素点位置进行插值运算;
将所述插值运算得到的像素值确定为所述当前像素点的像素值的预测值。
图24是本发明实施例的运动补偿预测装置的示意性框图。该运动补偿预测装置500包括:
第一确定单元510,用于确定当前参考像素点的初始参考像素点在参考图像中的位置,所述当前像素点位于所述当前图像的第一子图像内;
第二确定单元520,用于当所述初始参考像素点位于所述参考图像中与所述第一子图像对应位置的第二子图像之外时,确定所述当前像素点在所述子图像的扩展区域中的目标参考像素点的位置,
其中,所述第二子图像的扩展区域位于所述第二子图像之外,所述扩展区域包括多个像素点,所述扩展区域中任意一个第一像素点的像素值是根据所述参考图像中的第二像素点的像素值确定的,所述第二像素点对应在所述参考图像对应的多面体的表面的多面体参考位置与所述球心的连线经过所述第二像素点对应在所述参考图像对应的球面体的球面参考位置,所述球面参考位置是根据所述初始参考像素点的位置以及所述球面体的球心位置确定的,所述球面体内切于所述多面体;
预测单元530,用于根据所述目标参考像素点的像素值和/或所述目标参考像素点的临近像素点的像素值,确定所述当前像素点的像素值的预测值。
本发明实施例中,当初始参考像素点位于第二子图像之外时,由于二维图像的面边界的几何形变的影响,导致直接根据初始参考像素点对当前像素点进行预测是不准确的,因此,在这种情况下,本发明是直接根据当前像素点以及当前像素点的运动信息直接在扩展区域中寻找真正能够起到参考作用的目标参考像素点,然后根据目标参考像素点对当前像素点的像素值进行预测,能够快速寻找到目标参考像素点,并且还能提高运动预测估计的准确性。
可选地,作为一个实施例,所述运动补偿预测装置还包括:
第三确定单元540,用于根据所述第一像素点的位置以及所述参考图像对应的球面体的球心位置,确定所述第二像素点对应在所述球面体表面的球面参考位置;
第四确定单元550,用于根据所述球面参考位置确定所述第二像素点对应在所述参考图像对应的多面体的表面的多面体参考位置;
第五确定单元560,根据所述多面体参考位置,确定所述第二像素点在所述参考图像中的位置。
可选地,作为一个实施例,所述第三确定单元540具体用于:
根据所述第一像素点的位置以及所述第一像素点的位置相对于所述第二子图像的偏移值,确定所述第一像素点在所述多面体中的第一面所在平面的第一位置,其中,所述第一面是所述多面体中与所述第二子图像对应的面;
根据所述第一位置以及所述球面体的球心位置,确定所述第二像素点对应在所述球面体表面的球面参考位置,所述第一位置与所述球心位置的连线经过所述球面参考位置。
可选地,作为一个实施例,所述运动补偿预测装置还包括:
判断单元570,用于根据所述参考图像的布局信息和所述初始参考像素点的位置判断所述初始参考像素点是否位于所述参考图像中的所述第二子图像之外。
图25是本发明实施例的运动补偿预测装置的示意性框图。该运动补偿预测装置600包括:
第一确定单元610,用于确定当前像素点在参考图像中的初始参考像素点位置,所述当前像素点位于所述当前图像的第一子图像内;
第二确定单元620,当所述初始参考像素点位于所述参考图像中与所述第一子图像对应位置的第二子图像之外时,根据所述初始参考像素点位置确定所述当前像素点的目标参考像素点在所述参考图像对应的多面体的表面的位置,其中,所述目标参考像素点在所述多面体的表面的位置与所述初始参考像素点在第一平面的位置的连线经过所述多面体的中心点,所述第一平面为所述多面体中与所述第二子图像对应的面所在的平面;
第三确定单元630,用于根据所述目标参考像素点在多面体表面的位置确定所述目标参考像素点在所述参考图像中的位置;
预测单元640,用于根据所述参考图像中所述目标参考像素点的像素值和/或所述目标参考像素点的临近像素点的像素值,确定所述当前像素点的像素值的预测值。
本发明实施例中,当初始参考像素点位于第二子图像之外时,由于二维图像的面边界的几何形变的影响,导致直接根据初始参考像素点对当前像素点进行预测是不准确的,因此,在这种情况下,本发明是根据该初始参考像素点的位置寻找到真正能够起到参考作用的目标参考像素点,然后根据目标参考像素点对当前像素点的像素值进行预测,提高了运动预测估计的准确性。
可选地,作为一个实施例,所述第二确定单元620具体用于:
根据所述初始参考像素点的位置和所述参考图像的布局信息,确定所述初始参考像素点在所述第一平面的位置;
根据所述初始参考像素点在所述第一平面的位置和所述参考图像的布局信息,确定所述目标参考像素点在所述多面体的表面的位置。
可选地,作为一个实施例,所述第三确定单元具体用于:
根据所述初始参考像素点的位置和所述参考图像的布局信息,确定所述目标参考像素点在所述参考图像中的位置,所述目标参考像素点在所述多面体的表面的位置在所述初始参考像素点与所述多面体的中心点的连线与所述多面体的表面的交点处。
上文结合图1-25对本发明实施例的运动补偿预测方法和运动补偿预测装置进行了详细的说明,事实上,本发明实施例的运动补偿预测方法可以看成是编码或者解码过程中的一个中间过程或者步骤,全景视频编码器或者全景视频解码器可以实现本发明实施例的运动补偿预测方法。下面结合图26和图27分别对全景视频解码器的解码过程和全景视频编码器的编码过程进行详细的介绍。
在结合图26和图27介绍全景视频解码器的解码过程和全景视频编码器的编码过程之前,首先对编码和解码进行一些简单的介绍。
在对当前图像进行编码之前,一般是当前图像分成大小相等的若干块,然后再对每个块进行编码操作。在对当前图像进行编码过程中,当前图像的布局信息一般作为头信息传输到解码端。头信息为先导信息,解码器在接收到编码码流后会先解码该头信息,然后根据该头信息对后续的码流进行解码。假设,在编码时当前图像被划分成多个图像块依次进行编码,解码则按照同样的顺序依次进行解码。对于当前块,如果已确定其为帧间编码方式,为了得到其重建信息,要得到当前块内像素点的像素值的重建值。
对于编码来说,该过程主要包括帧内预测(Intra Prediction)、帧间预测(InterPrediction)、变换(Transform)、量化(Quantization)、熵编码(Entropy encode)等环节。在对图像进行编码时,可以先将图像划分为图像块之后再进行帧内预测和帧间预测,并且在得到残差之后进行变换量化,最终进行熵编码并输出码流。这里的图像块为像素点组成的M×N大小的阵列(MM和N均为大于0的整数,M可以等于N,也可以不等于N),并且已知各个像素点位置的像素值。
帧内预测是利用当前图像内已重建区域内像素点的像素值对当前块内像素点的像素值进行预测。而帧间预测则是在已重建的图像中,为当前图像中的当前编码块寻找匹配的参考块,将参考块中的像素点的像素值作为当前编码块中像素点的像素值的预测信息或者预测值(以下不再区分信息和值)(此过程称为运动估计(Motion estimation,ME)),并需要向解码端传输当前块指向参考块的运动矢量(motion vector,MV)信息(也就是参考块位置相比于当前块位置的位置偏移),以及参考块所在图像的指示信息等。运动估计过程需要为当前块在参考图像中尝试多个参考块,最终确定使用哪一个或者哪几个参考块用对当前块进行预测可以使用率失真优化(Rate-distortion optimization,RDO)方法或者其他方法来确定。
在利用帧内预测或者帧间预测得到预测信息之后,可以用当前编码块内像素点的像素值减去对应的预测信息(也就是对应的参考块中对应的像素点的像素值)得到残差信息。在得到残差信息后再利用离散余弦变换(Discrete Cosine Transformation,DCT)等方法对残差信息进行变换,最后再使用量化熵编码得到码流。
对于解码来说,解码则相当于编码的逆过程。解码时,首先利用熵解码反量化反变换得到残差信息,并根据解码码流确定当前块使用的是帧内预测还是帧间预测;如果是帧内编码,那么就利用当前待处理的像素点周围已重建区域内像素点的像素值按照所使用的帧内预测方法构建预测信息;如果是帧间编码,则需要解析出运动信息,并根据解析出的运动信息在已重建的图像中确定参考块,将块内像素点的像素值作为预测信息(此过程也被称为运动补偿);最后再使用预测信息加上残差信息便可以得到重建信息。
图26是全景视频解码器的解码过程的示意性流程图。具体包括:
710、确定当前图像中的当前块的运动信息。
具体来说,解码器可以解码运动信息码流,根据解析结果确定当前快的运动信息。
应理解,在步骤710中,还可以通过解码预测运动信息的指示信息以及预测运动信息与运动信息的差值信息来确定当前块的运动信息,也就是说可以不直接解析运动信息的编码码流就可以确定当前块的运动信息。例如,解码端可以构建一个运动信息集合(例如,该运动信息集合包含与当前块的时间或者空间相邻的已重建块的运动信息,该集合的构建方法由编解码端共同约定),那么解码端可以解析预测运动信息的指示信息,然后从该集合中确定预测运动信息,并根据预测运动信息以及预测运动信息与运动信息的差值信息获得当前块的运动信息。此外,应理解,解码端还以将根据预测运动信息的指示信息确定的预测运动信息作为当前块的运动信息,具体使用哪一种方法由编解码端约定,或者编码端将所用的方式信息传输到解码端,解码端根据接收到的方式信息确定使用哪种方式来确定当前块的运动信息。
另外,在步骤710中,如果是单向参考,需解析一套运动信息。如果是双向参考,需解析两套运动信息。具体解析几套运动信息为编解码端共同约定,或者编码端将所用套数相关信息传输到解码端,解码端依据解析结果确定。
720、确定当前块内像素点的像素值的预测值。
解码器可以根据当前块的运行信息来确定当前块所在的当前图像的参考图像,并确定参考块在参考图像中的位置。事实上,确定当前块内像素点的像素值的预测值就是确定当前块内的每个像素点的像素值的预测值,确定像素点的像素值的预测值具体可以根据本发明实施例中的运动补偿预测方法来确定。
应理解,在得到当前块每个像素点的像素值的预测值之后,可以根据每个像素点的像素值的预测值得到当前块的预测块,预测块包含当前块内每个像素点的像素值的预测值。
在步骤720中,如果是单向参考,则只需要确定一个参考块在所在参考图像中的位置,对于当前块内的一个像素点,只需要确定一个参考像素点的位置,然后可以根据本发明实施例的运动补偿预测方法来确定当前块内像素点像素值的预测值。
如果是双向参考,则需要确定当前块的两个参考块在各自参考图像中的位置,对于当前块内的一个像素点,需要分别确定两个参考像素点在两个参考块中的位置。然后可以根据本发明实施例的运动补偿预测方法来确定当前块内像素点的像素值的两个预测值。然后将这两个预测值进行加权或者其他操作得到当前块内像素点像素值的预测值。具体操作方式为编解码端共同约定,或者编码端将所用方法传输到解码端,解码端依据解析结果确定所用方法。
此外,在得到当前块中的像素点的像素值的预测值之后,可以先对该预测值进行其他的操作,将操作得到的预测值作为当前像素点的像素值的最终预测值。例如,可以将得到的预测值经过平滑滤波后得到预测值作为当前像素点的像素值的最终预测值。具体是否使用以及使用哪一种方式为编解码端共同约定,或者编码端将所用方法传输到解码端,解码端依据解析结果确定所用方法。另外,还可以对当前像素点的像素值进行双向预测,也就是说可以对当前像素点进行两次预测,再将得到的两个预测值进行加权得到当前像素点的像素值的预测值。
730、确定当前块内像素点的像素值的残差信息。
解码器解码当前块内像素点的像素值的残差信息的编码码流,并利用反量化和反变换方法得到当前块内像素点的像素值的残差信息。也就是说编码器解码当前块的残差块的编码码流,然后利用反量化和反变换方法得到当前块的残差块。
应理解,在步骤730中,为了确定当前块内像素点的像素值的残差信息,也可以仅使用反变换或者仅使用反量化方法,具体使用何种方法为编解码端共同约定,或者编码端将所用方法传输到解码端,解码端依据解析结果确定所用方法。
740、确定当前块内像素点的像素值的重建值。
可以根据步骤720中得到的当前块内像素点的像素值与步骤730中得到的当前块内像素点的像素值的残差信息,得到当前块内每个像素点的像素值的重建值。另外,还可以根据步骤720得到当前块的预测块,然后将该预测块与步骤730中得到的残差块相加即可得到当前块的重建块,该重建块包括当前块内每个像素点的像素值的重建值。
应理解,在步骤740中,为了得到当前块内像素点的像素值的重建值,在使用预测信息加上残差信息之后,也可以需要做一些其他操作,例如去块滤波等。具体是否需要其他操作以及其他何种操作为编解码端共同约定,或者编码端将所用方法传输到解码端,解码端依据解析结果确定所用方法。
上文结合图26对全景视频解码器的解码过程进行了详细的说明,实际上解码过程一般是对编码得到的编码码流进行的,下面结合图27以全景视频编码器为例,对编码过程进行详细的说明。
球形图像的布局信息一般在球形图像的采集或者生成之后便可确定了。因此,在编码器对全景视频进行编码之前,编码器便已获知了球形图像的布局信息。球形图像的布局信息一般作为头信息进行传输。头信息是一种先导信息,这样解码器在接收到编码码流之前,先解码头信息,根据头信息获取了球形图像的布局信息后就可以对后续的码流进行解码。
图27是全景视频编码器的编码过程的示意性流程图。具体包括:
810、确定当前块的运动信息。
编码器首先确定当前块的运动信息,然后对运动信息进行编码。具体来说,编码器在重建图像中为当前图像选择一个参考图像,并在参考图像的规定区域内为当前块寻找一个匹配块,并将该匹配块作为当前块的参考块,并在这个过程中所用的参考图像以及指示参考块相对于当前块的位置偏移的运动矢量信息作为运动信息,并对其进行编码。
在参考图像中的规定区域内为当前块寻找参考块时,可以先为当前块选择多个块,最后选用哪一个块作为参考块可以使用率失真优化准则来确定。例如,确定候选参考块作为匹配块时需要编码的运动信息的比特数,以及使用当前候选参考块内像素点的像素值来预测当前块内像素点的像素值时的失真值,利用拉格朗日优化方法确定该候选参考块的代价。然后选择代价最小的候选参考块作为匹配块。而对于多个参考图像的情况,需要对每一个图像均执行上述操作。
应理解,在步骤810中,还可以不直接对运动信息进行编码,而是对预测运动信息的指示信息,或者预测运动信息与运行信息的差值信息进行编码。例如,编码端可以构建一个运动信息集合(例如,该运动信息集合包含与当前块的时间或者空间相邻的已重建块的运动信息,该集合的构建方法由编解码端共同约定),那么编码端可以选定其中一个运动信息作为预测运动信息,然后得到当前块的运动信息与预测运动信息的差值信息,对预测运动信息的指示信息以及差值信息进行编码。另外,也可以只对预测运动信息的指示信息进行编码,使得解码端能够根据指示信息从所构建的运动信息集合中确定运动信息,并将其作为当前块的运动信息。具体使用哪一种方法为编解码端共同约定,也可以通过率失真方法选用,并将选用的方法传输到解码端。
在步骤810中,如果是单向参考,则只需编码一套运动信息。如果是双向参考,需编码两套运动信息。具体编码几套运动信息由编解码端共同约定,也可以通过率失真方法确定,并由编码端将相应信息传输到解码端。
在单向参考时,需要确定一个参考块在所在参考图像中的位置,对于当前块内的一个当前像素点,需要确定一个参考像素点的位置,然后根据本发明实施例的运动补偿预测方法来确定参考像素点的像素值的预测值。如果是双向参考,则需要确定当前块的两个参考块在各自参考图像中的位置,也就是说对于当前块内的一个像素点,需要分别确定两个参考像素点在两个参考块中的位置。然后可以根据本发明实施例的运动补偿预测方法来确定当前块内像素点的像素值的两个预测值。然后将这两个预测值进行加权或者其他操作得到当前块内像素点像素值的预测值。具体操作方式为编解码端共同约定,或者编码端将所用方法传输到解码端,解码端依据解析结果确定所用方法。
820、确定当前块内像素点的像素值的预测值
编码器可以根据当前块的运行信息来确定当前块所在的当前图像的参考图像,并确定参考块在参考图像中的位置。事实上,确定当前块内像素点的像素值的预测值就是确定当前块内的每个像素点的像素值的预测值,确定像素点的像素值的预测值具体可以根据本发明实施例中的运动补偿预测方法来确定。
此外,在得到当前块中的像素点的像素值的预测值之后,可以先对该预测值进行其他的操作,将操作得到的预测值作为当前像素点的像素值的最终预测值。例如,可以将得到的预测值经过平滑滤波后得到预测值作为当前像素点的像素值的最终预测值。具体是否使用以及使用哪一种方式为编解码端共同约定,或者编码端将所用方法传输到解码端,解码端依据解析结果确定所用方法。另外,还可以对当前像素点的像素值进行双向预测,也就是说可以对当前像素点进行两次预测,再将得到的两个预测值进行加权得到当前像素点的像素值的预测值。
830、确定当前块内像素点的像素值的残差信息。
编码器使用当前块内像素点的像素值减去其预测值,得到当前块内像素点像素值的残差信息,然后根据变换量化方法对当前块内像素点的像素值的残差信息进行处理,并对处理之后的结果进行编码。
应理解,在对当前块内像素点的像素值的残差信息进行编码时,也可以仅使用变换或者仅使用量化方法,具体使用何种方法为编解码端共同约定,也可以编码端通过通过率失真方法确定,并将信息传输到解码端。
图28是根据本发明实施例的图像编码器900的示意性框图,包括预测模块910、变换量化模块920、熵编码模块930、重建模块940以及滤波模块950,各个模块的具体作用如下的:
预测模块910用于产生预测数据。预测模块910可产生每一不再分割CU的一个或多个预测单元(PU)。CU的每一个PU可与CU的像素块内的不同像素块相关联。预测模块910可针对CU的每一个PU产生预测性像素块。预测模块910可使用帧内预测或帧间预测来产生PU的预测性像素块。如果预测模块910使用帧内预测来产生PU的预测性像素块,则预测模块910可基于与PU相关联的图片的解码后的像素来产生PU的预测性像素块。如果预测模块910使用帧间预测来产生PU的预测性像素块,则预测模块910可基于不同于与PU相关联的图片的一个或多个图片的解码后的像素来产生PU的预测性像素块。预测模块910可基于CU的PU的预测性像素块来产生CU的残余像素块。CU的残余像素块可指示CU的PU的预测性像素块中的采样值与CU的初始像素块中的对应采样值之间的差。
变换量化模块920用于对经过预测的残差数据进行处理。图像编码器900可对CU的残余像素块执行递归四叉树分割以将CU的残余像素块分割成与CU的变换单元(TU)相关联的一个或多个较小残余像素块。因为与TU相关联的像素块中的像素各自对应一个亮度采样及两个色度采样,所以每一个TU可与一个亮度的残余采样块及两个色度的残余采样块相关联。图像编码器900可将一个或多个变换应用于与TU相关联的残余采样块以产生系数块(即,系数的块)。变换可以是DCT变换或者它的变体。采用DCT的变换矩阵,通过在水平和竖直方向应用一维变换计算二维变换,获得所述系数块。图像编码器900可对系数块中的每一个系数执行量化程序。量化一般指系数经量化以减少用以表示系数的数据量,从而提供进一步压缩的过程。
图像编码器900可产生表示量化后系数块中的系数的语法元素的集合。图像编码器900通过熵编码模块930可将熵编码操作(例如,上下文自适应二进制算术译码(CABAC)操作)应用于上述语法元素中的部分或者全部。为将CABAC编码应用于语法元素,熵编码模块930可将语法元素二进制化以形成包括一个或多个位(称作“二进位”)的二进制序列。熵编码模块930可使用规则(regular)编码来编码二进位中的一部分,且可使用旁通(bypass)编码来编码二进位中的其它部分。
除熵编码系数块的语法元素外,图像编码器900通过重建模块940,可将逆量化及逆变换应用于变换后的系数块,以从变换后的系数块重建残余采样块。图像编码器900可将重建后的残余采样块加到一个或多个预测性采样块的对应采样块,以产生重建后的采样块。通过重建每一色彩分量的采样块,图像编码器900可重建与TU相关联的像素块。以此方式重建CU的每一TU的像素块,直到CU的整个像素块重建完成。
在图像编码器900重建构CU的像素块之后,图像编码器900通过滤波模块950,执行消块滤波操作以减少与CU相关联的像素块的块效应。在图像编码器900执行消块滤波操作之后,图像编码器900可使用采样自适应偏移(SAO)来修改图片的CTB的重建后的像素块。在执行这些操作之后,图像编码器900可将CU的重建后的像素块存储于解码图片缓冲器中以用于产生其它CU的预测性像素块。
在一个或多个实例中,所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件实施,则功能可作为一个或多个指令或代码而存储于计算机可读媒体上或经由计算机可读媒体而发送,且通过基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体(其对应于例如数据存储媒体等有形媒体)或通信媒体,通信媒体包含(例如)根据通信协议促进计算机程序从一处传送到另一处的任何媒体。以此方式,计算机可读媒体大体上可对应于(1)非瞬时的有形计算机可读存储媒体,或(2)例如信号或载波等通信媒体。数据存储媒体可为可由一个或多个计算机或一个或多个处理器存取以检索指令、代码及/或数据结构以用于实施本发明中所描述的技术的任何可用媒体。计算机程序产品可包含计算机可读媒体。
通过实例而非限制,某些计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁性存储装置、快闪存储器,或可用以存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。而且,任何连接可适当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光缆、双绞线、数字用户线(DSL)或无线技术(例如,红外线、无线电及微波)而从网站、服务器或其它远程源发送指令,则同轴电缆、光缆、双绞线、DSL或无线技术(例如,红外线、无线电及微波)包含于媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它瞬时媒体,而是有关非瞬时有形存储媒体。如本文中所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字影音光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式复制数据,而光盘通过激光以光学方式复制数据。以上各物的组合还应包含于计算机可读媒体的范围内。
可由例如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一个或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指代前述结构或适于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,可将本文中所描述的功能性提供于经配置以用于编码及解码的专用硬件及/或软件模块内,或并入于组合式编解码器中。而且,所述技术可完全实施于一个或多个电路或逻辑元件中。
本发明的技术可以广泛地由多种装置或设备来实施,所述装置或设备包含无线手持机、集成电路(IC)或IC集合(例如,芯片组)。在本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但未必要求通过不同硬件单元来实现。确切地说,如上文所描述,各种单元可组合于编解码器硬件单元中,或通过交互操作性硬件单元(包含如上文所描述的一个或多个处理器)的集合结合合适软件及/或固件来提供。
应理解,说明书通篇中提到的“一个实施方式”或“一实施方式”意味着与实施方式有关的特定特征、结构或特性包括在本发明的至少一个实施方式中。因此,在整个说明书各处出现的“在一个实施方式中”或“在一实施方式中”未必一定指相同的实施方式。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施方式中。
在本发明的各种实施方式中,应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施方式的实施过程构成任何限定。
另外,本文中术语“***”和“网络”在本文中常可互换使用。应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
在本申请所提供的实施方式中,应理解,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
本领域普通技术人员可以意识到,结合本文中所公开的实施方式描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (24)
1.一种运动补偿预测方法,其特征在于,包括:
确定当前像素点的初始参考像素点在参考图像中的位置,所述当前像素点位于所述当前图像的第一子图像内;
当所述初始参考像素点位于所述参考图像中与所述第一子图像对应位置的第二子图像之外时,根据所述初始参考像素点的位置以及所述参考图像对应的球面体的球心位置,确定所述当前像素点的目标参考像素点对应在所述球面体表面的球面参考位置;
根据所述球面参考位置确定所述目标参考像素点对应在所述参考图像对应的多面体的表面的多面体参考位置,其中,所述球面体内切于所述多面体,所述多面体参考位置与所述球心的连线经过所述球面参考位置;
根据所述多面体参考位置,确定所述目标参考像素点在所述参考图像中的位置;
根据所述目标参考像素点的像素值和/或所述目标参考像素点的临近像素点的像素值,确定所述当前像素点的像素值的预测值。
2.如权利要求1所述的方法,其特征在于,根据所述初始参考像素点的位置以及所述参考图像对应的球面体的球心位置,确定所述当前像素点的目标参考像素点对应在所述球面体表面的球面参考位置,包括:
根据所述初始参考像素点的位置和所述初始参考像素点的位置相对于所述第二子图像的偏移值,确定所述初始参考像素点在所述多面体中的第一面所在平面的第一位置,其中,所述第一面是所述多面体中与所述第二子图像对应的面;
根据所述第一位置以及所述球面体的球心位置,确定所述目标参考像素点对应在所述球面体表面的球面参考位置,其中,所述第一位置与所述球心位置的连线经过所述球面参考位置。
3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
根据所述参考图像的布局信息和所述初始参考像素点的位置判断所述初始参考像素点是否位于所述参考图像中的所述第二子图像之外。
4.如权利要求1-3中任一项所述的方法,其特征在于,根据所述多面体参考位置,确定所述目标参考像素点在所述参考图像中的位置,包括:
根据所述多面体参考位置以及所述多面体的布局信息,确定所述目标参考像素点在所述参考图像中的位置。
5.如权利要求1-4中任一项所述的方法,其特征在于,所述布局信息包含所述多面体的面的数量信息,所述参考图像的子图像的排布方式信息,所述参考图像的子图像的排布顺序信息,所述参考图像的子图像的旋转信息中的至少一种。
6.如权利要求1-5中任一项所述的方法,其特征在于,所述根据所述目标参考像素点的像素值和/或所述目标参考像素点的临近像素点的像素值,确定所述当前像素点的像素值的预测值,包括:
将所述目标参考像素点的像素值确定为所述当前像素点的像素值的预测值。
7.如权利要求1-5中任一项所述的方法,其特征在于,所述根据所述目标参考像素点的像素值和/或所述目标参考像素点的临近像素点的像素值,确定所述当前像素点的像素值的预测值,包括:
对所述目标参考像素点的像素值以及所述目标参考像素点的临近像素点的像素值进行加权处理;
将所述加权处理得到的所述目标参考像素点所在位置的像素值确定为所述当前像素点的像素值的预测值。
8.如权利要求1-5中任一项所述的方法,其特征在于,所述根据所述目标参考像素点的像素值和/或所述目标参考像素点的临近像素点的像素值,确定所述当前像素点的像素值的预测值,包括:
根据目标参考像素点的临近像素点的像素值在所述目标参考像素点位置进行插值运算;
将所述插值运算得到的像素值确定为所述当前像素点的像素值的预测值。
9.一种运动补偿预测方法,其特征在于,包括:
确定当前参考像素点的初始参考像素点在参考图像中的位置,所述当前像素点位于所述当前图像的第一子图像内;
当所述初始参考像素点位于所述参考图像中与所述第一子图像对应位置的第二子图像之外时,确定所述当前像素点在所述第二子图像的扩展区域中的目标参考像素点的位置,其中,所述第二子图像的扩展区域位于所述第二子图像之外,所述扩展区域包括多个像素点,所述扩展区域中任意一个第一像素点的像素值是根据所述参考图像中的第二像素点的像素值确定的,所述第二像素点对应在所述参考图像对应的多面体的表面的多面体参考位置与所述参考图像对应的球面体的球心的连线经过所述第二像素点对应在所述参考图像对应的球面体的球面参考位置,所述球面参考位置是根据所述初始参考像素点的位置以及所述球面体的球心位置确定的,所述球面体内切于所述多面体;
根据所述目标参考像素点的像素值和/或所述目标参考像素点的临近像素点的像素值,确定所述当前像素点的像素值的预测值。
10.如权利要求9所述的方法,其特征在于,所述方法还包括:
根据所述第一像素点的位置以及所述参考图像对应的球面体的球心位置,确定所述第二像素点对应在所述球面体表面的球面参考位置;
根据所述球面参考位置确定所述第二像素点对应在所述参考图像对应的多面体的表面的多面体参考位置;
根据所述多面体参考位置,确定所述第二像素点在所述参考图像中的位置。
11.如权利要求10所述的方法,其特征在于,所述根据所述第一像素点的位置以及所述参考图像对应的球面体的球心位置,确定所述第二像素点对应在所述球面体表面的球面参考位置,包括:
根据所述第一像素点的位置以及所述第一像素点的位置相对于所述第二子图像的偏移值,确定所述第一像素点在所述多面体中的第一面所在平面的第一位置,其中,所述第一面是所述多面体中与所述第二子图像对应的面;
根据所述第一位置以及所述球面体的球心位置,确定所述第二像素点对应在所述球面体表面的球面参考位置,所述第一位置与所述球心位置的连线经过所述球面参考位置。
12.如权利要求9-11中任一项所述的方法,其特征在于,所述方法还包括:
根据所述参考图像的布局信息和所述初始参考像素点的位置判断所述初始参考像素点是否位于所述参考图像中的所述第二子图像之外。
13.一种运动补偿预测装置,其特征在于,包括:
第一确定单元,用于确定当前像素点的初始参考像素点在参考图像中的位置,所述当前像素点位于所述当前图像的第一子图像内;
第二确定单元,用于当所述初始参考像素点位于所述参考图像中与所述第一子图像对应位置的第二子图像之外时,根据所述初始参考像素点的位置以及所述参考图像对应的球面体的球心位置,确定所述当前像素点的目标参考像素点对应在所述球面体表面的球面参考位置;
第三确定单元,用于根据所述球面参考位置确定所述目标参考像素点对应在所述参考图像对应的多面体的表面的多面体参考位置,其中,所述球面体内切于所述多面体,所述多面体参考位置与所述球心的连线经过所述球面参考位置;
第四确定单元,用于根据所述多面体参考位置,确定所述目标参考像素点在所述参考图像中的位置;
预测单元,用于根据所述目标参考像素点的像素值和/或所述目标参考像素点的临近像素点的像素值,确定所述当前像素点的像素值的预测值。
14.如权利要求13所述的运动补偿预测装置,其特征在于,所述第二确定单元具体用于:
根据所述初始参考像素点的位置和所述初始参考像素点的位置相对于所述第二子图像的偏移值,确定所述初始参考像素点在所述多面体中的第一面所在平面的第一位置,其中,所述第一面是所述多面体中与所述第二子图像对应的面;
根据所述第一位置以及所述球面体的球心位置,确定所述目标参考像素点对应在所述球面体表面的球面参考位置,其中,所述第一位置与所述球心位置的连线经过所述球面参考位置。
15.如权利要求13或14所述的运动补偿预测装置,其特征在于,所述运动补偿预测装置还包括:
判断单元,用于根据所述参考图像的布局信息和所述初始参考像素点的位置判断所述初始参考像素点是否位于所述参考图像中的所述第二子图像之外。
16.如权利要求13-15中任一项所述的运动补偿预测装置,其特征在于,所述第四确定单元具体用于:
根据所述多面体参考位置以及所述多面体的布局信息,确定所述目标参考像素点在所述参考图像中的位置。
17.如权利要求13-16中任一项所述的运动补偿预测装置,其特征在于,所述布局信息包含所述多面体的面的数量信息,所述参考图像的子图像的排布方式信息,所述参考图像的子图像的排布顺序信息,所述参考图像的子图像的旋转信息中的至少一种。
18.如权利要求13-17中任一项所述的运动补偿预测装置,其特征在于,所述预测单元具体用于:
将所述目标参考像素点的像素值确定为所述当前像素点的像素值的预测值。
19.如权利要求13-17中任一项所述的运动补偿预测装置,其特征在于,所述预测单元具体用于:
对所述目标参考像素点的像素值以及所述目标参考像素点的临近像素点的像素值进行加权处理;
将所述加权处理得到的所述目标参考像素点所在位置的像素值确定为所述当前像素点的像素值的预测值。
20.如权利要求13-17中任一项所述的运动补偿预测装置,其特征在于,所述预测单元具体用于:
根据目标参考像素点的临近像素点的像素值在所述目标参考像素点位置进行插值运算;
将所述插值运算得到的像素值确定为所述当前像素点的像素值的预测值。
21.一种运动补偿预测装置,其特征在于,包括:
第一确定单元,用于确定当前参考像素点的初始参考像素点在参考图像中的位置,所述当前像素点位于所述当前图像的第一子图像内;
第二确定单元,用于当所述初始参考像素点位于所述参考图像中与所述第一子图像对应位置的第二子图像之外时,确定所述当前像素点在所述子图像的扩展区域中的目标参考像素点的位置,其中,所述第二子图像的扩展区域位于所述第二子图像之外,所述扩展区域包括多个像素点,所述扩展区域中任意一个第一像素点的像素值是根据所述参考图像中的第二像素点的像素值确定的,所述第二像素点对应在所述参考图像对应的多面体的表面的多面体参考位置与所述球心的连线经过所述第二像素点对应在所述参考图像对应的球面体的球面参考位置,所述球面参考位置是根据所述初始参考像素点的位置以及所述球面体的球心位置确定的,所述球面体内切于所述多面体;
预测单元,用于根据所述目标参考像素点的像素值和/或所述目标参考像素点的临近像素点的像素值,确定所述当前像素点的像素值的预测值。
22.如权利要求21所述的运动补偿预测装置,其特征在于,所述运动补偿预测装置还包括:
第三确定单元,用于根据所述第一像素点的位置以及所述参考图像对应的球面体的球心位置,确定所述第二像素点对应在所述球面体表面的球面参考位置;
第四确定单元,用于根据所述球面参考位置确定所述第二像素点对应在所述参考图像对应的多面体的表面的多面体参考位置;
第五确定单元,根据所述多面体参考位置,确定所述第二像素点在所述参考图像中的位置。
23.如权利要求22所述的运动补偿预测装置,其特征在于,所述第三确定单元具体用于:
根据所述第一像素点的位置以及所述第一像素点的位置相对于所述第二子图像的偏移值,确定所述第一像素点在所述多面体中的第一面所在平面的第一位置,其中,所述第一面是所述多面体中与所述第二子图像对应的面;
根据所述第一位置以及所述球面体的球心位置,确定所述第二像素点对应在所述球面体表面的球面参考位置,所述第一位置与所述球心位置的连线经过所述球面参考位置。
24.如权利要求21-23中任一项所述的运动补偿预测装置,其特征在于,所述运动补偿预测装置还包括:
判断单元,用于根据所述参考图像的布局信息和所述初始参考像素点的位置判断所述初始参考像素点是否位于所述参考图像中的所述第二子图像之外。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/104030 WO2018059500A1 (zh) | 2016-09-30 | 2017-09-28 | 运动补偿预测方法和设备 |
EP17854950.7A EP3515076B1 (en) | 2016-09-30 | 2017-09-28 | Motion compensation prediction method and device |
US16/371,486 US10779000B2 (en) | 2016-09-30 | 2019-04-01 | Motion-compensated prediction method and apparatus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2016108768649 | 2016-09-30 | ||
CN201610876864 | 2016-09-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107888928A true CN107888928A (zh) | 2018-04-06 |
CN107888928B CN107888928B (zh) | 2020-02-14 |
Family
ID=61770276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610896430.5A Active CN107888928B (zh) | 2016-09-30 | 2016-10-13 | 运动补偿预测方法和设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10779000B2 (zh) |
EP (1) | EP3515076B1 (zh) |
CN (1) | CN107888928B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102598082B1 (ko) * | 2016-10-28 | 2023-11-03 | 삼성전자주식회사 | 영상 표시 장치, 모바일 장치 및 그 동작방법 |
US10999602B2 (en) * | 2016-12-23 | 2021-05-04 | Apple Inc. | Sphere projected motion estimation/compensation and mode decision |
US11259046B2 (en) * | 2017-02-15 | 2022-02-22 | Apple Inc. | Processing of equirectangular object data to compensate for distortion by spherical projections |
US10924747B2 (en) | 2017-02-27 | 2021-02-16 | Apple Inc. | Video coding techniques for multi-view video |
US11093752B2 (en) | 2017-06-02 | 2021-08-17 | Apple Inc. | Object tracking in multi-view video |
US10754242B2 (en) | 2017-06-30 | 2020-08-25 | Apple Inc. | Adaptive resolution and projection format in multi-direction video |
KR102427648B1 (ko) * | 2017-11-03 | 2022-08-01 | 삼성전자주식회사 | 결함 검사 방법 및 결함 검사 장치 |
US10715832B2 (en) * | 2018-03-16 | 2020-07-14 | Mediatek Inc. | Method and apparatus of block partition for VR360 video coding |
US11323748B2 (en) * | 2018-12-19 | 2022-05-03 | Qualcomm Incorporated | Tree-based transform unit (TU) partition for video coding |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150341552A1 (en) * | 2014-05-21 | 2015-11-26 | Here Global B.V. | Developing a Panoramic Image |
WO2016064862A1 (en) * | 2014-10-20 | 2016-04-28 | Google Inc. | Continuous prediction domain |
CN105681805A (zh) * | 2016-01-19 | 2016-06-15 | 北京大学深圳研究生院 | 视频编码、解码方法及其帧间预测方法和装置 |
CN105959702A (zh) * | 2016-05-30 | 2016-09-21 | 北京奇艺世纪科技有限公司 | 一种球面视频编码方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101521823B (zh) | 2009-03-27 | 2010-12-01 | 北京航空航天大学 | 空间相关的全景数据压缩方法 |
JP2013046270A (ja) * | 2011-08-25 | 2013-03-04 | Olympus Corp | 画像貼り合せ装置、撮影装置、画像貼り合せ方法、および画像処理プログラム |
US20170214937A1 (en) * | 2016-01-22 | 2017-07-27 | Mediatek Inc. | Apparatus of Inter Prediction for Spherical Images and Cubic Images |
WO2018041005A1 (zh) * | 2016-08-30 | 2018-03-08 | 华为技术有限公司 | 运动补偿预测方法和设备 |
-
2016
- 2016-10-13 CN CN201610896430.5A patent/CN107888928B/zh active Active
-
2017
- 2017-09-28 EP EP17854950.7A patent/EP3515076B1/en active Active
-
2019
- 2019-04-01 US US16/371,486 patent/US10779000B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150341552A1 (en) * | 2014-05-21 | 2015-11-26 | Here Global B.V. | Developing a Panoramic Image |
WO2016064862A1 (en) * | 2014-10-20 | 2016-04-28 | Google Inc. | Continuous prediction domain |
CN105681805A (zh) * | 2016-01-19 | 2016-06-15 | 北京大学深圳研究生院 | 视频编码、解码方法及其帧间预测方法和装置 |
CN105959702A (zh) * | 2016-05-30 | 2016-09-21 | 北京奇艺世纪科技有限公司 | 一种球面视频编码方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US20190230377A1 (en) | 2019-07-25 |
CN107888928B (zh) | 2020-02-14 |
EP3515076B1 (en) | 2021-11-10 |
US10779000B2 (en) | 2020-09-15 |
EP3515076A1 (en) | 2019-07-24 |
EP3515076A4 (en) | 2019-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107888928A (zh) | 运动补偿预测方法和设备 | |
CN107801039A (zh) | 运动补偿预测方法和设备 | |
CN107710761B (zh) | 图像预测方法和相关设备 | |
CN101068365B (zh) | 判定描述参考方块移动的移动向量的方法及其储存媒体 | |
CN108476322A (zh) | 用于球面图像和立方体图像的帧间预测的装置 | |
WO2016141609A1 (zh) | 图像预测方法和相关设备 | |
CN112005551B (zh) | 一种视频图像预测方法及装置 | |
CN109792517A (zh) | 用于编码和解码大视场视频的方法和装置 | |
US10506249B2 (en) | Segmentation-based parameterized motion models | |
KR102254986B1 (ko) | 구면 투영부들에 의한 왜곡을 보상하기 위한 등장방형 객체 데이터의 프로세싱 | |
WO2017201678A1 (zh) | 图像预测方法和相关设备 | |
CN107071440A (zh) | 使用先前帧残差的运动矢量预测 | |
CN109429064A (zh) | 一种处理视频数据的方法和装置 | |
CN109729352A (zh) | 确定仿射编码块的运动矢量的方法和装置 | |
CN107005709A (zh) | 对于任意形状的运动估计 | |
CN107231557A (zh) | 用于在视频编码中的高级帧内预测的递归块分区中的智能重排 | |
US20190182503A1 (en) | Method and image processing apparatus for video coding | |
WO2021008524A1 (zh) | 图像编码方法、解码方法、装置和存储介质 | |
WO2021008535A1 (zh) | 图像编码方法、解码方法、装置和存储介质 | |
CN107959855A (zh) | 运动补偿预测方法和设备 | |
US10225573B1 (en) | Video coding using parameterized motion models | |
US20230050660A1 (en) | Intra Prediction for Image and Video Compression | |
CN109151484B (zh) | 解码视频比特流的方法和装置 | |
CN104838419A (zh) | 使用较低分辨率流的视频编码 | |
WO2018041005A1 (zh) | 运动补偿预测方法和设备 |
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 |