CN107484438B - 用于3d视频数据流的编解码方法和相应的编解码器 - Google Patents
用于3d视频数据流的编解码方法和相应的编解码器 Download PDFInfo
- Publication number
- CN107484438B CN107484438B CN201680020915.6A CN201680020915A CN107484438B CN 107484438 B CN107484438 B CN 107484438B CN 201680020915 A CN201680020915 A CN 201680020915A CN 107484438 B CN107484438 B CN 107484438B
- Authority
- CN
- China
- Prior art keywords
- view
- relative camera
- camera parameters
- parameter
- video data
- 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
Links
Images
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/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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- 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/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Abstract
示出了包括按时间单位在3D视频数据流中编码的编码视图4的集合、4a、4b的3D视频数据流2。3D视频数据流还包括参数集6,参数集6包括具有针对每个编码视图4、4a、4b的条目的第一表10,所述第一表通过索引来指示多个参考视图,其中,在数据流中存在针对所述参考视图的相对相机参数,其中参数集(6)的范围超过了时间单位的范围。
Description
技术领域
本发明涉及3D视频数据流以及用于编码3D视频数据流的编码器和用于解码3D视频数据流的解码器。实施例示出了3D视频数据流中的相机参数信号通知。
背景技术
若干个3D-HEVC编码工具利用来自深度层的深度信息来解码纹理(textur)层。为此,将当前视图的深度层的深度值转换为与另一视图相关的差异。转换通过进行缩放和偏移来执行。当对于视频序列而言是恒定的时,缩放和偏移被在VPS(视频参数集)中信号通知。当缩放和偏移随时间变化时,在片头中执行该信号通知。
缩放和偏移取决于另一视图相对于当前视图的空间位置。为此,针对当前视图信号通知多个缩放和偏移对,使得每个对与按编码顺序在当前视图之前的视图中的一个视图相关。
例如,假设比特流包括具有视图顺序索引0、2、4的视图,则当前设计的意图将是信号通知以下移位和偏移:
·对于视图0:没有
·对于视图2:与视图0相关
·对于视图4:与视图0相关且与视图2相关
在当前设计[2]中,例如在两个循环中的VPS中执行对缩放和偏移的解析。这在图11中示例性指示。
NumViews指定视图的数量(例如,上述示例中为3),并且 ViewOIdxList将指示对在比特流中的位置的索引m映射到视图顺序索引(例如,在上面的示例中,ViewOIdxList为[0 2 4])。
通过遍历比特流中存在的所有层并将层的视图顺序索引附加到 ViewOIdxList的结尾(当其在ViewOIdxList中尚未存在时)来在VPS 扩展中导出ViewOIdxList。图12中示出了迭代的示例性语法。
假设例如以下VPS信息:
i=0;lId=0;ViewOrderIdx[lId]=0;VpsDepthFlag[lId]=0
i=1;lId=1;ViewOrderIdx[lId]=0;VpsDepthFlag[lId]=1
i=2;lId=2;ViewOrderIdx[lId]=2;VpsDepthFlag[lId]=0
i=3;lId=3;ViewOrderIdx[lId]=2;VpsDepthFlag[lId]=1
i=4;lId=4;ViewOrderIdx[lId]=4;VpsDepthFlag[lId]=0
i=5;lId=5;ViewOrderIdx[lId]=4;VpsDepthFlag[lId]=1
将导致ViewOIdxList={0,2,4}。
注意到,由于当前的3D-HEVC规范需要视图的深度层直接跟随在纹理层之后,所以当所有层都存在纹理和深度时,ViewOIdxList中的值的顺序对应于视图的编码顺序。
当前设计的第一个问题是指辅助图片。3D-HEVC允许存在与主图片层交错的辅助图片层,以便与MV-HEVC向后兼容。
以下针对包含辅助层的比特流的VPS信息
i=0;lId=0;ViewOrderIdx[lId]=0;VpsDepthFlag[lId]=0; AuxId[lId]=0
i=1;lId=1;ViewOrderIdx[lId]=4;VpsDepthFlag[lId]=0;AuxId[lId]=1
i=2;lId=2;ViewOrderIdx[lId]=0;VpsDepthFlag[lId]=1; AuxId[lId]=0
i=3;lId=3;ViewOrderIdx[lId]=2;VpsDepthFlag[lId]=0; AuxId[lId]=0
i=4;lId=4;ViewOrderIdx[lId]=2;VpsDepthFlag[lId]=1; AuxId[lId]=0
i=5;lId=5;ViewOrderIdx[lId]=4;VpsDepthFlag[lId]=0; AuxId[lId]=0
i=6;lId=6;ViewOrderIdx[lId]=4;VpsDepthFlag[lId]=1; AuxId[lId]=0
将导致ViewOIdxList={0,4,2},并因此导致存在以下缩放和偏移:
·对于视图0:没有
·对于视图4:与视图0相关
·对于视图2:与视图0相关且与视图4相关
可以看出,对于视图4,缺少对视图2的缩放值和偏移值。然而,当参考前面的深度层4时,纹理层5的解码可能需要与视图2相关的缩放值和偏移值。
当前设计的第二个问题是指比特流提取和/或VPS重写。
缩放值和偏移值可以在VPS或片头(slice header)中信号通知。然而,信号通知的缩放和偏移对的数量以及这些对所相关的视图目前依赖于ViewOIdxList,ViewOIdxList依赖于在VPS中信号通知的比特流中存在的层。因此,当从比特流中丢弃层(并且重写VPS以对此进行信号通知)时,当前设计还需要重写所有片段报头,这是不期望的。
例如,假设ViewOIdxList等于{0,2,4},并且视图2和4仅依赖于视图0,并且该视图2被丢弃并且VPS被重写,还需要重写视图4的各层的所有片段报头,以移除与视图2相关的相机参数。
发明内容
因此,需要一种改进的方法。
本发明的目的是提供一种用于在3D视频数据流中提供相对相机参数的改进概念。该目的通过独立权利要求的主题来解决。
本发明基于以下发现:直接指示相关联的参考视图是有利的,对于该相关联的参考视图,存在针对当前编码视图的相对相机参数(例如缩放值和偏移值)。(注意,在下文中,我们将所有按解码顺序在当前编码视图之前的编码视图表示为参考视图,因为可以通过使用相关联的相对相机参数来参考它们。然而,解码器可不使用参考视图来解码当前编码视图。这种直接指示在3D视频生成的鲁棒性和使用的(最大)带宽方面优于先前描述的间接指示,因为一方面不需要信号通知与不用于解码当前编码视图的参考视图相关的相对相机参数,但另一方面,这样的信令仍然是可能的,例如在解码之后使用所发送的相对相机参数,以用于例如视图合成。此外,该方法对于辅助层的存在是鲁棒的,这可能会使视图的结构化列表混乱,使得不再能够从上述列表中的视图的顺序获得不同视图的依赖性。
与编码视图和参考视图相关联的相对相机参数(例如缩放值和偏移值)可以在连续的帧或片内改变。因此,在每个帧或片头或编码视图中应该存在相对相机参数(例如缩放值和偏移值)是有利的。在这种情况下,如果去除一个视图(例如通过网络实体),则本发明的直接索引可以保持不变。与去除的参考视图相关联的相对相机参数可以保留在片头中,尽管它们可能不再需要。已知的间接索引将需要使用大量的计算能力来完全重写所有的片头。在这种情况下,例如,所描述的绝对(或直接)索引在计算上可以比已知方法更有效。换句话说,直接索引可以引用数据流中的列表或表,在这些列表和表中列出了从编码视图引用到相关联的参考视图的索引。相比之下,使用间接索引,从编码视图到相关联的参考视图的链接或引用必须从数据流中的其他变量或条目导出,在进一步处理变量后揭示该引用,从而间接地揭示该引用。
实施例示出了3D视频数据流,其包括以时间单位编码到3D视频数据流中的编码视图的集合。3D视频数据流还包括参数集,参数集包括具有针对每个编码视图的条目的第一表,针对相应编码视图,第一表通过索引来指示多个参考视图,其中,在数据流中存在针对该参考视图的相对相机参数。编码视图可被相对于参考视图来编码(或解码),这意味着例如深度信息与相对照相机参数的缩放值和/或偏移值一起使用以引用参考视图。
根据实施例,参数集可以超过例如在VPS中实现的时间单位的范围。这是有利的,因为可以为视频序列的编码视图一次提供或发送静态、恒定或非变化的相对相机参数(例如缩放值和偏移值)。因此,当例如与相对相机参数(例如缩放值和偏移值)的基于片的传输比较时,可以减少待发送的数据。然而,根据另外的实施例,对于视频序列内的编码视图,相对相机参数(例如缩放值和偏移值)可以随时间变化。因此,可以将相对相机参数(例如缩放值和偏移值)实现或输入到当前视频序列的编码视图的(每个)片的片头。在改变相对相机参数(例如缩放值和偏移值)的情况下,以下情况是进一步有利的:已全局地指示相对相机参数与不同参考视图(例如在VPS中)的关联,以使解码器能够针对每个视频序列仅一次确定关联,并为视频序列的编码视图中的每个片(诸如例如在每个片头中)单独提供相对相机参数(例如缩放值和偏移值)。
根据另外的实施例,对于多个参考视图的计数超过零的每个编码视图,第一表的相应条目包括标志,所述标志指示相应编码视图的所述多个参考视图中的每一个参考视图的相对相机参数是存在于第一表中(例如,在VPS中),还是存在于所述3D视频数据流的不超过所述时间单位的范围的部分(诸如例如(依赖性编码视图的)片头)内。换句话说,第一表的条目可以包括指示与相应编码视图相关联的相机参数是否存在于相应参数集中的标志。换句话说,可以注意到,在编码视图的参数集中(例如,在VPS中),相对相机参数是存在于参数集(例如,VPS)中还是存在于时间单位范围参数集(例如,片头) 中。此外,第一表的条目可以包括指示与相应编码视图相关联的参考视图的数目的计数、数量、总数或大小的值。因此,第一表可以针对编码视图集合的每个编码视图包括:指示相应参数集(例如VPS)中是否存在相机参数的标志和/或每个编码视图的该参考视图的数目的计数。该参考视图的数目的计数可以是指示当前编码视图的编码所相对于的参考视图的量的(整数)值。换句话说,当前的编码视图可以参考不同的参考视图而编码,使得多个相对相机参数(例如,针对每个参考视图一个相机参数)应该存在于3D视频数据流中。然而,当前编码视图的相对相机参数可以包括可能不用于解码当前编码视图的参考视图。这是有利的,因为通过这种方式,可以在比特流中信号通知可在解码之后由其他实体使用(例如,用于视图合成)的相对相机参数。此外,第一表可以包括视图、编码视图或参考视图,例如用于解码当前编码视图的基本视图,但是可以在没有相对相机参数的情况下参考。一个相机参数可以包括缩放值和偏移值的集合。
根据另外的实施例,对于所述参考视图的数目的计数超过零的每个编码视图,所述第一表的相应条目包括第二表,所述第二表具有针对相应编码视图的所述多个参考视图中的每一个参考视图的条目。第二表可以包括对相应参考视图进行索引的索引。此外,如果标志指示相应编码视图的多个参考视图中的每一个参考视图的相对相机参数存在于所述第一表中,则第二表可以包括与相应编码视图的相应参考视图相关联的相对相机参数。换句话说,参数集可以包括具有针对每个编码视图的条目的第二表,针对该每个编码视图,相关联的相机参数被指示为存在于该参数集中(例如通过上述第一表中的相应标志)。每个条目可以包括与相应编码视图相关联并且具有第一表中指示的大小或计数的相机参数,其中相对相机参数中的每一个与第一表中所示的相应参考视图相关联。换句话说,第二表可以包括当前编码视图的相对于与由索引指示的相应或连接的参考视图或与其相关联的实际相对相机参数。因此,第一表可以指示第二表的规范或概括。
另外的实施例示出了,针对标志指示相应编码视图的多个参考视图中的每一个参考视图的相对相机参数存在于3D视频数据流的不超过由参数集的范围包围的每个时间单位内的时间单位的范围的部分内的每个编码视图,3D视频数据流可以包括针对相应编码视图的时间单位范围参数集。时间单位范围参数集可以包括第三表,所述第三表针对(编码视图或每个编码视图的)第二表的每个条目具有相关联条目,所述相关联条目包括通过第二表的相关联条目中的索引所索引的相应编码视图的参考视图的相对相机参数。换句话说,如果相关联的相机参数(被指示为)不存在于或未被指示为存在于参数集中(通过例如第一表中的相应标志),则当前编码视图的时间单位范围参数集可以包括具有针对当前编码视图的条目的第三表。第三表包括与当前编码视图相关联的相对相机参数,其中每个相对相机参数与由索引指示的相应参考视图相关联。此外,相对相机参数的集合具有在第一表中指示的大小或计数。换句话说,实际的相对相机参数可以被实现或包括在 3D视频数据流的(每个)时间单位中,诸如例如在诸如片头之类的编码视图的(每个)报头中。如果不同视图的相对相机参数变化,例如,由于第一相机相对于第二相机移动,这是特别有利的。因此,对于不同视图的相对位置发生改变的每个片,相对相机参数应至少解码一次。
根据另外的实施例,与相应编码视图相关联的相对相机参数总是存在于参数集中,诸如例如VPS中。根据另外的实施例,与相应编码视图相关联的相对相机参数总是存在于时间单位范围参数集中,诸如例如时间单位的片头或报头中。换句话说,指示相对相机参数是存在于参数集中还是存在于时间单位范围参数集中的标志不是强制性的,且因此是可选的。
此外,与相应编码视图相关联的相对相机参数可以存在于时间单位范围参数集中,不依赖于对与相应编码视图相关联的相对相机参数在相应参数集中的存在位置进行指示的标志。换句话说,使用对相应编码视图的相对相机参数存在于相应参数集中进行指示的标志是可选的。
根据另外的实施例,相对相机参数包括缩放值和偏移值,用于将相关联的参考视图的深度值转换为相关联的编码视图与相关联的参考视图之间的差异值。另一方面,相对相机参数包括缩放值和偏移值,用于将相关联的编码视图的深度值转换为相关联的编码视图与相关联的参考视图之间的差异值。换句话说,相对相机参数可以包括缩放值和偏移值,以使得解码器能够将当前编码视图的参考视图的深度值转换为当前编码视图与相关联的参考视图之间的差异值,反之亦然。因此,可以执行当前编码视图相对于相关联的参考视图的相对解码。
附图说明
随后将参考所附附图讨论本发明的实施例,其中:
图1示出了3D视频数据流的示意性框图;
图2示出了第一表的示意性表示;
图3示出了根据实施例的3D视频数据流的示意性框图;
图4示出了第二表的示意性表示;
图5示出了可以在解码器中执行的对VPS的评估或分析的示例性语法;
图6示出了可以在解码器中执行的对片段报头的评估或分析的示例性语法;
图7示出了用于从3D视频数据流解码3D视频的解码器的示意性框图;
图8示出了用于将3D视频数据编码为3D视频数据流的编码器的示意性框图;
图9示出了用于对3D视频数据流进行编码的方法的示意性框图;
图10示出了用于对3D视频数据流进行解码的方法的示意性框图;
图11示出了可以在已知解码器中执行的VPS评估的示例性语法;和
图12示出了形成列表的已知方法的示例性语法,所述列表包括指示不同视图的相关依赖性的视图顺序索引。
具体实施方式
在下文中,将进一步详细描述本发明的实施例。相应图中示出的具有相同或相似功能的元素将具有与其相关联的相同的附图标记。
图1示出了3D视频数据流2的示意性框图;3D视频数据流包括编码视图4的集合和参数集6。编码视图4的集合以时间单位被编码在3D视频数据流中。此外,参数集6包括具有针对每个编码视图4、 4a、4b的条目的第一表10,针对相应编码视图,第一表通过索引来指示多个参考视图,其中,在数据流中存在针对该参考视图的相对相机参数。参数集6的范围超过了时间单位的范围,这意味着可以例如在 VPS中一次针对多个图片编码或发送参数集。换句话说,针对每个编码视图,编码视图4的集合以时间单元与编码视图4的一个或多个相对相机参数8一起被编码到3D视频数据流中。时间单位可以是一个图片或一个编码视图(的时间大小或时间长度)。此外,(在3D视频数据流中)可能存在与多个参考视图相关的多个相对相机参数。因此,对于每个参考视图,可以使用(3D视频数据流中的)相机参数将深度信息转换为参考视图与当前视图之间的差异。因此,相对相机参数的集合包括一个或多个相机参数,其中每个相机参数可以包括缩放值和/ 或偏移值。
根据实施例,对于参考视图的数目的计数超过零的每个编码视图,视频数据流2包括第一表10的相应条目,所述第一表10的相应条目包括标志12,所述标志12指示相应编码视图的所述多个参考视图中的每一个参考视图的相对相机参数8是存在于第一表中还是存在于所述3D视频数据流的不超过所述时间单位的范围的部分内。换句话说,参数集6可以包括具有针对每个编码视图的条目的第一表或列表10。针对相对相机参数8的集合的与相应编码视图4相关联的每个相对相机参数,每个条目包括指示相关联的参考视图的值。在图2中示出了表10的示意性或示例性表示。在图2中指出,对于每个编码视图4a、 4b,通过在列11中指示相应视图顺序索引i来分配参考视图(分别为 4c和4a)。换句话说,表1指示编码视图的相对相机参数8与相应参考视图的关联。
参数集6(其中第一表是其一部分)可以是(全局、一般或公共) 报头或诸如视频参数集(VPS)之类的参数集。因此,参数集可能超过时间单位的范围,这意味着参数集6对多个时间单位(诸如例如多个编码视图)有效。此外,相对相机参数可以包括例如(一对)缩放值和/或偏移值。可以使用或应用缩放值和偏移值来将相关联的参考视图的深度值转换为相关联的编码视图与相关联的参考视图之间的差异值,反之亦然。缩放参数可以包括3D视频的缩放信息,并且偏移参数可以包括3D视频的偏移信息。
根据另外的实施例,针对编码视图的每个条目(例如,排或行) 或至少针对每个条目,第一表10还可以包括指示与相应编码视图4 相关联的相机参数8是否存在于相应的参数集6中(例如第二表中) 的标志12。当参考视图的数目的计数等于零时,该标志可能不存在或可能缺失。在下文中,标志12可以指的是图5的示例性代码或语法表示中所示的cp_in_slice_segment_header变量。
根据另外的实施例,针对每个条目,第一表10可以包括值14,其指示与相应编码视图相关联的参考视图的数目的计数。这可能是当前编码视图所依赖的参考视图的数量。可以由在图5和图6所描述的示例性语法中的矢量num_cp[i]表示计数14。
关于以下语法或代码段,编码视图可以由等式i=ViewOIdxList[n] 表示。此外,指示相关联的参考视图的值可以由cp_ref_voi[i][m]表示。
图3示出了根据实施例的3D视频数据流2。针对3D视频数据流的每个编码视图,第一表10的相应条目可以包括第二表16,所述第二表16具有针对相应编码视图4的多个参考视图中的每一个参考视图的条目。但是,如果参考视图的数目的计数不超过零,则该表可能不存在。第二表包括对相应参考视图进行索引的索引,且附加地,如果标志12指示相应编码视图的所述多个参考视图中的每一个参考视图的相对相机参数8存在于所述第一表中,则相对相机参数8与相应编码视图4的相应参考视图相关联。换句话说,指示了:针对存在相对相机参数的每个编码视图,参数集6可以包括第二表16。示例性的第二表16a和16b在图4中示出。第二表16a可以具有针对编码视图4a 的条目,其中相关联的相机参数8a被指示为存在于诸如第一表中之类的参数集6中。对参考视图是否存在的指示可以由相应的二进制元素 (例如第一表10中的标志12(参见图2))来做出。
图4中所示的第二表16b指示针对每个编码视图的多个参考视图。因此,相对相机参数8b与相应编码视图4b相关联,并且具有在第一表10中指示的计数14。大小、等级或计数14可以导致具有相应相关相机参数的多个行。此外,相对相机参数8b,8b′中的每一个与对参考视图的相应参考视图索引11b,11b′相关联。换句话说,第二表16可以指定实际数据(意指相对相机参数),使得每个(当前)编码视图具有对相对相机参数的访问权。通过将图4的第二表16a,16b链接到图 2的第一表10,第二表16a可以取代由附图标记11a表示的表10的元素,而第二表16b可以代取由附图标记11b表示的表10的元素。因此,第二表可以被称为子表,其指示元素11a包括具有索引11a和相对相机参数8a的表,元素11b包括将索引11b分配给相对相机参数8b和 8b′的(2x2)表。
再次参考例如关于图5和6描述的语法,每个编码视图可以在 ViewOIdxList中表示,并且相对相机参数的集合可以被称为 vps_cp_scale[i]和后面的vps_cp_*。相应的编码视图可以被称为i= ViewOIdxList[n]。此外,每个相对相机参数可以由vps_cp_scale[i][j] 和后面的vps_cp_*[i][j]引用,并且相应的参考视图可以是j= cp_ref_voi[i][m]。
根据另外的实施例,并且如图3所示,针对每个编码视图,在由参数集的范围包围的每个时间单位(例如,(依赖性)编码视图的每个片头,或每个图片一次)内,3D视频数据流可以包括针对相应编码视图4a、4b的时间单位范围参数集18a、18b。时间单位范围参数集可以包括第三表20a、20b,第三表具有针对第二表的每个条目的相关联条目,该相关联条目包括针对由第二表的相关联条目(例如行)中的索引所索引的相应编码视图4的参考视图的相对相机参数8。因此,标志12可以指示针对相应编码视图的多个参考视图中的每一个参考视图的相对相机参数8存在于3D视频数据流的不超过时间单位的范围的部分(例如,片头)内。
换句话说,当前编码视图4a、4b的时间单位范围参数集18a、18b 可以存在于3D视频数据流的时间单位中。如果相关联的相机参数(被指示)在参数集6中不存在(例如通过相应的标志,例如,标志12),则时间单位范围参数集18a、18b可以包括具有针对当前编码视图4 的条目的第三表20a、20b。编码视图4a的第三表20a可以包括与索引11a在第一表中指示的相应参考视图相关联的相对相机参数8a。对应地,编码视图4b的第三表20b可以包括与索引11b在第一表中指示的相应参考视图相关联的相对相机参数8b和8b′。相机参数8b和相机参数8b′两者可以是缩放值和/或偏移值,照相机参数8b引用(参考) 视图14c,且相对照相机参数8b′引用(参考)视图24a。更具体地说,编码视图与编码视图和相应参考视图之间的关系仍然在第一表中指示,其中可随时间变化的实际相对相机参数被提供在时间单位范围参数集中。此外,第三表具有在第一表中指示的计数14。换句话说,如果例如相对相机参数随时间变化,编码视图的相对相机参数可以被输入到例如视频序列的(依赖性)编码视图的每个片的片头中。此外,必须注意的是,图2和图4中由附图标记4c指示的参考视图未在图1和图 3的3D视频数据流中示出,因为它在视频序列中按编码顺序是第一个,并且可以因此不使用另一个参考视图,使得它可以不包括相对相机参数。因此,该参考视图可以被称为基本视图。
如已经指出的,时间单位范围参数集可以是例如片头。相对相机参数的集合可以被称为cp_scale和后面的cp_*,其中当前编码视图可以由ViewIdx指示。每个相对相机参数可以由cp_scale[j]和后面的cp _*[j]表示。参考视图可以由j=cp_ref_voi[ViewIdx][m]指示,并且第一表中指示的大小可以由num_cp[ViewIdx]导出。
换句话说,为了解决上述问题,根据实施例提出了以下改变。修改或更具体的插入由下划线表示。
1、在存在于比特流中的每个视图(带有ViewOrderldx i)的VPS 中信号通知以下内容:
a.存在缩放和偏移的相关视图的数量num_cp[i][1]
b.对于范围0到num_cp[i]-1(含)中的每个m,语法元素cp_ref_voi[i][m],其指定 与带有ViewOrderIdx i的视图相关的第m个视图的ViewOrderIdx。
c.当指示针对带有ViewOrderIdx i的视图的缩放和偏移存在于 VPS中时,针对范围0到num_cp[i]-1中的每个m,缩放值和偏移值对与带有ViewOrderIdx cp_ref_voi[i][m] 的视图相关。
2、当指示针对带有ViewOrderIdx i的视图的缩放和偏移存在于片头中,且当前片头具有ViewOrderIdx i时,针对范围0到num_cp[i]-1(含)中的每个m信号通知与带有 ViewOrderIdx cp_ref_voi[i][m]的视图相关的缩放值和偏移值。
3、当相机参数存在时,启用仅使用相机参数的工具。当例如针对视图子集的相机参数在编码器处未给出,并且不能插入到比特流时,这是有利的。在这种情况下,常规的3D视频数据流将需要指示针对所有编码视图禁用依赖于相对相机参数的编码工具。而当如所描述的那样对本发明的3D视频数据流进行解码时,解码器将选择性地禁用需要在本发明的3D视频数据流中不存在的相机参数的工具。
这种更灵活的信号通知方法具有以下好处:
·第一个问题得到解决,因为可以明确指定相关视图。
·第二个问题得到解决,因为片级别信令不再依赖于ViewOIdxList,而是仅依赖于在重写VPS时可以针对比特流中包含的视图保持不变的num_cp和cp_ref_voi。
(当前3D-HEVC草案的)规范可以如下进行调整。使用叉掉来表示关于目前的3D-HEVC草案[2]的撤销,其中使用相应文本的下划线表示插入。VPS的可能语法如图5所示。
cp_precision指定VPS中的vps_cp_scale[i][j]、vps_cp_off[i][j]、 vps_cp_inv_scale_plus_scale[i][j]和vps_cp_inv_off_plus_off[i][j]和片段报头中的cp_scale[j]、cp_off[j]、cp_inv_scale_plus_scale[j]和 cp_inv_off_plus_off[j]的精度。cp_precision的值应该在0到5(含)的范围中。
cp_present_flag[i]等于1指定语法元素vps_cp_scale[i][j]、 vps_cp_off[i][j]、vps_cp_inv_scale_plus_scale[i][j]和 vps_cp_inv_off_plus_off[i][j]存在于VPS中,或者指定cp_scale[j]、 cp_off[j]、cp_inv_scale_plus_scale[j]和cp_inv_off_plus_off[j]存在于片段报头中,其中nuh_layer_id等于layerId,以及ViewOrderIdx[layerId] 等于i。cp_present_flag[i]等于0表示相机参数不存在。
对于0到MaxLayersMinus1(含)的layerId,变量cpRequiredFlag [layerId]被如以下指定地导出:
-如果一个或多个以下条件为真,则将cpRequiredFlag[layerId] 设置为等于1:
-nuh_layer_id等于layerId且DepthRefinementFlag等于1的编码图片是指VPS。
-nuh_layer_id等于layerId且ViewSynthesisPredFlag等于1的编码图片是指VPS
-nuh_layer_id等于layerId,DepthFlag等于1且IvMvPredFlag等于1的编码图片是指VPS。
-否则,将cpRequiredFlag[layerId]设置为0。
当对于layerId的任何值,cpRequiredFlag[layerId]等于1时, cp_present_flag[ViewOrderIdx[layerId]]的值应等于1。当不存在时,将cp_present_flag[i]的值推断为等于0。
num_cp[i]指定针对ViewIdx等于i的视图信号通知的相机参数的数量。num_cp[i]
语法元素的长度为Ceil(Log2(NumViews))比特。num_cp[i]的值应该在0到NumViews-1(含)
的范围中。
cp_ref_voi[i][m]指定视图的ViewIdx,该视图与针对ViewIdx等于i的视图信号
通知的第m个相机参数相关。cp_ref_voi[i][m]的值应在0到65535的范围中。对于0到num_
cp[i]-1的范围内的x和v的任何值,cp_ref_voi[i][x]不等于cp_ref_voi[i][y]是比特流
一致性的要求。
对于0到NumViews-1(含)范围内的i和j,将变量CpPresentFlag[i][j]设置为0,并
按以下指定的进行修改:
cp_in_slice_segment_header_flag[i]等于1指定语法元素vps_cp_scale[i][j]、vps_cp_off[i][j]、vps_cp_inv_scale_plus_scale[i][j] 以及vps_cp_inv_off_plus_off[i][j]不存在于VPS中,并且指定语法元素cp_scale[j]、cp_off[j]、cp_inv_scale_plus_scale[j]和 cp_inv_off_plus_off[j]存在于片段报头中,其中nuh_layer_id等于 layerId,以及ViewOrderIdx[layerId]等于i。 cp_in_slice_segment_header_flag等于0指定vps_cp_scale[i][j]、 vps_cp_off[i][j]、vps_cp_inv_scale_plus_scale[i][j]和 vps_cp_inv_off_plus_off[i][j]语法元素存在于VPS中,并且指定语法元素cp_scale[j]、cp_off[j]、cp_inv_scale_plus_scale[j]和 cp_inv_off_plus_off[j]不存在于片段报头中,其中nuh_layer_id等于 layerId,以及ViewOrderIdx[layerId]等于i。当不存在时,将 cp_in_slice_segment_header_flag[i]的值推断为等于0。
vbs_cp_scale[i][j]、vps_cp_off[i][j]、vps_cp_inv_scale_plus_scale[i][j]和vps_cp_inv_off_plus_off[i][j]指定用于将深度值转换为差异值的转换参数,并可以用于针对VPS中指定的第i个视图推断cp_scale[j]、cp_off[j]、cp_inv_scale_plus_scale[j] 和cp_inv_off_plus_off[j]的值。当第i个视图包含纹理视图和深度视图两者时,转换参数与纹理视图相关联。
此外,一般的片头语义(例如,标准的I.7.4.7.1中所指定的)可以如下所述进行应用。片段报头的可能语法如图6所示。
(标准的)条款F.7.4.7.1中的规范可与以下修改和附加一起应用。
变量DepthFlag被设置为等于VpsDepthFlag[nuh_layer_id],变量 ViewIdx被设置为等于ViewOrderIdx[nuh_layer_id]。
变量depthOfRefViewsAvailFlag、textOfCurViewAvailFlag、和cpAvailableFlag被设置为0,并按以下指定进行修改:
-如果DepthFlag等于0,则depthOfRefViewsAvailFlag和cpAvailableFlag被设置为等于1,并且以下适用:
-对于在0到NumRefListLayers[nuh_layer_id]-1的范围内的i,以下适用:
-将变量refViewIdx设置为等于ViewOrderIdx[IdRefListLayer[nuh_layer_id]
[i]]。
-当CpPresentFlag[ViewIdx][refViewIdx]等于0时,将cpAvailableFlag设置为
等于0。
将变量curDepthAvailableFlag设置为等于0。
-对于在0到MaxLayersMinusl(含)范围内的j,以下适用:
-当所有以下条件都为真时,将curDepthAvailableFlag设置为等于1:
-direct_dependency_flag[LayerIdxInVps[nuh_layer_id]][j]等于1
-VpsDepthFlag[layer_id_in_nuh[j]]等于1
-ViewOrderIdx[layer_id_in_nuh[j]]等于ViewOrderIdx [IdRefListLayer[nuh_layer_id][i]]
-DependencyId[layer_id_in_nuh[j]]等于0
-AuxId[layer_id_in_nuh[j]]等于0
-当curDepthAvailableFlag等于0时,将depthOfRefViewsAvailFlag 设置为等于0。
-否则(DepthFlag等于1),以下适用:
-对于在0到MaxLayersMinus1(含)范围内的j,以下适用:
-当所有以下条件都为真时,将textOfCurViewAvailFlag设置为等于1:
-direct_dependency_flag[LayerIdxInVps[nuh_layer_id]][j]等于1
-VpsDepthFlag[layer_id_in_nuh[j]]等于0
-ViewOrderIdx[layer_id_in_nuh[j]]等于ViewIdx
-DependencyId[layer_id_in_nuh[j]]等于0
-AuxId[layer_id_in_nuh[j]]等于0
变量IvMvPredFlag、IvMvScalingFlag、SubPbSize、IvResPredFlag、ViewSynthesisPredFlag、DepthBasedBlkPartFlag、DepthRefinementFlag、MpiSubPbSize、IntraContourFlag、IntraSdcWedgeFlag、QtPredFlag、 InterSdcFlag和DisparityDerivationFlag被如下所指定地导出:
IvMvPredFlag=(nuh_layer_id>0)&&
NumRefListLayers[nuh_layer_id]>0&&iv_mv_pred_flag [DepthFlag](I-12)
IvMvScalingFlag=(nuh_layer_id>0)&&iv_mv_scaling_flag [DepthFlag](I-13)
SubPbSize=1<<(nuh_layer_id>0?log2_sub_pb_size_minus3 [DepthFlag]+3:CtbLog2SizeY)(I-14)
IvResPredFlag=(nuh_layer_id>0)&&
NumRefListLayers[nuh_layer_id]>0&&iv_res_pred_flag [DepthFlag](I-15)
ViewSynthesisPredFlag=(nuh_layer_id>0)&&NumRefListLayers [nuh_layer_id]>0&&
view_synthesis_pred_flag[DepthFlag]&& depthOfRefViewsAvailFlag&& cpAvailableFlag(I-16)
DepthBasedBlkPartFlag=(nuh_layer_id>0)&&
depth_based_blk_part_flag[DepthFlag]&& depthOfRefViewsAvailFlag(I-17)
DepthRefinementFlag=(nuh_layer_id>0)&&
depth_refinement_flag[DepthFlag]&& depthOfRefViewsAvailFlag&& cpAvailableFlag(I-18)
MpiFlag=(nuh_layer_id>0)&&mpi_flag[DepthFlag]&&textOfCurViewAvailFlag
(I-19)
MpiSubPbSize=1<<(log2_mpi_sub_pb_size_minus3[DepthFlag] +3)(I-20)
IntraContourFlag=(nuh_layer_id>0)&&
intra_contour_flag[DepthFlag]&&textOfCurViewAvailFlag(I-21)
IntraSdcWedgeFlag=(nuh_layer_id>0)&&intra_sdc_wedge_flag[DepthFlag]
(I-22)
QtPredFlag=(nuh_layer_id>0)&&qt_pred_flag[DepthFlag]&&textOfCurViewAvailFlag(I-23)
InterSdcFlag=(nuh_layer_id>0)&&inter_sdc_flag[DepthFlag] (I-24)
IntraSingleFlag=(nuh_layer_id>0)&&intra_single_flag [DepthFlag](I-25)
cp_scale[j]、cp_off[j]、cp_inv_scale_plus_scale[j]和 cp_inv_off_plus_off[j]指定用于将深度值转换为差异值的转换参数。当不存在时,cp_scale[j]、cp_off[j]、cp_inv_scale_plus_scale[j]和 cp_inv_off_plus__off[j]的值分别被推断为等于vps_cp_scale[ViewIdx] [j]、vps_cp_off[ViewIdx][j]、vps_cp_inv_scale_plus_scale[ViewIdx][j] 和vps_cp_inv_off_plus_off[ViewIdx][j]。比特流一致性的要求是,ViewIdx等于viewIdxA的片段报头中的cp_scale[j]、cp_off[j]、 cp_inv_scale_plus_scale[j]和cp_inv_off_plus_off[j]的值与ViewIdx等于viewIdxB的片段报头中的cp_scale[j]、cp_off[j]、 cp_inv_scale_plus_scale[j]和cp_inv_off_plus_off[j]的值应当相同。
如以下所指定地导出数组DepthToDisparityB[j][d]和数组DepthToDisparityF[j][d],数组DepthToDisparityB[j][d]指定当前视图与ViewIdx等于j的视图之间的差异,对应于ViewIdx等于j的视图中的深度值d,以及数组DepthToDisparityF[j][d]指定ViewIdx等于j的视图与当前视图之间的差异,对应于当前视图中的深度值d:
变量log2Div被设置为等于BitDepthY-1+cp_precision。
对于0到((1<<BitDepthY)-1)(含)的范围内的d,以下适用:
对于0到ViewIdx-1(含)的范围内的i,以下适用:
offset=(cp_off[j]<<BitDepthY)+((1<<log2Div)>>1)(I-31)
scale=cp_scale[j](I-32)
DepthToDisparityB[j][d]=(scale*d+offset)>>log2Div(I-33)
invOffset=((cp_inv_off_plus_off[j]-cp_off[j])<<BitDepthY)+ ((1<<log2Div)>>1)(I-34)
invScale=(cp_inv_scale_plus_scale[j]-cp_scale[j])(I-35)
DepthToDisparityF[j][d]=(invScale*d+invOffset)>>log2Div (I-36)
图7示出了用于从3D视频数据流2解码3D图片24的解码器22 的示意性表示。解码器22被配置为以时间单位从3D视频数据流2解码编码视图4的集合。此外,解码器被配置为从3D视频数据流导出参数集6,参数集6包括具有针对每个编码视图的条目的第一表,其中,针对相应编码视图,第一表通过索引来指示多个参考视图,在数据流中存在针对该参考视图的相对相机参数。参数集6的范围(例如参数集的实例)超过了例如在VPS中编码的时间单位的范围。此外,解码器或视图合成器可以被配置为使用第一表根据解码的编码视图集合形成3D图片。换句话说,解码器被配置为对3D视频数据流2进行解码。3D图片的序列可以形成3D视频。
根据实施例,第一表可以包括标志,对于所述参考视图的数目的计数超过零的每个编码视图,所述标志指示相对相机参数(8)是存在于第一表中,还是存在于所述3D视频数据流的不超过所述时间单位的范围的部分内。此外,第一表可以包括用于参考视图的数目的计数超过零的每个编码视图的第二表16。第二表具有针对相应编码视图4 的多个参考视图中的每一个参考视图的条目。该条目包括索引相应参考视图的索引,并且可选地,如果标志12指示相应编码视图的多个参考视图中的每一个参考视图的相对相机参数(8)存在于第一表中,还包括与相应编码视图4的相应参考视图相关联的相对相机参数。
另一实施例示出了解码器,所述解码器用于针对所述标志12指示相应编码视图的多个参考视图中的每一个参考视图的相对相机参数8 存在于3D视频数据流的不超过时间单位的范围的部分内的每个编码视图导出相对相机参数8,所述相对相机参数8用于由第二表中相关联的条目中的索引所索引的相应编码视图4的参考视图。换句话说,如果指示相对相机参数位于VPS中,则解码器可以导出或读取这些相对相机参数。尽管如此,如果标志指示相对相机参数不存在于VPS中,并且指示其因此存在于例如片头中,则解码器可以针对由参数集的范围包围的每个时间单位内的每个编码视图导出第三表20a、20b,针对第二表的每个条目,所述第三表20a、20b具有相关联条目,该相关联条目包括由第二表的相关联条目中的索引所索引的相应编码视图4的参考视图的相对相机参数8。然而,标志12可以指示相应编码视图的多个参考视图中的每一个参考视图的相对相机参数8是否存在于3D 视频数据流的不超过时间单位的范围的部分内。
另外的实施例涉及编码工具的使用。因此,如果编码视图的相对相机参数的计数超过零(例如,如果标志指示参考视图的数目的计数超过零的每个编码视图的相对相机参数8是存在于第一表中还是存在于3D视频数据流的不超过时间单位的范围的部分内),则解码器可以应用使用相对相机参数的编码工具,以使用相对相机参数形成3D视频数据流。换句话说,解码器监视相对相机参数的存在或不存在。基于特定编码工具是否需要这种相对相机参数的信息,解码器可以仅将这些编码工具应用于满足关于相对相机参数的要求的3D视频数据流。在这种情况下,如果编码工具需要或使用相对相机参数,并且如果存在该相对相机参数,例如,如果标志12存在或者如果参考视图的数目的计数大于零,则解码器可以访问第二表16中的相对相机参数。
换句话说,解码器可以分析VPS以针对每个编码视图导出包括以下各项的第一表:参考视图的数量,针对编码视图存在该参考视图的相对相机参数;如果针对编码视图存在相对相机参数的参考视图的数量大于零,指示用于编码视图的相对相机参数是存在于VPS中还是片头中的标志;如果存在相对相机参数的参考视图的数量大于零,针对编码视图存在相对相机参数的参考视图的视图索引值。
此外,解码器可以分析VPS以导出第二表。或者更具体地,解码器可以从VPS中读取与编码视图相关联的相对相机参数,针对该编码视图,相对相机参数被第一表中的标志指示为存在于VPS中。
此外,解码器可以分析编码视图的片头以导出第三表。或者更具体地,如果针对编码视图,相对相机参数被第一表中的标志指示为存在于片头中,则解码器可以从编码视图的片头读取与编码视图相关联的相对相机参数。
基于从第一表读取的特定编码视图的参考视图的视图索引值,解码器还可以禁用和启用需要与特定参考视图和特定编码视图相关联的相对相机参数的编码工具。
基于从第一表读取的特定编码视图的参考视图的视图索引值,解码器还可以从第二表或第三表中选择编码工具对特定编码视图进行解码所需的相对相机参数。
图8示出了用于将3D视频数据编码为3D视频数据流的编码器 26的示意性表示。编码器26被配置为将来自3D视频数据的编码视图 4的集合以时间单位编码成3D视频数据流。编码器还被配置为对参数集6进行编码,所述参数集6包括具有针对每个编码视图的条目的第一表,针对相应编码视图,所述第一表通过索引来指示多个参考视图,其中,在数据流中存在针对所述参考视图的相对相机参数,所述参数集6的范围超过所述时间单位的范围。
根据实施例,编码器被配置为形成第一表,第一表包括标志,对于所述参考视图的数目的计数超过零的每个编码视图,所述标志指示相对相机参数8是存在于第一表中,还是存在于所述3D视频数据流的不超过所述时间单位的范围的部分内。因此,对于所述参考视图的数目的计数超过零的每个编码视图,所述第一表10的相应条目包括第二表16,所述第二表16具有针对相应编码视图4的所述多个参考视图中的每一个参考视图的条目。这样的条目包括索引相应参考视图的索引,并且可选地,如果标志12指示相应编码视图的多个参考视图中的每一个参考视图的相对相机参数(8)存在于第一表中,还包括与相应编码视图4的相应参考视图相关联的相对相机参数。
根据另一实施例,编码器被配置为:针对所述标志12指示相应编码视图的所述多个参考视图中的每一个参考视图的相对相机参数8存在于所述3D视频数据流的不超过所述时间单位的范围的部分内的每个编码视图,编码相对相机参数8,所述相对相机参数8针对于由所述第二表中的相关联条目中的索引所索引的相应编码视图4的参考视图。换句话说,如果对于编码视图,存在恒定或不变的相对相机参数,则编码器可以在VPS中提供这些相对相机参数。
另一实施例示出了编码器,所述编码器被配置为:针对所述标志 12指示相应编码视图的所述多个参考视图中的每一个参考视图的相对相机参数8存在于所述3D视频数据流的不超过由所述参数集的范围包围的每个时间单位内的时间单位的范围的部分内的每个编码视图,编码第三表20a、20b,所述第三表20a、20b具有针对所述第二表的每个条目的相关联条目,所述相关联条目包括由所述第二表的相关联条目中的索引所索引的相应编码视图4的参考视图的相对相机参数8。换句话说,如果对于编码视图,存在变化的相对相机参数,则编码器可以在片头中提供这些相对相机参数。
根据另一实施例,如果编码视图的相对相机参数的计数超过零(例如,如果标志指示参考视图的数目的计数超过零的每个编码视图的相对相机参数8是存在于第一表中还是存在于3D视频数据流的不超过时间单位的范围的部分内),则编码器被配置为应用使用相对相机参数的编码工具,以形成依赖于相对相机参数的出现的3D视频数据流。换句话说,如果一般存在相对相机参数,则编码器可以使用用于编码 3D视频数据的编码工具。基于不存在或存在相应的相对相机参数,解码器可以使用相同的编码工具来解码3D视频数据流。然而,如果编码工具使用相对相机参数,则编码器可以访问第二表或第三表中的相对相机参数。
图9示出了根据实施例的用于对3D视频数据流进行编码的方法 900。方法900包括将来自3D视频数据的编码视图集合编码为3D视频数据流和时间单位的步骤902,以及将超过所述时间单位的范围的参数集编码到3D视频数据流中的步骤904,所述参数集包括具有针对每个编码视图的条目的第一表,针对相应编码视图,所述第一表通过索引来指示多个参考视图,其中,在数据流中存在针对所述参考视图的相对相机参数。
图10示出根据实施例的对3D视频数据流进行解码的方法1000。方法1000包括以时间单位解码来自3D视频数据流的编码视图的集合的步骤1002,以及导出参数集的步骤1004,所述参数集包括具有针对每个编码视图的条目的第一表,针对相应编码视图,所述第一表通过索引来指示多个参考视图,其中,在数据流中存在针对所述参考视图的相对相机参数,所述参数集(6)的范围超过所述时间单位的范围。
一般而言,本发明的另外的实施例涉及以下示例:
1、一种3D视频数据流(2),包括:
位于时间单位中的编码视图的集合(4,4a,4b),针对每个编码视图,具有编码视图集合中的编码视图(4a,4b)的相对相机参数 (8,8a,8b);
参数集(6),包括第一表(10),所述第一表(10)具有针对每个编码视图(4,4a,4b)的条目,针对与相应编码视图(4a,4b)相关联的相对相机参数(8a,8b)的集合的每个相对相机参数,每个条目包括指示相关联的参考视图的值(11,lla,11b)。
2、根据示例1所述的3D视频数据流(2),其中,参数集(6) 超过了时间单位的范围。
3、根据示例1或2中任一项所述的3D视频数据流(2),其中,所述第一表(10)的每个条目包括指示与相应编码视图相关联的相机参数(8)是否存在于相应参数集中的标志(12)。
4、根据示例1至3中任一项所述的3D视频数据流(2),其中,所述第一表(10)的每个条目包括指示与相应编码视图相关联的相对相机参数的集合的大小(14)的值。
5、根据示例1至4中任一项所述的3D视频数据流(2),其中所述参数集(6)包括第二表(16),所述第二表(16)具有针对每个编码视图(4)的条目,针对所述编码视图(4),相关联的相机参数(8) 存在于参数集(6)中,每个条目包括与相应编码视图(4)相关联并且具有在第一表(10)中指示的大小(14)的相对相机参数(8)的集合,其中,相对相机参数(8)中的每一个与如在所述第一表(10)中所指示的相应参考视图相关联。
6、根据示例1至5中任一项所述的3D视频数据流(2),包括当前编码视图(4a,4b)的时间单位范围参数集(18a,18b),如果相关联的相机参数(8a,8b)不存在于参数集(6)中,则时间单位范围参数集包括第三表(20a,20b),所述第三表(20a,20b)具有针对当前编码视图(4a,4b)的条目,第三表包括与所述当前编码视图(4a, 4b)相关联的相对相机参数(8a,8b)的集合,其中每个所述相对相机参数与如第一表(10)所示的相应参考视图相关联,并且所述相对相机参数的集合具有在第一表中所示的大小(14)。
7、根据示例1至6中任一项所述的3D视频数据流,其中,与相应编码视图(4)相关联的相机参数(8)总是存在于所述参数集(6) 中。
8、根据示例1至7中任一项所述的3D视频数据流(2),其中,与相应编码视图(4)相关联的相机参数(8)总是存在于时间单位范围参数集(18a,18b)中。
9、根据示例1至8中任一项所述的3D视频数据流,其中,与相应编码视图(4)相关联的相机参数(8)存在于时间单位范围参数集 (1ga,18b)中,不依赖于对与相应编码视图(4)相关联的相机参数 (8)是否存在于相应的时间单位范围参数集(18a,18b)中进行指示的标志。
10、根据示例1至9中任一项所述的3D视频数据流(2),其中,所述相对相机参数(8)包括缩放值和偏移值对,所述缩放值和偏移值对用于将相关联的参考视图的深度值转换为相关联的编码视图与相关联的参考视图之间的差异值。
11、根据示例1至10中任一项所述的3D视频数据流(2),其中,所述相对相机参数(8)包括缩放值和偏移值对,所述缩放值和偏移值对用于将相关联的编码视图的深度值转换为相关联的编码视图与相关联的参考视图之间的差异值。
12、根据示例1至11中任一项所述的3D视频数据流(2),其中,所述相对相机参数(8)在所述3D视频数据流(2)的不同时间单位中不同。
13、一种用于从3D视频数据流(2)解码3D视频(24)的解码器(22),
其中,述解码器(22)被配置为:针对每个编码视图,利用编码视图集合中的编码视图的相对相机参数,以时间单位从所述3D视频数据流(2)中解码编码视图的集合(4);
其中,所述解码器(22)被配置为从3D视频数据流(2)中解码参数集(6),所述参数集(6)包括第一表,所述第一表具有针对来自3D视频数据流(2)的每个编码视图的条目,针对与相应编码视图相关联的相对相机参数的集合中的每一个相机参数,每个条目包括指示相关联的参考视图的值;以及
其中,所述解码器(22)被配置为使用所述第一表中指示相关联的参考视图的值从所解码的编码视图集合形成所述3D视频(24)。
14、一种用于将3D视频数据编码成3D视频数据流(2)的编码器(26),其中,所述编码器(26)被配置为:针对每个编码视图,利用编码视图集合中的编码视图的相对相机参数,以时间单位将来自所述3D视频数据的编码视图(4)的集合编码为所述3D视频数据流(2),且其中编码器(26)还被配置为:对参数集(6)进行编码,所述参数集(6)包括第一表,所述第一表具有针对每个编码视图(4)的条目,针对与相应编码视图相关联的相对相机参数的集合中的每一个相机参数,每个条目包括指示相关联的参考视图的值。
15、一种用于解码3D视频数据流的方法(1000),所述方法(1000) 包括:
针对每个编码视图,利用编码视图集合中的编码视图的相对相机参数,以时间单位从所述3D视频数据流中解码编码视图的集合;
从3D视频数据流中解码参数,所述参数包括第一表,所述第一表具有针对每个编码视图的条目,针对与相应编码视图相关联的相对相机参数的集合中的每一个相机参数,每个条目包括指示相关联的参考视图的值。
16、一种用于对3D视频数据流进行编码的方法(900),所述方法(900)包括:
针对每个编码视图,利用编码视图集合中的编码视图的相对相机参数,以时间单位将编码视图的集合编码为3D视频数据流;
将参数集编码到3D视频数据流中,所述参数集包括第一表,所述第一表具有针对每个编码视图的条目,针对与相应编码视图相关联的相对相机参数的集合中的每一个相机参数,每个条目包括指示相关联的参考视图的值。
17、一种计算机程序,当运行在计算机或处理器上时,所述计算机程序用于执行根据示例15或16所述的方法。
应当理解,在本说明书中,线上的信号有时由线的附图标记命名,或者有时由附图标记本身表示,这归因于该线。因此,符号使得具有某一信号的线正在表示该信号本身。线可以是硬连线实现形式的物理线路。然而,在计算机化实现中,物理线路不存在,而是将由线表示的信号从一个计算模块传输到另一个计算模块。
尽管已在框图的背景(其中,所述块表示真实的或逻辑的硬件组件)下描述了本发明,但本发明也可以实现为计算机实施方法。在后者的情况下,块表示相应方法步骤,其中这些步骤代表由对应逻辑或实体硬件块执行的功能性。
虽然已经在装置的上下文中描述了一些方面,但是将清楚的是,这些方面还表示对应方法的描述,其中,块或设备对应于方法步骤或方法步骤的特征。类似地,在方法步骤的上下文中描述的方面也表示对相应块或项或者相应装置的特征的描述。可以由(或使用)硬件装置(诸如,微处理器、可编程计算机或电子电路)来执行一些或全部方法步骤。在一些实施例中,可以由这种装置来执行最重要方法步骤中的某一个或多个方法步骤。
本发明的经传输或编码的信号可以存储在数字存储介质上或可以在诸如无线传输介质的传输介质或诸如因特网的有线传输介质上传输。
取决于某些实现要求,可以在硬件中或在软件中实现本发明的实施例。可以通过使用其上存储有电子可读控制信号的数字存储介质(例如,软盘、DVD、Blu-Ray、CD、ROM、PROM和EPROM、EEPROM 或闪存)来执行所述实现方案,所述控制信号与可编程计算机系统合作(或能够与之合作),使得执行各个方法。因此,数字存储介质可以是计算机可读的。
根据本发明的一些实施例包括具有电子可读控制信号的数据载体,该电子可读控制信号能够与可编程计算机系统协作从而执行本文所述的方法之一。
通常,本发明的实施例可以实现为具有程序代码的计算机程序产品,程序代码可操作以在计算机程序产品在计算机上运行时执行方法之一。程序代码可以例如存储在机器可读载体上。
其他实施例包括存储在机器可读载体上的计算机程序,该计算机程序用于执行本文所述的方法之一。
换言之,本发明方法的实施例因此是具有程序代码的计算机程序,该程序代码用于在计算机程序在计算机上运行时执行本文所述的方法之一。
因此,本发明方法的另一实施例是数据载体(或诸如数字存储介质或计算机可读介质的非暂时性存储介质),包含记录于其上的用于执行本文所述方法之一的计算机程序。数据载体、数字存储介质或记录的介质通常是有形的和/或非暂时性的。
因此,本发明方法的另一实施例是表示用于执行本文所述的方法之一的计算机程序的数据流或信号序列。数据流或信号序列可以例如被配置为经由数据通信连接(例如,经由互联网)传送。
另一实施例包括处理装置,例如,配置为或适用于执行本文所述的方法之一的计算机或可编程逻辑器件。
另一实施例包括其上安装有计算机程序的计算机,该计算机程序用于执行本文所述的方法之一。
根据本发明的另一实施例包括被配置为向接收机(例如,以电子方式或以光学方式)传输计算机程序的装置或系统,该计算机程序用于执行本文所述的方法之一。接收机可以是例如计算机、移动设备、存储设备等。装置或系统可以例如包括用于向接收机传送计算机程序的文件服务器。
在一些实施例中,可编程逻辑器件(例如,现场可编程门阵列) 可以用于执行本文所述的方法的一些或全部功能。在一些实施例中,现场可编程门阵列可以与微处理器协作以执行本文所述的方法之一。通常,方法优选地由任意硬件装置来执行。
上述实施例对于本发明的原理仅是说明性的。应当理解的是:本文所述的布置和细节的修改和变形对于本领域其他技术人员将是显而易见的。因此,旨在仅由所附专利权利要求的范围来限制而不是由借助对本文的实施例的描述和解释所给出的具体细节来限制。
参考文献
Y.-L.Chang,Y.-P.Tsai,S.Lei,D.Tian,A.Vetro,″3D-HEVC HLS: Cameraparameter signaling and Depth reference selection″; JCT3V-D0140
G.Tech,K.Wegner,Y.Chen,S.Yea,″3D-HEVC Draft Text 6″; JCT3v-J1001
Claims (7)
1.一种用于对3D视频数据流进行编码的方法(900),所述方法(900)包括:
以时间单位将来自3D视频数据的编码视图的集合编码为所述3D视频数据流;
将超过所述时间单位的范围的参数集编码到所述3D视频数据流中,所述参数集包括:
具有针对每个编码视图的条目的第一表,所述第一表包括:
第一值,指示与所述相应编码视图相关联的相对相机参数的集合的大小(14),
如果与所述相应编码视图相关联的相对相机参数的集合的大小不等于0,则所述第一表包括:
第一标记(12),指示与所述相应编码视图相关联的相对相机参数(8、8a、8b)的集合是否存在于所述参数集中,
针对与所述相应编码视图(4a、4b)相关联的相对相机参数(8a、8b)的集合中的每个相对相机参数,所述第一表包括:
第二值(11、11a、11b),指示与相应的相对相机参数相关联的参考视图,以及
第二表(16),具有针对每个编码视图(4、4a、4b)的条目,针对所述每个编码视图,与所述相应编码视图相关联的相对相机参数(8、8a、8b)的集合存在于所述参数集中,所述第二表包括:
所述相对相机参数(8)的集合,所述相对相机参数(8)的集合与所述相应编码视图(4)相关联并具有在所述第一表(10)中指示的大小(14),其中,所述相对相机参数的集合的每个相对相机参数如所述第一表(10)中的所述第二值所指示地与所述参考视图相关联,针对所述相应编码视图,通过索引来指示多个参考视图,其中,在数据流中存在针对所述参考视图的相对相机参数。
2.根据权利要求1所述的方法,其中,针对相对相机参数(8)未存在于所述参数集中的预定编码视图,提供:
在由所述参数集的范围包围的每个时间单位内,
所述预定编码视图(4a,4b)的片段报头(18a,18b),所述片段报头(18a,18b)具有第三表(20a,20b),所述第三表(20a,20b)包括与所述预定编码视图相关联的相对相机参数(8a、8b)的集合,其中,所述相对相机参数的集合的每个相对相机参数如所述第一表(10)中的所述第二值所指示地与所述参考视图相关联,以及其中,所述相对相机参数的集合具有由所述第一表中的所述第一值指示的大小(14)。
3.根据权利要求1所述的方法,其中,所述相对相机参数(8)包括缩放值和偏移值对,所述缩放值和偏移值对用于将相关联的参考视图的深度值转换为相关联的编码视图与相关联的参考视图之间的差异值。
4.一种解码器(22),
其中,所述解码器(22)被配置为以时间单位从3D视频数据流(2)中解码编码视图(4)的集合;
其中,所述解码器(22)被配置为从所述3D视频数据流中导出参数集(6),所述参数集(6)包括:
具有针对每个编码视图的条目的第一表,所述第一表包括:
第一值,指示与所述相应编码视图相关联的相对相机参数的集合的大小(14),
如果与所述相应编码视图相关联的相对相机参数的集合的大小不等于0,则所述第一表包括:
第一标记(12),指示与所述相应编码视图相关联的相对相机参数(8、8a、8b)的集合是否存在于所述参数集中,
针对与所述相应编码视图(4a、4b)相关联的相对相机参数(8a、8b)的集合中的每个相对相机参数,所述第一表包括:
第二值(11、1la、11b),指示与相应的相对相机参数相关联的参考视图,以及
第二表(16),具有针对每个编码视图(4、4a、4b)的条目,针对所述每个编码视图,与所述相应编码视图相关联的相对相机参数(8、8a、8b)的集合存在于所述参数集中,所述第二表包括:
所述相对相机参数(8)的集合,所述相对相机参数(8)的集合与所述相应编码视图(4)相关联并具有在所述第一表(10)中指示的大小(14),其中,所述相对相机参数的集合的每个相对相机参数如所述第一表(10)中的所述第二值所指示地与所述参考视图相关联,
其中,所述参数集(6)的范围超过所述时间单位的范围。
5.一种用于将3D视频数据编码为3D视频数据流(2)的编码器(26),
其中,所述编码器(26)被配置为以时间单位将来自所述3D视频数据的编码视图(4)的集合编码为所述3D视频数据流(2);
其中,所述编码器(26)还被配置为对参数集(6)进行编码,所述参数集(6)包括:
具有针对每个编码视图(4)的条目的第一表,所述第一表包括:
第一值,指示与所述相应编码视图相关联的相对相机参数的集合的大小(14),
如果与所述相应编码视图相关联的相对相机参数的集合的大小不等于0,则所述第一表包括:
第一标记(12),指示与所述相应编码视图相关联的相对相机参数(8、8a、8b)的集合是否存在于所述参数集中,
针对与所述相应编码视图(4a、4b)相关联的相对相机参数(8a、8b)的集合中的每个相对相机参数,所述第一表包括:
第二值(11、11a、11b),指示与相应的相对相机参数相关联的参考视图,以及
第二表(16),具有针对每个编码视图(4、4a、4b)的条目,针对所述每个编码视图,与所述相应编码视图相关联的相对相机参数(8、8a、8b)的集合存在于所述参数集中,所述第二表包括:
所述相对相机参数(8)的集合,所述相对相机参数(8)的集合与所述相应编码视图(4)相关联并具有在所述第一表(10)中指示的大小(14),其中,所述相对相机参数的集合的每个相对相机参数如所述第一表(10)中的所述第二值所指示地与所述参考视图相关联,
其中,所述参数集(6)的范围超过所述时间单位的范围。
6.一种用于解码3D视频数据流的方法(1000),所述方法(1000)包括:
以时间单位从所述3D视频数据流解码编码视图的集合;
从所述3D视频数据流中导出参数集,所述参数集包括:
具有针对每个编码视图的条目的第一表,所述第一表包括:
第一值,指示与所述相应编码视图相关联的相对相机参数的集合的大小(14),
如果与所述相应编码视图相关联的相对相机参数的集合的大小不等于0,则所述第一表包括:
第一标记(12),指示与所述相应编码视图相关联的相对相机参数(8、8a、8b)的集合是否存在于所述参数集中,
针对与所述相应编码视图(4a、4b)相关联的相对相机参数(8a、8b)的集合中的每个相对相机参数,所述第一表包括:
第二值(11、11a、11b),指示与相应的相对相机参数相关联的参考视图,以及
第二表(16),具有针对每个编码视图(4、4a、4b)的条目,针对所述每个编码视图,与所述相应编码视图相关联的相对相机参数(8、8a、8b)的集合存在于所述参数集中,所述第二表包括:
所述相对相机参数(8)的集合,所述相对相机参数(8)的集合与所述相应编码视图(4)相关联并具有在所述第一表(10)中指示的大小(14),其中,所述相对相机参数的集合的每个相对相机参数如所述第一表(10)中的所述第二值所指示地与所述参考视图相关联,
其中,所述参数集(6)的范围超过所述时间单位的范围。
7.一种存储计算机程序的计算机可读介质,当运行在计算机或处理器上时,所述计算机程序用于执行根据权利要求1或权利要求6所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP15154021 | 2015-02-05 | ||
EPEP15154021.8 | 2015-02-05 | ||
PCT/EP2016/052406 WO2016124701A1 (en) | 2015-02-05 | 2016-02-04 | 3d video data stream comprising a value table associating reference views and camera parameter in temporal unit scope and beyond temporal unit scope parameter sets and an encoder for encoding and a decoder for decoding the 3d video data stream |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107484438A CN107484438A (zh) | 2017-12-15 |
CN107484438B true CN107484438B (zh) | 2020-08-28 |
Family
ID=52462178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680020915.6A Active CN107484438B (zh) | 2015-02-05 | 2016-02-04 | 用于3d视频数据流的编解码方法和相应的编解码器 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10432969B2 (zh) |
EP (1) | EP3254464B1 (zh) |
CN (1) | CN107484438B (zh) |
PL (1) | PL3254464T3 (zh) |
WO (1) | WO2016124701A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11196977B2 (en) | 2019-09-24 | 2021-12-07 | Sony Group Corporation | Unified coding of 3D objects and scenes |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103748882A (zh) * | 2011-07-22 | 2014-04-23 | 高通股份有限公司 | 支持内侧视图运动预测模式的以多重视图译码为基础的三维视频译码编解码器 |
-
2016
- 2016-02-04 WO PCT/EP2016/052406 patent/WO2016124701A1/en active Application Filing
- 2016-02-04 CN CN201680020915.6A patent/CN107484438B/zh active Active
- 2016-02-04 PL PL16703113T patent/PL3254464T3/pl unknown
- 2016-02-04 EP EP16703113.7A patent/EP3254464B1/en active Active
-
2017
- 2017-08-04 US US15/668,939 patent/US10432969B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103748882A (zh) * | 2011-07-22 | 2014-04-23 | 高通股份有限公司 | 支持内侧视图运动预测模式的以多重视图译码为基础的三维视频译码编解码器 |
Non-Patent Citations (2)
Title |
---|
Karsten Sühring et al..Proposed HLS Cleanup for 3D-HEVC.《Joint Collaborative Team on 3D Video Coding Extensions of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11;11th Meeting: Geneva, CH, 12 – 18 February 2015;JCT3V-K0050》.2015, * |
Yu-Lin Chang et al..3D-HEVC HLS: Camera parameter signaling and Depth reference selection.《Joint Collaborative Team on 3D Video Coding Extensions of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11;4th Meeting: Incheon, KR, 20–26 Apr. 2013;JCT3V-D0140》.2013, * |
Also Published As
Publication number | Publication date |
---|---|
EP3254464B1 (en) | 2020-12-23 |
PL3254464T3 (pl) | 2021-06-28 |
WO2016124701A1 (en) | 2016-08-11 |
EP3254464A1 (en) | 2017-12-13 |
CN107484438A (zh) | 2017-12-15 |
US20170332101A1 (en) | 2017-11-16 |
US10432969B2 (en) | 2019-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2893011C (en) | Method and apparatus for efficient coding of depth lookup table | |
KR101921646B1 (ko) | 확장 메커니즘을 사용하는 계층 식별 시그널링 | |
CN108429917B (zh) | 视频编码及解码方法、装置及系统 | |
KR101779313B1 (ko) | 깊이 룩업 테이블 시그널링을 위한 방법 | |
BR102013001124A2 (pt) | Ocultação de múltiplos bits de sinal dentro de uma unidade transformada | |
JP6511677B2 (ja) | ピクチャ順序カウントの符号化方法及び装置、復号化方法及び装置、電子機器 | |
CN102511164A (zh) | 用于基于跳过模式对图像进行编码和解码的方法和设备 | |
CN102870419B (zh) | 三维图像数据编码方法和装置以及解码方法和装置 | |
JP2011103589A5 (zh) | ||
US10033982B2 (en) | Method and device for decoding and encoding supplemental auxiliary information of three-dimensional video sequence | |
WO2016124711A1 (en) | 3d-video codec supporting inter-component prediction | |
EP1527613B1 (en) | Method and apparatus for encoding a digital video signal | |
EP2920970A1 (en) | Method and apparatus for prediction value derivation in intra coding | |
JP2016519501A5 (zh) | ||
KR101476532B1 (ko) | Hevc nal 유닛 구문 구조의 확장 | |
JP2012227929A (ja) | 3次元ビデオ信号を符号化する符号化方法及び符号化装置並びに対応する復号化方法及び復号化装置 | |
CN107484438B (zh) | 用于3d视频数据流的编解码方法和相应的编解码器 | |
US11315289B2 (en) | Adaptive depth guard band | |
CN109845259B (zh) | 编码和解码图像参数的方法、编码和解码图像参数的设备 | |
ES2963550T3 (es) | Incorporación de datos dentro de coeficientes transformados usando operaciones de reparto de bits | |
WO2013075515A1 (zh) | 多视点视频的编码、解码方法、装置和编解码器 | |
CN107005704B (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 |