发明内容
在上述技术中,如果根据最大视频比特率来确定流缓冲存储器104的容量Q,那么将该容量Q设置成比一个单元的实际大小还要大。这引起了这样的问题,即需要大容量的流缓冲存储器,这提高了设备成本。
此外,如果将流缓冲存储器104的容量Q预先确定为相对低的值,那么由此应该降低一个单元中的VOBU的固定数目。因为单元的最大数目受到限制,因此这引起了这样的问题,即记录时间受到流缓冲存储器104的容量的限制。
根据本发明的第一方面,用于将视频数据和/或音频数据记录在记录介质中的数据记录设备包括:一压缩编码单元,用于对所输入的数据流进行压缩并且对其进行编码、按级别排列可变数据块、并且将所产生的多个较低级别的数据块组块成较高级别的数据块;一数据块临时存储单元,用于临时存储在压缩编码单元中所产生的至少一个较高级别的数据块在并且该数据块临时存储单元包括n(n是给定的自然数)个较低级别的数据块;以及一控制单元,用于对在压缩编码单元中所产生的较高级别数据块的大小进行管理并且对压缩编码单元进行控制以按照这样一种方式来对数据块进行组块,该方式即就是较高级别数据块包括多个较低级别数据块以达到较高级别数据块的大小不会大于数据块临时存储单元的容量这样的程度,其中当从压缩编码单元中接收到其表示已完成了产生较低级别数据块的一产生完成信号时,如果从在压缩编码单元中当前所产生的较高级别数据块的开头处所计数的多个较低级别数据块的总大小等于或者大于数据块临时存储单元的容量与多个较低级别数据块的最大较低级别数据块的大小之间的差值,那么控制单元产生了一结束处理请求以执行一结束处理以将刚刚所产生的较低级别数据块确定为其包含在当前所产生的较高级别数据块之中的最后的较低级别数据块以送至压缩编码单元。
根据本发明的第二方面,压缩编码单元执行可变比特率控制,该可变比特率控制根据视频数据的变化来改变其作为单位时间内数据量的视频比特率,并且最大较低级别数据块的大小是视频比特率的最大值和其作为单位时间内音频数据量的一音频比特率的总和与这样一值的乘积,该值即就是由其作为包含在一个较低级别数据块之内的静止帧数目的视频帧数目除以其作为静止帧重写频率的视频帧速率所得到的值。
根据本发明的第三方面,压缩编码单元遵照DVD视频规范而产生了较高级别数据块以及较低级别数据块,并且将视频数据和/或音频数据记录在其作为记录介质的DVD上。
根据本发明的第四方面,当每次完成了产生一较低级别数据块时,压缩编码单元将产生完成信号以及其包括包含在较低数据块之内的且由DVD视频规范所定义的多个包的信息发送到控制单元,并且控制单元根据包的数目来计算从在压缩编码单元中当前所产生的较高级别数据块的开头处所计数的较低级别数据块的总大小。
根据本发明的第五方面,较高级别数据块和较低级别数据块分别是由DVD视频规范所定义的单元和视频对象单元。
根据本发明的第六方面,如果包含在较高级别数据块之内的多个较低级别数据块等于或大于预定的上限,那么控制单元产生了一结束处理请求以执行一结束处理以将刚刚所产生的较低级别数据块确定为其包含在当前所产生的较高级别数据块之中的最后的较低级别数据块以送至压缩编码单元。
根据本发明的第七方面,根据记录介质的总记录时间、与较高级别数据块相对应的记录时间、以及与较低级别数据块相对应的记录时间来确定预定的上限。
根据本发明的第八方面,用于将视频数据和/或音频数据记录在记录介质上的数据记录方法包括:对输入数据流执行压缩及编码处理、按级别排列可变数据块、并且将所产生的多个较低级别数据块组块成较高级别数据块;临时存储至少一个其包括n个(n是所给定的自然数)较低级别数据块的较高级别数据块;并且在接收到其表示已完成了产生较低级别数据块的一产生完成信号之后,如果从压缩和编码处理当前所产生的较高级别数据块的开头处所计数的多个较低级别数据块的总大小等于或者大于数据块临时存储单元的容量与多个较低级别数据块中的最大较低级别数据块大小的预定值之间的差值,那么产生一结束处理请求以执行一结束处理以将刚刚所产生的较低级别数据块确定为其包含在当前所产生的较高级别数据块之中的最后的较低级别数据块。
根据本发明的第九方面,压缩和编码处理执行可变比特率控制,该可变比特率控制可根据视频数据的变化来改变其作为单位时间内数据量的视频比特率,并且一边界值是视频比特率的最大值和其作为单位时间内数据量的音频比特率的总和与这样一值的乘积,该值即就是由其作为包含在一个较低级别数据块之内的静止帧数目的视频帧数目除以其作为静止帧重写频率的视频帧速率所得到的值。
根据本发明的第十方面,压缩和编码处理遵照DVD视频规范而产生了较高级别数据块及较低级别数据块,并且将视频数据和/或音频数据记录在其作为记录介质的DVD上。
根据本发明的第十一方面,当每次完成了产生一较低级别数据块时,压缩编和码处理输出产生完成信号以及其包括包含在较低数据块之内的且由DVD视频规范所定义的多个包的信息,并且根据包的数目来计算从在压缩编码处理中当前所产生的较高级别数据块的开头处所计数的较低级别数据块的总大小。
根据本发明的第十二方面,较高级别数据块和较低级别数据块分别是由DVD视频规范所定义的单元和视频对象单元。
根据本发明的第十三方面,如果包含在较高级别数据块之内的多个较低级别数据块等于或大于预定的上限,那么在压缩编码处理中执行一结束处理以将刚刚所产生的较低级别数据块确定为其包含在当前所产生的较高级别数据块之中的最后的较低级别数据块。
根据本发明的第十四方面,根据记录介质的总记录时间、与较高级别数据块相对应的记录时间、以及与较低级别数据块所对应的记录时间,来确定预定的上限值。
根据本发明的第十五方面,计算机可读介质中的一记录控制程序产品用于执行上述数据记录方法。
本发明的控制单元对压缩编码单元进行控制以按照这样一种方式来对数据块进行组块,该方式即就是较高级别数据块包括多个较低级别数据块以达到较高级别数据块的大小不会大于数据块临时存储单元的容量这样的程度。这消除了需要为了安全起见而不必要的提高数据块临时存储单元的容量,从而降低了设备成本。
从下文所给定的详细说明以及仅是通过示例的方式所给定的附图中,可更加完全的了解本发明的上述及其他目的、特征、及优点,并且由此不认为是其对本发明进行限定。
具体实施方式
在下文中参考附图对根据本发明特定实施例的数据记录设备进行说明。以本发明的数据记录设备为例子,对DVD记录设备进行说明。
图1给出了根据本发明特定实施例的DVD记录设备的结构方框图。图1所示的DVD记录设备1遵照DVD视频规范来记录视频数据和音频数据。DVD记录设备1具有一系统控制器(控制单元)2、编码器(压缩编码单元)3、流缓冲存储器(数据块临时存储单元)4、以及盘片单元6。
系统控制器2是这样的一电路,该电路对DVD记录设备1的部件的操作进行控制。编码器3对视频数据和音频数据进行压缩和编码。在该实施例中,编码器3利用诸如MPEG-2来压缩数据,并且输出数据流。流缓冲存储器4具有给定的容量以临时的存储在编码器3中所产生的一个单元的数据。盘片单元6具有一光头以将数据写入到其是由DVD(DVD-R、DVD-RW、DVD-RAM等等)所组成的记录介质5上。
在对DVD记录设备1的每个部件进行说明之前,下面对其遵照MPEG编码方法的数据结构以及该实施例的DVD记录设备1中所使用的DVD视频规范进行说明。
MPEG流是由这样的一系列数据帧组成的,该数据帧是由I图像、P图像、以及B图像组成的。I图像是其完全压缩了内部帧的内码图像。P图像是根据先前基准帧图像所向前预测的。B图像是根据先前基准帧图像和之后基准帧图像的组合所双向预测的。标准帧速率是每0.5秒15帧,其包括1个I图像、4个P图像、以及10个B图像。此后将由此所编码的数据重新排列成用于对每个帧进行解码的顺序并且遵照如下所述的DVD视频规范来对其进行记录。
在DVD视频规范中,将视频数据和音频数据的每一个划分成多个视频标题集(VTS)。如图2所示,每个VTS具有多个视频对象集(VOBS)11,其每一个VOBS是多个视频对象(VOB)12组成的。
每个VOB 12是由至少一个单元(较高级别数据块)13等等组成的。每个单元是由多个VOBU(较低级别数据块)14等等组成的。
一个VOB中的单元13的最大数目被限制为255。对每个VOBU 14中的数据量进行设置以便相应播放时间例如是0.4至1秒。虽然图2给出了每个VOB 12是由多个单元13所组成的这样的结构,但是一个VOB 12通常是由一个单元13组成的。
每个VOBU 14具有一NV_PCK 15、多个视频包(在下文中被称为“V_PCK”)16、以及音频包(在下文中被称为“A_PCK”)17。位于每个VOBU 14开头处的NV_PCK 15包含控制数据。V_PCK 16包含视频数据,并且A_PCK 17包含音频数据。
NV_PCK 15包含用于对VOBU 14的播放进行控制的数据以及用于执行诸如跳跃播放这样的特定播放的数据。可任意的设置每个VOBU14中的V_PCK 16和A_PCK 17的顺序及数目。VOBU 14可以不具有V_PCK 16或者A_PCK 17。NV_PCK 15、V_PCK 16、以及A_PCK 17的每一个均具有2048字节的包长度。
如图3所示,每个NV_PCK 15包含VOBU搜索信息(在下文中被称为“VOBU_SRI”)18以作为DSI包(DSI_PKT)的一部分。如图4所示,VOBU_SRI18包含前向信息(FWDI)19和后向信息(BWDI)21。
如图5所示,FWDI 19包含位于在相同单元13中当前所产生的VOBU 14之后的其从下一个(将来)VOBU 14的头地址信息(FWDI1)191到一VOBU 14的头地址信息(FWDIm)19m这样的头地址信息段,该头地址信息段的VOBU数目最多为m个(例如m=240)。
另一方面,BWDI 21包含位于在相同单元13中当前所产生的VOBU 14之前的其从先前(过去)VOBU 14的头地址信息到一VOBU14的头地址信息这样的头地址信息段,该头地址信息段的VOBU数目最多为m个(例如m=240)。
在下文中对根据本实施例的DVD记录设备1的每个部件的结构和操作进行说明。
图1所示的编码器3对所输入的视频数据和音频数据进行压缩并对其进行编码,并且此后输出其具有上述数据结构的数据流。现在参考图6,编码器3具有一视频数据编码部件41、音频数据编码部件42、多路复用部件43、以及计数器部件44。该视频数据编码部件41对诸如从照相机所输入的视频信号执行MPEG-2压缩编码并且使其数字化。音频数据编码部件42对从诸如扩音器所输入的声频信号执行压缩编码并且使其数字化。多路复用部件43将所压缩的编码视频数据和音频数据多路复用(包—多路复用)成一个流。计数器部件44对其包含在VOBU 14中的包数目以及在单元13中当前所产生的VOBU总数目进行计数,并且在产生VOBU 14之后将所获得的计数信息与完成信息一起发送到系统控制器2。
在这个示例中,编码器3利用可变比特率控制方法来执行压缩和编码,该可变比特率控制方法根据视频数据的变化来改变图象比特率。音频比特率是固定的。在编码器3所产生的数据流中,每个VOBU14的NV_PCK 15中的FWDI 19为空。
另外,编码器3根据随后所描述的单元结束处理请求而产生了最后的VOBU 14。当产生了最后的VOBU时,编码器3结束一个单元13并且将数据流输出到流缓冲存储器4。在产生了最后的VOBU之后,对包含在NV_PCK 15之中的时间信息进行复位以开始重新对时间信息进行计数。
流缓冲存储器4是其具有给定容量为Q的临时存储单元。将编码器3所输出的数据流临时存储在流缓冲存储器4中。所存储的数据流与上述数据结构中的一个单元的数据相对应。在流缓冲存储器4中,在系统控制器2的控制下将数据写入到空FWDI 19中。
系统控制器2对每个部件的操作进行控制。回头参考图1,系统控制器2具有一主控部件31和一存储部件32。主控部件31是由CPU等等组成的以执行各种程序。存储部件32是由诸如ROM和RAM这样的半导体存储单元组成的以存储各种程序。
存储部件32具有一信息存储区和一程序存储区。信息存储区存储结构信息以及流缓冲存储器4的容量等等。程序存储区存储由主控部件31所执行的其包括单元大小管理程序、VOBU数目管理程序、以及导航数据添加程序这样的各种处理程序。下面对主控部件31所执行的主程序进行说明。
导航数据添加程序描述了这样的一处理,该处理用于将FWDI 19数据添加到其保存在流缓冲存储器4中的一个单元数据的每个VOBU14中的NV_PCK 15的给定空区域上。
单元大小管理程序描述了这样的一处理,该处理对当前所产生的单元的大小进行管理。单元大小管理程序计算当前所产生的单元的总大小S并且根据所计算的单元大小S将用于结束单元的一请求发送到编码器3。
VOBU数目管理程序描述了这样的一处理,该处理根据从编码器3的计数器部件44发送而来的VOBU数目信息来对其包含在一个单元13中的VOBU 14数目进行管理。VOBU数目管理程序根据一个单元中的VOBU的数目M来将一单元结束处理请求发送到编码器3。
总之,当对每个部件的操作进行控制时,系统控制器2将用于结束一单元的请求发送到编码器3。根据一个单元的大小S或者一个单元中的VOBU数目M来输出单元结束处理请求。随后对用以输出单元结束处理请求的一个单元的单元大小S和VOBU数目M进行详述。
此后参考图7,盘片单元6具有一光头51、主轴电机52、存取电机(access motor)53、以及驱动电路54。光头51将半导体激光设备所发射出的激光作为光源而施加到记录介质5上、接收来自记录介质5的反射光、并且产生与所接收到的光强相对应的一信号。主轴电机52支撑记录介质5并且使其转动。存取电机53使光头51径向的记录在记录介质5上移动。驱动电路54驱动光头51的传动器。
盘片单元6通过调制器(未给出)来接收从流缓冲存储器4发送而来的数据。将输入到盘片单元6上的数据写入到记录介质5上。
将根据该实施例的DVD记录设备1的每个部件的操作概括如下。编码器3对所输入的视频数据和音频数据进行压缩并对其进行编码,并且遵照DVD视频规范来输出该数据以作为一个单元数据。由系统控制器2所输出的单元结束处理请求来确定一个单元中的最后的VOBU。另一方面,系统控制器2根据单元大小或者在编码器3中所产生的VOBU数目而输出该单元结束处理请求。流缓冲存储器4对编码器3所输出的一个单元数据进行存储。将NV_PCK中的一部分数据写入到所存储的数据中,并且此后将该数据输出到盘片单元6中。最后,盘片单元6将视频数据和音频数据记录在记录介质5中。
下面对输出一单元结束处理请求以根据该单元大小来确定该单元中最后的VOBU的操作进行说明。系统控制器2接收来自编码器3的VOBU 14产生完成信号以及计数信息。系统控制器2计算从当前所产生的单元13的开头处起到至此在该单元13中所产生的VOBU 14的数据的总大小S[Mb],其等于从单元13的开头处所计数的包数目与包长度的乘积。该操作是基于单元大小管理程序的。因此,根据此时所产生的VOBU 14的包数目来计算单元的总大小S。当总单元大小S满足下列等式(3)时,输出一单元结束处理请求:
S≥(Q-Smax) (3)
其中Q是流缓冲存储器4的容量[Mb],并且Smax是一个VOBU14的最大大小[Mb]。当一个单元中的VOBU 14的总大小等于或大于(Q-Smax)时,VOBU产生一单元结束处理请求。将当输出一VOBU产生完成信号时所产生的VOBU确定为该单元中的最后VOBU。
由下述等式(4)给出了一个VOBU 14的最大大小Smax:
Smax=(RV+RA)(N/RF) (4)
其中RV是最大视频比特率[Mbps],RA是音频比特率[Mbps],N是一个VOBU中的视频帧数目(n),并且RF是视频帧速率[Hz]。将一个VOBU 14的最大大小Smax预先存储在存储部件32的信息存储区域中。
因为Smax是VOBU 14的最大大小,因此即使所产生的VOBU 14的第一数据满足等式(3),也决不会大于Smax值。因此,将从单元13的开头处起的数据总大小大于(Q-Smax)值的一VOBU 14确定为最后的VOBU 14,这可使一个单元的大小决不会大于流缓冲存储器4的容量。
与其被确定为最后的VOBU 14的VOBU相邻的一VOBU 14用作下一个单元13的第一个VOBU 14。因此,一个VOBU 14决不会跨越两个连续的单元13。
如上所述,根据本发明实施例的DVD记录设备1可必定将一个单元数据存储在流缓冲存储器4中,因为单元结束处理请求是根据单元大小而输出的。
此外,下面对根据包含在一个单元之内的VOBU 14的数目而输出一单元结束处理请求的情况进行说明。系统控制器2根据编码器3的计数器部件44所输出的信息来对一单元中的VOBU数目M进行计数。当VOBU的数目M达到预定上限L时,系统控制器2输出一单元结束处理请求。因此将第L个VOBU确定为最后的VOBU以便从当前所产生的单元中除去下一个VOBU(第L+1个VOBU)。
根据单元大小S≥Q-Smax来输出单元结束处理请求,这可有效利用流缓冲器4。然而,只是根据信元大小来结束一单元,这可使一个单元中的VOBU数目变化很大。当播放所记录的数据时,这很大的变化可导致诸如快进及快退这样的不均匀的搜索操作。搜索操作搜索位于每个VOBU开头处的I图像,并且只是对I图像进行解码并对其显示。因此,一个单元中VOBU数目的较小变化可提供I图像更恒定的播放时间,这可提供I图像完整无缝的播放并且在搜索期间平滑的显示。为此,除了当单元大小S满足上述条件时之外,当VOBU数目达到上限L时输出一单元结束处理请求。包含在一个单元之内的VOBU数目M因此满足下列等式(5):
Q/Smax≤M≤L (5)
由总的记录时间H、流缓冲器的容量、搜索操作的速度等等来确定适当的上限L。在这些实施例中,上限L是包含在一标准单元之中的其根据与一个单元相对应的平均播放时间及与一个VOBU相对应的平均播放时间所计算出的VOBU数目。
具体地说,如果记录介质5的总记录时间为H并且记录介质5对其由255个单元13(VOBs 12)或者更少单元所组成的一个VTS进行记录,那么由下述等式(6)给出上限L:
L=H/(255-P)/一个VOBU的平均播放时间 (6)
其中P是一容许值。该容许值P是根据总的记录时间H、流缓冲器的容量Q、搜索操作的速度等等而计算的。
总的记录时间H除以单元数目可给出一个单元的平均播放时间。此外,一个单元的平均播放时间除以一个VOBU的平均播放时间可给出包含在一标准单元之中的VOBU数目的上限L。
如果在上述等式(6)中容许值P=15并且一个VOBU的平均播放时间是0.5秒,那么总的记录时间H与上限L之间的关系如下:
表1
H(小时) |
L(VOBU) |
P |
10 |
300 |
15 |
8 |
240 |
15 |
6 |
180 |
15 |
4 |
120 |
15 |
2 |
60 |
15 |
1 |
30 |
15 |
在下文中参考图8对根据上述实施例的DVD记录设备1的操作进行说明。
当完成了产生一VOBU 14时,编码器3将完成信息和与VOBU 14中的包数目以及与当前所产生的单元13中的VOBU数目有关的计数信息发送到系统控制器2。
在系统控制器2中,主控部件31接收从编码器3发送而来的完成信息及计数信息(图8中的步骤SA 11)。此后系统控制器2根据包含在计数信息之中的包数目信息来从一单元13的开头处开始计数并且计算至此所产生的单元13的总大小S,该总大小S是从单元13的开头处所计数的包数目与包长度的乘积(SA 12)。
此后,主控部件31确定是否满足等式(3)所给出的关系(SA 13)。如果满足,那么处理转到步骤SA 14,并且如果不满足,则转到SA 17。
在SA 17步骤,主控部件31确定包含在单元13之中的VOBU数目M是否大于上限L,即是否满足M<L。如果VOBU的数目M不大于上限L,那么处理回到步骤SA 11;如果M达到L,那么转到SA 14。
在SA 14步骤,主控部件31将一结束处理信号发送到编码器3。结束处理信号是用于请求单元结束处理的一信号,该单元结束处理是在产生最后的VOBU之后对时间信息进行重置的处理。
编码器3利用可变比特率控制方法来执行压缩编码,该可变比特率控制方法根据视频数据的变化而使视频比特率R随时间t变化,如图9所示。当视频比特率R的时间积分值是诸如t=t1,t2等等这样的给定值时执行该结束处理。
当将一个单元的数据从编码器3发送到流缓冲器4时,主控部件31根据从编码器3发送而来的导航信息而将FWDI 19添加到存储在流缓冲存储器4中的数据的每个VOBU 14中的NV_PCK 15的给定空区域上(SA 15)。
转到步骤SA 16,主控部件31确定是否存在将要发送的数据。如果存在这样的数据,那么处理回到SA 11;如果不存在这样的数据,那么结束该处理。
在该结构中,主控部件31从在编码器3中当前所产生的单元13的开头处开始对VOBU 14数目进行计数。主控部件31控制该操作以在至此所产生的VOBU 14的总大小大于流缓冲存储器4的容量Q之前执行结束单元13的处理。因为系统控制器2根据当前所产生的单元13来实时的控制编码器3,因此无需为了安全起见而不必要的提高流缓冲存储器4的容量Q。这可降低设备成本。
此外,与传统的方法不同,即使将流缓冲存储器4的容量Q预定为相对小的值,也同样无需减少一个单元中的VOBU数目。
另外,因为根据总的记录时间H和流缓冲存储器的容量Q来设置一个单元中VOBU数目的上限L,因此在搜索操作等等期间可平滑的显示。
虽然图8的流程图说明了对一个单元中VOBU数目的上限L进行设置这样的情况,但是如果忽略了搜索操作等等的显示变化,那么可只根据单元大小S来输出单元结束处理请求。具体地说,可省略图8中的处理步骤SA 17并且如果在SA 13中不满足等式(3)那么回到SA 11。
在这种情况下,可提高每个单元中的VOBU数目,并且因此可提高最大记录时间tmax。由下列等式来表示最大记录时间tmax。
包含在一个单元13中的VOBU 14的数目越多,由等式(7)所给出的最大记录时间tmax越长:
tmax=(∑i=1255Vi)(N/RF)
其中Vi是包含在第i个单元之中的VOBU 14数目。
因此根据所描述的本发明,可很明显的得出可在多个方面对本发明的实施例做出变化。这种变化不被认为是脱离了本发明的精神和范围,并且对于本领域普通技术人员来说显而易见的是这种所有修改包含在权利要求的范围之内。