确保跳跃时无缓冲器不足的3D制作工具转让专利

申请号 : CN201110378543.3

文献号 : CN102568533B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 高岛芳和迈克尔·汤普森

申请人 : 索尼公司索尼电影科技公司

摘要 :

本发明公开了确保跳跃时无缓冲器不足的3D制作工具。提供了用于实现在类似盘之类的光学介质上提供3D内容的系统和方法。在一种示例性实施方式中,在计算机系统上运行的3D制作工具对如何构建用于复制的图像进行管理,其中该图像被构建为应对跳跃而没有缓冲器不足,所述跳跃由例如层切换或由从多分支故事线中的分支移开或移到多分支故事线中的分支引起。

权利要求 :

1.一种用于准备3D媒体流以使得长跳跃不会导致缓冲器不足的方法,包括:a)接收3D媒体流;

b)将所述3D媒体流分割成基础视点块和从属视点块的集合,每一对基础视点块和相关联的从属视点块构成一个3D块;

c)对于第一基础视点块,在计算中采用至少局部比特率来确定在2D回放期间是否能向第二基础视点块进行长跳跃而不会发生缓冲器不足;

d)对于第一3D块,在计算中至少采用局部比特率来确定在3D回放期间是否能向第二

3D块进行长跳跃而不会发生缓冲器不足;

e)如果能向第二基础视点块和第二3D块进行长跳跃而不会发生缓冲器不足,则将所述媒体流配置为在第一基础视点块之后允许长跳跃;以及f)根据已分割并已配置的媒体流来创建文件系统图像或主盘图像。

2.如权利要求1所述的方法,其中,所述配置包括在第一基础视点块处设置跳跃能力标志。

3.如权利要求1所述的方法,其中,所述局部比特率是块的平均比特率。

4.如权利要求1所述的方法,其中,所述采用还包括在所述计算中采用跳跃距离来确定是否能向第二基础视点块和第二3D块进行长跳跃而不会发生缓冲器不足。

5.如权利要求1所述的方法,其中,所述3D媒体流具有开头基础视点块和结尾基础视点块,并且其中,所述结尾基础视点块在保持它之前的基础视点块所满足的大小要求的同时具有尽可能大的长度。

6.如权利要求5所述的方法,其中,结尾基础视点块具有比所述3D媒体流中在该结尾基础视点块之前的所有基础视点块都大的长度。

7.如权利要求1所述的方法,还包括配置所述文件系统图像或主盘图像以用于盘。

8.如权利要求1所述的方法,其中,所述局部比特率被用在最小块大小的计算中,并且如果给定基础视点块大于所述最小块大小且如果给定3D块大小大于所述最小块大小,则允许所述给定基础视点块和所述给定3D块处的长跳跃。

9.如权利要求1所述的方法,其中,所述长跳跃与媒体层跳跃相关联。

10.如权利要求9所述的方法,其中,所述配置包括在能进行长跳跃而不会发生缓冲器不足的位置处设置跳跃能力标志,并且还包括从能进行长跳跃而不会发生缓冲器不足的位置中选择分层点,所述分层点被选择以使层大小保持为小于最大层大小。

11.如权利要求10所述的方法,其中,所述选择还包括选择所述分层点以使得这样创建的层具有在预定大小范围内的层大小。

12.如权利要求1所述的方法,其中,所述长跳跃与多故事分支点相关联。

13.如权利要求12所述的方法,其中,所述基础视点块和从属视点块的集合还被组织成故事章节,至少一个故事章节被分割成多个分支,并且还包括:a)将至少一个分支再分割成两个或更多个基础和从属视点块群组;以及b)将与一个分支相关联的至少一个基础和从属视点块群组交织到与另一分支相关联的两个基础和从属视点块群组之间的点中,该点被选在允许长跳跃并且与所述长跳跃相关联的跳跃距离小于最大跳跃距离的地方。

14.如权利要求13所述的方法,其中,所述最大跳跃距离在320000扇区至640000扇区之间。

说明书 :

确保跳跃时无缓冲器不足的3D制作工具

技术领域

[0001] 本发明涉及3D制作工具(authoring tool),并且更具体地涉及供用于从一个媒体点平滑跳跃到另一媒体点的制作工具。

背景技术

[0002] 在 (蓝光)规范中,3D流文件既可以用2D播放器又可以用3D播放器来播放。3D播放器将读取完整的3D流,而2D播放器只读取该流的2D部分,该部分包括2D视频以及音频流。
[0003] 以上规范定义了两种类型的3D流:1TS和2TS。1TS流在单个传输流中包括基础视点(base view)视频和从属视点(dependent view)视频二者。该传输流的最大比特率被限制在48Mbps,因此一般而言,这种类型没有足够高的比特率来复用(multiplex)高质量3D视频和多个高质量音频流。2TS流文件具有用于基础传输流和从属传输流的最高64Mbps的总比特率,因此具有足够的比特率来运载高质量3D视频和音频。
[0004] 2TS流在一个传输流文件中包括基础视点视频和音频流二者,并且在另一传输流中包括从属视点视频。因此,基础视点视频就长度而言常常更大,并且常常具有更高的比特率。事实上,由于MVC对数据进行编码的方式,如果从属视点相对于基础视点的变化很小,则从属视点比特率可能达到零。
[0005] 2TS流文件被交织,并且如所注意到的,其合并了基础视点块和从属视点块。在规范中,这样的流文件作为称为SSIF文件的一个混合文件被存储,其中SSIF是指立体交织文件。
[0006] 更详细地,在一种实施方式中,并且参考现有技术的图1,体系架构10包括2TS 3D流文件16,2TS 3D流文件16包括基础视点传输流(TS)文件12和从属视点TS文件14。3D流文件16被分割成基础视点块22j的集合和从属视点块18i的集合。这二者都被用于3D回放,例如,用于左眼的基础视点和用于右眼的从属视点或者用于右眼的基础视点和用于左眼的从属视点,并且,仅基础视点22j被用于2D回放。
[0007] 当播放器执行驱动器搜索(drive seek)来读取AV(视听)流的块时,至少在驱动器进行跳跃后开始读取新的AV流之前,播放器需要将足够的AV流数据缓冲到读缓冲器来维持流畅的回放。
[0008] 两种情形需要特殊的应对:光学媒体层跳跃上的回放以及多故事分支(multi-story branching)情形中的回放(图2-4)。首先参考现有技术图2中由序列20示出的分层点(layer break)跳跃,3D流文件24被复用到3D流的基础视点和从属视点中,并且基础视点块26i和从属视点块28j的数目被限定。分层点32k被按照期望建立,并且分层点32k也可以使用时间码或文件大小被估计。通常构成长跳跃的分层点32一般被设置在与所请求的时间码或文件大小最接近的块边界处。在许多情况下,当前的制作系统采用“参数A”来确定跳跃点。这些可以包括AV流最大比特率、驱动器跳跃性能和跳跃距离,或者这些的组合。在许多情况下,目标跳跃点用流文件大小被确定,并且基于参数A被评估。
[0009] 规范随后设置对于无缝回放所必需建立的许多条件,并且在步骤34中针对所提出的跳跃点检查这些条件。如果无缝回放不会发生,则分层点被移动,即,不同的分层点被尝试。如果无缝回放被实现,则层大小检查36被执行来确保层大小不会超过针对该媒体所设置的最大大小,并且进一步地,使得第一层大小大于或等于第二层大小,如在 规范中所要求的那样。最后,在步骤38中,文件系统图像被创建,例如,主盘(master disc)被创建。
[0010] 图3图示出用于包括2D多故事分支的媒体的现有技术方法30。2D流被示出具有多故事回放路径结构,包括章节A(42)、B(44/46)和C(48),其中B具有两个可替换的分支B1(44)和B2(46)。在B1或B2的大小大于最大跳跃距离的情况中,B1和B2被交织来保证跳跃距离小于最大值。例如,B1(44)和B2(46)可以被进一步分割成(对于B1)B1[1]=44(1)和B1[2]=44(2);并且(对于B2)B2[1]=46(1)和B2[2]=46(2)。即,B1和B2的分量被交织以使得最大跳跃距离小于预定最大值,例如对于当前的 盘而言是640,000扇区或1.28Gb,以限制驱动器搜索时间。针对分支A-B2-C(下部路径)和分支A-B1-C(上部路径)示出了样本回放路径。
[0011] 如图2中所述,在步骤52中,无缝回放检查被执行。如果无缝回放不发生,则交织以不同方式被执行。如上,层大小检查54被执行来确保层大小不会超过针对该媒体设置的最大大小并且第一层大小大于或等于第二层大小,如 规范中所要求的那样。最后,在步骤56中,文件系统图像被创建,例如,主盘被创建。
[0012] 图4图示出用于包括3D多故事分支的媒体的现有技术方法40。3D流被示出利用具有章节A(62)、B(64/66)和C(68)的多故事回放路径建立,其中B具有两个可替换的分支B1(64)和B2(66)。所有章节或3D流文件被示出为被分割成基础视点块和从属视点块62i、62j、64i、64j、66i、66j、68i和68j。在B1或B2大于最大跳跃距离的情况下,这两者就可以被交织以保证跳跃距离小于最大值。此外,该最大跳跃距离当前大约是1.28GB。作为交织的示例,B1(64)和B2(66)被进一步分割成(对于B1)B1[1]和B1[2]以及(对于B2)B2[1]和B2[2]。交织使得最大跳跃距离小于预定最大值。针对分支A-B2-C(下部路径)并针对分支A-B1-C(上部路径)示出样本回放路径。
[0013] 此外,在步骤72中,无缝回放检查被执行。在无缝回放检查之后,层大小检查74被执行来确保层大小不会超过针对媒体设置的最大大小。最后,在步骤76中,文件系统图像被创建,例如主盘被创建。

发明内容

[0014] 提供了用于实现在类似 盘之类的光学介质上提供3D内容的系统和方法。在一种示例性实施方式中,在计算机系统上运行的3D制作工具对如何构建用于复制的图像进行管理,其中该图像被构建为应对跳跃而没有缓冲器不足(buffer underrun),所述跳跃由例如层切换或由从多分支故事线(multi-branch story line)中的分支移开或移到多分支故事线中的分支引起。
[0015] 在该系统和方法一种实施方式中,向光学介质制作工具提供控制在何处跳跃(跳跃到另一层或跳跃到同一层上的另一点)而不会有缓冲器不足的危险的特征,缓冲器不足会导致不可接受的回放质量。
[0016] 在该系统和方法的某些实施方式中,替代在现有技术系统中使用如上所述的“参数A”,另一组参数“参数B”特别是AV流局部比特率和跳跃距离被用来确定对于给定2D或3D流的所有可接受的跳跃点。跳跃能力标志被设置在这些点处,并且如果需要跳跃,则跳跃在这些点进行,这消除了缓冲器不足的可能性。相应地,不需要执行先前要求的无缝回放条件检查。虽然跳跃能力标志被公开作为识别适当点的方便方式,但是本领域普通技术人员将理解,可以采用标注这样的点的任何方式并且标志的使用仅仅是示例性的。
[0017] 在一个示例性方法中,对于给定的3D流文件,第一步骤可以是定义基础视点块和从属视点块。当定义这些时,诸如局部比特率和跳跃距离之类的参数可以被用来确定在哪儿设置跳跃能力标志,这些标志决定了在给定基础或从属视点块之后是否能进行长跳跃。实质上,跳跃能力标志决定了在哪儿可以进行长跳跃而没有缓冲器不足,从而确保了无缝回放。在3D情形中,3D块(基础视点块和从属视点块的序列)和2D块(基础视点块)的局部比特率可以被用来确定一个点是否是能进行跳跃的。
[0018] 更详细地,可能发生这样的缓冲区不足的通常的原因是:当长跳跃点之前的局部比特率太高时长跳跃被尝试。具体地,如果长跳跃之前的每个块大于最小长度大小,则无缝回放将得到保证,这是因为在跳跃进行的同时,从最小长度块缓冲的数据将足以提供用于显示的数据。然而,比特率不能太高,否则,需要太多数据。因此,最小长度大小可以用每个块的比特率来计算,即块比特率导致确定的最小长度大小。与在2D情况中一样,3D块比特率导致最小3D长度大小并且2D块比特率导致最小2D长度大小。换言之,如果块太短,则在其后不能进行跳跃。
[0019] 该系统和方法可以用在许多不同的具体场景中。特别相关的情形包括在光学媒体层跳跃上发生回放的情形,即其中光学层正被读取时读取继续进行到另一光学层的情形。一般,对于多层记录,至少这样的层跳跃将发生。在许多情况中,对于层跳跃,由于将读取层聚焦到新的层上所必须的时间,最多40,000扇区可被跳跃。涉及长跳跃的另一情形是:标题包括多故事分支并且跳跃发生在故事的分支点处。又一情形是:标题包括多个角度并且用户可以被使得能够从一个角度切换到另一角度。在这些情况中,如果同一层正被读取,即不需要层跳跃,则长跳跃可以是更多扇区,例如640,000扇区。
[0020] 该系统和方法可以用在2D媒体流的制作中,也可以用在3D媒体流的制作中。例如在 规范中两者被联接的情况中,该特征将一般适用于这两者。
[0021] 在一个方面中,本发明涉及一种用于准备3D媒体流以使得长跳跃不会导致缓冲器不足的方法,包括:a)接收3D媒体流;b)将3D媒体流分割成基础视点块和从属视点块的集合;c)对于第一基础视点块,在计算中采用至少局部比特率来确定在2D回放期间是否能向第二块进行长跳跃而不会发生缓冲器不足;d)对于第一3D块,在计算中至少采用局部比特率来确定在3D回放期间是否能向第二块进行长跳跃而不会发生缓冲器不足,其中第一3D块是一对基础视点块和从属视点块;e)如果能向第二块进行长跳跃而不会发生缓冲器不足,则将媒体流配置为在第一基础视点块之后允许长跳跃;以及f)根据已分割并已配置的媒体流来创建文件系统图像或主盘图像。
[0022] 本发明的实施方式可以包括如下范围中的一个或多个。该配置包括在第一块处设置跳跃能力标志,并且其中每个块具有时间开头和时间结尾,并且其中该设置包括在第一块的时间结尾处设置跳跃能力标志。局部比特率是块的平均比特率。该方法还可以包括:对于第一从属视点块,使用指示局部比特率来确定是否可以向另一块进行长跳跃而不会发生缓冲器不足,并且如果可以向另一块进行长跳跃而不会发生缓冲器不足,则在第一从属视点块之后设置跳跃能力标志。该采用还可以包括在计算中采用跳跃距离来确定是否能向第二块进行长跳跃而不会发生缓冲器不足。3D媒体流可以具有开头基础视点块和结尾基础视点块,并且结尾基础视点块可以在保持它之前的基础视点块所满足的大小要求的同时具有尽可能大的长度。结尾基础视点块可以具有比3D媒体流中在该结尾基础视点块之前的所有基础视点块都大的长度。基础视点块的平均局部比特率可以在从属视点块的平均局部比特率的2倍与4倍之间。该方法还可以包括配置文件系统图像或主盘图像以用于盘。局部比特率被用在最小块大小的计算中,并且如果给定基础视点块大于最小块大小,并且如果给定3D块大小大于最小块大小,则该方法还可以包括允许给定基础视点块和给定3D块处的长跳跃。该长跳跃可以与媒体层跳跃相关联。该配置可以包括在第一块处设置跳跃能力标志,并且该方法还可以包括从能进行长跳跃的点中选择分层点,分层点被选择以使层大小保持为小于最大层大小。该选择还可以包括选择分层点以使得这样创建的层具有在预定大小范围内的层大小。长跳跃可以与多故事分支点相关联。基础视点块和从属视点块的集合还可以被组织成故事章节,至少一个故事章节被分割成多个分支,并且该方法还可以包括:a)将至少一个分支再分割成两个或多个基础和从属视点块群组;以及b)将与一个分支相关联的至少一个基础和从属视点块群组交织到与另一分支相关联的两个基础和从属视点块群组之间的点中,该点被选在允许长跳跃并且与长跳跃相关联的跳跃距离小于最大跳跃距离的地方。最大跳跃距离可以在320000扇区与640000扇区之间。
[0023] 在另一个方面中,本发明涉及一种非暂时性计算机可读介质,包括用于令计算设备执行以上方法的指令。
[0024] 在另一个方面中,本发明涉及一种用于准备媒体流以在跳跃时进行无缝回放的系统,该无缝回放确保最小的缓冲器不足,该系统包括:a)承载能够分析3D媒体流文件并将3D媒体流文件分割成一系列基础视点块和从属视点块的计算机可读指令的存储器;以及b)承载能够选择系列的块之间的一个或多个点的计算机可读指令的存储器,该点被选择作为能进行长跳跃的点,能进行长跳跃的点表示可以进行长跳跃而不会发生缓冲器不足的位置。
[0025] 本发明的实施方式可以包括以下中的一个或多个。长跳跃可以是层跳跃,并且该系统还可以包括:承载能够选择分层点的计算机可读指令的存储器,分层点被选择在能进行长跳跃的位置处,并且其中分层点被选择以使得层大小小于预定最大值。长跳跃可以针对多故事分支点,多故事包括至少两个章节,该章节中的至少一个章节具有至少两个分支,该分支中的至少两个分支各自具有至少两个基础和从属视点块群组,并且该系统还可以包括承载能够将与一个分支相关联的至少一个基础和从属视点块群组交织到与另一分支相关联的两个基础和从属视点块块群组之间的点中的计算机可读指令的存储器,该点被选在允许长跳跃并且与长跳跃相关联的跳跃距离小于最大跳跃距离的地方。该系统还可以包括承载能够创建与媒体流相关联的最后基础视点块的计算机可读指令的存储器,最后基础视点块比媒体流的之前的基础视点块更大。
[0026] 本发明的优点可以包括以下中的一个或多个。可以提供对于在媒体回放期间降低或消除缓冲器不足的发生非常有用的特征的制作工具。该特征可以被应用于降低多故事分支内的跳跃期间、层跳跃期间或其它场景中的缓冲区不足。
[0027] 在此给定教导的情况下,其它优点对于本领域普通技术人员而言将是明显的。

附图说明

[0028] 图1图示出用于将3D媒体流分割成基础视点块和从属视点块的现有技术处理。
[0029] 图2图示出用于将3D媒体流分割成基础视点块和从属视点块以及用于执行分层的现有技术处理。
[0030] 图3图示出用于在2D多故事分支情形中将媒体流分割成基础视点块和从属视点块的现有技术处理。
[0031] 图4图示出用于在多故事分支情形中将3D媒体流分割成基础视点块和从属视点块的更详细的现有技术处理。
[0032] 图5图示出根据在此公开的原理的用于准备3D媒体流以使得即使在层间的长跳跃期间也可以流畅地播放而没有缓冲器不足的处理。
[0033] 图6图示出与图5对应的流程图。
[0034] 图7图示出根据在此公开的原理的用于准备3D媒体流以使得即使在多故事分支故事线中的位置之间的长跳跃期间也可以流畅地播放而没有缓冲器不足的处理。
[0035] 图8图示出与图7对应的流程图。
[0036] 图9图示出根据在此公开的原理的可以在某些实施方式中采用的用于确保被回放的块的结尾处的无缝回放的另一个方面。
[0037] 图10(A)至图10(D)图示出根据在此公开的原理的可以在某些实施方式中采用的用于多故事分支的另一个方面,其具体示出了用于交织的处理。
[0038] 图11(A)至图11(B)图示出根据在此公开的原理的可以在某些实施方式中采用的用于多故事分支的另一个方面,其示出了与其它多故事分支串行发生的多故事分支。
[0039] 图12图示出根据在此公开的原理的2D或3D制作工具的系统示图。
[0040] 图13图示出用于2D或3D制作工具的示例性计算环境。

具体实施方式

[0041] 参考图5和图6,图示出根据本发明的一种实施方式的带有流程图60的处理50。在此实施方式中,3D流被以这样的方式准备,该方式使得甚至在没有(先前所要求的)无缝回放条件检查的情况下,将可以在分层点上进行无缝回放。
[0042] 一开始,3D流文件80被输入(步骤81)并且被复用到基础视点和从属视点中。复用后的流被分割成基础视点块84和从属视点块82(步骤83)。
[0043] 许多能进行长跳跃的点86i、86j和86k被识别并且可以以任意方式被标注,包括在这样的能进行长跳跃的点处设置“长跳跃能力标志”(步骤87)。能进行长跳跃的点86i出现的位置的确定通过包括给定块处的局部比特率的值在内的计算来做出(步骤85)。例如,采用的局部比特率可以是该块的平均比特率。
[0044] 在2D的情况中,上述计算中采用的局部比特率可以是当前基础视点块的平均比特率。最小块大小随后可以被计算出,该最小块大小保证针对长跳跃的无缝2D回放。可以构想到两种类型的长跳跃:(a)分层点上的跳跃,以及(b)最多可至1.28GB或640,000扇区的层内的跳跃。每种使用情况具有不同的跳跃时间,因此要求的最小块大小也是不同的。如果当前基础视点块的大小大于通过当前基础视点块平均比特率确定的最小块大小,则当前基础视点块可以具有在紧接着该块后设置的长跳跃能力标志,并且仍然确保无缝2D回放。
[0045] 在3D的情况中,仍然可以采用平均比特率,但是此时,其是3D流分配块的平均比特率。还是计算保证长跳跃上的无缝3D回放的最小块大小。该方面一般与2D的情况相同,并且依赖于使用情况还是存在不同的跳跃长度。如果3D流分配块大小大于最小块大小,则当前块可以具有在紧接着该块后设置的长跳跃能力标志,并且仍然确保无缝3D回放。这样的包括局部比特率的分析可以针对每个块继续进行。
[0046] 对于给定的标题,2D情况和3D情况都应当保证无缝回放。在二者都这样的情况中,可以在紧接着当前块之后设置长跳跃能力标志。在 盘规范中提供了最小大小计算的详细公式。
[0047] 应注意,在此语境中,名称为只读格式第3部分(V2.4或更新的,最近版本是V2.5)第3-1部分、附件P.13.4(Read-0nly Format Part 3(V2.4or newer,latest version is V2.5)Part 3-1,Annex P.13.4)的章节处的 盘规范覆盖与在此所述的原理有关的流文件分配规则。在P.13.4.2中,针对基础视点块、从属视点块和3D块规定和定义了基本规则。在P.13.4.2.1~P.13.4.2.4中定义了五个这样的条件(条件1~5)。P.13.4.2.1中定义的条件1涉及2D块的最小大小计算,其中REXT[i]是2D块的局部比特率并且TJUMP是跳跃时间。P.13.4.2.3中定义的条件4涉及3D块的最小大小计算,其中REXTSS是3D块的局部比特率并且TJUMP是跳跃时间。基本规则和条件2、3、5当在识别长跳跃能力之前创建一对基础视点块和从属视点块时被使用。
[0048] 在能进行长跳跃的点被标注之后,分层点86i’可以从这些点中被选出,在一些情况中,采用另外的标准来进行选择。例如,整个层大小应当被保持在最大层大小以内,在当前 盘的情况中,最大层大小例如为25GB。还可以期望在多个层之间保持尽可能接近的层大小。
[0049] 一般不需要单独的无缝回放条件检查,因为通过从能进行长跳跃的点选择分层点,一般保证了无缝回放。层大小检查92可以被执行(步骤89),随后是用于复制的文件系统图像和/或主数据(master data)94的创建(步骤91)。
[0050] 参考图7和图8,图示出根据本发明另一实施方式的带有流程图80的处理70。在此实施方式中,3D流被以这样的方式准备,该方式使得在没有先前要求的无缝回放条件检查的情况下将可以在多故事分支标题中进行无缝回放。
[0051] 一开始,具有章节A 102、B1/B2 104/106和C 108的3D流文件被输入(步骤103)并且被复用到基础视点和从属视点中。复用后的流被分割成基础视点块102j、104j、106j和108j以及从属视点块102i、104i、106i和108i(步骤105)。
[0052] 许多能进行长跳跃的点110i、110j和110k被识别并且可以以任意方式被标注,包括在这样的能进行长跳跃的点处设置“长跳跃能力标志”(步骤109)。能进行长跳跃的点110i出现的位置的确定通过包括给定块处的局部比特率的值在内的计算来做出(步骤107)。此计算的各方面与以上结合图5-6所描述的相同。
[0053] 在B1或B2大于最大跳跃距离时,其被交织来保证跳跃距离小于最大值(步骤111)。在当前的 盘的情况中,最大跳跃距离大约是1.28GB。另外,该交织被以确保被交织的章节之间的分层点出现在能进行长跳跃的点处的方式被执行。例如,在图7中,交织使得“B”章节置于B1-B2-B1-B2配置,其中诸如106(1)i,j之类的块出现在104(2)i,j之前(为了清楚起见,B1和B2基础视点块和从属视点块被分别总地标为104(1)i,j和
104(2)i,j以及106(1)i,j和106(2)i,j),来确保B1-B1跳跃和B2-B2跳跃二者都可以无缝进行并且没有缓冲器不足。
[0054] 此外,一般不需要单独的无缝回放条件检查,因为通过从能进行长跳跃的点选择分层点,一般保证了无缝回放。层大小检查112可以被执行(步骤113)以保证层大小在最大层大小以内,在当前的 盘的情况下,最大层大小例如是25GB,随后是用于复制的文件系统图像和/或主数据114的创建(步骤115)。
[0055] 现在描述本发明的某些实施方式的另外的方面。参考图9中的(A)-(D),示出指示带有不同比特率的基础视点块和从属视点块的许多块90。在此方面中,通过使得3D流的最后一个基础视点块的大小比较大(例如,如果必要通过调节在最后的块之前的块的大小来进行),则使得最后的块是能进行长跳跃的可能性可被显著增大。
[0056] 在图9的(A)中,基础视点传输流比特率(块116j,118j和122j)比从属视点传输流比特率(块116i,118i和122i)大得多。例如,速率可以是35Mbps。通过变换块以使得最后的块126Nj比之前大得多(例如大于12.6MB),则在最后的块126Nj之后具有长跳跃能力的可能性被显著增大。该变换可以必须减小倒数第二个块124(N-1)j(以及相关联的从属视点块126Ni和124(N-1)i)的大小。尽管以上公开了12.6MB的示例性的较大块大小。但是,应当注意,这样的块大小可以像18.5MB那么大甚至更大,并且可以像500K那么小。
[0057] 在图9的(B)中,基础视点传输流比特率(块116j,118j和122j)是从属视点传输流比特率(块116i’,118i’和122i’)的三倍。在许多情形中,此速率比可以被视为基本理想的情况。此外,速率可以是35Mbps,但是从属视点传输流比特率超过(A)的情况。通过对块进行变换来使得最后的块126Nj比之前大得多,例如还是大于12.6MB,则在最后的块126Nj之后具有长跳跃能力的可能性被显著增大。此变换同样必须减小倒数第二个块124(N-1)j(以及相关联的从属视点块126Ni’和124(N-1)i’)的大小。
[0058] 在图9的(C)中,基础视点传输流比特率(块116j’,118j’和122j’)与从属视点传输流比特率(块116i”,118i”和122i”)基本相同。例如,速率可以是23Mbps。类似地,通过对块进行变换来使得最后的块126Nj’比之前大得多,例如大于6.2MB,则在最后的块126Nj’之后具有长跳跃能力的可能性被显著增大。此变换同样必须减小倒数第二个块124(N-1)j’(以及相关联的从属视点块126Ni”和124(N-1)i”)的大小。
[0059] 在图9的(D)中,示出这样的情形,其中,认为基础视点传输流比特率(块116j”,118j”和122j”)相对于从属视点传输流比特率(块116i”’,118i”’,和122i”’)实质上变化。例如,速率可以是35Mbps但是其可以实质上变化。通过对块进行变换来使得最后的块
126Nj”比之前大得多,例如大于12.6Mb,则在最后的块126Nj”之后具有长跳跃能力的可能性被显著增大。此变换同样必须减小倒数第二个块124(N-1)j”(以及相关联的从属视点块
126Ni”’和124(N-1)i”’)的大小。
[0060] 借助此技术,在最后的块之后的跳跃(这可以出现在盘上的任意位置)是无缝的可能性较高。
[0061] 图10的(A)-(D)图示出在多层实现中,检查长跳跃是否必要以及如果必要则如何经由交织来实现长跳跃的处理。3D流100具有第一章节A(132)、最后的章节C(136)以及中间章节B,其中中间章节B可以是三个可替换分支B1(134a),B2(134b)和B3(134C)中的任一者。在A 132的回放之后,所需要的最长跳跃将是从A 132的末尾至B3 134C的开头,如距离L1所示。另一可能的长跳跃将是从B1的末尾至C的开头,如距离L2所示。
[0062] 这些距离以及多故事分支内的任意其它分支随后被检查(图10(B)中示出的方法120的步骤139),并且如果所有可能回放路径中的跳跃距离小于某一最大值,例如640,000扇区,则不需要执行任何交织。如前,为每个3D流文件定义(步骤141)基础视点块和从属视点块,并且设置长跳跃能力标志137jump。然而,如果需要交织(步骤143)则可以采用算法来执行交织(步骤145)。并且在此情况中,交织的点可以位于能进行跳跃的点处。
[0063] 一种这样的算法是由图10(C)中的代码110指示的算法。该算法执行也在图10(D)的流程图145中指示的若干功能。所实施的算法基于多故事分支中的SSIF文件的总大小和最大跳跃距离(例如640,000扇区)来为所产生的立体长度块“EXTSS”设置目标大小和数目(步骤147)。这样的EXTSS块一般称为一个邻近扇区分配或一个文件分配块。这样的块可以是很小,例如电影的1分钟,或者可以较大,例如电影半小时的部分。
[0064] 估计分割数目的一种方式是采用术语交织群组的文件(例如B1,B2和B3的总大小X(以扇区为单位)。该数目可以随后被除以一跳的最大扇区数例如640,000扇区。更精确地:
[0065] Div_num(初始值)=INT(X/640,000+1)
[0066] 例如,如果X=320,000扇区(~0.64Gb),则Div_num(初始值)=1。这意味着交织可能不是必要的,但是代码110中的算法仍然可以利用Div_num(初始值)=1被执行来确认所有其它条件也被满足。如果X=6,400,000扇区(12.8Gb),则Div_num(初始值)=11。这意味着必须至少分割为11个分离的块。结果,Div_num从11开始并且可以逐渐增大。
[0067] 在目标大小的设置之后,并且从头开始,算法为3D流文件指派EXTSS(这在3D流文件被分割以用于交织目的时按照需要进行)直到EXTSS具有至少目标大小并且最后的长度例如“EXT1”具有长跳跃能力为止(步骤149)(还参见图9)。当为SSIF文件生成下一EXTSS时,目标可以被下调一数量,该数量为前一EXTSS超过其目标大小的数量。
[0068] 如步骤151中所示,所产生的交织跳跃距离被检查来确保最长跳跃距离小于最大值(例如640,000扇区)。例如,如果三个SSIF文件被交织,则跳跃距离检查目标将针对B1(i)+B2(i),B2(i)+B3(i),其中,“i”最大为分割数Div_num。当能进行长跳跃的点的分布是依赖于内容的时(取决于局部比特率),实际的实施方式可以以根据一个交织群组的总数据大小(例如B1+B2+B3)估计出的分割数开始。该系统随后可以利用增大的分割数迭代地再次尝试交织。如果在规定实施方式中期望,最大迭代次数可以被设置。
[0069] 以上描述的情况讨论了其中仅一个章节就具有多个分支的多故事情形。将理解,该系统和方法的实现可以被用在其中多个章节具有多个分支的情形中。例如,参考图11(A),示出章节布局130,其中,故事线A-B具有多个分支(A1 142i,A2 142j和A3 142k),其引导至B的多个分支(B1 144i,B2 144j和B3 144k)。每个Ai引导至三个可能的Bj,从而有9种可能的组合。
[0070] 分配这些SSIF文件的一种一般默认方式在图11(B)中被示作分配140。然而,显然,从SSIF文件142i的末尾到SSIF文件144k的开头的跳跃在此情况下是最大长跳跃,常常可能超过640,000扇区。因此,需要交织。图11(B)的下图示出的就是这样的交织,并且如以上所述,SSIF文件被交织的点应当出现在适当的能进行跳跃的点处。如图所述,所需要的最长跳跃低于640,000扇区的最大值,该最大值称为“规则A”。如从图中可见,并且通常会遇到的,群组A文件中的最后的EXTSS和群组B文件中的第一EXTSS需要更小大小的EXTSS文件以便将最长跳跃(A1至B3)保持在所要求的640,000扇区内。这可以通过将这些EXTSS文件的大小估计为之前的EXTSS文件的大约一半从而产生跳跃距离小于320,000扇区的“规则B”来实现。当然,应当理解,在给定环境中可以采用这些规则的变形。
[0071] 图12图示出根据在此所述的原理的3D制作工具的系统170。系统170包括处理器182和存储器184,存储器184承载能够分析3D流并将3D流分割成一系列基础视点块和从属视点块的计算机可读指令。将理解,当仅期望2D输出时,仅需要创建基础视点块。系统170还包括存储器186,存储器186承载能够选择在该系列的块之间的一个或多个点作为能进行长跳跃的点的计算机可读指令。存储器186通常将访问承载能够检测块的比特率的计算机可读指令的存储器188。使用上述比特率并且也可能使用跳跃距离或其它参数,点可以被分类为有可能是能进行长跳跃的。当这样的点被这样分类时,从该点进行的长跳跃具有很低的缓冲器不足可能性,因此增大了无缝回放的可能。系统170还可以存储器192,存储器192包括承载能够对多分支故事线的块进行交织的计算机可读指令,该交织在能进行长跳跃的点处发生。如上所述,存储器192可以包括用于确定对于添加交织所需的块等所需要的块的数目的算法。系统170还可以包括存储器194,存储器194承载能够创建最后的基础视点块的计算机可读指令,最后的基础视点块具有比至少一个或多个在前块更大的大小。可以通过使得之前的块中的一些块变小结果这样的块具有更小的长度来使得最后的基础视点块更大。系统170还包括存储器196,存储器196承载能够使用能进行长跳跃的点来确定用于无缝回放的分层点的计算机可读指令。还可以理解有其它存储器,包括对于测试层大小等必须的存储器。
[0072] 已经公开了供用于在长跳跃时防止缓冲器不足的3D制作工具,长跳跃当在从一个媒体层跳跃到另一个媒体层时或者当在多故事媒体标题中去往较远扇区的分支被进行时发生。
[0073] 一种实施方式包括一个或多个可编程处理器以及对应的计算系统组件来存储和执行计算机指令,诸如用于执行提供3D制作工具的代码。参考图13,图示出示例性计算环境160的代表。
[0074] 该计算环境包括控制器152、存储器156、存储装置158、媒体设备164、用户接口172、输入/输出(I/O)接口174以及网络接口176。这些组件通过公共总线178互连。可替换地,可以使用不同的连接配置,例如以控制器为中心的星形模式。
[0075] 控制器152包括可编程处理器并且控制计算环境及其组件的操作。控制器152从存储器154或嵌入式控制器存储器(未示出)装载指令并且执行指令来控制该系统。在执行时,控制器152可以提供部分地作为软件系统的上述功能。可替换地,这些功能也可以被实现为控制器152中的分离的模块化组件。
[0076] 存储器154可以包括非暂时性计算机可读存储器156,临时存储供系统的其它组件使用的数据。在一种实施方式中,存储器154被实现为RAM。在其它实施方式中,存储器154也包括长期的或永久的存储器,诸如闪存和/或ROM。
[0077] 存储装置158可以包括非暂时性计算机可读存储器162,临时或长期存储供系统的组件使用的数据。在一种实施方式中,存储装置158是硬盘驱动器或固态驱动器。
[0078] 媒体设备164可以包括非暂时性计算机可读存储器166,其接收可移除介质并且读取和/或写入数据到插入的介质。在一种实施方式中,媒体设备164是光盘驱动器或光盘刻录机,例如可写 盘驱动器168。
[0079] 用户接口172包括用于从用户接手用户输入(例如用户内容选择)并向用户呈现信息的组件。在一种实施方式中,用户接口172包括键盘、鼠标、音频扬声器和显示器。控制器152使用来自用户的输入来调节制作工具的操作。
[0080] I/O接口174包括一个或多个I/O端口来与对应的I/O设备连接,I/O设备例如是外部存储装置或补充设备,例如打印机或PDA。在一种实施方式中,I/O接口174的端口包括如下端口,诸如:USB端口、PCMCIA端口、串行端口和/或并行端口。在另一实施方式中,I/O接口174包括用于与外部设备的无线通信的无线接口。这些I/O接口可以用于与一个或多个内容回放设备连接。
[0081] 网络接口176允许与本地网络的连接并且包括有线的和/或无线的网络连接,诸如RJ-45或以太网或“WiFi”接口(802.11)。可以理解,许多其它类型的网络连接也是可以的,包括WiMax、3G或4G、802.15协议、802.16协议、卫星、 (蓝牙)等。
[0082] 计算环境可以包括这样的设备所一般具备的另外的硬件和软件,例如电源和操作系统,虽然这些组件在图中为了简化起见而未被具体示出。在其它实施方式中,该设备的不同配置可以被使用,例如不同总线或存储配置或多处理器配置。
[0083] 已经描述了本发明的各种说明性实施方式。然而,(给定该教导的)本领域普通技术人员将认识到在本发明的范围内还可以有另外的实施方式。
[0084] 例如,该技术可以适用于其它类型的混合内容,而不仅仅是2D和3D流。
[0085] 相应地,本发明仅由权利要求及其等同物限定。
[0086] 相关申请的交叉引用
[0087] 本申请要求本发明的受让人所拥有的于2010年11月19日提交的标题为“3D制作工具”的美国临时专利申请No.61/415,661的优先权,并且通过引用该申请将其全部内容结合于此。