发明内容
由于与现有的平面图像不同,立体图像包含左右图像对,因此可以以多种方式来构建所要编码的帧(编码帧)。例如,可以通过将左右图像对进行结合来构建编码帧。有多种方式来将左右图像进行结合。有多种方法可通过左右图像对来设置两个或多个编码帧。由于存在多种方法可通过使用左右图像对来构建编码帧,因此对图像进行编码会产生图像数据和元数据的各种值、类型和特征。但是,前述的文件格式不适于系统地构建和存储各种类型的信息和衍生数据。
因此,本发明提供一种方法,用于构建文件格式或文件,该文件格式或文件可有效并系统地存储立体图像编码数据。
立体图像编码数据是通过对由单独的左右照相机对所获得的图像进行编码而获得的。左右照相机的特征,例如左右照相机的距离和帧率的差异,会对所再现的三维图像的图像质量或三维效果有所影响。另外,该立体图像编码数据可通过使用专门设计的显示设备来再现或以多种方式显示。显示设备或显示方法的特征都对三维图像的图像质量或三维效果有所影响。因此,为了再现最适于显示设备的三维图像,在立体图像编码数据的图像数据中必须包含有关拍照的照相机和/或显示设备的信息以及有关显示方法的信息。使用现有的文件格式很难满足这一需求。
因此,本发明还提供一种方法,用于构建立体图像编码数据的文件格式或文件,该方法能够通过反映拍照的照相机和/或显示设备或显示方法的特征来显示逼真的三维图像。
另一方面,在建立了国际多媒体标准的运动图像专家组(MPGE)中,定义了国际标准组织(ISO)基本媒体文件格式。在联合图像专家组(JPEG)2000的第12部分和ISO/IEC 15444-12中所公开的ISO基本媒体文件格式提供了用于以后应用的基本文件格式。另外,在MPEG中,定义了适用于相应应用目的的多媒体应用文件格式(MAF)。在MAF与ISO基本媒体文件格式相兼容的情况下,可以获得各种使用了立体图像的业务。
因此,本发明还提供一种方法,用于构建与ISO基本媒体文件格式相兼容的立体图像编码数据文件及其格式。
根据本发明的一方面,提供一种立体图像编码数据文件的格式,该格式包括:文件类型声明单元,用于指示所述文件是否是立体图像;元数据单元,包括一个或多个轨道(track)容器,该轨道容器用于容纳立体图像编码数据的元数据;和图像数据单元,包括一个或多个立体图像数据容器,该立体图像数据容器用于容纳立体图像编码数据的图像信息。
在本发明的上述方面中,所述文件类型声明单元可以包括第一信息和第二信息,该第一信息用于指示该文件是否与立体图像有关,该第二信息用于指示构成该文件的元素流(ES)的数量。在这种情况下,轨道容器的数量和立体图像数据容器的数量可以与该第二信息相同。
此外,所述轨道容器可以包括处理器(handler)参考容器和媒体信息容器,该处理器参考容器用于指示相应ES的类型,该媒体信息容器用于容纳相应ES的元数据。
在这种情况下,所述媒体信息容器可以包括立体报头容器,该用于容纳可指示编码帧尺寸的信息。此外,所述立体报头容器可以包括容器,该容器用于容纳可指示用于获取立体图像的左右照相机之间距离的信息,和/或容器,该容器用于容纳可指示用于显示立体图像的栅栏式显示设备的栅栏式样的信息和/或可指示栅栏式样的间隔的信息。
此外,媒体信息容器可包括采样描述容器,该容器用于对相应ES的描述进行定义。在这种情况下,该采样描述容器可以包括ES类型信息,该ES类型信息用于指示构建编码帧的方法。
例如,当所述文件类型声明单元的第二信息表明ES的数量为1时,由ES类型信息所指示的编码帧可以为第一类型到第五类型中的一种类型。在第一种类型中,左图像和右图像在时间轴的方向上以帧为单元交替排列。在第二种类型中,左图像和右图像并排排列。在第三种类型中,左图像和右图像按从上到下的方式排列。在第四种类型中,左图像和右图像的垂直像素线交替排列。在第五种类型中,左图像和右图像的水平像素线交替排列。在这种情况下,ES类型信息可以指示第二类型到第五类型中的一种类型,且采样描述容器可以进一步包括有关构成编码帧的左图像和右图像的帧率的信息和/或视差信息。
在此,有关帧率的信息可以包括有关左图像的帧率是否与右图像的帧率相同的信息以及在左图像和右图像的帧率不同的情况下,用于当显示立体图像时,将左图像和右图像的帧率相互匹配的信息。视差信息可以包括有关左图像和右图像间是否存在视差的信息以及在左图像和右图像间存在视差的情况下,用于修正该视差的信息。
此外,当文件类型声明单元的第二信息表明ES的数量为2时,由ES类型信息所指示的编码帧可以是左图像、右图像、参考图像和差分图像中的一个。
如下文所述,由于根据本发明实施例的文件格式具有分层结构以及能够系统地存储立体图像特殊元数据的结构,因此能够有效地构建和存储立体图像编码数据。此外,由于根据本发明实施例的文件格式具有能够包括关于拍摄照相机和/或用于获得立体图像的显示设备的特征的信息的结构,因此能够通过使用所存储和编码的立体图像数据来显示逼真的三维图像。此外,根据本发明实施例的用于存储立体图像编码数据的文件格式能够与作为国际标准的ISO基本媒体文件格式相兼容。
具体实施方式
在下文中,将结合附图详细地描述本发明的示例实施例。以下实施例应理解为仅用于描述,而不是用于进行限制。虽然通过特定术语对本发明实施例进行描述,但是这些描述仅是为了进行表述,应当理解,可以进行改变和变化而不偏离本发明的精神。类似地,虽然本发明是参考所附附图进行特定表示和描述的,但是本领域技术人员应当理解,可以对其进行形式和细节上的各种改变,而不偏离本发明的精神和范围。
在对本发明实施例进行描述之前,将描述对根据本发明实施例的立体图像编码数据文件格式进行定义所考虑的因素。这些考虑因素基于立体图像不同于平面图像的特点。
第一个考虑因素涉及使用左右图像构建编码帧的方法。构建编码帧的方法对立体图像编码数据的结构具有直接影响。例如,用于构建图像编码数据的元素流(ES)的数量取决于构建编码帧的方法。即使是在ES数量相同的情况下,也有多种构建编码帧的方法。
首先,可使用左右图像来生成编码帧。在下文中,通过使用左右图像而生成的帧称作“整体合成图像”或“合成图像”。通过对整体合成图像进行编码而生成的立体图像数据是使用ES进行构建的。有多种方法可使用左右图像对来构建整体合成图像。图2至图4示出了构建整体合成图像的示例方法。
在一种构建整体合成图像的方法中,左右图像并排排列。图2表示了这种方法。参考图2,在编码帧,例如整体合成图像22中,左右图像并排排列。可替换地,在编码帧,例如整体合成图像24中,左右图像按从上到下的方式排列。在这种情况下,组成整体合成图像22或24的左右图像的位置可以互换。
在另一种构建整体合成图像的方法中,将左右图像以区为单元插入。图3表示了这种排列方式。参考图3,整体合成图像32可以是左图像的垂直像素线与右图像的垂直像素线相互交替排列的帧,或是左图像的水平像素线与右图像的水平像素线相互交替排列的帧。构成整体合成图像32或34的左右图像的像素线的位置可以互换。
而在另一种构建整体合成图像的方法中,左右图像以帧为单元顺序排列。图4表示了这种排列方式。参考图4,整体合成图像40是通过在时间轴的方向,以帧为单元交替排列左右图像来构建的。在该整体合成图像40的情况中,左图像的像素和右图像的像素不在一个编码帧中同时存在。
下面参考图5和6,将描述通过使用左右图像对来生成两个编码帧的情况。在两个编码帧的情况中,使用两个ES来构建通过对两个帧进行编码所产生的图像数据。
参考图5,如图所示,左右图像52a和52b是编码帧。当对帧52a和52b进行编码时,使用两个元素流ES1和ES2来构建图像编码数据,这两个元素流表示各自的图像。另一方面,参考图6,可以使用参考图像54a和差分图像54b来构建编码帧。在这种情况下,左右图像中的一个是要作为参考图像54a的编码帧。利用与参考图像的差分(差异)构建的差分图像54b是另一个编码帧。
图7表示了有三个编码帧的情况。参考图7,连续的(n+1)/2个帧中的左右图像中的一个是作为参考图像62的编码帧。除该参考图像以外的其他图像是作为差分图像62a至62n的编码帧。当对编码帧进行编码时,使用(n+1)个元素流ES1至ES(n+1)来构建图像编码数据。
可以使用现有的图像编码方法来对前述一个或多个编码帧或编码帧序列进行编码。现有的图像编码方法包括静态图像(例如,JPEG)编码方法,或对运动图片(例如,MPEG-1、MPEG-2、MPEG-4、H.264/AVC、VC-1等)进行编码的方法。之后,通过使用现有图像编码方法所编码的图像数据可直接发送至支持该编码方法的显示设备进行再现。可替换地,可在存储介质中存储该图像数据,并由显示设备再现。
如上所述,在立体图像的情况中,有多种方法来构建编码帧。可以使用两个或多个ES来构建立体图像编码数据。即使是在有相同数量ES的情况中,也有多种方法来构建编码帧。因此,衍生数据或再现所述图像数据所需的数据可以是变化的。用于存储该立体图像编码数据的文件格式应当适于存储构建编码帧的方法和该方法的衍生数据。
对存储立体图像编码数据文件格式进行定义的第二个考虑因素是使用以预定间隔相互分开的左右照相机,以获得立体图像。这是由于必须向显示设备提供左右照相机的信息,以有效地再现和/或提高所再现的三维图像的图像质量或三维效果。因此,立体图像编码数据可以额外地包括左右照相机的信息。考虑到该额外包括的有关左右照相机的信息,因此必须定义用于存储立体图像编码数据的文件格式。
有关左右照相机的信息具有多种类型。例如,该多种类型的信息包括有关左右照相机之间的距离的信息;使用左右照相机所采集的左右图像每秒的帧数(帧/秒,fps),即帧率;有关左右图像同步的信息和/或有关左右照相机类型的信息。此外,在一些情况下,该多种类型的信息还可以包括左右图像间的视差信息。
对存储立体图像编码数据的文件格式进行定义的第三个考虑因素是使用与现有显示设备不同的专门显示设备来再现立体图像(例如,栅栏式显示设备)。这是由于所再现的图像数据必须适于显示设备,以通过使用专门的显示设备来再现三维图像。此外,由于有关显示设备特征的信息会对三维图像的图像质量或三维效果产生影响,因此必须考虑该信息或额外所需的信息,以对立体图像编码数据文件的格式进行定义。
有关显示设备的信息具有多种类型。例如,在再现设备是栅栏式显示设备的情况下,该各种类型的信息包括有关最适于再现立体图像编码数据的栅栏式样的信息。如上所述,该栅栏式样是以垂直或水平线的方式位于栅栏极化板上的。微小的(minute)线形会对三维图像的图像质量产生影响。此外,有关栅栏式样的间隔(该间隔基于栅栏式样在显示设备上的位置)的信息(有关该间隔是否不论其位置都是常量、或者该间隔取决于其位置的信息)也会对三维图像的图像质量产生影响。
图8和图9是结构图,表示根据本发明实施例的用于存储立体图像编码数据的文件格式。图9是表示图8的立体轨道容器210的结构的结构图。另外,图10表示图8和图9所示的文件格式的分层结构。参考图8至图10可知,根据本发明实施例的文件格式是基于ISO基本媒体文件格式的。
首先参考图8和图10,根据本发明实施例的文件格式主要包括文件类型声明单元(ftyp)100、元数据单元(moov)200和图像数据单元(mdat)300。
文件类型声明单元100用于表示为立体图像使用了相应的文件。在为立体图像使用了文件的情况下,文件类型声明单元100可以包括有关组成该立体图像的ES的数量的信息。如图8和图10所示,文件类型声明单元100是ftyp容器的子分类,其包括一框,该框用于包括指示该文件是否是立体类型的信息和/或有关组成该立体图像的ES的数量的信息。该框可以是立体类型框(ssty)110,如图8和图10所示。这样,立体图像解码器就能够识别出该文件是否与立体图像有关和/或识别出组成该立体图像的ES的数量。这在下面进行简述。
ssty(Stereoscopic Type)
-Box Type:‘ssty’
-Container:File Type Box(‘ftyp’)
-Mandatory:Yes
-Quantity:Exactly one
通过前面的叙述可知,在立体图像编码数据的情况下,ssty框110是必不可少的部分。在ftyp容器中仅有一个ssty框。图11表示了ssty框110的语法示例。在图11中,元素‘Stereoscopic_Type’指示文件是否是立体文件。例如,该元素的值可按表1进行分配。另外,元素‘StereoScopic_ES_Count’指示组成该立体文件的ES的数量。
表1
[表1]
值 |
内容 |
0 |
文件不是立体数据文件 |
1 |
文件是立体数据文件 |
参考图8和图10,作为元数据单元200的moov容器包括一个或多个轨道容器210或220,该轨道容器210或220用于存储文件的元数据。在文件是立体图像文件的情况下,该moov容器包括与组成该文件的ES的数量相对应的立体轨道容器210,例如,用于元素流ES1的立体轨道容器轨道1(立体),用于元素流ES2的立体轨道容器轨道2(立体),……和立体轨道容器轨道(n)(立体)(此处,n为大于或等于一的整数)。另一方面,在文件不是立体图像文件的情况下,moov容器包括非立体的轨道容器220,例如,用于平面图像和音频或文本文件的元数据的轨道容器轨道(非立体)。由于本发明涉及立体图像,因此在下文中,将参考图9和图10对立体轨道容器210的结构进行描述。
立体轨道容器210包括媒体容器(媒体)211。将该媒体容器211定义为其包括有关存储在容器(该容器被称之为轨道)的媒体流的信息。该媒体容器211包括处理器参考框(hdlr)212和媒体信息容器(minf)(未示出)。该媒体信息容器(minf)可以是用于包括有关ES所表示的图像的尺寸的信息的框(该框可以是立体报头框(sshd)213,其名称可变)和采样表框(stbl)216。
所述处理器参考框212包括有关ES流类型定义的信息。在ES是通过对立体图像进行编码所得数据的情况下,可以例如将处理器参考框212中所包含的信息值表示为“ssvi”。该处理器参考框212被表示如下。
hdlr(Handler Reference)
-Box Type:‘hdlr’
-Container:Media Box(‘media’)
-Mandatory:Yes
-Quantity:Exactly one
通过前面的叙述可知,hdlr框212是不可缺少的部分。在媒体容器211中仅有一个处理器参考框212。图12表示hdlr框211的语法示例。在图12中,使用元素‘handler_type’来定义媒体数据的流类型。表2表示流类型的示例,在该示例中,对现有流的定义包括对本发明的立体图像流的定义。
表2
[表2]
值 |
内容 |
ssvi |
立体可视数据 |
soun |
音频数据 |
vide |
可视数据 |
text |
文本数据 |
hint |
提示数据 |
立体报头框213包括有关由ES所表示的图像的尺寸的信息。例如,立体报头框213可以包括有关ES所表示的立体合成图像的宽度和/或高度的信息。图13表示立体报头框213的语法示例。在图13中,元素‘StereoScopic_CompoundImageWidth’表示立体合成图像的宽度,而元素‘StereoScopic_CompoundImageHeight’表示立体合成图像的高度。该立体报头框213被表示如下。
sshd(stereoscopic header)
-Box Type:‘sshd’,‘vmhd’,‘smhd’,‘hmhd’
-Container:MediaInformation Box(‘minf’)
-Mandatory:Yes(must be present)
-Quantity:Exactly One
通过前面的叙述可知,sshd框213是不可缺少的部分。在minf容器(未示出)中仅有一个立体报头框213。该minf容器可以除sshd框213以外,进一步包括报头框,以用于另一种类型的媒体。表3表示了包括在minf容器中的报头框的值的示例。
表3
[表3]
值 |
内容 |
sshd |
立体可视媒体报头 |
smhd |
音频媒体报头 |
vmhd |
可视媒体报头 |
hmhd |
提示媒体报头 |
nmhd |
空白媒体报头 |
参考图9和图10,立体报头框213进一步包括框,该框用于包括有关获取立体图像的左右照相机的信息;以及框,该框用于包括有关显示立体图像的显示设备的信息。所述框可以是立体照相机信息框(ssci)214和立体显示信息框(ssdi)215。所述框的名称可变。
所述立体照相机信息框(ssci)214可以包括有关左右照相机的信息,例如,有关左右照相机之间的距离的信息。所述立体照相机信息框214被概述如下。
ssci(stereoscopic Camera Information)
-Box Type:‘ssci’
-Container:Stereoscopic Header Box(‘sshd’)
-Mandatory:No
-Quantity:Zero or One
通过上述概述可知,ssci框214是可选的部分。在立体报头框213中包含ssci框214的情况下,在作为容器的sshd框213中仅存在一个sshd框214。图12表示ssci框214的语法示例。在图14中,元素‘StereoScopicCamera_Left_Right-Distance’表示左右照相机之间的距离。
所述立体显示信息框215可以包括有关显示设备的信息,例如,有关栅栏式样类型的信息和/或有关栅栏式样的间隔的信息。立体显示信息框215被概述如下。
ssdi(stereoscopic Display Information)
-Box Type:‘ssdi’
-Container:Stereoscopic Header Box(‘sshd’)
-Mandatory:No
-Quantity:Zero or One
通过上述概述可知,ssdi框215是可选的部分。在sshd框213中包含ssdi框215的情况下,作为容器的sshd框213中仅存在一个ssdi框215。图15表示ssdi框215的语法示例。在图15中,元素‘StereoScopic_Barrier_Pattern’表示栅栏式样的类型。例如,可按表4来分配类型值。此外,元素‘StereoScopic_Barrier_Distance’表示栅栏式样的间隔。当该间隔值为0时,表示非固定比率。当该间隔值为1时,表示固定比率。此处,固定比率表示不论栅栏式样在显示设备上的位置如何,栅栏式样的间隔都是常量。而非固定比率表示栅栏式样的间隔取决于其在显示设备上的位置(例如,在中央或边缘部分)。
表4
[表4]
参考图9和图10,采样表框216用作时间/空间映射的容器,该框包括采样描述框(stsd)217。该采样描述框217用于对轨道容器210中所定义的媒体流(ES)的描述进行定义,该框217包括用于指示立体可视采样项的框。该框可以称作mpss框218。该框并不限于此。所述采样描述框217除mpss框218以外,还可进一步包括mp4v框,用于指示可视采样项;以及mp4a框,用于指示音频采样项;等等。
所述mpss框218是用于公开有关组成立体图像编码数据的ES的详细信息的框容器。该mpss框218被概述如下。
mpss(stereoscopic Visual Sample Entry)
-Box Type:‘mpss’,‘mp4v’,‘mp4a’
-Container:Stereoscopic Table Box(‘stbl’)
-Mandatory:Yes
-Quantity:Exactly One
通过上述概述可知,mpss框218是不可缺少的部分。在stbl容器217中仅有一个mpss框218。所述stbl容器217除mpss框218以外,还可进一步包括另一种类型的媒体的采样项。表5示出了包含在stbl容器217中的采样项的示例。
表5
[表5]
值 |
内容 |
mpss |
立体可视采样项 |
mp4v |
可视采样项 |
mp4a |
音频采样项 |
所述mpss框218包括有关构建编码帧的方法的信息、各种类型的衍生信息等。该mpss框218中所包括的信息可以根据构建立体图像编码数据的ES的数量和/或与ES相对应的编码帧的类型而变化。特别是,mpss框218可以包括有关编码帧类型的信息(构建方法)、有关左右图像帧率、构建编码帧的图像的尺寸、构建编码帧的区线数量的信息和/或构建编码帧的左右图像的视差信息。在下文中,将基于立体图像编码数据的ES的数量来详细描述mpss框218中所包括的信息内容。
首先,描述存在ES的情况。在一个ES的情况下,可采用图2至图4的方法之一用作构建编码帧的方法。在图2至图4中示出了五种构建编码帧的方法。mpss框218中所包括的信息必须能够支持上述五种类型。因此,mpss框218包括用于指示构成ES的编码帧的类型的信息。将帧的类型表示为‘StereoScopic_CompositionType’。可使用例如表6中的三个比特来分配类型值。表6示出了一个示例。
表6
[表6]
值 |
内容 |
000 |
左右图像在时间轴方向以帧为单元交替排列(参考图4) |
001 |
左右图像并排排列(参考图2左图) |
010 |
左右图像按从上到下的方式排列(参考图2右图) |
011 |
左右图像的垂直像素线交替排列(参考图3左图) |
100 |
左右图像的水平像素线交替排列(参考图3右图) |
在编码帧是图2和图3中所示的帧22、24、32或34的情况下,mpss框218可进一步包括有关编码帧尺寸的信息。例如,在编码帧是图2左图所示的帧的情况下,mpss框218可以包括有关图像宽度的信息。在编码帧是图2右图所示的帧的情况下,mpss框218可以包括有关图像高度的信息。在编码帧是图3左图所示的帧的情况下,mpss框218可以包括有关以区为单元插入的垂直线的宽度的信息。在编码帧是图3右图所示的帧的情况下,mpss框218可以包括有关以区为单元插入的水平线的宽度的信息。
可将有关编码帧的信息表示为‘width_or_height’。例如,如果表6中所公开的StereoScopic_CompositionType的值为ob001,则‘width_or_height’的值可以表示图像宽度。如果StereoScopic_CompositionType的值为0b010,则‘width_or_height’的值可以表示以区为单元插入的垂直线的高度。如果StereoScopic_CompositionType的值为0b100,则‘width_or_height’的值可以表示以区为单元插入的水平线的高度。
此外,在编码帧是图2和图3所示的帧22、24、32或34的情况下,mpss框218可以包括有关线的数量的信息,该线构成组成编码帧的合成图像的奇偶线区。例如,在帧是图2中所示的帧22或24的情况下,mpss框218可以包括有关构成奇数线区的线的数量的信息,和/或有关构成偶数线区的线的数量的信息。
可将有关构成奇数线区的线的数量的信息表示为‘odd_field_count’。可将有关构成偶数线区的线的数量的信息表示为‘even_field_count’。例如,如果表6中所公开的StereoScopic_CompositionType的值为0b001或0b010,则‘odd_field_count’和‘even_field_count’的值都为0。如果StereoScopic_CompositionType的值为0b011或0b100时,‘odd_field_count’和‘even_field_count’的值则可以分别表示奇数线的数量和偶数线的数量。
所述mpss框218可以进一步包括有关奇数线区的帧率与偶数线区的帧率是否相同的信息,和有关在奇数和偶数线区的帧率不同的情况下,所使用的同步方法的信息。此处,在两个图像的帧率相互不同的情况下,有关同步方法的信息可以是有关参考图像的信息,该参考图像在显示立体图像时,将帧率相互匹配。也就是说,有关同步方法的信息可以是有关参考图像的信息。可将有关帧率和/或同步方法的信息表示为‘StereoScopic_ES_FrameSync’,并按照表7所示使用两个比特来进行分配。表7表示有一个ES的示例情况。
表7
[表7]
值 |
内容 |
00 |
左图像(奇数线区)的帧率与右图像(偶数线区)的帧率相同 |
01 |
左图像的帧率与右图像的不同,且左图像(或奇数线区)为参考图像 |
10 |
左图像的帧率与右图像的不同,且右图像(或偶数线区)为参考图像 |
所述mpss框218可以进一步包括有关视差存在的信息,也就是,奇数线和偶数线区之间的图像信息的差异(例如,Y/Cb/Cr值或R/G/B值)和在存在视差的情况下的视差值(有关视差的信息)。在此,视差值表示有关一个图像(或区)相对于另一个图像(或区)的差异值的信息。使用该视差信息来修正所显示的立体图像的三维效果。
可将包含在视差信息中的有关视差存在的信息表示为‘StereoScopic_ImageInformationDifference’,并按表8所示使用两个比特来进行分配。表8表示了有一个ES的示例情况。
表8
[表8]
值 |
内容 |
00 |
左右图像(奇数线区和偶数线区)间的视差为零 |
01 |
视差不为零,且左图像(或奇数线区)为参考图像 |
10 |
视差不为零,且右图像(或偶数线区)为参考图像 |
可将包含在视差信息中的视差值表示为图像信息的差异。有多种方法来表示图像信息。通常的方法是Y/Cb/Cr或R/G/B方法。因此,可以使用以下方法来表示视差值。
Y_or_R_difference:Y或R值的图像信息的差异
Cb_or_G_difference:Cb或G值的图像信息的差异
Cr_or_B_difference:Cr值或B值的图像信息的差异
下面将描述具有两个ES的情况。在两个ES的情况中,可例如按照图5或6所描述的方法之一来构造编码帧。在两个ES的情况中,moov容器200包括两个轨道容器,为轨道1和轨道2容器。每个轨道容器都可以包括相应ES的元数据信息。在下文中,将描述一个ES的情况与两个ES的情况之间的不同。
在有两个立体图像编码数据的ES的情况下,mpss框218包括有关构成相应ES的编码帧类型的信息。参考图5和图6,由于编码帧的类型可以包括左图像、右图像、参考图像和差分图像,因此,mpss框218包含有关帧类型的信息。将编码帧的类型表示为‘StereoScopic_ES_Type’。可按表9使用两个比特来分配类型值。表9示出了一个示例。
表9
[表9]
值 |
内容 |
00 |
左图像 |
01 |
右图像 |
10 |
参考图像 |
11 |
差分图像 |
所述mpss框218可以进一步包括有关左图像的帧率是否与右图像的帧率相同的信息和有关在左右图像的帧率相互不同的情况下的同步方法的信息。只有在编码帧是图5所示的帧的情况下(由左右图像所构建的帧),mpss框218才包括有关帧率的信息。在编码帧是图6所示的帧的情况下,mpss框218并不包括有关帧率的信息。可将有关帧率和/或同步方法的信息表示为‘StereoScopic_ES_FrameSync’,并按照表10所示使用两个比特来进行分配。在此,表10表示存在两个ES的示例情况。
表10
[表10]
值 |
内容 |
00 |
左图像的帧率与右图像的相同,或不需要有关帧率的信息 |
01 |
左图像的帧率与右图像的不同,且相应ES的帧为参考图像 |
10 |
左图像的帧率与右图像的不同,且相应ES的相对帧为参考图像 |
所述mpss框218可以进一步包括有关视差存在的信息,也就是,左右图像的图像信息之间的差异(例如,Y/Cb/Cr值或R/G/B值)和在存在视差的情况下的视差值(有关视差的信息)。只有在编码帧是图5所示的帧的情况下(由左右图像所构建的帧),mpss框218才包括视差信息。在编码帧是图6所示的帧的情况下,mpss框218不包括视差信息。可将该视差信息表示为‘StereoScopic_ImageInformationDifference’,并按表11使用两个比特来进行分配。在此,表10表示存在两个ES的示例情况。
表11
[表11]
值 |
内容 |
00 |
左右图像间的视差为零,或不考虑 |
01 |
视差不为零,且相应ES的帧为参考图像 |
10 |
视差不为零,且相应ES的相对帧为参考图像 |
作为图像信息差异的视差值可以不包含在相应ES的mpss框218中,而是包含在与相应ES相对的另一个ES的mpss框中。在这种情况下,有关视差存在的信息和有关视差值的信息可以分布于两个ES中。
在用于表示编码帧类型的立体ES类型对应于图6所示的图像的情况下,将该编码帧划分为参考图像和差分图像。因此,在‘StereoScopic_ES_Type’指示参考图像或差分图像的情况下,帧率信息和视差信息对于ES而言并非是必须的。因此,在有两个ES情况下,如果编码帧是图6所示的图像,则mpss框218不包括所述信息。
下面,将描述有三个或更多ES的情况。在有三个或更多ES的情况中,编码帧如图7所示。图7的帧与图6的帧相同,其帧都是由参考图像和差分图像所构建的。因此,在三个或更多ES的情况下,mpss框218中所包括的信息与两个ES且编码帧的类型是图6所示的图像的情况相同。因此省略对该信息的描述。
在图16至图19中示出了包括前述信息的mpss框218的语法示例。虽然图16至图19中所示的语法应当以一个语法进行完全表示,但是由于本说明书空间的限制而将其分开表示。因此,图16中所示的语法与图17中所示的语法顺序相连。随后,图18和图19的语法在图17的语法之后。由于已经详细描述了这些语法,因此将省略对这些语法的描述。
接下来,参考图8,作为图像数据单元的mdat容器(mdat)300包括编码帧的图像编码信息。该mdat容器包括一个或多个立体图像数据容器(立体图像数据)310。每个立体图像数据容器310都对应于元数据单元200中所包括的每个轨道容器(轨道)210。因此,图像数据单元300包括与ES数量相对应的多个立体图像数据容器310。由于每个立体图像数据容器310中所包含的图像数据类型都与现有的图像数据相类似,因此,在下文中将省略对这些图像数据类型的描述。
虽然以特定方式表示了本发明,并结合其典型实施例进行了描述,但是本领域技术人员应当理解,可以对其形式和细节进行各种变化,而不偏离本发明如所附权利要求所定义的精神和范围。
工业实用性
本发明涉及立体图像编解码。