视频编码方法、视频解码方法及相关装置与流程

文档序号:17152329发布日期:2019-03-19 23:33阅读:200来源:国知局
视频编码方法、视频解码方法及相关装置与流程

本发明涉及图像处理领域,并且更具体地,涉及一种视频编码方法及装置、视频解码方法及装置。



背景技术:

近年来,由于各种类型的便携式、手持式或者可穿戴设备的盛行,视频的内容量一直在增长。例如,虚拟现实或者增强现实可以集成到不同的头戴式设备(hmd)中。随着视频内容的形式变得越来越复杂,视频内容的存储和传输变得越来越具有挑战性。例如,需要减少视频存储和传输的带宽。



技术实现要素:

本发明实施例提供一种视频编码方法及装置、视频解码方法及装置。

第一方面,提供一种视频编码方法,包括:

将待解码图像中的一个待解码块划分成至少两个预测块,所述至少两个预测块分别位于所述待解码图像的至少两个分区内,其中所述待解码图像是曲面图像的至少部分映射到多面体表面上的多个多边形拼接形成的平面图像,所述待解码图像的至少两个分区分别对应于所述多面体表面上的至少两个多边形;

采用不同的参考块分别对所述至少两个预测块预测。

第二方面,提供一种视频编码方法,包括:

将待编码图像中的一个待编码块划分成至少两个预测块,所述至少两个预测块分别位于所述待编码图像的至少两个分区内,其中所述待编码图像是曲面图像的至少部分映射到多面体表面上的多个多边形拼接形成的平面图像,所述待编码图像的至少两个分区分别对应于所述多面体表面上的至少两个多边形;

采用不同的参考块分别对所述至少两个预测块预测。

第三方面,提供一种视频编码装置,包括:

至少一个存储器,用于存储计算机可执行指令;

至少一个处理器,单独或共同地用于:访问所述至少一个存储器,并执行所述计算机可执行指令,以实施以下操作:

将待解码图像中的一个待解码块划分成至少两个预测块,所述至少两个预测块分别位于所述待解码图像的至少两个分区内,其中所述待解码图像是曲面图像的至少部分映射到多面体表面上的多个多边形拼接形成的平面图像,所述待解码图像的至少两个分区分别对应于所述多面体表面上的至少两个多边形;

采用不同的参考块分别对所述至少两个预测块预测。

第四方面,提供一种器可读存储介质,适用于终端,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行处理第一方面所述的视频解码方法。

第五方面,提供一种视频解码装置,包括:

至少一个存储器,用于存储计算机可执行指令;

至少一个处理器,单独或共同地用于:访问所述至少一个存储器,并执行所述计算机可执行指令,以实施以下操作:

将待编码图像中的一个待编码块划分成至少两个预测块,所述至少两个预测块分别位于所述待编码图像的至少两个分区内,其中所述待编码图像是曲面图像的至少部分映射到多面体表面上的多个多边形拼接形成的平面图像,所述待编码图像的至少两个分区分别对应于所述多面体表面上的至少两个多边形;

采用不同的参考块分别对所述至少两个预测块预测。

第六方面,提供一种器可读存储介质,适用于终端,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行处理第一方面所述的视频编码方法。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为一个曲面视频的编码/压缩流程示意图;

图2中左图是球面图像与外切正八面体的映射示意图,右图是左图中的正八面体表面上的多个三角形合并成一个二维的矩形图像的一种实施例的示意图;

图3左图是球面图像与外切正二十面体的映射示意图,右图是将左图中的正二十面体表面上的多个三角形合并成一个二维的矩形图像的一种实施例的示意图;

图4a左图为一帧图像中的像素点的示意图,右图为划分模板的一个实施方式的示意图;

图4b左图为一帧图像中的像素点的示意图,右图为划分模板的另一个实施方式的示意图;

图5为一个实施例中的图像块的划分示意图;

图6为另一个实施例中的图像块的划分示意图;

图7为另一个实施例中的图像块的划分示意图;

图8为预测块的参考块的一个实施例的示意图;

图9为预测块的参考块的另一个实施例的示意图;

图10为本发明的视频编码方法的一个实施例的流程示意图;

图11为本发明的视频解码方法的一个实施例的流程示意图;

图12为本发明的视频编码装置的一个实施例的流程示意图;

图13为本发明的视频解码装置的一个实施例的流程示意图。

具体实施方式

在本文的各个实施例中,各装置或者系统能够减小存储和传输一个曲面视频所占用的带宽。在一些实施例中,该曲面视频可以是在任何平滑的表面(例如球面或者椭球面的至少部分)上投影的画面。一个曲面视频包括多帧曲面图像,其中该曲面图像中的内容包括在同一时刻不同方向上拍摄到的内容。因此,一个曲面视频能够覆盖一个较大的视场角。例如,一个球面视频(或者360度全景视频)包括多帧可以覆盖一个360度全景的视场角的球面图像。在一些实施例中,一个球面视频可以具有360度的水平视场角,以及180度的垂直视场角,通常以三维球面形式呈现。下文中,以球面视频为例来对曲面视频进行描述。本领域技术人员可以明显确定,曲面视频并不局限于球面视频。

图1为一个曲面视频的编码/压缩流程示意图。如图1所示,曲面视频的编码/压缩流程包括以下几个步骤:映射101、预测102、变换103、量化104和熵编码105。

在映射步骤101中,编码装置将三维的曲面视频映射成二维视频,以能够利用各种编码/压缩技术。编码装置可以采用二维矩形格式来存储和传输该曲面视频。另外,编码装置可以采用二维矩形格式来支持数字图像处理以及编解码操作。

曲面视频的映射方法有多种。例如,将曲面视频映射成二维视频。以球面视频为例,在一些实施方式中,球面视频中的球面图像可以基于经纬图投影(equirectangularprojection)的方法映射成二维图像。在经纬图投影的一些实施方式中,可以将球面上的各经线映射到二维平面上等间隔的多个垂直直线,并将各纬线映射到该二维平面上等间隔的多个水平直线。

在一些实施方式中,球面视频中的球面图像可以基于多面体投影的方法映射成二维图像。具体的,将球面的不同区域上的图像分别投影到该球面的外切多面体的表面的多个多边形上,再将该多个多边形上的二维图像合并成一个二维图像。在一个实施例中,投影的方法可以是从球心发出虚拟射线依次穿过球面上的一点和多面体表面上的一点,将球面上该点的像素信息投影到多面体表面的该点上。

其中,多面体可以是任意多面体。例如,多面体可以是六面体、八面体、二十面体或者其他等等。其中,该六面体可以是立方体、长方体、菱形六面体、平行六面体等等;该八面体可以是正八面体、六角柱、三角反棱柱等等;该二十面体可以是正二十面体、正九角反棱柱等等,在此不做限制。

将多面体上的多个多边形合并成一个二维图像的方法有多种。在一些实施方式中,将多面体表面上的多个多边形合并成一个二维的矩形。合并的方式也有多种,例如不同的合并方式中各多边形之间的位置关系不同;又例如,不同的合并方式中合并成的矩形的大小/形状不同。

如图2所示,图2中左图是球面图像与外切正八面体的映射示意图,右图是左图中的正八面体表面上的多个三角形合并成一个二维的矩形图像的一种实施例的示意图。图2所示的正八面体表面上的每个三角形和矩形图像中的每个三角形中都标示有对应的数字,用于指示矩形图像中的各三角形与正八面体表面上的各三角形之间的对应关系。其中,图2所示矩形图像中标号为3_1和3_2的两个直角三角形指的是正八面体中标号为3的三角形被切割成为标号为3_1和3_2的两个直角三角形;其他类似标号同理。可选的,矩形图像中部分共用一条边的两个三角形在正八面体表面上也是共用同一条边,以使得矩形图像中该两个三角形之间的图像内容存在连续,可以提高编码效率。图2中右图所示矩形只是正八面体上的多个三角形的合并方式的一个示例,还可以有其他合并成二维的矩形图像的方式,例如可以改变图2右图中各三角形之间的位置关系,或者改变矩形图像的长度和宽度,在此不做限制。

如图3所示,图3左图是球面图像与外切正二十面体的映射示意图,右图是将左图中的正二十面体表面上的多个三角形合并成一个二维的矩形图像的一种实施例的示意图。图3所示的正二十面体和矩形图像中的每个三角形都标示有对应的数字,以指示矩形图像中的各三角形与正八面体表面上的各三角形之间的对应关系。其中,图3所示矩形图像中标号为3_1和3_2的两个直角三角形指的是正二十面体中标号为3的三角形被切割成为标号为3_1和3_2的两个直角三角形;其他类似标号同理。可选的,图3左图所示矩形图像中部分共用一条边的两个三角形在右图所示的正八面体表面上也是共用同一条边,以使得矩形图像中该两个三角形之间的图像内容存在连续,可以提高编码效率。图3右图所示矩形只是正八面体上的多个三角形的合并方式的一个示例,还可以有其他合并成矩形的方式,例如可以改变图3右图中各三角形之间的位置关系,或者改变矩形图像的长度和宽度,在此不做限制。

除了如上所述的经纬图投影和多面体投影之外,还可以利用其他投影机制来将球面视频映射成二维视频。所映射成的二维视频可以是矩形视频,也可以是其他形状(例如圆形、椭圆形、正多边形)的视频。在一些实施方式中,曲面视频也可以不是球面视频,而是其他三维曲面视频,例如球面上的一部曲面视频(如半球面视频)、椭球面视频、椭球面上的一部分曲面(如半椭球面视频)、其他规则的或不规则的三维曲面视频。将球面视频映射成二维视频的方法也可以适用于非球面视频的三维曲面视频映射成二维视频中。基于一些常用的视频编解码器标准,例如hevc/h.265,h.264/avc,avsl-p2,avs2-p2,vp8,vp9,可以对二维视频进行压缩,编码和解码。

在一些实施方式中,编码装置还可以将用于指示映射方法的映射信息写入码流中。例如,该映射信息可以写入以下至少一项中:序列头(sequenceheader)、图像头(pictureheader)、条带头(sliceheader)、视频参数集(vps,videoparameterset)、序列参数集(sps,sequenceparameterset)、图像参数集(pps,pictureparameterset)、sei(附加增强信息,supplementalenhancementinformation)、扩展数据(extensiondata)。

为描述方便,下文中称映射后的二维图像中包括多个分区,其中每个分区对应于多面体表面上的一个多边形,例如,图2和图3右图中的矩形图像中每个三角形内的图像作为一个分区。需注意的是,多面体上的多个多边形合并成一个二维的矩形时,可能会对多面体上的部分多边形进行分割,将一个多边形分割成至少两个多边形。例如图2左图中的三角形7在右图的矩形中被分割成了两个三角形(三角形71和三角形72);图3左图中的三角形4在右图的矩形中被分割成了两个三角形(三角形41和三角形42)。在这种多面体上的一个多边形对应二维图像中的至少两个多边形的情形中,二维图像中的该至少两个多边形中每个多边形内的图像分别作为一个分区。例如图2右图的矩形图形中三角形71为一个分区,三角形72作为另一个分区。

在一些实施方式中,映射后的二维图像中的至少一个分区的形状可以是规则的和/或不规则的。在一些实施方式中,二维图像中的至少一个分区的形状可以包括矩形、三角形、菱形、圆形、五边形、六边形或者其他形状。其中,该三角形可以包括正三角形、直角三角形、等腰三角形中的至少一种。

预测步骤102用于减少图像中的冗余信息。预测块指的是进行预测的基本单元,在一些标准中,该预测块也称为预测单元(predictionunit,pu)。在对一帧图像进行编码/压缩之前,图像被分成多个图像块,进一步的,该多个图像块中的每一个图像块可以再次被分成多个图像块,以此类推。不同的编码方法中,分割的层级数量可以不同,所承担的操作方法也不同。不同的编码标准中,对同一层级上的图像块的名称可能不同。例如,在一些视频标准中,一帧图像第一次被分割成的多个图像块中的每个图像块称为编码树单元(codingtreeunit,ctu);每个编码树单元可以包含一个编码单元(codingunit,cu)或者再次分割成多个编码单元;一个编码单元可以根据预测方式分割成一个、两个、四个或者其他数量的预测单元。在一些视频标准中,该编码树单元也被称为最大编码单元(largestcodingunit,lcu)。在现有的一些视频标准中,预测单元是图像中最小的单元,预测单元不会继续被划分成多个图像块。

预测指的是查找与该预测块相似的图像数据,也称为该预测块的参考块。通过对该预测块和该预测块的参考块之间的差异进行编码/压缩,以减少编码/压缩中的冗余信息。其中,预测块与参考块的差异可以是由该预测块与该参考块的相应像素值相减得到的残差。预测包括帧内预测和帧间预测。帧内预测指的是在预测块所在帧内查找该预测块的参考块,帧间预测指的是在除预测块所在帧以外的其他帧内查找该预测块的参考块。

变换步骤103可以进一步减少图像块中的冗余信息。在变换步骤103中,预测块与该预测块的参考块之间的残差可以使用变换矩阵去除该残差的相关性,提高编码效率。预测块的变换通常采用二维变换,即在编码装置中将预测块块的残差信息分别与一个n*m的变换矩阵及其转置矩阵相乘,相乘之后得到的是变换系数。该变换系数可以在量化步骤104中经量化得到量化后的系数。熵编码步骤105中将量化后的系数进行熵编码。最后将熵编码得到的比特流及进行编码后的编码模式信息,如帧内预测模式、运动矢量信息等,进行存储或发送到解码装置。

解码装置接收到数据后,执行和编码装置中的编码/压缩流程相反的流程,例如依次执行以下步骤:熵解码、反量化、反变换、预测、映射。其中,在预测步骤中,解码装置可以采用和上文描述的预测方法相同的方法进行预测。在映射步骤中,解码装置采用和上面描述的映射方法相反的方法进行映射,也即编码装置中是将曲面图像映射到多面体的表面上后,将多面体表面上的多个多边形合并成一个二维平面图像,而解码装置中是将二维平面图像映射到曲面图像上,在一个实施例中,解码装置可以先将二维平面图像中的多个分区拆分后拼凑成一个多面体的至少部分,再将该多面体的至少部分上的图像映射到曲面上,形成曲面图像。

在映射步骤和预测步骤中,编码装置和解码装置可以采用相同的方法,下面以解码装置为例,对编码装置和解码装置中可以共用的一些方法进行说明。除非有额外的说明,下文描述中的用于解码装置中的方法也可以用于编码装置中。

在解码装置中,有多种方法来指示映射后的二维视频中的各分区的交界。在一些实现方式中,二维视频中的每一帧图像均采用同一个映射方法。解码装置可以根据该映射方法确定一个划分模板。该划分模板包括与图像中的各像素点一一对应的示意点,其中,对于分别位于图像中相邻的、具有交界的两个分区中的两个像素点,对应该两个像素点的两个示意点的值不同,以指示该两个示意点对应的像素点位于不同分区内。可选的,对应同一个分区内的像素点的示意点的值可以全部相同,以简化划分模板。或者,对应同一个分区内的像素点的示意点的值也可以部分相同部分不同,也可以全部不同,在此不做限制。

例如,如图4a所示,图4a左图为一帧图像中的像素点的示意图,右图为划分模板的一个实施方式的示意图。图像41中的各像素点和划分模板42中的各示意点一一对应,每个示意点用于指示与其对应的像素点所在的分区。该划分模板42为一个二值图像,图中分区3_1、分区4、分区6、分区3_2、分区1中的所有示意点的值相同,分区7_1、分区5、分区7_2、分区2、分区0中的示意点的值相同。其中,分区3_1、分区4、分区6、分区3_2、分区1中的所有示意点在图中表示为黑色点,分区7_1、分区5、分区7_2、分区2、分区0中的所有示意点在图中表示为白色点。在一个实施例中,白色的示意点的值均为0和1中的其中一个,黑色的示意点的值均为0和1中的另外一个。

在一些实施方式中,划分模板包括与图像中的各像素块一一对应的示意点,其中,对于分别位于图像中相邻的、具有交界的两个分区中的两个像素块,对应该两个像素块的两个示意点的值不同;这样可以减小划分模板的数据量。其中,像素块的大小可以是像素块所包含的像素点的数量。例如,划分模板中的每个示意点对应图像中的一个4*4的像素块。各示意点分别对应的像素块的大小可以全部相同,也可以至少部分不同。例如,全部位于分区内的像素块大于位于分区间的交界上的像素块。

在各像素点分别对应的像素块的大小至少部分不同的实施例中,可选的,编码装置还生成图像的划分模板的指示信息,该指示信息用于指示每个示意点对应的像素块的大小。解码装置可以从编码数据中获取待解码图像的划分模板的指示信息,并基于该划分模板和划分模板的指示信息确定待解码图像中的至少一个交界。

在一些实施方式中,解码装置可以根据映射方法确定图像的划分函数。具体的,以图像的宽和长分别作为一个xoy坐标系的x轴和y轴,图像中各分区的交界为该坐标系中为一个个线段,划分函数指的是该个个交界在该坐标系中的函数。例如,图像中的一个交界为直线段,那么该直线段在该坐标系中的函数为f(x)=a*x+b。

在一些实施方式中,二维视频中存在两帧图像分别采用不同的映射方法。解码装置可以针对每一种映射方法确定一个对应的划分模板或者划分公式。

在上述映射步骤101中,三维曲面视频映射成二维视频时,会出现二维视频中两个相邻分区内容不连续的情况。例如,如图2左图所示的球面图像中,三角形7和三角形4分别在球面图像上的映射区域不相邻,三角形5和三角形6分别在球面图像上的映射区域不相邻,三角形3和三角形0分别在球面图像上的映射区域不相邻,三角形1和2分别在球面图像上的映射区域不相邻;因此,在图2右图所示的矩形图像中,分区7_1和分区4之间、分区3_1和分区0之间、分区5和分区6之间、分区1和分区2之间的图像内容均不连续。为描述方便,下文中称平面图像中相邻的、内容不连续的两个分区的交界为特定交界,其中,该相邻的、内容不连续的两个分区指的是分别在曲面图形上的映射区域不相邻、但在平面图像上相邻且具有交界的两个分区。

在采用划分模板的一些实施例中,对于分别位于图像中相邻的、具有特定交界的两个分区中的两个像素点,对应该两个像素点的两个示意点的值不同,以指示该两个示意点对应的像素点分别位于图像内容不连续的两个不同分区内;而对于分别位于图像内容连续的两个相邻分区中的两个像素点,对应该两个像素点的两个示意点的值相同。

如图4b所示,图4b左图为一帧图像中的像素点的示意图,右图为划分模板的一个实施方式的示意图。例如,根据图2对应的描述内容可知,图4b中分区7_1和分区4的图像内容不连续,分区3_1和分区0的图像内容不连续,分区5和分区6的图像内容不连续、分区1和分区2的图像内容不连续。因此,分区7_1和分区4的交界、分区3_1和分区0的交界、分区5和分区6的交界、分区1和分区2的交界均为特定交界。而分区4和分区5的图像内容连续,分区0和分区1的图像内容连续,分区6和分区7_2的图像内容连续,分区2和分区3_2的图像内容连续。因此,分区4和分区5的示意点的值相同,且与分区7_1的示意点的值不同。分区0和分区1的示意点的值相同,且与分区3_1的示意点的值不同。分区6和分区7_2的示意点的值相同,且和分区5的示意点的值不同。分区2和分区3_2的示意点的值相同,且和分区1的示意点的值不同。

进一步,可选的,分区7_1和分区3_1的值相同,分区4、分区5、分区0和分区1的示意点的值相同,分区6、分区7_2、分区3_2和分区2的示意点的值相同。在划分模板为二值图像的实施例中,分区7_1和分区3_1的示意点的值,和分区6、分区7_2、分区3_2分区2的示意点的值均相同,且与分区4、分区5、分区0、分区1的示意点的值不同。这样可以进一步减少存储划分模板所需的内存大小。举例来说,分区7_1和分区3_1的示意点的值均为0,分区4、分区5、分区0和分区1的示意点的值均为1,分区6、分区7_2、分区3_2和分区2的示意点的值均为0。

在对待编码图像中的一个待编码块进行编码/压缩时,该待编码块被分为至少一个预测块,通过分别查找该至少一个预测块的参考块,并分别对该至少一个预测块和对应的参考块之间的差异进行编码/压缩,以减少编码/压缩中的冗余信息。其中,预测块与参考块的差异可以是由该预测块与该参考块的相应像素值相减得到的残差。因此,查找到的参考块与预测块的差异越小,减少的冗余信息越多,对该预测块编码/压缩后的数据量越小。然而,现有技术中的预测块的形状为矩形的,编解码时会出现部分预测块横跨两个图像内容不连续的分区之间的交界的现象。因此该部分预测块中分别位于该交界两侧的图像内容不连续,导致查找到的参考块与该预测块的内容差异较大。

在本发明提供的实施方式中,当一个图像块横跨两个图像内容不连续的分区之间的交界时,对该图像块块进一步划分为至少两个预测块,并采用不同的参考块分别对至少两个预测块进行预测。这样可以使得预测块和对应的参考块之间的内容差异较小,提高预测效率和编解码质量。

在一些实施方式中,划分后的预测块的数量可以取决于图像块所位于的分区的数量。例如,该图像块位于待解码图像中的三个分区上,则将该图像块划分成三个预测块,该三个预测块分别位于该三个分区上。如图5所示,图5为一个实施例中的图像块的划分示意图。图像块51位于分区7_1、分区4和分区5上,将该图像块划分为三个分区:预测块511、预测块512和预测块513。

在一些实施方式中,划分后的预测块的数量可以取决于图像块所位于的分区是否包括具有交界且内容不连续的两个分区。例如,当图像块所跨过的特定交界的数量为1个,图像块可以划分为分别位于该特定交界两侧的两个预测块。如图6所示,图6为另一个实施例中的图像块的划分示意图。图像块61位于分区4和分区5上,图像块62位于分区1和分区2上。分区4和分区5的图像内容连续,分区1和分区2的图像内容不连续,那么图像块61作为一个预测块进行预测,图像块62被分区1和分区2的交界划分为预测块621和预测块622进行预测。又例如,当图像块所跨过的特定交界的数量为至少2个且各特定交界首尾相接,图像块可以划分为两个预测块,该两个预测块分别位于该首尾相接的特定交界两侧。如图7所示,图7为另一个实施例中的图像块的划分示意图。图像块71位于分区1、分区5、分区6、分区7_2、分区3_2和分区2上,一共跨过6条交界,其中有两条交界为特定交界,且该两条交界首尾相接,该相接的两条交界将图像块71划分为预测块711和预测块712。

在一些视频标准中,一个解码单元(cu)被分割成一个或至少两个预测单元,这些预测单元不会被进一步划分,每一个预测单元采用一个参考块预测。在本发明提供的一些实施方式中,解码单元被分割成一个或至少两个预测单元之后,当该一个或至少两个预测单元中的预测单元跨过交界或者跨过特定交界时,还将该预测单元进一步划分为至少两个预测块,且每个预测块采用不同的参考块进行预测。这样可以使得预测块的边界和参考块的边界相吻合,提高预测效率和解码质量。

确定图像块所位于的分区的数量的方法有多种。在一些实施方式中,解码装置存有划分模板,解码装置可以依次检测图像块中各像素点在划分模板中对应的示意点,根据各像素点对应的示意点确定该图像块中的各像素点是否位于同一个分区内。在一些实施方式中,只需要判断图像块的四个顶点上的像素点中至少两个顶点上(例如其中的两个顶点或者三个顶点上)的像素点是否位于同一个分区内。当图像块的四个顶点中至少两个顶点(例如位于对角上的两个顶点或者相邻的两个顶点)上的像素点不是位于同一分区内时,确定该图像块位于至少两个分区内。这样不需要将图像块中的所有像素点与划分模板中的示意点逐点对比,降低复杂度。进一步的,可以还判断图像块所位于的至少两个分区是否包括具有交界的、内容不连续的两个分区。

具体的,采用图4a所示的划分模板时,当图像块的四个顶点上的像素点中至少两个顶点上的像素点对应的示意点的值不同时,确定该图像块中的各像素点位于至少两个分区内。采用图4b所示的划分模板时,当图像块的四个顶点上的像素点中至少两个顶点上的像素点对应的示意点的值不同时,确定该图像块中的各像素点位于至少两个内容不连续的分区内。

在一些实施方式中,解码装置存有划分函数,解码装置可以依据该划分函数确定图像中各分区的交界的位置,再根据图像块中各像素点(或者四个顶点上的像素点)在图像中的位置,确定图像块所位于的分区的数量。

在一些实施方式中,当图像块位于至少两个分区上时,或者,当图像块位于至少两个分区,且该至少两个分区包括具有交界、内容不连续的两个分内时,可选的,当该图像块还满足一些特定条件时,编码装置才将该图像块分为至少两个预测块。

该特定条件可以有多种,例如,该特定条件包括:该图像块的第一编码性能小于第二编码性能,其中,该第一编码性能为对该图像块不进行划分的情况下该图像块的编码性能,所述第二编码性能为将该图像块划分成至少两个预测块的情况下该图像块的编码性能。其中,编码性能可以基于率失真优化值(rdocost,rate-distortionoptimizationcost)确定。又例如,该特定条件包括:该图像块所预计分成的至少两个预测块中任意两个预测块之间的纹理差异大于第一阈值。其中,预测块的纹理可通过sobel算子等算法确定。又例如,该特定条件包括:该图像块所预计分成的至少两个预测块中任意一个预测块与该图像块的像素点数量之比大于第二阈值。在视频编解码技术中,对图像块的灵活划分方法可以提高编码效率。

在视频编解码技术中,不同情况下图像块的编码质量会有差异。例如,图像块位于交界两侧的图像内容差异性较大时,一般将该图像块沿着交界进行划分然后分别预测可以取得较好的编码质量;图像块位于交界两侧的图像内容差异性较小时,不对图像块进行划分往往能取得更好的编码质量。通过以上特定条件,可以提高图像块的划分方式的灵活性,继而提高编码效率。

在一些实施方式中,编码装置还生成该图像块的标志位,该标志位用于指示该图像块是否被划分为至少两个预测块。解码装置在对待解码块进行解码中,还获取该待解码块的标志位;当该标志位指示该待解码块需要划分时,将待解码块划分成至少两个预测块。可选的,当所述标志位指示所述待解码块不需要划分时,采用一个参考块对所述待解码块进行预测。

可选的,编码装置中该标志位还用于指示该图像块划分预测块的方式。解码装置根据待解码块的标志位所指示的方式对该待解码块进行划分。或者,标志位不需指示待编码块/待解码块的划分方式,编码装置和解码装置分别采用预置规则来对待编码块和带解码块进行划分。

解码装置将位于至少两个分区内的图像块划分成至少两个预测块之后,解码装置分别获取该至少两个预测块的参考块。获取预测块的参考块的方法有多种。在一些实施方式中,解码装置以预测块的大小获取该预测块的参考块。在一些实施方式中,预测块的形状非矩形,解码装置以预测块的外接规则图形的大小查找该预测块的参考数据,再从该参考数据中截取出该预测块的参考块。其中,预测块的外接规则图形可以是该预测块的外接矩形(例如该预测块的最小外接矩形),或者可以是该预测块的外接圆形(例如该预测块的最小外接圆形)。

例如,如图8所示,图8为预测块的参考块的一个实施例的示意图。一个图像块为矩形,该图像块被划分为两个形状为五边形的预测块711和712,解码装置分别以该两个预测块的最小外接矩形的大小查找该两个预测块的参考数据811和812,从参考数据811中截取出形状大小和预测块711一样的参考块813,从参考数据812中截取出形状大小和预测块712一样的参考块814。图中参考数据811和参考数据812位于同一个参考图像中,可选的,该两个参考数据也可以不是位于同一参考图像中,在此不做限制。

例如,如图9所示,图9为预测块的参考块的另一个实施例的示意图。一个图像块为矩形,该图像块被划分为两个形状为五边形的预测块711和712,解码装置分别以该图像块的大小查找该两个预测块的参考数据911和912,从参考数据911中截取出形状大小和预测块711一样的参考块913,从参考数据912中截取出形状大小和预测块712一样的参考块814。图中参考数据911和参考数据912位于同一个参考图像中,可选的,该两个参考数据也可以不是位于同一参考图像中,在此不做限制。

上面各实施方式中描述了将待解码块划分成至少两个预测块来分别进行预测的情况。在一些实施方式中,在将待解码块划分成至少两个预测块之前,先基于曲面图像到所述多面体的映射方式确定待解码图像的分区的划分方式,在根据待解码图像的分区的划分方式确定该待解码块位于至少两个分区内之后,将所述待解码块划分成至少两个预测块。

在一些实施方式中,根据所述待解码图像的分区的划分方式确定所述待解码图像中的一个待解码块不需要划分时,采用一个参考块对所述待解码块进行预测。其中,确定待解码块不需要划分的方式有多种,例如,当所述待解码块位于一个分区内,或者待解码块位于图像内容连续的至少两个分区内时,确定所述待解码块不需要划分。

参阅图10,图10为本发明的视频编码方法的一个实施例的流程示意图。视频编码方法100包括:

101、将待编码图像中的一个待编码块划分成至少两个预测块,该至少两个预测块分别位于该待编码图像的至少两个分区内。

其中,待编码图像是曲面图像的至少部分映射到多面体表面上的多个多边形拼接形成的平面图像。例如,待编码图像是球面图像、半椭球面图像或者其他三维封闭曲面映射到多面体表面上所有多边形后该所有多边形拼接形成的平面图像。又例如,待编码图像是球面图像、半椭球面图像或者其他三维封闭曲面的部分映射到多面体表面上部分多边形后该多边形拼接形成的平面图像。又例如,待编码图像是球面上的部分曲面图像(例如半球面图像)、椭球面上的部分曲面图像(例如半椭球面图像)或者其他开放曲面映射到多面体表面上的至少部分多边形后各多边形拼接形成的平面图像。

其中,待编码图像的至少两个分区分别对应于多面体表面上的至少两个多边形。具体的,待编码图像上的每一个分区对应着多面体表面上的一个多边形。在一些实施方式中,待编码图像上的至少两个分区对应多面体表面上的同一个多边形中的不同区域。

其中,一个待编码块被划分成的至少两个预测块分别位于该待编码图像的至少两个分区内,包括以下几种情形:1、不同的预测块分别位于不同的分区内;2、存在两个预测块位于同一个分区内;3、存在一个预测块位于至少两个分区内。

举例来说,待编码图像中包括第一分区和第二分区,该第一分区和第二分区分别在曲面图像上的映射区域可以是相邻的,也即该两个分区分别在曲面图像上的映射区域是具有交界的;或者,该第一分区和第二分区分别在曲面图像上的映射区域也可以是不具有交界的,在此不做限制。当待编码块跨过第一分区和第二分区的交界时,基于该交界将该待编码块划分成至少两个预测块。

其中,待编码块可以指的是一些视频标准中的编码单元,也可以指的是一些视频标准中的预测单元,在此不做限制。

在一些实施方式中,待编码块中的至少一个分区具有非矩形的形状,至少两个预测块中的至少一个预测块非矩形。

102、采用不同的参考块分别对所述至少两个预测块预测。

将待编码块划分成至少两个预测块之后,对于每一个预测块,分别获取该预测块的参考块,采用该参考块对该预测块进行预测。举例来说,待编码块所划分成的至少两个预测块中包括第一预测块和第二预测块,获取第一参考块和第二参考块,第一参考块用于对第一预测块预测,第二参考块用于对第二预测块预测。

在一些实施方式中,在步骤101之前,编码装置还基于曲面图像到多面体的映射方式确定待编码图像中的至少一个交界,该交界为待编码图像中不同分区的交界;在步骤101中,还基于该待编码图像的至少一个交界将该待编码块划分成至少两个预测块。例如,基于位于待编码块内的至少一个交界将该待编码块划分成至少两个预测块。在一些实施方式中,基于待编码图像内的至少一个特定交界将该待编码块划分成至少两个预测块。例如,基于位于待编码块内的至少一个特定交界将待编码块划分成至少两个预测块。具体举例来说,将待编码块划分成至少两个预测块,其中,该至少两个预测块中任意两个相邻的预测块的交界为特定交界。

编码装置基于曲面图像到多面体的映射方式确定所述待编码图像中的至少一个交界的方法有多种。

在一些实施方式中,编码装置基于曲面图像到多面体的映射方式确定待编码图像的划分模板,该划分模板包括与待编码图像中的各像素点一一对应或者与待编码图像中的各像素块一一对应的示意点;基于该划分模板确定待编码图像中的至少一个交界。在一些实施方式中,该划分模板为二值图像。例如,该划分模板为包括0和1的图像,或者包括其他两个不同数值或不同字符的图像。

划分模板包括与待编码图像中的各像素块一一对应的示意点的实施例中,可选的,划分模板中至少部分示意点分别对应的待编码图像中的像素块的大小不同。可选的,编码装置还生成待编码图像的划分模板的指示信息,该指示信息用于指示每个示意点对应的像素块的大小。编码装置基于该待编码图像的划分模板以及划分模板的指示信息确定待编码图像中的至少一个交界。

在一些实施方式中,编码装置基于曲面图像到多面体的映射方式确定待编码图像的划分函数,该划分函数用于指示待编码图像中的至少一个交界在待编码图像中的位置。

在一些实施方式中,基于所述曲面图像到多面体的映射方式确定待编码图像中的至少一个交界的步骤,是在对待编码图像编码之前执行的。

在一些实施方式中,编码装置在确定待编码块的至少部分顶点上的像素点分别位于不同分区内时,将该待编码块划分成至少两个预测块。

在一些实施方式中,编码装置还生成待编码块的标志位,该标志位用于指示待编码块被划分成至少两个预测块。

在一些实施方式中,编码装置在采用不同的参考块分别对所述至少两个预测块预测之前,还分别获取该至少两个预测块的参考数据;并从每一个预测块的参考数据中获取该预测块的参考块。可选的,参考数据与待编码块的形状和/或大小相同;或者,参考数据与预测块的最小外接矩形的形状和/或大小相同。可选的,参考块的与预测块的形状和/或大小相同。

在一些实施方式中,多面体为正八面体或者正二十面体。

在一些实施方式中,至少两个分区中的至少一个分区呈三角形或者菱形。可选的,至少一个分区呈正三角形或者直角三角形。

在一些实施方式中,待编码块呈规则形状,待编码块被划分成的各个预测块呈规则形状或者不规则形状。

在一些实施方式中,待编码块被划分成的至少两个预测块中的每个预测块分别位于一个分区内。

在一些实施方式中,待编码块被划分成的至少两个预测块中的一个预测块位于至少两个分区内。

在一些实施方式中,编码装置还预测第一编码性能和第二编码性能,其中,第一编码性能为对待编码块不进行划分的情况下待编码块的编码性能,第二编码性能为将待编码块划分成至少两个预测块的情况下待编码块的编码性能;当第一编码性能小于第二编码性能时,执行将所述待编码块划分成至少两个预测块的步骤。

在一些实施方式中,曲面图像为全景视频中的一帧图像。

下面结合一个具体例子对本发明中的视频编码方法进行举例说明。

编码装置中预置有球面视频到二维平面的映射方法。编码装置在对一个球面视频编码时,将该映射方法写入该球面视频的码流中。编码装置还根据该映射方法生成二维平面视频的划分模板,该划分模板包括多个示意点的二值图像,这些示意点的取值只有0和1。划分模板中的每一个示意点用于指示平面视频中的平面图像中对应的n*n(例如4*4)的像素块所位于的分区。该划分模板还用于指示哪些相邻的、具有交界的两个分区是内容不连续的分区。该划分模板的具体信息可以参考图4a或者图4b的描述,在此不再赘述。

对二维平面视频中的一个平面图像,编码装置将该平面图像划分成多个图像块。对其中的一个图像块,编码装置将其划分成至少一个矩形的编码单元。对其中的一个编码单元,编码装置将其划分成至少一个矩形的预测单元。对其中的一个预测单元,编码装置确定该预测单元的四个顶点在该图像中的坐标分别为(xtl,ytl),(xtr,ytr),(xbl,ybl),(xbr,ybr),并根据该该四个顶点的坐标,确定划分模板中(xtl/n,ytl/n),(xtr/n,ytr/n),(xbl/n,ybl/n),(xbr/n,ybr/n)该四个数值对应的四个示意点是否位于同一分区中。当该四个数值对应的四个示意点中存在至少两个示意点的数值不同时,编码装置还计算基于该两个分区的交界(也即特定交界)将该预测单元划分成两个预测块pred0和pred1来分别预测时,该预测单元的编码性能为第一编码性能,并计算采用一个参考块对该预测单元进行预测时该预测单元的编码性能为第二编码性能。当第一编码性能大于第二编码性能时,编码装置将该预测单元划分为两个预测块pred0和pred1。

编码单元中的各预测单元,若预测单元没有进一步划分成至少两个预测块,该预测单元具有自己的一组运动矢量,编码装置根据该运动矢量获得该预测单元的参考块。若预测单元被进一步划分为至少两个预测块,每一个预测块具有自己的一组运动矢量,编码装置分别根据该预测块的运动矢量获取该预测块的参考块。

在获取该预测块pred0和pred1的参考块时,分别根据预测块pred0和predl的运动矢量以该两个预测块所在的预测单元的尺寸m*m获取大小均为m*m的参考数据ref0和refl数组。预测块pred0在划分模板中对应的示意点的数值为0,predl对应的示意点数值为1。那么预测块pred0实际预测所用的参考块actualref0的求取方法如下:

actualref0(y,x)=pred0(y,x)&(1-mask(y/n,x/n)),y=0…m,x=0…m。

预测块pred1实际预测所用的参考块actualrefl的求取方法如下:

actualrefl(y,x)=pred0(y,x)&mask(y/n,x/n),y=0…m,x=0…m。

采用参考块actualref0对预测块pred0预测,以及采用参考块actualref1对预测块predl预测。

参阅图11,图11为本发明的视频解码方法的一个实施例的流程示意图。视频解码方法200包括:

201、将待解码图像中的一个待解码块划分成至少两个预测块,所述至少两个预测块分别位于所述待解码图像的至少两个分区内。

其中,待解码图像是曲面图像的至少部分映射到多面体表面上的多个多边形拼接形成的平面图像。例如,待解码图像是球面图像、半椭球面图像或者其他三维封闭曲面映射到多面体表面上所有多边形后该所有多边形拼接形成的平面图像。又例如,待解码图像是球面图像、半椭球面图像或者其他三维封闭曲面的部分映射到多面体表面上部分多边形后该多边形拼接形成的平面图像。又例如,待解码图像是球面上的部分曲面图像(例如半球面图像)、椭球面上的部分曲面图像(例如半椭球面图像)或者其他开放曲面映射到多面体表面上的至少一个多边形后各多边形拼接形成的平面图像。

其中,待解码图像的至少两个分区分别对应于多面体表面上的至少两个多边形。具体的,待解码图像上的每一个分区对应着多面体表面上的一个多边形。在一些实施方式中,待解码图像上的至少两个分区对应多面体表面上的同一个多边形中的不同区域。

其中,一个待解码块被划分成的至少两个预测块分别位于该待解码图像的至少两个分区内,包括以下几种情形:1、不同的预测块分别位于不同的分区内;2、存在两个预测块位于同一个分区内;3、存在一个预测块位于至少两个分区内。

举例来说,待解码图像中包括第一分区和第二分区,该第一分区和第二分区分别在曲面图像上的映射区域是具有交界的;或者,该第一分区和第二分区分别在曲面图像上的映射区域也可以是不具有交界的,在此不做限制。当待解码块跨过第一分区和第二分区的交界时,基于该交界将该待解码块划分成至少两个预测块。

其中,待解码块可以指的是一些视频标准中的编码单元,也可以指的是一些视频标准中的预测单元,在此不做限制。

在一些实施方式中,待解码块中的至少一个分区具有非矩形的形状,至少两个预测块中的至少一个预测块非矩形。

202、采用不同的参考块分别对所述至少两个预测块预测。

将待解码块划分成至少两个预测块之后,对于每一个预测块,分别获取该预测块的参考块,采用该参考块对该预测块进行预测。举例来说,待解码块所划分成的至少两个预测块中包括第一预测块和第二预测块,获取第一参考块和第二参考块,第一参考块用于对第一预测块预测,第二参考块用于对第二预测块预测。

在一些实施方式中,在步骤201之前,解码装置还基于曲面图像到多面体的映射方式确定待解码图像中的至少一个交界,该交界为待解码图像中不同分区的交界;在步骤201中,还基于该待解码图像的至少一个交界将该待解码块划分成至少两个预测块。例如,基于位于待解码块内的至少一个交界将该待解码块划分成至少两个预测块。在一些实施方式中,基于待解码图像内的至少一个特定交界将该待解码块划分成至少两个预测块。例如,基于位于待解码块内的至少一个特定交界将待解码块划分成至少两个预测块。具体举例来说,将待解码块划分成至少两个预测块,其中,该至少两个预测块中任意两个相邻的预测块的交界为特定交界。

解码装置基于曲面图像到多面体的映射方式确定所述待解码图像中的至少一个交界的方法有多种。

在一些实施方式中,解码装置基于曲面图像到多面体的映射方式确定待解码图像的划分模板,该划分模板包括与待解码图像中的各像素点一一对应或者与待解码图像中的各像素块一一对应的示意点;基于该划分模板确定待解码图像中的至少一个交界。在一些实施方式中,该划分模板为二值图像。例如,该划分模板为包括0和1的图像,或者包括其他两个不同数值或不同字符的图像。

划分模板包括与待解码图像中的各像素块一一对应的示意点的实施例中,可选的,划分模板中至少部分示意点分别对应的待解码图像中的像素块的大小不同。可选的,解码装置还获取待解码图像的划分模板的指示信息,该指示信息用于指示每个示意点对应的像素块的大小;基于待解码图像的划分模板以及划分模板的指示信息确定待解码图像中的至少一个交界。

在一些实施方式中,解码装置基于曲面图像到多面体的映射方式确定待解码图像的划分函数,该划分函数用于指示待解码图像中的至少一个交界在待解码图像中的位置。

在一些实施方式中,基于所述曲面图像到多面体的映射方式确定待解码图像中的至少一个交界的步骤,是在对待解码图像解码之前执行的。

在一些实施方式中,解码装置在确定待解码块的至少部分顶点上的像素点分别位于不同分区内时,将该待解码块划分成至少两个预测块。

在一些实施方式中,解码装置还获取待解码块的标志位,该标志位用于指示待解码块是否需要划分;当标志位指示待解码块需要划分时,将待解码块划分成至少两个预测块。

在一些实施方式中,解码装置在采用不同的参考块分别对所述至少两个预测块预测之前,还分别获取该至少两个预测块的参考数据;并从每一个预测块的参考数据中获取该预测块的参考块。可选的,参考数据与待解码块的形状和/或大小相同;或者,参考数据与预测块的最小外接矩形的形状和/或大小相同。可选的,参考块的与预测块的形状和/或大小相同。

在一些实施方式中,多面体为正八面体或者正二十面体。

在一些实施方式中,至少两个分区中的至少一个分区呈三角形或者菱形。可选的,至少一个分区呈正三角形或者直角三角形。

在一些实施方式中,待解码块呈规则形状,待解码块被划分成的各个预测块呈规则形状或者不规则形状。

在一些实施方式中,待解码块被划分成的至少两个预测块中的每个预测块分别位于一个分区内。

在一些实施方式中,待解码块被划分成的至少两个预测块中的一个预测块位于至少两个分区内。

在一些实施方式中,解码装置将待解码图像中的一个待解码块划分成至少两个预测块之前,解码装置还基于所述曲面图像到所述多面体的映射方式确定所述待解码图像的分区的划分方式,根据所述待解码图像的分区的划分方式确定所述待解码块位于所述至少两个分区内之后,将所述待解码块划分成至少两个预测块。

在一些实施方式中,解码装置还根据所述待解码图像的分区的划分方式确定所述待解码图像中的一个待解码块不需要划分时,采用一个参考块对所述待解码块进行预测。

在一些实施方式中,当所述待解码块位于一个分区内,或者位于图像内容连续的至少两个分区内时,解码装置确定所述待解码块不需要划分。

在一些实施方式中,曲面图像为全景视频中的一帧图像。

下面结合一个具体例子对本发明中的视频解码方法进行举例说明。

解码装置从码流中获取球面视频到二维平面的映射方法,并根据该映射方法生成球面视频的划分模板,该划分模板包括多个示意点的二值图像,这些示意点的取值只有0和1。划分模板中的每一个示意点用于指示球面视频中的球面图像中对应的n*n(例如4*4)的像素块所位于的分区。该划分模板还用于指示哪些相邻的、具有交界的两个分区是内容不连续的分区。该划分模板的具体信息可以参考图4a或者图4b的描述,在此不再赘述。

对二维平面视频中的一个平面图像,解码装置将该平面图像划分成多个图像块。对其中的一个图像块,解码装置将其划分成至少一个矩形的解码单元。对其中的一个解码单元,解码装置将其划分成至少一个矩形的预测单元。对其中的一个预测单元,解码装置确定该预测单元的四个顶点在该图像中的坐标分别为(xtl,ytl),(xtr,ytr),(xbl,ybl),(xbr,ybr),并根据该该四个顶点的坐标,确定划分模板中(xtl/n,ytl/n),(xtr/n,ytr/n),(xbl/n,ybl/n),(xbr/n,ybr/n)该四个数值对应的四个示意点是否位于同一分区中。当该四个数值对应的四个示意点中存在至少两个示意点的数值不同时,解码装置还计算基于该两个分区的交界(也即特定交界)将该预测单元划分成两个预测块pred0和pred1来分别预测时,该预测单元的解码性能为第一解码性能,并计算采用一个参考块对该预测单元进行预测时该预测单元的解码性能为第二解码性能。当第一解码性能大于第二解码性能时,解码装置将该预测单元划分为两个预测块pred0和predl。

解码单元中的各预测单元,若预测单元没有进一步划分成至少两个预测块,该预测单元具有自己的一组运动矢量,解码装置根据该运动矢量获得该预测单元的参考块。若预测单元被进一步划分为至少两个预测块,每一个预测块具有自己的一组运动矢量,解码装置分别根据该预测块的运动矢量获取该预测块的参考块。

在获取该预测块pred0和predl的参考块时,分别根据预测块pred0和predl的运动矢量以该两个预测块所在的预测单元的尺寸m*m获取大小均为m*m的参考数据ref0和refl数组。预测块pred0在划分模板中对应的示意点的数值为0,predl对应的示意点数值为1。那么预测块pred0实际预测所用的参考块actualref0的求取方法如下:

actualref0(y,x)=pred0(y,x)&(1-mask(y/n,x/n)),y=0…m,x=0…m。

预测块pred1实际预测所用的参考块actualref1的求取方法如下:

actualref1(y,x)=pred0(y,x)&mask(y/n,x/n),y=0…m,x=0…m。

采用参考块actualref0对预测块pred0预测,以及采用参考块actualref1对预测块predl预测。

图12是根据本发明实施例的视频编码装置的示意性框图。如图12所示,视频编码装置120包括:

至少一个存储器1201,用于存储计算机可执行指令;

至少一个处理器1202,单独或共同地用于:访问所述至少一个存储器,并执行所述计算机可执行指令,以实施以下操作:

将待编码图像中的一个待编码块划分成至少两个预测块,所述至少两个预测块分别位于所述待编码图像的至少两个分区内,其中所述待编码图像是曲面图像的至少部分映射到多面体表面上的多个多边形拼接形成的平面图像,所述待编码图像的至少两个分区分别对应于所述多面体表面上的至少两个多边形;

采用不同的参考块分别对所述至少两个预测块预测。

在一些实施例中,所述两个分区非矩形,所述两个预测块非矩形。

在一些实施例中,所述至少两个分区包括相邻的第一分区和第二分区,所述将待编码图像中的一个待编码块划分成至少两个预测块,包括:

当待编码图像中的一个待编码块跨过所述第一分区和第二分区的交界时,基于所述交界将所述待编码块划分成至少两个预测块。

在一些实施例中,所述第一分区和第二分区分别在所述曲面图像中的映射区域不相邻。

在一些实施例中,所述处理器还用于:

基于所述曲面图像到所述多面体的映射方式确定所述待编码图像中的至少一个交界,所述交界为所述待编码图像中不同分区的交界;

基于所述待编码图像的至少一个交界将所述待编码块划分成至少两个预测块。

在一些实施例中,所述基于所述待编码图像的至少一个交界将所述待编码块划分成至少两个预测块,包括:

基于所述待编码图像的至少一个特定交界将所述待编码块划分成至少两个预测块,所述特定交界为交界两边的分区分别在所述曲面图像中的映射区域不相邻的交界。

在一些实施例中,所述基于所述曲面图像到所述多面体的映射方式确定所述待编码图像中的至少一个交界,包括:

基于所述曲面图像到所述多面体的映射方式确定所述待编码图像的划分模板,所述划分模板包括与所述待编码图像中的各像素点一一对应或者与所述待编码图像中的各像素块一一对应的示意点,其中,分别对应位于具有交界的两个分区的像素点或像素块的两个示意点的值不同;

基于所述待编码图像的划分模板确定所述待编码图像中的至少一个交界。

在一些实施例中,所述划分模板为二值图像。

在一些实施例中,所述划分模板中至少部分示意点分别对应的所述待编码图像中的像素块的大小不同。

在一些实施例中,所述处理器还用于:

生成所述待编码图像的划分模板的指示信息,所述指示信息用于指示每个示意点对应的像素块的大小;

基于所述待编码图像的划分模板以及所述划分模板的指示信息确定所述待编码图像中的至少一个交界。

在一些实施例中,所述基于所述曲面图像到所述多面体的映射方式确定所述待编码图像中的至少一个交界,包括:

基于所述曲面图像到所述多面体的映射方式确定所述待编码图像的划分函数,所述划分函数用于指示所述待编码图像中的至少一个交界在所述待编码图像中的位置。

在一些实施例中,所述基于所述曲面图像到所述多面体的映射方式确定所述待编码图像中的至少一个交界的步骤,是在对所述待编码图像编码之前执行的。

在一些实施例中,所述处理器在将待编码图像中的一个待编码块划分成至少两个预测块之前,还用于:

确定所述待编码块的至少部分顶点上的像素点分别位于不同分区内。

在一些实施例中,所述处理器还用于:

生成所述待编码块的标志位,所述标志位用于指示所述待编码块被划分成至少两个预测块。

在一些实施例中,所述处理器在采用不同的参考块分别对所述至少两个预测块预测之前,还用于:

分别获取所述至少两个预测块的参考数据;

从所述预测块的参考数据中获取所述预测块的参考块。

在一些实施例中,所述参考块的形状与所述预测块的形状相同。

在一些实施例中,所述参考块的大小与所述预测块的大小相同。

在一些实施例中,所述参考数据与所述待编码块的形状和/或大小相同。

在一些实施例中,所述参考数据与所述预测块的最小外接矩形的形状和/或大小相同。

在一些实施例中,所述多面体为正八面体或者正二十面体。

在一些实施例中,所述至少两个分区中的至少一个分区呈三角形或者菱形。

在一些实施例中,所述至少一个分区呈正三角形或者直角三角形。

在一些实施例中,所述待编码块呈规则形状,所述预测块呈规则形状或者不规则形状。

在一些实施例中,所述至少两个预测块中的每个预测块分别位于一个分区内。

在一些实施例中,所述至少两个预测块中的一个预测块位于至少两个分区内。

在一些实施例中,所述基于所述特定交界将所述待编码块划分成至少两个预测块,包括:

将所述待编码块划分成至少两个预测块,其中,所述至少两个预测块中任意两个相邻的预测块的交界为所述特定交界。

在一些实施例中,所述曲面图像为全景视频中的一帧图像。

图13是根据本发明实施例的视频解码装置的示意性框图。如图13所示,视频解码装置130包括:

至少一个存储器1301,用于存储计算机可执行指令;

至少一个处理器1302,单独或共同地用于:访问所述至少一个存储器,并执行所述计算机可执行指令,以实施以下操作:

将待解码图像中的一个待解码块划分成至少两个预测块,所述至少两个预测块分别位于所述待解码图像的至少两个分区内,其中所述待解码图像是曲面图像的至少部分映射到多面体表面上的多个多边形拼接形成的平面图像,所述待解码图像的至少两个分区分别对应于所述多面体表面上的至少两个多边形;

采用不同的参考块分别对所述至少两个预测块预测。

在一些实施例中,所述两个分区非矩形,所述两个预测块非矩形。

在一些实施例中,所述至少两个分区包括相邻的第一分区和第二分区,所述将待解码图像中的一个待解码块划分成至少两个预测块,包括:

当待解码图像中的一个待解码块跨过所述第一分区和第二分区的交界时,基于所述交界将所述待解码块划分成至少两个预测块。

在一些实施例中,所述第一分区和第二分区分别在所述曲面图像中的映射区域不相邻。

在一些实施例中,所述处理器还用于:

基于所述曲面图像到所述多面体的映射方式确定所述待解码图像中的至少一个交界,所述交界为所述待解码图像中相邻两个分区的交界;

基于所述待解码图像的至少一个交界将所述待解码块划分成至少两个预测块。

在一些实施例中,所述基于所述待解码图像的至少一个交界将所述待解码块划分成至少两个预测块,包括:

基于所述待解码图像的至少一个特定交界将所述待解码块划分成至少两个预测块,所述特定交界为交界两侧的分区分别在所述曲面图像中的映射区域不相邻的交界;

基于所述特定交界将所述待解码块划分成至少两个预测块。

在一些实施例中,所述基于所述曲面图像到所述多面体的映射方式确定所述待解码图像中的至少一个交界,包括:

基于所述曲面图像到所述多面体的映射方式确定所述待解码图像的划分模板,所述划分模板包括与所述待解码图像中的各像素点一一对应或者与所述待解码图像中的各像素块一一对应的示意点,其中,分别对应位于具有交界的两个分区的像素点或像素块的两个示意点的值不同;

基于所述待解码图像的划分模板确定所述待解码图像中的至少一个交界。

在一些实施例中,所述划分模板为二值图像。

在一些实施例中,所述划分模板中至少部分示意点分别对应的所述待解码图像中的像素块的大小不同。

在一些实施例中,所述处理器还用于:

获取所述待解码图像的划分模板的指示信息,所述指示信息用于指示每个示意点对应的像素块的大小;

基于所述待解码图像的划分模板以及所述划分模板的指示信息确定所述待解码图像中的至少一个交界。

在一些实施例中,所述基于所述曲面图像到所述多面体的映射方式确定所述待解码图像中的至少一个交界,包括:

基于所述曲面图像到所述多面体的映射方式确定所述待解码图像的划分函数,所述划分函数用于指示所述待解码图像中的至少一个交界在所述待解码图像中的位置。

在一些实施例中,所述基于所述曲面图像到所述多面体的映射方式确定所述待解码图像中的至少一个交界的步骤,是在对所述待解码图像解码之前执行的。

在一些实施例中,所述处理器在将待解码图像中的一个待解码块划分成至少两个预测块之前,还用于:

确定所述待解码块的至少部分顶点上的像素点分别位于不同分区内。

在一些实施例中,所述处理器还用于:

获取所述待解码块的标志位,所述标志位用于指示所述待解码块是否需要划分;

当所述标志位指示所述待解码块需要划分时,将所述待解码块划分成至少两个预测块。

在一些实施例中,所述处理器还用于:

当所述标志位指示所述待解码块不需要划分时,采用一个参考块对所述待解码块进行预测。

在一些实施例中,所述处理器在采用不同的参考块分别对所述至少两个预测块预测之前,还用于:

分别获取所述至少两个预测块的参考数据;

从所述预测块的参考数据中获取所述预测块的参考块。

在一些实施例中,所述参考块的形状与所述预测块的形状相同。

在一些实施例中,所述参考块的大小与所述预测块的大小相同。

在一些实施例中,所述参考数据与所述待解码块的形状和/或大小相同。

在一些实施例中,所述参考数据与所述预测块的最小外接矩形的形状和/或大小相同。

在一些实施例中,所述多面体为正八面体或者正二十面体。

在一些实施例中,所述至少两个分区中的至少一个分区呈三角形或者菱形。

在一些实施例中,所述至少一个分区呈正三角形或者直角三角形。

在一些实施例中,所述待解码块呈规则形状,所述预测块呈规则形状或者不规则形状。

在一些实施例中,所述至少两个预测块中的每个预测块分别位于一个分区内。

在一些实施例中,所述至少两个预测块中的一个预测块位于至少两个分区内。

在一些实施例中,所述基于所述特定交界将所述待解码块划分成至少两个预测块,包括:

将所述待解码块划分成至少两个预测块,其中,所述至少两个预测块中任意两个相邻的预测块的交界为所述特定交界。

在一些实施例中,所述处理器在将待解码图像中的一个待解码块划分成至少两个预测块之前,还用于:

基于所述曲面图像到所述多面体的映射方式确定所述待解码图像的分区的划分方式,

根据所述待解码图像的分区的划分方式确定所述待解码块位于所述至少两个分区内之后,将所述待解码块划分成至少两个预测块。

在一些实施例中,所述处理器还用于:

根据所述待解码图像的分区的划分方式确定所述待解码图像中的一个待解码块不需要划分时,采用一个参考块对所述待解码块进行预测。

在一些实施例中,所述处理器还用于:

当所述待解码块位于一个分区内,或者位于图像内容连续的至少两个分区内时,确定所述待解码块不需要划分。

在一些实施例中,所述曲面图像为全景视频中的一帧图像。

基于与上述方法同样的发明构思,本发明实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有若干计算机指令,所述计算机指令被执行时,实现上述连通域检测方法。

上述实施例阐明的系统、装置、模块或单元,可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本发明实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其它可编程数据处理设备,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅为本发明实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进,均应包含在本发明的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1