控制用于读取数据流的光学拾取器以便同时再现的方法

文档序号:6755259阅读:193来源:国知局
专利名称:控制用于读取数据流的光学拾取器以便同时再现的方法
技术领域
本发明涉及一种用于操作针对光学拾取器(optical pick-up)的调度程序(scheduler)的方法。拾取器从光存储介质中读取属于不同的数据类型数据流,例如,音频、视频、字幕或者其它数据,并且数据流分布在存储介质上的多个文件中。
背景技术
预先刻录和自刻录的盘可以支持“Out Of Multiplex”(OOM)格式。Out of multiplex是在盘的不同位置存储例如视频、音频和字幕的不同流分量的格式,即,不同的文件。这可以利用各种标准化介质来实现,例如,蓝光(Blu-ray)盘或者DVD。此外,可以实现公知为多角度的视频技术。多角度意味着对于特定场景,视频电影(video film)可以包含在平行时间轴上的针对特定场景的各种可选视角,其是用户可选择的,并且可以被无缝地集成到视频中。为了回放OOM源,在回放设备通过其针对同步表示的具体解码器对流进行解码之前,拾取器从不同的位置读取所有需要的流。这意味着拾取器必须从一个流跳转到另一个流,以便同时服务于所有解码器,而没有可察觉的呈现中断。通常,拾取器包含承载光学传感器的传动器(actuator),并且通过针对粗调节的机械驱动,拾取器是可移动的,而针对微调节,传动器是可独立移动的,不需机械驱动。
用于提供具有光驱动的OOM技术的直接解决方案是缓冲区技术附加的流缓冲区用于桥接(bridge)跳转到另一个所请求的流并且将其读取所需的时间。典型示例包括三种流视频、音频和字幕。例如,设计视频缓冲区的尺寸,以便可以执行跳转到音频流、加载音频缓冲区、跳转到字幕流、加载字幕缓冲区以及跳回视频流,而视频缓冲区不需空转。类似地设计例如针对音频和字幕的其它缓冲区的尺寸。

发明内容
必须同时读取多个文件这一事实所引起的问题是由于机械驱动引起噪声和损耗的较高拾取器跳跃频率。此外的问题是在无缝视频角度切换期间出现的延迟。该延迟是从请求视频角度改变直到看到其它视频角度所需要的时间。其确定主要根据视频缓冲区的尺寸,或者根据直到视频缓冲区变空并且新内容到达视频解码器的时间量。同样也应用于启动OOM解码。由于所有缓冲区必须从头开始填充,因此,从按下启动按钮直到有效地开始显示所经过的时间相当长。
本发明所要解决的问题是提供一种用于控制拾取器的调度方法,以便实现拾取器跳跃频率的减小。通过权利要求1中所公开的方法解决该问题。在权利要求9中公开了使用该方法的设备。
本发明解决的另一个问题在于减小呈现启动所需的延迟时间。权利要求5-7公开的方法解决了这一问题。
权利要求6公开了一种缓冲区填充方法,提供了初始化期间的最短可能延迟。
有利地,包括一种用于减小角度切换所需延迟时间的方法。
本发明的方法实现了较低的拾取器跳跃频率,因此实现了噪声减小和改进的拾取持续性。这通过非对称地设计缓冲区尺寸来实现。这里公开的另一个思想提供了一种用于OOM解码的技术,减小了无缝角度改变的切换时间。对于作为蓝光盘典型应用的HDTV流,缓冲区非常大。对于等待所请求的角度变化可见的用户来说,较大的缓冲区引起较长的延迟,其延迟可以通过本发明的方法来缩减。针对OOM的解码的启动出现相同的问题,并且可以通过所公开的方法而改善。
本发明的一个目的是非对称地扩大较低速率流的缓冲区,同时保持最高速率流缓冲区尽可能的小。典型应用是高分辨率(HD)视频、音频和字幕的OOM解码。当读取用于视频、音频和字幕的三种流时,按照以下方式扩大较低速率流音频和字幕的缓冲区在必须重新填充音频和字幕缓冲区之前,能够多次填充视频缓冲区。扩大用于音频和字幕的缓冲区尺寸引起拾取跳跃之间的时间差别的扩大,并因此减小了拾取器跳跃频率。由于只需要传动器移动而无需拾取器跳跃,同时多次填充视频缓冲区不会增大拾取器跳跃频率。因此,降低了结果的拾取器跳跃频率。
本发明的另一个目的是使用于无缝视频角度切换的切换延迟时间最小。这通过在视频缓冲区中引入角度切换标签来实现。角度切换标签用于确定视频缓冲区的以下部分在角度切换情况下被废弃的部分,以及可以将其去除或重写而不给正在运行的缓冲区带来危险的部分。当已经从视频缓冲区去除废弃内容时,利用请求的新内容来填充缓冲区。重写废弃数据同时执行两个步骤。因为解码器不需要处理废弃内容,视频缓冲区的废弃内容的这种受控替换减少了视频角度切换时间。
具体地,公开了一种用于控制从通常是光盘的存储介质中读取数据流的拾取器的方法,其中数据流属于不同的数据类型,例如音频、视频或字幕,因此具有不同的恒定或可变数据率。此外,数据流分布在所述存储介质上的多个文件中,由于其用于同步再现,当读取之后必须分离地进行缓冲。由于只有一个拾取器,与任意所述数据流相关的缓冲数据量最小,以便在访问和读取其它数据类型的其它数据流所需的时间期间,能够将缓冲的数据提供给例如解码器的后续处理。该方法包括当与所述数据流相关的缓冲数据的剩余量低于阈值时,请求拾取器从数据流中读取更多数据;缓冲第一数据类型的第一数据流,所述数据流具有所有所述数据流中的最高数据率(例如视频);以及缓冲第二数据类型的至少第二数据流(例如音频),其中设置缓冲的数据量,以便与所述第二数据类型相关的读取请求之间的时间是与所述第一数据类型相关的读取请求之间的时间的倍数。
有利地,本发明还可以用于针对所描述的应用,最优化地设计给定数量的缓冲空间。
在从属权利要求、以下描述以及附图中公开了本发明的有利实施例。


参考附图描述了本发明的典型实施例,其中图1a)以传统方式设计尺寸的用于连接三种OOM流的跳跃和加载时间的比特流缓冲区;图1b)根据本发明的包含另外扩展缓冲区空间的用于连接三种OOM流的跳跃和加载时间的比特流缓冲区;图2针对结果的拾取器跳跃频率的定性的示例,比较了相等共享扩展缓冲区和非对称共享扩展缓冲区;图3是视频角度切换期间的传统视频缓冲区模型;图4a)根据本发明的在视频角度之前的视频缓冲区模型;以及图4b)根据本发明的在视频角度之后的视频缓冲区模型。
具体实施例方式
以下将给出本发明的详细描述,其包括问题的详细分析。
OOM解码主要受以下互相依赖的参数所影响拾取器最大值信道比特率R,拾取器访问时间Tacc,拾取器跳跃频率fjump,结果总缓冲区尺寸B∑,分离的流数目N,以及,各个流的比特率ri。
针对OOM解码的一般方法是缓冲所有跳跃以及请求用于服务所有N个已解码流的加载时间。图1a)示出了用于三种流的示例。例如,通过桥接缓冲区Δb1扩大针对视频的基本缓冲区b1,所述桥接缓冲区Δb1的尺寸按照以下方式设计在读取视频缓冲区的同时,可以执行以下操作且视频缓冲区不变空跳转J到音频流、加载S2音频缓冲区、跳转J到字幕流、加载S3字幕缓冲区以及跳回J到视频流。S1是需要自身加载整个视频缓冲区b1、Δb1的时间。通过Δb2和Δb3以相同方式扩大音频和字幕的基本缓冲区。
缓冲区尺寸可以计算为
Bi=bi+Δbi(eq.1.0)每个流的缓冲区尺寸B=∑bi(eq.1.1)总基本缓冲区尺寸ΔB=∑Δbi(eq.1.2)总扩展缓冲区尺寸B∑=B+ΔB=∑bi+∑Δbi(eq.1.3)总缓冲区尺寸针对单个流缓冲区的缓冲区填充时间由下式确定Tfill;i=Bi(R-ri)---(eq.2)]]>当累积针对三种比特率的所有跳跃和填充时间时,可以建立线性方程系统(LES),并且可以确定产生的桥接缓冲器Δbi。针对N个流产生的LES可以写为以下矩阵形式Δb1Δb2··ΔbN=1r11r2-R··1rN-R1r1-R1r21rN-R······1r1-R1r2-R1rN-1N·Tacc-Σi≠1Nbiri-RN·Tacc-Σi≠2Nbiri-R··N·Tacc-Σi≠NNbiri-R---(eq.3)]]>为了提供N个OOM流,产生的拾取器跳跃频率可以估计为fjump≈NΣi=1N(Tacc+Tfill,i)=1Tacc+1NΣi=1NBi(R-ri)---(eq.4)]]>由于ri是可变比特率(VBR),eq.4是针对平均值的估计。此外,有效的跳跃频率可以较高,因为不同的缓冲区不始终完全空运行,即,有效的Bi较小。
Eq.3和eq.4描述了简单的循环(round-robin)调度程序在完全充满缓冲区之后,调度程序切换到下一个缓冲区。继续进行该处理,直到已经用于所有的流缓冲区,并且调度程序通过所有流开始新循环。当具有较高的读取数据速率时,为了避免最差情况的缓冲区下溢,可以独立于单独的缓冲区充满度(fullness)进行循环调度。这意味着比实际所需更高的恒定拾取器跳跃频率。
根据本发明,当进一步扩大桥接的流缓冲区并使用另一种循环调度程序模型时,可以减小拾取器跳跃频率。根据本发明,这种其它调度程序模型可以是如下所述的自由运行的调度程序—每一个OOM流具有其自身的缓冲区,—当达到阈值时,例如“几乎空闲”,根据请求填充每一个OOM缓冲区,—使用排队机制处理并发请求,即,对每一个用于填充OOM缓冲区的请求排队一次。
针对根据本发明的自由运行的调度程序,通过累积单个拾取器跳跃频率来确定产生的拾取器跳跃频率,并且通过以下计算fjump=Σi=1Nfi---(eq.5)]]>图1b)示出了进一步扩大的流缓冲区的方案。缓冲区b1、Δb1通过扩展缓冲区bx1进行扩展。在读取扩展缓冲区的同时,不使用拾取器。这产生单个流拾取器跳跃频率的降低,并且,因此影响根据eq.5产生的拾取器跳跃频率。使用扩展缓冲区改变eq.1.0,其现在是Bi=bi+Δbi+bxi(eq.6)但是,缓冲区扩展bxi具有两个缺点,第一是其要求更多的存储器,并且第二是由于bx1所需的额外填充时间,其影响其它流缓冲区需要的桥接缓冲区Δb2,Δb3。通过增加扩展缓冲区bx2、bx3来扩大其它桥接缓冲区Δb2、Δb3,确保了针对任一流缓冲区填充请求的自由运行调度程序的及时响应。根据本发明,针对桥接缓冲区的尺寸的最好折衷方法如下。
首先,确定单个流拾取器跳跃频率fi。在自由运行调度程序已完全填充流缓冲区Δbi+bi+bxi之后,继续读取缓冲区并且缓冲区空运行。当达到阈值T时,例如,Δbi+bi,缓冲区可以向调度程序发送重新填充请求,并且调度程序对请求进行排队。此外,流缓冲区为空,直到调度程序对该请求进行服务。该示例假设通常剩余缓冲区的一半(Δbi+bi)/2在调度程序作用之前空运行。当服务于请求时,剩余缓冲区的填充由图1b)中的灰色区域F所示。将以下计算应用于单个流拾取器跳跃频率fi=(Tfill,i+Tempty,i+Tacc)-1---(eq.7.1)]]>fi=(bi+Δbi2+bxiR-ri+bi+Δbi2+bxiri+Tacc)-1---(eq.7.2)]]>fi=2·ri·(R-ri)bi·R+ΔbiR+2·bxi·R+2·Tacc·ri·R-2·Tacc·ri2---(eq.7.3)]]>Tempty,i是读取针对流i的缓冲区的时间,而不需被填充。扩大eq.5和eq.7所描述的扩展缓冲区bxi可以减小产生的拾取器跳跃频率。
根据本发明,非对称地增加扩展缓冲区bxi是尤其有利的,即,单独选择每一个扩展缓冲区bxi,以使最高的拾取器跳跃频率fi,r=max是产生的单个拾取器跳跃频率fi,r≠max的倍数。这由以下等式表示fi,r=max=λ·f1=λ·f2=…=λ·fn,n≠i…=λ·fN(eq.8.1)fVideo=λ·fAudio=λ·fSubtitle(eq.8.2)在eq.8.1中,f1是bx1等的函数,并且λ是非对称因子。当按照以下方式选择eq.8.1的关系具有最高比特率的流,通常是视频流,具有最高的跳跃频率fi,r=max,则这导致产生的拾取器跳跃频率降低,同时使用相同总量的扩展缓冲区B∑作为以前的调度处理系统。这使得额外缓冲区的利用率最优,因此针对额外缓冲区节省了最多字节。单独扩大针对较低比特率流的流缓冲区,从而满足非对称因子λ。
eq.8.2是针对多媒体内容的OOM解码的典型蓝光盘应用的示例,例如所述多媒体内容包括HD视频、音频和字幕。当读取针对视频、音频和字幕的三种流并根据本发明扩大较低速率流的缓冲区时,则在音频和字幕缓冲区需要被重新填充之前,可以填充视频缓冲区λ次。通过这种针对音频和字幕流的缓冲区尺寸的扩大,拾取器跳跃之间的时间可以较长,并且因此单个流拾取器跳跃频率较低。同时,填充视频缓冲区λ次不会增加拾取器跳跃频率,因为其仅要求拾取器的传动器运动,没有跳跃。因此,结果是降低了拾取器跳跃频率。
可以采用以下来计算改善的结果跳跃频率f*jump≤fjump=Σi=1Nfi---(eq.9.1)]]>f*jump=min(N-1λ;1)·fr=max+(N-1λ)·fr=max---(eq.9.2)]]>在典型的应用示例中,fr=max与视频流缓冲区相对应。通过针对三种流结合eq.3和eq.8.2,可以建立新的LES,所述LES还包含针对音频和字幕的扩展缓冲区bx2、bx3的值。LES是(Δb1Δb2Δb3bx2bx3)=M-1(λ)×v(λ) (eq.10.1)M(λ)=1-r1R-r2-r1R-r3-r1R-r2-r1R-r3-r2R-r11-r2R-r30-r2R-r3-r3R-r1-r3R-r21-r3R-r200Rr2·(R-r2)-Rr3·(R-r3)2·Rr2·(R-r2)-2·Rr3·(R-r3)Rr1·(R-r1)0-Rλ·r3·(R-r3)0-2·Rλ·r3·(R-r3)---(eq.10.2)]]>v(λ)=r1·3·Tacc+r1·b2R-r2+r1·b3R-r3r2·3·Tacc+r2·b1R-r1+r2·b3R-r3r3·3·Tacc+r3·b1R-r1+r3·b2R-r2-R·b2r2·(R-r2)+R·b3r3·(R-r3)2·Tacc(1λ-1)-R·b1r1·(R-r1)+R·b3λ·r3·(R-r3)---(eq.10.3)]]>M(λ)和干扰v(λ)是非对称λ的函数。但是不能随意选择λ。由于其修改了需要充满其它缓冲区的时间,由以下条件限制
Tempty,i-3·Tacc-Σn=1,n≠iNTfill,n≥0---(eq.11)]]>这意味着可以通过缓冲区Tempty,i进行桥连而无需重新填充的时间必须等于或高于需要访问、读取其它流并将其存储到各自缓冲区的时间。使用LES eq.10,并且考虑到eq.11的条件,可以确定桥接缓冲区Δbi和扩展缓冲区bxi。
针对例如来自蓝光盘的电影的典型应用,在图2中描述了通过非对称λ所实现的增益。其示出了使用相等共享扩展缓冲区的调度系统的结果拾取器跳跃频率fskip,i,与根据本发明的使用非对称扩展缓冲区的系统产生的拾取器跳跃频率f*skip,i相比较,二者都是变量λ的函数。对于所示出的λ的合理值,即,λ大于等于2,针对本发明的调度程序的拾取器跳跃频率低于针对传统调度程序的拾取器跳跃频率。图示基于参数的典型值,即,Tacc=0.8s,R=54Mbps,rVideo=40Mbps,rAudio=640kbps,rSubtitle=2kbps。
本发明的另一个要点是降低了用于无缝视频角度切换的切换延迟时间。对于OOM解码,可以将无缝视频角度切换比作视频流文件的变化。这必须针对用户无缝地完成,即,在视频中没有任何画面瑕疵、空白或者暂停。仅在流中的具体字节位置可以进行无缝视频角度切换。通过关于流的导航信息表示这些位置,例如,针对MPEG情况的画面组(GOP)边界。
图3示出了传统的视频流缓冲区,其被拾取器比特率R填充,并且同时随解码比特率ri变空。平均地,填充率R必须大于或等于解码比特率ri,从而防止缓冲区变空。当再现视频时,将关于第一视角A1的流加载到缓冲区并且将其再现。在再现一定时间之后,用户可以请求视频角度改变。此时,缓冲区具有剩余填充级L1。当调度程序已接收该请求并且要再重新填充视频缓冲区时,拾取器将不立即跳转到其它与第二视角A2相关的视频流。相反,拾取器继续读取第一视角A1的其它字节,直到在比特率中检测到无缝连接;此时,缓冲区具有新的填充级L2,包含关于第一视角A1的视频流。实现无缝连接之后,拾取器可以通过跳转到关于第二视角A2的视频流,从而切换视频输入流。然后,将该流加载到在级别L2之上的视频缓冲区中。
同时,解码器在读取位置L0处从视频比特缓冲区读取数据,并且因此减少了缓冲区的填充,即,级别L1和L2连续地下降。该场景中切换视频角度之前的有效延迟时间由以下因素确定当视频角度改变请求到达调度程序时的缓冲区充满度L1;与实现无缝连接之前的旧视频角度A1相关的新加载序列的长度,其将缓冲区填充到L2;以及视频解码比特率ri。针对用户的有效延迟时间由缓冲区充满度L2-L0的量和视频比特率来确定,如下所述Tdelay=BL2-L0ri---(eq.12)]]>为了实现较小的延迟,保持较小的视频比特缓冲区是有用的。但是,如上所述,这提高了拾取器跳跃频率。此外,延迟时间可以显著地变化,因为没有确定请求时的缓冲区充满度L1。可以通过本发明实现视频角度切换的改善,并且有利于每一个信道切换。
最小化缓冲区尺寸BL2-L0降低了有效延迟时间Tdelay。根据本发明,这可以通过在视频缓冲区内引入角度切换标签而实现。角度切换标签标记位于比特流之内可能的无缝连接点。当根据本发明的调度程序填充视频比特缓冲区时,其估计通过相关导航信息所给出的可能的无缝连接进入点,并且使用标签来标记相对应的比特缓冲区位置。这可以通过各种方式实现,例如,通过将标签加入缓冲区内容中。在用于解码而读取视频比特流的同时,标签逻辑上向下移动,始终与相同的无缝连接相关联。但是,实际上,可以使用环形缓冲区或者FIFO,其有效地不移动缓冲区中的任何字节并保留相同的标签物理位置或地址。因此,还可以代替标签,存储例如分离缓冲区中无缝连接位置的地址,并且通过将表示标签的地址与数据读取地址相比较,来定位无缝连接进入点。
有利地,角度切换标签可以用于容易地确定视频缓冲区的以下部分当请求角度变化时被废弃的部分,以及可以将其移除而不给正在运行的缓冲区带来危险的部分。根据本发明,可以使用以下所描述的流切换算法。
图4a)示出了典型的视频缓冲区,其正被拾取器比特率R填充,并且被读取解码器比特率ri。当用户请求从当前角度A1到另一角度A2的视频角度改变时,调度程序估计其目前已存储的角度切换标签SL。当处理该请求时,缓冲区被填充并达到当前填充级L2,并且可以包含各种角度切换标签SL。在接收到请求之后,将拾取器移动到可以读取新的视频比特率的位置需要最差情况的最小时间tmin。在该时间tmin期间,由于角度切换应为无缝的,所以视频缓冲区被恒定地读取并不会变空。通常根据以下关系来计算将在时间tmin期间读取的数据量所需的缓冲区空间buffer=ri·time(eq.13)由于根据VBR,ri通常是可变的,可以使用可能的最高速率应对最差情况。根据本发明,将根据eq.13所计算的缓冲区尺寸加到当前缓冲区读取位置L0中,从而计算最早可能的切换位置L1。此外,在该位置L1上所发现的第一角度切换标签L2*是最早可能的角度切换位置。这里,将该具体角度切换位置L2*称作“接合标签”。当调度程序从接合标签L2*开始下一次视频缓冲区填充过程时,可以加载所请求角度A2的新视频内容。因此,删除旧缓冲区的关于角度A1的一部分内容,即,从接合标签L2*到当前缓冲区填充级L2,并且由关于角度A2的新内容所代替。图4b)中示出了该情况。针对用户的有效延迟时间通过与旧角度A1相关的剩余数据量以及视频比特率来确定,并且计算为T*delay=BL2*-L0ri---(eq.14)]]>由于eq.14中BL2*-L0的小于eq.12中的BL2-L0,并且ri在两个等式中相同,所以缩短了延迟时间T*delay。
可以使用哪一个切换标签作为接合标签取决于最小可能切换时间tmin。这是拾取器开始移到新视频流与缓冲新视频数据之间的时间。其包括以前所提到的拾取器访问时间Tacc以及与Tacc相比非常小的中间处理时间。因此,如eq.14中所描述,可以通过减小最小可能切换时间tmin,进一步减少真正切换视频角度之前的延迟时间。根据本发明,如下所述,这可以通过修改自由运行的调度程序模型而实现。当本发明的调度程序接收到角度切换请求时,其可以分析在队列中注册了哪些流缓冲区填充请求。根据排队的填充请求,其可以确定最小时间tmin,并且选择最优的接合标签。
如果缓冲区不包含切换标签,拾取器可以继续读取旧的数据流,直到检测到切换标签,然后切换到新的数据流。
有利地,针对无缝切换所描述的机制不局限于视频角度切换,而是可以用于任意类型的视频数据切换,或者用户操作的视频数据的再现,例如,当可以由另一视频场景代替一个视频场景时。此外,其不仅可以用于视频数据流,而且还可以用于其它数据流。具体地,例如,在视频角度切换的情况下可以针对音频数据流使用相同的机制,以便适应音频再现。此外,可以存在各种类型的切换标签,仅涉及具体数据流,并且包含相应的指示。在这种情况下,可以类似地应用本发明的方法。
在本发明的其它实施例中,即使当出现角度切换请求时其已经在队列中,也可以修改请求的处理。调度程序可以执行队列中的所有请求,而不会过早地停止其执行,即,在完全填充流缓冲区之前。这节省了更多时间,并且减少了视频角度切换延迟时间。但是,所中断的流缓冲区填充处理必须服从Tfill,min=Σi=1in queue(Tacc+bi+Δbiri)---(eq.15)]]>Eq.15意味着在过早中断填充请求的流缓冲区之前,至少必须已经填充了基本缓冲区bi和桥接缓冲区Δbi。
根据本发明的调度程序的另一个优点是启动N个流的完全的OOM解码的具体策略。启动时的正常延迟是由于N次拾取器跳跃和N次流缓冲区填充的累积。通过使用eq.2和eq.6,启动延迟时间是Tstartup=Σi=1N(Tacc+bi+Δbi+bxiR)---(eq.16)]]>因为解码器还没有运行,所以在eq.2中分母较大,因此较快地填充缓冲区。
根据本发明的启动步骤的最优化包括彼此独立的两个改进,并且在以下进行描述。
第一个改进是在启动期间考虑要填充的缓冲区的数量。当自由运行的调度程序接收到启动命令时,其不完全加载OOM流缓冲区。与上述角度切换算法相同,其仅填充OOM流缓冲区的一部分,并且最后服务于具有最高比特率的比特流。以以上应用示例为例,启动时,调度程序首先填充用于音频和字幕的OOM流缓冲区,并且然后填充OOM视频流缓冲区。此外,针对除最后OOM流以外的所有流,其仅需要加载基本缓冲区bi和桥接缓冲区Δbi。此外,对于除最后OOM流以外的所有流,设置OOM流缓冲区重新填充请求。然后,可以完全加载最后的流缓冲区,但是,当仅填充了最后OOM流缓冲区的基本缓冲区部分bi时,可以开始针对所有流的解码。因此,启动延迟是T*startup=N·Tacc+bi=ri,maxR+Σi=1,i≠ri,maxN-1bi+ΔbiR---(eq.17)]]>在该启动步骤之后,自由运行的调度程序可以如以上所述正常工作,并且可以通过桥缓冲区Δbi来桥接所有排队的缓冲区填充请求。
根据本发明,针对启动过程的第二个改进涉及OOM流缓冲区的序列,即,除了最后之外的所有OOM流缓冲区的加载顺序。eq.17的主要部分是拾取器访问时间Tacc,其是物理参数,即在最差情况下整个冲程跳跃所需要的时间,并且因此无法缩减。根据本发明,由于第一加数“N·Tacc”是最差情况值,所以可以减小eq.17的第一乘积。可以根据以下方法将其最小化。
当开始读取盘时,读取设备确定其包含哪些文件以及所述文件在盘上的物理位置。因此,调度程序可以具有该信息,并且选择OOM流缓冲区填充命令,其取决于OOM流文件在盘上的物理位置。根据哪一个距离当前拾取器位置较近,调度程序可以从最外部或者最内部的物理盘位置处的OOM流缓冲区开始。此后,调度程序将物理上最近的OOM流加载到其各自的OOM流缓冲区。重复进行该处理,直到仅剩最后具有最高比特率的流。独立于其在盘上的物理位置,最后加载具有最高比特率的OOM流。
有利地,当使用该启动过程时,拾取器的移动将不超过横跨整个盘两次。这对应于两个完整的冲程跳跃。产生的启动延迟是T**startup=2·Tacc+bi=ri,maxR+Σi=1,i≠ri,maxN-1bi+ΔbiR---(eq.18)]]>Eq.18示出了当N>2时,来自Eq.17的主要加数“N·Tacc”减小,并且独立于所处理的流的数目,因此缩减了启动时间。
本发明还可以应用于不是所有流都要求缓冲的系统中。例如,可以存在介质上所包括的另一数据流,其包含不重复或者不周期性读取的数据,例如,仅在呈现开始时一次,并且可以以拾取器数据率进行处理,因此,不需要缓冲。
例如所有类型的介质再现设备可以使用本发明的方法,所述设备包含光学或非光学拾取器,具体是蓝光盘播放器。
有利地,还可以使用这里所公开的方法,从而针对所描述的应用最优地划分给定数量的缓冲空间。
权利要求
1.一种控制用于从存储介质读取数据流的拾取器的方法,数据流被分布到所述存储介质上的多个文件中,被在读取之后被分离地间歇缓冲,在间歇缓冲之后,连续地读取数据流并将其用于同时再现,缓冲区具有不同的恒定或可变输出数据率,所述方法包括当与所述数据流相关的缓冲数据的剩余量低于阈值时,请求拾取器从数据流中读取更多数据,其中所述调度请求,使拾取器为其服务;从两个或更多数据流(S1,S2,S3)中读取数据的所述请求部分,并在各个缓冲区中缓冲读取的数据,同时以各个缓冲区输出速率同时地输出所缓冲的数据,其中在各个缓冲区桥接时间之后达到所述阈值,与第一数据流(S1)相关的缓冲区的缓冲区桥接时间是第一时间,所述第一数据流(S1)具有高于所述其它数据流(S2,S3)的数据率,以及与其它数据流(S2,S3)相关的缓冲区的缓冲区桥接时间是所述第一时间的整数(λ)倍,整数(λ)至少是二。
2.根据权利要求1所述的方法,其特征在于,至少读取三种数据流(S1,S2,S3)。
3.根据权利要求2所述的方法,其特征在于,对于所有所述其它数据流(S2,S3),整数(λ)是相同的。
4.根据权利要求2或3所述的方法,其特征在于,所述存储介质是光存储介质,数据流至少包括视频流、音频流和字幕流。
5.根据前述权利要求之一所述的方法,其特征在于,进行初始化,以便在其它数据流(S2,S3)之后从存储介质读取所述第一数据流(S1)。
6.根据前述权利要求之一所述的方法,其特征在于,进行初始化,以便完全地填充用于第一数据流(S1)的缓冲区,同时只部分地填充用于其它数据流(S2,S3)的缓冲区。
7.根据前述权利要求之一所述的方法,其特征在于,进行初始化,以便从存储介质上读取除所述第一数据流(S1)以外的数据流(S2,S3)的顺序,与所述其它数据流(S2,S3)处于存储介质上的顺序相同或相反。
8.根据前述权利要求之一所述的方法,其特征在于,还从所述存储介质上读取没有随后缓冲的数据流。
9.一种用于从存储介质读取数据流(S1,S2,S3)的设备,数据流被分布到所述存储介质上的多个文件中,被在读取之后被分离地间歇缓冲,在间歇缓冲之后,连续地读取数据流并将其用于同时再现,缓冲区具有不同的恒定或可变输出数据率,所述设备包括拾取器,用于从所述存储介质读取数据流;请求装置,用于当与所述数据流相关的缓冲数据的剩余量低于阈值时,请求拾取器从数据流中读取更多数据,其中用于读取相同数据流的连续请求之间的时间取决于各个缓冲区尺寸及其输出数据率;调度装置,用于在拾取器为其服务之前调度所述请求;具有第一缓冲区尺寸(B1)的第一缓冲区,用于缓冲第一数据类型的部分第一数据流(S1),其中所述缓冲区的平均输出数据率高于用于其它数据流(S2,S3)的缓冲区的平均输出数据率,其中以各个缓冲区输出速率输出所缓冲的部分数据所需的时间是第一时间;以及具有各个第二缓冲区尺寸的一个或多个第二缓冲区,用于缓冲一个或多个第二数据类型的部分一个或多个第二数据流(S2,S3),其中以各个缓冲区输出速率输出所缓冲的部分数据所需的时间是所述第一时间的整数(λ)倍,整数(λ)至少是二。
10.根据前述权利要求之一所述的设备,其特征在于,所述存储介质是光盘,所述第一数据流(S1)是视频数据流,所述第二数据类型包括音频数据和字幕数据。
全文摘要
一种用于光学拾取器的最优化调度程序的方法,其减少了用于再现的拾取器跳跃频率和初始启动时间。拾取器从例如蓝光盘的光学存储介质上的不同文件中读取数据流,并将数据流缓冲在分离的缓冲区。当视频缓冲区(B
文档编号G11B27/30GK1802702SQ200480008324
公开日2006年7月12日 申请日期2004年3月22日 优先权日2003年4月2日
发明者迪尔克·阿多夫, 哈拉尔德·席勒, 约布斯特·霍拉特鲁, 拉尔夫·奥斯特曼, 哈特穆特·彼得斯 申请人:汤姆森许可贸易公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1