CN104813669A - 用于视频编码的方法和装置 - Google Patents

用于视频编码的方法和装置 Download PDF

Info

Publication number
CN104813669A
CN104813669A CN201380060994.XA CN201380060994A CN104813669A CN 104813669 A CN104813669 A CN 104813669A CN 201380060994 A CN201380060994 A CN 201380060994A CN 104813669 A CN104813669 A CN 104813669A
Authority
CN
China
Prior art keywords
depth
field
view
block
texture
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
Application number
CN201380060994.XA
Other languages
English (en)
Other versions
CN104813669B (zh
Inventor
M·安尼克塞拉
D·拉萨诺维斯基
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Oyj
Nokia Technologies Oy
Original Assignee
Nokia Technologies Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Technologies Oy filed Critical Nokia Technologies Oy
Publication of CN104813669A publication Critical patent/CN104813669A/zh
Application granted granted Critical
Publication of CN104813669B publication Critical patent/CN104813669B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

公开了用于视频编码的各种方法、装置和计算机程序产品。在一些实施例中,用于编码的方法包括:检查与纹理块被共同定位的景深块的可用性,基于被共同定位的景深块的可用性来确定用于纹理块的预测方法;以及基于被共同定位的景深块的可用性来导出用于纹理块的第一预测块。该方法还包括:如果被共同定位的景深块可用,则基于被共同定位的景深块导出用于纹理块的第一预测块;并且否则,在不使用被共同定位的景深块的情况下导出用于纹理块的第二预测块。还公开了用于视频解码的各种方法、装置和计算机程序产品的相应方法。

Description

用于视频编码的方法和装置
技术领域
本申请总体上涉及一种用于视频编码和解码的装置、方法和计算机程序。
背景技术
本节旨在于提供在权利要求中记载的本发明的背景或者上下文。这里的描述可以包括如下概念,这些概念可以被探求但是未必是先前已经设想或者探求的概念。因此,除非这里另有指示,在本节中描述的内容不是在本申请中的说明书和权利要求书之前的现有技术并且不因包含于本节中而被承认为现有技术。
视频编码系统可以包括将输入视频变换成适合用于存储/传输的压缩表示的编码器和可以将压缩视频表示解压回可查看形式的解码器。编码器可以丢弃原有视频序列中的一些信息,以便以更紧凑形式表示视频以例如实现视频信息在比以别的方式可能需要的比特率更低的比特率的存储/传输。
可伸缩视频编码是指编码结构,其中一个比特流可以包含内容在不同比特率、分辨率、帧速率和/或其它类型的可伸缩性的多个表示。可伸缩比特流可以由提供可用最低质量视频的基础层以及在与更低层一起接收和解码时增强视频质量的一个或者多个增强层。为了提高用于增强层的编码效率,该层的编码表示可以依赖于更低层。每层与所有它的依赖层一起是视频信号在某个空间分辨率、时间分辨率、质量水平和/或其它类型的可伸缩性的操作点的一个表示。
当前考察和开发用于提供三维(3D)视频内容的各种技术。具体而言,密集研究已经被聚焦于各种多视图应用,其中查看者能够仅看见来自具体视点的一对立体视频以及来自不同视点的另一对立体视频。用于这样的多视图应用的最可行方式之一已经转向这样的方式,其中向解码器侧仅提供有限数目的输入视图,例如单一或者立体视频加上一些补充数据,并且所有需要的视图然后被解码器本地渲染(即合成)以在显示器上被显示。
在对3D视频内容的编码中,可以使用视频压缩系统,比如高级视频编码标准H.264/AVC或者H.264/AVC的多视图视频编码MVC扩展。
发明内容
一些实施例提供一种用于编码和解码视频信息的方法。在该方法的一些实施例中,一种用于纹理块的预测方法可以基于被共同定位的景深块的可用性而被确定;并且基于被共同定位的景深块的可用性,如果被共同定位的景深块可用,则用于纹理块的第一预测块可以基于被共同定位的景深块而被导出。如果被共同定位的景深块不可用,则用于纹理块的第二预测块可以在不使用被共同定位的景深块的情况下被导出。
在详细描述中提供本发明的示例的各个方面。
根据本发明的第一方面,提供一种方法,该方法包括:
检查与纹理块被共同定位的景深块的可用性;
基于被共同定位的景深块的可用性,确定用于纹理块的预测方法;以及
如果被共同定位的景深块可用,则基于被共同定位的景深块的可用性导出用于纹理块的第一预测块;并且否则,在不使用被共同定位的景深块的情况下导出用于纹理块的第二预测块。
根据本发明的第二方面,提供一种方法,该方法包括:
检查与纹理块被共同定位的景深块的可用性;
基于被共同定位的景深块的可用性,确定用于纹理块的预测方法;以及
如果被共同定位的景深块可用,则基于被共同定位的景深块的可用性导出用于纹理块的第一预测块;并且否则,在不使用被共同定位的景深块的情况下导出用于纹理块的第二预测块。
根据本发明的第三方面,提供一种装置,该装置包括至少一个处理器和至少一个存储器,至少一个存储器包括计算机程序代码,至少一个存储器和计算机程序代码被配置为与至少一个处理器一起使该装置:
检查与纹理块被共同定位的景深块的可用性;
基于被共同定位的景深块的可用性,确定用于纹理块的预测方法;以及
如果被共同定位的景深块可用,则基于被共同定位的景深块导出用于纹理块的第一预测块;并且否则,在不使用被共同定位的景深块的情况下导出用于纹理块的第二预测块。
根据本发明的第四方面,提供一种装置,该装置包括至少一个处理器和至少一个存储器,至少一个存储器包括计算机程序代码,至少一个存储器和计算机程序代码被配置为与至少一个处理器一起使该装置:
检查与纹理块被共同定位的景深块的可用性;
基于被共同定位的景深块的可用性,确定用于纹理块的预测方法;以及
如果被共同定位的景深块可用,则基于被共同定位的景深块导出用于纹理块的第一预测块;并且否则,在不使用被共同定位的景深块的情况下导出用于纹理块的第二预测块。
根据本发明的第五方面,提供一种装置,该装置包括:
用于检查与纹理块被共同定位的景深块的可用性的部件;
用于基于被共同定位的景深块的可用性来确定用于纹理块的预测方法的部件;以及
用于如果被共同定位的景深块可用则基于被共同定位的景深块导出用于纹理块的第一预测块、并且否则在不使用被共同定位的景深块的情况下导出用于纹理块的第二预测块的部件。
根据本发明的第六方面,提供一种装置,该装置包括:
用于检查与纹理块被共同定位的景深块的可用性的部件;
用于基于被共同定位的景深块的可用性来确定用于纹理块的预测方法的部件;以及
用于如果被共同定位的景深块可用则基于被共同定位的景深块导出用于纹理块的第一预测块、并且否则在不使用被共同定位的景深块的情况下导出用于纹理块的第二预测块的部件。
根据本发明的第七方面,提供一种计算机程序产品,计算机程序产品包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使装置至少执行以下操作:
检查与纹理块被共同定位的景深块的可用性;
基于被共同定位的景深块的可用性,确定用于纹理块的预测方法;以及
如果被共同定位的景深块可用,则基于被共同定位的景深块导出用于纹理块的第一预测块;并且否则,在不使用被共同定位的景深块的情况下导出用于纹理块的第二预测块。
根据本发明的第八方面,提供一种计算机程序产品,计算机程序产品包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使装置至少执行以下操作:
检查与纹理块被共同定位的景深块的可用性;
基于被共同定位的景深块的可用性,确定用于纹理块的预测方法;以及
如果被共同定位的景深块可用,则基于被共同定位的景深块导出用于纹理块的第一预测块;并且否则,在不使用被共同定位的景深块的情况下导出用于纹理块的第二预测块。
根据本发明的第九方面,提供一种方法,该方法包括:
接收、捕捉或导出一个或多个输入纹理视图以及一个或多个输入景深视图;
确定哪些输入纹理视图和输入景深视图被编码;
对一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示进行编码;以及
对被确定要被编码到比特流中的输入纹理视图和输入景深视图进行编码,其中编码的纹理视图和编码的景深视图具有以下特征中的一个或多个特征:
-编码的景深视图表示不被比特流的任何编码的纹理视图表示的视点;
-两个或更多个编码的景深视图表示同一视点;
-第一编码的景深视图包括第一景深图类型的景深视图分量,并且第二编码的景深视图包括第二景深图类型的景深视图分量,第一景深图类型和第二景深图类型是不同的;
-编码的景深视图和编码的纹理视图表示同一视点,第一采样网格用于编码的景深视图的景深视图分量,并且第二采样网格用于编码的纹理视图的纹理视图分量,并且第一采样网格和第二采样网格具有以下特征中的一个或多个特征:
°第一采样网格的水平或垂直采样尺寸分别与第二采样网格的水平或垂直采样尺寸的比率不是整数;
°第一采样网格不覆盖与第二采样网格相同的采样区域。
根据本发明的第十方面,提供一种方法,该方法包括:
接收、捕捉或导出一个或多个输入纹理视图以及一个或多个输入景深视图;
确定哪些输入纹理视图和输入景深视图被编码,其中该确定包括以下各项中的一项或多项:
°推断是否需要输入景深视图以用于预测一个或多个编码的纹理视图中的任何一个编码的纹理视图,并且确定需要用于预测一个或多个编码的纹理视图中的任何一个编码的纹理视图的景深视图被编码,而不需要用于预测一个或多个编码的纹理视图中的任何一个编码的纹理视图的景深视图不被编码;
°接收基于比特流期望或知晓哪些纹理视图要被输出的信息,并且确定编码的纹理视图和景深视图,以方便对期望或知晓要被输出的所述纹理视图进行解码或者视图合成;
对被确定要被编码到比特流中的输入纹理视图和输入景深视图进行编码;以及
对一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示进行编码。
根据本发明的第十一方面,提供一种方法,该方法包括:
接收一个或多个编码的纹理视图以及一个或多个编码的景深视图;
对一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示进行解码,以确定哪些输入纹理视图和输入景深视图已经被编码;以及
从比特流对编码的纹理视图和编码的景深视图进行解码,其中编码的纹理视图和编码的景深视图具有以下特征中的一个或多个特征:
-编码的景深视图表示不被比特流的任何编码的纹理视图表示的视点;
-两个或更多个编码的景深视图表示同一视点;
-第一编码的景深视图包括第一景深图类型的景深视图分量,并且第二编码的景深视图包括第二景深图类型的景深视图分量,第一景深图类型和第二景深图类型是不同的;
-编码的景深视图和编码的纹理视图表示同一视点,第一采样网格用于编码的景深视图的景深视图分量,并且第二采样网格用于编码的纹理视图的纹理视图分量,并且第一采样网格和第二采样网格具有以下特征中的一个或多个特征:
°第一采样网格的水平或垂直采样尺寸分别与第二采样网格的水平或垂直采样尺寸的比率不是整数;
°第一采样网格不覆盖与第二采样网格相同的采样区域。
根据本发明的第十二方面,提供一种装置,该装置包括至少一个处理器和至少一个存储器,至少一个存储器包括计算机程序代码,至少一个存储器和计算机程序代码被配置为与至少一个处理器一起使该装置:
接收、捕捉或导出一个或多个输入纹理视图以及一个或多个输入景深视图;
确定哪些输入纹理视图和输入景深视图被编码;
对一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示进行编码;以及
对被确定要被编码到比特流中的输入纹理视图和输入景深视图进行编码,其中编码的纹理视图和编码的景深视图具有以下特征中的一个或多个特征:
-编码的景深视图表示不被比特流的任何编码的纹理视图表示的视点;
-两个或更多个编码的景深视图表示同一视点;
-第一编码的景深视图包括第一景深图类型的景深视图分量,并且第二编码的景深视图包括第二景深图类型的景深视图分量,第一景深图类型和第二景深图类型是不同的;
-编码的景深视图和编码的纹理视图表示同一视点,第一采样网格用于编码的景深视图的景深视图分量,并且第二采样网格用于编码的纹理视图的纹理视图分量,并且第一采样网格和第二采样网格具有以下特征中的一个或多个特征:
°第一采样网格的水平或垂直采样尺寸分别与第二采样网格的水平或垂直采样尺寸的比率不是整数;
°第一采样网格不覆盖与第二采样网格相同的采样区域。
根据本发明的第十三方面,提供一种装置,该装置包括至少一个处理器和至少一个存储器,至少一个存储器包括计算机程序代码,至少一个存储器和计算机程序代码被配置为与至少一个处理器一起使该装置:
接收、捕捉或导出一个或多个输入纹理视图以及一个或多个输入景深视图;
确定哪些输入纹理视图和输入景深视图被编码,其中该确定包括以下各项中的一项或多项:
°推断是否需要输入景深视图以用于预测一个或多个编码的纹理视图中的任何一个编码的纹理视图,并且确定需要用于预测一个或多个编码的纹理视图中的任何一个编码的纹理视图的景深视图被编码,而不需要用于预测一个或多个编码的纹理视图中的任何一个编码的纹理视图的景深视图不被编码;
°接收基于比特流期望或知晓哪些纹理视图要被输出的信息,并且确定编码的纹理视图和景深视图,以方便对期望或知晓要被输出的所述纹理视图进行解码或者视图合成;
对被确定要被编码到比特流中的输入纹理视图和输入景深视图进行编码;以及
对一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示进行编码。
根据本发明的第十四方面,提供一种装置,该装置包括至少一个处理器和至少一个存储器,至少一个存储器包括计算机程序代码,至少一个存储器和计算机程序代码被配置为与至少一个处理器一起使该装置:
接收一个或多个编码的纹理视图以及一个或多个编码的景深视图;
对一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示进行解码,以确定哪些输入纹理视图和输入景深视图已经被编码;以及
从比特流对编码的纹理视图和编码的景深视图进行解码,其中编码的纹理视图和编码的景深视图具有以下特征中的一个或多个特征:
-编码的景深视图表示不被比特流的任何编码的纹理视图表示的视点;
-两个或更多个编码的景深视图表示同一视点;
-第一编码的景深视图包括第一景深图类型的景深视图分量,并且第二编码的景深视图包括第二景深图类型的景深视图分量,第一景深图类型和第二景深图类型是不同的;
-编码的景深视图和编码的纹理视图表示同一视点,第一采样网格用于编码的景深视图的景深视图分量,并且第二采样网格用于编码的纹理视图的纹理视图分量,并且第一采样网格和第二采样网格具有以下特征中的一个或多个特征:
°第一采样网格的水平或垂直采样尺寸分别与第二采样网格的水平或垂直采样尺寸的比率不是整数;
°第一采样网格不覆盖与第二采样网格相同的采样区域。
根据本发明的第十五方面,提供一种装置,该装置包括:
用于接收、捕捉或导出一个或多个输入纹理视图以及一个或多个输入景深视图的部件;
用于确定哪些输入纹理视图和输入景深视图被编码的部件;
用于对一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示进行编码的部件;以及
用于对被确定要被编码到比特流中的输入纹理视图和输入景深视图进行编码的部件,其中编码的纹理视图和编码的景深视图具有以下特征中的一个或多个特征:
-编码的景深视图表示不被比特流的任何编码的纹理视图表示的视点;
-两个或更多个编码的景深视图表示同一视点;
-第一编码的景深视图包括第一景深图类型的景深视图分量,并且第二编码的景深视图包括第二景深图类型的景深视图分量,第一景深图类型和第二景深图类型是不同的;
-编码的景深视图和编码的纹理视图表示同一视点,第一采样网格用于编码的景深视图的景深视图分量,并且第二采样网格用于编码的纹理视图的纹理视图分量,并且第一采样网格和第二采样网格具有以下特征中的一个或多个特征:
°第一采样网格的水平或垂直采样尺寸分别与第二采样网格的水平或垂直采样尺寸的比率不是整数;
°第一采样网格不覆盖与第二采样网格相同的采样区域。
根据本发明的第十六方面,提供一种装置,该装置包括:
用于接收、捕捉或导出一个或多个输入纹理视图以及一个或多个输入景深视图的部件;
用于确定哪些输入纹理视图和输入景深视图被编码的部件,其中用于确定的部件包括以下各项中的一项或多项:
°用于推断是否需要输入景深视图以用于预测一个或多个编码的纹理视图中的任何一个编码的纹理视图、并且确定需要用于预测一个或多个编码的纹理视图中的任何一个编码的纹理视图的景深视图被编码而不需要用于预测一个或多个编码的纹理视图中的任何一个编码的纹理视图的景深视图不被编码的部件;
°用于接收基于比特流期望或知晓哪些纹理视图要被输出的信息、并且确定编码的纹理视图和景深视图以方便对期望或知晓要被输出的所述纹理视图进行解码或者视图合成的部件;
用于对被确定要被编码到比特流中的输入纹理视图和输入景深视图进行编码的部件;以及
用于对一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示进行编码的部件。
根据本发明的第十七方面,提供一种装置,该装置包括:
用于接收一个或多个编码的纹理视图以及一个或多个编码的景深视图的部件;
用于对一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示进行解码以确定哪些输入纹理视图和输入景深视图已经被编码的部件;以及
用于从比特流对编码的纹理视图和编码的景深视图进行解码的部件,其中编码的纹理视图和编码的景深视图具有以下特征中的一个或多个特征:
-编码的景深视图表示不被比特流的任何编码的纹理视图表示的视点;
-两个或更多个编码的景深视图表示同一视点;
-第一编码的景深视图包括第一景深图类型的景深视图分量,并且第二编码的景深视图包括第二景深图类型的景深视图分量,第一景深图类型和第二景深图类型是不同的;
-编码的景深视图和编码的纹理视图表示同一视点,第一采样网格用于编码的景深视图的景深视图分量,并且第二采样网格用于编码的纹理视图的纹理视图分量,并且第一采样网格和第二采样网格具有以下特征中的一个或多个特征:
°第一采样网格的水平或垂直采样尺寸分别与第二采样网格的水平或垂直采样尺寸的比率不是整数;
°第一采样网格不覆盖与第二采样网格相同的采样区域。
根据本发明的第十八方面,提供一种计算机程序产品,计算机程序产品包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使装置至少执行以下操作:
接收、捕捉或导出一个或多个输入纹理视图以及一个或多个输入景深视图;
确定哪些输入纹理视图和输入景深视图被编码;
对一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示进行编码;以及
对被确定要被编码到比特流中的输入纹理视图和输入景深视图进行编码,其中编码的纹理视图和编码的景深视图具有以下特征中的一个或多个特征:
-编码的景深视图表示不被比特流的任何编码的纹理视图表示的视点;
-两个或更多个编码的景深视图表示同一视点;
-第一编码的景深视图包括第一景深图类型的景深视图分量,并且第二编码的景深视图包括第二景深图类型的景深视图分量,第一景深图类型和第二景深图类型是不同的;
-编码的景深视图和编码的纹理视图表示同一视点,第一采样网格用于编码的景深视图的景深视图分量,并且第二采样网格用于编码的纹理视图的纹理视图分量,并且第一采样网格和第二采样网格具有以下特征中的一个或多个特征:
°第一采样网格的水平或垂直采样尺寸分别与第二采样网格的水平或垂直采样尺寸的比率不是整数;
°第一采样网格不覆盖与第二采样网格相同的采样区域。
根据本发明的第十九方面,提供一种计算机程序产品,计算机程序产品包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使装置至少执行以下操作:
接收、捕捉或导出一个或多个输入纹理视图以及一个或多个输入景深视图;
确定哪些输入纹理视图和输入景深视图被编码,其中该确定包括以下各项中的一项或多项:
°推断是否需要输入景深视图以用于预测一个或多个编码的纹理视图中的任何一个编码的纹理视图,并且确定需要用于预测一个或多个编码的纹理视图中的任何一个编码的纹理视图的景深视图被编码,而不需要用于预测一个或多个编码的纹理视图中的任何一个编码的纹理视图的景深视图不被编码;
°接收基于比特流期望或知晓哪些纹理视图要被输出的信息,并且确定编码的纹理视图和景深视图,以方便对期望或知晓要被输出的所述纹理视图进行解码或者视图合成;
对被确定要被编码到比特流中的输入纹理视图和输入景深视图进行编码;以及
对一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示进行编码。
根据本发明的第二十方面,提供一种计算机程序产品,计算机程序产品包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使装置至少执行以下操作:
接收一个或多个编码的纹理视图以及一个或多个编码的景深视图;
对一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示进行解码,以确定哪些输入纹理视图和输入景深视图已经被编码;以及
从比特流对编码的纹理视图和编码的景深视图进行解码,其中编码的纹理视图和编码的景深视图具有以下特征中的一个或多个特征:
-编码的景深视图表示不被比特流的任何编码的纹理视图表示的视点;
-两个或更多个编码的景深视图表示同一视点;
-第一编码的景深视图包括第一景深图类型的景深视图分量,并且第二编码的景深视图包括第二景深图类型的景深视图分量,第一景深图类型和第二景深图类型是不同的;
-编码的景深视图和编码的纹理视图表示同一视点,第一采样网格用于编码的景深视图的景深视图分量,并且第二采样网格用于编码的纹理视图的纹理视图分量,并且第一采样网格和第二采样网格具有以下特征中的一个或多个特征:
°第一采样网格的水平或垂直采样尺寸分别与第二采样网格的水平或垂直采样尺寸的比率不是整数;
°第一采样网格不覆盖与第二采样网格相同的采样区域。
根据本发明的第二十一方面,提供一种方法,该方法包括:
从比特流接收第一视点的第一景深视图,比特流不包括第一视点的纹理视图,
对第一景深视图进行解码,
基于解码的第一景深视图,对第一视点使用后向视图合成。
附图说明
为了更完整理解本发明的示例实施例,现在参照结合附图进行的以下描述,在附图中:
图1示意地示出运用本发明的一些实施例的电子设备;
图2示意地示出适合用于运用本发明的一些实施例的用户设备;
图3进一步示意地示出使用无线和有线网络连接而连接的运用本发明的实施例的电子设备;
图4a示意地示出如在编码器内结合的本发明的实施例;
图4b示意地示出根据本发明的一些实施例的帧间预测器的实施例;
图5示出基于DIBR的3DV系统的简化模型;
图6示出立体相机设置的简化2D模型;
图7示出访问单元的定义和编码顺序的示例;
图8示出能够对纹理视图和景深视图进行编码的编码器的实施例的高级流程图;
图9示出能够对纹理视图和景深视图进行解码的解码器的实施例的高级流程图;
图10示出用于在编码器内的景深映射编码的示例处理流程;
图11示出编码器的用循环内(in-loop)实施方式对两个景深映射视图进行编码的示例;
图12示出锚画面的联合多视图视频和景深编码的示例;
图13示出非锚画面的联合多视图视频和景深编码的示例;
图14描绘用于方向分离的运动矢量预测的示例方法的流程图;
图15a示出用作用于帧内预测的候选的当前编码的块的空间邻域;
图15b示出用作用于帧间预测的候选的当前编码的块的时间邻域;
图16a描绘用于P分片中的跳过模式(skip mode)的基于景深的运动竞争的示例方法的流程图;
图16b描绘用于B分片中的直接模式(direct mode)的基于景深的运动竞争的示例方法的流程图;
图17图示后向视图合成方案的示例。
具体实施方式
在下文中,将在一个视频编码布置的上下文中描述本发明的若干实施例。然而,将注意的是,本发明不限于这一具体布置。事实上,不同实施例广泛地在其中需要改进参考画面操纵的任何环境中具有应用。例如,本发明可以适用于视频编码系统,比如流式系统、DVD播放器、数字电视接收器、个人视频记录器、在个人计算机、手持计算机和通信设备上的系统和计算机程序、以及其中处理视频数据的网元(比如代码转换器和云计算布置)。
H.264/AVC标准由国际电信联盟(ITU-T)的电信标准化部门的视频编码专家组(VCEG)和国际标准化组织(ISO)/国际电工委员会(IEC)的运动图片专家组(MPEG)的联合视频团队(JVT)开发。H.264/AVC标准由两个母标准组织发布,并且它被称为ITU-T推荐H.264和ISO/IEC国际标准14496-10,也称为MPEG-4部分10高级视频编码(AVC)。已经有H.264/AVC标准的多个版本,每个版本向规范集成新扩展或者特征。这些扩展包括可伸缩视频编码(SVC)和多视图视频编码(MVC)。
有VCEG和MPEG的联合协作团队-视频编码(JCT-VC)对高效率视频编码(HEVC)的当前进行中的标准化项目。
在这一节中描述H.264/AVC和HEVC的一些关键定义、比特流和编码结构以及概念作为其中可以对实施例进行实施的视频编码器、解码器、编码方法、解码方法和比特流结构的示例。H.264/AVC的关键定义、比特流和编码结构以及概念中的一些关键定义、比特流和编码结构以及概念与在草案HEVC标准中相同——因此,以下共同地描述它们。本发明的各方面不限于H.264/AVC或者HEVC,但是相反,对于本发明可以在其上面被部分或者完全实现的一个可能基础给出描述。
与许多较早的视频编码标准相似,在H.264/AVC和HEVC中指定比特流句法和语义以及用于无错比特流的解码过程。未指定编码过程,但是编码器必须生成一致性比特流。可以用假设参考解码器(HRD)验证比特流和解码器一致性。标准包含有助于应对传输错误和丢失的编码工具,但是在编码时使用工具是可选的,并且对于错误比特流尚未指定解码过程。
分别用于至H.264/AVC或者HEVC编码器的输入以及H.264/AVC或者HEVC解码器的输出的基本单元是画面。在H.264/AVC和HEVC中,画面可以是帧或者场。帧包括亮度(luma)采样和对应色度采样的矩阵。场在源信号被交错(interlace)时是帧的交替采样行的集合并且可以用作编码器输入。色度画面在与亮度画面比较时可以被子采样。例如,在4:2:0采样模式中,色度画面的空间分辨率是亮度画面沿着两个坐标轴的空间分辨率的一半。
在H.264/AVC中,宏块是16x16亮度采样块和对应色度采样块。例如在4:2:0采样模式中,宏块包含每个色度分量一个8x8色度采样块。在H.264/AVC中,画面被分割成一个或者多个分片组,并且分片组包含一个或者多个分片。在H.264/AVC中,分片由在特定分片组内的光栅扫描中连续排序的整数数目的宏块构成。
在HEVC标准化的过程期间,例如关于画面分割单元的术语已经逐步形成。在接下来的段落中,提供HEVC术语的一些非限制性示例。
在HEVC标准的一个草案版本中,视频画面被划分成覆盖画面区域的编码单元(CU)。CU由定义用于在CU内的采样的预测过程的一个或者多个预测单元(PU)以及定义用于在CU中的采样的预测误差编码过程的一个或者多个变换单元(TU)构成。通常,CU由具有从可能CU大小的预定义集合可选择的大小的采样方块构成。具有最大允许大小的CU通常称为LCU(最大编码单元),并且视频画面被划分成非重叠LCU。LCU可以例如通过递归地拆分LCU和所得CU来进一步拆分成更小CU的组合。每个所得CU通常具有至少一个PU和与它关联的至少一个TU。每个PU和TU还可以被拆分成更小PU和TU,以便分别增加预测和预测误差编码过程的粒度。PU拆分可以通过将CU拆分成四个相等大小的方形PU或者以对称或者不对称方式将CU竖直地或者水平地拆分成两个矩形PU来实现。通常在比特流中用信号发送将图像划分成CU以及将CU划分成PU和TU,从而允许解码器再现这些单元的既定结构。
在草案HEVC标准中,可以以矩形并且包含整数数目的LCU的瓦片(tile)的形式分割画面。在草案HEVC标准中,划分成瓦片形成规则网格,其中瓦片的高度和宽度互不相同最多一个LCU。在草案HEVC中,分片由整数数目的CU构成。如果未使用瓦片,则在瓦片内或者在画面内按照LCU的光栅扫描顺序扫描CU。在LCU内,CU具有具体扫描顺序。
在HEVC的工作草案(WD)5中,定义用于画面分割的一些关键定义和概念如下。定义分割为将集合划分成子集,从而集合的每个元素正好在子集中的一个子集中。
在HEVC WD5中的基本编码单元是树块。树块是具有三个采样阵列的画面的NxN亮度采样块和两个对应色度采样块,或者单色画面或使用三个分离色平面来编码的画面的NxN采样块。可以分割树块用于不同编码和解码过程。树块分割是用于具有三个采样阵列的画面的树块的分割所产生的亮度采样块和两个对应色度采样块或者用于单色画面或使用三个分离色平面来编码的画面的树块的峰所产生的亮度采样块。向每个树块指派分割信令以标识用于帧内或者帧间预测以及用于变换编码的块大小。分割是递归四元树分割。四元树的根与树块关联。拆分四元树直至到达称为编码节点的叶。编码节点是预测树和变换树这两个树的根节点。预测树指定预测块的位置和大小。预测树和关联预测数据称为预测单元。变换树指定变换块的位置和大小。变换树和关联变换数据称为变换单元。用于亮度和色度的拆分信息对于预测树是相同的,并且对于变换树可以是相同的或者可以不是相同的。编码节点以及关联的预测单元和变换单元一起形成编码单元。
在HEVC WD5中,将画面划分成分片(slice)和瓦片。分片可以是树块序列,但是(在指代所谓细粒度分片时)也可以在变换单元和预测单元重合的位置处在树块内具有它的边界。在分片内的树块按照光栅扫描顺序被编码和解码。对于编码的主画面,将每个画面划分成分片是分割。
在HEVC WD5中,定义瓦片为在一列和一行中同现的、在瓦片内的光栅扫描中连续排序的整数数目的树块。对于编码的主画面,将每个画面划分成瓦片是分割。瓦片在画面内的光栅扫描中被连续排序。虽然分片包含在瓦片内的光栅扫描中连续的树块,但是这些树块未必在画面内的光栅扫描中是连续的。分片和瓦片无需包含相同树块序列。瓦片可以包括在多于一个分片中包含的树块。相似地,分片可以包括在若干瓦片中包含的树块。
编码单元与编码树块之间的区别可以例如被定义如下。分片可以被定义为在不使用瓦片的情况下、在瓦片内或者在画面内、在光栅扫描顺序中的一个或多个编码树单元(CTU)的序列。每个CTU可以包括一个亮度编码树块(CTB)并且(取决于正在被使用的色度格式)可能包括两个色度CTB。
在H.264/AVC和HEVC中,可以跨分片边界停用画面内预测。因此,分片可以视为一种用于将编码的画面拆分成独立可解码片的方式,并且分片因此经常被视为用于传输的基本单元。在许多情况下,编码器可以在比特流中指示跨分片边界关闭哪些类型的画面内预测,并且解码器操作例如在推断哪些预测源可用时考虑这一信息。例如,如果邻近宏块或者CU在不同分片中驻留,则来自邻近宏块或者CU的采样可以视为不可用于帧内预测。
可以定义句法元素为在比特流中表示的数据的元素。可以定义句法结构为按照指定的顺序在比特流中一起存在的零个或者更多个句法元素。
分别用于H.264/AVC或者HEVC编码器的输出以及H.264/AVC或者HEVC解码器的输入的基本单元是网络抽象层(NAL)单元。为了通过面向分组的网络传送或者存储成结构化文件,NAL单元可以被封装成分组或者相似结构。已经在H.264/AVC和HEVC中为未提供成帧结构的传输或者存储环境指定字节流格式。字节流格式通过在每个NAL单元前面附着开始码将NAL单元相互分离。为了避免错误检测NAL单元边界,编码器运行面向字节的开始码仿真预防算法,如果开始码原本会出现,则该算法向NAL单元载荷(payload)添加仿真预防字节。为了例如实现在面向分组与面向流的系统之间的简单直接网关操作,无论是否使用字节流格式,总是可以执行开始码仿真预防。NAL单元可以被定义为句法结构,该句法结构包含跟随的数据类型的指示以及以RBSP的形式包含该数据的字节,该RBSP如有必要被散布以仿真预防字节。原始字节序列载荷(RBSP)可以被定义为句法结构,该句法结构包含封装在NAL单元中的整数数目的字节。RBSP为空或者具有数据比特串的形式,该数据比特串包含被RBSP停止位跟随以及被等于0的零个或者更多个后续位跟随的句法元素。
NAL单元由首部和载荷构成。在H.264/AVC和HEVC中,NAL单元首部指示NAL单元的类型以及在NAL单元中包含的编码的分片是参考画面还是非参考画面的一部分。
H.264/AVC NAL单元首部包括2位nal_ref_idc句法元素,该句法元素在等于0时指示在NAL单元中包含的编码的分片是非参考画面的一部分而在大于0时指示在NAL单元中包含的编码的分片是参考画面的一部分。草案HEVC标准包括也称为nal_ref_flag的1位nal_ref_idc句法元素,该句法元素在等于0时指示在NAL单元中包含的编码的分片是非参考画面的一部分而在等于1时指示在NAL单元中包含的编码的分片是参考画面的一部分。用于SVC和MVC NAL单元的首部还可以包含与可伸缩性和多视图分级有关的各种指示。
在草案HEVC标准中,两字节的NAL单元首部用于所有指定的NAL单元类型。NAL单元首部的第一字节包含一个保留位、主要地指示在这一访问单元中携带的画面是参考画面还是非参考画面的一位指示nal_ref_flag以及六位NAL单元类型指示。NAL单元首部的第二字节包括用于时间级别的三位temporal_id指示和五位保留字段(称为reserved_one_5bits),该字段在草案HEVC标准中被要求具有等于1的值。temporal_id句法元素可以视为用于NAL单元的时间标识符并且TemporalId变量可以被定义为等于temporal_id的值。预计通过扩展(比如将来可缩放和3D视频扩展)来使用五位保留字段。不失一般性,在一些示例实施例中,例如如下从reserved_one_5bits的值得到变量LayerId:LayerId=reserved_one_5bits–1。
在较后的草案HEVC标准中,两字节的NAL单元首部用于所有指定的NAL单元类型。NAL单元首部包含一个保留位、六位NAL单元类型指示、六位保留字段(称为reserved_zero_6bits)以及用于时间级别的三位temporal_id_plus1指示。temporal_id_plus1句法元素可以被视为用于NAL单元的时间标识符,并且基于零的TemporalId变量可以被导出如下:TemporalId=temporal_id_plus1–1。TemporalId等于0对应于最低时间级别。temporal_id_plus1的值被要求为非零,以便避免涉及两个NAL单元首部字节的开始代码仿真。不失一般性,在一些示例实施例中,例如如下从reserved_zero_6bits的值得到变量LayerId:LayerId=reserved_zero_6bits。
期望NAL单元首部中的reserved_one_5bits、reserved_zero_6bits和/或相似句法元素会携带关于可伸缩性层级的信息。例如,从reserved_one_5bits、reserved_zero_6bits和/或相似句法元素得到的LayerId值可以被映射到描述不同可伸缩性维度的变量或句法元素的值,诸如quality_id或类似、dependency_id或类似、任何其它类型的层标识符、视图顺序索引或类似、视图标识符、NAL单元涉及景深还是纹理的指示(即depth_flag)或类似、或者类似于指示在所有大于特定标识符值的NAL单元从比特流被移除的情况下的有效子比特流提取的SVC的priority_id的标识符。reserved_one_5bits、reserved_zero_6bits和/或相似句法元素可以被划分成指示可伸缩性特性的一个或多个句法元素。例如,在reserved_one_5bits、reserved_zero_6bits和/或相似句法元素中的某一数量的比特可以用于dependency_id或类似,而在reserved_one_5bits、reserved_zero_6bits和/或相似句法元素中的某另一数量的比特可以用于quality_id或类似。备选地,LayerId值或类似到描述不同可伸缩性维度的变量或句法元素的值的映射可以例如被提供在视频参数集、序列参数集或者另外的句法结构中。
NAL单元可以被分类成视频编码层(VCL)NAL单元和非VCL NAL单元。VCL NAL单元通常是编码的分片NAL单元。在H.264/AVC中,编码的分片NAL单元包含表示一个或者多个编码的宏块的句法元素,该一个或者多个编码的宏块中的每个编码的宏块对应于在未压缩的画面中的采样块。在草案HEVC标准中,编码的分片NAL单元包含表示一个或者多个CU的句法元素。
在H.264/AVC中,可以指示编码的分片NAL单元为在瞬时解码刷新(IDR)画面中的编码的分片或者在非IDR画面中的编码的分片。
在草案HEVC标准中,可以指示编码的分片NAL单元为以下类型之一。
在草案HEVC标准中,画面类型的缩写可以被定义如下:断链访问(BLA)、干净随机访问(CRA)、可解码主导画面(DLP)、瞬时解码刷新(IDR)、随机访问点(RAP)、逐步时间子层访问(STSA)、标记以丢弃(TFD)、时间子层访问(TSA)。具有等于BLA_W_TFD的nal_unit_type的BLA画面被允许具有存在于比特流中的关联的TFD画面。具有等于BLA_W_DLP的nal_unit_type的BLA画面不具有存在于比特流中的关联的TFD画面,但是可以具有比特流中的关联的DLP画面。具有等于BLA_N_LP的nal_unit_type的BLA画面不具有存在于比特流中的关联的主导画面。具有等于IDR_N_LP的nal_unit_type的IDR画面不具有存在于比特流中的关联的主导画面。具有等于IDR_W_LP的nal_unit_type的IDR画面不具有存在于比特流中的关联的TFD画面,但是可以具有比特流中的关联的DLP画面。当nal_unit_type的值等于TRAIL_N、TSA_N或STSA_N时,解码的画面不被用作相同时间子层的任何其它画面的参考。即,在草案HEVC标准中,当nal_unit_type的值等于TRAIL_N、TSA_N或STSA_N时,解码的画面不被包括在具有相同TemporalId值的任何画面的RefPicSetStCurrBefore、RefPicSetStCurrAfter和RefPicSetLtCurr中的任何一项中。具有等于TRAIL_N、TSA_N或STSA_N的nal_unit_type的编码的画面可以被丢弃而不影响具有相同TemporalId值的其它画面的可解码性。在上表中,RAP画面是具有在7至12(含)的范围内的nal_unit_type的那些画面。除比特流中的第一画面外的每个画面被认为与解码顺序中的前一RAP画面相关联。主导画面可以被定义为先于输出顺序中的关联的RAP画面的画面。作为主导画面的任何画面具有等于DLP_NUT或TFD_NUT的nal_unit_type。拖尾画面可以被定义为跟随输出顺序中的关联的RAP画面的画面。作为拖尾画面的任何画面不具有等于DLP_NUT或TFD_NUT的nal_unit_type。作为主导画面的任何画面可以被限制为在解码顺序中先于与相同RAP画面相关联的所有拖尾画面。没有TFD画面存在于比特流中,这些TFD画面与具有等于BLA_W_DLP或BLA_N_LP的nal_unit_type的BLA画面相关联。没有DLP画面存在于比特流中,这些DLP画面与具有等于BLA_N_LP的nal_unit_type的BLA画面相关联或者与具有等于IDR_N_LP的nal_unit_type的IDR画面相关联。与CRA或BLA画面相关联的任何TFD画面可以被限制为在输出顺序中先于与CRA或BLA画面相关联的任何DLP画面。与CRA画面相关联的任何TFD画面可以被限制为在输出顺序中跟随在解码顺序中先于CRA画面的任何其它RAP画面。
接下来提供描述草案HEVC标准的画面类型的另一方式。如下表中说明的,画面类型可以被分类成HEVC中的下列组:a)随机访问点(RAP)画面、b)主导画面、c)子层访问画面以及d)未落入所提及的三个组中的画面。如下表所述的画面类型及其子类型由HEVC中的NAL单元类型来标识。RAP画面类型包括IDR画面、BLA画面和CRA画面,并且还可以基于如下表指出的、与它们相关联的主导画面被特征化。
HEVC中的CRA画面允许在解码顺序中跟随CRA画面而在输出顺序中先于它的画面将在CRA画面之前解码的画面用作参考,并且还允许类似的干净随机访问功能作为IDR画面。如果随机访问在CRA画面处被执行,则在解码顺序和输出顺序两者中跟随CRA画面的画面是可解码的,并且因此实现干净随机访问。
CRA画面的不参考在解码顺序中先于CRA画面的任何画面的主导画面在解码从CRA画面开始时可以被正确解码,并且因此是DLP画面。相比之下,TFD画面在解码从与TFD画面相关联的CRA画面开始时不能被正确解码(而TFD画面在解码已经从当前CRA画面之前的RAP画面开始的情况下能够被正确解码)。因此,与CRA画面相关联的TFD画面在解码从CRA画面开始时可以被丢弃。
当比特流的从CRA画面开始的部分被包括在另一比特流中时,与CRA画面相关联的TFD画面不能被解码,因为它们的参考画面中的一些参考画面不存在于组合比特流中。为了使这样的拼接操作简单,CRA画面的NAL单元类型可以被改变以指示它是BLA画面。与BLA画面相关联的TFD画面可以不是可正确解码的,因此不应当被输出/显示。与BLA画面相关联的TFD画面可以从解码中被省略。
在HEVC中,存在两种画面类型(TSA和STSA画面类型),其可以被用来指示时间子层切换点。如果具有多达N的TemporalId的时间子层已经被编码直到TSA或STSA画面(不含)并且TSA或STSA画面具有等于N+1的TemporalId,则TSA或STSA画面使得能够对(解码顺序中)具有等于N+1的TemporalId的所有后续画面进行解码。TSA画面类型可以对TSA画面自身以及相同子层中的、在解码顺序中跟随TSA画面的所有画面施加限制。所有这些画面不被允许使用来自相同子层中的、在解码顺序中先于TSA画面的任何画面的帧间预测。TSA定义还可以对较高子层中的、在解码顺序中跟随TSA画面的画面施加限制。所有这些画面不被允许参考在解码顺序中先于TSA画面的画面,如果该画面属于与TSA画面相同的子层或者较高子层的话。TSA画面具有大于0的TemporalId。STSA类似于TSA画面,但是不对较高子层中的、在解码顺序中跟随STSA画面的画面施加限制,并且因此实现仅向上切换到STSA画面驻留的子层上。
非VCL NAL单元可以例如是以下类型之一:序列参数集、画面参数集、补充增强信息(SEI)NAL单元、访问单元定界符、序列结束NAL单元、流结束NAL单元或者填充符数据NAL单元。参数集可能是重建解码的画面所需要的,而其它非VCL NAL单元中的许多非VCL NAL单元对于重建解码的采样值不是必需的。
可以在序列参数集中包括经过编码的视频序列而保持不变的参数。除了解码过程可能需要的参数之外,序列参数集还可以可选地包含视频可用性信息(VUI),该VUI包括可能对于缓冲、画面输出定时、渲染和资源保留而言重要的参数。有在H.264/AVC中指定的用于携带序列参数集的三个NAL单元:包含用于在序列中的H.264/AVC VCL NAL单元的所有数据的序列参数集NAL单元(具有等于7的NAL单元类型)、包含用于辅助编码的画面的数据的序列参数集扩展NAL单元以及用于MVC和SVC VCL NAL单元的子集序列参数集。被包括在H.264/AVC的序列参数集NAL单元(具有等于7的NAL单元类型)中的句法结构可以称为序列参数集数据、seq_parameter_set_data或者基础SPS数据。例如,简档、级别、画面尺寸和色度采样格式可以被包括在基础SPS数据中。画面参数集包含可能在若干编码的画面中不变的这样的参数。
在草案HEVC中,也有这里称为适配参数集(APS)的另一类型的参数集,该另一类型的参数集包括可能在若干编码分片中不变但是可能例如对于每个画面或者每几个画面改变的参数。在草案HEVC中,APS句法结构包括与量化矩阵(QM)、自适应采样偏移(SAO)、自适应环路滤波(ALF)和解块滤波有关的参数或者句法元素。在草案HEVC中,APS是NAL单元并且被编码而无来自任何其它NAL单元的参考或者预测。在APS NAL单元中包括称为aps_id句法元素的标识符,并且在分片首部中包括和使用该标识符以参考特定APS。
草案HEVC标准还包括另一类型的参数集(称为视频参数集(VPS)),其例如在文档JCTVC-H0388(http://phenix.int-evry.fr/jct/doc_end_user/documents/8_San%20Jose/wgll/JCTVC-H0388-v4.zip)中被提出。视频参数集RBSP可以包括可以被一个或多个序列参数集RBSP参考的参数。
VPS、SPS和PPS之间的关系和层级可以描述如下。VPS在参数集层级中以及在可伸缩性和/或3DV的上下文中驻留在SPS以上一个级别。VPS可以包括对于跨整个编码的视频序列中的所有(可伸缩性或视图)层的所有分片而言很常见的参数。SPS包括对于整个编码的视频序列中的特定(可伸缩性或视图)层中的所有分片而言很常见的参数,并且可以被多个(可伸缩性或视图)层共享。PPS包括对于特定层表示(一个访问单元中的一个可伸缩性或视图层的表示)中的所有分片而言很常见的参数,并且可能被多个层表示中的所有分片共享。
VPS可以提供关于比特流中的层的依赖性关系的信息以及适用于跨整个编码的视频序列中的所有(可伸缩性或视图)层的所有分片的许多其它信息。在HEVC的可伸缩扩展中,VPS可以例如包括将从NAL单元首部得出的LayerId值映射到一个或多个可伸缩性维度值,例如对应于用于类似于SVC和MVC被定义的层的dependency_id、quality_id、view_id和depth_flag。VPS可以包括用于一个或多个层的简档和等级信息,以及用于层表示的一个或多个时间子层(由处于和低于某些TemporalId值的VCL NAL单元组成)的简档和/或等级。
H.264/AVC和HEVC句法允许参数集的多个实例,并且每个实例用唯一标识符来标识。为了限制参数集需要的存储器使用,已经限制用于参数集标识符的值范围。在H.264/AVC和草案HEVC标准中,每个分片首部包括对于包含分片的画面的解码而言活跃的画面参数集的标识符,并且每个画面参数集包含活跃序列参数集的标识符。在HEVC标准中,分片首部还包含APS标识符。因而,画面和序列参数集的传输无需与分片的传输准确同步。相反,活跃序列和画面参数集在它们被参考之前的任何时刻被接收就足够了,这允许使用与用于分片数据的协议相比较更可靠的传输机制来“带外”传输参数集。例如,可以包括参数集作为在用于实时传送协议(RTP)会话的会话描述中的参数。如果带内传输参数集,则可以重复它们以提高错误稳健性。
参数集可以被参考激活,该参考来自分片或者来自另一活动的参数集或者在一些情况下来自另一句法结构,例如缓冲周期SEI消息。在下文中,给出草案HEVC标准中的参数集的激活的非限制性示例。
每个适配参数集RBSP最初在开始操作解码过程的时候被认为是不活动的。至多一个适配参数集RBSP在操作解码过程期间的任意给定时刻被认为是活动的,并且任意特定适配参数集RBSP的激活导致先前活动的适配参数集RBSP(如果有)的失活。
当适配参数集RBSP(具有特定aps_id值)不活动并且其被编码的分片NAL单元(使用该aps_id值)参考时,其被激活。该适配参数集RBSP被称为活动的适配参数集RBSP,直到它通过激活另一适配参数集RBSP而失活。具有该特定aps_id值的适配参数集RBSP对在其激活之前的解码过程是可用的,其被包括在具有等于或小于适配参数集NAL单元的temporal_id的temporal_id的至少一个访问单元中,除非适配参数集通过外部手段被提供。
每个画面参数集RBSP最初在开始操作解码过程的时候被认为是不活动的。至多一个画面参数集RBSP在操作解码过程期间的任意给定时刻被认为是活动的,并且任意特定画面参数集RBSP的激活导致先前活动的画面参数集RBSP(如果有)的失活。
当画面参数集RBSP(具有特定pic_parameter_set_id值)不活动并且其被编码的分片NAL单元或者编码的分片数据划分A NAL单元(使用该pic_parameter_set_id值)参考时,其被激活。该画面参数集RBSP被称为活动的画面参数集RBSP,直到它通过激活另一画面参数集RBSP而失活。具有该特定pic_parameter_set_id值的画面参数集RBSP对在其激活之前的解码过程是可用的,其被包括在具有等于或小于画面参数集NAL单元的temporal_id的temporal_id的至少一个访问单元中,除非画面参数集通过外部手段被提供。
每个序列参数集RBSP最初在开始操作解码过程的时候被认为是不活动的。至多一个序列参数集RBSP在操作解码过程期间的任意给定时刻被认为是活动的,并且任意特定序列参数集RBSP的激活导致先前活动的序列参数集RBSP(如果有)的失活。
当序列参数集RBSP(具有特定seq_parameter_set_id值)已经不活动并且其通过激活画面参数集RBSP(使用该seq_parameter_set_id值)而被参考或者被包含缓冲周期SEI消息的SEI NAL单元(使用该seq_parameter_set_id值)参考时,其被激活。该序列参数集RBSP被称为活动的序列参数集RBSP,直到它通过激活另一序列参数集RBSP而失活。具有该特定seq_parameter_set_id值的序列参数集RBSP对在其激活之前的解码过程是可用的,其被包括在具有等于0的temporal_id的至少一个访问单元中,除非序列参数集通过外部手段被提供。被激活的序列参数集RBSP对于整个编码的视频序列保持活动。
每个视频参数集RBSP最初在开始操作解码过程的时候被认为是不活动的。至多一个视频参数集RBSP在操作解码过程期间的任意给定时刻被认为是活动的,并且任意特定视频参数集RBSP的激活导致先前活动的视频参数集RBSP(如果有)的失活。
当视频参数集RBSP(具有特定video_parameter_set_id值)已经不活动并且其通过激活序列参数集RBSP(使用该video_parameter_set_id值)而被参考时,其被激活。该视频参数集RBSP被称为活动的视频参数集RBSP,直到它通过激活另一视频参数集RBSP而失活。具有该特定video_parameter_set_id值的视频参数集RBSP对在其激活之前的解码过程是可用的,其被包括在具有等于0的temporal_id的至少一个访问单元中,除非视频参数集通过外部手段被提供。被激活的视频参数集RBSP对于整个编码的视频序列保持活动。
在草案HEVC标准中的解码过程的操作期间,活动的视频参数集、活动的序列参数集、活动的画面参数集RBSP以及活动的适配参数集RBSP的参数值被认为是有效的。对于翻译SEI消息而言,用于操作相同访问单元中的编码的画面的VCL NAL单元的解码过程的活动的视频参数集、活动的序列参数集、活动的画面参数集RBSP以及活动的适配参数集RBSP的值被认为是有效的,除非在SEI消息语义中另有规定。
SEI NAL单元可以包含一个或者多个SEI消息,该一个或者多个SEI消息不是输出画面的解码所必需的但是可以辅助有关过程,比如画面输出定时、渲染、错误检测、错误隐藏和资源保留。在H.264/AVC和HEVC中指定若干SEI消息,并且用户数据SEI消息使组织和公司能够指定用于它们自己使用的SEI消息。H.264/AVC和HEVC包含用于指定的SEI消息的句法和语义,但是未定义用于在接收者中处理消息的过程。因而,要求编码器在它们创建消息时遵循H.264/AVC标准或者HEVC标准,并且不要求分别符合H.264/AVC标准或者HEVC标准的解码器为了输出顺序一致性而处理SEI消息。在H.264/AVC和HEVC中包括SEI消息的句法和语义的原因之一,是允许不同系统规范等同地解释补充信息并且因此互操作。旨在于系统规范可能需要在编码端和解码端二者中使用特定SEI消息,并且还可以指定用于在接收者中处理特定SEI消息的过程。
编码的画面是画面的编码表示。在H.264/AVC中的编码的画面包括画面的解码所必需的VCL NAL单元。在H.264/AVC中,编码的画面可以是主要编码画面或者冗余编码画面。在有效比特流的解码过程中使用主要编码画面,而冗余编码画面是应当仅在主要编码画面不能被成功解码时被解码的冗余表示。在草案HEVC中,尚未指定冗余编码画面。
在H.264/AVC和HEVC中,访问单元包括主要编码画面和与它关联的那些NAL单元。在H.264/AVC中,如下约束NAL单元在访问单元内的出现顺序。可选访问单元定界符NAL单元可以指示访问单元的开始。零个或者更多个SEI NAL单元跟随它。主要编码画面的编码分片接着出现。在H.264/AVC中,主要编码画面的编码分片可以跟随有用于零个或者更多个冗余编码画面的编码分片。冗余编码画面是画面或者画面的一部分的编码表示。如果主要编码画面例如由于在传输中丢失或者在物理存储介质中破坏而不被解码器接收,则可以对冗余编码画面进行解码。
在H.264/AVC中,访问单元也可以包括辅助编码画面,该辅助编码画面是补充主要编码画面并且可以例如在显示过程中使用的画面。辅助编码画面可以例如用作阿尔法通道或者阿尔法平面,该阿尔法通道或者阿尔法平面指定在解码画面中的采样的透明度水平。可以在分层组成或者渲染系统中使用阿尔法通道或者平面,其中输出画面通过叠加在彼此上面至少部分透明的画面被形成。辅助编码画面具有与单色冗余编码画面相同的句法和语义限制。在H.264/AVC中,辅助编码画面包含与主要编码画面相同数目的宏块。
在H.264/AVC中,定义编码的视频序列为按照从IDR访问单元(包括IDR访问单元)到无论哪个更早出现的下一IDR访问单元(不包括下一IDR访问单元)或者到比特流的结束的解码顺序的连续访问单元序列。在草案HEVC中,定义编码的视频序列为访问单元序列,其按照解码顺序由作为比特流中的第一访问单元的CRA访问单元、IDR访问单元或BLA访问单元组成,其后跟随0个或更多个非IDR和非BLA访问单元,这些非IDR和非BLA访问单元包括多达所有的后续访问单元但不包括任何后续IDR或BLA访问单元。
可以定义画面组(GOP)及其特性如下。GOP无论任何先前画面是否被解码都可以被解码。开放GOP是这样的画面组,在该画面组中,按照输出顺序在初始帧内画面之前的画面可能在解码从开放GOP的初始帧内画面开始时不是可正确地解码的。换而言之,开放GOP的画面可以参考(在帧内预测中)属于先前GOP的画面。H.264/AVC解码器可以从在H.264/AVC比特流中的恢复点SEI消息识别开始开放GOP的帧内画面。HEVC解码器可以识别开始开放GOP的帧内画面,因为CRA NAL单元类型这一具体NAL单元类型用于它的编码分片。封闭GOP是这样的画面组,在该画面组中,所有画面可以在解码从封闭GOP的初始帧内画面开始时被正确解码。换而言之,在封闭GOP中的画面不参考在先前GOP中的任何画面。在H.264/AVC和HEVC中,封闭GOP从IDR访问单元开始。在HEVC中,封闭GOP还可以从BLA_W_DLP或BLA_N_LP画面开始。结果,封闭GOP结构与开放GOP结构相比较具有更多错误恢复可能性,然而代价是可能减少压缩效率。开放GOP编码结构由于在选择参考画面时的更大灵活性而在压缩时可能更高效。
画面结构(SOP)可以被定义为按照解码顺序连续的一个或多个编码的画面,其中按照解码顺序的第一编码的画面是处于最低时间子层的参考画面,并且除了按照解码顺序的可能的第一编码的画面外,没有编码的画面是RAP画面。画面的相对解码顺序由画面内的数字图示。在先前的SOP中的任何画面具有比在当前的SOP中的任何画面小的解码顺序,并且在接下来的SOP中的任何画面具有比在当前的SOP中的任何画面大的解码顺序。术语画面组(GOP)有时可以与术语SOP可互换地使用,并且具有与SOP的语义而非如上所述的封闭或开放GOP的语义相同的语义。
H.264/AVC和HEVC的比特流句法指示特定画面是否为用于任何其它画面的帧间预测的参考画面。任何编码类型(I、P、B)的画面可以是在H.264/AVC和HEVC中的参考画面或者非参考画面。在H.264/AVC中,NAL单元首部指示NAL单元的类型以及在NAL单元中包含的编码分片是参考画面还是非参考画面的一部分。
包括H.264/AVC和HEVC的许多混合视频编码解码器在两个阶段中对视频信息进行编码。在第一阶段中,预测在某个画面区域或者“块”中的像素或者采样值。例如,可以通过运动补偿机制来预测这些像素或者采样值,这些运动补偿机制涉及到发现和指示在先前编码的视频帧之一中的与编码的块接近地对应的区域。此外,可以通过涉及发现和指示空间区域关系的空间机制来预测像素或者采样值。
使用来自先前编码图像的图像信息的预测方式也可以称为帧间预测方法,这些帧间预测方法也可以称为时间预测和运动补偿。使用在相同图像内的图像信息的预测方式也可以称为帧内预测方法。
第二阶段是对在预测的像素或者采样块与原有像素或者采样块之间的误差进行编码之一。这可以通过使用指定的变换对像素或者采样值的差进行变换来实现。这一变换可以是离散余弦变换(DCT)或者其变体。在对差进行变换之后,变换的差被量化和熵编码。
通过改变量化过程的保真性,编码器可以控制在像素或者采样表示的准确性(即画面的视觉品质)与所得编码视频表示的大小(即文件大小或者传输比特率)之间的平衡。
解码器通过应用与编码器为了形成像素或者采样块的预测的表示而使用的预测机制相似的预测机制(使用由编码器创建的并且在图像的压缩表示中存储的运动或者空间信息)和预测误差解码(预测误差编码的用于在空间域中恢复量化预测误差信号的逆操作)来重构输出视频。
在应用像素或者采样预测和误差解码过程之后,解码器组合预测和预测误差信号(像素或者采样值)以形成输出视频帧。
解码器(和编码器)也可以应用附加滤波过程以便在传递输出视频用于显示和/或存储为用于在视频序列中的即将来临的画面的预测参考之前提高它的品质。
在包括H.264/AVC和HEVC的许多视频编码解码器中,运动信息由与每个运动补偿图像块关联的运动矢量指示。这些运动矢量中的每个运动矢量表示在待编码(在编码器中)或者解码(在解码器处)的画面中的图像块和在先前编码或者解码图像(或者画面)之一中的预测源块的移位。H.264/AVC和HEVC如同许多其它视频压缩标准将画面划分成矩形网格,对于这些矩形中的每个矩形指示在参考画面之一的相似块用于帧间预测。预测块的位置被编码为运动矢量,该运动矢量指示预测块相对于正在被编码的块的位置。
可以例如使用以下因素中的一个或者多个因素来表征帧间预测过程。
运动矢量表示的准确性。例如,运动矢量可以是四分之一像素准确性,并且可以使用有限冲激响应(FIR)滤波器来获得在分数像素位置中的采样值。
用于帧间预测的块分割。包括H.264/AVC和HEVC在内的许多编码标准允许选择块(对于该块应用运动矢量用于在编码器中的运动补偿预测)的大小和形状并且在比特流中指示选择的大小和形状,从而解码器可以再现在编码器中完成的运动补偿预测。
用于帧间预测的参考画面数目。帧间预测源是先前解码画面。包括H.264/AVC和HEVC在内的许多编码标准实现存储用于帧间预测的多个参考画面和在块基础上选择使用的参考画面。例如,可以在H.264/AVC中在宏块或者宏块分割基础上以及在HEVC中在PU或者CU基础上选择参考画面。许多编码标准(比如H.264/AVC和HEVC)在比特流中包括句法结构,这些句法结构使解码器能够创建一个或者多个参考画面列表。指向参考画面列表的参考画面索引可以用来指示多个参考画面中的哪个参考画面用于特定块的帧内预测。参考画面索引可以在一些帧间编码模式中由编码器编码到比特流中,或者它可以在一些其它帧间编码模式中(由编码器和解码器)例如使用邻近块来推导。
运动矢量预测。为了在比特流中高效表示运动矢量,可以相对于特定于块的预测运动矢量对运动矢量进行差分编码。在许多视频编码解码器中,以预定义的方式(例如通过计算相邻块的编码或者解码运动矢量的中值)创建预测运动矢量。用于创建运动矢量预测的另一方式是从在时间参考画面中的相邻块和/或共同位置的块生成候选预测列表并且用信号发送选择的候选作为运动矢量预测器。除了预测运动矢量值之外,还可以预测先前编码/解码画面的参考索引。通常从在时间参考画面中的相邻块和/或共同位置的块预测参考索引。通常跨分片边界停用运动矢量的差分编码。
多假设运动补偿预测。H.264/AVC和HEVC实现在P分片中使用单个预测块(这里称为单预测分片)或者将两个运动补偿预测块的线性组合用于也称为B分片的双预测分片。在B分片中的个体块可以被双预测、单预测或者帧内预测,并且在P分片中的个体块可以被单预测或者帧内预测。用于双预测画面的参考画面可以不限于按照输出顺序的后续画面和先前画面,但是相反,可以使用任何参考画面。在许多编码标准(比如H.264/AVC和HEVC)中,为P分片构造称为参考画面列表0的一个参考画面列表,并且为B分片构造列表0和列表1这两个参考画面列表。对于B分片,即使用于预测的参考画面可以具有与彼此或者当前画面有关的任何解码或者输出顺序,在前向方向上的预测可以是指从在参考画面列表0中的参考画面预测时,而在后向方向上的预测可以是指从在参考画面列表1中的参考画面预测。
加权预测。许多编码标准将预测权重1用于帧间(P)画面的预测块而将0.5用于B画面的每个预测块(导致求平均)。H.264/AVC允许用于P和B分片的加权预测。在隐式加权预测中,权重与画面顺序计数成比例,而在显式加权预测中,显式地指示预测权重。
在许多视频编码解码器中,在运动补偿之后的预测残值先用变换内核(比如DCT)来变换,然后被编码。这一点的原因是在残值之中经常仍有一些相关性并且变换可以在许多情况下帮助减少这一相关性和提供更高效的编码。
在草案HEVC中,每个PU具有与它关联的预测信息,该预测信息定义什么种类的预测将被应用于在该PU内的像素(例如用于帧间预测的PU的运动矢量信息和用于帧内预测的PU的帧内预测方向性信息)。相似地,每个TU与如下信息关联,该信息描述用于在TU内的采样的预测误差解码过程(例如,包括DCT系数信息)。可以在CU级用信号发送预测误差编码是否被应用于每个CU。在无与CU关联的预测误差残值的情况下,可以认为没有用于CU的TU。
在一些编码格式和编码解码器中,在所谓短期与长期参考画面之间进行区分。这一区分可以影响一些解码过程,比如在时间直接模式中的运动矢量伸缩或者隐式加权预测。如果用于时间直接模式的参考画面二者为短期参考画面,则可以根据在当前画面与参考画面中的每个参考画面之间的画面顺序计数(POC)差来伸缩在预测中使用的运动矢量。然而,如果用于时间直接模式的至少一个参考画面是长期参考画面,则可以使用运动矢量的默认伸缩,例如可以使用将运动伸缩至一半。相似地,如果短期参考画面用于隐式加权预测,则可以根据在当前画面的POC与参考画面的POC之间的POC差来伸缩预测权重。然而,如果长期参考画面用于隐式加权预测,则可以使用默认预测权重,比如在用于双预测的块的隐式加权预测中为0.5。
一些视频编码格式(比如H.264/AVC)包括frame_num句法元素,该句法元素用于与多个参考画面有关的各种解码过程。在H.264/AVC中,用于IDR画面的frame_num的值为0。用于非IDR画面的frame_num的值等于被递增1的按照解码顺序的先前参考画面的frame_num(在模算术中,即在frame_num的最大值之后卷绕至0的frame_num值)。
H.264/AVC和HEVC包括画面顺序计数(POC)的概念。POC的值对于每个画面而被推导并且是随着按照输出顺序增加画面位置而不减少的。POC因此指示画面的输出顺序。POC可以在解码过程中例如用于在双预测分片的时间直接模式中的运动矢量的隐式伸缩、用于在加权预测中的隐式地推导的权重以及用于参考画面列表初始化。另外,可以在验证输出顺序一致性时使用POC。在H.264/AVC中,相对于先前IDR画面或者如下画面指定POC,该画面包含存储器管理控制操作,该存储器管理控制操作标记所有画面为“未用于参考”。
H.264/AVC指定用于解码的参考画面标记的过程以便控制在解码器中的存储器消耗。在序列参数集合中确定称为M的用于帧间预测的参考画面的最大数目。在参考画面被解码时,标记它为“用于参考”。如果参考画面的解码引起被标记为“用于参考”的多于M个的画面,则标记至少一个画面为“未用于参考”。有用于解码的参考画面标记的两个操作类型:自适应存储器控制和滑动窗。在画面基础上选择用于解码的参考画面标记的操作模式。自适应存储器控制实现用信号显式发送哪些画面被标记为“未用于参考”,并且也可以向短期参考画面指派长期索引。自适应存储器控制可能要求在比特流中存在存储器管理控制操作(MMCO)参数。可以在解码的参考画面标记句法结构中包括MMCO参数。如果滑动窗操作模式在使用中并且有标记为“用于参考”的M个画面,则在标记为“用于参考”的那些短期参考画面之中是第一解码画面的短期参考画面被标记为“未用于参考”。换而言之,滑动窗操作模式导致在短期参考画面之中的先入先出缓冲操作。
在H.264/AVC中的存储器管理控制操作之一使除了当前画面之外的所有参考画面被标记为“未用于参考”。瞬时解码刷新(IDR)画面仅包含帧内编码分片并且引起参考画面的相似“重置”。
在草案HEVC标准中,参考画面标记句法结构和有关解码过程未被使用,但是相反,参考画面集合(RPS)句法结构和解码过程代之以用于相似目的。对于画面有效或者活跃的参考画面集合包括作为参考用于该画面的所有参考画面以及对于按照解码顺序的任何后续画面保持标记为“用于参考”的所有参考画面。有参考画面集合的即称为RefPicSetStCurr0、RefPicSetStCurr1、RefPicSetStFoll0、RefPicSetStFoll1、RefPicSetLtCurr和RefPicSetLtFoll的六个子集。六个子集的注解如下。“Curr”是指在当前画面的参考画面列表中包括的参考画面,并且因此可以作为帧间预测参考用于当前画面。“Foll”是指未包括在当前画面的参考画面列表中但是可以在按照解码顺序的后续画面中用作参考画面的参考画面。“St”是指短期参考画面,这些短期参考画面一般可以通过它们的POC值的某个数目的最低有效位来标识。“Lt”是指长期参考画面,这些长期参考画面被具体标识并且一般具有比提到的某个数目的最低有效位可以表示的POC差更大的相对于当前画面的POC差。“0”是指具有比当前画面的POC值更小的POC值的那些参考画面。“1”是指具有比当前画面的POC值更大的PCO值的那些参考画面。RefPicSetStCurr0、RefPicSetStCurr1、RefPicSetStFoll0和RefPicSetStFoll1统称为参考画面集合的短期子集。RefPicSetLtCurr和RefPicSetLtFoll统称为参考画面集合的长期子集。
在草案HEVC标准中,可以在序列参数集合中指定并且通过指向参考画面集合的索引在分片首部中使用参考画面集合。也可以在分片首部中指定参考画面集合。一般仅在分片首部中指定参考画面集合的长期子集,而可以在画面参数集合或者分片首部中指定相同参考画面集合的短期子集。参考画面集合可以被独立地编码或者可以根据另一参考画面集合被预测(称为RPS间预测)。在参考画面集合被独立地编码时,句法结构包括对不同类型的参考画面迭代的多达三个循环;具有比当前画面更低的POC值的短期参考画面、具有比当前画面更高的POC值的短期参考画面和长期参考画面。每个循环条目指定将被标记为“用于参考”的画面。一般而言,画面用差分POC值来指定。RPS间预测运用当前画面的参考画面集合可以根据先前解码的参考画面集合来预测这样的事实。这是因为当前画面的所有参考画面是先前画面的参考画面或者先前解码的画面本身。仅有必要指示这些画面中的哪些画面应当是参考画面并且用于预测当前画面。在两个类型的参考画面集合编码中,还为每个参考画面发送标志(used_by_curr_pic_X_flag),该标志指示参考画面是(包括在*Curr列表中)否(包括在*Foll列表中)用于被当前画面参考。标记在当前分片使用的参考画面集合中包括的画面为“用于参考”,并且标记未在当前分片使用的参考画面集合中的画面为“未用于参考”。如果当前画面是IDR画面,则RefPicSetStCurr0、RefPicSetStCurr1、RefPicSetStFoll0、RefPicSetStFoll1、RefPicSetLtCurr和RefPicSetLtFol1都被设置成空。
可以在编码器中和/或在解码器中使用解码画面缓冲器(DPB)。缓冲解码画面有用于在帧间预测中的参考和用于将解码画面重新排序成输出顺序这两个原因。由于H.264/AVC和HEVC为参考画面标记和输出重新排序二者提供大量灵活性,所以用于参考画面缓冲和输出画面缓冲的分离缓冲器可能浪费存储器资源。因此,DPB可以包括用于参考画面和输出重新排序的统一的解码画面缓冲过程。解码画面可以在它不再用作参考并且无需输出时从DPB被去除。
在H.264/AVC和HEVC的许多编码模式中,可以用指向参考画面列表的索引指示用于帧间预测的参考画面。可以用可变长度编码对索引进行编码,该可变长度编码通常使更小索引具有用于对应句法元素的更短值。在H.264/AVC和HEVC中,为每个双预测(B)分片生成两个参考画面列表(参考画面列表0和参考画面列表1),并且为每个帧间编码(P)分片形成一个参考画面列表(参考画面列表0)。此外,对于草案HEVC标准中的B分片,在已经构造最终参考画面列表(列表0和列表1)之后构造组合列表(列表C)。组合列表可以用于在B分片内的单预测(也称为单向预测)。
可以在两个步骤中构造参考画面列表(比如参考画面列表0和参考画面列表1):首先,生成初始参考画面列表。可以例如基于frame_num、POC、temporal_id、或者关于预测分级的信息(比如GOP结构)、或者其任何组合而生成初始参考画面列表。其次,可以按照在分片首部中包含的也称为参考画面列表修改句法结果的参考画面列表重新排序(RPLR)命令对初始参考画面列表进行重新排序。RPLR命令指示被排序至相应参考画面列表的开头的画面。该第二步骤也可以称为参考画面列表修改过程,并且可以在参考画面列表修改句法结构中包括RPLR命令。如果使用参考画面集合,则可以初始化参考画面列表0以首先包含RefPicSetStCurr0,接着是RefPicSetStCurr1,接着是RefPicSetLtCurr。可以初始化参考画面列表1以首先包含RefPicSetStCurr1,接着是RefPicSetStCurr0。可以通过参考画面列表修改句法结构修改初始参考画面列表,其中可以通过指向列表的条目索引标识初始参考画面列表中的画面。
可以构造草案HEVC标准中的组合列表如下。如果用于组合列表的修改标志是零,则通过隐式机制构造组合列表;否则,通过在比特流中包括的参考画面组合命令来构造它。在隐式机制中,列表C中的参考画面被以从列表0的第一条目开始、接着是列表1的第一条目等等的交错方式被映射到来自列表0和列表1的参考画面。已经在列表C中映射的任何参考画面不被再次映射。在显式机制中,用信号发送列表C中的条目数目,接着是从列表0或者列表1中的条目到列表C的每个条目的映射。此外,在列表0和列表1相同时,编码器具有如下选项,该选项为设置ref_pic_list_combination_flag为0以指示来自列表1的参考画面未被映射并且列表C等效于列表0。
许多高效率视频编码解码器(比如草案HEVC编码解码器)运用常称为合并/合并模式/过程/机制的附加运动信息编码/解码机制,其中预测和使用块/PU的所有运动信息而无任何修改/校正。用于PU的前述运动信息可以包括:1)是‘PU仅使用参考画面列表0来单预测’或者‘PU仅使用参考画面列表1来单预测’或者‘PU使用参考画面列表0和列表1二者来双预测’的信息;2)与参考画面列表0对应的运动矢量值;3)参考画面列表0中的参考画面索引;4)与参考画面列表1对应的运动矢量值;以及5)参考画面列表1中的参考画面索引。相似地,预测运动信息使用时间参考画面中的相邻块和/或共同定位的块的运动信息被执行。常称为合并列表的列表可以通过包括与可用相邻/共同定位的块关联的运动预测候选被构造,并且用信号发送选择的运动预测候选的索引,并且选择的候选的运动信息被复制到当前PU的运动信息。在合并机制被运用于整个CU并且用于CU的预测信号用作重建信号(即预测残值未被处理)时,这一类型的对CU进行的编码/解码通常称为跳跃(skip)模式或者基于合并的跳跃模式。除了跳跃模式之外,合并机制也可以被运用于单独PU(未必如在跳跃模式中的整个PU),并且在这一情况下,预测残值可以用来提高预测品质。这一类型的预测模式通常称为合并间模式。
可以存在参考画面列表组合句法结构,其由编码器创建到比特流中并且由解码器从比特流解码,该句法结构指示组合参考画面列表的内容。该句法结构可以指示参考画面列表0和参考画面列表1被组合为用于正在被单向预测的预测单元的另外的参考画面列表组合。该句法结构可以包括标志,该标志在等于某一值时指示参考画面列表0和参考画面列表1是相同的,因此参考画面列表0被用作参考画面列表组合。该句法结构可以包括条目列表,每个条目规定参考画面列表(列表0或列表1)以及对所规定的列表的参考索引,其中条目规定要被包括在组合参考画面列表中的参考画面。
用于解码参考画面标记的句法结构可以在视频编码系统中存在。例如,在已经完成画面的解码时,解码参考画面标记句法结构(如果存在)可以用来自适应地标记画面为“未用于参考”或者“用于长期参考”。如果解码参考画面标记句法结构不存在并且标记为“用于参考”的画面的数目可能不再增加,则可以使用基本上标记最早(按照解码顺序)解码参考画面为未用于参考的滑动窗参考画面标记。
被称为隔离区域的编码技术是基于共同地约束画面内预测和帧间预测。画面中的隔离区域可以包含任何宏块(或类似的)位置,并且画面可以包含不重叠的0个或更多个隔离区域。剩余区域(如果有)是画面的未被画面的任何隔离区域覆盖的区域。当对隔离区域编码时,至少一些类型的画面内预测跨其边界被禁用。剩余区域可以从相同画面的隔离区域被预测。
编码的隔离区域可以在不存在相同的编码的画面的任何其它隔离区域或剩余区域的情况下被解码。可能必须在剩余区域之前对画面的所有隔离区域解码。在一些实施方式中,隔离区域或剩余区域包含至少一个分片。
其隔离区域彼此被预测的画面可以被分组成隔离区域画面组。隔离区域可以从相同隔离区域画面组内的其它画面中的对应隔离区域被帧间预测,而从其它隔离区域或者隔离区域画面组之外的帧间预测可能不被允许。剩余区域可以从任何隔离区域被帧间预测。耦合的隔离区域的形状、位置和尺寸可以随隔离区域画面组中的画面演变。
对H.264/AVC编码解码器中的隔离区域的编码可以基于分片组。宏块位置到分片组的映射可以在画面参数集中被规定。H.264/AVC句法包括用于对某些分片组模式(其可以被分成两种类型,静态的和演变的)进行编码的句法。静态分片组只要画面参数集有效就保持不变,而演变分片组可以根据画面参数集中的对应参数以及分片首部中的分片组变化周期参数随画面而变化。静态分片组模式包括交错形式、棋盘形式、矩形朝向形式和自由形式。演变分片组模式包括水平擦拭、垂直擦拭、盒状收缩和盒状放大。矩形朝向模式和演变模式尤其适合用于隔离区域的编码,并且在下文中进行更详细的描述。
对于矩形朝向的分片组模式,期望的若干矩形被规定在画面区域内。前景分片组包括位于对应矩形内的宏块位置,但不包括已经由早前规定的分片组分配的宏块位置。剩余分片组包含未被前景分片组覆盖的宏块。
演变分片组通过指示宏块位置的扫描顺序以及分片组的尺寸的变化率(每画面的宏块数)而被规定。每个编码的画面与(在分片首部中传达的)分片组变化周期参数相关联。变化周期乘以变化率指示第一分片组中的宏块数。第二分片组包含其余的宏块位置。
在H.264/AVC中,画面内预测跨分片组边界被禁用,因为分片组边界位于分片边界内。因此,每个分片组是隔离区域或剩余区域。
每个分片组在画面内具有标识号。编码器可以以如下方式限制运动矢量:它们仅指代属于具有与要被编码的分片组相同的标识号的分片组的解码的宏块。编码器应当考虑如下事实:在分数像素插值中需要一系列源采样,并且所有源采样应当处于特定分片组内。
H.264/AVC编码解码器包括解块循环滤波器。循环滤波适用于每个4*4块边界,但是循环滤波可以在分片边界被编码器关闭。如果循环滤波在分片边界被关闭,则当执行渐变随机访问时可以实现在解码器处的完美的重构图像。否则,即使在恢复点之后,重构图像在内容方面也可能是不完美的。
H.264/AVC标准的恢复点SEI消息和运动限制的分片组集SEI消息可以被用来指示一些分片组被编码作为具有受限运动矢量的隔离区域。解码器可以例如利用该信息来实现较快的随机访问,或者通过忽略剩余区域来节省处理时间。
例如在文档JCTVC-I0356<http://phenix.int-evry.fr/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I0356-v1.zip>中已经针对HEVC提出了子画面概念,其类似于H.264/AVC的矩形隔离区域或者矩形运动约束分片组集。下文描述JCTVC-I0356中提出的子画面概念,然而应当理解的是,子画面可以以类似于但不同于以下所描述的方式被另外定义。在子画面概念中,画面被划分成预先定义的矩形区域。每个子画面会被处理为独立画面,除了构成画面的所有子画面共享相同的全局信息,诸如SPS、PPS和参考画面集。子画面在几何学上类似于瓦片。它们的特性如下:它们是以序列等级规定的LCU对齐的矩形区域。画面中的子画面可以在画面的子画面光栅扫描中被扫描。每个子画面开始新的分片。如果画面中存在多个瓦片,则子画面边界和瓦片边界可以被对齐。可能不存在跨子画面的循环滤波。可能不存在对子画面以外的采样值和运动信息的预测,并且使用子画面以外的一个或多个采样值得出的、处于分数采样位置的采样值可能不用于对子画面内的任何采样进行帧间预测。如果运动矢量指向子画面以外的区域,则可以应用针对画面边界所定义的填充过程。在子画面内按照光栅顺序扫描LCU,除非子画面包含多于一个的瓦片。在子画面内的瓦片在子画面的瓦片光栅扫描中被扫描。瓦片不能跨越子画面边界,除了默认的每个画面一个瓦片的情形之外。在子画面级别支持在画面级别可用的所有编码机制。
可缩放视频编码是指编码结构,其中一个比特流可以包含内容在不同比特率、分辨率和/或帧速率的多个表示。在这些情况下,接收器可以根据它的特性(例如与设备的显示器的分辨率最匹配的分辨率)提取希望的表示。备选地,服务器或者网元可以例如根据网络特性或者接收器的处理能力提取比特流的将向接收器传输的部分。
可缩放比特流可以由提供可用最低品质视频的基础层以及在被接收和与较低层一起被解码时增强视频品质的一个或者多个增强层构成。增强层可以增强由另一层或其部分表示的视频内容的时间分辨率(即帧速率)、空间分辨率或者仅仅是其品质。为了提高用于增强层的编码效率,该层的编码表示可以依赖于较低层。例如可以从较低层预测增强层的运动和模式信息。相似地,较低层的像素数据可以用来创建用于增强层的预测。
每个可缩放层与其所有从属层一起是视频信号在某个空间分辨率、时间分辨率和品质水平的一个表示。在本文中,将可缩放层与其所有从属层一起称为“可缩放层表示”。可缩放比特流的与可缩放层表示对应的部分可以被提取和解码,以在某个保真度产生原有信号的表示。
在一些情况下,在增强层中的数据可以在某个位置之后或者甚至在任意位置被截短,其中每个截短位置可以包括表示越来越增强的视觉品质的附加数据。这样的可伸缩性称为细粒度化(粒度)可伸缩性(FGS)。在SVC标准的一些草案版本中包括FGS,但是从最终SVC标准最终排除它。在SVC的一些草案版本的上下文中随后讨论FGS。不能截短的这些增强层提供的可伸缩性称为粗粒度化(粒度)可伸缩性(CGS)。它共同地包括传统品质(SNR)可伸缩性和空间可伸缩性。SVC标准支持所谓中粒度化可伸缩性(MGS),其中品质增强画面与SNR可伸缩层画面相似地被编码,但是通过让quality_id句法元素大于0来与FGS层画面相似地由高级句法元素指示。
SVC使用层间预测机制,其中可以从除了当前重建的层之外的层或者下一较低层预测某些信息。可以层间预测的信息包括帧内纹理、运动和残值数据。层间运动预测包括块编码模式预测、首部信息等,其中从更低层的运动可以用于预测较高层。在帧内编码的情况下,从周围宏块或者从更低层的共同定位的宏块的预测是可能的。这些预测技术不运用来自更早编码访问单元的信息,因此称为帧内预测技术。另外,来自更低层的残值数据也可以用于预测当前层。
SVC指定称为单循环解码的概念。它通过使用约束的帧内纹理预测模式来启用,其中层间帧内纹理预测可以应用于如下宏块(MB),对于这些宏块,基础层的对应块位于帧内MB内。同时,在基础层中的那些帧内MB使用约束的帧内预测(例如让句法元素“constrained_intra_pred_flag”等于1)。在单循环解码中,解码器仅对于希望回放的可伸缩层(称为“期望层”或者“目标层”)执行运动补偿和全画面重建,由此大量地减少解码复杂性。除了期望层之外的所有层无需被完全地解码,因为重建期望层无需未用于层间预测的MB的数据的全部或者部分(假设它是层间帧内纹理预测、层间运动预测或者层间残值预测)。
多数画面的解码需要单个解码循环,而选择性地应用第二解码循环以重建基础表示,这些基础表示需要作为预测参考但是无需输出或者显示,并且仅被重建用于所谓关键画面(对于这些关键画面,“store_ref_base_pic_flag”等于1)。
在SVC草案中的可伸缩性结构由三个句法元素表征:“temporal_id”、“dependency_id”和“quality_id”。句法元素“temporal_id”用来指示时间可伸缩性分级或者间接地指示帧速率。包括更小最大“temporal_id”的画面的可伸缩层表示具有比包括更大最大“temporal_id”的画面的可伸缩层表示更小的帧速率。给定的时间层通常依赖于更低时间层(即具有更小“temporal_id”值的时间层)但是未依赖于任何更高时间层。句法元素“dependency_id”用来指示CGS层间编码依赖性分级(该分级如较早提到的那样包括SNR和空间可伸缩性)。在任何时间级位置,更小“dependency_id”值的画面可以用于具有更大“dependency_id”值的画面的编码的层间预测。句法元素“quality_id”用来指示FGS或者MGS层的品质水平分级。在任何时间位置并且在相同“dependency_id”值的情况下,具有等于QL的“quality_id”的画面使用具有等于QL-1的“quality_id”的画面用于层间预测。具有大于0的“quality_id”的编码分片可以被编码为可截短FGS分片或者非可截短MGS分片。
为了简化,在一个访问单元中的具有相同“dependency_id”值的所有数据单元(例如在SVC上下文中的网络抽象层单元或者NAL单元)称为依赖性单元或者依赖性表示。在一个依赖性单元内,具有相同“quality_id”值的所有数据单元称为品质单元或者层表示。
也称为解码基础画面的基础表示是对具有等于0的“quality_id”的依赖性单元的视频编码层(VCL)NAL单元进行解码所产生的并且“store_ref_base_pic_flag”被设置等于1的解码画面。也称为解码画面的增强表示由普通解码过程产生,在该普通解码过程中,对于最高依赖性表示而存在的所有层表示被解码。
如较早提到的那样,CGS包括空间可伸缩性和SNR可伸缩性。空间可伸缩性最初被设计为支持视频的具有不同分辨率的表示。对于每个时间实例,VCL NAL单元在相同访问单元中被编码,并且这些VCLNAL单元可以对应于不同分辨率。在解码期间,低分辨率VCL NAL单元提供高分辨率画面的最终解码和重建可以可选地继承的运动场和残值。在与更旧视频压缩标准比较时,SVC的空间可伸缩性已经被广义化为使基础层能够是增强层的裁剪和缩放版本。
MGS品质层与FCS品质层相似地用“quality_id”来指示。对于每个依赖性单元(具有相同“dependency_id”),有具有等于0的“quality_id”的层,并且可以有具有大于0的“quality_id”的其它层。具有大于0的“quality_id”的这些层根据分片是否被编码为可截短分片而为MGS层或者FGS层。
在FGS增强层的基本形式中,仅使用层间预测。因此,FGS增强层可以被自由地截短而不在解码序列中引起任何错误传播。然而,FGS的基本形式受低压缩效率困扰。这一问题的出现是因为仅低品质画面用于帧间预测参考。因此,已经提出FGS增强画面用作帧间预测参考。然而,这可能在丢弃一些FGS数据时引起也称为漂移的编码-解码失配。
草案SVC标准的一个特征是FGS NAL单元可以被自由地丢弃或者截短,并且SVCV标准的特征是MGS NAL单元可以被自由地丢弃(但是不能被截短)而不影响比特流的一致性。如以上讨论的那样,在那些FGS或者MGS数据已经在解码期间用于帧间预测参考时,数据的丢弃或者截短将造成在解码器侧中和在编码器侧中的解码画面之间的失配。这一失配也称为漂移。
为了控制由于FGS或者MGS数据的丢弃或者截短所造成的漂移,SVC应用以下解决方案:在某个依赖性单元中,基础表示(通过仅对具有等于0的“quality_id”的CGS画面和所有被依赖的更低层数据进行解码)存储于解码画面缓冲器中。在对具有相同“dependency_id”值的后续依赖性单元进行编码时,包括FGS或者MGS NAL单元的所有NAL单元使用基础表示用于帧间预测参考。因而,由于在更早访问单元中的FGS或者MGS NAL单元的丢弃或者截短所造成的所有漂移在这一访问单元被停止。对于具有相同“dependency_id”值的其它依赖性单元,所有NAL单元使用解码画面用于帧间预测参考以求高编码效率。
每个NAL单元在NAL单元首部中包括句法元素“use_ref_base_pic_flag”。在这一元素的值等于1时,NAL单元的解码在帧间预测过程期间使用参考画面的基本表示。句法元素“store_ref_base_pic_flag”指定是(在等于1时)否(在等于0时)存储当前画面的基础表示用于将来画面用于帧间预测。
具有大于0的“quality_id”的NAL单元不含与参考画面列表构造和加权预测有关的句法元素,即句法元素“num_ref_active_1x_minus1”(x=0或1),参考画面列表重新排序句法表,并且加权预测句法表不存在。因而,MGS层或者FGS层必须在需要时从相同依赖性单元的具有等于0的“quality_id”的NAL单元继承这些句法元素。
在SVC中,参考画面列表仅由基础表示(在“use_ref_base_pic_flag”等于1时)构成或者仅由未标记为“基础表示”的解码画面(在“use_ref_base_pic_flag”等于0时)构成,但是从未同时由二者构成。
在H.264/AVC比特流中,在一个编码视频序列中的编码画面使用相同序列参数集,并且在解码过程期间的任何时间时刻,仅一个序列参数集是活跃的。在SVC中,来自不同可缩放层的编码画面可以使用不同序列参数集。如果使用不同序列参数集,则在解码过程期间的任何时间时刻,可以有多于一个的活跃序列画面参数集。在SVC规范中,用于顶层的活跃序列画面参数集称为活跃序列画面参数集,而其余称为层活跃序列画面参数集。任何给定的活跃序列参数集贯穿层中的被活跃序列参数集参考的编码视频序列而保持不变。
已经在SVC中规定了可缩放的嵌套式SEI消息。可缩放的嵌套式SEI消息提供用于将SEI消息与比特流的子集关联的机制,诸如所指出的依赖性表示或者其它可缩放层。可缩放的嵌套式SEI消息包含一个或多个SEI消息,这些SEI消息自身不是可缩放的嵌套式SEI消息。包含在可缩放的嵌套式SEI消息中的SEI消息称为嵌套的SEI消息。不包含在可缩放的嵌套式SEI消息中的SEI消息称为非嵌套的SEI消息。
可以实施用于品质可缩放性(也称为信噪比或者SNR)和/或空间可缩放性的可缩放视频编码器如下。对于基础层,可以使用常规的非可缩放视频编码器和解码器。在用于增强层的参考画面缓冲器和/或参考画面列表中包括基础层的重建/解码画面。在空间可缩放性的情况下,重建/解码基础层画面可以在它插入到用于增强层画面的参考画面列表中之前被上采样。基础层解码画面可以与增强层的解码参考画面相似地被插入到用于对增强层画面进行编码/解码的参考画面列表中。因而,编码器可以选择基础层参考画面作为帧间预测参考并且指示它与在编码比特流中的参考画面索引一起使用。解码器从比特流(例如从参考画面索引)解码出基础层画面用作用于增强层的帧间预测参考。在解码基础层画面用作用于增强层的预测参考时,它称为层间参考画面。
尽管前段描述具有增强层和基础层这两个可缩放性层的可缩放视频编码解码器,但是需要理解的是,该描述可以被推广至在具有多于两层的可缩放性层级中的任何两层。在这一情况下,第二增强层可以依赖于在编码和/或解码过程中的第一增强层,并且第一增强层因此可以视为用于对第二增强层进行编码和/或解码的基础层。另外,需要理解的是,可以在增强层的参考画面缓冲器或者参考画面列表中有来自多于一层的层间参考画面,并且这些层间参考画面中的每个层间参考画面可以视为驻留在用于正在被编码和/或解码的增强层的基础层或者参考层中。
帧封装指的是一种方法,其中在编码器侧将多于一个的帧封装成单个帧以作为用于编码的预处理步骤,并且然后使用常规的2D视频编码方案来对被帧封装的帧进行编码。由解码器产生的输出帧因此包含与在编码器侧内在空间上被封装成一个帧的输入帧对应的成分帧。帧封装可以用于立体视频,其中一对帧(一个帧对应于左眼/相机/视图并且另一个帧对应于右眼/相机/视图)被封装成单个帧。帧封装还可以或者备选地用于景深或视差增强视频,其中成分帧之一表示对应于包含正常色彩信息(亮度和色度信息)的另一成分帧的景深或视差信息。可以在视频比特流中发信号通知使用帧封装,例如使用H.264/AVC的帧封装布置SEI消息或类似。还可以或者备选地通过视频接口(诸如高清晰度多媒体接口(HDMI))来指示使用帧封装。还可以或者备选地使用各种能力交换和模式协商协议(诸如会话描述协议(SDP))来指示和/或协商使用帧封装。解码器或渲染器可以根据所指示的帧封装布置类型从解码的帧提取成分帧。
一般而言,帧封装可以例如以这样的方式被应用:帧可以包含多于两个的视图的成分帧,和/或一些或所有成分帧可以具有不等的空间范围,和/或成分帧可以是景深视图分量。例如,帧封装视频的画面可以包含视频+景深的表示,即,例如按照并排的帧封装布置的纹理帧和景深帧。
仅适用于帧封装视频中的成分帧的子集的特征、编码特性等可以例如通过具体的嵌套式SEI消息被指示。这样的嵌套式SEI消息可以指示它适用于哪些成分帧并且包括适用于所指示的成分帧的一个或多个SEI消息。例如,运动约束的瓦片集SEI消息可以指示在指示的或推断的画面组内(诸如在形成隔离区域画面组的编码的视频序列内)的瓦片索引或地址等的集合。
如较早指示的那样,MVC是H.264/AVC的扩展。H.264/AVC的定义、概念、句法结构、语义和解码过程中的许多定义、概念、句法结构、语义和解码过程也这样或者按照某些广义化或者约束而适用于MVC。在下文中描述MVC的一些定义、概念、句法结构、语义和解码过程。
定义在MVC中的访问单元为按照解码顺序连续的NAL单元集合并且包含由一个或者多个视图分量构成的确切一个主要编码画面。除了主要编码画面之外,访问单元也可以包含一个或者多个冗余编码画面、一个辅助编码画面或者不含编码画面的分片或者分片数据部分的其它NAL单元。访问单元的解码在解码错误、比特流错误或者可能影响解码的其它错误未出现时产生由一个或者多个解码视图分量构成的一个编码画面。换而言之,在MVC中的访问单元包含用于一个输出时间实例的视图的视图分量。
在MVC中的视图分量称为在单个访问单元中的视图的编码表示。
视图间预测可以在MVC中被使用并且是指从相同访问单元的不同视图分量的解码采样预测视图分量。在MVC中,与帧间预测相似地实现视图间预测。例如,视图间参考画面被置于与用于帧间预测的参考画面相同的参考画面列表中,并且参考索引以及运动矢量对于视图间和帧间参考画面被相似地编码或者推断。
锚画面是如下编码画面,在该编码画面中,所有分片可以仅参考在相同访问单元内的分片,即可以使用视图间预测但是不使用帧间预测,并且按照输出顺序的所有后继编码画面不使用从按照解码顺序在编码画面之前的任何画面的帧间预测。视图间预测可以用于IDR视图分量,这些IDR视图分量是非基础视图的一部分。在MVC中的基础视图是在编码视频序列中具有最小视图顺序索引值的视图。基础视图可以与其它视图独立地被解码并且不使用视图间预测。基础视图可以由仅支持单视图简档(比如H.264/AVC的基线简档或者高简档)的H.264/AVC解码器解码。
在MVC标准中,MVC解码过程的子过程中的许多子过程通过分别用“视图分量”、“帧视图分量”和“场视图分量”替换在H.264/AVC标准的子过程规范中的术语“画面”、“帧”和“场”来使用H.264/AVC标准的相应子过程。类似地,术语“画面”、“帧”和“场”经常在下文中用来分别意指“视图分量”、“帧视图分量”和“场视图分量”。
如早前提到的,MVC比特流的非基础视图可以指代子集序列参数集NAL单元。用于MVC的子集序列参数集包括基础SPS数据结构以及序列参数集MVC扩展数据结构。在MVC中,来自不同视图的编码画面可以使用不同序列参数集。在MVC中的SPS(特别地,在MVC中的SPS的序列参数集MVC扩展部分)可以包含用于视图间预测的视图依赖性信息。这可以例如被信令认知媒体网关用来构造视图依赖性树。
在多视图视频编码的上下文中,可以定义视图顺序索引为指示视图分量在访问单元中的解码或者比特流顺序的索引。在MVC中,在序列参数集中包括的序列参数集MVC扩展中指示视图间依赖性关系。根据MVC标准,要求被编码视频序列参考的所有序列参数集MVC扩展相同。序列参数集MVC扩展的以下摘录提供关于在MVC中指示视图间依赖性关系的方式的进一步细节。
在MVC解码过程中,变量VOIdx可以表示由(可以从正在被解码的编码分片的MVC NAL单元首部获得的)view_id标识的视图的视图顺序索引并且可以被设置等于如下i值,对于该i值,在参考的子集序列参数集中包括的句法元素view_id[i]等于view_id。
可以指定序列参数集MVC扩展的语义如下。num_views_minus1加1指定在编码视频序列中的编码视图的最大数目。在编码视频序列中的视图的实际数目可以小于num_views_minus1加1。view_id[i]指定具有等于i的VOIdx的视图的view_id。num_anchor_refs_l0[i]指定在对具有等于i的VOIdx的锚视图分量进行解码时在初始参考画面列表RefPicList0中用于视图间预测的视图分量的数目。anchor_ref_l0[i][j]指定在对具有等于i的VOIdx的锚视图分量进行解码时在初始参考画面列表RefPicList0中用于视图间预测的第j视图分量的view_id。num_anchor_refs_l1[i]指定在对具有等于i的VOIdx的锚视图分量进行解码时在初始参考画面列表RefPicList1中用于视图间预测的视图分量的数目。anchor_ref_l1[i][j]指定在对具有等于i的VOIdx的锚视图分量进行解码时在初始参考画面列表RefPicList1中用于视图间预测的第j视图分量的view_id。num_non_anchor_refs_l0[i]指定在对具有等于i的VOIdx的非锚视图分量进行解码时在初始参考画面列表RefPicList0中用于视图间预测的视图分量的数目。non_anchor_ref_l0[i][j]指定在对具有等于i的VOIdx的非锚视图分量进行解码时在初始参考画面列表RefPicList0中用于视图间预测的第j视图分量的view_id。num_non_anchor_refs_l1[i]指定在对具有等于i的VOIdx的非锚视图分量进行解码时在初始参考画面列表RefPicList1中用于视图间预测的视图分量的数目。non_anchor_ref_l1[i][j]指定在对具有等于i的VOIdx的非锚视图分量进行解码时在初始参考画面列表RefPicList1中用于视图间预测的第j视图分量的view_id。对于具有等于vId1的view_id和等于vOIdx1的VOIdx的任何特定视图以及具有等于vId2的view_id和等于vOIdx2的VOIdx的另一视图,在vId2对于在不含0和num_non_anchor_refs_l0[vOIdx1]的0到num_non_anchor_refs_l0[vOIdx1]的范围中的所有j等于non_anchor_ref_10[vOIdx1][j]之一的值或者对于在不含0和num_non_anchor_refs_l1[vOIdx1]的0到num_non_anchor_refs_l1[vOIdx1]的范围中的所有j等于non_anchor_ref_11[vOIdx1][j]之一的值时,也要求vId2对于在不含0和num_anchor_refs_l0[vOIdx1]的0到num_anchor_refs_l0[vOIdx1]的范围中的所有j等于anchor_ref_10[vOIdx1][j]之一的值或者对于在不含0和num_anchor_refs_l1[vOIdx1]的0到num_anchor_refs_l1[vOIdx1]的范围中的所有j等于anchor_ref_11[vOIdx1][j]之一的值。用于非锚视图分量的视图间依赖性是用于锚视图分量的视图间依赖性的子集。
在MVC中,操作点可以被定义如下:操作点由表示目标时间级别的temporal_id值以及表示目标输出视图的view_id值的集合来标识。一个操作点与比特流子集相关联,比特流子集由目标输出视图以及目标输出视图所依赖的所有其它视图组成,其使用子比特流提取过程来得出,其中将等于temporal_id值的tIdTarget以及由view_id值的集合组成的viewIdTargetList作为输入。多于一个的操作点可以与相同比特流子集相关联。当“操作点被解码”时,对应于操作点的比特流子集可以被解码,并且随后可以输出目标输出视图。
在可伸缩多视图编码中,相同比特流可以包含多个视图的编码视图分量,并且至少一些编码视图分量可以使用品质和/或空间可伸缩性被编码。
纹理视图是指如下视图,该视图表示普通视频内容,例如已经使用普通相机被捕获并且通常适合用于在显示器上渲染。纹理视图通常包括具有一个亮度分量和两个色度分量这三个分量的画面。在下文中,除非例如用术语亮度纹理画面和色度纹理画面以别的方式来指示,纹理画面通常包括所有它的分量画面或者色彩分量。
景深视图是指一种视图,该视图表示来自相机传感器的纹理采样的距离信息、纹理采样与另一视图中的相应纹理采样之间的差异或视差信息或者类似信息。景深视图可以包括具有类似于纹理视图的亮度分量的一个分量的景深画面(又称景深图)。景深图是具有每像素景深信息或类似的图像。例如,景深图中的每个采样表示来自相机位于其上的平面的相应纹理采样的距离。换言之,如果z轴沿着相机的拍摄轴(并且因此与相机位于其上的平面正交),则景深图中的采样表示z轴上的值。景深图值的语义可以例如包括以下各项:
1.编码的景深视图分量中的每个亮度采样值表示实际距离(Z)值的逆,即1/Z,在亮度采样的动态范围内被归一化到例如0-255(含)的范围以用于8比特亮度表示。该归一化可以以其中量化1/Z在差异方面均匀的方式来完成。
2.编码的景深视图分量中的每个亮度采样值表示实际距离(Z)值的逆,即1/Z,其使用映射函数f(1/Z)或表格(诸如分段线性映射)被映射到亮度采样的动态范围(例如0-255(含)的范围)以用于8比特亮度表示。换言之,景深图值导致应用函数f(1/Z)。
3.编码的景深视图分量中的每个亮度采样值表示实际距离(Z)值,其在亮度采样的动态范围内被归一化到例如0-255(含)的范围以用于8比特亮度表示。
4.编码的景深视图分量中的每个亮度采样值表示从当前景深视图到另一指示或得出的景深视图或视图位置的差异或视差值。
虽然诸如景深视图、景深视图分量、景深画面和景深图之类的短语被用来描述各种实施例,但是应当理解,景深图值的任何语义都可以在包括但不限于上述实施例的各种实施例中使用。例如,本发明的实施例可以适用于景深画面,其中采样值指示差异值。
编码系统或者创建或修改包括编码的景深图的比特流的任何其它实体可以将有关景深采样的语义以及有关景深采样的量化方案的信息创建并且包括到比特流中。有关景深采样的语义以及有关景深采样的量化方案的这样的信息可以例如被包括在视频参数集结构、序列参数集结构或者SEI消息中。
景深增强视频是指具有一个或者多个视图的纹理视频,该一个或者多个视图与具有一个或者多个景深视图的景深视频关联。多种方式可以用于表示景深增强视频,包括使用视频加上景深(V+D)、多视图视频加上景深(MVD)和分层景深视频(LDV)。在视频加上景深(V+D)表示中,分别表示单个纹理视图和相应景深视图为纹理画面和景深画面序列。MVD表示包含多个纹理视图和相应景深视图。在LDV表示中,常规地表示中心视图的纹理和景深,而其它视图的纹理和景深被部分地表示并且仅覆盖中间视图的正确视图合成所需要的去封闭(dis-occluded)区域。
可以定义纹理视图分量为在单个访问单元中的视图的纹理的编码表示。可以用与单视图纹理比特流或者多视图纹理比特流兼容的方式对在景深增强视频比特流中的纹理视图分量进行编码,从而即使单视图或者多视图解码器无能力对景深视图进行解码,它也可以对纹理视图进行解码。例如,H.264/AVC解码器可以从景深增强H.264/AVC比特流对单个纹理视图进行解码。可以备选地以如下方式对纹理视图分量进行编码,该方式为能够单视图或者多视图纹理解码的解码器(比如H.264/AVC或者MVC解码器)不能对纹理视图分量进行解码,例如因为它使用基于景深的编码工具。可以定义景深视图分量为在单个访问单元中的视图的景深的编码表示。可以定义视图分量对为在相同访问单元内的相同视图的纹理视图分量和景深视图分量。
景深增强视频可以用其中纹理和景深被相互独立地编码的方式被编码。例如,纹理视图可以被编码为一个MVC比特流并且景深视图可以被编码为另一MVC比特流。景深增强视频也可以用其中纹理和景深被联合地编码的方式被编码。在纹理视图和景深视图的联合编码的形式中,从景深画面的一些编码采样或者在景深画面的解码过程中获得的数据元素预测或者推导纹理画面的一些解码采样或者用于对纹理画面进行解码的数据元素。备选地或者附加地,从纹理画面的一些解码采样或者在纹理画面的解码过程中获得的数据元素预测或者推导景深画面的一些解码采样或者用于对景深画面进行解码的数据元素。在另一选项中,未从彼此预测纹理的编码视频数据和景深的编码视频数据,或者一个未基于另一个被编码/解码,但是编码纹理和景深视图可以在编码中被复用到相同比特流中并且在解码中从比特流被解复用。在又另一选项中,尽管未从在例如分片层以下中的景深的编码视频数据预测纹理的编码视频数据,但是可以从彼此共享或者预测纹理视图和景深视图的高级编码结构中的一些高级编码结构。例如,可以从编码纹理分片的分片首部预测编码景深分片的分片首部。另外,参数集中的一些参数集可以被编码纹理视图和编码景深视图二者使用。
已经发现一种用于一些多视图3D视频(3DV)应用的解决方案是具有有限数目的输入视图,例如单一或者立体视图加上一些补充数据并且在解码器侧本地渲染(即合成)所有需要的视图。根据用于视图渲染的若干可用技术,基于景深图像的渲染(DIBR)已经表现为一种有竞争力的备选。
在图5中示出基于DIBR的3DV系统的简化模型。3D视频编码解码器的输入包括立体视频和具有立体基线b0的对应景深信息。然后3D视频编码解码器合成在具有基线(bi<b0)的两个输入视图之间的多个虚拟视图。DIBR算法也可以实现推测在两个输入视图以外而不在它们之间的视图。相似地,DIBR算法可以实现从单个纹理视图和相应景深视图的视图合成。然而,为了实现基于DIBR的多视图渲染,纹理数据应当与对应景深数据一起在解码器侧可用。
在这样的3DV系统中,在编码器侧为纹理视图以景深画面(也称为景深图)的形式产生景深信息。
可以通过各种手段获得景深信息。例如,可以从捕获相机或者彩色图像传感器配准的视差计算3D场景的景深。景深估计方法(也可以称为立体匹配)将立体视图作为输入并且计算在视图的两个偏移图像之间的局部视差。因为两个输入视图表示不同的视点或视角,所以视差根据点的距离在成像平面上的场景点的相对位置之间创建差异。立体匹配的目标是通过发现或检测图像之间的对应点来提取那些差异。存在用于立体匹配的若干方法。例如,在块或模板匹配方法中,每个图像在重叠块中被逐个像素处理,并且为每个像素块执行在偏移图像中对于匹配块的水平局部化搜索。一旦计算按像素的差异,则按照等式(1)计算对应景深值z:
z = f &CenterDot; b d + &Delta;d - - - ( 1 ) ,
其中如图6中所示,f是相机的焦距,并且b是在相机之间的基线距离。另外,d可以被认为是指在两个相机之间观测到的差异或者在两个相机中的相应像素之间估计的差异。相机偏移Δd可以被认为反映两个相机的光学中心的可能的水平错位或者相机帧中由于预处理而产生的可能的水平裁剪。然而,由于算法基于块匹配,所以按视差的景深估计的品质依赖于内容并且经常不准确。例如,没有用于景深估计的简单直接解决方案有可能用于以无纹理或者大噪声水平的很平滑区域为特征的图像片段。
备选地或者除了上述立体视图景深估计以外,景深值可以例如通过使用相机利用飞行时间(TOF)原理来获得,该相机可以备有用于照亮场景的光源,例如红外发射器。这样的照明器可以被布置为产生频率在例如10-100MHz之间的强度调制的电磁发射,这可能需要使用LED或激光二极管。红外光可以用来使照明不引人注目。从场景中的物体反射的光通过图像传感器来检测,其可以以与照明器相同的频率被同步调制。图像传感器可以备有光学器件;采集反射光的透镜以及用于仅通过具有与照明器相同波长的光的光学带通滤波器,因此有助于抑制背景光。图像传感器可以针对每个像素测量光从照明器行进到物体再返回照明器所花费的时间。到物体的距离可以被表示为照明调制中的相移,其可以根据同时针对场景中的每个像素的采样数据来确定。
备选地或者除了上述立体视图景深估计和/或TOF原理景深感测以外,景深值可以使用结构化光方法来获得,该方法可以例如近似操作如下。光发射器(诸如红外激光发射器或红外LED发射器)可以发射光,该光可以具有3D空间中的某一方向(例如遵循光栅扫描或伪随机扫描顺序),和/或光发射器阵列内的位置,以及某一图案,例如某一波长和/或幅度图案。发射的光从物体被反射回来并且可以使用传感器(诸如红外图像传感器)来捕捉。由传感器获得的图像/信号可以相对于发射的光的方向以及发射的光的图案来处理,以例如使用三角测量原理来检测接收的信号与发射的光的方向/位置以及发射的光的图案之间的对应关系。根据该对应关系,可以推断像素的距离和位置。
应当理解的是,上述景深估计和感测方法作为非限制性示例而被提供,并且可以使用所述或任何其它景深估计和感测方法与装置来实现实施例。
可以与景深映射相似地处理视差或者像差映射,比如在ISO/IEC国际标准23002-3中指定的像差映射。景深和视差具有简单直接的对应性,并且它们可以通过数学方程彼此被计算。
纹理视图和景深视图可以被编码成单个比特流,其中纹理视图中的一些纹理视图可以与一个或者多个视频标准(比如H.264/AVC和/或MVC)兼容。换而言之,解码器可以能够对这样的比特流的纹理视图中的一些纹理视图进行解码,并且可以省略其余纹理视图和景深视图。
在本文中,将一个或者多个纹理和景深视图编码成单个H.264/AVC和/或MVC兼容比特流的编码器也称为3DV-ATM编码器。这样的编码器生成的比特流可以称为3DV-ATM比特流。3DV-ATM比特流可以包括纹理视图中的、H.264/AVC和/或MVC解码器不能解码的纹理视图并且包括景深视图。能够对来自3DV-ATM比特流的所有视图进行解码的解码器也可以称为3DV-ATM解码器。
3DV-ATM比特流可以包括选择的数目的AVC/MVC兼容纹理视图。而且,3DV-ATM比特流可以包括选择的数目的景深视图,该景深视图仅使用AVC/MVC标准的编码工具被编码。用于AVC/MVC兼容纹理视图的3DV-ATM比特流的剩余景深视图可以从纹理视图被预测和/或可以使用当前不包括在AVC/MVC标准中的景深编码方法。剩余的纹理视图可以利用增强的纹理编码,即当前不包括在AVC/MVC标准中的编码工具。
分量间预测可以被定义为包括对在解码过程中使用的句法元素值、采样值、变量值或者从一种类型的分量画面到另一类型的分量画面的类似任何事物的预测。例如,分量间预测可以包括根据景深视图分量对纹理视图分量的预测,反之亦然。
可以在文档MPEG N12544“Working Draft 2of MVC extension forinclusion of depth maps”中发现3DV-ATM比特流的句法和语义以及用于3DV-ATM比特流的解码过程的示例,该文档要求至少两个纹理视图是MVC兼容的。而且,景深视图使用现有AVC/MVC编码工具被编码。可以在文档MPEG N12545“Working Draft 1of AVC compatible videowith depth information”中发现3DV-ATM比特流的句法和语义以及用于3DV-ATM比特流的解码过程的示例,该文档要求至少一个纹理视图是AVC兼容的,并且更多纹理视图可以是MVC兼容的。在提到的文档中指定的比特流格式和解码过程如在下文中描述的那样是兼容的。与工作草案“MVC extension for inclusion of depth maps”(MPEGN12544)对应的3DV-ATM配置可以称为“3D高”或“MVC+D”(代表MVC加景深)。与工作草案“AVC compatible video with depthinformation”(MPEG N12545)对应的3DV-ATM配置可以称为“3D扩展高”或者“3D增强高”或者“3D-AVC”。3D扩展高配置是3D高配置的超集。也就是说,支持3D扩展高配置的解码器也应当能够对为3D高配置而生成的比特流进行解码。
MVC+D规范的较新草案版本作为MPEG文档N12923(“Text ofISO/IEC 14496-10:2012/DAM2MVC extension for inclusion of depthmaps”)是可用的。3D-AVC规范的较新草案版本作为MPEG文档N12732(“Working Draft 2of AVC compatible video with depth”)是可用的。
图10示出用于例如在3DV-ATM中的景深映射编码的示例处理流程。
在一些景深增强的视频编码和比特流(诸如MVC+D)中,景深视图可以指代与用于纹理视图的序列参数集不同地被构造的序列参数集,诸如子集SPS NAL单元。例如,用于景深视图的序列参数集可以包括序列参数集3D视频编码(3DVC)扩展。当不同的SPS结构用于景深增强的视频编码时,SPS可以例如被称为3D视频编码(3DVC)子集SPS或者3DVC SPS。从句法结构的角度看,3DVC子集SPS可以是用于多视图视频编码的SPS(诸如MVC子集SPS)的超集。
景深增强的多视图视频比特流(诸如MVC+D比特流)可以包含两种类型的操作点:多视图视频操作点(例如用于MVC+D比特流的MVC操作点)和景深增强的操作点。仅由纹理视图分量组成的多视图视频操作点可以由用于多视图视频的SPS来规定,例如包括在由一个或多个纹理视图参考的SPS中的序列参数集MVC扩展。景深增强的操作点可以由用于景深增强的视频的SPS来规定,例如包括在由一个或多个景深视图参考的SPS中的序列参数集MVC或3DVC扩展。
景深增强的多视图视频比特流可以包含多个序列参数集或者与其相关联,例如一个序列参数集用于基础纹理视图、另一个序列参数集用于非基础纹理视图并且第三序列参数集用于景深视图。例如,MVC+D比特流可以包含一个SPS NAL单元(具有例如等于0的SPS标识符)、一个MVC子集SPS NAL单元(具有例如等于1的SPS标识符)以及一个3DVC子集SPS NAL单元(具有例如等于2的SPS标识符)。第一单元与另外两个单元的区别在于NAL单元类型,而后两个单元具有不同的简档,即它们中的一个指示MVC简档并且另一个指示MVC+D简档。
纹理视图分量和景深视图分量的编码和解码顺序可以例如在序列参数集中被指示。例如,下面的序列参数集3DVC扩展的句法在草案3D-AVC规范(MPEG N12732)中被使用:
depth_preceding_texture_flag[i]的语义可以规定如下。depth_preceding_texture_flag[i]规定与纹理视图分量有关的景深视图分量的解码顺序。depth_preceding_texture_flag[i]等于1表明,具有等于i的view_idx的视图的景深视图分量在包含纹理视图分量和景深视图分量两者的每个访问单元中按照解码顺序先于相同视图的纹理视图分量。depth_preceding_texture_flag[i]等于0表明,具有等于i的view_idx的视图的纹理视图分量在包含纹理视图分量和景深视图分量两者的每个访问单元中按照解码顺序先于相同视图的景深视图分量。
编码的景深增强的视频比特流(诸如MVC+D比特流或者AVC-3D比特流)可以被认为包括两种类型的操作点:纹理视频操作点(诸如MVC操作点)以及包括纹理视图和景深视图两者的纹理加景深操作点。MVC操作点包括由SPS MVC扩展所规定的纹理视图分量。编码的景深增强的视频比特流(诸如MVC+D比特流或者AVC-3D比特流)包含景深视图,并且因此整个比特流以及子比特流可以提供所谓的3DVC操作点,其在草案MVC+D和AVC-3D规定中包含每个目标输出视图的景深和纹理两者。在草案MVC+D和AVC-3D规定中,3DVC操作点由与在SPS MVC扩展中使用的句法结构相同的句法结构在3DVC子集SPS中被定义。
纹理视图分量和景深视图分量的编码和/或解码顺序可以确定与分量间预测有关的句法元素的存在以及与分量间预测有关的句法元素的允许值。
在下文中,描述了一些示例编码和解码方法,这些方法可以在本发明的各种实施例中被使用或者与本发明的各种实施例一起被使用。需要理解的是,这些编码和解码方法作为示例被给出,并且本发明的实施例可以被施加以其它类似的编码方法和/或利用分量间冗余性或依赖性的其它编码方法。
景深图可以例如使用描述如下的循环内联合视图间景深滤波(JVDF)或者类似滤波过程而被联合地滤波。当前处理的视图Vc的景深映射可以被转换到景深空间(Z空间)中:
z = 1 v 1 255 &CenterDot; ( 1 Z 1 Dear - 1 Z 1 far ) + 1 Z 1 far - - - ( 2 ) ,
随后,其它可用视图(Va1,Va2)的景深映射图像可以被转换到景深空间并且被投影到当前处理的视图Vc。这些投影创建景深值的若干估计,这些估计可以被平均以便产生景深值的去噪估计。可以通过从可用视图Va向当前处理的视图Vc投影的具有景深估计值的加权平均来产生当前视图Vc的滤波的景深值
z ^ c = w 1 &CenterDot; z c + w 2 &CenterDot; z a - > c
其中{w1,w2}是用于不同视图或者视图投影的景深值的加权因子或者滤波器系数。
如果景深值估计属于某个置信区间,换而言之,如果在估计之间的绝对差在特定门限(Th)以下,则可以应用滤波:
如果|za→c-zc|<Th,则w1=w2=0.5
否则w1=1,w2=0
可以例如在序列参数集内向解码器传输参数Th。
图11示出用JVDF的循环内实施方式对两个景深映射视图进行编码的示例。在用黑色标记的虚线框1100内描绘常规视频编码算法(比如H.264/AVC)。在实线框1102中描绘JVDF。
在称为联合多视图视频加上景深编码(JMVDC)的编码工具中,利用在多视图纹理视频与关联的景深视图序列之间的相关性。虽然像素值在纹理视频与它的景深映射序列之间很不同,但是在纹理视频和关联的景深映射序列中的对象的廓影和移动通常是相似的。提出的JMVDC方案可以通过MVC和SVC编码方案的组合来实现。具体而言,JMVDC可以通过向在MVC中的预测结构中嵌入SVC的层间运动预测机制来实现。每个视图可以被编码和/或视为两层表示,其中纹理驻留在基础层并且景深驻留在增强层中,该两层表示可以使用SVC的粗粒度可缩放性(CGS)来编码而仅允许层间运动预测。此外,在用于非基础视图的基础层(纹理)和增强层(景深)二者中实现视图间预测。尽管可以对于用于基础层的任何视图间预测结构应用JMVDC的层间运动预测,但是可以以视图间预测仅在IDR和锚访问单元处出现这样的方式来实现编码器和解码器,因为它可以提供在复杂性与压缩效率之间的合理折衷并且易化JMVDC的实施工作。在下文中,描述在仅在IDR/锚访问单元中被允许而在非IDR/非锚访问单元中不被允许视图间预测时用于IDR/锚和非锚访问单元的JMVDC方案。
对于IDR和锚画面,可以应用JMVDC方案如下。在视图间预测中使用的运动矢量称为视差矢量。如图12中所示,使用多视图纹理视频的视差矢量作为用于在层间运动预测过程中推导多视图景深映射的视差矢量的预测参考。在示例编码方案中,这一预测机制称为层间视差预测。对于在JMVDC中对非IDR/非锚画面进行的编码,可以如图13中描绘的那样使用来自相应纹理运动矢量的层间运动预测过程来预测用于帧间预测的景深运动矢量。
用于增强层宏块的模式判决过程可以对于锚画面和非锚画面二者是相同的。可以向模式判决过程添加基础模式,并且可以选择在基础层中的共同定位的宏块的运动/视差矢量作为用于每个增强层宏块的运动/视差矢量预测器。
也可以在其中景深视图视为基础层而相应纹理视图视为增强层的布置中使用JMVDC工具,并且可以如以上描述的那样以其它方式完成编码和解码。
称为视图内运动预测(IVMP)的编码工具可以操作如下。在IVMP模式中,运动信息可以被相同视图的景深视图分量重用,该运动信息包括纹理视图分量中的共同定位的宏块的mb_type、sub_mb_type、参考索引和运动矢量。可以在每个宏块或者宏块分割中用信号发送标志以指示它是否使用IVMP模式。如果景深视图分量的空间分辨率不同于纹理视图分量的空间分辨率,则景深视图分量的运动矢量可以在它们用作纹理视图分量的共同定位的块或者宏块的运动矢量时以纹理视图分量和景深视图分量的空间分辨率之间的比例成比例地被缩放。
在用于景深增强视频的纹理和景深的联合编码的情况下,视频合成可以用于编码解码器的回路中,因此提供视频合成预测(VSP)。在VSP中,预测信号(诸如VSP参考画面)使用DIBR或视图合成算法来形成,其利用纹理和景深信息。例如,合成的画面(即VSP参考画面)可以以类似于使用视图间参考画面以及仅视图间参考画面所完成的方式被引入参考画面列表中。备选地或者另外地,用于某些预测块的具体VSP预测模式可以由编码器确定、由编码器在比特流中指示并且用作由解码器从比特流推断。
在MVC中,帧间预测和视图间预测两者使用类似的运动补偿预测过程。视图间参考画面以及仅视图间参考画面在不同预测过程中实质上被视为长期参考画面。类似地,视图合成预测可以以这样的方式来实现:其使用实质上相同的运动补偿预测过程作为帧间预测和视图间预测。为了与仅在没有任何VSP的情况下在单个视图内发生的运动补偿预测进行区分,包括并且能够灵活地选择混合帧间预测、帧间预测和/或视图合成预测的运动补偿预测在本文中被称为混合方向的运动补偿预测。
由于在MVC和预想的用于MVD的编码方案(诸如3DV-ATM)中以及在类似的编码方案中的参考画面列表可以包含多于一种类型的参考画面,即帧间参考画面(也称为视图内参考画面)、视图间参考画面、仅视图间参考画面以及VSP参考画面,所以术语“预测方向”可以被定义为指示视图内参考画面(时间预测)、视图间预测或VSP的使用。例如,编码器可以针对具体块选择指向视图间参考画面的参考索引,因此块的预测方向是视图间的。
为了实现用于当前纹理视图分量的编码的视图合成预测,相同访问单元的先前编码的纹理和景深视图分量可以用于视图合成。使用相同访问单元的先前编码的纹理和景深视图分量的这样的视图合成可以被称为前向视图合成或者前向投影视图合成,并且类似地,使用这样的视图合成的视图合成预测可以被称为前向视图合成预测或者前向投影视图合成预测。
可以执行前向视图合成预测(VSP)如下。可以用源画面s(x,y)在合成的目标图像t(x+D,y)中的新像素位置中的以下映射像素通过景深映射(d)到视差(D)的转换来实施视图合成。
D ( s ( x , y ) ) = f &CenterDot; l z
z = ( d ( s ( x , y ) ) 255 ( 1 Z near - 1 Z far ) + 1 Z far ) - 1 - - - ( 3 ) ,
在纹理画面投影的情况下,s(x,y)是纹理图像的采样,并且d(s(x,y))是与s(x,y)关联的景深映射值。
如果用于合成的参考帧是4:2:0,则色度分量可以例如通过重复采样值如下而被上采样至4:4:4:
其中s′chroma(∵)是全分辨率的色度采样值,并且schroma(∵)是半分辨率的色度采样值。
在景深映射值投影的情况下,s(x,y)=d(x,y),并且这一采样使用它自己的值d(s(x,y))=d(x,y)来投影。
可以在规整(warp)和下采样合成帧回到原有分辨率之前通过对参考帧上采样而以子像素精度来执行规整。
视图合成过程可以包括两个概念性步骤:前向规整和孔填充。在前向规整中,参考图像的每个像素被映射到合成图像。在来自参考帧的多个像素被映射到在合成视图中的相同采样位置时,可以在映射竞争中选择与较大景深值(与相机较近)关联的像素。在规整所有像素之后,可以有留下的一些孔像素而无从参考帧映射的采样值,并且可以例如用基于线的有向孔填充来填充这些孔像素,其中定义“孔”为在两个非孔像素之间的水平线中的连续孔像素。孔像素可以由具有较小景深采样值(距离相机较远)的两个相邻非孔像素之一填充。
规整和孔填充可以例如在单个处理循环中如下被执行。输入参考图像的每个像素行例如从左至右被横穿,并且输入参考图像中的每个像素如下被处理:
当前像素根据以上的景深到差异映射/规整公式被映射到目标合成图像。景深边界周围的像素可以使用抛雪球法,其中一个像素被映射到两个相邻位置。在参考图像的每行中,可以每N个像素执行边界检测。如果像素的景深采样值与相同行(其是像素右侧N像素的)中的相邻像素的景深采样值之间的差超过阈值(对应于针对合成图像的整数规整精度的M个像素的视差差),则像素可以被视为景深边界像素。景深边界像素与景深边界像素右边的K个相邻像素可以使用抛雪球法。更具体地,N=4*UpRefs,M=4,K=16*UpRefs-1,其中UpRefs是规整前参考图像的上采样率。
在当前像素赢得z缓冲时,即,在当前像素被规整到没有先前规整的像素或者有具有较小景深采样值的先前规整的像素的位置时,迭代被定义为有效的并且可以执行以下步骤。否则,迭代是无效的并且该处理从输入参考图像中的下一个像素继续进行。
如果在该迭代与先前有效迭代的映射位置之间存在空隙,则可以标识孔。
如果孔被标识并且当前映射位置处于先前映射位置的右侧,则可以填充该孔。
如果孔被标识并且当前迭代将像素映射到先前有效迭代的映射位置的左侧,则紧邻该映射位置左侧的连续像素在它们是孔的情况下可以被更新。
为了从左侧参考视图生成视图合成画面,参考图像可以首先被翻转,并且然后以上的规整和孔填充过程可以用来生成中间合成画面。中间合成画面可以被翻转以获得合成画面。备选地,以上过程可以被变更为执行景深到差异映射、边界意识抛雪球法以及基本上使用关于水平方向和顺序的逆向假设的用于视图合成预测的其它过程。
在另一示例实施例中,视图合成预测可以包括以下内容。用于导出视图合成画面的该示例过程的输入是纹理视图分量的解码的亮度分量srcPicY、被上采样至srcPicY的分辨率的两个色度分量srcPicCb和srcPicCr以及景深画面DisPic。
用于导出视图合成画面的示例过程的输出是合成参考分量vspPic的采样阵列,合成参考分量vspPic通过基于差异的规整而产生,这可以使用以下伪代码来说明:
其中函数“Disparity()”将在空间位置i,j的景深图值转换为差异值dX,PicHeigh是画面高度,PicWidth是画面宽度,srcTexturePicY是源纹理画面,outputPicY是输出画面的Y分量,outputPicCb是输出画面的Cb分量,并且outputPicCr是输出画面的Cr分量。
如下所示,考虑相机设置(诸如两个视图之间的平移b、相机的焦距长度f以及景深图表示的参数(Znear,Zfar))来计算差异。
dX ( i , j ) = f &CenterDot; b z ( i , j ) ; z ( i , j ) = 1 DisPic ( i , j ) 255 &CenterDot; ( 1 Z near - 1 Z far ) + 1 Z far - - - ( 4 )
从上述过程得出的vspPic画面可以以各种规整伪像(诸如孔和/或闭塞)为特征,并且为了抑制那些伪像,可以应用各种后处理操作,诸如孔填充。
然而,这些操作可以被避免以降低计算复杂度,因为视图合成画面vspPic被用于用于预测的参考画面并且可以不输出到显示器。
在被称为后向视图合成或者后向投影视图合成的方案中,与合成视图一起被共同定位的景深图在视图合成过程中被使用。使用这样的后向视图合成的视图合成预测可以被称为后向视图合成预测或者后向投影视图合成预测或者B-VSP。为了实现用于当前纹理视图分量的编码的后向视图合成预测,当前编码/解码的纹理视图分量的景深视图分量需要是可用的。换言之,当景深视图分量的编码/解码顺序先于相应的纹理视图分量的编码/解码顺序时,后向视图合成预测可以在纹理视图分量的编码/解码中被使用。
使用B-VSP,从属视图的纹理像素可以不根据合成VSP帧来预测,而是直接根据基础视图或参考视图的纹理像素来预测。该过程所需的位移矢量可以根据从属视图的景深图数据(即对应于当前正在被编码/解码的纹理视图分量的景深视图分量)来产生。
B-VSP的概念可以参考图17解释如下。假设使用下列编码顺序:(T0,D0,D1,T1)。纹理分量T0是基础视图,并且T1是使用B-VSP作为一种预测工具而被编码/解码的从属视图。景深图分量D0和D1是分别与T0和T1相关联的对应的景深图。在从属视图T1中,当前编码的块Cb的采样值可以根据由基础视图T0的采样值组成的参考区域R(Cb)来预测。编码的采样和参考采样之间的位移矢量(运动矢量)可以被发现作为来自与当前编码的纹理采样相关联的景深图值的、T1与T0之间的差异。
景深(1/Z)表示到差异的转换过程可以例如使用下式来执行:
Z ( Cb ( j , i ) ) = 1 d ( Cb ( j , i ) ) 255 &CenterDot; ( 1 Znear - 1 Zfar ) + 1 Zfar ; D ( Cb ( j , i ) ) = f &CenterDot; b Z ( Cb ( j , i ) ) ; - - - ( 5 )
其中j和i是Cb内的局部空间坐标,d(Cb(j,i))是视图1的景深图图像的景深图值,Z是其实际景深值,并且D是针对特定视图0的差异。参数f、b、Znear和Zfar是规定相机设置的参数;即,所使用的焦距长度(f)、视图1与视图0之间的相机间隔(b)以及表示景深图转换参数的景深范围(Znear,Zfar)。
可以例如跟随时间和视图间参考帧在初始参考画面列表list0和list1中包括VSP产生的合成画面。然而,可以扩展参考画面列表修改句法(即RPLR命令)以支持VSP参考画面,因此编码器可以按照任何顺序对参考画面列表进行排序、在比特流中用RPLR命令指示最终顺序,从而使解码器重建具有相同最终顺序的参考画面列表。
也可以在一些编码和解码布置中使用VSP作为与帧内、帧间、视图间和其它编码模式分离的模式。例如,可以不使用VSP跳过/直接模式将运动矢量差编码到用于块的比特流中,但是编码器和解码器可以推断运动矢量差等于0和/或运动矢量等于0。另外,VSP跳过/直接模式可以推断不使用VSP跳过/直接模式为块对变换编码的残值块进行编码。
基于景深的运动矢量预测(D-MVP)是编码工具,该编码工具在使用中取得可用景深映射数据并且利用它用于对关联的景深映射纹理数据进行编码/解码。这一编码工具可能要求在相同视图的纹理视图分量之前对视图的景深视图分量进行编码/解码。D-MVP工具可以包括接着描述的用于跳过模式和直接模式的方向分离MVP以及基于景深的MV竞争这两个部分。
可以描述方向分离MVP如下。所有可用邻近块根据它们的预测的方向(例如时间、视图间和视图合成预测)来分类。如果当前块Cb(见图15a)使用视图间参考画面,则不利用视图间预测的所有邻近块被标记为不可用于MVP并且在常规运动矢量预测(比如H.264/AVC的MVP)中不被考虑。相似地,如果当前块Cb使用时间预测,则使用视图间参考帧的邻近块被标记为不可用于MVP。在图14中描绘这一过程的流程图。流程图和以下描述仅考虑时间和视图间预测方向,但是它可以被相似地扩展为也覆盖其它预测方向(比如视图合成预测),或者时间和视图间预测方向之一或者二者可以相似地被其它预测方向替换。
如果无运动矢量候选从邻近块可用,则用于视图间预测的默认“零MV”MVP(mvy=0,mvx=0)可以用mvy=0和来替换,其中是与当前纹理Cb关联的平均视差并且可以按照下式来计算:
D &OverBar; ( cb ) = ( 1 / N ) . &Sigma; i D ( cb ( i ) )
其中i是在当前块Cb内的像素的索引,N是在当前块Cb中的像素的总数。
可以在3DV-ATM的上下文中描述用于跳过模式和直接模式的基于景深的MV竞争如下。分别在图16a和图16b中示出在跳过模式和直接模式中的用于提出的基于景深的运动竞争(DMC)的过程的流程图。在跳过模式中,纹理数据块{A,B,C}的运动矢量{mvi}根据它们的预测方向来分组,从而形成分别用于时间和视图间的组1和组2。可以独立地为每组执行在图16a的灰色块中具体描述的DMC过程。
对于在给定组内的每个运动矢量mvi,可以先推导运动补偿景深块d(cb,mvi),其中与d(cb)的定位相对地应用运动矢量mvi,以从mvi指向的参考景深映射获得景深块。然后在d(cb)与d(cb,mvi)之间的相似度可以按照下式来估计:
SAD(mvi)=SAD(d(cb,mvi),d(cb))
可以选择在当前组内提供最小绝对差和(SAD)值的mvi作为用于特定方向的最优预测器(mvpdir):
mvp dir = arg min mvp dir ( SAD ( mv i ) )
此后,使在时间方向上的预测器(mvptmp)与在视图间方向上的预测器(mvpinter)竞争。提供最小SAD的预测器可以通过下式得到:
mvp opt = arg min mvp dir ( SAD ( mvp tmp ) , SAD ( mvp inter ) )
最后,参考另一视图(视图间预测)的mvpopt可以经历以下健全校验:在利用“零MV”的情况下,它用“视差MV”预测器mvy=0和来替换,其中可以如以上描述的那样推导
图16b中所示用于B分片的直接模式的MVP可以与跳过模式相似,但是可以独立地对两个参考画面列表(列表0和列表1)执行DMC(用灰色块标记)。因此,对于每个预测方向(时间的或者视图间的),DMC产生分别用于列表0和列表1的两个预测器(mvp0dir和mvp1dir)。此后,可以计算根据mvp0dir和mvp1dir推导的方向补偿块如下:
d ( cb , mvp dir ) = d ( cb , mvp 0 dir ) + d ( cb , mvp 1 dir ) 2
然后,可以独立地为每个方向计算在双向补偿块与Cb之间的SAD值并且可以如以上对于跳过模式示出的那样从可用mvpinter和mvptmp选择用于直接模式的MVP。与跳过模式相似地,如果mvpopi参考另一视图(视图间预测),则在每个参考列表中的“零MV”可以用“视差MV”来替换。
可以出于多视图编码(MVC)、景深增强视频编码、多视图+景深(MVD)编码和具有循环内视图合成的多视图这些目的描述用于纹理视图的基于景深/视差的帧内预测如下。可以认为纹理的基于景深/视差的帧内预测包括新帧内预测机制的集合,这些机制基于利用景深或者视差信息(Di)用于纹理数据的当前块(cb)。假设用于纹理数据的当前块(cb)的景深或者视差信息(Di)通过对编码景深或者视差信息进行编码而可用或者可以在对当前纹理块进行编码之前在解码器侧被估计,并且可以在帧内预测中利用这一信息。
在下文中,纹理块通常是指纹理画面的单个色彩分量的采样块,即,通常是纹理画面的亮度或者色度分量之一的采样块。
编码器可以包括用于帧内编码纹理块进行编码的以下操作中的一个或者多个操作。这里应当注意的是,相似原理也在解码器侧适用于对帧内编码纹理块进行解码。尽管参照景深描述用于纹理的基于景深的帧内预测,但是将理解的是,可以取代景深相似地使用视差或者像差。该描述参考术语块,该块可以例如是与在H.264/AVC中使用的宏块相似的宏块、与在HEVC WD中使用的树块相似的树块或者任何相似块。
景深边界检测
编码器可以例如如下应用景深边界检测。景深边界也可以例如称为景深边缘、景深不连续或者景深轮廓。在编码器中,关联(重建/解码)景深块被分类为包含景深边界或者不包含景深边界。也可以在解码器中执行相同的景深边界检测算法,然后编码器和解码器二者对于重建/解码景深画面执行景深边界检测。可以在以下描述的操作中的一个或者多个操作中使用检测到的景深边界。
编码器和解码器可以试图例如通过使用边缘或者边界检测算法来检测在画面或者块内的可能边缘或者其它边界。可以有可以应用的许多可能算法。例如,可以如下完成景深边界分类。分类可以使用对以下两个3×3内核进行使用的Sobel算符以获得梯度量值图像G:
G x = - 1 0 + 1 - 2 0 + 2 - 1 0 + 1 * A G y = - 1 - 2 - 1 0 0 0 + 1 + 2 + 1 * A
G = G x 2 + G y 2
其中A是源图像(重建的景深图像)。
由于序列可以具有G值的不同动态采样值范围,所以G可以使用直方图均衡来转换成图像G’。在直方图均衡中,G’的最小值和最大值可以被分别设置成0和255。另外,第一阈值T1和第二阈值T2也可以被设置为适当值。编码器或者解码器可以检查是否G’(x,y)>T1。如果是这样,则点(x,y)被分类为边界点。在已经对于当前块执行直方图均衡时,可以校验在当前块中的可能边界点的数目以确定在一个块中的边界点的数目是否大于第二阈值T2。如果是这样,则这一个块被分类为包含景深边界。
编码器可以例如基于用以上提到的阈值T1和T2中的任何阈值的不同值对块进行编码并且选择该阈值的根据拉格朗日速率-失真优化等式为最优的值来确定该阈值的值。编码器可以例如通过例如在序列参数集、画面参数集、分片参数集、画面首部、分片首部中、在宏块句法结构或者任何相似句法结构内将阈值T1和/或T2的确定的值编码为一个或者多个句法元素来在比特流内指示它们。解码器可以基于在比特流中编码的信息(比如指示阈值T1和/或T2的值的一个或者多个码字)来确定阈值T1和/或T2。
纹理块在与纹理块共同定位的景深块包含景深边界时包含、覆盖、包括、具有或者有景深边界。可以以与纹理不同的空间分辨率对景深进行编码。因此,可以在纹理块包含或者覆盖景深边界时在确定中考虑根据空间分辨率的比例而定的缩放。
基于景深的画面分割
编码器可以基于景深信息分割画面。编码器可以将画面分割编码到比特流中,或者解码器可以基于景深信息分割画面。编码器和解码器可以根据画面分割来改变块编码或者解码顺序,从而一个画面分割的块可以先于另一画面分割的编码或者解码顺序块。
可以分别改变块编码顺序和解码顺序,从而例如在光栅扫描顺序中先对不包含景深边界的纹理块进行编码或者解码而随后跳过和编码或者解码包括景深边界的纹理块。可以在编码和/或解码中标记包含景深边界的纹理块为不可用于对于不包含景深边界的块的预测(如同它们在不同分片中并且约束帧内预测开启)。
可以分别改变块编码顺序和解码顺序,从而例如在光栅扫描顺序中先对包括景深边界的纹理块进行编码或者解码,而例如在光栅扫描顺序中在包括景深边界的纹理块之后对不包含景深边界的纹理或者块进行编码或者解码。可以在编码和/或解码中标记不包含景深边界的纹理块为不可用于对于包含景深边界的块的预测(如同它们在不同分片中并且约束帧内预测开启)。
在基于景深的画面分割中,编码器可以使用H.264/AVC的灵活宏块排序的slice_group_map_type 6,这实现提供从宏块到分片组的按宏块映射。可以基于分类的景深边缘宏块执行分片组的创建,即分类为不包含景深边缘的所有宏块属于一个分片组而具有景深边缘的宏块属于另一分片组。
编码器和解码器可以基于重建/解码景深视图分量的景深边界分类来推断分片组映射。例如,分类为不包含景深边缘的所有宏块属于一个分片组而具有景深边缘的宏块属于另一分片组。
在另一示例中,可以在编码和/或解码中对相同景深范围的所有宏块进行分类以形成分片组,而可以在编码和/或解码中对包含景深边缘的宏块进行分类以形成它们自己的分片组。
包含分类为包括景深边界的宏块的分片组可以在其它分片组之后被编码或者解码。备选地,包含分类为包括景深边界的宏块的分片组可以在其它分片组之前被编码或者解码。
在光栅扫描顺序或者另外任何其它预定义顺序中对宏块进行编码或者解码,但是包含景深边缘的宏块可以被跳过并且在相同分片的所有其它宏块之后被编码或者解码。备选地,包含景深边缘的宏块可以在相同分片的所有其它宏块之前被编码或者解码。
基于景深的块分割
编码器可以基于景深信息分割纹理块。编码器可以执行块分割,从而一个块分割集合包含景深边界,而另一块分割集合不包含任何景深边界。编码器可以使用一个或者多个定义的判据来选择块分割;例如,编码器可以选择不包含景深边界的块的大小尽可能大。解码器也可以运行相同的块分割算法,或者编码器可以例如使用常规H.264/AVC块分割句法元素来向解码器用信号发送使用的块分割。
可以在16x16、8x8或者4x4块中分割帧内编码亮度纹理宏块用于帧内预测,但是显然的是也可以应用其它块大小。另外,块无需是方形块,而是其它格式也适用。作为推广,可以表示块大小为MxN,其中M,N∈Z。
可以使用景深块的块分割作为用于相应或者共同定位的纹理块的块分割。
可以不在比特流中对块分割进行编码或者指示。因此,编码器和解码器可以执行相同的基于景深的块分割。
在从编码器向解码器递送关于块分割的信息时,可以有用于该递送的许多选项。例如,关于块分割的信息可以被熵编码到比特流。可以用许多方式执行块分割的熵编码。例如,编码器例如使用H.264/AVC块分割句法元素来向解码器用信号发送使用的块分割。块分割可以被编码到比特流中,但是在编码器和解码器二者中应用基于景深的块分割,以用基于景深的块分割方法选择的块分割使用更少量编码数据比特这样的方式修改上下文自适应二进制算法编码(CABAC)或者基于上下文的可用长度编码或者任何相似熵编码的上下文状态。实际上,在熵编码和解码中增加基于景深的块分割推导所推断的块分割的可能性。
块分割可以被编码到比特流中,但是在块分割码字中使用的码表或者二值化表可以依赖于基于景深的块分割的结果。
使用的块分割方法可以例如通过速率-失真优化由编码器选择并且可以在编码比特流中由编码器指示为一个或者多个句法元素或者句法元素的值。句法元素可以例如驻留在序列参数集、画面参数集、适配参数集、画面首部或者分片首部中。
编码器可以例如使用速率-失真优化来执行常规块分割选择。如果常规块分割的速率-失真代价小于基于景深的块分割的速率-失真代价,则编码器可以选择使用常规块分割并且例如在分片首部、宏块句法或者块句法中指示在比特流中使用常规块分割。
解码器可以对与块分割方法有关的句法元素进行解码并且使用指示的块分割方法和有关句法元素来对比特流进行解码。
可以基于一个或者多个景深边界确定在块内的子块或者块分割的编码或者解码顺序。例如,在基于H.264/AVC的编码或者解码中,可以基于景深边界确定在宏块内根据块分割的块编码顺序。无景深边界的块可以在具有景深边界的块之前被编码或者解码。
例如,为了在基于H.264/AVC的编码/解码方案中对包含景深边界的纹理宏块进行编码或者解码,不包含景深边界的8x8块(如果有)可以先被编码或者解码。此后,(驻留在包含景深边界的那些8x8块中的)不包含景深边界的4x4块可以被编码或者解码。最后,包含景深边界的4x4块可以例如使用双向帧内预测模式来编码或者解码。
在用于基于H.264/AVC的编码/解码方案的另一示例中,包含景深边界的4x4纹理块被先编码或者解码。然后,从邻近纹理宏块和包括景深边界的重建/解码4x4纹理块的边界采样预测纹理宏块的其余采样。
常规地使用子块定位的规则网格来执行块分割。例如,在H.264/AVC中,宏块可以在宏块内以规则4x4网格被分割成4x4或者更大块。可以用如下方式应用纹理块的块分割,该方式为子块定位的坐标中的至少一个坐标不同于子块定位的规则网格。可以例如以如下方式选择具有景深边界的子块,该方式为它们的竖直坐标遵循规则4x4网格,但是选择它们的水平坐标以例如最小化具有景深边界的4x4子块的数目。
用于纹理块的帧内预测的块分割可以不同于用于相同纹理块的预测误差编码或者解码的块分割。例如,基于检测景深边界的以上方法中的任何方法可以用于确定用于帧内预测纹理块的块分割,并且不同块分割可以用于变换编码预测误差编码或者解码。编码器和/或解码器可以基于共同定位或者相应的景深重建或者解码景深推断用于帧内预测纹理的块分割。编码器可以将用于帧内编码纹理块的预测误差编码的块分割编码到比特流中,并且解码器可以从比特流解码用于帧内编码纹理块的预测误差解码的块分割。编码器例如可以在选择帧内预测和预测误差编码/解码是否使用相同块分割时使用速率-失真优化。
基于景深的帧内预测模式确定
编码器和/或解码器可以通过使用景深信息来确定帧内预测模式。可以比较正在编码或者解码的当前纹理块的景深与邻近纹理块或者与邻近纹理块共同定位或者对应的景深块的边界采样的景深,并且可以基于这一比较来确定当前纹理块的帧内预测模式。例如,如果当前纹理块的景深与边界采样的景深很相似,则可以推断DC预测。在另一示例中,在当前景深块中检测景深边界,并且推断用于当前纹理块的双向帧内预测。
由于可以在编码器和解码器中推断帧内预测模式,所以可以不对句法元素进行编码并且可以减少比特流。可以例如在分片首部中用信号发送使用基于景深的帧内预测模式确定,并且编码器可以使用对基于景深的预测模式确定和常规帧内预测模式确定进行比较的速率-失真优化判决以及句法元素编码来开启基于景深的帧内预测模式。
景深块的帧内预测模式可以用于帧内预测相应或者共同定位的纹理块(在编码器和解码器二者中)。
可以比较正在编码或者解码的当前块的景深与邻近纹理块或者与邻近纹理块共同定位或者对应的景深块的边界采样的景深,并且可以基于这一比较来确定当前纹理块的帧内预测模式。例如,如果当前纹理块的景深与边界采样的景深很相似,则可以推断DC预测或者可以推断常规帧内预测模式信号发送。在另一示例中,在当前景深块中检测景深边界并且推断用于当前纹理块的双向帧内预测。
与块分割相似,有用于帧内预测模式的熵编码的多个选项,这些选项包括以下选项。可以在块内有景深边界时推断双向帧内预测模式,否则常规帧内预测可以用于块,其中编码器确定帧内预测模式并且在比特流中指示它。由于在编码器和解码器二者中推断帧内预测,所以不对句法元素进行编码。
在另一选项中,帧内预测模式可以被编码到比特流中,但是可以在编码器和解码器二者中应用帧内预测模式的基于景深的预测,以用基于景深的算法选择的帧内预测模式可以使用更少量编码数据比特这样的方式修改CABAC或者基于上下文的可变长度编码或者任何相似熵编码的上下文状态。实际上,可以在熵编码和解码中增加由基于景深的算法推断的帧内预测模式的可能性。
在又另一选项中,帧内预测模式可以被编码到比特流中,但是在帧内预测模式码字中使用的码表或者二值化表可以依赖于基于景深的算法的结果。
可以例如在分片首部、宏块句法或者块句法中用信号发送使用基于景深的帧内预测模式确定,并且编码器可以使用对基于景深的预测模式确定和常规帧内预测模式确定进行比较的速率-失真优化判决来开启它。
编码器可以例如使用速率-失真优化来例如执行常规帧内预测模式选择。如果常规帧内预测的速率-失真代价小于基于景深的帧内预测模式选择的速率-失真代价,则编码器可以选择使用常规帧内预测并且在比特流中(例如在分片首部、宏块句法或者块句法中)指示使用常规帧内预测。
解码器可以对与帧内预测模式有关的句法元素进行解码并且使用指示的帧内预测模式和有关句法元素来对比特流进行解码。
用于帧内预测的基于景深的采样可用性
编码器和/或解码器也可以确定是否存在有用于帧内预测的一个或者多个采样。仅使用如下采样作为预测源,这些采样在编码和/或解码中被分类为属于与正在预测的采样使用相同的对象。可以例如通过比较景深采样值(例如通过仅考虑如下那些采样位置)来完成分类为相同对象,对于这些采样位置,景深采样值充分地相互接近以属于相同对象。
在示例实施方式中,可以与相应景深画面独立地完成编码器和/或解码器对帧内编码模式和宏块分割以及对用于纹理块的帧内预测模式的判决。然而,可以根据可用景深信息修改用于帧内预测的纹理采样的可用性信息。
用于包含景深边界的块的双向帧内预测
也有可能的是,编码器和解码器使用双向帧内预测用于包含景深边界的纹理块。双向帧内预测可以在景深分量在纹理分量之前被编码和解码时更高效。因此,当前块的可能所有邻近块的景深分量可以在对当前块的纹理分量进行编码或者解码时可用。
待编码或者解码的纹理块可以被划分成两个或者更多个景深区域。邻近纹理块的边界采样也可以在编码和/或解码中被分类到等效两个或者更多个景深区域。然后,可以仅从邻近块的相应边界采样来预测在正在编码或者解码的块中的特定景深区域内的采样。可以选择不同预测方向或者帧内预测模式用于不同区域。
可以执行以下步骤中的一个或者多个步骤用于双向或者多向帧内预测包含景深边界的纹理块。
a.如以下指定的那样除了普通帧内模式之外还指定用于双向帧内预测的新帧内预测模式。
b.编码器做出块分割(比如宏块或者树块分割)的速率-失真优化判决并且通过包括新双向帧内预测作为测试的模式之一来使用编码模式。作为推广,可以有多于两个帧内预测方向(即三向帧内预测或者一般为n向帧内预测,其中n是正整数)。
c.如果(任何大小和形状(比如16x16、8x8和4x4))的纹理块包含景深边界,则可以确定在邻近块的块边界采样的可用性。可以改变块或者宏块编码和解码顺序,并且待预测的块可以从上至四侧由在邻近块的可用块边界采样包围。
d.如果在邻近纹理块的可用块边界采样与来自不同景深范围的景深采样共同定位,则双向帧内预测模式可以可用于编码器和/或解码器。
双向帧内预测模式的可用性可以用来例如通过如果双向帧内预测模式不可用则在CABAC中设置双向帧内模式的概率为零或者选择在上下文自适应可变长度编码中排除双向帧内模式的码表来调节熵编码。
e.可以在编码和/或解码中从在邻近块的可用块边界景深采样和从与正在编码的纹理块共同定位的景深块选择两个最显著景深区域。例如,可以选择在景深块中具有最多采样的两个景深区域,假如在用于它们的邻近块的块边界景深采样也可用。
f.在景深块中的每个采样可以例如根据与景深区域的中间或者平均景深值最接近的绝对差被映射到两个最显著景深区域之一。作为结果,在正在编码的纹理块中的每个采样可以被映射到可以称为景深区域0或者景深区域1的任一景深区域。
可以例如如下执行步骤e和步骤f:令Dmax和Dmin分别是在与纹理块共同定位的重建景深块中的最大值和最小值。令阈值的值是DThres=(Dmax+Dmin)/2。在景深区域0中的采样使得对于采样为depth<=DThres。在景深区域1中的采样使得对于采样为depth>DThres。
可以确定景深区域是邻接的。例如,可以在编码器和解码器二者中使用小楔形分割。对于小楔形分割,定义两个区域被直线分离。分离线由均位于块的不同边界上的起点S和终点P确定。分离线可以由直线的方程描述。用于小楔形分割的起点和终端可以例如通过最小化代价函数如下来确定。测试用于S和P的不同可能性,并且推导相应代价。例如,可以测试S和P的所有可能组合。对于每对S和P,用于区域0和1的代表值先例如通过分别对在区域0和区域1中的景深采样值进行平均来确定。然后,代价可以例如通过推导景深采样相对于视已经在哪个区域上根据S和P划分景深采样而定的区域0或者区域1的代表值而言的绝对差之和来计数。选择使代价最小的S和P值用于小楔形分割。
在一些情况下,景深区域可以被确定为邻接的但是可以无需被直线分离。
g.可以对于景深区域0和景深区域1单独执行用于纹理块的帧内预测。可以对于景深区域0选择与对于景深区域1不同的帧内预测方向。预测方向可以由编码器和解码器二者推断。备选地,预测方向可以由编码器确定并且在比特流中用信号来发送。在后一种情况下,对两个预测方向码字进行编码,一个用于景深区域0而另一个用于景深区域1。
用于帧内预测的采样可用性可以例如如以上描述的那样基于景深。另一相似备选是将在可以用于帧内预测的邻近块中的采样通过比较它们的景深值与阈值DThres分类到区域0或者区域1。在区域0中分类的来自邻近块的采样可以用来预测在正在被编码或者解码的当前块中的区域0的采样,而在区域1中的来自邻近块的采样不用来预测在正在被编码或者解码的当前块中的区域0的采样。可以相似地处理正在被编码或者解码的当前块的区域1。
可以改变块或者宏块编码或者解码顺序,并且待预测的块可以从上至四侧由在邻近块的可用块边界采样包围,因此帧内预测模式和它们使用的在邻近块的块边界采样也可以不同于在H.264/AVC或者HEVC或者任何相似编码或者解码方法或者系统中当前的帧内预测模式和块边界采样。例如,可以如下改变H.264/AVC帧内预测模式。
在DC模式中,设置区域0/1为在从任何方向包围当前块的邻近块并且也在区域0/1中的采样的均值。
在水平/竖直模式中,如果来自当前块的两侧的块的边界采样可用,则边界采样根据与正在预测的采样的欧几里得空间距离来加权。例如,如果预测采样p1的水平坐标是x1=7并且预测采样p2的水平坐标是x2=16而正在预测的采样的水平坐标是x=10,则可以使用m=(x2-x1)=9来推导预测采样为((m-(x-x1))*p1+(m-(x2-x))*p2)/m=((9-(10-7))*p1+(9-(16-10))*p2)/9=(6*p1+3*p2)/9。如果仅一个边界采样可用,则它这样用作预测。如果无边界采样可用,则可以使用通过DC预测获得的值。
景深加权的帧内预测
编码器和解码器可以在帧内预测中使用景深信息用于加权目的。用于帧内预测纹理的基于景深的权值可以是非二进制值(比如分数值),该非二进制值基于在正在被预测的纹理采样的景深与预测采样的景深之间的差。
多于一个的预测采样可以用于预测单个采样。另外,可以使用二进制权值,即,如果预测采样被分类为属于与正在被预测的采样不同的景深区域,则可以使用权值0。否则,可以使用用于所有预测采样的相等权值。在一些情况下,可以基于在预测采样与正在被预测的采样之间的欧几里得空间距离已经确定附加乘法权值。
在一些情况下,基于景深的权值可以是非二进制值(比如分数值)。例如,可以使用以下推导。令正在被预测的采样的景深值表示为d。令预测采样表示为pi而预测采样的景深值表示为di,其中i是预测采样的索引。预测采样的景深也可以包括从多个景深采样推导的值,比如被分类为属于与正在被预测的采样的景深相同的景深区域的邻近景深块的所有边界采样的平均值。令S对含1和n的i=1到n的所有值等于Σabs(di-D),其中n是预测采样的数目。令针对每个预测定义的wi对含1和n的j=1到n这些值等于(S-Σabs(dj-D))/S,其中j≠i。然后,可以推导预测采样p对含1和n的i=1到n的所有值为Σ(wi*pi)。
将理解的是,尽管已经在特定编码解码器(比如3DV-ATM)的上下文中描述编码工具中的许多编码工具,但是它们可以相似地应用于其它编码解码器结构,比如HEVC的景深增强的多视图视频编码扩展。
如上所述,编码和/或解码的景深视图分量可以例如用于以下目的中的一个或多个目的:i)作为用于其它景深视图分量的预测参考;ii)作为例如通过视图合成预测的用于纹理视图分量的预测参考;iii)作为DIBR或视图合成过程的输入,其被执行作为用于解码的后处理或者用于渲染/显示的预处理。在许多情况下,景深图中的失真造成视图合成过程中的影响,其可以用于视图合成预测和/或作为解码的后处理而完成的视图合成。因此,在许多情况下,景深失真可以被视为具有在渲染的视图的视觉品质/保真度方面和/或在预测信号的品质/保真度方面的非直接影响。解码的景深图自身可能不用于一些应用,这些应用诸如例如可能对于终端用户而言不被显示。景深图的上述特性及其影响可以用于速率失真优化的编码器控制。用于景深画面的速率失真优化模式和参数选择可以基于所估计或得出的合成视图分量的质量或保真度而进行。而且,产生的纹理视图分量的速率失真性能(由于基于景深的预测和编码工具)可以在景深画面的模式和参数选择中被考虑。已经提出了考虑视图合成保真度的用于景深增强的视频编码的速率失真优化的若干方法。这些方法可以被称为视图合成优化(VSO)方法。
在图8中呈现能够对纹理视图和景深视图进行编码的编码器200的实施例的高级流程图,并且在图9中呈现能够对纹理视图和景深视图进行解码的解码器210的实施例的高级流程图。在这些图上,实线描绘主要数据流,而虚线示出控制信息信令。编码器200可以接收将被纹理编码器202编码的纹理分量201和将被景深编码器204编码的景深映射分量203。在编码器200正在根据AVC/MVC对纹理分量进行编码时,可以关断第一开关205。在编码器200正在对增强纹理分量进行编码时,可以接通第一开关205,从而可以向纹理编码器202提供景深编码器204生成的信息。这一示例的编码器也包括可以被操作如下的第二开关206。在编码器正在对AVC/MVC视图的景深进行编码时,接通第二开关206,并且在编码器正在对增强纹理视图的景深信息进行编码时,关断第二开关206。编码器200可以输出包含编码视频信息的比特流207。
解码器210可以以相似方式但是至少部分按照相反顺序操作。解码器210可以接收包含编码视频信息的比特流207。解码器210包括用于对纹理信息进行解码的纹理解码器211以及用于对景深信息进行解码的景深解码器212。可以提供第三开关213以控制从景深解码器212向纹理解码器211的信息递送,并且可以提供第四开关214以控制从纹理解码器211向景深解码器212的信息递送。在解码器210将对AVC/MVC纹理视图进行解码时,可以关断第三开关213,并且在解码器210将对增强纹理视图进行解码时,可以接通第三开关213。在解码器210将对AVC/MVC纹理视图的景深进行解码时,可以接通第四开关214,并且在解码器210将对增强纹理视图的景深进行解码时,可以关断第四开关214。解码器210可以输出重建的纹理分量215和重建的景深映射分量216。
许多视频编码器利用拉格朗日代价函数以发现速率-失真最优编码模式,例如期望的宏块模式和关联运动矢量。这一类型的代价函数使用加权因子或者λ以将由于有损编码方法所造成的确切或者估计的图像失真以及为了表示在图像区域中的像素/采样值而需要的确切或者估计的信息量连结在一起。拉格朗日代价函数可以由下式表示:
C=D+λR
其中C是待最小化的拉格朗日代价,D是当前考虑的模式和运动矢量的图像失真(例如,在原有图像块中和在编码图像块中的像素/采样值之间的均方误差),λ是拉格朗日系数,并且R是为了表示用于在解码器中重建图像块的所需数据(包括用于表示候选运动矢量的数据量)而需要的位数。
编码标准可以包括子比特流提取过程,并且例如在SVC、MVC和HEVC中指定这样的过程。子比特流提取过程涉及通过去除NAL单元来将比特流转换成子比特流。子比特流仍然保持符合该标准。例如,在草案HEVC标准中,通过排除具有大于或者等于选择的值的temporal_id的所有VCL NAL单元并且包括所有其它VCL NAL单元而创建的比特流保持一致。因而,具有等于TID的temporal_id的画面不使用具有大于TID的temporal_id的任何画面作为帧间预测参考。
还已经提出了除较早提出的那些类型之外的其它类型的参数集句法结构。在以下段落中,描述了所提出的类型的参数集中的一些参数集。
已经提出编码器在GOS(分片组)参数集中包括常规地已经在分片首部中包括的句法元素的至少子集。编码器可以将GOS参数集编码为NAL单元。GOS参数集NAL单元可以与例如编码分片NAL单元一起包含在比特流中,但是也可以如在其它参数集的上下文中较早描述的那样被带外输送。
GOS参数集句法结构可以包括可以在参考例如来自分片首部或者另一GOS参数集的特定GOS参数集实例时使用的标识符。备选地,GOS参数集句法结构不包括标识符,但是编码器和解码器二者可以例如使用GOS参数集句法结构的比特流顺序和预定义的编号方案来推断标识符。
编码器和解码器可以从已经在比特流中被编码或者解码或者存在的其它句法结构推断GOS参数集的内容或者实例。例如,基础视图的纹理视图分量的分片首部可以隐式地形成GOS参数集。编码器和解码器可以推断用于这样的推断的GOS参数集的标识符值。例如,可以推断由基础视图的纹理视图分量的分片首部形成的GOS参数集具有等于0的标识符值。
GOS参数集可以在与它关联的特定访问单元内有效。例如,如果在用于访问单元的NAL单元序列中包括GOS参数集句法结构,其中该序列按照解码或者比特流顺序,则GOS参数集可以从它的出现位置直至访问单元的结束有效。备选地,GOS参数集可以对于许多访问单元有效。
编码器可以对用于访问单元的许多GOS参数集进行编码。如果已知、预计或者估计在待编码的分片首部中的句法元素值的至少子集将在后续分片首部中相同,则编码器可以确定对GOS参数集进行编码。
有限编号空间可以用于GOS参数集标识符。例如,固定长度码可以被使用并且可以被解释为某个范围的无符号整数值。编码器可以使用GOS参数集标识符值用于第一GOS参数集,并且如果第一GOS参数集随后不被例如任何分片首部或者GOS参数集参考,则随后用于第二GOS参数集。编码器可以在比特流内重复GOS参数集句法结构,以例如实现防范传输错误的更佳稳健性。
在句法元素集合中可以在概念上汇集可以在GOS参数集中包括的句法元素。可以例如在以下基础中的一个或者多个基础上形成用于GOS参数集的句法元素集:
-指示可伸缩层和/或其它可伸缩性特征的句法元素
-指示视图和/或其它多视图特征的句法元素
-与特定分量类型(比如景深/视差)有关的句法元素
-与访问单元标识、解码顺序和/或输出顺序和/或可以对于访问单元的所有分片保持不变的其它句法元素有关的句法元素
-可以在视图分量的所有分片中保持不变的句法元素
-与参考画面列表修改有关的句法元素
-与使用的参考画面集合有关的句法元素
-与解码参考画面标记有关的句法元素
-与用于加权预测的预测权重表有关的句法元素
-用于控制解块(deblocking)滤波的句法元素
-用于控制自适应环路滤波的句法元素
-用于控制采样自适应偏移的句法元素
-以上集合的任何组合
对于每个句法元素集合,编码器可以在对GOS参数集进行编码时具有以下选项中的一个或者多个选项:
-可以将句法元素集合编码成GOS参数集句法结构,即可以在GOS参数集句法结构中包括句法元素集合的编码句法元素值。
-可以通过参考将句法元素集合包含到GOS参数集中。可以给定该参考作为指向另一GOS参数集的标识符。编码器可以使用不同参考GOS参数集用于不同句法元素集合。
-可以指示或者推断句法元素集合在GOS参数集中不存在。
编码器能够在对GOS参数集进行编码时为特定句法元素集合从中选择的选项可以依赖于句法元素集合类型。例如,与可伸缩层有关的句法元素集合可以总是存在于GOS参数集中,而可以在视图分量的所有分片中保持不变的句法元素集合可能不可用于通过参考来包含但是可以可选地存在于GOS参数集中,并且与参考画面列表修改有关的句法元素可以通过参考而包含于GOS参数集句法结构中,这样包含于GOS参数集句法结构中或者在GOS参数集句法结构中不存在。编码器可以在比特流中(例如在GOS参数集句法结构中)对在编码时使用哪个选项的指示进行编码。码表和/或熵编码可以依赖于句法元素集合的类型。解码器可以基于正在解码的句法元素集合的类型使用与编码器使用的码表和/或熵编码匹配的码表和/或熵编码。
编码器可以具有用于指示在句法元素集合与作为用于该句法元素集合的值的来源而使用的GOS参数集之间的关联的多个装置。例如,编码器可以对句法元素循环进行编码,其中每个循环条目被编码为句法元素,这些句法元素指示用作参考的GOS参数集标识符值并且标识从参考GOS参数集复制的句法元素集合。在另一示例中,编码器可以对各自指示GOS参数集的多个句法元素进行编码。在包含特定句法元素集合的循环中的最后GOS参数集是用于编码器当前正在编码到比特流中的、在GOS参数集中的该句法元素集合的参考。解码器相应地从比特流解析编码GOS参数集,以便再现与编码器相同的GOS参数集。
在文档JCTVC-J0109(http://phenix.int-evry.fr/jct/doc_end_user/current_document.php?id=5972)中提出首部参数集(HPS)。HPS类似于GOS参数集。分片首部从一个或多个HPS被预测。换言之,分片首部句法元素的值可以从一个或多个HPS选择性地取得。如果画面仅由一个分片组成,则HPS的使用是可选的,并且相反,分片首部可以被包括在编码的分片NAL单元中。在JCTVC-J0109中提出了HPS设计的两个备选方法:单AUHPS,其中HPS仅适用于相同访问单元内的分片;以及多AU HPS,其中HPS可以适用于多个访问单元中的分片。所提出的两个方法在它们的句法方面是类似的。两个方法之间的主要区别由以下事实产生:单AU HPS设计需要为每个访问单元传输HPS,而多AU HPS设计则允许跨多个AU重复使用相同的HPS。
相机参数集(CPS)可以被认为类似于APS、GOS参数集和HPS,但是CPS可以旨在仅携带相机参数和视图合成预测参数,以及可能携带与景深视图或者景深视图的使用有关的其它参数。
图1示出根据示例实施例的视频编码系统的框图为示例装置或者电子设备50的示意框图,该装置或者电子设备可以并入根据本发明的实施例的编码解码器。图2示出根据示例实施例的装置的布局。接着将说明图1和图2的单元。
电子设备50可以例如是无线通信系统的移动终端或者用户设备。然而,将理解的是,可以在可能需要对视频图像进行编码和解码或者编码或解码的任何电子设备或者装置内实施本发明的实施例。
装置50可以包括用于结合和保护设备的壳30。装置50还可以包括形式为液晶显示器的显示器32。在本发明的其它实施例中,显示器可以是适合于显示图像或者视频的任何适当显示器技术。装置50还可以包括小键盘34。在本发明的其它实施例中,可以运用任何适当数据或者用户接口机制。例如,可以实施用户接口为虚拟键盘或者数据录入系统作为触敏显示器的一部分。装置可以包括麦克风36或者任何适当的音频输入,该音频输入可以是数字或者模拟信号输入。装置50还可以包括如下音频输出设备,该音频输出设备在本发明的实施例中可以是以下各项中的任何一项:耳机38、扬声器或者模拟音频或者数字音频输出连接。装置50也可以包括电池40(或者在本发明的其它实施例中,设备可以由任何适当移动能量设备(比如太阳能电池、燃料电池或者时钟机构生成器)供电)。装置还可以包括能够录制或捕捉图像和/或视频的相机42。在一些实施例中,装置50还可以包括用于与其它设备的近程视线通信的红外端口。在其它实施例中,装置50还可以包括任何适当近程通信解决方案,比如蓝牙无线连接或者USB/火线有线连接。
装置50可以包括用于控制装置50的控制器56或者处理器。控制器56可以连接到存储器58,该存储器在本发明的实施例中可以存储形式为图像数据和音频数据二者的数据,和/或也可以存储用于在控制器56上实施的指令。控制器56还可以连接到适合于实现音频和/或视频数据的编码和解码或者辅助由控制器56实现的编码和解码的编码解码器电路装置54。
装置50还可以包括用于提供用户信息并且适合于提供用于在网络认证和授权用户的认证信息的读卡器48和智能卡46,例如UICC和UICC读取器。
装置50可以包括无线电接口电路装置52,该无线电接口电路装置连接到控制器并且适合于生成例如用于与蜂窝通信网络、无线通信系统或者无线局域网通信的无线通信信号。装置50还可以包括天线44,该天线连接到无线电接口电路装置52用于向其它装置发送在无线电接口电路装置52生成的射频信号以及用于从其它装置接收射频信号。
在本发明的一些实施例中,装置50包括能够记录或者检测个体帧的相机,这些帧然后被传递到编码解码器54或者控制器用于处理。在本发明的一些实施例中,装置可以在传输和/或存储之前从另一设备接收用于处理的视频图像数据。在本发明的一些实施例中,装置50可以无线地或者通过有线连接接收用于编码/解码的图像。
图3示出根据示例实施例的包括多个装置、网络和网元的用于视频编码的布置。关于图3,示出可以在其中利用本发明的实施例的系统的示例。系统10包括可以通过一个或者多个网络通信的多个通信设备。系统10可以包括有线或者无线网络的任何组合,这些有线或者无线网络包括但不限于无线蜂窝电话网络(比如GSM、UMTS、CDMA网络等),比如IEEE 802.x标准中的任何标准定义的无线局域网(WLAN)、蓝牙专用网络、以太网局域网、令牌环局域网、广域网和因特网。
系统10可以包括适合用于实施本发明的实施例的有线和无线通信设备二者或者装置50。例如,图3中所示系统示出移动电话网络11并且示出因特网28的表示。与因特网28的连通可以包括但不限于远程无线连接、近程无线连接和各种有线连接,这些有线连接包括但不限于电话线路、线缆线路、功率线路和相似通信途径。
系统10中所示示例通信设备可以包括但不限于电子设备或者装置50、个人数字助理(PDA)和移动电话14的组合、PDA 16、集成消息接发设备(IMD)18、桌面型计算机20、笔记本计算机22。装置50可以是静止的或者可以是在由移动的个人携带时可移动的。装置50也可以位于运输模式中,该运输模式包括但不限于小汽车、卡车、出租车、公共汽车、火车、船只、飞机、自行车、摩托车或者任何相似的适当运输模式。
一些或者更多装置可以发送和接收呼叫和消息,并且通过与基站24的无线连接25与服务提供商通信。基站24可以连接到网络服务器26,该网络服务器允许在移动电话网络11与因特网28之间的通信。系统可以包括附加通信设备和各种类型的通信设备。
通信设备可以使用各种传输技术来通信,这些传输技术包括但不限于码分多址(CDMA)、全球移动通信系统(GSM)、通用移动电信系统(UMTS)、时分多址(TDMA)、频分多址(FDMA)、传输控制协议-网际协议(TCP-IP)、短消息接发服务(SMS)、多媒体消息接发服务(MMS)、电子邮件、即时消息接发服务(IMS)、蓝牙、IEEE 802.11和任何相似无线通信技术。参与实施本发明的各种实施例的通信设备可以使用各种介质来通信,这些介质包括但不限于无线电、红外线、激光、线缆连接和任何适当连接。
图4a和图4b示出根据示例实施例的用于视频编码和解码的框图。
图4a示出编码器为包括像素预测器302、预测误差编码器303和预测误差解码器304。图4a也示出像素预测器302的实施例为包括帧间预测器306、帧内预测器308、模式选择器310、滤波器316和参考帧存储器318。在这一实施例中,模式选择器310包括块处理器381和代价评估器382。编码器还可以包括用于对比特流进行熵编码的熵编码器330。
图4b描绘帧间预测器306的实施例。帧间预测器306包括用于选择一个或者多个参考帧的参考帧选择器360、运动矢量定义器361、预测列表形成器363和运动矢量选择器364。这些单元或者它们中的一些单元可以是预测处理器362的一部分或者可以通过使用其它部件来实施它们。
像素预测器302接收将在帧间预测器306(该帧间预测器确定在图像与运动补偿的参考帧318之间的差)和帧内预测器308(该帧内预测器仅基于当前帧或者画面的已经处理的部分确定用于图像块的预测)二者处被编码的图像300。向模式选择器310传递帧间预测器和帧内预测器二者的输出。帧间预测器306和帧内预测器308二者可以具有多于一个的帧内预测模式。因此,可以对于每个模式执行帧间预测和帧内预测,并且可以向模式选择器310提供预测信号。模式选择器310也接收图像300的副本。
模式选择器310确定使用哪个编码模式对当前块进行编码。如果模式选择器310判定使用帧间预测模式,则它将向模式选择器310的输出传递帧间预测器306的输出。如果模式选择器310判定使用帧内预测模式,则它将向模式选择器310的输出传递帧内预测器模式之一的输出。
模式选择器310可以在代价评估器块382中例如使用拉格朗日代价函数以通常在块基础上在编码模式及其参数(比如运动矢量、参考索引和帧内预测方向)之间选择。这种代价函数使用加权因子lambda将由于有损编码方法所造成的(确切或者估计的)图像失真与为了表示在图像区域中的像素值而需要的(确切或者估计的)信息量连结在一起:C=D+lambda×R,其中C是待最小化的拉格朗日代价,D是在考虑模式及其参数时的图像失真(例如均方误差),并且R是为了表示所需数据以在解码器中重构图像块而需要的位数(例如,包括用于表示候选运动矢量的数据量)。
向第一求和器件321传递模式选择器的输出。第一求和器件可以从图像300减去像素预测器302的输出以产生向预测误差编码器303输入的第一预测误差信号320。
像素预测器302还从初步重构器339接收图像块312的预测表示和预测误差解码器304的输出338的组合。可以向帧内预测器308以及向滤波器316传递初步重构图像314。接收初步表示的滤波器316可以对初步表示进行滤波并且输出可以在参考帧存储器318中保存的最终重构图像340。参考帧存储器318可以连接到帧间预测器306以用作将来图像300在帧间预测操作中与之比较的参考图像。在许多实施例中,参考帧存储器318可以能够存储多于一个的解码画面,并且它们中的一个或者多个解码画面可以由帧间预测器306用作将来图像300在帧间预测操作中与之比较的参考画面。参考帧存储器318可以在一些情况下也称为解码画面缓冲器。
像素预测器302的操作可以被配置用于执行本领域已知的任何已知像素预测算法。
像素预测器302也可以包括用于在从像素预测器302输出预测值之前对它们进行滤波的滤波器385。
下文将进一步具体描述预测误差编码器302和预测误差解码器304的操作。在下文中,编码器按照将要形成全图像或者画面的16x16像素宏块生成图像。然而,注意到图4a不限于块大小16x16,而是一般可以使用任何块大小和形状,并且类似地,图4a不限于将画面分割成宏块,而是可以使用任何其它将画面分割成块(比如编码单元)。因此,对于以下示例,像素预测器302输出大小为16x16个像素的一系列预测宏块,并且第一求和器件321输出一系列16x16像素残值数据宏块,这些残值数据宏块可以表示在图像300中的第一宏块与预测宏块(像素预测器302的输出)之间的差。
预测误差编码器303包括变换块342和量化器344。变换块342将第一预测误差信号320变换到变换域。变换例如是DCT变换或其变体。量化器344量化变换域信号(例如DCT系数)以形成量化系数。
预测误差解码器304从预测误差编码器303接收输出并且产生解码预测误差信号338,该解码预测误差信号在第二求和器件339与图像块312的预测表示组合时产生初步重构图像314。可以认为预测误差解码器包括解量化器346和逆变换块348,该解量化器将量化系数值(例如DCT系数)解量化以近似地重构变换信号,该逆变换块对重构变换信号执行逆变换,其中逆变换块348的输出包含重构块。预测误差解码器也可以包括可以根据进一步的解码信息和滤波器参数对重构宏块进行滤波的宏块滤波器(未示出)。
在下文中,将更具体描述帧间预测器306的示例实施例的操作。帧间预测器306接收用于帧间预测的当前块。假设对于当前块,已经存在已经编码的一个或者多个邻近块,并且已经为它们定义运动矢量。例如,在当前块的左侧上的块和/或以上的块可以是这样的块。可以例如通过使用在相同切片或者帧中的编码的邻近块和/或非邻近块的运动矢量、使用空间运动矢量预测的线性或者非线性函数、使用各种运动矢量与线性或者非线性运算的组合或者通过不利用时间参考信息的任何其它适当手段来形成用于当前块的空间运动矢量预测。也可以有可能通过比较一个或者多个编码的块的空间和时间预测信息二者来获得运动矢量预测。这些种类的运动矢量预测器也可以称为空间-时间运动矢量预测器。
可以向参考帧缓冲器存储在编码中使用的参考帧。可以在参考画面列表中的一个或者多个参考画面列表中包括每个参考帧,在参考画面列表内,每个条目具有标识参考帧的参考索引。在参考帧不再用作参考帧时,它可以从参考帧存储器被去除或者被标记为“不用于参考”或者非参考帧,其中该参考帧的存储位置可以被占用用于新参考帧。
如以上描述的那样,访问单元可以包含不同分量类型(例如主要文本分量、冗余文本分量、辅助分量、景深/视差分量)的、不同视图的和不同可伸缩层的分片。可以定义分量画面为用于依赖性表示、层表示、纹理视图分量、景深视图分量、景深映射或者相似分量画面的总术语。编码分量画面可以使用分量画面定界符NAL单元来相互分离,该分量画面定界符NAL单元也可以携带将用于对分量画面的编码分片进行解码的公共句法元素值。访问单元可以由相对大量分量画面(比如编码纹理和景深视图分量以及依赖性和层表示)构成。一些分量画面的编码大小可以相对小,例如因为它们可以视为表示相对于基础视图或者基础层的增量以及由于景深分量画面可以相对易于压缩。在分量画面定界符NAL单元存在于比特流中时,可以定义分量画面为分量画面定界符NAL单元和后续编码分片NAL单元直至访问单元的结束或者直至下一分量画面定界符NAL单元(不含访问单元的结束或者下一分量画面定界符NAL单元)而无论哪一个在解码顺序中更早。
在如MPEG文档N12923中所规定的MVC+D以及如MPEG文档N12732中所规定的3D-AVC中,比特流中景深视图的数量被要求等于相同比特流中纹理视图的数量。而且比特流中景深视图被要求与相同比特流中的纹理视图共同定位。换言之,比特流的景深视图表示比特流的纹理视图的景深或视差信息。而且,景深画面的样本被要求覆盖与相应的纹理画面的样本相同的空间区域。换言之,针对每个纹理样本的景深信息存在于景深画面中,并且对于不存在于纹理画面中的相应的纹理样本或样本,在景深画面中没有样本。
然而,可能期望比特流中的景深视图的数量不等于相同比特流中纹理视图的数量,和/或期望景深视图的一些或所有都不与任何纹理视图共同定位,和/或期望景深画面覆盖相对于相应纹理画面的不同的空间区域。为何可能期望这样的协议的示例包括但不限于以下段落中所给出的示例。
在一些3D视频或图像捕捉系统中,特定的传感器或传感器阵列,例如基于渡越时间原理,可以被用于景深或距离传感并且这样的传感器或传感器阵列可以不同于那些用于捕捉普通的彩色图像/多个彩色图像,例如电荷耦合装置(CCD)传感器或者互补金属氧化物半导体(CMOS)传感器。这些不同可以包括相对于用于纹理和景深传感器的所捕捉的3D场景和/或照相机参数不同的分辨率、纵横比、空间位置。景深画面因此被从相对于纹理画面的视角(即彩色图像传感器/多个彩色图像传感器的位置)的不同视角(即从景深传感器/多个景深传感器的不同位置)捕捉。因此,捕捉系统的输出可以包括与纹理视图非共同定位的景深视图,因为相应的传感器是在捕捉设备或多-设备布置(诸如新相机装置)内的不同空间位置。景深传感器也可以具有相较于彩色图像传感器的不同特点,例如当其提到传感器的物理尺寸和像素/样本分辨率、样本纵横比和/或画面纵横比时。备选地或附加地,景深传感器可能不与彩色图像传感器联合地校准或者景深图像可能不与彩色图像校正。备选地或附加地,景深传感器可以具有不同的照相机参数,例如外在的和内在的照相机参数,诸如焦距,当相较于彩色图像传感器的那些参数时。因此应理解的是由景深传感器覆盖的图像区域相较于由相同3D捕捉系统中的彩色图像传感器所覆盖的区域,可以不相等。
照相机可以包括光学布置,诸如微-透镜、和/或仅通过某些波长范围的滤光器。在这样的布置中,例如不同的传感器阵列或传感器阵列的不同部分可以被用于捕捉不同波长范围。在另一示例中,使用小透镜阵列,并且每个小透镜在稍微不同的角度处来察看场景。因此,图像可以由微-图像阵列组成,每个对应于一个小透镜,其表示在稍微不同的角度处所捕捉的场景。而且,例如使用红外波长的景深范围可以采用这些微-透镜或小透镜布置等来实现。然而,在这样的布置中的景深视图的视角可以稍微不同于纹理视图的视角,即使两者都用相同的传感器来捕捉。因此,捕捉系统的输出可以包括与纹理视图非共同定位的景深视图。
在立体匹配中,视差搜索可以以一个定向方式来执行,即针对第一视图部分(例如左视图的画面)中的每个样本,第二视图部分(例如右视图的画面)中对应的样本被搜索。然而,为了找到针对第二视图部分中的每个样本的视差,可能需要至少针对一些样本再次执行立体匹配来找到第一视图部分中的对应样本。可能有几个原因来仅在一个方向上执行立体匹配,即针对一个视图(或通常针对视图的子集)包括但不限于以下各项:
1.可以针对视图的子集来实现立体匹配或景深估计以节省计算资源和/或存储器资源和/或电池功率/电荷水平。为产生景深的第二视图,景深估计应当被重复,其可能会使计算和存储器要求加倍。
2.内容可以被旨于和/或被限制于被修改以这样的方式:合成的视图被定位为相对靠近用于获取景深画面的视图,以便该视图合成质量被推断或估计为足够好,即使仅视图的子集与相应的景深视图相关联。
3.可能已知或有信号的是渲染装置执行DIBR以这样的方式:合成的视图被定位为相对靠近用于获取景深画面的视图,以便该视图合成质量被推断或估计为足够好,即使仅视图的子集与相应的景深视图相关联。
参考以上列出中的项2和3,可以考虑被称为2T+1D的包括两个纹理视图和一个景深视图的比特流的示例。2T+1D格式可以使得通过基于景深图像的渲染能够进行渲染能量。虚拟的纹理视图可以被合成在从可用的纹理视图的一些视角范围内。与合成视图一起显示的与第二纹理视图合并,2T+1D协议可以使得立体显示能够具有可调整的立体基线功能。应理解的是由于合成视图中可能出现掩蔽/非掩蔽,相较于常规2T+2D MVD数据的较小视程内可以使用高质量的视图合成。然而,应相信的是一些使用情况和/或应用可能满足由2T+1D格式提供以及后处理技术(诸如内绘制或孔填充)所增强的渲染范围,将能够隐藏掩蔽/非掩蔽问题。
在一些捕捉布置中,有多于一个彩色图像传感器,例如立体彩色图像照相机,以及测距或距离传感照相机(或通常地许多景深测距照相机)。通过立体匹配或景深估计,可以获取一个或多个景深视图,但是相较于由彩色图像传感器所获取的纹理视图(例如由于以上解释的任何原因),景深视图可以表示视点的子集。此外,可以有起源于测距传感器的景深视图,其与纹理视图非共同定位。
可能期望编码或后续地解码相较于纹理视图的较小数量的景深视图,以便例如减少功率消耗,处理功率使用,存储器访问带宽和存储器空间要求。例如,对景深映射的单个视图编码/解码来代替两个视图可以为编解码器提供相较于包括纹理和景深两个视图的完全的MVD数据的复杂性减少。
因此,在本发明方法中,用于对景深-增强多视图视频编码、解码和处理的方法被呈现,其中可以有相等数量的纹理和景深视图,和/或一些纹理视图可以不具有共同定位的景深视图,和/或一些景深视图可以不具有共同定位的纹理视图,一些景深视图部分可以不临时地与纹理视图部分一致,或反之亦然,共同定位的纹理和景深视图可以覆盖不同的空间区域,和/或可以有多于一种类型的景深视图部分。本发明的一些非限制性实施例被呈现如下。
在各种实施例的描述中,术语“共同定位”、“并列”和“交叠”可以被可互换地使用以指示纹理视图部分中的某一样本或区域表示相同物理对象或3D场景的片段作为景深视图部分中的某一共同定位/并列/交叠的样本或区域。在一些实施例中,纹理视图部分的采样网格可以与景深视图部分的采样网格相同,即纹理视图部分的部分图像的一个样本(诸如亮度图像)与景深视图部分的一个样本相对应,即样本的物理维度在纹理视图部分的一个部分图像(诸如亮度图像)与对应的景深视图部分之间匹配。在一些实施例中,纹理视图部分的一个部分图像(诸如亮度图像)的采样网格的样本维度(twidth x theight)可以是景深视图部分的采样网格的样本维度(dwidth x dheight)的整数倍,即twidth=m x dwidth以及theight=n x dheight,其中m和n是正整数。在一些实施例中,twidth=m x dwidth以及theight=n xdheight或者备选地dwidth=m x twidth以及dheight=n x theight,其中m和n是正值并且可能是非整数。在这些实施例中,可以在编码器和在解码器中以及在视图合成处理和其他处理中使用内插协议来获取纹理和景深之间的共同定位样本值。在一些实施例中,纹理视图部分的部分图像(诸如亮度图像)的采样网格的物理位置可以与对应的景深视图的物理位置匹配,并且纹理视图部分的部分图像(诸如亮度图像)的样本维度可以是景深视图部分的采样网格的样本维度(dwidth x dheight)的整数倍(或反之亦然),然后,纹理视图部分和景深视图部分可以考虑被共同定位并表示相同的视点。在一些实施例中,纹理视图部分的部分图像(诸如亮度图像)的采样网格的位置可以具有相对于景深视图部分的采样网格位置的整数样本偏移,或反之亦然。换言之,纹理视图部分的部分图像(诸如亮度图像)的采样网格的左上样本可以与景深视图部分的采样网格中位置(x,y)处的样本相对应,或反之亦然,其中x和y是具有仅非负值和左上角中起点的两维笛卡尔坐标系统中的非负整数。在一些实施例中,x和/或y的值可以是非整数,并且因此可以在编码器和在解码器中以及在视图合成处理和其它处理中使用内插协议以获得纹理和景深之间的共同定位样本值。在一些实施例中,纹理视图部分的部分图像(诸如亮度图像)的采样网格可以具有相较于景深视图部分的采样网格的那些相等的范围。换言之,纹理视图部分的部分图像(诸如亮度图像)的采样网格中的水平和/或垂直方向中的样本的数量分别可以不同于景深视图部分的采样网格中水平和/或垂直方向中的样本的数量,和/或纹理视图部分的部分图像(诸如亮度图像)的采样网格的物理宽度和/或高度可以分别不同于景深视图部分的采样网格的物理宽度和/或高度。在一些实施例中,非统一的和/或非匹配的样本网格可以被利用用于纹理和/或景深部分。当纹理视图部分的部分图像(诸如亮度图像)的采样网格不是景深视图部分的采样网格的样本维度(dwidth xdheight)的整数倍、或者纹理视图部分的部分图像(诸如亮度图像)的采样网格位置具有相较于景深视图部分的采样网格位置的非整数偏移、或者景深视图部分和纹理视图部分的采样网格是非对齐/校正时,景深视图部分的样本网格是与纹理视图部分的样本网格布匹配的。这会发生在例如有意地减少部分之一中的数据的冗余或者由于景深传感器和彩色图像传感器之间校准/校正过程不准确。
在本发明的一些实施例中,编码器输入相较于纹理视图的数量不同数量的景深视图,和/或以被编码的景深视图的数量不同于被编码的纹理视图的数量的这样的方式而省略编码景深视图。附加地或备选地,编码器可以输入或者推断至少一个用于编码的景深视图具有不同的视点或与用于编码的纹理视图的任一个不共同定位。在一些实施例中,被编码的景深视图的数量可以等于被编码的纹理视图的数量,但至少一个被编码的景深视图具有不同的视点或者与被编码的纹理视图的任一个不共同定位。例如景深视图可以不与目前的纹理视图任一个配合并且表示从目前纹理图像之间间隔的视角或者目前纹理视图的视角之外的信息。
在各实施例中,编码器和/或与编码器连接的另一单元(例如使用编码器的应用)可以执行除了其他之外的以下步骤的一个或多个:
1.确定输入纹理和景深视图的哪些个被编码。
2.确定纹理视图和景深视图的视图间预测层级。
3.确定接入单元内的视图部分次序,也被称为AU视图部分次序。
4.将输入纹理和景深视图的哪些个被编码的一个或多个指示、纹理视图和景深视图的视图间预测层级、和/或AU视图部分次序编码到比特流中。
5.作为被要求为用于预测(诸如视图合成预测、视图间预测、部分间预测等)和/或用于被执行为用于解码的后处理的视图合成以及不输入到编码器或不确定为被编码的景深视图的参考或输入的景深视图的响应,执行以下:
–基于所编码的景深视图和/或所编码的纹理视图和/或所重建的景深视图和/或所重建的纹理视图或它们的部分,获取景深视图、针对景深视图的一个或多个景深视图部分、或者针对景深视图的一个或多个景深视图部分的部分。该获取可以例如基于视图合成或DIBR。
–使用所获取的景深视图作为用于预测(诸如视图合成预测、视图间预测、部分间预测等)和/或用于被执行为用于解码的后处理的参考或输入。
6.推理使用一个或多个编码工具、编码工具的模式、和/或用于基于相应的被编码景深视图的存在或不存在、和/或相应的所获取的景深视图的存在或不存在而编码纹理视图的编码参数。在一些实施例中,当景深视图被要求作为用于预测(诸如视图合成预测、视图间预测、部分间预测等)的参考或输入但不被编码时,编码器可以获取景深视图;或者推理使得景深视图被要求作为用于预测的参考或输入的编码工具被关断;或者自适应地选择以上之一并且将所选择的选项和涉及的参数值,如果有的话,作为一个或多个指示编码到比特流中。
7.基于景深视图部分中共同定位的样本或块的可用性,从景深视图部分(或者通常从一个或多个景深视图部分)到纹理视图部分(或者通常到一个或多个纹理视图部分)形成部分间预测信号或预测块等用于纹理视图部分中的预测块的子集。相似地,基于纹理视图部分中共同定位的样本或块的可用性,从纹理视图部分(或者通常从一个或多个纹理视图部分)到景深视图部分(或者通常到一个或多个景深视图部分)形成部分间预测信号或预测块等用于景深视图部分中的预测块的子集。
8.基于共同定位的景深样本的可用性来形成视图合成预测信号或预测块等。应理解的是以上提到的步骤不需要被以上面给出的次序来执行。例如,步骤1到3可以考虑为相关的并且可以执行为联合的过程或以与上面所呈现的不同的次序。
在一些实施例中,编码器和/或与编码器连接的另一单元(例如使用编码器的应用)决定输入纹理和景深视图的哪些个被编码。该决定可以例如每个内容项(例如视频文件)或会话(例如视频电话连接或呼叫)进行一次,或者决定可以在内容项或会话期间进行多次,即被编码的纹理和景深视图可以被允许在内容项或会话内变化。编码器过程或用于在被编码纹理和景深视图上做决定的原因可以包括但不限于以下各项的一个或多个:
1.编码器可以配置为输入被编码景深视图的数量和/或被编码纹理视图的数量,例如从应用设置。
2.编码器可以确定基于视图合成、视图间和/或部分间预测层级在使用来哪些景深图像被编码。如果景深视图被用作用于针对视图合成、视图间和/或部分间预测的预测的参考,则编码器可以确定来编码景深视图。否则,如果景深视图被用作用于针对视图合成、视图间和/或部分间预测的预测的参考,则编码器可以确定来省略编码景深视图。
3.与前项相似地,编码器可以基于部分间预测工具来选择哪些景深视图被编码以及哪些景深视图被省略,和/或哪一类型的视图合成预测(诸如前向VSP或后向VSP)在使用,即基于景深视图是否被需要用于编码任何其他视图或多个视图。这样的确定可以例如基于以下各项的一个或多个:
–编码器可以执行优化过程,其中被编码纹理和景深视图、部分间编码和/或视图合成预测工具、以及AU视图部分次序执行得比例如速率失真度量(或一些其他成本)的其他一些更好。
–编码器可以配置为使用或者可以确定使用某些编码工具、编码模式、和/或表面参数,其对在哪些视图上被编码施加约束。例如,如果前向VSP被用作更早的描述,被用作对于视图合并预测的参考的视图的纹理视图部分和相应的景深视图部分可以被要求来被编码。
4.编码器可以执行VSO方法等来确定是否被编码的景深视图将为其他视图带来速率失真(或其他成本度量)益处,其将能够使用被编码的景深视图作为用于预测(诸如视图合成、视图间或部分间预测)的参考。对于VSO方法等,编码器可以仅使用例如第一接入单元或第一GOP的视图部分。如果编码和解码过程使得能够基于所编码的景深视图和/或所编码的纹理视图和/或被重建的景深视图和/或被重建的纹理视图或它们的部分来获取景深视图,则编码器的VSO方法等可以比较编码景深视图或获取景深视图作为编码/解码过程的部分的速率失真(或其他成本度量)影响。如果所编码景深视图带来速率失真益处,则编码器可以确定来编码景深视图,否则编码器可以确定省略编码景深视图。
5.编码器可以配置为输入所预期的或已知的视点、或所预期或已知的视点范围用于对实现为用于解码的后处理的视图合成的被合成的视图成分。编码器可以执行VSO方法等以确定是否被编码的景深视图将带来速率失真(或其它成本度量)溢出,用于所预期的或已知的视点、或对于合成的视图部分(相较于基于景深视图而合成相同的视点,否则其是可用的)的所预期的或已知的视点范围。对于VSO方法等,编码器可以仅使用例如第一接入单元或第一GOP的视图部分。如果被编码的景深视图带来速率失真溢出,则编码器可以确定来编码景深视图,否则,编码器可以确定省略景深视图的编码。
确定纹理视图和景深视图的视图间预测层级可以实现在编码器中,例如如下。
在一些实施例中,编码器可以配置为选择用于纹理视图和景深视图的某种相同的视图间依赖性次序。替换地或附加地,编码器可以执行优化过程,其相同的视图间依赖性次序执行得比例如使用速率失真度量的其它一些更好。
在一些实施例中,编码器选择视图间依赖性次序用于与景深视图不同的纹理视图。例如,编码器可以配置为选择某一视图间次序用于纹理视图和景深视图。备选地或附加地,编码器可以执行优化过程,其视图间依赖性次序执行得比用于例如使用速率失真度量的纹理视图和景深视图的其它一些更好。
在一些实施例中,备选地或附加于在其他实施例中选择视图间依赖性次序,编码器可以基于使用的景深视图内的景深映射的类型和/或预测景深映射的类型,来选择视图间依赖性次序用于纹理和景深视图和/或AU视图部分次序。如果多于一个景深映射表示视差,则编码器可以选择视图间依赖性次序和/或AU视图部分次序用于景深视图,以这样的方式:景深视图的视图间依赖性次序和/或AU视图部分次序与在其上获取视差映射图的视图的次序对齐。而且,如果编码器使用后向VSP,则编码器可以选择纹理视图的视图间依赖性次序以及纹理和景深视图的AU视图部分,以这样的方式:使用表示视差映射图的景深视图部分的后向VSP可以被直接使用,而不转换景深视图部分的样本值。在示例中,一个维度的并行设置中的三个照相机被用于捕捉多视图视频序列,并且立体匹配被用于生成两个视差映射图,第一视差映射图包括从左照相机到右照相机的视差值,并且第二视差映射图包括从右照相机到左照相机的视差值。继续相同的示例,后向VSP可以被使用,并且纹理视图可以以左视图、右视图和中视图的次序被编码。第一视差映射图可以在第二视差映射图前被编码。左视图的第一视差映射图和纹理视图部分可以被用在后向VSP中用于右视图的纹理视图部分。因此,右视图的第二视差映射图和纹理视图部分可以被用在后向VSP中用于中视图的纹理视图部分。
在以下段落中,给出了用于在所编码的纹理和景深上做决定的编码器过程或原因的一些示例性的描述和/或进一步细节。
如上文所陈述,在一些实施例中,编码器可以基于使用中的视图间或部分间预测层级来确定哪些景深视图被编码。编码器可以配置为输入视图间和/或部分间预测依赖性层级,和/或可以使用预先定义视图间和/或部分间预测依赖性层级,或者可以执行成本函数(诸如速率失真优化)来确定视图间和/或部分间预测依赖性层级。编码器也可以确定纹理和景深视图部分的编码/解码次序,其可以基于确定视图间和部分间预测依赖性层级。备选地,编码器可以配置为输入纹理和景深视图部分的编码/解码次序,或者可以使用纹理和景深视图部分的预先定义的编码/解码次序,或者可以执行成本函数(诸如速率失真优化)来确定纹理和景深视图部分的预先定义的编码/解码次序。因此,基于纹理和景深视图部分的编码/解码次序,编码器可以确定视图间和/或部分间预测依赖性层级。
例如,编码器被配置为使用“PIP”视图间预测层级用于编码三个视图。在PIP视图间预测层级中,中间纹理视图被编码为基础纹理视图,而左和右上的纹理视图可以使用来自基础纹理视图的视图间预测。继续相同的示例,编码器被配置为不使用部分间预测而使用用于左和右上的纹理视图的视图合成预测(即“P”纹理视图)。如果前向VSP被使用,则中间景深视图被需要来形成视图合成预测信号,并且被确定为由编码器编码,并且因此可以省略左和右上的景深视图的编码。如果后向VSP被使用,则中间景深视图可能不被需要来形成视图合成预测信号,并且起编码可以被省略,而左和右景深视图被用于形成视图合成预测信号并且因此被确定为由编码器编码。由于在提到的后向VSP情况中,中间景深视图未被编码,左视图和右视图之一可以被选择为基部景深视图,而另一个可以使用来自基部景深视图的视图间预测。
在一些实施例中,编码器可以配置为输入所预期的或已知的视点,或者针对用于实现为用于解码的后处理的视图合成的被合成的视图部分的所预期的或已知的视点范围。例如,用户可以辅助内容编码以设置导致可期望的多视图渲染体验的视点的范围。在另一示例中,视差特点和/或相应的所感知的景深特点,诸如由不同的合成视图所导致的最大正视差和/或最小负视差和/或视差分布,可以被用于确定所期望的/所允许的合成视点,或者所期望的/所允许的合成视点范围。在另一示例中,编码侧能够接收显示的信息并且察看解码侧装置或终端的环境。例如,在视频电话或视频会议应用中,可以提供接收器(其也可以被称为解码侧)指示器渲染环境的特定到编码侧的信令机制。这些特点可以包括但不限于以下各项的一个或多个:同时显示的视图的数量、可以针对每个视图分离地给出的显示的水平和垂直分辨率或依照样本或部分样本(例如红、绿和蓝像素部分)的视窗、显示区域或视窗的水平和垂直尺寸、视距(例如推荐的视距或一个或多个观众的被检测视距)、正被显示的视图或视点、和/或正被显示的视图或视点之间的基线差异/距离。由于这些特征可以随时间的函数而变化,因此接收器可以具有在会话期间对这些特征的新值进行信号的手段。例如,一个或多个新的编解码器控制消息可以被指定为与IETF RFC5104中所指定的编解码器控制消息相似。编解码器控制消息可以使用具有反馈的视听协议(AVPF,IETF RFC 4585)来在实时传输控制协议(RTCP,IETF RFC3550)上传达消息。
基于所预期的或已知的视点,或者针对用于实现为用于解码的后处理的视图合成的被合成的视图部分的所预期的或已知的视点范围,编码器可以执行VSO方法等以确定所编码的景深视图是否将带来速率失真(或其他成本度量)益处用于所预期的或已知的视点或针对所合成的视图部分的所预期的或已知的视点范围(相较于基于否则将可用的景深视图而合成相同视点)。对于VSO方法等,编码器可以仅使用例如第一接入单元或第一GOP的视图部分。如果被编码的景深视图带来速率失真益处,则编码器可以确定来编码景深视图,否则,编码器可以确定省略景深视图的编码。
在一些实施例,编码器侧和/或解码器侧可以将景深视图部分的前向视图合成使用到所预期的或已知的视点,或者针对所合成的视图部分的所预期的或已知的视点。因此,编码器侧和/或解码器侧可以基于前向合成景深视图部分来使用纹理视图部分的后向视图合成。在一些实施例中,编码器可以执行VSO方法等以确定在没有与所描述的视图合成过程结合的相应的编码纹理视图的情况下所编码的景深视图是否将带来速率失真(或其他成本度量)益处用于所预期的或已知的视点或针对所合成的视图部分的所预期的或已知的视点范围(相较于基于否则会被编码的景深视图而合成相同视点)。在一些实施例中,编码器可以被预先定义或被配置为输入景深视图或视点,其要被编码而没有相应的纹理视图部分。在一些实施例中,编码器可以不接收作为输入的没有相应的纹理视图的景深视图,而编码器可以后续执行景深视图的后向视图合成以生成不被接收为输入且被编码的景深视图。编码器可以编码在使用中的一个或多个指示以及前向景深视图合成和后向纹理视图合成的参数,并且包括例如在在视频参数集、序列参数集、补充增强信息或任何其他语法结构中的比特流中的一个或多个指示。解码器可以从比特流接收和编码使用中的一个或多个指示以及前向景深视图合成和后向纹理视图合成的参数,以及执行视图合成预测和/或由根据所解码指示解码的后处理的视图合成。
在一些实施例中,编码器可以被配置为输入或生成非线性视差映射图,其可以不表示真实世界的视差,而是在其中视差被空间地或本地地被适应。空间的或本地的适应可以被执行例如以用户辅助的方式和/或通过解决能量最小化问题。能量最小化问题可以例如被以等式或公式的形式而被公式化,其可以包括但不限于稀疏立体对应、可视重要性或显著性、以及暂时的一致性。非线性视差映射图可以例如指示针对前景对象相较于前景对象的实际视差的不同的视差,而场景的背景的视差可以反映其实际视差。非线性视差映射图可以由编码器输入或生成用于所编码纹理视图部分的视点,并且非线性视差映射图可以被用于由编码器侧和/或解码器侧(在视图合成预测和/或用于解码的后处理的视图合成)的前向视图合成。备选地或附加地,非线性视差映射图可以由编码器输入或生成用于针对没有纹理视图部分被编码的视点,以及非线性视差映射图可以被用于由编码器侧和/或解码器侧(在视图合成预测和/或用于解码的后处理的视图合成)的后向视图合成。在一些实施例中,编码器将使用的一个或多个指示以及针对非线性视差映射图的参数编码并包括在比特流中(例如在序列参数集或补充增强信息消息或任何其它语法结构中)。例如编码器可以包括视点的范围或列表(例如作为相对于参考照相机位置的平移的照相机位置)用于非线性视差映射图可以使用预先定义的、线性的或信号缩放的线性视差映射图中视差值而被应用。编码器可以与其他类型的景深或视差映射图相同地或近似地编码非线性视差映射图,并且解码器可以与其他类型的景深或视差映射图相同地或近似地解码非线性视差映射图。在一些实施例中,解码器从比特流接收并解码使用的一个或多个指示以及用于非线性视差映射图的参数。解码器可以基于一个或多个指示来推断所要求用于视图合成预测或期望用于渲染/显示的视点在其中非线性视差映射图可以被应用的视点的范围或列表内。解码器可以后续应用视差补偿或视图合成或DIBR算法以基于非线性视差映射图来生成用于所要求/所期望的视点的视图部分。如果视图被确定为在对应于所接收的非线性视差映射图的视点处被合成,则视图合成或DIBR可以基于非线性视差映射图而被应用并且将与后向视图合成相似。如果视图被确定为在不与任何所编码的非线性视差映射图共同定位的的视点处被合成,则前向视图合成可以直接从针对纹理视图和景深/视差视图两者都可用(任一个在先前步骤中被接收或合成)的视点而被应用。备选地或附加地,景深/视差视图的前向视图合成,例如基于非线性视差映射图,可以首先被实现到所期望的视点导致例如缩放的非线性视差映射图。缩放的非线性视差映射图然后可以被用于后向视图合成以获得针对所期望的视点的被合成的纹理视图。
在一些实施例中,编码器可以编码针对相同视点或照相机位置的多于一个的景深视图。针对编码器或编码侧以编码相同视点的多于一个的景深视图的原因可以包括但不限于以下各项的一个或多个:
-针对相同视点的要被编码的第一景深视图和第二景深视图可以具有不同的起源。例如,第一景深视图可以起源于景深范围传感器并且被投射到视点,而第二景深视图可以起因于立体照相机的一对彩色图像之间的匹配。在另一示例中,可以使用具有三个彩色图像传感器的照相机布置。针对中间照相机的第一景深视图可以通过左视图/照相机和中间照相机的立体匹配来生成,而针对中间照相机的第二景深视图可以通过右视图/照相机和中间照相机的立体匹配来生成。解码器侧可以例如通过对来自表示相同视点(且相同时间瞬间)的不同的景深映射图的景深样本做平均或中值滤波而融合并在视图合成中使用所融合的景深样本。
-针对相同视点的要被编码的第一景深视图和第二景深视图可以表示景深或视差,其要被应用来朝向相对于第一和第二景深视图的视点的特定或所指示的方向或视点。例如,第一景深视图可以表示视差映射图,其可以被用于朝向从第一和第二景深视图的视点的左侧的前向视图合成,而第二景深视图可以表示视差映射图,其可以被用于朝向从第一和第二景深视图的视点的右侧的前向视图合成。解码器侧可以在许多景深视图中选择所应用的景深视图,用于基于相对于景深视图的视点的合成的视点的方向的在视图合成中要被使用的相同视点。
-针对相同视点的要被编码的第一景深视图和第二景深视图可以表示不同的非线性视差映射图,其可以应用在不同的显示布置或察看情况中。编码器可以只是与比特流内景深视图相关联的显示布置或察看情况,例如在视频参数集结构中,序列参数集结构、SEI消息或任何其它语法结构。显示布置或视图情况可以由一个或多个参数特征化并且编码为一个或多个语法元素。例如,将显示布置或察看情况特征化的参数可以包括但不限于以下各项的一个或多个:要被显示的视图的画面纵横比、要被显示的视图的样本纵横比、要被显示的视图的所感知的景深范围或近似/准确的所感知的景深统计、参考显示宽度和/或针对察看情况的视距。解码器侧可以选择要被使用的非线性视差映射图用于基于已知的或估计的显示特点和/或察看情况的视图合成,例如以这样的方式:所选择的已知的或估计的显示特点和/或察看情况与针对所选择的非线性视差映射图的比特流中的信号化的参数相匹配,和/或相对于针对所选择的非线性视差映射图的比特流中信号化的参数的已知的或估计的示特点和/或察看情况的差异尽量小。
在一些实施例中,编码器可以被预先定义,可以输入控件来使用,或者可以确定使用以下暂时地非成对的景深视图情况的一个或多个:
–当相较于一些其他景深视图和/或纹理视图的图画速率时,在编码一个或多个景深视图中不同的图画速率;
–非同步化捕捉,即相较于另一景深视图的图画和/或纹理视图的图画,景深视图的图画之间的不同的捕捉(以及因此的潜在地也不同的输出或显示)实例,即使这些视图中的图画速率相同;
–非时间交叠和/或非规则的捕捉周期,例如景深视图可以相较于纹理视图针对较短时间而被捕捉,或者景深视图的捕捉可以被暂停短的持续时间以及在该短的持续时间之后持续。针对编码器侧所使用或编码一个或多个暂时地非成对的景深视图的原因可以包括但不限于以下各项的一个或多个:
–景深视图可以起源于传感器,该传感器具有与相同捕捉布置中彩色图像传感器内在地不同的暂时的分辨率或图画速率,并且因此通过将立体匹配应用到采用彩色图像传感器获取的纹理视图而得到景深视图。例如,测距照相机可以以15图画每秒的暂时的分辨率操作,然而彩色图像传感器可以以60帧每秒的暂时的分辨率操作。
–在一些实施例中,编码器和/或解码器可以使用图画速率上采样过程来增加景深视图的图画速率,例如与纹理视图的图画速率相同。存在许多图画速率上采样方法,并且这些方法的任何方法或任意组合可以被使用。图画速率上采样方法可以例如缩放比特流的运动矢量以这样的方式:运动矢量将应用到中间的暂时的位置,用于通过应用运动补偿将图画在暂时的域中合成。备选地或附加地,图画速率上采样方法可以例如采用块匹配算法来估计被编码/被解码图画的运动场,块匹配算法可以被调准来有助于平滑运动场并因此缩放所获取的运动场用于运动补偿中间暂时位置。编码器可以执行速率失真优化方法、VSO方法等来确定景深视图的图画速率,其中景深视图的图画上采样可以被考虑。编码器可以编码所使用或所假设的图画速率上采样是否的一个或多个指示以及其参数。解码器可以解码所使用或所假设的图画速率上采样是否的一个或多个指示以及其用于景深视图的参数。编码器可以应用图画速率上采样方法例如来得到景深视图,其具有相较于被解码的纹理视图的相等的图画速率。
–编码器可以被配置为使用或确定使用部分间预测和/或视图合成预测等仅用于某些接入单元或时间实例和/或某些接入单元或时间实例内的某些视图部分。例如,编码器可以执行VSO方法等来确定来自景深视图和/或基于景深视图等的视图合成部分间预测,根据速率失真或一些其他成本度量是否有益。编码器可以估计和确定例如从速率失真或一些其他成本度量的视图的点以某一图画速率对景深视图编码是有益的。备选地或附加地,编码器可以确定例如基于速率失真或一些其他成本度量编码或省略景深视图部分的编码是有益的。
–编码器侧可以估计或检测可用的网络吞吐量或拥塞特定并确定是否相应地编码景深视图部分。因此,被编码的景深视图可以具有变化的图画速率。
各种实施例可以采用暂时地非成对的景深视图而被应用在以下基础的一个或多个中:
–暂时地非成对的景深视图的图画速率和/或捕捉/显示实例可以被调整(例如通过图画速率上采样或图画速率下采样/抽取)以匹配其他景深视图和/或纹理视图的图画速率率和/或捕捉/显示实例。
–编码器和解码器可以使用来自景深视图的部分间预测和/或基于景深视图等视图合成预测用于其中景深视图的景深视图部分被编码的那些接入单元或时间实例。当景深视图部分未被编码,编码器和解码器可以推断没有来自景深视图的部分间预测和/或基于景深视图等的视图合成预测被使用。
–解码器侧可以仅基于景深视图来应用视图合成用于其中景深视图的景深视图部分被编码或接收的那些接入单元或时间实例。解码器侧可以例如基于第二景深视图来应用视图合成,第二景深视图可用于其中第一景深视图的景深视图部分未被编码和/或接收的接入单元或时间实例。例如,3-视图比特流可以具有景深视图用于以60图画每秒编码的中心视点编码,而在左和右视点上的视点的景深视图可以以30图画每秒的速率被编码。解码端可以基于所有三个景深视图的景深图画,针对每个其他接入单元执行视图合成,而用于剩余接入单元的视图合成可以仅基于中心景深视图而被执行。在这样的视图合成过程中,景深图画和/或被合成的纹理图画的暂时的平衡可以被应用来实现合成视图的合理地稳定的质量。
如早先所谈论,有不同类型的景深视图和不同的用于景深图画的采样值的语义论。在一些实施例中,第一景深视图可以具有与相同比特流内的第二景深视图不同类型的和/或不同语义论的采样值。针对这些非成对的景深视图类型的原因可以包括但不限于以下各项的一个或多个:
–第一景深视图和第二景深视图可以具有不同的起源。例如,第一景深视图可以源自景深范围传感器,而第二景深传感器可以起因于立体照相机的成对的彩色图像之间的立体匹配。源自景深范围传感器的第一景深视图可以使用例如表示真实世界距离(Z)值的倒数或者直接表示真实世界距离的类型。源自立体匹配的第二景深视图可以表示例如视差映射图。
–可以由预测机制和/或编码/解码工具来要求使用景深视图的某一类型。换言之,预测机制和/或编码/解码工具可以已经被特定和/或实施以这样的方式:其仅可以使用景深视图的某一类型或某些类型作为输入。由于不同的预测机制和/或编码/解码工具可以被用于不同视图,因此编码器可以选择不同类型的景深视图,取决于用于由预测机制和/或编码/解码工具所影响的视图的预测机制和/或编码/解码工具。
–有益的是编码和/或解码操作来使用针对第一视点的某一类型的景深视图和针对第二视点的另一类型的景深视图。编码器可以选择一种类型的景深视图,其可以用于视图合成预测和/或部分间预测等,而不具有任何或小数量的计算操作以及具有比另一类型的景深视图更小数量或更小复杂度的计算。例如,在许多编码布置中,部分间预测和视图合成预测可不用于基础纹理视图。协调视点的景深视图可以因此表示例如真实距离值的倒数,其有助于基于基础纹理视图和对应的景深视图的前向视图合成。继续该相同的示例,非基础纹理视图可以使用后向视图合成预测而被编码或解码。因此,与非基础纹理视图相对应的景深视图可以表示视差,其可以被直接用于获取视差补偿或弯曲后向视图合成而不需要将景深值转换为视差值。因此,相较于当对应的景深视图表示例如真实世界距离的倒数时所要求的操作的数量,针对后向视图合成预测所需要的计算操作的数量可以被减少。
第一景深视图可以具有景深的采样值的语义论,其可以不同于第二景深视图中的采样值的语义论,其中语义论可以基于与景深采样量化或景深采样值的动态范围或真实世界景深的动态范围或由景深采样值(例如基于视差范围、景深范围、由景深视图内的景深视图或视图部分所表示的最近的真实世界景深值或最远的真实世界景深值)表示的视差有关的参数值而不同。例如,第一景深视图或第一景深视图部分(第一景深视图内)可以具有第一最小视差和/或第一最大视差,其可以与第一景深视图或第一景深视图部分相关联,并且可以被指示在比特流中,例如由编码器,而第二景深视图或第二景深视图部分(第二景深视图内)可以具有第二最小视差和/或第二最大视差,其可以与第二景深视图或第二景深视图部分相关联,并且可以被指示在比特流中。在该示例中,第一最小视差不同于第二最小视差和/或第一最大视差不同于第二最大视差。
在一些实施例中,景深图画的类型和/或针对景深图画的采样值的语义论可以在景深视图内变化,例如作为时间的函数。
在一些实施例中,确定接入单元内的视图部分次序,而被称为AU视图部分次序,可以被执行如下。
接入单元内的纹理和景深视图部分的编码和解码次序可以是这样:被编码的视图部分的数据不由任何其他被编码的视图部分所交叉,并且针对接入单元的数据不由比特流中的任何其他接入单元或解码次序交叉。例如,在不同接入单元(t,t+1,t+2)中可以有两个纹理和景深视图(T0t,T1t,T0t+i,T1t+i,T0t+2,T1t+2,D0t,D1t,D0t+i,D1t+i,D0t+2,D1t+2),如图7所示,其中由纹理和景深视图部分(T0t,T1t,D0t,D1t)组成的接入单元在比特流中优先并且解码次序接入单元t+1由纹理和景深视图部分(T0t+i,T1t+1,D0t+i,D1t+1)组成。
接入单元内的视图部分的编码和解码次序可以由编码格式管理或由编码器确定。所确定的视图间预测层级以及所确定的要被编码的纹理和景深视图可以限制编码和解码次序。相同接入单元的纹理视图部分可以被编码在视图依赖性次序中,由视图次序索引指示。相似地,相同计入单元的景深视图部分可以被编码在视图依赖性次序中。
纹理视图部分可以被编码在相同视图的相应的景深视图部分之前,并因此这样的景深视图部分可以被从相同视图的纹理视图部分而被预测。这样的纹理视图部分可以例如由MVC编码器编码或者由MVC解码器解码。增强的纹理视图部分在本文中表示被编码在相同视图的相应的景深视图部分之后的纹理视图部分,并且可以从相应的景深视图部分而被预测。例如,基于景深的运动矢量预测(D-MVP)可以被用在增强的纹理视图部分中。在一些实施例中,景深视图部分可以被编码在相同视图的相应的纹理视图部分之前,并且因此这样的纹理视图部分可以从相同视图的景深视图部分而被预测。编码器可以因此基于部分间预测工具和/或其确定使用的哪一类型的视图合成预测(诸如前向VSP或后向VSP),对相同视图的景深视图部分和纹理视图部分选择编码、比特流以及解码次序。这样的确定可以基于例如以下各项的一个或多个:
–如果期望被编码的比特流与能够解码单个或多个视图纹理视频的解码器兼容,则编码器可以决定不使用基于景深的纹理编码工具用于所选择数量的纹理视图,并因此在相应的景深视图之前编码纹理视图。
–编码器可以执行优化过程,其中部分间编码工具和AU视图部分次序执行的比一些其他例如以速率失真度量更好。
–编码器可以被配置为使用或可以确定使用某个编码工具、编码模式、和/或编码参数,其施加了约束在AU视图部分次序上。例如,如果前向VSP被用作早先所描述的,被用作用于视图合成预测的参考的视图的纹理视图部分和景深视图部分两者应当在AU视图部分次序中领先被编码/解码以及用于得到所合成的参考部分的纹理视图部分。
在一些实施例中,纹理和景深视图的视图间依赖性次序以及部分间编码和视图合成预测和其他编码工具的使用可以共同具有对确定所编码的纹理和景深视图以及AU视图部分次序的影响。
以下给出示例:如果三个视图被编码并且编码器确定使用PIP视图间预测层级分别用于纹理视图T0、T1和T2(最中间视图是基础视图,而两个其他视图是非基础视图),以及分别用于景深视图D0、D1和D2(左视图是基础视图,左视图可以从左视图被预测,而中间视图可以从左视图和/或右视图被预测)的IBP视图间预测层级,以及编码器决定使用D-MVP编码工具或任何其他基于深度的纹理编码工具用于非基础视图纹理编码,以及部分间预测工具不被用于纹理的基础视图,以下在AU视图部分次序上的约束可以被推断在编码器中。由于T1是D0、D1和D2的独立地被编码,其可以具有相对于它们的任何次序。T0要求D0在其之前被解码,以及相似地T2要求D2在其之前被解码,由于D0和D2的被解码的样本值被用在D-MVP工具中用于分别解码T0和T2。D1不被用作针对T1(或任何其他纹理视图)的部分间预测参考,因此其在AU视图部分次序中的位置仅由景深的视图间依赖性次序管理。因此,假设没有视图合成预测在使用,例如以下AU视图部分次序是可能的:T0t,T1t,D0t,D1t(T1,D0,D2,D1,T0,T2);(T1,D0,T0,D2,T2,D1);(T1,D0,D2,D1,T0,T2);(D0,D2,D1,T1,T0,T2)。而且,由于D1不被用作用于预测任何其他视图的参考,其编码可以被一起省略,即例如以下AU视图部分次序是可能的:(Tl,D0,D2,T0,T2);(Tl,D0,T0,D2,T2);(D0,D2,Tl,T0,T2)。
在示例实施例中,可以使用如在H.264/AVC或者草案HEVC中指定的用于算术算符、逻辑算符、关系算符、按位算符、赋值算符和范围符号表示的公共符号表示。而且,可以使用例如如在H.264/AVC或者草案HEVC中指定的公共数学函数,并且可以使用例如如在H.264/AVC或者草案HEVC中指定的算符的优先和执行顺序的公共顺序(从左到右或者从右到左)。
在示例实施例中,以下描述符可以用来指定每个句法元素的解析过程。
-b(8):具有任何比特串模式(8位)的字节。
-se(v):以左位优先的有符号整数Exp-Golomb编码的句法元素。
-u(n):使用n位的无符号整数。在n是句法表中的“v”时,位数以依赖于其它句法元素的值的方式变化。用于这一描述符的解析过程由来自比特流的n个接下来的位指定,这些位被解释为以最高有效位优先写入的无符号整数的二进制表示。
-ue(v):以左位优先的无符号整数Exp-Golomb编码的句法元素。
可以例如使用下表将Exp-Golomb比特串(bit string)转换成码编号(codeNum):
Bit string codeNum
1 0
0 1 0 1
0 1 1 2
0 0 1 0 0 3
0 0 1 0 1 4
0 0 1 1 0 5
0 0 1 1 1 6
0 0 0 1 0 0 0 7
0 0 0 1 0 0 1 8
0 0 0 1 0 1 0 9
... ...
可以例如使用下表将与Exp-Golomb比特串对应的码编号(codeNum)转换成se(v):
codeNum syntax element value
0 0
1 1
2 -1
3 2
4 -2
5 3
6 -3
... ...
在示例实施例中,可以指定句法结构、句法元素的语义以及解码过程如下。以粗体类型表示比特流中的句法元素。每个句法元素由它的名称(有下划线字符的所有小写字母)、可选地由它的一个或者两个句法类别以及用于它的编码表示方法的一个或者两个描述符(descriptor)来描述。解码过程根据句法元素的值和先前解码句法元素的值来表现。在句法表或者文本中使用句法元素的值时,它以普通(即非粗体)类型出现。在一些情况下,句法表可以使用从句法元素值获得的其它变量的值。这样的变量在小写和大写字母的混合所命名的句法表或者文本中出现而无任何下划线字符。始于大写字母的变量被获得用于对当前句法结构进行解码并且都是依赖性句法结构。始于大写字母的变量可以在解码过程中用于以后句法结构而不提及变量的起源句法结构。始于小写字母的变量仅在其中获得它们的上下文中被使用。在一些情况下,用于句法元素值或者变量值的“助记”名称与它们的数值可互换地使用。有时使用“助记”名称而无任何关联数值。在文本中指定值和名称的关联。名称由被下划线字符分离的一个或者多个字符组构造。每组始于大写字母并且可以包含更多大写字母。
在示例实施例中,可以使用以下各项来指定句法结构。在波形括号中包含的一组语句是复合语句并且在功能上视为单个语句。“while”结构指定测试条件是否成立,并且如果成立则指定反复地评估语句(或者复合语句),直至条件不再成立。“do…while”结构指定评估语句一次、跟随有测试条件是否成立,并且如果成立则指定反复评估语句直至条件不再成立。“if…else”结构指定测试条件是否成立,并且如果条件成立则指定评估主语句,否则指定评估备选语句。如果无需备选语句评估,则省略结构的“else”部分和关联备选语句。“for”结构指定评估初始语句、跟随有测试条件,并且如果条件成立则指定反复评估主语句、跟随有后续语句,直至条件不再成立。
在一些实施例中,编码器指示被编码视频序列或比特流中存在的纹理视图和景深视图、或者例如一个或多个视频参数集语义结构和/或一个或多个序列参数集语义结构和/或任何其他语义结构中的比特流。例如,编码器可以编码非基础纹理视图的被编码的切片,以这样的方式:激活包括视图标识符值的列表或循环的序列参数集,视图标识符值指示用于序列参数集被激活的被编码视频序列中存在的纹理视图。继续相同的示例,编码器可以编码景深视图的被编码切片以这样的方式:它们激活包括视图标识符值的列表或循环的序列参数集,视图标识符值指示用于序列参数集被激活的被编码视频序列中存在的景深视图。在一些实施例中,编码器可以被限制于编码和指示为纹理视图的子集的景深视图,即纹理视图的子集具有相关联的景深视图,而剩余的纹理视图不具有相关联的景深视图,并且每个景深视图与纹理视图共同定位或相关联。这样的限制可以由编码器指示,例如作为被指示建档的部分用于被编码视频序列或比特流,同时可以通过profile_idc语义元素或相似的语义元素或多个元素和/或通过标志或其他指示(例如在序列参数集或视频参数集或相似的语义结构中)而被指示。换言之,在一些实施例中,可以有比纹理视图部分更少的景深视图部分,而目前的景深视图部分表示如由一些目前纹理视图部分所表示的相同视图。
在示例中,用于3D视频编码的子集序列参数集包括基础SPS数据和序列参数集3DVC扩展如下:
在示例中,常数ANY_3DVC_PROFILE可以是profile_idc值用于对于景深增强的视频编码的任何简档。
在示例中,编码器可以指示存在与序列参数集3DVC扩展中的被编码视频序列中的纹理视图和景深视图,使用以下语义:
depth_view_present_flag[i]等于0指定了没有具有view_id等于view_id[i]的景深视图。depth_view_present_flag[i]等于1指定了具有view_id等于view_id[i]的景深视图。texture_view_present_flag[i]等于0指定了没有具有view_id等于view_id[i]的纹理视图。texture_view_present_flag[i]等于1指定了具有view_id等于view_id[i]的纹理视图。
在一些实施例中,编码器可以指示被编码视频序列中的景深视图的类型,例如一个或多个视频参数集语义结构和/或一个或多个序列参数集语义结构和/或任何其他语义结构中的比特流。继续以上的示例,编码器可以通过在如下序列参数集3DVC扩展中加入depth_representation_type[i]来指示景深视图的类型:
depth_representation_type[i]指定具有景深次序索引等于i的景深视图的表示格式,例如作为以下表格中指定的,其中视差指定了两个纹理视图之间的水平位移,而Z值指定了来自照相机的距离。
在一些实施例中,编码器可以只是备选于或附加于序列水平指示的景深视图的类型,诸如上文针对序列参数集所描述的那样,在照相机参数集、适应参数集或可以被激活用于被编码的视频序列的子集的任何其他语义结构,诸如用于所选择的接入单元或视图部分。如果存在,则序列水平指示可以是有效的直到第一照相机参数集或相似的被激活和/或当没有照相机参数集或相似的被指示为活跃的。
在一些实施例中,如上文所指定的序列参数集3DVC扩展或任何类似的语义结构可以被激活用于或与一个或多个景深视图相关联,但不被激活用于任何纹理视图。因此,编码器可以指示序列参数集3DVC扩展或任何相似语义结构中的景深视图的视图间预测关系或层级,并且省略纹理视图的视图间预测关系或层级。例如,序列参数集3DVC扩展可以包括以下语义:
以上所描述的部分的序列参数集3DVC扩展的语义元素的语义论以及从它们获取的变量可以被指定为与序列参数集MVC扩展(先前被呈现)的相应的语义元素相同或相似,但语义论可以仅应用到景深视图。例如,视图次序索引VOIdx值可以基于序列参数集3DVC扩展被特定地针对景深视图获取,而视图次序索引VOIdx值的不同集可以基于序列参数集MVC扩展针对纹理视图获取。
备选于先前的语义示例,编码器可以指示序列参数集3DVC扩展或者相似语义结构中景深视图的视图间预测关系或层级,并省略纹理视图的视图间预测关系或层级,但使用相同的视图次序索引VOIdx值的分配到纹理视图和景深视图。例如,序列参数集3DVC扩展可以包括以下语义:
以上所描述的部分的序列参数集3DVC扩展的语义元素的语义论以及从它们获取的变量可以被指定为与序列参数集MVC扩展(先前被呈现)的相应的语义元素相同或相似,但语义论可以仅应用到景深视图。视图次序索引VOIdx值可以基于序列参数集3DVC扩展针对纹理视图和景深视图二者获取。
在上文描述的指示景深视图的视图间预测关系或层级语义示例中,根据针对景深增强视频的解码过程(例如针对MVC+D的解码过程)的VOIdx值与view_id值的关联,可以不同于针对多视图视频的解码过程,例如针对MVC的解码过程。因此,当使用景深增强视频的解码过程解码比特流时,相较于当使用针对多视图视频(不考虑景深视图)的解码过程解码比特流时,来自相同比特流的VOIdx值的获取可以不同。
在一些实施例中,编码器指示比特流中景深视图和纹理视图的属性,诸如与使用的传感器、光学布置、捕捉条件、照相机设置和使用的诸如分辨率的表示格式有关的属性。所指示的属性可以是特定用于所指示的景深视图或纹理视图或可以在许多所指示的景深视图和/或纹理视图间共享。例如,属性可以包括但不限于以下各项的一个或多个:
–空间分辨率,例如以视图部分中水平或垂直的样本计数;
–样本的比特景深和/或动态范围;
–焦距,其可以是与水平或垂直部分分离的;
-原理点,其可以与水平或垂直部分分离的;
–外在的照相机/传感器参数,诸如照相机/传感器位置的转移矩阵;
–景深视图部分相对于纹理视图部分的采样网格的相对位置,例如,对应于景深视图部分的采样网格中的左上样本的亮度图画内的水平和垂直坐标,或反之亦然;
–景深样本相对于纹理视图部分的亮度或色度样本的相对水平和/或垂直样本纵横比,例如水平乘法因子(准确地或近似地)等于dwidth÷twidth,而垂直乘法因子(准确地或近似地)等于dheight÷theight,其中dwidth,twidth,dheight和theight或早先所描述的样本维度;
–针对纹理视图部分和/或景深视图部分的水平和/或垂直样本间隔,其可以用于指示子采样协议(潜在地没有先前的低通滤波)。
例如,在一些实施例中,以下语义元素或相似语义元素可以被加入到序列参数集3DVC扩展语义结构或任何相似语义结构:
在一些实施例中,depth_loc_offset语义元素可以被指定如下:depth_loc_offset指定被解码景深视图部分(在裁去如所指定的序列参数集之后)的最左侧样本栏相对于以被编码纹理视图部分的亮度样本的数量的形式的相同view_id的被编码纹理视图部分(在裁去如所指定的序列参数集之后)的最左侧样本栏的位置的水平偏移。在一些实施例中,depth_loc_offset语义元素可以被指定如下:depth_loc_offset指定被解码景深视图部分(没有裁去如所指定的序列参数集之后)的最左侧样本栏相对于以被编码纹理视图部分的亮度样本的数量的形式的相同view_id的被编码纹理视图部分(没有裁去如所指定的序列参数集之后)的最左侧样本栏的位置的水平偏移。
在一些实施例中,depth_loc_offset语义元素和相关的语义元素可以附加地或备选地被指定来以不同的方式指示景深视图部分的采样网格相对于纹理视图部分的相对位置。例如,其可以使用语义元素被指定偏移是否相对于纹理视图部分的左或右边界,和/或不同的精度,诸如可以使用1/4采样精度。
在一些示例中,depth_loc_offset语义元素和/或相似语义元素和/或有关语义元素的存在可以取决于以下各项的一个或多个:
-depth_loc_offset语义元素和/或相似语义元素和/或有关语义元素的存在可以取决于景深视图的类型。例如,当景深视图部分表示视差图画时,depth_loc_offset语义元素可以被指定为存在,并且当景深视图部分表示距离图画(例如真实世界距离值的倒数或真实世界距离值本身)时,depth_loc_offset语义元素可以被指定为不存在。
-depth_loc_offset语义元素和/或相似语义元素和/或有关语义元素的存在可以取决于视图依赖性次序和/或AU视图部分次序。例如,基础景深视图可以覆盖与基础纹理视图相同的区域,使得能够前向视图合成,其中基础景深和纹理视图是输入,但非景深视图可以仅覆盖与以具有其他景深视图的视图的场的形式交叠的区域。
在一些实施例中,编码器可以编码纹理视图和相应的纹理视图好像它们的采用网格被对齐并覆盖相同空间区域。如果景深视图覆盖比相应的景深视图更小的区域,则编码器可以指示采样网格的位置或具有所指示的裁剪矩形的景深视图部分的有效样本阵列,诸如具有H.264/AVC的seq_parameter_set_data数据结构的frame_crop_left_offset,frame_crop_right_offset,frame_crop_top_offset和frame_crop_bottom_offset语义元素。例如,如果没有景深样本值可用于景深视图部分的左侧上的样本栏的数量,则该样本栏的数量可用被指示具有frame_crop_left_offset。
在一些实施例中,编码器可以指示比特流内与景深视图获取有关的参数。这些参数可以指示单不限于以下:
–要被用于景深视图获取或用于控制该方法的有关参数值的方法的一个或多个指示;
-视点的列表,其中被指示的景深视图可以被投射和/或阈值指示多少,例如以欧几里得度量的照相机平移的形式,所投影的视点可以不同于被编码的景深视图的视点。
编码器可以编码或包括景深视图和纹理视图或一个或多个语义结构(诸如视频参数集、序列参数集、照相机参数集、视频可用性信息、SEI消息等)中的景深视图获取有关的参数。
在一些实施例中,编码器可以指示与视图合成有关的参数或参数值,视图合成可以实现为例如SEI消息中的后处理,或者为视频可用性信息或其他语义结构中。这些参数可以特定地包括这样的地址情况,其中可以有不相等数量的纹理和景深视图,和/或一些纹理视图可以不具有共同定位的景深视图、和/或一些景深视图可以不具有共同定位的纹理视图,和/或共同定位的纹理和景深视图可以覆盖不同的空间区域。这些可以实现为后处理(在解码后)的与视图合成有关的参数可以包括但不限于:
–以上所列出的参数的任何子集针对比特流中景深视图和纹理视图的属性;
–与景深视图获取有关的参数的任何子集;
–视点的范围或视点的列表,其被允许合成为解码后的后处理,例如来自编码纹理视图的视点的提供平移差异的绝对值的值(沿着一个维度的并行照相机设置中的照相机的轴线)可以被给出;
–估计的、近似的或准确的视差特点和/或相应的观察景深特点,诸如由所指示的编码或合成视点所导致的最大正视差和/或最小负视差和/或视差分布;
一个或多个估计,或失真的值或与所指示的合成视点有关的其他成本度量。
比特流中视图间预测层级的编码指示可以被执行例如通过在视频参数集和/或序列参数集中编码指示,例如使用语义或相似于序列参数集MVC扩展。编码器可以通过将参数集标识符编码到VCL NAL单元中指示哪个视频参数集或序列参数集在使用,以便其激活包括视图间预测层级描述的参数集。
在一些实施例中,针对纹理视图的所指示的视图间依赖性次序被允许与针对景深视图的不同。例如,序列参数集MVC扩展不需要具有相较于针对景深视图部分的内容的纹理视图部分的相同内容,因此针对纹理视图的视图间依赖性次序被允许不同于针对景深视图。
在一些实施例中,目前的景深视图部分和纹理视图部分和/或他们的属性和/或AU视图部分次序可以被指示在接入单元水平中,例如在图画参数集中,适应参数集、或接入单元分隔符。在一些实施例中,目前的景深视图部分和纹理视图部分和/或他们的属性和/或AU视图部分次序可以被指示在低于接入单元的水平中,诸如GOS参数集、图画表头、部分图画分隔符、部分图画表头或切片表头,并且目前的景深视图部分和纹理视图部分和/或他们的属性和/或AU视图部分次序可以被要求与针对相同的接入单元有效的所有语义结构相同。
在一些实施例中,目前的纹理视图和景深视图部分和/或AU视图部分次序的多于一个的集可以被指定例如在参数集中,诸如将视频参数集或序列参数集,例如使用与上文所呈现的那些像素的语义。目前的纹理视图和景深视图部分和/或AU视图部分次序的每个列表可以与视图存在标识符相关联,例如整数值开始于0并通过1递增以参数集中所指定的目前的纹理视图和景深视图部分和/或AU视图部分次序的列表的次序。视图存在标识符可以被包括例如在编码视频序列、GOP或接入单元水平中以指示哪些纹理和景深图像存在和/或哪些AU视图部分次序在使用针对相应的编码视频序列、GOP或接入单元。视图存在标识符可以被包括例如在图画参数集、GOS参数集、接入单元分隔符、图画表头、部分图画丰富、部分图画表头或切片表头中。视图存在标识符值可以被要求与针对相同的接入单元有效的所有语义结构相同。
在一些实施例中,纹理和景深视图都存在的指示以及AU视图部分次序可以被指定在例如参数集或任何其他语义结构中,诸如上文所提到的那些具有语义和语义论,其允许不同的纹理和景深视图存在以及不同的AU视图部分次序被用于比特流中并以此在解码和编码中。例如,目前的景深和纹理视图和AU视图部分次序可以被指定具有约束序列的列表,约束能指示例如特定的景深视图部分在AU视图部分次序中领先于特定的纹理视图。约束的列表或序列的项目可以包括约束的类型以及有关的景深和纹理视图部分的指示。例如,约束的类型可以指示景深视图部分被要求来出现的比AU视图部分次序中的特定纹理视图部分更早,并且包括景深视图部分的范围或列表(例如它们的视图次序索引值),以及例如纹理视图部分的视图次序索引值。例如,其可以被指定为在立体景深增强比特流中,景深视图部分二者(D0和D1)出现的比接入单元中非基础纹理视图部分(T1)更早。该约束会适应/允许两个AU视图部分次序:(D0,D1,T0,T1)和(T0,D0,D1,T1)。
在一些实施例中,存在的景深和纹理视图部分以及AU视图部分次序可以隐含地通过比特流中的视图部分的出现次序而被指示。
在一些实施例中,景深视图可以使用来自纹理视图的主动序列参数集的不同的主动的序列参数集。而且,一个景深视图可以使用(即可以已经被激活)与另一景深视图不同的序列参数。同样,一个纹理视图可以使用(即可以已经被激活)与另一纹理视图不同的序列参数。
在一些实施例中,被包括在序列参数集中的语义元素的子集的语义论可以取决于序列参数集是否被表示为由或主动的用于纹理视图部分或用于景深视图部分。特别地,被包括在序列参数集中的语义元素的子集的语义论可以应用到一个或多个景深视图,如果序列参数集被表示为由或主动的用于景深视图部分,而序列参数集中的语义元素的另一子集可以集中地应用到纹理视图和景深视图。例如,如果VUI参数被包括在3DVC子集SPS的序列参数集数据语义结构中,它们可以集中地应用到表示3DVC子集SPS的景深视图以及对应的纹理视图二者,除了纵横比信息和比特流限制信息,如果存在,其仅应用到表示3DVC子集SPS的景深视图。针对纹理视图的纵横比信息和比特流限制信息可以存在于被包括在MVC子集SPS的vui_parameters()语义结构中。
在一些实施例中,编码器可以指示解码的图画缓冲(DPB)所要求的尺寸,使用包括解码纹理视图部分和解码景深视图部分的单元。指示可以实现为VUI的部分并且可以实现例如使用max_dec_buffering语义元素或相似。因为纹理视图和景深视图可以不成对,这样的包括解码纹理视图部分和解码景深视图部分二者的单元可以是子优化的。因此,在一些实施例中,编码器可以指示DPB所要求的尺寸,通过方式:使得精细的间隔尺寸用于存储器分配以及因此更有效的存储器使用。这样的方式可以包括但不限于以下的一个或多个:
–用于指示DPB尺寸的单元可以被选择,以这样的方式:解码纹理视图部分是单元的整数倍,而解码景深视图部分也是单元的整数倍。例如,如果单元被选择为解码纹理视图部分的色度部分,则每个解码纹理视图部分(色度格式4:2:0)采取6单元,而每个解码景深视图部分(纹理视图部分的亮度部分的尺寸的1/4)采取1单元。编码器可以指示在比特流中,例如在序列参数集中,其中单元被使用在所指示的DPB尺度中。
–两个DPB尺度可以被指示,一个用于解码纹理视图部分,另一个用于解码景深视图部分。相应地,分离的DPB可以用于解码景深视图部分相对于解码景深视图部分,然而,输出过程可以被对齐或合成以这样的方式,其相同接入单元的解码纹理和景深视图部分可以被基本同时输出。
–针对景深视图的DPB尺寸可以被内化到与针对纹理视图的以帧缓冲的形式相同。分离的DPB可以用于解码纹理视图部分相对于解码景深视图部分。然而,输出过程可以被对齐或合成以这样的方式:相同接入单元的解码纹理和景深视图部分可以基本同时地输出。
DPB的指示的尺度可以用在HRD中。HRD和/或DPB可以是编码过程的一部分或连接到编码过程,而HRD和/或DPB可以用于控制编码过程。DPB可以是解码过程的一部分或连接到解码过程。DPB的指示尺寸可以用在解码器中用于分配或保存存储器用于解码的纹理和景深视图部分。
在一些实施例中,DPB可以被分离地操作用于纹理视图部分和景深视图部分,而纹理DPB和景深DPB的形式可以分别使用。纹理DPB的帧缓冲器的每个可以包括解码纹理帧视图部分,解码景深帧视图部分,解码补偿纹理场视图部分对,或单个(非成对)解码纹理场视图部分,其标记为“用作参考”(参考画面)或被保持用于未来输出(重排序或延迟的画面),或保持为用于视图间的参考(仅视图间参考部分)。景深DPB的帧缓冲器的每个可以包括解码景深帧视图部分,解码补偿景深场视图部分对,或单个(非成对)解码景深场视图部分,其标记为“用作参考”(参考画面)或被保持用于未来输出(重排序或延迟的画面),或保持为用于视图间的参考(仅视图间参考部分)。DPB的操作可以例如包括画面解码、画面输出、画面标记(例如作为“用于参考”以及“不用于参考”)以及来自DPB的画面移除。画面输出可以基于画面输出次数,其可以指示在比特流中或由外部方式指示,或其可以基于“缓冲”过程,其可以释放或不分配DPB的帧缓冲器,当所有可用的帧缓冲器已经变得被占用时。
在一些实施例中,针对DPB的“缓冲”过程可以联合地或同步地针对纹理和景深视图部分来操作,即使DPB否则分离地操作针对景深视图部分或纹理视图部分,例如有景深DPB和纹理DPB。针对纹理和景深视图部分的联合操作的“缓冲”过程可以输出纹理视图部分和景深视图部分,其具有view_id的相等值和/或任何其他视图标识符语义元素或可用的共同必要地或邻近下一个。
DPB“缓冲”过程针对纹理和景深视图部分的联合操作的示例被提供在以下:所描述的“缓冲”过程可以针对具有视图次序索引VOIdx的特定的纹理视图和景深视图调用,具有每个“视图部分”被“纹理视图部分”或“景深视图部分”代替,“帧视图部分”由“纹理帧视图部分”或“景深帧视图部分”代替,而“场视图部分”由“纹理场视图部分”或“景深场视图部分”代替。在特定的纹理视图的过程的调用器件,仅特定视图的纹理视图部分被考虑,而相应的景深视图部分可以被裁去并也输出。在特定的景深视图的过程的调用期间,仅其他视图的景深视图部分不被空置。DPB丰满度表示非空帧缓冲器的总数量,包括包含其他视图的视图部分的帧缓冲器。DPB丰满度表示非空帧缓冲器的总数量,包括包含其他视图的视图部分的帧缓冲器,针对纹理DPB或景深DPB,区域与过程是否被针对纹理视图或景深视图分别被调用。
继续DPB“缓冲”过程针对纹理和景深视图部分联合地操作的示例,被提供在以下,“缓冲”过程可以包括以下步骤的一个或多个:
1.画面或不成参考场对被考虑首先用于输出被选择如下:
a.帧缓冲器被选择,其包含标记为“需要输出”的DPB中所有画面的具有PicOrderCnt()(即画面次序计数)的最小值的画面。
b.取决于帧缓冲器,以下应用:
–如果该帧缓冲器包含补偿的非参考场对,具有标记为“需要输出”的场和具有相同的PicOrderCnt()的场,这两个场的第一个以节目次序被考虑首先用于输出。
–否则,如果该帧缓冲器包含补偿参考场对,具有标记为“需要输出”的场和具有相同的PicOrderCnt()的场,整个补偿参考场对被考虑首先用于输出。
–否则,具有PicOrderCnt()的最小值的该帧缓冲器的画面被考虑首先用于输出。
2.取决于单个画面或补偿参考场对是否被考虑用于输出,以下应用:
–如果单个画面被考虑首先用于输出,该画面被裁去,使用特定在针对画面的积极的序列参数集中的裁去矩形,裁去画面是示出,并且画面被标记为“不需要输出”。
–否则(补偿参考场对被考虑首先用于输出),补偿参考场对的两个场都被裁去,使用特定在针对画面的积极序列参数集中的裁去矩形,补偿参考场对的两个场被一起输出,而补偿参考场对的两个场被标记为不需要输出”。
3.如果有单个景深视图部分或补偿景深视图部分对具有view_id和PicOrderCnt()相同的值作为单个画面或补充参考场对被考虑用于输出,单个景深视图部分或补充景深视图部分对被输出为步骤2中。
4.被裁去和输出的图画或补偿参考场对包括的帧缓冲器被检查,并且当任意以下条件是真时,帧缓冲器被清空,并且DPB丰满度被递增1:
–帧缓冲器包含非参考非成对场。
–帧缓冲器包含非参考帧。
–帧缓冲器包含补充非参考场对,其具有标记为“不需要输出”的两个场。
-帧缓冲器包含标记为“未用于参考”的非成对参考场。
-帧缓冲器包含具有标记为“未用于参考”的两个场的参考帧。
-帧缓冲器包含补偿参考场对,其具有标记为“未用于参考”和“不需要输出”的两个场。
“缓冲”程序可以被调动例如在以下情况的一个或多个。
–没有空的帧缓冲器(即DPB丰满度等于DPB尺寸),以及空的帧缓冲器需要用于推断“不存在”帧的存储器。
–当前画面是IDR图画,并且no_output_of_prior_pics_flag不是等于1并不推断为等于1。
–当前图画包括存储器管理控件,其使得所有先前的画面标记为“未用于参考”。
–没有空的帧缓冲器(即DPB丰满度等于DPB尺寸),并且空的帧缓冲器需要用于解码(非IDR)参考画面或参考基础画面的存储器。
-没有空的帧缓冲器(即DPB丰满度等于DPB尺寸)以及当前的画面是非参考画面,其不是补偿非参考场对的第二场,并且当前画面旨在输出并且DPB中画面有被标记为“用于输出”,其以输出顺序领先当前非参考画面,因此需要孔的缓冲器用于当前画面的存储器。
–没有空的帧缓冲器(即DPB丰满度等于DPB尺寸)以及当前的画面是非参考画面,其不是补偿非参考场对的第二场,并且当前画面需要作为仅参考画面的视图间,因此需要空的缓冲器用于当前画面的存储器。
在一些实施例中,编码器可以能够例如通过多个处理器和/或处理核、图形处理单元(GPU)或者任何相似处理单元的并行处理。编码器可以指派用于例如按照如下顺序在不同并行处理单元上编码的纹理视图分量和景深视图分量,该顺序由视图间预测层级以及可以例如根据待使用的分量间预测工具确定的分量间依赖性层级确定。在指派用于在并行处理单元中编码的视图分量时,编码器应当保证没有处理因等待在另一并行处理单元中的编码完成而被暂停。视图分量编码的完成顺序可能不与视图分量被指派为在不同并行处理单元中编码的顺序相同。例如,在一些编码布置中,景深视图分量可以具有与纹理视图分量的空间分辨率比较的更低空间分辨率,因此景深视图分量的编码也可能花费与用于纹理视图分量的处理时间比较的更少处理时间。并行处理单元可以被配置为按照编码分片或者视图分量被完成的顺序向比特流中输出它们。因而,在一些实施例中,AU视图分量顺序可以由视图分量在一个或者多个并行处理单元中编码的完成顺序来确定。在一些实施例中,处于视图分量编码的完成顺序的尾部的景深视图分量可以从比特流被略去或丢弃。
在许多实施例中,编码格式允许让访问单元的纹理视图分量和景深视图分量相对于彼此按任何顺序,只要该排序服从视图间和分量间预测层级。换而言之,许多编码格式具有这样的约束,这些约束实现按照线性顺序(例如按照NAL单元在比特流中被接收的顺序)对接收的比特流进行解码。也就是说,接收的视图分量可以被允许具有对在比特流中较早出现的数据的依赖性而可以不允许具有对在比特流中较晚出现的数据的依赖性。编码器可以通过按照相应顺序对视图分量进行编码和/或缓冲编码数据、对缓冲数据重新排序使得服从约束以及向比特流中写入重新排序数据来保证在比特流中服从这样的约束。而且,编码器可以以这样的方式来确定不编码或丢弃一个或多个视图分量:在比特流中服从这样的约束。
在一些实施例中,编码器可以推断景深视图被要求作为用于预测(诸如视图合成预测、视图间预测、分量间预测等)的参考或输入并且不被输入到编码器或者确定不被编码。在这样的情况下,编码器可以
-基于编码的景深视图和/或编码的纹理视图和/或重构的景深视图和/或重构的纹理视图或者它们中的部分来导出景深视图、景深视图的一个或多个景深视图分量或者景深视图的一个或多个景深视图分量的部分;并且
-使用导出的景深视图作为用于预测(诸如视图合成预测、视图间预测、分量间预测等)和/或用于被执行作为解码的后处理的视图合成的参考或输入。
接下来提供导出景深视图分量的示例实施例。应当理解的是,相同或相似的过程可以用于完整地导出景深视图、景深视图的其它景深视图分量或者景深视图的一个或多个景深视图分量的部分。前向VSP处理器等可以适用于通常为相同访问单元的一个或多个重构的景深视图分量。景深视图分量可以被视为要被规整的输入画面以及每像素差异信息的源,可以根据该信息来执行规整。换言之,景深视图分量使用前向VSP过程被重新投影到另一视点。可以使用用于提高被重新投影的景深视图分量的质量的高级方法,诸如孔填充。
例如,编码器可以推断对于DMVP等而言需要景深视图分量但是没有景深视图分量已经针对所需要的视图被编码。编码器然后可以使用前向VSP或类似过程导出景深视图分量。接着,编码器可以类似地或同样地使用导出的景深视图分量,就好像导出的景深视图分量是从对景深视图分量编码产生的重构的景深视图分量。在一些实施例中,编码器还可以使用多于一个的重构的景深视图分量作为导出的景深视图分量的源。例如,编码器可以导出多个候选景深视图分量,每个景深视图分量具有不同的源景深视图分量和/或不同的导出过程和/或在导出过程中应用的不同参数。编码器然后可以在候选景深视图分量之间应用滤波,以获得导出的景深视图分量。该滤波可以包括但不限于以下各项中的一项或多项:求平均、中值滤波、线性或非线性融合。该滤波还可以是置信度加权的,例如,与规整的采样的较高置信度以及因此较高权重相比,孔填充的采样可以具有较低置信度并且因此在导出的景深视图分量中具有较低权重。
在一些实施例中,实体(本文称为比特流修改器)以这样的方式修改比特流:比特流不被完全解码和重新编码而是执行用于比特流的较轻权重的处理。例如,可以丢弃(即不包括)初始/输入比特流的选择的NAL单元而成为修改的比特流。比特流修改器可以例如是服务器、介质件网络元件(MANE)、接收器、媒体播放器或解码器的一部分。比特流修改器可以确定修改或者可以被配置为例如基于估计的或者普遍的下行链路网络条件或吞吐量和/或估计的或已知的解码侧的能力或者操作模式(例如依照所使用显示器的类型(例如单视场的、立体的、自动立体的)、要显示的期望视图、计算能力、可用存储器和/或存储器访问带宽)来修改比特流。在一些实施例中,比特流修改器可以类似于如上所述的编码器进行操作,以确定景深视图或者景深视图内的某些景深视图分量是否被包括在修改的比特流中或者从修改的比特流被略去/丢弃。例如,比特流修改器可以基于包括在比特流中的一个或多个指示(类似于解码器)来推断景深视图不被用作用于视图合成的预测、视图间和/或分量间预测的参考,并且因此比特流修改器可以确定从修改的比特流略去景深视图。备选地或者另外地,比特流修改器可以被配置为输入期望的或已知的视点或者期望的或已知的视点范围,以用于作为解码的后处理而进行的视图合成的合成视图分量。比特流修改器可以执行VSO方法等以确定编码的景深视图是否将为合成视图分量的期望的或已知的视点或者期望的或已知的视点范围带来速率失真(或者其它代价度量)好处(相比于基于否则将可用的景深视图来合成相同视点)。备选地或者另外地,比特流修改器可以基于提到的解码侧的能力和/或操作模式以及基于被包括在比特流中的指示来推断不需要用于解码或者输出的视图分量,并且从修改的比特流略去这些不必要的编码视图分量中的至少一些编码视图分量。当从比特流接收并且解码句法元素和参数值时,比特流修改器可以与解码器类似地操作。比特流修改器可以以流方式进行操作,例如一次一个访问单元、编码画面或者NAL单元而非一次整个比特流。
在各种实施例中,解码器或者解码器侧可以执行其它步骤中的下列步骤中的一个或多个步骤:
1.从比特流接收并且解码编码的纹理和景深视图、纹理视图和景深视图的视图间预测层级、和/或AU视图分量顺序中的一个或多个指示。
2.当景深视图被需要作为用于预测(诸如视图合成预测、视图间预测、分量间预测等)的参考或输入但是不包括在接收的比特流中时,
-导出景深视图;或者
-推断使得景深视图被需要作为用于预测的参考或输入的编码工具被关闭;或者
-基于从比特流接收和解码的一个或多个指示来选择以上各项之一。
3.基于相应的编码景深视图的存在或不存在和/或相应的导出景深视图的存在或不存在来推断一个或多个代码工具、代码工具的模式、和/或用于解码纹理视图的编码参数的使用。
4.基于景深视图分量中的被共同定位的采样或块的可用性,针对纹理视图分量中的被预测块的子集,形成从景深视图分量(或者一般从一个或多个景深视图分量)到纹理视图分量(或者一般到一个或多个纹理视图分量)的分量间预测信号或预测块等。类似地,基于纹理视图分量中的被共同定位的采样或块的可用性,针对景深视图分量中的被预测块的子集,形成从纹理视图分量(或者一般从一个或多个纹理视图分量)到景深视图分量(或者一般到一个或多个景深视图分量)的分量间预测信号或预测块等。
5.基于被共同定位的景深采样的可用性,形成视图合成预测信号或预测块等。
6.当景深视图被需要作为用于作为后处理被执行的视图合成的预测的参考或输入时,导出景深视图。
7.基于提到的发信号通知并且配置解码器以避免解码不必要的编码视图分量来确定不需要用于解码或输出的这些视图分量。
基于AU视图分量顺序预计的视图分量类型和视图分量的指示符匹配,则解码器可以断定丢失整个视图分量。在一些实施例中,多于一个的AU视图分量顺序是可能的,并且解码器因此可以校验下一视图分量是否符合可能的AU视图分量顺序中的任何AU视图分量顺序。在一些实施例中,向解码器输入的比特流可以已经经历比特流提取或者删减,而AU视图分量顺序的指示可以反映在删减之前的比特流。例如,在一些实施例中,可以有可能从比特流去除所有景深视图分量,而其余比特流是符合的,即可以被解码。在一些实施例中,解码器可以例如基于分量间编码工具是否被使用以及它们被或者可以被用于哪些视图的指示来断定视图分量的丢失是/可能是有意的和/或是/可能是无意的。如果解码器断定第一视图分量是或者可以是在对另一视图分量进行编码/解码时使用的编码工具需要的,则解码器可以断定第一视图分量的丢失是有意的。
在以下段落中提供在编码器中和/或在解码器中基于相应的编码的景深视图的存在或不存在和/或相应的导出的景深视图的存在或不存在来推断一个或者多个编码工具、编码工具模式和/或编码参数的使用的示例实施例。
在一些实施例中,如果视图的景深视图分量存在于比特流中并且在AU视图分量顺序中先于相同视图的纹理视图分量或者如果景深视图分量被导出,则使用从景深到纹理的分量间依赖性的一个或者多个编码工具(比如D-MVP、用于纹理的基于景深的帧内预测、或者在基础层中具有景深和在增强层中具有纹理的JMVDC)在编码和解码中被使用。在一些实施例中,如果视图的景深视图分量在AU视图分量顺序中继后于相同视图的纹理视图分量或者不存在,则编码器在比特流中指示是否导出景深视图分量,并且可以在比特流中指示导出方法和/或用于导出方法的参数值。解码器可以从比特流接收并且解码是否导出景深视图的指示。如果景深视图被指示要被导出,则解码器可以从比特流接收并且解码使用哪种导出方法和/或用于该导出方法的哪些参数值的指示,并且相应地导出景深视图(或者其被需要作为用于预测的参考或源的部分)。在一些实施例中,如果视图的景深视图分量在AU视图分量顺序中先于相同视图的纹理视图分量或者如果景深视图分量被导出,则编码器在比特流中指示使用一个或者多个使用从景深到纹理的分量间依赖性的编码工具,比如D-MVP、用于纹理的基于景深的帧内预测、或者在基础层中具有景深和在增强层中具有纹理的JMVDC,而如果视图的景深视图分量不存在于比特流中或者在AU视图分量顺序中继后于相同视图的纹理视图分量,则编码器不在比特流中指示使用从景深到纹理的分量间依赖性的一个或多个编码工具的使用。解码器可以根据视图分量的存在或不存在和/或是否执行或允许景深视图分量的导出和/或根据解码AU视图分量顺序来断定对使用从景深到纹理的分量间依赖性的一个或者多个编码工具(比如D-MVP)的指示是否存在于比特流中,并且如果它们存在,则从比特流解码它们并且基于断定的或者解码的对基于景深的纹理编码工具的使用来对编码视频数据进行解码。在一些实施例中,基于景深的编码工具的使用以及景深视图的导出被编码到一个句法元素中,或者句法元素的具体值指示基于景深的编码工具的使用以及景深视图的导出。
在一些实施例中,如果视图的纹理视图分量在AU视图分量顺序中先于相同视图的景深视图分量并且景深视图分量存在于比特流中,则在编码和解码中使用一个或者多个使用从纹理到景深的分量间依赖性的编码工具(比如,在基础层中具有纹理和在增强层中具有景深的JMVDC)。在一些实施例中,如果视图的景深视图分量在AU视图分量顺序中继后于相同视图的纹理视图分量并且存在于比特流中,则编码器在比特流中指示使用一个或者多个使用从纹理到景深的分量间依赖性的编码工具(比如,在基础层中具有纹理和在增强层中具有景深的JMVDC),而如果视图的景深视图分量在AU视图分量顺序中先于相同视图的纹理视图分量或者不存在于比特流中,则编码器不在比特流中指示使用一个或者多个使用从纹理到景深的分量间依赖性的编码工具。解码器根据解码的或者断定的存在和不存在以及解码的AU视图分量顺序来断定对使用从纹理到景深的分量间依赖性的一个或者多个编码工具的指示是否存在于比特流中,并且如果它们存在,则从比特流解码它们,并且基于断定的或者解码的对基于纹理的景深编码工具的使用来对编码视频数据进行解码。
在一些实施例中,编码器和解码器可以断定如果在AU视图分量顺序中连续地有至少两个景深视图分量,则可以在重建或者解码这样的连续景深视图分量在AU视图分量顺序中的最后景深视图分量之后执行JVDF过程或者任何其它多视图景深滤波。直至连续景深视图分量在AU视图分量顺序中的最后景深视图分量的所有重建或者解码景深视图分量可以参与JVDF过程或者相似过程。因而,向相同像素或者采样位置投影或者规整的景深采样的数目可以大于如果在已经重建或者解码较小数目(比如在每个景深视图分量之后)应用JVDF或者任何其它多视图景深滤波则产生的景深采样的数目。由于向相同像素位置映射的较大数目的景深采样,滤波过程可以更佳地成功。例如,如果向像素位置映射的景深/视差值的大多数落入仅在那些景深/视差值之中的置信区间中,则可以应用加权平均,因此可以排除无关景深/视差值。
在一些实施例中,编码器可以用比特流中的指示来指示在纹理视图和对应景深视图以及不成对的纹理视图和景深视图的充分组合存在并且满足与编码工具关联的或者针对编码工具用信号发送的视图分量顺序时使用编码工具。纹理视图和景深视图的充分组合可以针对一个或多个编码工具用信号发送,和/或可以针对一个或多个编码工具被预先定义或已知。否则,可以不使用编码工具。换而言之,如果特定视图分量顺序被编码到比特流中,那么如果在访问单元内的更早视图分量启用使用某个编码工具,以及如果用指示来开启使用编码工具,则编码器可以使用该编码工具用于对特定视图分量进行编码。例如,如果正在对景深视图分量进行编码,则已经对与正在编码的景深视图分量相同的视图的纹理视图分量进行编码,并且已经在序列参数集或者任何相似参数集中启用IVMP的使用,则编码器可以使用IVMP以对当前景深视图分量进行编码。解码器可以分别向编码器断定编码工具的使用。也就是说,如果正在从比特流对特定视图分量进行解码,那么如果在访问单元内的更早视图分量启用使用某个编码工具,以及如果在比特流中指示使用编码工具,则解码器可以使用该编码工具用于对特定视图分量进行解码。例如,如果正在对景深视图分量进行编码,则已经对与正在解码的景深视图分量相同的视图的纹理视图分量进行解码,并且已经在序列参数集或者任何相似参数集中启用IVMP的使用,则解码器可以使用IVMP以对当前景深视图分量进行解码。在一些实施例中,在比特流中的对使用编码工具的指示可以是特定的指示的视图分量或者特定的指示的视图分量的集合特有的,而对使用编码工具的指示可以仅在对于指示的特定视图分量满足与编码工具关联的或者与编码工具用信号发送的视图分量顺序时是有效的。
在一些实施例中,根据编码分量/视图的不存在/存在,编码器和解码器可以重新配置/重新初始化类似于HEVC中规定的MVP候选和/或合并列表。所述重新配置/重新初始化可以使用在比特流上明示地发信号通知来实施或者暗示地在编码器侧和/或解码器侧来实施。
在一些实施例中,编码器和/或解码器可以如下基于景深视图分量中被共同定位的采样或块的可用性,针对纹理视图分量中的被预测块的子集,形成从景深视图分量(或者一般从一个或多个景深视图分量)到纹理视图分量(或者一般到一个或多个纹理视图分量)的分量间预测信号或预测块等。在一些实施例中,在被共同定位的采样或块的导出中,可以应用视差和/或运动补偿,即视差或运动矢量等可以适用于从正在被预测的块的位置导出预测块的位置,其中视差或运动矢量等可以在比特流中被指示和/或从景深视图分量被导出。在一些实施例中,编码器和/或解码器推断被共同定位的景深块对于正在被编码/解码的纹理块是否可用。该推断过程可以包括以下步骤中的一个或多个步骤:
-如果没有景深视图分量已经使用与正在被编码/解码的纹理视图分量的视图标识符相同的视图标识符被重构、解码或导出,则被共同定位的景深块不可用。
-否则,如果被重构/解码/导出的景深视图分量共同定位并且覆盖与正在被编码/解码的纹理视图分量相同的区域,则被共同定位的景深块可用。
-否则,如果正在被编码/解码的纹理块与被重构/解码/导出的景深视图分量中的景深块重叠,则被共同定位的景深块可用。换言之,如果正在被编码/解码的纹理块处于由被重构/解码/导出的景深视图分量覆盖的画面区域内,则被共同定位的景深块可用。
在一些实施例中,编码器和/或解码器可以基于纹理视图分量中被共同定位的采样或块的可用性,针对景深视图分量中的被预测块的子集,形成从纹理视图分量(或者一般从一个或多个纹理视图分量)到景深视图分量(或者一般到一个或多个景深视图分量)的分量间预测信号或预测块等。可以通过将景深视图分量与纹理视图分量互换(反之亦然)来使用与先前段落中描述的过程类似的过程。
在一些实施例中,编码器和/或解码器可以如下基于被共同定位的景深采样的可用性形成视图合成预测信号或预测块等。如果使用后向VSP,则编码器和/或解码器可以与上文已经针对分量间预测描述的内容相似或相同地推断被共同定位的景深块对于正在被编码/解码的纹理块是否可用。如果被共同定位的景深块可用,则编码器和/或解码器可以将其用于形成视图合成预测信号或预测块等。如果使用前向VSP,则视图合成预测信号或预测块等在以下情况下可以被认为是可用的:与当前纹理视图分量相同的视点的合成视图分量中的被共同定位的块中的采样数包括超过预先定义或指示的阈值的被规整采样的数目或份数,和/或被规整到合成视图分量中的被共同定位的块中的采样的平均或累积置信度超过预先定义或指示的阈值。这样的阈值可以由编码器在比特流中来指示并且可以由解码器从比特流进行解码,并且在用于推断合成视图分量中的块的可用性的解码过程中被使用。
在一些实施例中,编码器和/或解码器可以类似于在先前段落中已经描述的内容推断用于分量间预测和/或视图合成预测的被共同定位的采样的可用性。然而,编码器和/或解码器可以针对对发现不可用的那些采样应用填充过程,并且因此将那些采样视为可用。填充过程导出一些或所有不可用的采样的采样值。采样值可以例如首先应用水平填充过程(其中不可用的采样通过将其赋值为水平方向上最接近的可用采样的值而变为可用)并且随后应用垂直填充过程(其中不可用的采样通过将其赋值为垂直方向上最接近的可用采样的值而变为可用)来导出。可以备选地应用任何其它类型的填充过程。在一些实施例中,编码器在比特流内指示是否使用填充和/或所应用的填充方法,并且解码器从比特流接收和解码所应用的填充方法的一个或多个指示并且相应地执行填充过程。
在一些实施例中,编码器和/或解码器可以类似于在先前段落中已经描述的内容推断用于分量间预测和/或视图合成预测的被共同定位的采样的可用性。然而,编码器和/或解码器可以针对被发现不可用的那些采样将全局或局部插值过程应用到视图分量的两者或任一,并且随后将那些采样视为可用。插值过程针对不可用的一些或所有采样导出采样值。
在一些实施例中,编码器和/或解码器可以推断景深视图分量不与纹理视图分量对齐或者被纠正,并且将对齐或纠正过程应用到视图分量的两者或任一。编码器和/或解码器可以随后确定被共同定位的采样的可用性,并且可以针对不可用的采样执行诸如如上所述的填充或插值之类的操作,并且随后将那些采样视为可用。
在一些实施例中,编码器和/或解码器可以类似于在先前段落中已经描述的内容推断用于分量间预测和/或视图合成预测的被共同定位的采样的可用性,并且可以针对被发现不可用的那些采样应用对齐或纠正过程。如果采样在对齐或纠正之后保持不可用,则编码器和/或解码器可以针对不可用的采样执行诸如如上所述的填充或插值之类的操作,并且随后将那些采样视为可用。
以上已经描述了用于在不使用帧封装时编码和解码景深增强的多视图视频的许多实施例。应当理解的是,本发明的许多实施例也适用于在应用帧封装的情况下的编码和解码场景。可以应用不同类型的帧封装,诸如将两个或更多个纹理视图分量封装成单个帧,和/或将两个或更多个景深视图分量封装成单个帧,和/或将一个或多个纹理视图分量以及一个或多个景深视图分量封装成单个帧。编码器可以编码并且包括如上所述的不同指示,并且还例如通过使用合适的嵌套式SEI消息或者通过将分量类型(例如纹理或景深)和/或视图标识符通过其它手段(诸如将成分帧的标识符包括到句法结构中,该句法结构用于指示纹理视图和景深视图的特性)关联至成分帧来指示上述指示适用的视图或视图分量。嵌套式SEI消息可以例如指示被嵌套的SEI消息适用于纹理视图还是景深视图还是两者,和/或指示被嵌套的SEI消息的哪些视图(例如视图标识符或者视图顺序索引),和/或指示被嵌套的SEI消息适用于哪些成分帧。
在一些实施例中,解码器侧(诸如解码器和/或后处理器和/或渲染器)可以基于解码的纹理和景深视图分量执行视图合成。解码器侧可以获得与视图合成有关的参数和参数值,视图合成可以作为后处理例如从SEI消息或者从视频可用性消息或者从其它句法结构来完成。这些参数可以具体地包括这样的地址情形,其中可以存在数量不等的纹理视图和景深视图,和/或纹理视图中的一些纹理视图可能没有被共同定位的景深视图,和/或景深视图中的一些景深视图可能没有被共同定位的纹理视图,和/或被共同定位的纹理视图和景深视图可能覆盖不同的空间区域。解码器侧可以解析并且使用这些参数,以控制哪些视点被合成以及哪些参数在视图合成中被使用。例如,解码器侧可以解码一系列视点或者视点列表,其被允许作为解码后的后处理而被合成。而且,解码器侧可以被配置为使用某些相机分隔或视差特征(例如某一最大正视差和某一最小负视差)等,例如作为用于使用中的显示器的预先定义值或者用户可选值。解码器侧然后可以基于被允许的视点的范围或列表以及所期望的相机分隔或视差特征等选择要被合成的合适的视点。在一些实施例中,解码器侧可以进一步从比特流对与指示的合成视点有关的失真或其它代价度量的一个或多个估计或值进行解码,并且因此依据失真或其它代价度量有利地选择合成视点。
在上文中,已经关于特定类型的参数集描述了一些实施例。然而,
解码器可以例如如下从比特流接收和解码编码的纹理视图和景深视图、纹理视图和景深视图的视图间预测层级、以及AU视图分量顺序的指示。解码器可以例如基于在正在被解码的一个或者多个编码分片句法结构中包括的参数集标识符来断定活跃视频参数集或者相似视频参数集、活跃序列参数集或者相似序列参数集、活跃画面参数集或者相似画面参数集以及活跃适配参数集或者相似适配参数集中的一个或者多个参数集。例如,在一些实施例中,解码器可以每隔每个纹理视图或景深视图激活参数集,而可以针对多个视图激活相同的参数集。用于纹理视图和景深视图的视图标识符或类似物的列表或循环可以存在于一个或多个参数集结构中。可以存在与针对景深视图指示的视图标识符或类似物的数量不等的针对纹理视图指示的视图标识符或类似物,和/或针对纹理视图指示的视图标识符值中的一些或全部可以不同于针对景深视图指示的那些视图标识符值。视图间预测层级可以在这些参数集结构中的一个或者多个参数集结构中存在。在一些实施例中,允许让用于纹理视图的视图间预测层级不同于用于景深视图的视图间预测层级,因而解码器可以断定从视图间依赖性层级可以从其被解码的纹理视图和景深视图参考不同的参数集或者参数集的不同部分。在一些实施例中,例如用访问单元和/或编码分片指示纹理视图分量和景深视图分量的存在和/或纹理视图和景深视图的视图间预测层级例如为可以在访问单元定界符、分量画面定界符、分片首部或者任何相似定界符中存在的视图顺序索引,并且解码器可以例如从视图顺序索引句法元素或者相似句法元素解析视图间预测层级信息。在一些实施例中,纹理视图分量和景深视图分量的存在可以由包括在访问单元的编码分片NAL单元或类似编码视频结构或单元中或者针对其被推断的视图标识符值、视图顺序索引值或类似标识符值隐式地指示。而且,视图间预测层级可以由纹理视图分量或者景深视图分量在访问单元内的解码/比特流顺序隐式地指示。
解码器可以例如如下从比特流接收和解码AU视图分量顺序的一个或者多个指示。AU视图分量顺序的指示可以是以上提到的指示或者任何相似指示中的任何指示。解码器可以例如断定哪个参数集是活跃的并且对活跃参数集的部分进行解码,该部分指示AU视图分量顺序。在一些实施例中,解码器可以例如从画面参数集解码待使用的AU视图分量顺序的索引并且使用该索引以断定在活跃视频参数集或者序列参数中包括的AU视图分量顺序中的哪个AU视图分量顺序用于参考画面参数集的访问单元。
在一些实施例中,解码器可以如下使用有关存在哪些纹理视图分量和景深视图分量的解码的或者断定的信息以及解码的或者断定的AU视图分量顺序用于防范传输错误、大规模存储器介质破坏或者任何其它相似错误的错误恢复。解码器可以断定例如在比特流包含分量画面定界符NAL单元、分量画面首部或者分片首部时开始新视图分量/下一视图分量的解码,该分量画面定界符NAL单元、分量画面首部或者分片首部指示与先前分片的先前视图顺序索引和/或视图分量类型(例如景深或者纹理)不同的视图顺序索引和/或视图分量类型。解码器可以比较视图分量类型和视图分量的指示符(比如视图顺序索引)与AU视图分量顺序为下一视图分量推断的视图分量类型和视图分量的指示符。如果视图分量类型和视图分量的指示符二者与基于AU视图分量类型预计的视图分量类型和视图分量的指示符匹配,则解码器可以断定整个视图分量的丢失尚未发生。如果视图分量类型和视图分量的指示符之一或者二者不与
需要理解的是,可以在比特流中用任何类型的参数集或者其它句法结构实现实施例。
在上文中,已经关于编码指示、句法元素和/或句法结构到比特流中或者到编码视频序列中和/或从比特流或者从编码视频序列解码指示、句法元素和/或句法结构描述了一些实施例。然而,需要理解的是,当编码指示、句法元素和/或句法结构到处于比特流外部的句法结构或数据单元或者包括诸如编码分片之类的视频编码层数据的编码视频序列中,和/或从处于比特流外部的句法结构或数据单元或者包括诸如编码分片之类的视频编码层数据的编码视频序列解码指示、句法元素和/或句法结构时,可以实现实施例。例如,在一些实施例中,根据以上任何实施例的指示可以被编码到视频参数集或序列参数集中,其例如使用诸如SDP之类的控制协议从编码视频序列外部地被传输。继续同一示例,接收器可以例如使用控制协议获得视频参数集或序列参数集,并且提供视频参数集或序列参数集用于解码。
在上文中,已经关于特定类型的分量画面(即景深视图分量和纹理视图分量)描述了一些实施例。然而,需要理解的是,可以用可以在比特流中存在的任何类型的分量画面取代纹理视图分量和景深视图分量或者除了纹理视图分量和景深视图分量还用可以在比特流中存在的任何类型的分量画面来实现实施例。例如,在一些实施例中的分量画面可以包括红外视图分量或者落在用来表示人类可感知图像的常规射频频谱以外的某个其它图像表示。
在上文中,已经关于具有分量间依赖性的编码/解码方法或者工具(比如基于景深的纹理编码/解码或者预测工具)描述了一些实施例。需要理解的是,实施例可以不是特定于所述编码/解码方法而是可以用任何相似的编码/解码方法或者工具来实现的。
在上文中,已经借助比特流的句法描述示例实施例。然而,需要理解的是,对应结构和/或计算机程序可以在用于生成比特流的编码器和/或在用于对比特流进行解码的解码器驻留。类似地,在已经参照编码器描述示例实施例时,需要理解的是,所得比特流和解码器在它们中具有对应要素和单元。类似地,在已经借助解码器描述示例实施例时,需要理解的是,编码器具有用于生成将由解码器解码的比特流的结构和/或计算机程序。
虽然以上示例描述在电子设备内的编码解码器内操作的本发明的实施例,但是将认识到,可以实施如以下描述的本发明为任何视频编码解码器的一部分。因此,例如可以在视频编码解码器中实施本发明的实施例,该视频编码解码器可以通过固定或者有线通信路径实施视频编码。
因此,用户设备可以包括视频编码解码器,比如以上在本发明的实施例中描述的视频编码解码器。应当认识到,术语用户设备旨在于覆盖任何适当类型的无线用户设备,比如移动电话、便携数据处理设备或者便携web浏览器。
另外,公共陆地移动网络(PLMN)的单元也可以包括如以上描述的视频编码解码器。
一般而言,可以在硬件或者专用电路、软件、逻辑或者其任何组合中实施本发明的各种实施例。例如,可以在硬件中实施一些方面而可以在由控制器、微处理器或者其它计算设备可以执行的固件或者软件中实施其它方面,但是本发明不限于此。尽管本发明的各种方面可以被图示和描述为框图、流程图或者使用一些其它图形表示来图示和描述,但是,合理地理解到,可以在作为非限制示例的硬件、软件、固件、专用电路或者逻辑、通用硬件或者控制器或者其它计算设备或者其某个组合中实施这里描述的这些块、装置、系统、技术或者方法。
可以通过可由移动设备的数据处理器执行的比如在处理器实体中的计算机软件或者通过硬件或者通过软件和硬件的组合来实施本发明的实施例。另外就这一点而言,应当注意到,如各图中的逻辑流程的任何块可以代表程序步骤或者互连的逻辑电路、块和功能或者程序步骤和逻辑电路、块和功能的组合。软件可以存储于比如在处理器内实施的存储器芯片或者存储器块、磁介质(比如硬盘或者软盘)和光介质(如例如DVD及其数据变体CD)这样的物理介质上。
可以借助在存储器中驻留并且使相关装置实现本发明的计算机程序代码来实施本发明的各种实施例。例如,终端设备可以包括用于处理、接收和传输数据的电路装置和电子装置、存储器中的计算机程序代码以及处理器,该处理器在运行计算机程序代码时使终端设备实现实施例的特征。进而另外,网络设备可以包括用于处理、接收和传输数据的电路装置和电子装置、存储器中的计算机程序代码以及处理器,该处理器在运行计算机程序代码时使网络设备实现实施例的特征。
存储器可以是适合于本地技术环境的任何类型并且可以使用任何适当数据存储技术(比如基于半导体的存储器器件、磁存储器器件和系统、光学存储器器件和系统、固定存储器和可移除存储器)来实施。数据处理器可以是适合于本地技术环境的任何类型并且可以包括作为非限制示例的通用计算机、专用计算机、微处理器、数字信号处理器(DSP)和基于多芯处理器架构的处理器中的一项或者多项。
可以在各种部件(比如集成电路模块)中实现本发明的实施例。集成电路的设计主要是高度自动化过程。复杂而强大的软件工具可用于将逻辑级设计转换成准备好在半导体衬底上蚀刻和形成的半导体电路设计。
程序(比如Mountain View,California的Synopsys公司和San Jose,California的Cadence Design提供的程序)使用建立好的设计规则以及预存的设计模块的库在半导体芯片上自动对导体布线以及对部件定位。一旦已经完成用于半导体电路的设计,就可以按照标准化电子格式(例如Opus、GDSII等)向半导体制作设施或者“fab”发送所得设计用于制作。
前文描述已经通过示例性的而非限制性的示例提供了对本发明的示例性实施例的完全而有启发的描述。然而,各种修改和改编鉴于在与附图和所附权利要求结合阅读时的前文描述可以变得为相关领域技术人员所清楚。然而,对本发明的教导的所有这样的修改和类似修改仍将落入本发明的范围内。
在下文中,将提供一些示例。
根据第一示例,提供一种方法,该方法包括:
检查与纹理块被共同定位的景深块的可用性;
基于被共同定位的景深块的可用性,确定用于纹理块的预测方法;以及
如果被共同定位的景深块可用,则基于被共同定位的景深块导出用于纹理块的第一预测块;并且否则,在不使用被共同定位的景深块的情况下导出用于纹理块的第二预测块。
在一些示例中,该方法还包括:
基于导出的第一预测块或第二预测块对纹理块进行编码。
在一些示例中,该方法还包括:
将纹理块和景深块编码到比特流中,比特流包括一个或多个编码的纹理视图以及一个或多个编码的景深视图。
在一些示例中,该方法还包括:
基于以下各项中的一项或多项,确定用于导出第一预测块或第二预测块的预测方法:
一个或多个编码的纹理视图以及一个或多个编码的景深视图,
一个或多个编码的纹理视图的视图间预测依赖性,
一个或多个编码的景深视图的视图间预测依赖性,
一个或多个编码的纹理视图以及一个或多个编码的景深视图的视图分量顺序,
具有与包括纹理块的纹理视图分量相同的采样或输出时间的景深视图分量的存在。
在一些示例中,该方法还包括:
基于以下各项中的一项或多项,确定被共同定位的景深块的可用性:
一个或多个编码的纹理视图以及一个或多个编码的景深视图,
一个或多个编码的纹理视图的视图间预测依赖性,
一个或多个编码的景深视图的视图间预测依赖性,
一个或多个编码的纹理视图以及一个或多个编码的景深视图的视图分量顺序,
具有与包括纹理块的纹理视图分量相同的采样或输出时间的景深视图分量的存在,
用于纹理块的纹理采样网格以及用于景深块的景深采样网格,
纹理采样网格的位置以及景深采样网格的位置,
由包含纹理块的纹理视图覆盖的第一空间区域以及由包含景深块的景深视图覆盖的第二空间区域,
在第二空间区域内由纹理块覆盖的位置和区域。
在该方法的一些示例中,纹理块包括一个或多个采样,并且景深块包括一个或多个采样。
在该方法的一些示例中,该检查包括:
检查景深块中的被共同定位的采样对于纹理块的一个或多个采样中的每个采样是否可用。
在一些示例中,该方法还包括:
响应于被共同定位的景深采样不可用,填充或内插景深采样并且将景深块视为可用。
在一些示例中,该方法还包括:
响应于被共同定位的景深采样不可用,将景深块视为不可用。
在该方法的一些示例中,导出第二预测块包括:
响应于被共同定位的景深采样不可用,基于视图合成导出被共同定位的景深块。
在一些示例中,该方法还包括:
接收一个或多个输入纹理视图以及一个或多个输入景深视图;
确定哪些输入纹理视图和输入景深视图被编码;以及
对一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示进行编码。
在该方法的一些示例中,确定哪些输入纹理视图和输入景深视图被编码包括以下各项中的一项或多项:
-推断是否需要输入景深视图以用于预测一个或多个编码的纹理视图中的任何一个编码的纹理视图,并且确定需要用于预测一个或多个编码的纹理视图中的任何一个编码的纹理视图的景深视图被编码,而不需要用于预测一个或多个编码的纹理视图中的任何一个编码的纹理视图的景深视图不被编码;
-接收基于比特流期望或知晓哪些纹理视图要被输出的信息,并且确定编码的纹理视图和景深视图,以方便对期望或知晓要被输出的所述纹理视图进行解码或者视图合成。
在该方法的一些示例中,确定编码的纹理视图和景深视图以方便对期望或知晓要被输出的所述纹理视图进行解码或者视图合成包括:
导出用于对输入景深视图进行编码的第一代价以及用于使用编码的输入景深视图进行解码或合成的、期望或知晓要被输出的所述纹理视图的第一失真,
导出在没有编码的输入景深视图的情况下的第二代价以及用于不使用编码的输入景深视图进行解码或合成的、期望或知晓要被输出的所述纹理视图的第二失真,
基于第一代价、第二代价、第一失真和第二失真确定是否对景深视图进行编码。
在一些示例中,该方法还包括:
导出用于基于景深块对包括景深块的景深视图以及包括纹理块的纹理视图进行编码的第一代价和第一失真,
导出用于对包括根据第二预测块预测的纹理块的纹理视图进行编码的第二代价和第二失真,
基于第一代价、第二代价、第一失真和第二失真确定是否对景深视图进行编码。
在一些示例中,该方法还包括:
确定一个或多个编码的纹理视图以及一个或多个编码的景深视图的视图间预测层级;以及
对一个或多个编码的纹理视图以及一个或多个编码的景深视图的视图间预测层级的一个或多个指示进行编码。
根据第二示例,提供一种方法,该方法包括:
检查与纹理块被共同定位的景深块的可用性;
基于被共同定位的景深块的可用性,确定用于纹理块的预测方法;以及
如果被共同定位的景深块可用,则基于被共同定位的景深块导出用于纹理块的第一预测块;并且否则,在不使用被共同定位的景深块的情况下导出用于纹理块的第二预测块。
在一些示例中,该方法还包括:
基于第一预测块或第二预测块对纹理块进行解码。
在一些示例中,该方法还包括:
从比特流对纹理块和景深块进行解码,比特流包括一个或多个编码的纹理视图以及一个或多个编码的景深视图。
在一些示例中,该方法还包括:
基于以下各项中的一项或多项确定预测方法:
一个或多个编码的纹理视图以及一个或多个编码的景深视图,
一个或多个编码的纹理视图的视图间预测依赖性,
一个或多个编码的景深视图的视图间预测依赖性,
一个或多个编码的纹理视图以及一个或多个编码的景深视图的视图分量顺序,
指示的用于纹理块的预测方法,
具有与包括纹理块的纹理视图分量相同的采样或输出时间的景深视图分量的存在。
在一些示例中,该方法还包括:
基于以下各项中的一项或多项,确定被共同定位的景深块的可用性:
一个或多个编码的纹理视图以及一个或多个编码的景深视图,
一个或多个编码的纹理视图的视图间预测依赖性,
一个或多个编码的景深视图的视图间预测依赖性,
一个或多个编码的纹理视图以及一个或多个编码的景深视图的视图分量顺序,
具有与包括纹理块的纹理视图分量相同的采样或输出时间的景深视图分量的存在,
用于纹理块的纹理采样网格以及用于景深块的景深采样网格,
纹理采样网格的位置以及景深采样网格的位置,
由包含纹理块的纹理视图覆盖的第一空间区域以及由包含景深块的景深视图覆盖的第二空间区域,
在第二空间区域内由纹理块覆盖的位置和区域。
在该方法的一些示例中,纹理块包括一个或多个采样,并且景深块包括一个或多个采样。
在该方法的一些示例中,该检查包括:
检查景深块中的被共同定位的采样对于纹理块的一个或多个采样中的每个采样是否可用。
在一些示例中,该方法还包括:
响应于被共同定位的景深采样不可用,填充或内插景深采样并且将景深块视为可用。
在一些示例中,该方法还包括:
响应于被共同定位的景深采样不可用,将景深块视为不可用。
在该方法的一些示例中,导出第二预测块包括:
响应于被共同定位的景深采样不可用,基于视图合成导出被共同定位的景深块。
在一些示例中,该方法还包括:
在比特流中接收一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示;以及
使用一个或多个指示来确定哪些输入纹理视图和输入景深视图已经被编码在比特流中。
在一些示例中,该方法还包括:接收被共同定位的景深块的可用性的指示。
在该方法的一些示例中,导出第二预测块包括:
基于以下各项中的一项导出景深块:
编码的景深块;
编码的纹理块;
重构的景深块;或者
重构的纹理块;以及
将导出的景深块用作预测的参考。
在一些示例中,该方法还包括:接收在景深块的导出中使用的块的指示。
根据第三示例,提供一种装置,该装置包括至少一个处理器和至少一个存储器,至少一个存储器包括计算机程序代码,至少一个存储器和计算机程序代码被配置为与至少一个处理器一起使该装置:
检查与纹理块被共同定位的景深块的可用性;
基于被共同定位的景深块的可用性,确定用于纹理块的预测方法;以及
如果被共同定位的景深块可用,则基于被共同定位的景深块导出用于纹理块的第一预测块;并且否则,在不使用被共同定位的景深块的情况下导出用于纹理块的第二预测块。
在该装置的一些示例中,所述至少一个存储器在其上存储有代码,该代码在被所述至少一个处理器执行时还使该装置:
基于导出的第一预测块或第二预测块对纹理块进行编码。
在该装置的一些示例中,所述至少一个存储器在其上存储有代码,该代码在被所述至少一个处理器执行时还使该装置:
将纹理块和景深块编码到比特流中,比特流包括一个或多个编码的纹理视图以及一个或多个编码的景深视图。
在该装置的一些示例中,所述至少一个存储器在其上存储有代码,该代码在被所述至少一个处理器执行时还使该装置:
基于以下各项中的一项或多项,确定用于导出第一预测块或第二预测块的预测方法:
一个或多个编码的纹理视图以及一个或多个编码的景深视图,
一个或多个编码的纹理视图的视图间预测依赖性,
一个或多个编码的景深视图的视图间预测依赖性,
一个或多个编码的纹理视图以及一个或多个编码的景深视图的视图分量顺序。
在该装置的一些示例中,所述至少一个存储器在其上存储有代码,该代码在被所述至少一个处理器执行时还使该装置:
基于以下各项中的一项或多项,确定被共同定位的景深块的可用性:
一个或多个编码的纹理视图以及一个或多个编码的景深视图,
一个或多个编码的纹理视图的视图间预测依赖性,
一个或多个编码的景深视图的视图间预测依赖性,
一个或多个编码的纹理视图以及一个或多个编码的景深视图的视图分量顺序,
用于纹理块的纹理采样网格以及用于景深块的景深采样网格,
纹理采样网格的位置以及景深采样网格的位置,
由包含纹理块的纹理视图覆盖的空间区域以及由包含景深块的景深视图覆盖的空间区域。
在该装置的一些示例中,纹理块包括一个或多个采样,并且景深块包括一个或多个采样。
在该装置的一些示例中,所述至少一个存储器在其上存储有代码,该代码在被所述至少一个处理器执行时还使该装置:
检查景深块中的被共同定位的采样对于纹理块的一个或多个采样中的每个采样是否可用。
在该装置的一些示例中,所述至少一个存储器在其上存储有代码,该代码在被所述至少一个处理器执行时还使该装置:响应于被共同定位的景深采样不可用,填充或内插景深采样并且将景深块视为可用。
在该装置的一些示例中,所述至少一个存储器在其上存储有代码,该代码在被所述至少一个处理器执行时还使该装置:响应于被共同定位的景深采样不可用,将景深块视为不可用。
在该装置的一些示例中,所述至少一个存储器在其上存储有代码,该代码在被所述至少一个处理器执行时还使该装置:响应于被共同定位的景深采样不可用,基于视图合成导出被共同定位的景深块。
在该装置的一些示例中,所述至少一个存储器在其上存储有代码,该代码在被所述至少一个处理器执行时还使该装置:
接收一个或多个输入纹理视图以及一个或多个输入景深视图;
确定哪些输入纹理视图和输入景深视图被编码;以及
对一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示进行编码。
在该装置的一些示例中,所述至少一个存储器在其上存储有代码,该代码在被所述至少一个处理器执行时还使该装置:
导出用于基于景深块对包括景深块的景深视图以及包括纹理块的纹理视图进行编码的第一代价和第一失真,
导出用于对包括根据第二预测块预测的纹理块的纹理视图进行编码的第二代价和第二失真,
基于第一代价、第二代价、第一失真和第二失真确定是否对景深视图进行编码。
在该装置的一些示例中,所述至少一个存储器在其上存储有代码,该代码在被所述至少一个处理器执行时还使该装置:
确定一个或多个编码的纹理视图以及一个或多个编码的景深视图的视图间预测层级;以及
对一个或多个编码的纹理视图以及一个或多个编码的景深视图的视图间预测层级的一个或多个指示进行编码。
根据第四示例,提供一种装置,该装置包括至少一个处理器和至少一个存储器,至少一个存储器包括计算机程序代码,至少一个存储器和计算机程序代码被配置为与至少一个处理器一起使该装置:
检查与纹理块被共同定位的景深块的可用性;
基于被共同定位的景深块的可用性,确定用于纹理块的预测方法;以及
如果被共同定位的景深块可用,则基于被共同定位的景深块导出用于纹理块的第一预测块;并且否则,在不使用被共同定位的景深块的情况下导出用于纹理块的第二预测块。
在该装置的一些示例中,所述至少一个存储器在其上存储有代码,该代码在被所述至少一个处理器执行时还使该装置:
基于第一预测块或第二预测块对纹理块进行解码。
在该装置的一些示例中,所述至少一个存储器在其上存储有代码,该代码在被所述至少一个处理器执行时还使该装置:
从比特流对纹理块和景深块进行解码,比特流包括一个或多个编码的纹理视图以及一个或多个编码的景深视图。
在该装置的一些示例中,所述至少一个存储器在其上存储有代码,该代码在被所述至少一个处理器执行时还使该装置:
基于以下各项中的一项或多项确定预测方法:
一个或多个编码的纹理视图以及一个或多个编码的景深视图,
一个或多个编码的纹理视图的视图间预测依赖性,
一个或多个编码的景深视图的视图间预测依赖性,
一个或多个编码的纹理视图以及一个或多个编码的景深视图的视图分量顺序,
指示的用于纹理块的预测方法。
在该装置的一些示例中,所述至少一个存储器在其上存储有代码,该代码在被所述至少一个处理器执行时还使该装置:
基于以下各项中的一项或多项,确定被共同定位的景深块的可用性:
一个或多个编码的纹理视图以及一个或多个编码的景深视图,
一个或多个编码的纹理视图的视图间预测依赖性,
一个或多个编码的景深视图的视图间预测依赖性,
一个或多个编码的纹理视图以及一个或多个编码的景深视图的视图分量顺序,
用于纹理块的纹理采样网格以及用于景深块的景深采样网格,
纹理采样网格的位置以及景深采样网格的位置,
由包含纹理块的纹理视图覆盖的空间区域以及由包含景深块的景深视图覆盖的空间区域。
在该装置的一些示例中,纹理块包括一个或多个采样,并且景深块包括一个或多个采样。
在该装置的一些示例中,所述至少一个存储器在其上存储有代码,该代码在被所述至少一个处理器执行时还使该装置:
检查景深块中的被共同定位的采样对于纹理块的一个或多个采样中的每个采样是否可用。
在该装置的一些示例中,所述至少一个存储器在其上存储有代码,该代码在被所述至少一个处理器执行时还使该装置:响应于被共同定位的景深采样不可用,填充或内插景深采样并且将景深块视为可用。
在该装置的一些示例中,所述至少一个存储器在其上存储有代码,该代码在被所述至少一个处理器执行时还使该装置:响应于被共同定位的景深采样不可用,将景深块视为不可用。
在该装置的一些示例中,所述至少一个存储器在其上存储有代码,该代码在被所述至少一个处理器执行时还使该装置:响应于被共同定位的景深采样不可用,基于视图合成导出被共同定位的景深块。
在该装置的一些示例中,所述至少一个存储器在其上存储有代码,该代码在被所述至少一个处理器执行时还使该装置:
在比特流中接收一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示;以及
使用一个或多个指示来确定哪些输入纹理视图和输入景深视图已经被编码在比特流中。
在该装置的一些示例中,所述至少一个存储器在其上存储有代码,该代码在被所述至少一个处理器执行时还使该装置接收被共同定位的景深块的可用性的指示。
在该装置的一些示例中,所述至少一个存储器在其上存储有代码,该代码在被所述至少一个处理器执行时还使该装置:
基于以下各项中的一项导出景深块:
编码的景深块;
编码的纹理块;
重构的景深块;或者
重构的纹理块;以及
将导出的景深块用作预测的参考。
在该装置的一些示例中,所述至少一个存储器在其上存储有代码,该代码在被所述至少一个处理器执行时还使该装置接收在景深块的导出中使用的块的指示。
根据第五示例,提供一种装置,该装置包括:
用于检查与纹理块被共同定位的景深块的可用性的部件;
用于基于被共同定位的景深块的可用性来确定用于纹理块的预测方法的部件;以及
用于如果被共同定位的景深块可用则基于被共同定位的景深块导出用于纹理块的第一预测块、并且否则在不使用被共同定位的景深块的情况下导出用于纹理块的第二预测块的部件。
在一些示例中,该装置还包括:
用于基于导出的第一预测块或第二预测块对纹理块进行编码的部件。
在一些示例中,该装置还包括:
用于将纹理块和景深块编码到比特流中的部件,比特流包括一个或多个编码的纹理视图以及一个或多个编码的景深视图。
在一些示例中,该装置还包括:
用于基于以下各项中的一项或多项来确定用于导出第一预测块或第二预测块的预测方法的部件:
一个或多个编码的纹理视图以及一个或多个编码的景深视图,
一个或多个编码的纹理视图的视图间预测依赖性,
一个或多个编码的景深视图的视图间预测依赖性,
一个或多个编码的纹理视图以及一个或多个编码的景深视图的视图分量顺序。
在一些示例中,该装置还包括:
用于基于以下各项中的一项或多项来确定被共同定位的景深块的可用性的部件:
一个或多个编码的纹理视图以及一个或多个编码的景深视图,
一个或多个编码的纹理视图的视图间预测依赖性,
一个或多个编码的景深视图的视图间预测依赖性,
一个或多个编码的纹理视图以及一个或多个编码的景深视图的视图分量顺序,
用于纹理块的纹理采样网格以及用于景深块的景深采样网格,
纹理采样网格的位置以及景深采样网格的位置,
由包含纹理块的纹理视图覆盖的空间区域以及由包含景深块的景深视图覆盖的空间区域。
在该装置的一些示例中,纹理块包括一个或多个采样,并且景深块包括一个或多个采样。
在该装置的一些示例中,用于检查的部件包括:
用于检查景深块中的被共同定位的采样对于纹理块的一个或多个采样中的每个采样是否可用的部件。
在一些示例中,该装置还包括:
响应于被共同定位的景深采样不可用,用于填充或内插景深采样的部件以及用于将景深块视为可用的部件。
在一些示例中,该装置还包括:
响应于被共同定位的景深采样不可用,用于将景深块视为不可用的部件。
在该装置的一些示例中,用于导出第二预测块的部件包括:
响应于被共同定位的景深采样不可用,用于基于视图合成导出被共同定位的景深块的部件。
在一些示例中,该装置还包括:
用于接收一个或多个输入纹理视图以及一个或多个输入景深视图的部件;
用于确定哪些输入纹理视图和输入景深视图被编码的部件;以及
用于对一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示进行编码的部件。
在一些示例中,该装置还包括:
用于导出用于基于景深块对包括景深块的景深视图以及包括纹理块的纹理视图进行编码的第一代价和第一失真的部件,
用于导出用于对包括根据第二预测块预测的纹理块的纹理视图进行编码的第二代价和第二失真的部件,
用于基于第一代价、第二代价、第一失真和第二失真确定是否对景深视图进行编码的部件。
在一些示例中,该装置还包括:
用于确定一个或多个编码的纹理视图以及一个或多个编码的景深视图的视图间预测层级的部件;以及
用于对一个或多个编码的纹理视图以及一个或多个编码的景深视图的视图间预测层级的一个或多个指示进行编码的部件。
根据第六示例,提供一种装置,该装置包括:
用于检查与纹理块被共同定位的景深块的可用性的部件;
用于基于被共同定位的景深块的可用性来确定用于纹理块的预测方法的部件;以及
用于如果被共同定位的景深块可用则基于被共同定位的景深块导出用于纹理块的第一预测块、并且否则在不使用被共同定位的景深块的情况下导出用于纹理块的第二预测块的部件。
在一些示例中,该装置还包括:
用于基于第一预测块或第二预测块对纹理块进行解码的部件。
在一些示例中,该装置还包括:
用于从比特流对纹理块和景深块进行解码的部件,比特流包括一个或多个编码的纹理视图以及一个或多个编码的景深视图。
在一些示例中,该装置还包括:
用于基于以下各项中的一项或多项确定预测方法的部件:
一个或多个编码的纹理视图以及一个或多个编码的景深视图,
一个或多个编码的纹理视图的视图间预测依赖性,
一个或多个编码的景深视图的视图间预测依赖性,
一个或多个编码的纹理视图以及一个或多个编码的景深视图的视图分量顺序,
指示的用于纹理块的预测方法。
在一些示例中,该装置还包括:
用于基于以下各项中的一项或多项来确定被共同定位的景深块的可用性的部件:
一个或多个编码的纹理视图以及一个或多个编码的景深视图,
一个或多个编码的纹理视图的视图间预测依赖性,
一个或多个编码的景深视图的视图间预测依赖性,
一个或多个编码的纹理视图以及一个或多个编码的景深视图的视图分量顺序,
用于纹理块的纹理采样网格以及用于景深块的景深采样网格,
纹理采样网格的位置以及景深采样网格的位置,
由包含纹理块的纹理视图覆盖的空间区域以及由包含景深块的景深视图覆盖的空间区域。
在该装置的一些示例中,纹理块包括一个或多个采样,并且景深块包括一个或多个采样。
在该装置的一些示例中,用于检查的部件包括:
用于检查景深块中的被共同定位的采样对于纹理块的一个或多个采样中的每个采样是否可用的部件。
在一些示例中,该装置还包括:
响应于被共同定位的景深采样不可用,用于填充或内插景深采样的部件以及用于将景深块视为可用的部件。
在一些示例中,该装置还包括:
响应于被共同定位的景深采样不可用,用于将景深块视为不可用的部件。
在该装置的一些示例中,用于导出第二预测块的部件包括:
响应于被共同定位的景深采样不可用,用于基于视图合成导出被共同定位的景深块的部件。
在一些示例中,该装置还包括:
用于在比特流中接收一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示的部件;以及
用于使用一个或多个指示来确定哪些输入纹理视图和输入景深视图已经被编码在比特流中的部件。
在一些示例中,该装置还包括用于接收被共同定位的景深块的可用性的指示的部件。
在该装置的一些示例中,用于导出第二预测块的部件包括:
用于基于以下各项中的一项导出景深块的部件:
编码的景深块;
编码的纹理块;
重构的景深块;或者
重构的纹理块;以及
将导出的景深块用作预测的参考。
在一些示例中,该装置还包括用于接收在景深块的导出中使用的块的指示的部件。
根据第七示例,提供一种计算机程序产品,该计算机程序产品包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使装置至少执行以下操作:
检查与纹理块被共同定位的景深块的可用性;
基于被共同定位的景深块的可用性,确定用于纹理块的预测方法;以及
如果被共同定位的景深块可用,则基于被共同定位的景深块导出用于纹理块的第一预测块;并且否则,在不使用被共同定位的景深块的情况下导出用于纹理块的第二预测块。
在一些示例中,该计算机程序产品还包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使该装置:
基于导出的第一预测块或第二预测块对纹理块进行编码。
在一些示例中,该计算机程序产品还包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使该装置:
将纹理块和景深块编码到比特流中,比特流包括一个或多个编码的纹理视图以及一个或多个编码的景深视图。
在一些示例中,该计算机程序产品还包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使该装置:
基于以下各项中的一项或多项,确定用于导出第一预测块或第二预测块的预测方法:
一个或多个编码的纹理视图以及一个或多个编码的景深视图,
一个或多个编码的纹理视图的视图间预测依赖性,
一个或多个编码的景深视图的视图间预测依赖性,
一个或多个编码的纹理视图以及一个或多个编码的景深视图的视图分量顺序。
在一些示例中,该计算机程序产品还包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使该装置:
基于以下各项中的一项或多项,确定被共同定位的景深块的可用性:
一个或多个编码的纹理视图以及一个或多个编码的景深视图,
一个或多个编码的纹理视图的视图间预测依赖性,
一个或多个编码的景深视图的视图间预测依赖性,
一个或多个编码的纹理视图以及一个或多个编码的景深视图的视图分量顺序,
用于纹理块的纹理采样网格以及用于景深块的景深采样网格,
纹理采样网格的位置以及景深采样网格的位置,
由包含纹理块的纹理视图覆盖的空间区域以及由包含景深块的景深视图覆盖的空间区域。
在该计算机程序产品的一些示例中,纹理块包括一个或多个采样,并且景深块包括一个或多个采样。
在一些示例中,该计算机程序产品还包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使该装置:
检查景深块中的被共同定位的采样对于纹理块的一个或多个采样中的每个采样是否可用。
在一些示例中,该计算机程序产品还包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使该装置:响应于被共同定位的景深采样不可用,填充或内插景深采样并且将景深块视为可用。
在一些示例中,该计算机程序产品还包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使该装置:响应于被共同定位的景深采样不可用,将景深块视为不可用。
在一些示例中,该计算机程序产品还包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使该装置:响应于被共同定位的景深采样不可用,基于视图合成导出被共同定位的景深块。
在一些示例中,该计算机程序产品还包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使该装置:
接收一个或多个输入纹理视图以及一个或多个输入景深视图;
确定哪些输入纹理视图和输入景深视图被编码;以及
对一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示进行编码。
在一些示例中,该计算机程序产品还包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使该装置:
导出用于基于景深块对包括景深块的景深视图以及包括纹理块的纹理视图进行编码的第一代价和第一失真,
导出用于对包括根据第二预测块预测的纹理块的纹理视图进行编码的第二代价和第二失真,
基于第一代价、第二代价、第一失真和第二失真确定是否对景深视图进行编码。
在一些示例中,该计算机程序产品还包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使该装置:
确定一个或多个编码的纹理视图以及一个或多个编码的景深视图的视图间预测层级;以及
对一个或多个编码的纹理视图以及一个或多个编码的景深视图的视图间预测层级的一个或多个指示进行编码。
根据第八示例,提供一种计算机程序产品,该计算机程序产品包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使装置至少执行以下操作:
检查与纹理块被共同定位的景深块的可用性;
基于被共同定位的景深块的可用性,确定用于纹理块的预测方法;以及
如果被共同定位的景深块可用,则基于被共同定位的景深块导出用于纹理块的第一预测块;并且否则,在不使用被共同定位的景深块的情况下导出用于纹理块的第二预测块。
在一些示例中,该计算机程序产品还包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使该装置:
基于第一预测块或第二预测块对纹理块进行解码。
在一些示例中,该计算机程序产品还包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使该装置:
从比特流对纹理块和景深块进行解码,比特流包括一个或多个编码的纹理视图以及一个或多个编码的景深视图。
在一些示例中,该计算机程序产品还包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使该装置:
基于以下各项中的一项或多项确定预测方法:
一个或多个编码的纹理视图以及一个或多个编码的景深视图,
一个或多个编码的纹理视图的视图间预测依赖性,
一个或多个编码的景深视图的视图间预测依赖性,
一个或多个编码的纹理视图以及一个或多个编码的景深视图的视图分量顺序,
指示的用于纹理块的预测方法。
在一些示例中,该计算机程序产品还包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使该装置:
基于以下各项中的一项或多项,确定被共同定位的景深块的可用性:
一个或多个编码的纹理视图以及一个或多个编码的景深视图,
一个或多个编码的纹理视图的视图间预测依赖性,
一个或多个编码的景深视图的视图间预测依赖性,
一个或多个编码的纹理视图以及一个或多个编码的景深视图的视图分量顺序,
用于纹理块的纹理采样网格以及用于景深块的景深采样网格,
纹理采样网格的位置以及景深采样网格的位置,
由包含纹理块的纹理视图覆盖的空间区域以及由包含景深块的景深视图覆盖的空间区域。
在该计算机程序产品的一些示例中,纹理块包括一个或多个采样,并且景深块包括一个或多个采样。
在一些示例中,该计算机程序产品还包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使该装置:
检查景深块中的被共同定位的采样对于纹理块的一个或多个采样中的每个采样是否可用。
在一些示例中,该计算机程序产品还包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使该装置:响应于被共同定位的景深采样不可用,填充或内插景深采样并且将景深块视为可用。
在一些示例中,该计算机程序产品还包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使该装置:响应于被共同定位的景深采样不可用,将景深块视为不可用。
在一些示例中,该计算机程序产品还包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使该装置:响应于被共同定位的景深采样不可用,基于视图合成导出被共同定位的景深块。
在一些示例中,该计算机程序产品还包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使该装置:
在比特流中接收一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示;以及
使用一个或多个指示来确定哪些输入纹理视图和输入景深视图已经被编码在比特流中。
在一些示例中,该计算机程序产品还包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使该装置接收被共同定位的景深块的可用性的指示。
在一些示例中,该计算机程序产品还包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使该装置:
基于以下各项中的一项导出景深块:
编码的景深块;
编码的纹理块;
重构的景深块;或者
重构的纹理块;以及
将导出的景深块用作预测的参考。
在一些示例中,该计算机程序产品还包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使该装置接收在景深块的导出中使用的块的指示。
根据第九示例,提供一种方法,该方法包括:
接收、捕捉或导出一个或多个输入纹理视图以及一个或多个输入景深视图;
确定哪些输入纹理视图和输入景深视图被编码;
对一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示进行编码;以及
对被确定要被编码到比特流中的输入纹理视图和输入景深视图进行编码,其中编码的纹理视图和编码的景深视图具有以下特征中的一个或多个特征:
-编码的景深视图表示不被比特流的任何编码的纹理视图表示的视点;
-两个或更多个编码的景深视图表示同一视点;
-第一编码的景深视图包括第一景深图类型的景深视图分量,并且第二编码的景深视图包括第二景深图类型的景深视图分量,第一景深图类型和第二景深图类型是不同的;
-编码的景深视图和编码的纹理视图表示同一视点,第一采样网格用于编码的景深视图的景深视图分量,并且第二采样网格用于编码的纹理视图的纹理视图分量,并且第一采样网格和第二采样网格具有以下特征中的一个或多个特征:
°第一采样网格的水平或垂直采样尺寸分别与第二采样网格的水平或垂直采样尺寸的比率不是整数;
°第一采样网格不覆盖与第二采样网格相同的采样区域。
在该方法的一些示例中,表示同一视点的两个或更多个编码的景深视图还以以下各项中的一项或多项为特征:
-两个或更多个编码的景深视图中的第一景深视图旨在用于朝向第一方向或者针对第一视点的视图合成,并且两个或更多个编码的景深视图中的第二景深视图旨在用于朝向第二方向或者针对第二视点的视图合成,其中第一方向不同于第二方向并且第一视点不同于第二视点;
-两个或更多个编码的景深视图中的第一景深视图旨在用于第一显示布置或者观察情况,并且两个或更多个编码的景深视图中的第二景深视图旨在用于第二显示布置或者观察情况,其中第一显示布置或者观察情况不同于第二显示布置或者观察情况。
在一些示例中,该方法还包括:
基于以下各项中的一项或多项,确定第一编码的景深视图具有第一景深图类型并且第二编码的景深视图具有第二景深图类型:
°在比特流中使用的预测机制需要使用第一景深图类型和/或第二景深图类型;
°当使用第一景深图类型和/或第二景深图类型而非另一景深图类型时,在比特流中使用的预测机制造成较少的计算。
根据第十示例,提供一种方法,该方法包括:
接收、捕捉或导出一个或多个输入纹理视图以及一个或多个输入景深视图;
确定哪些输入纹理视图和输入景深视图被编码,其中该确定包括以下各项中的一项或多项:
°推断是否需要输入景深视图以用于预测一个或多个编码的纹理视图中的任何一个编码的纹理视图,并且确定需要用于预测一个或多个编码的纹理视图中的任何一个编码的纹理视图的景深视图被编码,而不需要用于预测一个或多个编码的纹理视图中的任何一个编码的纹理视图的景深视图不被编码;
°接收基于比特流期望或知晓哪些纹理视图要被输出的信息,并且确定编码的纹理视图和景深视图,以方便对期望或知晓要被输出的所述纹理视图进行解码或者视图合成;
对被确定要被编码到比特流中的输入纹理视图和输入景深视图进行编码;以及
对一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示进行编码。
在该方法的一些示例中,确定编码的纹理视图和景深视图以方便对期望或知晓要被输出的所述纹理视图进行解码或者视图合成包括:
导出用于对输入景深视图进行编码的第一代价以及用于使用编码的输入景深视图进行解码或合成的、期望或知晓要被输出的所述纹理视图的第一失真,
导出在没有编码的输入景深视图的情况下的第二代价以及用于不使用编码的输入景深视图进行解码或合成的、期望或知晓要被输出的所述纹理视图的第二失真,
基于第一代价、第二代价、第一失真和第二失真确定是否对景深视图进行编码。
根据第十一示例,提供一种方法,该方法包括:
接收一个或多个编码的纹理视图以及一个或多个编码的景深视图;
对一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示进行解码,以确定哪些输入纹理视图和输入景深视图已经被编码;以及
从比特流对编码的纹理视图和编码的景深视图进行解码,其中编码的纹理视图和编码的景深视图具有以下特征中的一个或多个特征:
-编码的景深视图表示不被比特流的任何编码的纹理视图表示的视点;
-两个或更多个编码的景深视图表示同一视点;
-第一编码的景深视图包括第一景深图类型的景深视图分量,并且第二编码的景深视图包括第二景深图类型的景深视图分量,第一景深图类型和第二景深图类型是不同的;
-编码的景深视图和编码的纹理视图表示同一视点,第一采样网格用于编码的景深视图的景深视图分量,并且第二采样网格用于编码的纹理视图的纹理视图分量,并且第一采样网格和第二采样网格具有以下特征中的一个或多个特征:
°第一采样网格的水平或垂直采样尺寸分别与第二采样网格的水平或垂直采样尺寸的比率不是整数;
°第一采样网格不覆盖与第二采样网格相同的采样区域。
在该方法的一些示例中,表示同一视点的两个或更多个编码的景深视图还以以下各项中的一项或多项为特征:
–将两个或更多个编码的景深视图中的第一景深视图用于朝向第一方向或者针对第一视点的视图合成,并且将两个或更多个编码的景深视图中的第二景深视图用于朝向第二方向或者针对第二视点的视图合成,其中第一方向不同于第二方向并且第一视点不同于第二视点;
–将两个或更多个编码的景深视图中的第一景深视图用于第一显示布置或者观察情况,并且将两个或更多个编码的景深视图中的第二景深视图用于第二显示布置或者观察情况,其中第一显示布置或者观察情况不同于第二显示布置或者观察情况。
根据第十二示例,提供一种装置,该装置包括至少一个处理器和至少一个存储器,至少一个存储器包括计算机程序代码,至少一个存储器和计算机程序代码被配置为与至少一个处理器一起使该装置:
接收、捕捉或导出一个或多个输入纹理视图以及一个或多个输入景深视图;
确定哪些输入纹理视图和输入景深视图被编码;
对一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示进行编码;以及
对被确定要被编码到比特流中的输入纹理视图和输入景深视图进行编码,其中编码的纹理视图和编码的景深视图具有以下特征中的一个或多个特征:
-编码的景深视图表示不被比特流的任何编码的纹理视图表示的视点;
-两个或更多个编码的景深视图表示同一视点;
-第一编码的景深视图包括第一景深图类型的景深视图分量,并且第二编码的景深视图包括第二景深图类型的景深视图分量,第一景深图类型和第二景深图类型是不同的;
-编码的景深视图和编码的纹理视图表示同一视点,第一采样网格用于编码的景深视图的景深视图分量,并且第二采样网格用于编码的纹理视图的纹理视图分量,并且第一采样网格和第二采样网格具有以下特征中的一个或多个特征:
°第一采样网格的水平或垂直采样尺寸分别与第二采样网格的水平或垂直采样尺寸的比率不是整数;
°第一采样网格不覆盖与第二采样网格相同的采样区域。
在该装置的一些示例中,表示同一视点的两个或更多个编码的景深视图还以以下各项中的一项或多项为特征:
-两个或更多个编码的景深视图中的第一景深视图旨在用于朝向第一方向或者针对第一视点的视图合成,并且两个或更多个编码的景深视图中的第二景深视图旨在用于朝向第二方向或者针对第二视点的视图合成,其中第一方向不同于第二方向并且第一视点不同于第二视点;
-两个或更多个编码的景深视图中的第一景深视图旨在用于第一显示布置或者观察情况,并且两个或更多个编码的景深视图中的第二景深视图旨在用于第二显示布置或者观察情况,其中第一显示布置或者观察情况不同于第二显示布置或者观察情况。
在该装置的一些示例中,所述至少一个存储器在其上存储有代码,该代码在被所述至少一个处理器执行时还使该装置基于以下各项中的一项或多项来确定第一编码的景深视图具有第一景深图类型并且第二编码的景深视图具有第二景深图类型:
°在比特流中使用的预测机制需要使用第一景深图类型和/或第二景深图类型;
°当使用第一景深图类型和/或第二景深图类型而非另一景深图类型时,在比特流中使用的预测机制造成较少的计算。
根据第十三示例,提供一种装置,该装置包括至少一个处理器和至少一个存储器,至少一个存储器包括计算机程序代码,至少一个存储器和计算机程序代码被配置为与至少一个处理器一起使该装置:
接收、捕捉或导出一个或多个输入纹理视图以及一个或多个输入景深视图;
确定哪些输入纹理视图和输入景深视图被编码,其中该确定包括以下各项中的一项或多项:
°推断是否需要输入景深视图以用于预测一个或多个编码的纹理视图中的任何一个编码的纹理视图,并且确定需要用于预测一个或多个编码的纹理视图中的任何一个编码的纹理视图的景深视图被编码,而不需要用于预测一个或多个编码的纹理视图中的任何一个编码的纹理视图的景深视图不被编码;
°接收基于比特流期望或知晓哪些纹理视图要被输出的信息,并且确定编码的纹理视图和景深视图,以方便对期望或知晓要被输出的所述纹理视图进行解码或者视图合成;
对被确定要被编码到比特流中的输入纹理视图和输入景深视图进行编码;以及
对一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示进行编码。
在该装置的一些示例中,确定编码的纹理视图和景深视图以方便对期望或知晓要被输出的所述纹理视图进行解码或者视图合成包括代码,该代码在被所述至少一个处理器执行时还使该装置执行以下操作中的一个或多个操作:
导出用于对输入景深视图进行编码的第一代价以及用于使用编码的输入景深视图进行解码或合成的、期望或知晓要被输出的所述纹理视图的第一失真,
导出在没有编码的输入景深视图的情况下的第二代价以及用于不使用编码的输入景深视图进行解码或合成的、期望或知晓要被输出的所述纹理视图的第二失真,
基于第一代价、第二代价、第一失真和第二失真确定是否对景深视图进行编码。
根据第十四示例,提供一种装置,该装置包括至少一个处理器和至少一个存储器,至少一个存储器包括计算机程序代码,至少一个存储器和计算机程序代码被配置为与至少一个处理器一起使该装置:
接收一个或多个编码的纹理视图以及一个或多个编码的景深视图;
对一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示进行解码,以确定哪些输入纹理视图和输入景深视图已经被编码;以及
从比特流对编码的纹理视图和编码的景深视图进行解码,其中编码的纹理视图和编码的景深视图具有以下特征中的一个或多个特征:
-编码的景深视图表示不被比特流的任何编码的纹理视图表示的视点;
-两个或更多个编码的景深视图表示同一视点;
-第一编码的景深视图包括第一景深图类型的景深视图分量,并且第二编码的景深视图包括第二景深图类型的景深视图分量,第一景深图类型和第二景深图类型是不同的;
-编码的景深视图和编码的纹理视图表示同一视点,第一采样网格用于编码的景深视图的景深视图分量,并且第二采样网格用于编码的纹理视图的纹理视图分量,并且第一采样网格和第二采样网格具有以下特征中的一个或多个特征:
°第一采样网格的水平或垂直采样尺寸分别与第二采样网格的水平或垂直采样尺寸的比率不是整数;
°第一采样网格不覆盖与第二采样网格相同的采样区域。
在该装置的一些示例中,所述至少一个存储器在其上存储有代码,该代码在被所述至少一个处理器执行时还使该装置执行以下操作中的一个或多个操作:
–将两个或更多个编码的景深视图中的第一景深视图用于朝向第一方向或者针对第一视点的视图合成,并且将两个或更多个编码的景深视图中的第二景深视图用于朝向第二方向或者针对第二视点的视图合成,其中第一方向不同于第二方向并且第一视点不同于第二视点;
–将两个或更多个编码的景深视图中的第一景深视图用于第一显示布置或者观察情况,并且将两个或更多个编码的景深视图中的第二景深视图用于第二显示布置或者观察情况,其中第一显示布置或者观察情况不同于第二显示布置或者观察情况。
根据第十五示例,提供一种装置,该装置包括:
用于接收、捕捉或导出一个或多个输入纹理视图以及一个或多个输入景深视图的部件;
用于确定哪些输入纹理视图和输入景深视图被编码的部件;
用于对一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示进行编码的部件;以及
用于对被确定要被编码到比特流中的输入纹理视图和输入景深视图进行编码的部件,其中编码的纹理视图和编码的景深视图具有以下特征中的一个或多个特征:
-编码的景深视图表示不被比特流的任何编码的纹理视图表示的视点;
-两个或更多个编码的景深视图表示同一视点;
-第一编码的景深视图包括第一景深图类型的景深视图分量,并且第二编码的景深视图包括第二景深图类型的景深视图分量,第一景深图类型和第二景深图类型是不同的;
-编码的景深视图和编码的纹理视图表示同一视点,第一采样网格用于编码的景深视图的景深视图分量,并且第二采样网格用于编码的纹理视图的纹理视图分量,并且第一采样网格和第二采样网格具有以下特征中的一个或多个特征:
°第一采样网格的水平或垂直采样尺寸分别与第二采样网格的水平或垂直采样尺寸的比率不是整数;
°第一采样网格不覆盖与第二采样网格相同的采样区域。
在该装置的一些示例中,表示同一视点的两个或更多个编码的景深视图还以以下各项中的一项或多项为特征:
-两个或更多个编码的景深视图中的第一景深视图旨在用于朝向第一方向或者针对第一视点的视图合成,并且两个或更多个编码的景深视图中的第二景深视图旨在用于朝向第二方向或者针对第二视点的视图合成,其中第一方向不同于第二方向并且第一视点不同于第二视点;
-两个或更多个编码的景深视图中的第一景深视图旨在用于第一显示布置或者观察情况,并且两个或更多个编码的景深视图中的第二景深视图旨在用于第二显示布置或者观察情况,其中第一显示布置或者观察情况不同于第二显示布置或者观察情况。
在一些示例中,该装置还包括:
用于基于以下各项中的一项或多项来确定第一编码的景深视图具有第一景深图类型并且第二编码的景深视图具有第二景深图类型的部件:
°在比特流中使用的预测机制需要使用第一景深图类型和/或第二景深图类型;
°当使用第一景深图类型和/或第二景深图类型而非另一景深图类型时,在比特流中使用的预测机制造成较少的计算。
根据第十六示例,提供一种装置,该装置包括:
用于接收、捕捉或导出一个或多个输入纹理视图以及一个或多个输入景深视图的部件;
用于确定哪些输入纹理视图和输入景深视图被编码的部件,其中用于确定的部件包括以下各项中的一项或多项:
°用于推断是否需要输入景深视图以用于预测一个或多个编码的纹理视图中的任何一个编码的纹理视图、并且确定需要用于预测一个或多个编码的纹理视图中的任何一个编码的纹理视图的景深视图被编码而不需要用于预测一个或多个编码的纹理视图中的任何一个编码的纹理视图的景深视图不被编码的部件;
°用于接收基于比特流期望或知晓哪些纹理视图要被输出的信息、并且确定编码的纹理视图和景深视图以方便对期望或知晓要被输出的所述纹理视图进行解码或者视图合成的部件;
用于对被确定要被编码到比特流中的输入纹理视图和输入景深视图进行编码的部件;以及
用于对一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示进行编码的部件。
在该装置的一些示例中,用于确定编码的纹理视图和景深视图以方便对期望或知晓要被输出的所述纹理视图进行解码或者视图合成的部件包括:
用于导出用于对输入景深视图进行编码的第一代价以及用于使用编码的输入景深视图进行解码或合成的、期望或知晓要被输出的所述纹理视图的第一失真的部件,
用于导出在没有编码的输入景深视图的情况下的第二代价以及用于不使用编码的输入景深视图进行解码或合成的、期望或知晓要被输出的所述纹理视图的第二失真的部件,
用于基于第一代价、第二代价、第一失真和第二失真确定是否对景深视图进行编码的部件。
根据第十七示例,提供一种装置,该装置包括:
用于接收一个或多个编码的纹理视图以及一个或多个编码的景深视图的部件;
用于对一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示进行解码以确定哪些输入纹理视图和输入景深视图已经被编码的部件;以及
用于从比特流对编码的纹理视图和编码的景深视图进行解码的部件,其中编码的纹理视图和编码的景深视图具有以下特征中的一个或多个特征:
-编码的景深视图表示不被比特流的任何编码的纹理视图表示的视点;
-两个或更多个编码的景深视图表示同一视点;
-第一编码的景深视图包括第一景深图类型的景深视图分量,并且第二编码的景深视图包括第二景深图类型的景深视图分量,第一景深图类型和第二景深图类型是不同的;
-编码的景深视图和编码的纹理视图表示同一视点,第一采样网格用于编码的景深视图的景深视图分量,并且第二采样网格用于编码的纹理视图的纹理视图分量,并且第一采样网格和第二采样网格具有以下特征中的一个或多个特征:
°第一采样网格的水平或垂直采样尺寸分别与第二采样网格的水平或垂直采样尺寸的比率不是整数;
°第一采样网格不覆盖与第二采样网格相同的采样区域。
在一些示例中,该装置还包括以下各项中的一项或多项:
–用于将两个或更多个编码的景深视图中的第一景深视图用于朝向第一方向或者针对第一视点的视图合成、并且将两个或更多个编码的景深视图中的第二景深视图用于朝向第二方向或者针对第二视点的视图合成的部件,其中第一方向不同于第二方向并且第一视点不同于第二视点;
–用于将两个或更多个编码的景深视图中的第一景深视图用于第一显示布置或者观察情况、并且将两个或更多个编码的景深视图中的第二景深视图用于第二显示布置或者观察情况的部件,其中第一显示布置或者观察情况不同于第二显示布置或者观察情况。
根据第十八示例,提供一种计算机程序产品,计算机程序产品包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使装置至少执行以下操作:
接收、捕捉或导出一个或多个输入纹理视图以及一个或多个输入景深视图;
确定哪些输入纹理视图和输入景深视图被编码;
对一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示进行编码;以及
对被确定要被编码到比特流中的输入纹理视图和输入景深视图进行编码,其中编码的纹理视图和编码的景深视图具有以下特征中的一个或多个特征:
-编码的景深视图表示不被比特流的任何编码的纹理视图表示的视点;
-两个或更多个编码的景深视图表示同一视点;
-第一编码的景深视图包括第一景深图类型的景深视图分量,并且第二编码的景深视图包括第二景深图类型的景深视图分量,第一景深图类型和第二景深图类型是不同的;
-编码的景深视图和编码的纹理视图表示同一视点,第一采样网格用于编码的景深视图的景深视图分量,并且第二采样网格用于编码的纹理视图的纹理视图分量,并且第一采样网格和第二采样网格具有以下特征中的一个或多个特征:
°第一采样网格的水平或垂直采样尺寸分别与第二采样网格的水平或垂直采样尺寸的比率不是整数;
°第一采样网格不覆盖与第二采样网格相同的采样区域。
在该计算机程序产品的一些示例中,表示同一视点的两个或更多个编码的景深视图还以以下各项中的一项或多项为特征:
-两个或更多个编码的景深视图中的第一景深视图旨在用于朝向第一方向或者针对第一视点的视图合成,并且两个或更多个编码的景深视图中的第二景深视图旨在用于朝向第二方向或者针对第二视点的视图合成,其中第一方向不同于第二方向并且第一视点不同于第二视点;
-两个或更多个编码的景深视图中的第一景深视图旨在用于第一显示布置或者观察情况,并且两个或更多个编码的景深视图中的第二景深视图旨在用于第二显示布置或者观察情况,其中第一显示布置或者观察情况不同于第二显示布置或者观察情况。
在一些示例中,该计算机程序产品还包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使该装置基于以下各项中的一项或多项来确定第一编码的景深视图具有第一景深图类型并且第二编码的景深视图具有第二景深图类型:
°在比特流中使用的预测机制需要使用第一景深图类型和/或第二景深图类型;
°当使用第一景深图类型和/或第二景深图类型而非另一景深图类型时,在比特流中使用的预测机制造成较少的计算。
根据第十九示例,提供一种计算机程序产品,计算机程序产品包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使装置至少执行以下操作:
接收、捕捉或导出一个或多个输入纹理视图以及一个或多个输入景深视图;
确定哪些输入纹理视图和输入景深视图被编码,其中该确定包括以下各项中的一项或多项:
°推断是否需要输入景深视图以用于预测一个或多个编码的纹理视图中的任何一个编码的纹理视图,并且确定需要用于预测一个或多个编码的纹理视图中的任何一个编码的纹理视图的景深视图被编码,而不需要用于预测一个或多个编码的纹理视图中的任何一个编码的纹理视图的景深视图不被编码;
°接收基于比特流期望或知晓哪些纹理视图要被输出的信息,并且确定编码的纹理视图和景深视图,以方便对期望或知晓要被输出的所述纹理视图进行解码或者视图合成;
对被确定要被编码到比特流中的输入纹理视图和输入景深视图进行编码;以及
对一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示进行编码。
在该计算机程序产品的一些示例中,确定编码的纹理视图和景深视图以方便对期望或知晓要被输出的所述纹理视图进行解码或者视图合成包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使该装置:
导出用于对输入景深视图进行编码的第一代价以及用于使用编码的输入景深视图进行解码或合成的、期望或知晓要被输出的所述纹理视图的第一失真,
导出在没有编码的输入景深视图的情况下的第二代价以及用于不使用编码的输入景深视图进行解码或合成的、期望或知晓要被输出的所述纹理视图的第二失真,
基于第一代价、第二代价、第一失真和第二失真确定是否对景深视图进行编码。
根据第二十示例,提供一种计算机程序产品,计算机程序产品包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使装置至少执行以下操作:
接收一个或多个编码的纹理视图以及一个或多个编码的景深视图;
对一个或多个编码的纹理视图以及一个或多个编码的景深视图的一个或多个指示进行解码,以确定哪些输入纹理视图和输入景深视图已经被编码;以及
从比特流对编码的纹理视图和编码的景深视图进行解码,其中编码的纹理视图和编码的景深视图具有以下特征中的一个或多个特征:
-编码的景深视图表示不被比特流的任何编码的纹理视图表示的视点;
-两个或更多个编码的景深视图表示同一视点;
-第一编码的景深视图包括第一景深图类型的景深视图分量,并且第二编码的景深视图包括第二景深图类型的景深视图分量,第一景深图类型和第二景深图类型是不同的;
-编码的景深视图和编码的纹理视图表示同一视点,第一采样网格用于编码的景深视图的景深视图分量,并且第二采样网格用于编码的纹理视图的纹理视图分量,并且第一采样网格和第二采样网格具有以下特征中的一个或多个特征:
°第一采样网格的水平或垂直采样尺寸分别与第二采样网格的水平或垂直采样尺寸的比率不是整数;
°第一采样网格不覆盖与第二采样网格相同的采样区域。
在一些示例中,该计算机程序产品还包括一个或多个指令的一个或多个序列,一个或多个指令的一个或多个序列在由一个或多个处理器执行时使该装置执行以下操作中的一个或多个操作:
–将两个或更多个编码的景深视图中的第一景深视图用于朝向第一方向或者针对第一视点的视图合成,并且将两个或更多个编码的景深视图中的第二景深视图用于朝向第二方向或者针对第二视点的视图合成,其中第一方向不同于第二方向并且第一视点不同于第二视点;
–将两个或更多个编码的景深视图中的第一景深视图用于第一显示布置或者观察情况,并且将两个或更多个编码的景深视图中的第二景深视图用于第二显示布置或者观察情况,其中第一显示布置或者观察情况不同于第二显示布置或者观察情况。
根据第二十一示例,提供一种方法,该方法包括:
从比特流接收第一视点的第一景深视图,比特流不包括第一视点的纹理视图,
对第一景深视图进行解码,
基于解码的第一景深视图,对第一视点使用后向视图合成。

Claims (18)

1.一种方法,包括:
检查与纹理块被共同定位的景深块的可用性;
基于被共同定位的所述景深块的可用性,执行以下操作中的一个操作:
基于被共同定位的所述景深块的可用性来确定用于纹理块的预测方法,如果被共同定位的所述景深块可用则所述预测方法使用被共同定位的所述景深块,并且如果被共同定位的所述景深块不可用则所述预测方法不使用被共同定位的所述景深块;或者
基于在所述检查中在被共同定位的所述景深块内的被共同定位的景深采样不可用,基于一个或多个可用的景深采样来填充或内插被共同定位的所述景深采样,并且将被共同定位的所述景深块视为可用,并且确定所述预测方法使用被共同定位的所述景深块;
基于所述预测方法导出用于所述纹理块的预测块。
2.根据权利要求1所述的方法,还包括以下操作中的一个操作:
基于导出的所述预测块将所述纹理块编码到比特流,其中所述比特流被形成以包括一个或多个编码的纹理视图以及一个或多个编码的景深视图;
基于导出的所述预测块从比特流解码所述纹理块,所述比特流包括一个或多个编码的纹理视图以及一个或多个编码的景深视图。
3.根据权利要求2所述的方法,包括:
基于以下各项中的一项或多项来确定用于导出所述预测块的所述预测方法:
所述一个或多个编码的纹理视图以及所述一个或多个编码的景深视图,
所述一个或多个编码的纹理视图的视图间预测依赖性,
所述一个或多个编码的景深视图的视图间预测依赖性,
所述一个或多个编码的纹理视图以及所述一个或多个编码的景深视图的视图分量顺序,
具有与包括所述纹理块的纹理视图分量相同的采样或输出时间的景深视图分量的存在。
4.根据权利要求2所述的方法,包括:
基于以下各项中的一项或多项来确定被共同定位的所述景深块的所述可用性:
所述一个或多个编码的纹理视图以及所述一个或多个编码的景深视图,
所述一个或多个编码的纹理视图的视图间预测依赖性,
所述一个或多个编码的景深视图的视图间预测依赖性,
所述一个或多个编码的纹理视图以及所述一个或多个编码的景深视图的视图分量顺序,
具有与包括所述纹理块的纹理视图分量相同的采样或输出时间的景深视图分量的存在,
用于所述纹理块的纹理采样网格以及用于所述景深块的景深采样网格,
所述纹理采样网格的位置以及所述景深采样网格的位置,
由包含所述纹理块的纹理视图覆盖的第一空间区域以及由包含所述景深块的景深视图覆盖的第二空间区域,
在所述第二空间区域内由所述纹理块覆盖的位置和区域。
5.根据权利要求2至4中任一项所述的方法,包括:
接收一个或多个输入纹理视图以及一个或多个输入景深视图;
确定哪些输入纹理视图和输入景深视图要被编码;以及
对所述一个或多个编码的纹理视图以及所述一个或多个编码的景深视图的一个或多个指示进行编码。
6.根据权利要求2至4中任一项所述的方法,包括:
在比特流中接收所述一个或多个编码的纹理视图以及所述一个或多个编码的景深视图的一个或多个指示;以及
使用所述一个或多个指示来确定哪些输入纹理视图和输入景深视图已经被编码在所述比特流中。
7.一种装置,所述装置包括至少一个处理器和至少一个存储器,所述至少一个存储器包括计算机程序代码,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述装置:
检查与纹理块被共同定位的景深块的可用性;
基于被共同定位的所述景深块的可用性,执行以下操作中的一个操作:
基于被共同定位的所述景深块的可用性来确定用于纹理块的预测方法,如果被共同定位的所述景深块可用则所述预测方法使用被共同定位的所述景深块,并且如果被共同定位的所述景深块不可用则所述预测方法不使用被共同定位的所述景深块;或者
基于在所述检查中在被共同定位的所述景深块内的被共同定位的景深采样不可用,基于一个或多个可用的景深采样来填充或内插被共同定位的所述景深采样,并且将被共同定位的所述景深块视为可用,并且确定所述预测方法使用被共同定位的所述景深块;
基于所述预测方法导出用于所述纹理块的预测块。
8.根据权利要求7所述的装置,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时还使所述装置执行以下操作中的至少一个操作:
基于导出的所述预测块将所述纹理块编码到比特流,其中所述比特流被形成以包括一个或多个编码的纹理视图以及一个或多个编码的景深视图;
基于导出的所述预测块从比特流解码所述纹理块,所述比特流包括一个或多个编码的纹理视图以及一个或多个编码的景深视图。
9.根据权利要求8所述的装置,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时还使所述装置:
基于以下各项中的一项或多项来确定用于导出所述预测块的所述预测方法:
所述一个或多个编码的纹理视图以及所述一个或多个编码的景深视图,
所述一个或多个编码的纹理视图的视图间预测依赖性,
所述一个或多个编码的景深视图的视图间预测依赖性,
所述一个或多个编码的纹理视图以及所述一个或多个编码的景深视图的视图分量顺序。
10.根据权利要求8所述的装置,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时还使所述装置:
基于以下各项中的一项或多项来确定被共同定位的所述景深块的所述可用性:
所述一个或多个编码的纹理视图以及所述一个或多个编码的景深视图,
所述一个或多个编码的纹理视图的视图间预测依赖性,
所述一个或多个编码的景深视图的视图间预测依赖性,
所述一个或多个编码的纹理视图以及所述一个或多个编码的景深视图的视图分量顺序,
用于纹理块的纹理采样网格以及用于景深块的景深采样网格,
所述纹理采样网格的位置以及所述景深采样网格的位置,
由包含所述纹理块的纹理视图覆盖的空间区域以及由包含所述景深块的景深视图覆盖的空间区域。
11.根据权利要求8至10中任一项所述的装置,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时还使所述装置:
接收一个或多个输入纹理视图以及一个或多个输入景深视图;
确定哪些输入纹理视图和输入景深视图要被编码;以及
对所述一个或多个编码的纹理视图以及所述一个或多个编码的景深视图的一个或多个指示进行编码。
12.根据权利要求8至10中任一项所述的装置,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时还使所述装置:
在比特流中接收所述一个或多个编码的纹理视图以及所述一个或多个编码的景深视图的一个或多个指示;以及
使用所述一个或多个指示来确定哪些输入纹理视图和输入景深视图已经被编码在所述比特流中。
13.一种装置,包括:
用于检查与纹理块被共同定位的景深块的可用性的部件;
用于基于被共同定位的所述景深块的可用性来执行以下操作中的一个操作的部件:
基于被共同定位的所述景深块的可用性来确定用于纹理块的预测方法,如果被共同定位的所述景深块可用则所述预测方法使用被共同定位的所述景深块,并且如果被共同定位的所述景深块不可用则所述预测方法不使用被共同定位的所述景深块;或者
基于在所述检查中在被共同定位的所述景深块内的被共同定位的景深采样不可用,基于一个或多个可用的景深采样来填充或内插被共同定位的所述景深采样,并且将被共同定位的所述景深块视为可用,并且确定所述预测方法使用被共同定位的所述景深块;
用于基于所述预测方法导出用于所述纹理块的预测块的部件。
14.一种计算机程序产品,包括一个或多个指令的一个或多个序列,所述一个或多个指令的所述一个或多个序列在由一个或多个处理器执行时使装置至少执行以下操作:
检查与纹理块被共同定位的景深块的可用性;
基于被共同定位的所述景深块的可用性来执行以下操作中的一个操作:
基于被共同定位的所述景深块的可用性来确定用于纹理块的预测方法,如果被共同定位的所述景深块可用则所述预测方法使用被共同定位的所述景深块,并且如果被共同定位的所述景深块不可用则所述预测方法不使用被共同定位的所述景深块;或者
基于在所述检查中在被共同定位的所述景深块内的被共同定位的景深采样不可用,基于一个或多个可用的景深采样来填充或内插被共同定位的所述景深采样,并且将被共同定位的所述景深块视为可用,并且确定所述预测方法使用被共同定位的所述景深块;
基于所述预测方法导出用于所述纹理块的预测块。
15.根据权利要求14所述的计算机程序产品,还包括一个或多个指令的一个或多个序列,所述一个或多个指令的所述一个或多个序列在由一个或多个处理器执行时使所述装置执行以下操作中的至少一个操作:
基于导出的所述预测块将所述纹理块编码到比特流,其中所述比特流被形成以包括一个或多个编码的纹理视图以及一个或多个编码的景深视图;
基于导出的所述预测块从比特流解码所述纹理块,所述比特流包括一个或多个编码的纹理视图以及一个或多个编码的景深视图。
16.根据权利要求15所述的计算机程序产品,还包括一个或多个指令的一个或多个序列,所述一个或多个指令的所述一个或多个序列在由一个或多个处理器执行时使所述装置:
基于以下各项中的一项或多项来确定用于导出所述预测块的所述预测方法:
所述一个或多个编码的纹理视图以及所述一个或多个编码的景深视图,
所述一个或多个编码的纹理视图的视图间预测依赖性,
所述一个或多个编码的景深视图的视图间预测依赖性,
所述一个或多个编码的纹理视图以及所述一个或多个编码的景深视图的视图分量顺序。
17.根据权利要求15所述的计算机程序产品,还包括一个或多个指令的一个或多个序列,所述一个或多个指令的所述一个或多个序列在由一个或多个处理器执行时使所述装置:
基于以下各项中的一项或多项来确定被共同定位的所述景深块的所述可用性:
所述一个或多个编码的纹理视图以及所述一个或多个编码的景深视图,
所述一个或多个编码的纹理视图的视图间预测依赖性,
所述一个或多个编码的景深视图的视图间预测依赖性,
所述一个或多个编码的纹理视图以及所述一个或多个编码的景深视图的视图分量顺序,
用于纹理块的纹理采样网格以及用于景深块的景深采样网格,
所述纹理采样网格的位置以及所述景深采样网格的位置,
由包含所述纹理块的纹理视图覆盖的空间区域以及由包含所述景深块的景深视图覆盖的空间区域。
18.根据权利要求中任一项所述的计算机程序产品,还包括一个或多个指令的一个或多个序列,所述一个或多个指令的所述一个或多个序列在由一个或多个处理器执行时使所述装置:
接收一个或多个输入纹理视图以及一个或多个输入景深视图;
确定哪些输入纹理视图和输入景深视图要被编码;以及
对所述一个或多个编码的纹理视图以及所述一个或多个编码的景深视图的一个或多个指示进行编码。
CN201380060994.XA 2012-09-21 2013-09-18 用于视频编码的方法和装置 Active CN104813669B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261703735P 2012-09-21 2012-09-21
US61/703,735 2012-09-21
PCT/FI2013/050899 WO2014044908A1 (en) 2012-09-21 2013-09-18 Method and apparatus for video coding

Publications (2)

Publication Number Publication Date
CN104813669A true CN104813669A (zh) 2015-07-29
CN104813669B CN104813669B (zh) 2018-05-22

Family

ID=50340625

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380060994.XA Active CN104813669B (zh) 2012-09-21 2013-09-18 用于视频编码的方法和装置

Country Status (9)

Country Link
US (1) US9736454B2 (zh)
EP (1) EP2898689B1 (zh)
JP (1) JP6787667B2 (zh)
KR (1) KR101664758B1 (zh)
CN (1) CN104813669B (zh)
BR (1) BR112015006178B1 (zh)
SG (1) SG11201502194QA (zh)
WO (1) WO2014044908A1 (zh)
ZA (1) ZA201502578B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107851310A (zh) * 2015-08-14 2018-03-27 高通股份有限公司 节省存储器的经译码光错误校正
CN111050210A (zh) * 2018-10-12 2020-04-21 奥多比公司 经由置信度加权运动估计的视频修补
CN113170237A (zh) * 2018-09-28 2021-07-23 中兴通讯股份有限公司 视频编码与解码方法和设备
TWI800828B (zh) * 2020-05-11 2023-05-01 美商尼安蒂克公司 用於自單目影像產生立體影像資料之電腦實施方法及電腦可讀儲存媒體

Families Citing this family (114)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7983835B2 (en) 2004-11-03 2011-07-19 Lagassey Paul J Modular intelligent transportation system
US9058637B2 (en) 2011-05-05 2015-06-16 Arm Limited Method of and apparatus for encoding and decoding data
CN106658014B (zh) 2011-06-30 2021-01-08 三菱电机株式会社 图像编码装置及方法、图像解码装置及方法
JP5155462B2 (ja) * 2011-08-17 2013-03-06 株式会社スクウェア・エニックス・ホールディングス 動画配信サーバ、動画再生装置、制御方法、プログラム、及び記録媒体
US10158873B2 (en) 2011-11-30 2018-12-18 Qualcomm Incorporated Depth component removal for multiview video coding (MVC) compatible three-dimensional video coding (3DVC)
JP5307958B1 (ja) 2012-02-23 2013-10-02 株式会社スクウェア・エニックス・ホールディングス 動画配信サーバ、動画再生装置、制御方法、プログラム、及び記録媒体
KR20150003406A (ko) 2012-04-12 2015-01-08 가부시키가이샤 스퀘어.에닉스.홀딩스 동화상 배포 서버, 동화상 재생 장치, 제어 방법, 기록 매체, 및 동화상 배포 시스템
US10230956B2 (en) 2012-09-26 2019-03-12 Integrated Device Technology, Inc. Apparatuses and methods for optimizing rate-distortion of syntax elements
US9992490B2 (en) 2012-09-26 2018-06-05 Sony Corporation Video parameter set (VPS) syntax re-ordering for easy access of extension parameters
WO2014053157A1 (en) * 2012-10-01 2014-04-10 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for determining a depth of a target object
US9781413B2 (en) * 2012-10-02 2017-10-03 Qualcomm Incorporated Signaling of layer identifiers for operation points
US9544612B2 (en) * 2012-10-04 2017-01-10 Intel Corporation Prediction parameter inheritance for 3D video coding
WO2014058207A1 (ko) * 2012-10-08 2014-04-17 엘지전자 주식회사 다시점 비디오 신호의 인코딩 방법, 디코딩 방법 및 이에 대한 장치
JP2014082541A (ja) * 2012-10-12 2014-05-08 National Institute Of Information & Communication Technology 互いに類似した情報を含む複数画像のデータサイズを低減する方法、プログラムおよび装置
US10277907B2 (en) 2012-10-25 2019-04-30 Integrated Device Technology, Inc. Rate-distortion optimizers and optimization techniques including joint optimization of multiple color components
US10136143B2 (en) * 2012-12-07 2018-11-20 Qualcomm Incorporated Advanced residual prediction in scalable and multi-view video coding
US10021388B2 (en) 2012-12-26 2018-07-10 Electronics And Telecommunications Research Institute Video encoding and decoding method and apparatus using the same
CN107318027B (zh) * 2012-12-27 2020-08-28 日本电信电话株式会社 图像编码/解码方法、图像编码/解码装置、以及图像编码/解码程序
US9648299B2 (en) 2013-01-04 2017-05-09 Qualcomm Incorporated Indication of presence of texture and depth views in tracks for multiview coding plus depth
JP6150277B2 (ja) * 2013-01-07 2017-06-21 国立研究開発法人情報通信研究機構 立体映像符号化装置、立体映像復号化装置、立体映像符号化方法、立体映像復号化方法、立体映像符号化プログラム及び立体映像復号化プログラム
US9177415B2 (en) * 2013-01-30 2015-11-03 Arm Limited Methods of and apparatus for encoding and decoding data
US20140219331A1 (en) * 2013-02-06 2014-08-07 Magnum Semiconductor, Inc. Apparatuses and methods for performing joint rate-distortion optimization of prediction mode
WO2014156202A1 (ja) * 2013-03-29 2014-10-02 株式会社ニコン 画像処理装置、撮像装置および画像処理プログラム
CN105122808B (zh) * 2013-04-10 2018-08-03 联发科技股份有限公司 三维或多视图视频编码或解码的方法及装置
WO2014166119A1 (en) * 2013-04-12 2014-10-16 Mediatek Inc. Stereo compatibility high level syntax
US9462283B2 (en) * 2013-04-18 2016-10-04 Spotlight Technologies Ltd. Efficient compression of Bayer images
ES2652132T3 (es) * 2013-07-19 2018-01-31 Huawei Technologies Co., Ltd. Método y aparato para codificar y descodificar un bloque de textura mediante el uso de partición de bloque basada en la profundidad
US10244253B2 (en) * 2013-09-13 2019-03-26 Qualcomm Incorporated Video coding techniques using asymmetric motion partitioning
US9648333B2 (en) * 2013-10-11 2017-05-09 Vid Scale, Inc. High level syntax for HEVC extensions
US10284858B2 (en) * 2013-10-15 2019-05-07 Qualcomm Incorporated Support of multi-mode extraction for multi-layer video codecs
KR101761523B1 (ko) * 2013-10-17 2017-07-25 미디어텍 인크. 멀티뷰 및 3차원 비디오 코딩시의 모션 정보 예측 및 상속 방법
US9137285B2 (en) 2013-10-21 2015-09-15 Broadcom Corporation Adaptive audio video (AV) stream processing
US10203399B2 (en) 2013-11-12 2019-02-12 Big Sky Financial Corporation Methods and apparatus for array based LiDAR systems with reduced interference
US9438925B2 (en) * 2013-12-31 2016-09-06 Vixs Systems, Inc. Video encoder with block merging and methods for use therewith
US9948950B2 (en) * 2014-01-03 2018-04-17 Qualcomm Incorporated Disparity vector and/or advanced residual prediction for video coding
WO2015103221A1 (en) 2014-01-03 2015-07-09 Arris Enterprises, Inc. Conditionally parsed extension syntax for hevc extension processing
US9826232B2 (en) * 2014-01-08 2017-11-21 Qualcomm Incorporated Support of non-HEVC base layer in HEVC multi-layer extensions
CA2942293A1 (en) * 2014-03-14 2015-09-17 Samsung Electronics Co., Ltd. Multi-layer video encoding method and multi-layer video decoding method using depth block
US10250895B2 (en) * 2014-03-14 2019-04-02 Sharp Kabushiki Kaisha DPB capacity limits
WO2015143090A1 (en) 2014-03-18 2015-09-24 Arris Enterprises, Inc. Scalable video coding using reference and scaled reference layer offsets
US9769498B2 (en) 2014-03-28 2017-09-19 University-Industry Cooperation Group Of Kyung Hee University Method and apparatus for encoding of video using depth information
US9360554B2 (en) 2014-04-11 2016-06-07 Facet Technology Corp. Methods and apparatus for object detection and identification in a multiple detector lidar array
WO2015168581A1 (en) * 2014-05-01 2015-11-05 Arris Enterprises, Inc. Reference layer and scaled reference layer offsets for scalable video coding
US10785492B2 (en) 2014-05-30 2020-09-22 Arris Enterprises Llc On reference layer and scaled reference layer offset parameters for inter-layer prediction in scalable video coding
KR101663668B1 (ko) * 2014-06-27 2016-10-07 삼성전자주식회사 영상 패딩영역의 비디오 복호화 및 부호화 장치 및 방법
KR101632992B1 (ko) * 2014-07-03 2016-06-30 성균관대학교산학협력단 깊이 와핑에 기반한 폐색 컬링을 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체
US9590952B2 (en) 2014-09-05 2017-03-07 Microsoft Technology Licensing, Llc Lossy data stream decoder
FR3026261A1 (fr) * 2014-09-22 2016-03-25 Orange Procede de codage et de decodage d'images integrales, dispositif de codage et de decodage d'images integrales et programmes d'ordinateur correspondants
US10283091B2 (en) * 2014-10-13 2019-05-07 Microsoft Technology Licensing, Llc Buffer optimization
EP3200460A4 (en) * 2014-10-16 2017-08-23 Samsung Electronics Co., Ltd Method and device for processing encoded video data, and method and device for generating encoded video data
CN104506871B (zh) * 2014-11-23 2017-06-06 北京工业大学 一种基于hevc的3d视频快速编码方法
KR101844032B1 (ko) * 2014-12-26 2018-05-14 주식회사 케이티 파노라믹 비디오 영상의 관심 영역의 영상 전송 방법, 장치 및 디바이스
GB2534136A (en) * 2015-01-12 2016-07-20 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US9948920B2 (en) 2015-02-27 2018-04-17 Qualcomm Incorporated Systems and methods for error correction in structured light
US10036801B2 (en) 2015-03-05 2018-07-31 Big Sky Financial Corporation Methods and apparatus for increased precision and improved range in a multiple detector LiDAR array
US10068338B2 (en) 2015-03-12 2018-09-04 Qualcomm Incorporated Active sensing spatial resolution improvement through multiple receivers and code reuse
US11030332B1 (en) * 2015-04-13 2021-06-08 Wells Fargo Bank, N.A. Database controlled web service type architecture
US9942552B2 (en) * 2015-06-12 2018-04-10 Intel Corporation Low bitrate video coding
US10791259B2 (en) * 2015-08-04 2020-09-29 Google Llc Devices and methods for repurposing IR transmitters
US9846943B2 (en) 2015-08-31 2017-12-19 Qualcomm Incorporated Code domain power control for structured light
US10096130B2 (en) 2015-09-22 2018-10-09 Facebook, Inc. Systems and methods for content streaming
US9858706B2 (en) * 2015-09-22 2018-01-02 Facebook, Inc. Systems and methods for content streaming
US10516891B2 (en) * 2015-11-20 2019-12-24 Intel Corporation Method and system of reference frame caching for video coding
US9866816B2 (en) 2016-03-03 2018-01-09 4D Intellectual Properties, Llc Methods and apparatus for an active pulsed 4D camera for image acquisition and analysis
US10560718B2 (en) * 2016-05-13 2020-02-11 Qualcomm Incorporated Merge candidates for motion vector prediction for video coding
ES2737845B2 (es) * 2016-07-05 2021-05-19 Kt Corp Metodo y aparato para procesar senal de video
JP7054677B2 (ja) * 2016-08-10 2022-04-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ カメラワーク生成方法及び映像処理装置
US10249027B2 (en) 2016-09-22 2019-04-02 Sony Corporation Device and method for P-phase data compression
KR20180056313A (ko) 2016-11-18 2018-05-28 삼성전자주식회사 텍스처를 처리하는 방법 및 장치
US10869049B2 (en) 2016-11-29 2020-12-15 Research & Business Foundation Sungyunwan University Image encoding/decoding method and device, and recording medium in which bitstream is stored
CN116170584A (zh) * 2017-01-16 2023-05-26 世宗大学校产学协力团 影像编码/解码方法
US20200120359A1 (en) * 2017-04-11 2020-04-16 Vid Scale, Inc. 360-degree video coding using face continuities
AU2018254570B2 (en) 2017-04-21 2021-08-05 Zenimax Media Inc. Systems and methods for deferred post-processes in video encoding
KR102302643B1 (ko) 2017-04-21 2021-09-14 제니맥스 미디어 인크. 모션 벡터들 예측에 의한 플레이어 입력 모션 보상을 위한 시스템들 및 방법들
GB2595029B (en) 2017-04-21 2022-02-09 Zenimax Media Inc Systems and methods for rendering & pre-encoded load estimation based encoder hinting
CA3059740A1 (en) 2017-04-21 2018-10-25 Zenimax Media Inc. Systems and methods for game-generated motion vectors
KR102326456B1 (ko) 2017-04-21 2021-11-12 제니맥스 미디어 인크. 인코더-가이드 적응형-품질 렌더링을 위한 시스템들 및 방법들
EP3635957B1 (en) * 2017-06-29 2024-05-22 Huawei Technologies Co., Ltd. Apparatuses and methods for encoding and decoding a video coding block of a multiview video signal
US11115666B2 (en) 2017-08-03 2021-09-07 At&T Intellectual Property I, L.P. Semantic video encoding
US11418816B2 (en) 2017-09-20 2022-08-16 Vid Scale, Inc. Handling face discontinuities in 360-degree video coding
KR102476204B1 (ko) 2017-10-19 2022-12-08 삼성전자주식회사 멀티 코덱 인코더 및 이를 포함하는 멀티 코덱 인코딩 시스템
EP3720129A4 (en) * 2017-11-29 2021-08-25 Electronics and Telecommunications Research Institute METHOD AND DEVICE FOR CODING / DECODING IMAGES USING LOOP FILTERING
US10404980B1 (en) * 2018-07-10 2019-09-03 Tencent America LLC Intra prediction with wide angle mode in video coding
US11677922B2 (en) * 2018-08-12 2023-06-13 Lg Electronics Inc. Apparatus for transmitting a video, a method for transmitting a video, an apparatus for receiving a video, and a method for receiving a video
WO2020050577A1 (ko) * 2018-09-07 2020-03-12 엘지전자 주식회사 비디오 송신 방법, 비디오 송신 장치, 비디오 수신 방법 및 비디오 수신 장치
US11107230B2 (en) * 2018-09-14 2021-08-31 Toyota Research Institute, Inc. Systems and methods for depth estimation using monocular images
US11412260B2 (en) * 2018-10-29 2022-08-09 Google Llc Geometric transforms for image compression
US11290734B2 (en) * 2019-01-02 2022-03-29 Tencent America LLC Adaptive picture resolution rescaling for inter-prediction and display
WO2020171647A1 (ko) * 2019-02-21 2020-08-27 엘지전자 주식회사 영상 코딩 시스템에서 인트라 예측을 사용하는 영상 디코딩 방법 및 그 장치
CN113557744A (zh) * 2019-03-11 2021-10-26 华为技术有限公司 视频译码中的分块级滤波
EP3928522A4 (en) 2019-03-12 2022-04-06 Huawei Technologies Co., Ltd. DISTRIBUTED DECODING REFRESH DESIGN IN VIDEO CODING
WO2020182207A1 (en) * 2019-03-13 2020-09-17 Beijing Bytedance Network Technology Co., Ltd. Partitions on sub-block transform mode
CN110012310B (zh) * 2019-03-28 2020-09-25 北京大学深圳研究生院 一种基于自由视点的编解码方法及装置
WO2020242027A1 (ko) * 2019-05-24 2020-12-03 엘지전자 주식회사 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
US11432009B2 (en) * 2019-07-02 2022-08-30 Intel Corporation Techniques for encoding and decoding immersive video
US11303935B2 (en) * 2019-07-10 2022-04-12 Qualcomm Incorporated Deriving coding system operational configuration
WO2021034338A1 (en) * 2019-08-16 2021-02-25 Google Llc Face-based frame packing for video calls
US10964089B1 (en) * 2019-10-07 2021-03-30 Sony Corporation Method and apparatus for coding view-dependent texture attributes of points in a 3D point cloud
KR20220085819A (ko) * 2019-11-27 2022-06-22 엘지전자 주식회사 영상 디코딩 방법 및 그 장치
WO2021107662A1 (ko) * 2019-11-27 2021-06-03 엘지전자 주식회사 영상 디코딩 방법 및 그 장치
WO2021110568A1 (en) * 2019-12-05 2021-06-10 Interdigital Vc Holdings France, Sas Intra sub partitions for video encoding and decoding combined with multiple transform selection, matrix weighted intra prediction or multi-reference-line intra prediction
CN114846797A (zh) * 2019-12-19 2022-08-02 交互数字Vc控股公司 编码和解码方法及装置
JP7568350B2 (ja) * 2019-12-26 2024-10-16 バイトダンス インコーポレイテッド ビデオコーディングにおける復号パラメータセット
JP7441316B2 (ja) * 2019-12-30 2024-02-29 エルジー エレクトロニクス インコーポレイティド Ols dpbパラメータインデックスを含む映像情報ベースの映像デコーディング方法及びその装置
FR3107383A1 (fr) * 2020-02-14 2021-08-20 Orange Procédé et dispositif de traitement de données de vidéo multi-vues
US11425324B2 (en) * 2020-06-22 2022-08-23 Samsung Electronics Co., Ltd. Time-of-flight down-up sampling using a compressed guide
US11995156B2 (en) 2021-02-03 2024-05-28 Samsung Electronics Co., Ltd. Confidence aided upsampling of categorical maps
CN112817681B (zh) * 2021-02-09 2023-03-24 杭州海康威视系统技术有限公司 一种数据显示方法、装置、设备及机器可读存储介质
WO2023194109A1 (en) * 2022-04-05 2023-10-12 Interdigital Ce Patent Holdings, Sas Depth-color alignment with assistance metadata for transcoding of volumetric video
WO2023227582A1 (en) * 2022-05-24 2023-11-30 Interdigital Ce Patent Holdings, Sas Decoder side depth and color alignment with the assistance of metadata for the transcoding of volumetric video
US20230386086A1 (en) * 2022-05-31 2023-11-30 Microsoft Technology Licensing, Llc Video compression
KR102550216B1 (ko) * 2022-07-20 2023-06-29 남세엔터테인먼트 유한회사 영상 처리 장치, 서버, 영상 처리 시스템, 영상 처리 방법
EP4354865A1 (en) * 2022-10-12 2024-04-17 Comcast Cable Communications, LLC Edge feature-assisted processing of multiview images
CN118445691B (zh) * 2024-07-08 2024-10-01 西南交通大学 一种构件磨损预测方法、系统及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110222602A1 (en) * 2008-11-10 2011-09-15 Lg Electronics Inc. Method and device for processing a video signal using inter-view prediction
CN102265617A (zh) * 2008-12-26 2011-11-30 日本胜利株式会社 图像编码装置、图像编码方法及其程序、以及图像解码装置、图像解码方法及其程序
CN102326390A (zh) * 2009-02-19 2012-01-18 汤姆逊许可证公司 3d视频格式

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03162085A (ja) * 1989-11-20 1991-07-12 Matsushita Electric Ind Co Ltd 画像符号化/復号化装置
CN101785317B (zh) 2007-08-15 2013-10-16 汤姆逊许可证公司 使用区域视差向量的多视角编码视频中的运动跳过模式的方法和装置
EP2269378A2 (en) 2008-04-25 2011-01-05 Thomson Licensing Multi-view video coding with disparity estimation based on depth information
US9973739B2 (en) 2008-10-17 2018-05-15 Nokia Technologies Oy Sharing of motion vector in 3D video coding
JP4821846B2 (ja) * 2008-12-26 2011-11-24 日本ビクター株式会社 画像符号化装置、画像符号化方法およびそのプログラム
US20120050475A1 (en) 2009-05-01 2012-03-01 Dong Tian Reference picture lists for 3dv
US9883161B2 (en) * 2010-09-14 2018-01-30 Thomson Licensing Compression methods and apparatus for occlusion data
JP2012100019A (ja) * 2010-11-01 2012-05-24 Sharp Corp 多視点画像符号化装置及び多視点画像復号装置
KR101910192B1 (ko) 2010-11-12 2018-10-22 한국전자통신연구원 3dtv 서비스에서의 영상 압축 규격 결정 방법 및 장치
US9565449B2 (en) * 2011-03-10 2017-02-07 Qualcomm Incorporated Coding multiview video plus depth content
US9485503B2 (en) 2011-11-18 2016-11-01 Qualcomm Incorporated Inside view motion prediction among texture and depth view components
WO2013107931A1 (en) * 2012-01-19 2013-07-25 Nokia Corporation An apparatus, a method and a computer program for video coding and decoding
WO2013176485A1 (ko) * 2012-05-22 2013-11-28 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
JP6046246B2 (ja) * 2012-07-02 2016-12-14 クゥアルコム・インコーポレイテッドQualcomm Incorporated 3dビデオコーディングのための深度マップのイントラコーディング

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110222602A1 (en) * 2008-11-10 2011-09-15 Lg Electronics Inc. Method and device for processing a video signal using inter-view prediction
CN102265617A (zh) * 2008-12-26 2011-11-30 日本胜利株式会社 图像编码装置、图像编码方法及其程序、以及图像解码装置、图像解码方法及其程序
CN102326390A (zh) * 2009-02-19 2012-01-18 汤姆逊许可证公司 3d视频格式

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107851310A (zh) * 2015-08-14 2018-03-27 高通股份有限公司 节省存储器的经译码光错误校正
CN107851310B (zh) * 2015-08-14 2021-08-10 高通股份有限公司 节省存储器的经译码光错误校正
CN113170237A (zh) * 2018-09-28 2021-07-23 中兴通讯股份有限公司 视频编码与解码方法和设备
CN111050210A (zh) * 2018-10-12 2020-04-21 奥多比公司 经由置信度加权运动估计的视频修补
CN111050210B (zh) * 2018-10-12 2023-01-17 奥多比公司 执行操作的方法、视频处理系统及非瞬态计算机可读介质
TWI800828B (zh) * 2020-05-11 2023-05-01 美商尼安蒂克公司 用於自單目影像產生立體影像資料之電腦實施方法及電腦可讀儲存媒體

Also Published As

Publication number Publication date
JP6787667B2 (ja) 2020-11-18
EP2898689A1 (en) 2015-07-29
CN104813669B (zh) 2018-05-22
JP2015535405A (ja) 2015-12-10
KR20150058457A (ko) 2015-05-28
WO2014044908A1 (en) 2014-03-27
KR101664758B1 (ko) 2016-10-10
EP2898689A4 (en) 2016-07-13
US9736454B2 (en) 2017-08-15
SG11201502194QA (en) 2015-04-29
ZA201502578B (en) 2017-01-25
EP2898689B1 (en) 2020-05-06
BR112015006178A2 (pt) 2017-07-04
US20140168362A1 (en) 2014-06-19
BR112015006178B1 (pt) 2022-11-16

Similar Documents

Publication Publication Date Title
CN104813669B (zh) 用于视频编码的方法和装置
CN104604236B (zh) 用于视频编码的方法和装置
CN105556965B (zh) 用于视频编码和解码的方法、装置和计算机程序产品
CN104521238B (zh) 用于3d视频编码的装置和方法
CN104205819B (zh) 用于视频编码的方法和装置
US10681378B2 (en) Method for encoding and decoding video including plurality of layers
CN104641642A (zh) 用于视频编码的方法和装置
CN105531999B (zh) 涉及用于信号传输运动信息的语法的视频编码方法及装置
CN106105220B (zh) 用于视频编码和解码的方法和装置
TWI539796B (zh) 視差向量推導
TWI533679B (zh) 在視訊寫碼中之參數集
CN104380749A (zh) 用于视频编码的方法和装置
CN104396244A (zh) 用于视频编码和解码的装置、方法和计算机程序
CN108886620A (zh) 用于视频编码和解码的装置、方法及计算机程序
CN104604223A (zh) 用于视频编码和解码的装置、方法和计算机程序
CN110419219A (zh) 用于视频编码和解码的装置、方法和计算机程序
CN105027567A (zh) 用于视频编码和解码的方法和装置
TW201517597A (zh) 用於視訊編碼及解碼之方法及裝置
CN105027569A (zh) 用于视频编码和解码的装置、方法和计算机程序
TW201448576A (zh) 視訊寫碼中之視差向量改進
GB2516223A (en) Method and apparatus for video coding and decoding

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant