半导体存储器卡、播放装置、记录装置、 播放方法、记录方法、和计算机可读存储介质 本发明涉及一种存储音频数据、静止图象和控制数据的半导体存储器卡,和涉及与这种半导体存储器卡有关的播放装置、记录装置、播放方法、记录方法和计算机可读记录介质。特别地,本发明涉及对由诸如电子音乐销售服务的内容销售服务作为内容销售的音频数据、图象数据和控制数据的存储的改进。
电子音乐销售允许用户通过因特网购买和接收音乐内容(例如歌和歌集)。这种技术具有极大地改变录制的音乐市场的潜力并随着必需的基础设施的引入逐渐成为可能。一种存储从电子音乐销售服务获得的音乐内容的方式是在半导体存储器卡上存储,其便携性使其非常理想。因此,可以期望对这种卡的需求会大大增长。
音乐内容不仅限于包含音频数据。作为一个例子,"混合媒体"音频内容可以包括有关图象,它们在播放音乐时显示。这种混合媒体音频内容可以用于"卡拉OK软件",它由一个支持音轨和为一首歌曲的歌词的图象和背景组成。相信这种混合媒体音频内容也会成为电子音乐销售的对象,所以必须考虑如何在半导体存储器卡上存储这种内容。
下面说明混合媒体音频内容如何存储在记录介质上,诸如CD(紧致盘)上,也就是说,音频数据和图象数据传统上是如何存储在记录介质上的。
为能使播放机播放音乐和显示图象,常规混合媒体音频内容作为多路转换音频数据记录在记录介质上,该多路转换音频数据通过多路转换为音乐的音频数据和歌词和/或背景图象的图象数据而产生。当播放多路转换数据时,在播放音频数据的同时可以显示图象数据。
CD-图形盘是能使在播放音频数据时显示图象的一种介质地例子,它通过使这种数据多路转换在一起实现。当制作一个CD图形盘时,数据以由16位的主码和子码组成的单元多路转换。音频数据分配给16位主码,而为歌词、背景图象等的图象数据分配给子码。当开始播放记录在一张CD图形盘上的任何音乐内容时,分配给16位主码的音频数据连续播放,而分配给子码的图象数据连续显示。
当音频数据和图象数据以这种方式多路转换在一起时,必须为一个音乐歌曲集的每一音乐内容提供单独的图象。这意味着,在这种常规多路转换方法中,盘生产商必须为每一音乐内容生产至少一个图象,十分麻烦。
相信名气大的录制艺术家的歌迷们欣赏为在一个歌曲集中的每一首歌(音乐内容)有不同的图象。因为这种艺术家可以期望销售许多他们的歌曲集的复制本,因此提供这种额外的材料应该由销售负担。
然而,名气小的艺术家不可能期望他们的作品有高的销售量,即使为每一首歌提供不同的图象,所以,提供这种材料的费用也许不能由销售弥补。
这样,在生产图象中花费的金钱和努力产生的商业效果将取决于艺术家是否走红而极大不同。然而,对于常规盘必须给每一音乐内容分配至少一个图象,而不管录制艺术家是否走红或可以期望销售多少。其结果,生产商对常规介质不满意。
本发明的一个目的是提供一种半导体存储器卡,它能减少在为组成一个歌曲集的多个音频内容提供图象时需要的花费。
当在播放音频内容期间显示图象时,表示一首歌的歌词的图象只应该在相应歌曲播放期间显示。然而,背景图象可以在任何个数的歌曲播放期间共同使用。作为一个例子,当歌作者或艺术家是同一个人时,可以使用歌作者或艺术家的同一相片作为为一些歌的背景图象。相信这对盘生产商来说容易将音乐数据(音频对象)和图象数据(图象对象)一起存储。
在多个音频对象之间共享图象数据(静止图象对象)优选通过这样的半导体存储器卡实现,其内存储;包括多个音频对象的音频序列;多个静止图象对象;至少一条播放路径信息,表示在上述音频序列中的多个音频对象中的音频对象播放的顺序;至少一条第一指针信息,其中每一条相应于一条播放路径信息,并指定至少一个静止图象对象,其应在由相应一条播放路径信息指示的顺序中的音频对象播放时显示;至少一条第二指针信息,其中每一条相应于在所述音频序列中的一个音频对象,并指定至少一个静止图象对象,其仅应在相应音频对象播放期间显示。
在一个音频序列中的多个音频对象按照在一条播放路径信息中给出的播放顺序播放。在音频对象播放期间要作为背景图象显示的静止图象对象由相应于该播放路径信息的第一指针信息指示。其结果是,在播放包含在该音频序列中的多个音频对象期间显示共享的静止图象对象。
因为同一图象可以用于多条音轨,同样的一个或多个图象可以在相应于一个不太知名的录制艺术家的歌曲集的一个音频序列中的多个音频对象播放期间显示。这将减少为生产这种歌曲集的费用和劳动。
反之,可以在播放相应于一个著名的录制艺术家的歌曲集的一个音频序列中的每一个音频对象期间提供多个不同的图象供显示。为每一音轨显示一些不同的图象使得该歌曲集更吸引顾客,因此可以改善销售。
当有静止图象对象诸如歌曲的歌词时,它们仅在一个特定的音轨播放期间与背景图象分开显示,这种静止图象对象可以使用第二指针信息指定,把该静止图象对象只分配给特定音轨。
这里,半导体存储器卡可以另外存储多个符号内容,其中每一个相应于一个静止图象对象,并表示该静止图象对象是否是由至少一条第一指针信息和至少一条第二指针信息中的任何一条指定,如果是,有多少条第一指针信息和第二指针信息指定该静止图象对象。
当删除音频对象和音频序列时,用于半导体存储器卡的记录装置为被删除的多个音频对象和多个音频序列指定第二指针信息和为任一被删除的音频序列指定第一指针信息。然后记录装置减量分配给静止图象对象的个数,以表示有多少条第一指针信息和第二指针信息指定每一对象。当分配给任何静止图象对象的个数达到零时,记录装置认为,没有一条第一指针信息和第二指针信息指定该静止图象对象,于是删除该静止图象对象。通过以这种方式删除不用的静止图象对象,可以更有效地使用半导体存储器卡的存储容量。
从下面的说明,结合说明本发明的一个特定实施例的附图,本发明的这些以及其它的目的、优点和特征显见。附图中:
图1表示从上看去的一个闪光存储器卡的装置31;
图2表示从下看去该闪光存储器卡31的构造;
图3表示在该实施例中的闪光存储器卡31的层次组成;
图4A表示在闪光存储器卡31的物理层内提供的特殊区域,验证区和用户区;
图4B表示在文件系统层内的验证区和用户区的组成;
图5表示文件系统层的详细组成;
图6表示AOB文件"AOB001.SA1"分成以簇003、004、005、00A、和00C 5部分存储时的情形;
图7表示当AOB文件"AOB001.SA1"以多个簇记录时目录条目和文件分配表的设置例子;
图8A和8B表示当在应用层内记录上述在文件系统层内的用户区和验证区这两类数据时在这两类的目录内提供什么目录,以及在每一目录中记录哪类文件;
图9表示在SD_Audio目录内的文件"AOBSA1.KEY"和AOB文件之间的对应;
图1 0表示在一个AOB文件内的数据的层次组成;
图11A以表的形式表示由ISO/IEC 13818-7规定的参数;
图11B以表的形式表示当以MPEG-3(MP3)编码一个文件时应该使用的参数;
图11C以表的形式表示当用视窗媒体音频(Windows MediaAudio)(WMA)格式编码一个文件时应该使用的参数;
图12表示一个AOB_FRAME的详细结构;
图13表示音频数据的字节长度在3个AOB_FRAME的每一个中如何设置;
图14表示在一个AOB_ELEMENT内包括的采样频率和AOB_FRAME个数之间的对应;
图15表示AOB_ELEMENT的播放时间和AOB_FRAME的播放时间的例子;
图16表示当连续播放记录在一个AOB文件中的AOB和AOB_BLOCK时会再生什么;
图17详细表示在本实施例中使用的播放目录管理器和音轨管理器的层次组成;
图18表示播放目录管理器和音轨管理器的大小;
图19表示在图1 7中所示TKI和在图16中所示AOB和AOB文件之间的对应;
图20表示图17所示TKTMSRT的详细的数据组成;
图21表示TKTMSRT的一个例子;
图22表示TKGI的详细组成;
图23A和23B表示BIT的详细组成,而图23C表示Time_Length字段;
图24表示簇007到00E,其内存储组成AOB_ELEMENT#1到AOB_ELEMENT#4的AOB;
图25表示当从一个AOB的一个任意的AOB_ELEMENT#y内的AOB_FRAME开始执行向前搜索时如何设置下一要播放的AOB_FRAME#x+1;
图26A和26B表示如何指定相应于一个任意的播放时间代码的AOB、AOB_ELEMMENT和AOB_FRAME;
图27A和27B表示删除一个音轨;
图28A表示在几次执行删除音轨后的音轨管理器;
图28B表示当"未使用的"TKI出现在音轨管理器中时如何写一个新的TKI和AOB文件;
图29A和29B表示当组合两个音轨以产生一个新音轨时TKI的设置;
图30A表示一个类型1的AOB;
图30B表示一个类型2的AOB;
图31A表示多个音轨组合成一个单一的音轨,为组合类型1+类型2+类型2+类型1的AOB;
图31B表示多个音轨组合成一个单一的音轨,为组合类型1+类型2+类型2+类型2+类型1的AOB;
图32A表示一个模式,其中类型1 AOB出现在前一音轨的末尾和类型1 AOB出现在下一音轨的开始;
图32B表示一个模式,其中类型1 AOB出现在第一音轨的末尾和类型2 AOB出现在下一音轨的开始;
图32C表示一个模式,其中类型1和类型2 AOB出现在第一音轨的末尾和类型1 AOB出现在下一音轨的开始;
图32D表示一个模式,其中类型1和类型2 AOB出现在第一音轨的末尾和类型2和类型1 AOB出现在下一音轨的开始;
图32E表示一个模式,其中两个类型2 AOB出现在第一音轨的末尾和类型1 AOB出现在下一音轨的开始;
图33A和33B表示分割一个音轨以产生两个音轨;
图34A和34B表示在分割音轨前和后在包含AOB文件"AOB003.SA1"的SD_Audio目录中的SD_Audio目录条目的内容;
图35A表示通过AOB_ELEMENT#2中间分割AOB;
图35B表示通过AOB_ELEMENT#2中间分割AOB得到的两个AOB,AOB#1和AOB#2;
图36表示当如图35所示分割一个AOB时如何设置BIT;
图37表示在分割前和分割后BIT改变的一个特定例子;
图38表示在分割前和分割后TKTMSRT改变的一个特定例子;
图39A表示一个DPL_TK_SRP的格式;
图39B表示一个PL_TK_SRP的格式;
图40表示在Defualt_Playlist_Information、TKI、和AOB文件之间的相互关系;
图41表示为Defualt_Playlist和几个PLI的设置例子;
图42使用和图40同样的记号表示DPL_TK_SRP如何相应于TKI;
图43A和43B表示如何重新安排音轨的顺序;
图44A和44B表示当从图40所示Defualt_Playlist中删除DPL_TK_SRP#2和TKI#2时如何更新Defualt_Playlist、音轨管理器和AOB文件;
图45A和45B表示当存在"未用的"TKI和DPL_TK_SRP时如何写一个新的TKI和DPL_TK_SRP;
图46A和46B表示如何组合音轨;
图47A和47B表示如何分割音轨;
图48表示用于本实施例的闪光存储器卡31的便携播放装置的外观;
图49表示当选择一个播放目录时在LCD面板上显示的例子;
图50A到50E表示当选择一个音轨时在LCD面板上显示的例子;
图51A到51C表示拨盘操作的例子;
图52表示播放装置的构造;
图53表示数据如何传入和传出双缓冲器15;
图54A和54B表示双缓冲器15中的区域如何使用环指针循环分配;
图55是一个流程图,表示AOB文件的读过程;
图56是一个流程图,表示AOB文件的输出过程;
图57是一个流程图,表示AOB文件的输出过程;
图58是一个流程图,表示AOB文件的输出过程;
图59A到59D表示在LCD面板5上的播放时间代码框内显示的播放时间代码如何根据可用的Play_time的更新而更新;
图60是一个流程图,表示当使用向前搜索功能时CPU10的处理;
图61A到61D表示当使用向前搜索功能时播放时间代码如何增加;
图62A和62B表示如何使用时间搜索功能的特定的例子;
图63是一个流程图,表示在编辑控制程序中的处理;
图64是一个流程图,表示在编辑控制程序中的处理;
图65是一个流程图,表示在编辑控制程序中的处理;
图66表示用于在闪光存储器卡31上记录数据的记录装置的一个例子;
图67表示记录装置的硬件配置;
图68是一个流程图,表示在记录期间的处理;
图69表示按照本发明的第二实施例的闪光存储器卡的内部构造;
图70A和70B表示在文件系统层内的用户数据区和保护区的内部组成;
图71A表示"POBXXX.JPG"文件的内部组成;
图71B表示一个包括加密的静止图象数据的POB文件的内部组成;
图71C表示一个存储代替一个加密数据体的文件路径的POB文件的例子;
图72表示在第二实施例中的播放目录管理器和音轨管理器的详细组成;
图73表示如何用TKI_POB_SRP、PLI_POB_SRP和DPLI_POB_SRP指定图70中所示的POB文件;
图74表示TKI_POB_ATR和TKI_POB_SRP的数据组成;
图75表示为在音轨管理器中的TKI#1到TKI#3设定TKI_POB_SRP的一个例子;
图76表示为在音轨管理器中的TKI#4到TKI#8设定TKI_POB_SRP的一个例子;
图77表示在DPLGI中包括的DPLI_POB_SRP和DPLI_POB_ATR;
图78表示设定在缺省播放目录信息中包括的20个DPLI_POB_SRP的一个例子;
图79是一个时序图,表示当使用由包括在缺省播放目录信息中的DPLI_POB_SRP指定的一个POB作为背景图象和使用由在音轨管理器中包括的TKI_POB_SRP指定的一个POB作为前景图象时如何形成一个组合图象;
图80表示一个背景图象和前景图象如何在按照缺省播放目录信息开始播放后6分钟的点组合;
图81表示一个背景图象和前景图象如何在按照缺省播放目录信息开始播放后16分钟的点组合;
图82表示包括在PLGI中的PLI_POB_SRP和PLI_POB_ATR;
图83表示包括在一个PLI中的20个PLI_POB_SRP的设定例子;
图84是一个时序图,表示当使用由包括在一个PLI中的PLI_POB_SRP指定的一个POB作为背景图象和使用由在音轨管理器中包括的TKI_POB_SRP指定的一个POB作为前景图象时如何形成一个组合图象;
图85表示一个背景图象和前景图象如何在按照一个PLI开始播放后6分钟的点组合;
图86表示一个背景图象和前景图象如何在按照一个PLI开始播放后16分钟的点组合;
图87表示一个例子,其中,通过使在缺省播放目录信息中的DPLI_POB_SRP的个数指定同样的POB文件而减少POB文件的个数;
图88是一个时序图,表示当使用由包括在缺省播放目录信息中的一个DPLI_POB_SRP指定的一个POB作为背景图象和使用由在音轨管理器中包括的一个TKI_POB_SRP指定的一个POB作为前景图象时如何形成一个组合图象;
图89表示POBMG的内部组成;
图90表示如何使用第二实施例的播放装置;
图91只表示第二实施例的播放装置的外部形状;
图92表示第二实施例的播放装置的内部构造;
图93A表示如何把存储在多个VRAM 61中的静止图象一个叠在另一个上面;
图93B也表示如何把存储在多个VRAM 61中的静止图象一个叠在另一个上面;
图94是一个流程图,表示前景图象显示过程;
图95是一个流程图,表示背景图象显示过程;
图96是一个流程图,表示背景图象显示过程;
图97A到97C表示由于在图94和95中的流程图处理而在LCD面板上显示什么种类的组合图象,图94和95使由一个TKI_POB_SRP指定的一个POB作为前景图象显示和使由一个DPLI_POB_SRP指定的一个POB作为背景图象显示;
图98A到98C表示由于在图94和96中的流程图处理而在LCD面板上显示什么种类的组合图象,图94和96使由一个TKI_POB_SRP指定的一个POB作为前景图象显示和使由一个PLI_POB_SRP指定的一个POB作为背景图象显示;
图99是一个流程图,表示由第二实施例的记录装置使用的过程;
图100A表示一个短语时序表的例子;
图100B表示高亮度坐标表的例子。
实现本发明的最佳方式
下面参考附图说明本发明的一个实施例的半导体存储器卡(闪光存储器卡)。
后面的段落使用以下面给出的计数法得出的标号以层次结构安排。
{x1-x2_x3-x4}
标号的长度表示该话题在层次结构内的级。作为一个特殊的例子,数x1是在说明中被引用的图号。本说明书的附图按照它们在本说明书中被提到的顺序编号,以便附图的顺序与说明的顺序大体相配。一些图的说明分成几部分,各带有标号x2,给出由标号x1指定的附图的说明中的部分的部分号。标号x3表示另一附图的号码,提供该图以表示由部分号码x2指定的部分的细节。最后,标号x4表示在该另一附图的说明中的部分的号码。
第一实施例
{1-1_2}闪光存储器卡31的外部形状
本说明从闪光存储器卡31的外部形状开始。图1表示从上面看去时的闪光存储器卡31的形状,而图2表示闪光存储器卡31从下面看去时的结构。如图1和2所示,闪光存储器卡31大约有邮戳大小,其大到足以用手拿住。它的大约尺寸是32.0mm长,24.0mm宽,和2.0mm厚。
可以看到闪光存储器卡31在其底部边缘有9个接头,用于把该卡连接到便携设备上,和在侧面的保护开关32,以使用户设定,是允许还是禁止复盖存储在闪光存储器卡内的内容。
{3-1}闪光存储器卡31的物理构造
图3表示本实施例的半导体存储器卡(以下称作"闪光存储器卡31")的层次结构。如图3所示,闪光存储器卡31用与DVD(数字视频盘)同样方式的物理层、文件系统层和应用层构造,虽然这些层的逻辑和物理构造和DVD上的非常不同。
{3-2}闪光存储器卡31的物理层
下面说明闪光存储器卡31的物理层。闪光存储器由多个扇区组成,每一扇区存储512数字数据字节。作为一个例子,64MB的闪光存储器卡31的存储容量为67,108,864(=64*1,024*1,024)字节,于是该卡将包含131,072(=67108864/512)个可用扇区。减去在出错的场合使用的替换扇区的个数,可以写入各种数据的可用扇区的剩余个数大约为128,000。
{3-2_4A-1}物理层内的3个区域
在由有用扇区组成的存储区域内提供在图4A内所示的3个区域。这些区域是"特殊区"、"验证区"和"用户区",下面详细说明。用户区的特征在于,闪光存储器卡31所连接的设备可以自由地从该区域或向该区域读或写各种数据。用户区内的区域由一个文件系统管理。
特殊区存储介质ID,其为唯一分配给每一闪光存储器卡31的一个值。不像用户区,该区是只读区域,以便存储在该特殊区内的介质ID不能被改变。
验证区是一个可写区域,就像用户区。该区与用户区的不同之处在于,连接到闪光存储器卡31的设备,只要闪光存储器卡31和该设备首先已经证实彼它是可靠的设备,就可以访问(亦即在其内读或写数据)验证区。换句话说,只有由闪光存储器卡31和连接到闪光存储器卡31上的设备已经成功执行相互的验证,数据才可以从验证区读或向其写。
{3-2_4A-2}物理层中3个区域的使用
当连接到闪光存储器卡31上的设备向闪光存储器卡31写入数据时,用于存储这一数据的区域将依赖于是否需要为正被写的数据有版权保护。当把需要版权保护的数据写入闪光存储器卡31时,该数据在被写入用户区前使用一个预先决定的加密键字(称为"FileKey")加密。该FileKey可以由版权持有者自由设置,虽然FileKey的使用提供某种程度的版权保护,但是用于加密写入数据的FileKey自身也被加密以使版权保护更安全。通过使存储在特殊区中的介质ID经预定的计算而得到的任何值可以用于加密FileKey。以这种方式加密的FileKey存储在验证区中。
因为需要版权保护的数据经历两步骤加密处理,亦即数据使用一个其自身又根据介质ID加密的FileKey加密,因此,诸如未授权复制数据的侵权极难。
{3-2_4B-1}文件系统概述
可以理解,闪光存储器卡31的物理层的构造加强了写入闪光存储器卡31的数据的版权保护。下面说明在物理层上存在的文件系统层。虽然DVD的文件系统层使用UDF(通用盘格式)型文件系统,但是闪光存储器卡31的文件系统层使用FAT(文件分配表)型文件系统,其在ISO/IEC 9293中说明。
图4B表示文件系统层中的验证区和用户区的构造。如图4B所示,文件系统中的验证区和用户区每一个包括"分区引导扇区"、"文件分配表(FAT)"、"根目录"、和"数据区",这意味着验证区和用户区具有同样的结构。
图5更详细地表示这些文件系统的各部分。下面参考图4A、4B和5说明用户区的构造。
{3-2_4B-2}分区引导扇区
分区引导扇区是当闪光存储器卡31设置为个人计算机的操作系统(OS)的引导盘时存储要由标准的个人计算机引用的数据的扇区,所述个人计算机连接到闪光存储器卡31上。
{3-2_4B-3_5}数据区
数据区可以由连接到闪光存储器卡31上的设备以不小于一"簇"的单位存取。虽然在闪光存储器卡31内的每一扇区为512字节大小,但是簇大小是16KB,使得文件系统层以32扇区的单位读写数据。
簇大小设定为16KB的理由是,当把数据写入闪光存储器卡31时,在可以执行写入前首先必须擦除存储在闪光存储器卡31中的部分数据。
闪光存储器卡31中可以擦除的最小数据量是16KB,使得设置最小可擦除大小作为簇大小意味着可以顺利地执行数据写。使用图5中的虚线划的箭头表示在数据区域中包含的多个簇002、003、004、005…。图5中所用号码002、003、004、005、006、007、008…是3位十六进制簇号码,它唯一分配,以标识每一簇。因为可以用以执行存取的最小单位是一簇,因此数据区内的存储位置使用簇号指定。
{3-2_4B-4_5}文件分配系统
文件分配系统具有按照ISO/IEC 9293标准的文件系统结构,所以由多个FAT值组成。每一FAT值相应于一簇,并表示在相应于该FAT值的簇之后的哪一簇应该被读。图5中的虚线表示的箭头ff1表示在文件分配表中包含的多个FAT值002、003、004、005…。分配给每一FAT值的号码002、003、004、005…表示哪一簇相应于每一FAT值,因此是相应于该FAT值的簇的簇号。
{3-2_4B-5_5-1}根目录条目
"根目录条目"是表示在根目录中存在哪类文件的信息。作为一个特定的例子,存在文件的"文件名","文件名扩展"、"修改时间/日期"和表示该文件的开始在哪里存储的"文件中第一簇的簇号"可以写为一个文件的根目录。
{3-2_4B-5_5-2}为子目录的目录条目
有关在根目录内的文件的信息写为根目录条目,而有关子目录的信息不写为根目录条目。为子目录的目录条目代之以在数据区产生。在图5中,在数据区中给出的SD-Audio目录条目是为子目录的目录条目的一个例子。像根目录条目,一个SD-Audio目录条目包括存在在该子目录内的文件的"文件名",其"文件名扩展"、"修改时间/日期"和表示该文件的开始在哪里存储的"文件中第一簇的簇号"。
{3-2_4B-5_6-1}AOB文件的存储格式
下面参考图6通过表示一个命名为"AOB001.SA1"的文件是如何存储在SD-Audio目录中而说明文件存储方法。因为可以用以存取数据区的最小单元是一簇,因此文件"AOB001.SA1"需要分成不小于一簇的部分存储在数据区。文件"AOB001.SA1"因此首先被分割成簇而后存储。在图6中,文件"AOB001.SA1"被分成5部分,保持簇的大小,产生的部分存储在编号为003、004、005、00A、和00C的簇中。
{3-2_4B-5_7-1}AOB文件的存储格式
当文件"AOB001.SA1"被分成部分和存储时,需要设置一个如图7所示的目录条目和文件分配表。图7表示当文件"AOB001.SA1"被分割成部分而存储时如何设置目录条目和文件分配表的一个例子。在图7中,文件"AOB001.SA1"的开始存储在簇003中,于是把簇号003写入SD-Audio目录条目中的"文件中第一簇的簇号"以指示存储该文件第一部分的簇。如图7所示,文件"AOB001.SA1"的后面的部分存储在簇004和005。其结果,虽然FAT值003(004)相应于存储文件"AOB001.SA1"的第一部分的簇003,但是这一值指示簇004为存储文件"AOB001.SA1"的下一部分的簇。以同样的方式,虽然FAT值004(005)和005(00A)分别相应于存储文件"AOB001.SA1"的后面的部分的簇004和005,但是这些簇分别指示簇005和00A是存储文件"AOB001.SA1"的后面的部分的簇。通过顺序读取具有写入这些FAT值的簇号的簇,这在图7中用箭头fk1、fk2、fk3、fk4、fk5…表示,可以读取通过分割文件"AOB001.SA1"而产生的所有部分。如上所述,闪光存储器卡31的数据区以簇为单元存取,而每一簇与一个FAT关联。注意,相应于存储一个AOB文件的最后部分的簇(在图7所示例子中是簇00C)的FAT值设置为簇号FFF以表示相应簇存储一个文件的最后部分。
到此完成了对本发明的闪光存储器卡31的文件系统的说明。下面说明在该文件系统上存在的应用层。
{3-3}闪光存储器卡31中的应用层概述
图3表示闪光存储器卡31中的应用层概略。如图3中虚线划出的箭头PN2所示,闪光存储器卡31中的应用层包括表示数据和导播数据,后者用于控制表示数据的播放。如箭头PN2所示,表示数据包括多组音频对象(AOB集),其例如通过编码表示音乐的音频数据产生。导播数据包括"播放目录管理器"(PLMG)和"音轨管理器"(TKMG)。
{3-3_8A,B-1}目录组成
图8A和8B表示当用户区和验证区这两类数据存储在应用层中时在文件系统层的用户区和验证区里存在哪类目录,以及表示在这些目录中安排有什么文件。
图8A中的文件名"SD_AUDIO.PLM"和"SD_AUDIO.TKM"各指示一个文件,其内存储有组成导播信息的播放目录管理器(PLMG)和音轨管理器(TKMG)。同时,文件名"AOB001.SA1"、"AOB002.SA1"、"AOB003.SA1"、"AOB004.SA1"、…指示存储作为表示数据的音频对象的文件("AOB"文件)。文件名"AOB0xx.SA1"中的文件名扩展中的字母"SA"是"SecureAudio(安全音频)"的缩写,表示该文件中存储的内容需要版权保护。注意,虽然在图8A的例子中只表示出8个AOB文件,但是在一个SD-Audio目录中可以存储最多999个AOB文件。
当需要为表示数据进行版权保护时,在验证区内提供一个称为"SD-Audio目录"的子目录,并在该SD-Audio目录中产生一个加密键字存储文件"AOBSA1.KEY"。
图8B表示存储在"SD-Audio"标记符号(亦即在"SD-Audio目录"内)下的加密键字存储文件"AOBSA1.KEY"。该加密键字存储文件"AOBSA1.KEY"存储通过以预定顺序安排多个加密键字而产生的一个加密键字序列。
在图8A和8B中表示的SD-Audio目录存储在由一个使用电子音乐销售的记录标签管理的服务器计算机内。当消费者预订一个音乐内容时,相应的SD-Audio目录被压缩、加密并经由公共网络传送给消费者。消费者的计算机接收到该SD-Audio目录,将其解密,解压缩,于是得到原来的SD-Audio目录。注意,表述"公共网络"在这里指得是可以由公众使用的任何种类的网络,诸如有线通信网络,例如ISDN网络,或无线通信网络,例如移动电话系统。消费者的计算机还可以从由一个记录标签操作的服务器计算机下载AOB文件,然后在闪光存储器卡31中产生一个SD-Audio目录,诸如在图8A和8B中所示。
{3-3_9-1}"AOBSA1.KEY"文件和AOB文件之间的对应
图9表示在SD-Audio目录中的"AOBSA1.KEY"文件和AOB文件之间的对应。当加密在图9所示的用户区中的文件时使用的FileKey存储在验证区中对应的加密键字存储文件中。
加密的AOB文件和加密键字存储文件按照下面说明的预定规则(1)、(2)、和(3)对应。
(1)加密键字存储文件安排在一个和其内存储被加密文件的目录同样名的目录中。在图9中,AOB文件被安排在用户区中的SD-Audio目录中,而根据这一规则,加密键字存储文件安排在验证区内一个称为SD-Audio目录的目录中。
(2)给加密键字存储文件一个文件名,其通过结合在数据区域中的AOB文件的文件名的前3个字母与预定的".KEY"扩展而产生。当一个AOB文件的文件名是"AOB001.SA1"时,给加密键字存储文件一个文件名"AOBSA1.KEY",它通过把前3个字符"AOB"、"SA1"、和扩展".KEY"结合产生,如图9中的箭头nk1和nk2所示。
(3)给一个AOB文件的文件名一个序列号,其表示相应于存储在加密键字存储文件中的加密键字序列中的该音频对象的FileKey的位置。
"文件键字条目#1、#2、#3…#8"表示在加密键字存储文件中存储各FileKey的区域的第一位置。同时,给AOB文件的文件名分配序号"001"、"002"、"003"、"004"…。这些序号表示在加密键字序列中的相应FileKey的位置,使得曾用以加密每一AOB文件的FileKey将以同样的序号出现在"FileKey条目"中。在图9中,箭头Ak1、Ak2、Ak3、…表示在AOB文件和FileKey之间的对应。换句话说,文件"AOB001.SA1"对应于这样的FileKey,其存储位置由"FileKey条目#1"指示,文件"AOB002.SA1"对应于这样的FileKey,其存储位置由"FileKey条目#2"指示,文件"AOB003.SA1"对应于这样的FileKey,其存储位置由"FileKey条目#3"指示。如从规则(3)所能理解的,使用不同的FileKey加密不同的AOB文件,而这些FileKey被存储在具有序号"001"、"002"、"003"、"004"等的"FileKey条目"中,这些序号以相应AOB文件的文件名给出。
因为每一AOB文件使用不同的FileKey加密,因此为一个AOB文件所用的加密键字的暴露将不能使用户解密其它AOB文件。这意味着,当AOB文件以加密形式存储在闪光存储器卡31中时,由一个FileKey暴露引起的损失可以最小。
{3-3_10-1}AOB文件的内部组成
下面说明AOB文件的内部组成。图10表示AOB文件的层次数据结构。图10中的第一层表示该AOB文件,而第二层表示音频对象(AOB)自身。第三层表示AOB_BLOCK,第四层表示AOB_ELEMENT,第五层表示AOB_FRAME。
图10中第五层上的AOB_FRAME是组成AOB的最小单元,包括以ADTS(音频数据传输流)格式的音频数据和一个ADTS头标。ADTS格式的音频数据按照MPEG2-AAC(低复杂性概要文件)格式加密,并且是可以以传输速率16Kbps到144Kbps播放的流式数据。注意,为记录在常规紧致盘上的PCM(脉冲编码调制)的传输速率是1.5Mbps,于是ADTS格式的数据通常使用比PCM较低的传输速率。一个AOB_FRAME序列的构造和包含在由电子音乐销售服务销售的音频数据传输流中的音频帧的序列相同。这意味着,要作为AOB_FRAME序列存储的音频数据传输流根据MPEG2-AAC标准编码、加密、和在公共网络上传输给消费者。通过分割所传输的音频数据传输流为一个AOB_FRAME序列和存储这些AOB_FRAME产生AOB文件。
{3-3_10-1_11}MPEG2-AAC
在ISO/IEC 1 3818-7:1997(E)"信息技术-运动图象和关联的音频信息的一般编码-第7部分高级音频编码(AAC)"中详细说明MPEG2-AAC。
应该注意,音频对象只能按照MPEG2-AAC使用在图11A中所示的参数表中的参数压缩,所述参数表在ISO/IEC 13818-7中定义。这一参数表由"参数"列、"值"列、和"评论"列组成。
参数列中的标记符号"概要文件"(profile)表示只可以使用LC-概要文件,其在ISO/IEC 13818-7中规定。参数列中的标记符号"采样频率"表示可以使用采样频率"48kHz,44.1kHz,32kHz,24kHz,22.05kHz,和16kHz"。
参数列中的标记符号"number_of_data_block_in_frame"表示使用的头标对raw_data_block的比率。
注意,虽然这一解释说明了按照MPEG-AAC格式编码AOB_FRAME的场合,但是AOB_FRAME也可以按照另外的格式诸如MPEG-第3层(MP3)格式或者视窗介质音频(WMA)编码。当这样做时,必须使用在图11B或图11C的参数表中所示的参数。
{3-3_10-2_12}AOB_FRAME的组成
虽然每一AOB_FRAME包括按照上述限制编码的音频数据,但是在每一AOB_FRAME中的音频数据的数据长度限制到只有20ms的播放时间。然而,因为MPEG2-AAC是可变位速率(VBR)编码方法,因此在每一AOB_FRAME里的音频数据的长度将变化。下面参考图12说明AOB_FRAME的组成。
图1 2中的第一层表示总组成,而第二层表示一个AOB_FRAME的每一部分是如何编码的。如从图中所见,ADTS头标对应一个非加密部分。音频数据既包括加密部分,也包括非加密部分。音频数据的加密部分包括多个8字节一条的加密数据,其每一个通过使用一个56位的FileKey加密8字节一条的音频数据产生。当对64位一条的音频数据执行加密时,音频数据的非加密部分只是该数据中最后由于短于64位而不能加密的部分。
图12中的第三层表示位于AOB_FRAME的非加密部分中的ADTS头标的内容。ADTS头标为7字节长,包括一个12位的同步字(设定为FFF)、在这一AOB_FRAME中的音频数据的数据长度、和当编码该音频数据时所用的采样频率。
{3-3_10-3_13}AOB_FRAME的字节长度的设定
图13表示如何设定3个AOB_FRAME中每一个的音频数据的字节长度。在图13中,包含在AOB_FRAME#1中的音频数据#1的数据长度是x1,包含在AOB_FRAME#2中的音频数据#1的数据长度是x2,包含在AOB_FRAME#3中的音频数据#1的数据长度是x3。当数据长度x1、x2和x3都不同时,数据长度x1将写入AOB_FRAME#1的ADTS头标中,数据长度x2将写入AOB_FRAME#2的ADTS头标中,数据长度x3将写入AOB_FRAME#3的ADTS头标中。
虽然音频数据被加密,但是ADTS头标不加密,以便播放设备通过读取在AOB_FRAME的ADTS头标中给出的数据长度可以知道在AOB_FRAME中的音频数据的数据长度。
到此完成AOB_FRAME的说明。
{3-3_10-4}AOB_ELEMENT
下面说明图10中第四层上表示的AOB_ELEMENT。AOB_ELEMENT中的AOB_FRAME的个数取决于作为图11A所示采样频率设定的值。AOB_ELEMENT中的AOB_FRAME的个数这样设定,使得所包含的AOB_FRAME的总播放时间大约为两秒,该个数依赖于采样频率和所用的编码方法。
{3-3_10-5_14}一个AOB_ELEMENT中的AOB_FRAME的个数
图14表示在采样频率(sampling_frequency)和一个AOB_ELEMENT中包括的AOB_FRAME的个数之间的对应。图14中给出的个数N表示一个AOB_ELEMENT以秒计算的播放时间。当使用MPEG-ACC作为编码方法时,N的值是"2"。
当采样频率是48kHz时,在一个AOB_ELEMENT中包括的AOB_FRAME的个数给定为94(=47*2),而当采样频率是44.1kHz时,在一个AOB_ELEMENT中包括的AOB_FRAME的个数给定为86(=43*2)。当采样频率是32kHz时,AOB_FRAME的个数给定为64(=32*2),当采样频率是24kHz时,AOB_FRAME的个数给定为48(=24*2),当采样频率是22.05kHz时,AOB_FRAME的个数给定为44(=22*2),当采样频率是16kHz时,在一个AOB_ELEMENT中包括的AOB_FRAME的个数给定为32(=16*2)。然而,当已经执行一个编辑操作诸如分割一个AOB时,在一个AOB的开始或结尾处的一个AOB_ELEMENT中包含的AOB_FRAME的个数也许少于以这一方式计算的个数。
虽然为每一AOB_ELEMENT不提供头标或其它特殊信息,但是每一AOB_ELEMENT的数据长度代之由一个时间搜索表表示。
{3-3_10-6_15}AOB_ELEMENT和AOB_FRAME的播放时间的一个例子
图15表示AOB_ELEMENT和AOB_FRAME的播放时间的一个例子。图15中的第一级表示多个AOB_BLOCK,而第二级表示多个AOB_ELEMENT。第三级表示多个AOB_FRAME。
如图15所示,一个AOB_ELEMENT有大约2.0秒的播放时间,而一个AOB_FRAME有20毫秒的播放时间。给每一AOB_ELEMENT的"TMSRT条目"表示在时间搜索表中给出的每一AOB_ELEMENT的数据长度。通过引用TMSRT条目,播放装置可以执行向前或向后搜索,这里例如通过重复播放240毫秒音频数据然后在希望的方向上跳过两秒音频数据播放间断的音乐脉冲串。
{3-3_10-7}AOB_BLOCK
到此完成AOB_ELEMENT的说明。下面说明在图10中给出的AOB文件的数据结构的第三级上表示的AOB_BLOCK的概念。
每一"AOB_BLOCK"包括有效的AOB_ELEMENT。在每一AOB文件(AOB_FILE)中只存在一个AOB_BLOCK。虽然一个AOB_ELEMENT的播放期间约为两秒,但是一个AOB_BLOCK的最大播放期间为8.4分。施加8.4分的限制是为了限制时间搜索表的大小为504字节或更少。
{3-3_10-8}时间搜索表的限制
下面详细说明为什么通过限制播放时间来限制时间搜索表的大小。
当播放装置执行向前或向后搜索时,播放装置在播放240毫秒之前跳过读两秒的音频数据。当跳过两秒数据时,播放装置在理论上可以引用在AOB_FRAME的ADTS头标中表示的数据长度,虽然这将意味着播放装置将必须连续检测100(2秒/20毫秒)个AOB_FRAME,以正好跳过两秒音频数据。这将对播放装置施加过重的处理负载。
为减少播放装置的处理负载,可以把为以两秒的时间间隔的数据的读地址写入一个时间搜索表中,然后在执行向前或向后搜索时由播放装置引用该时间搜索表。通过在时间搜索表中写能使迅速找到在前或后2或4秒的读位置的信息(这种信息是AOB_ELEMENT的数据大小),播放装置在执行向前或向后搜索时将只需引用这一信息。具有两秒播放时间的音频数据的数据大小依赖于在播放该音频数据时使用的位速率。如上所述,使用在范围16Kbps到144Kbps之内的位速率,使得在两秒内播放的数据量在范围4KB(=16Kbps X 2/8)到36KB(=144Kbps X2/8)之间。因为在两秒内播放的数据量在范围4KB到36KB之间,因此,在时间搜索表中为写音频数据的数据长度的每一条目的数据长度需要两字节(16位)长。这是因为一个16位长的值能够表示0-64KB范围的数。
另一方面,如果时间搜索表的总数据大小需要被限制到504字节(这是要在下面说明的TKTMSRT的数据大小)的话,则例如可以计算出时间搜索表中的条目的最大个数为504/2=252。
因为每两秒提供一个条目,因此相应于这一最大条目数252的播放是504秒(2s*252),换句话说,8分24秒(=8.4分)。这意味着,设定一个AOB_BLOCK的最大播放时间为8.4分限制时间搜索表的数据大小为504字节。
{3-3_10-9}关于AOB
到此结束AOB_BLOCK的说明。下面说明AOB。
在图10的第二级表示的AOB是在两端都具有无效区的区域。在每一AOB文件中只存在一个AOB。
无效区是这样的区域,其与AOB_BLOCK一起读和写,并存储在和该AOB_BLOCK同样的簇中。在一个AOB内的AOB_BLOCK的开始和结束位置由包含在导播数据中的BIT表示。在本说明书的后面详细说明这些BIT。
到此完成在一个AOB文件中存储什么数据的说明。下面说明当连续读在图9的AOB文件中所示的8个AOB和AOB_BLOCK时播放什么类型的内容。
{3-3_10-10_16}
图16表示当连续读在AOB文件中的AOB和AOB_BLOCK时的播放内容。图16中的第一级表示在用户区内的8个AOB文件,而第二级表示在这些AOB文件中记录的8个AOB。第三级表示在这些AOB中包含的8个AOB_BLOCK。
第五级表示由这些AOB文件组成的5个内容的标题。在该例中,内容是5首歌,SongA、SongB、SongC、SongD、和SongE,而"标题"是由这5首歌组成的音乐歌集。虚线AS1、AS2、AS3、…AS7、和AS8表示AOB_BLOCK和该歌集被分割到其中的部分之间的对应,使得在图16中的第四级表示用于分割在第五级表示的音乐歌集的单元。
通过参考这些虚线,可以看到,在AOB#1中包含的AOB_BLOCK是具有播放时间为6.1分钟的歌(SongA)。在AOB#2中包含的AOB_BLOCK是具有播放时间为3.3分钟的歌(SongB)。在AOB#3中包含的AOB_BLOCK是具有播放时间为5.5分钟的歌(SongC)。以这种方式,"AOB001.SA1"到"AOB003.SA1"的每一个相应于一首不同的歌。图1 6的第六级是一个由音轨TrackA到TrackE组成的音轨序列。这些音轨TrackA-TrackE相应于歌SongA、SongB、SongC、SongD、和SongE,并且它们每一个都作为单独的播放单元对待。
另一方面,AOB#4具有播放时间8.4分钟,是具有播放时间30.6分钟的歌SongD的第一(或"头")部分。在AOB#5和AOB#6中包括的AOB_BLOCK是歌SongD的中间部分,也具有播放时间8.4分钟。在AOB#7中包括的AOB_BLOCK是歌SongD的结尾部分,具有播放时间5.4分钟。以这种方式,具有总播放时间为30.6分钟的一首歌被分割成(8.4+8.4+8.4+5.4分钟)的部分,每一个包括在不同的AOB中。如从图16中所见,在一个AOB文件中包含的每一首歌其最大播放时间为8.4分钟。
这一说明清楚地表示,上述限制AOB的播放时间限制了相应于每一AOB的时间搜索表的数据大小。下面说明在每一时间搜索表内包含的导播数据。
{3-3_8A,B-2}
导播数据由前面提到的两个文件"SD_Audio.PLM"和"SD_Audio.TKM"组成。文件"SD_Audio.PLM"包括播放目录管理器(PlaylistManager),而文件"SD_Audio.TKM"包括音轨管理器(TrackManager)。
如作为解释表示数据的一部分时提到的,多个AOB文件存储编码的AOB,虽然没有给出其它的信息,诸如这些AOB的播放时间、由这些AOB表示的歌曲的名称、或歌曲作者的信誉。虽然多个AOB记录在多个AOB文件中,但是不提供诸如这些AOB的播放顺序的指示。为通知播放装置这种信息,提供音轨管理器和播放目录管理器。
音轨管理器表示在AOB文件中记录的AOB和音轨之间的对应,包括每一条给出各种信息的多条音轨管理信息,诸如AOB的播放时间和歌曲名和不同AOB的歌曲作者。
在本说明书中,术语"音轨"指的是对用户有意义的播放单元,使得当有版权的音乐存储在闪光存储器卡31上时,每一首歌是一个单独的音轨。反之,当在闪光存储器卡31上记录一本"音频书"(亦即作为记录的音频存储的有版权的文献)时,每一章或段可以设定为一个单独的音轨。提供音轨管理器是为了管理作为一组音轨记录在多个AOB文件中的多个AOB。
播放目录设定多个音轨的播放顺序。在播放目录管理器内可以包括多个播放目录。
下面参考附图说明音轨管理器。
{17-1_18}播放目录管理器和音轨管理器的详细组成
图17表示在该实施例中作为层次结构的播放目录管理器和音轨管理器的详细组成。图18表示播放目录管理器和音轨管理器的的大小。图17的右侧更详细地表示位于左侧的项目,用虚线指示更详细地表示哪一个项目。
如图17所示,音轨管理器由音轨信息(TKI)#1、#2、#3、#4…#n组成,其用虚线h1表示。这些TKI用于管理作为音轨记录在AOB文件中的AOB,每一个相应于一个不同的AOB文件。从图17可以看出,每一个TKI包括音轨一般信息(TKGI)、其内可以不合音轨单独写文字信息的音轨文字信息(TKTXTI_DA)、和用作时间搜索表的音轨时间搜索表(TKTMSRT)。
从图18可以看出每一个TKI具有1024字节的固定长度,它意味着TKGI和TKTXTI_DA的总长度固定为512字节,因为TKTMSRT固定为512字节。在音轨管理器中,可以设定总共999个TKI。
如用虚线h3所示,TKTMSRT包括TMSRT头标和TMSRT条目#1、#2、#3、…#n。
{17-2_19}TKI与AOB文件和AOB的对应
图19表示图17中所示TKI如何对应在图16中所示的AOB文件和AOB。图19中的第一级上的方块表示由音轨TrackA到TrackE组成的一个音轨序列,第二级上的大框表示音轨管理器,而第三和第四级表示在图16给出的8个AOB文件。8个AOB文件记录在图16所示8个AOB中,并由包括音轨TrackA、TrackB、TrackC、TrackD、和TrackE的一个音乐歌集组成。第二级表示8个TKI。分配给每一TKI的号码"1"、"2"、"3"、"4"是用于标识每一TKI的序号,而每一TKI相应于已给同样序号001、002、003、004、005…的AOB文件。
记住这一点,从图1 9可以看出,TKI#1相应于文件"AOB001.SA1",TKI#2相应于文件"AOB002.SA1",TKI#3相应于文件"AOB003.SA1",TKI4相应于文件"AOB004.SA1"。在TKI和AOB_FRAME之间的对应用图19中的箭头TA1、TA2、TA3、TA4…表示。
以这种方式,每一TKI相应于在一个AOB文件中记录的一个不同的AOB,并给出只应用于相应AOB的详细信息。
{17-3_20}TKTMSRT的数据组成
下面说明应用于记录在AOB文件中的单一AOB的信息,从TKTMSRT开始。图20详细表示TKTMSRT的数据组成。
图20的右侧表示时间搜索表头标(TMSRT头标)的详细数据组成。在图20中,TMSRT头标为8字节长,包括3个字段。头两个字节是TMSRT标识符,下两个字节保留,最后4个字节是TMSRT条目总数。
用于标识TMSRT的唯一的标识符记录在"TMSRT头标"中。在当前TMSRT中的TMSRT条目的总数记录在"TMSRT条目总数"中。
{17-3_21-1}TKTMSRT的特定例子
下面详细说明TKTMSRT。图21表示TKTMSRT的一个例子。图21的左侧表示一个AOB,而右侧表示对应的TKTMSRT。图21左侧的AOB包括多个编号为#1、#2、#3…的AOB_ELEMENT,它们占据右边编号为AR1、AR2、AR3…ARn的区域。
诸如"0"、"32000"、"64200"、"97000"、"1203400"、和"1240000"的数字是由AOB_ELEMENT占据的区域AR1、AR2、AR3、ARn-1、ARn相对于AOB_BLOCK开始的的相对地址。作为例子,AOB_ELEMENT#2记录在离开AOB_BLOCK开始"32000"距离处的位置,而AOB_ELEMENT#3记录在离开AOB_BLOCK开始"64200"距离处的位置,AOB_ELEMENT#n-1记录在离开AOB_BLOCK开始"1203400"距离处的位置。
应该注意,在每一占据的区域和AOB_BLOCK开始之间的距离不是某一值的倍数,意味着由AOB_ELEMENT占据的区域不是同样大小。其被占据的区域具有不同大小的原因是用于编码每一AOB_FRAME的数据量是变化的。
因为由每一AOB_ELEMENT占据的区域的大小不同,因此当执行跳进到一个AOB_ELEMENT的开始时必须事先通知播放装置在AOB中的每一AOB_ELEMENT的位置。为此目的,在TKTMSRT中给出多个TMSRT条目。箭头RT1、RT2、RT3…RTn-1、RTn表示在由每一AOB_ELEMENT占据的AR1、AR2、AR3、…ARn-1、ARn和TMSRT条目#1、TMSRT条目#2、TMSRT条目#3、…TMSRT条目#n-1、TMSRT条目#n之间的对应。换句话说,由AOB_ELEMENT#1占据的区域AR1的大小写入TMSRT条目#1,而由AOB_ELEMENT#2和AOB_ELEMENT#3占据的区域AR2和AR3的大小写入TMSRT条目#2和#3中。
因为被占据的区域AR1占据从AOB开始到AOB_ELEMENT#2"32000"的开始的区域,所以把长度"32000"(=32000-0)写入TMSRT条目#1中。被占据的区域AR2占据从AOB_ELEMENT#2"32000"的开始到AOB_ELEMENT#3"64200"的开始的区域,所以把长度"32200"(=64200-32000)写入TMSRT条目#2中。被占据的区域AR3占据从AOB_ELEMENT#3"64200"的开始到AOB_ELEMENT#4"97000"的开始的区域,所以把长度"32800"(=97000-64200)写入TMSRT条目#3中。以类似方式,被占据的区域ARn-1占据从AOB_ELEMENT#n-1"1203400"的开始到AOB_ELEMENT#n"1240000"的开始的区域,所以把长度"36600"(=1240000-1203400)写入TMSRT条目#n-1中。
{17-3_21-2}如何读取TKTMSRT
以这种方式,AOB_ELEMENT的数据大小写入一个时间搜索表中。然而,因为每一AOB_BLOCK的数据长度限制为最大8.4分钟,因此,包括在单一AOB中的AOB_ELEMENT的总数限制为一个预定的个数(如图20中所示为"252")或更小。因为AOB_ELEMENT的个数受限,所以相应于AOB_ELEMENT的TMSRT条目的个数也受限制,这将限制包括这些TMSRT条目的TKTMSRT的大小在一个预定的大小之内。因为TKTMSRT的大小有限制,因此播放装置可以以下述方式读取和使用TKI。
播放装置读取某一AOB,并在开始播放该AOB时读取相应的TKI并将其存储在存储器中。把该相应的TKI保持在存储器中,而继续播放该AOB。一旦该AOB播放结束,就读取下一AOB,并当开始播放这一AOB时,播放装置在存储器中重写相应于该下一AOB的TKI,代替旧TKI。该下一TKI保存在存储器中,同时继续播放该下一AOB。
通过以这种方式读取存储的TKI,可以使播放装置中必需的存储器容量为最小,同时仍然能实现诸如向前和向后搜索这样的特殊播放功能。虽然本实施例说明从一个AOB_ELEMENT的第一地址到下一AOB_ELEMENT的第一地址的数据长度写入TMSRT条目的场合,但是也可以代之以写从AOB_BLOCK的开始到AOB_ELEMENT的第一地址的相对地址。
{17-3_21-3}指定包含一个AOB_ELEMENT的簇
下面说明如何使用TKTMSRT读取一个AOB_ELEMENT。TKTMSRT包括每一AOB_ELEMENT的大小,使得当要读取从一个AOB的开始数第y个AOB_ELEMENT的AOB_ELEMENT#y时,计算满足下面给出的等式1的簇u,读取放置在从簇u的开始偏移为v的数据。
等式1
簇u=(从AOB_ELEMENT#1到AOB_ELEMENT#y-1的全部TMSRT条目+DATA_Offset)/簇长度
偏移v=(从AOB_ELEMENT#1到AOB_ELEMENT#y-1的全部TMSRT条目+DATA_Offset)mod簇长度
式中c=a mod b表示c是当用b除a时产生的余数。
DATA偏移写入BIT,在本说明书的后面说明。
{17-4}TKTXI_DA
到此结束时间搜索表(TKTMSRT)的说明。下面说明记录在TKTMSRT上部的音轨文字信息数据区(TKTXI_DA)。
音轨文字信息数据区(TKTXI_DA)用于存储表示作者名、歌集名、混音者、制作者、和其它这种信息的文字信息。即使当这种文字信息不存在时也提供这一区域。
{17-5}TKGI
下面说明记录在TKTXI_DA上部的TKGI。在图17中,表示出下面几组信息:作为TKI的标识符"TKI_ID"、TKI个数的"TKIN"、TKI大小的"TKI_SZ"、对下一TKI的连接指针"TKI_LNK_PTR"、块属性"TKI_BLK_ATR"、播放时间"TKI_PB_TM"、音频属性"TKI_AOB_ATR"、"ISRC"、块信息"BIT"。注意,只在图17中表示出一些这样的信息以简化表示。
{17-5_22-1}TKGI
下面参考图22详细说明TKGI的组成。图17和图22之间的区别在于图17中所示TKGI的数据组成安排在该图的左侧,以及清楚地表示出"TKI_BLK_ATR"、"TKI_AOB_ATR"和"ISRC"的位组成。
{17-5_22-2}TKI_ID
为TKI的唯一的ID写入"TKI_ID"。在本实施例中,使用两字节的"A4码"。
{17-5_22-3}TKIN
在范围1到999之间的TKI个数写入"TKIN"。注意,每一TKI的TKIN是唯一的。在本实施例中,使用在音轨管理器中的每一TKI的位置作为TKIN。这意味着,写"1"作为TKI#1的TKI个数,写"2"作为TKI#2的TKI个数,写"3"作为TKI#3的TKI个数。
{17-5_22-4}TKI_SZ
以字节为单元的TKI的数据大小写入"TKI_SZ"。在图22中,给出1024字节作为TKI的数据大小,使得在本实施例中的每一TKI是1024字节长。
{17-5_22-5}TKI_LNK_PTR
当前TKI连接到的TKI的TKIN写入"TKI_LNK_PTR"。下面说明在TKI之间的这种链接。
当一个音轨由多个记录在多个AOB文件中的AOB组成时,这些AOB文件将通过链接多个相应于这些AOB文件的TKI作为单一音轨管理。为链接多个TKI必须表示后随当前TKI的AOB文件的AOB文件的TKI。相应地,后随当前TKI的TKI的TKIN写入TKI_LNK_PTR。
{17-5_22-6_19}TKI_LNK_PTR
下面说明为在图19所示的8个TKI中的TKI_LNK_PTR所进行的设置。编号#1到#3和#8的音轨信息每一个相应于单独的音轨,所以在它们的TKI_LNK_PTR中不设置信息。音轨信息TKI#4、TKI#5、TKI#6、TKI#7相应于组成TrackD的4个AOB文件,使得在这些TKI的TKI_LNK_PTR中指示下一音轨信息。如由图19中的箭头TL4、TL5、和TL6所示,在TKI#4的TKI_LNK_PTR中设置"TKI#5",在TKI#5的TKI_LNK_PTR中设置"TKI#6",在TKI#6的TKI_LNK_PTR中设置"TKI#7"。
作为结果,播放装置可以引用在相应于这4个AOB文件的TKI中给出的TKI_LNK_PTR来找出TKI#4到TKI#7这4个TKI和"AOB004.SA1"到"AOB007.SA1"4个AOB文件来组成单一音轨,TrackD。
{17-5_22-7}TKI_BLK_ATR
当前TKI的属性写入"TKI_BLK_ATR"中。在图22中,在从TKI_BLK_ATR伸出的虚线内表示的信息表示该TKI_BLK_ATR的位组成。在图22中,所示TKI_BLK_ATR为16位长,其中从位b3到b15为将来使用保留。从b2到b0的3位用于表示该TKI的属性。
当一个TKI相应于一个完整的音轨时,在TKI_BLK_ATR中写入值"00b"(这一设置以下称为"音轨")。当几个TKI相应于同一音轨时,值"001b"写入第一个TKI的TKI_BLK_ATR中(这一设置以下称为"音轨头部"),值"010b"写入相应于在该音轨中间的AOB的TKI的TKI_BLK_ATR(这一设置以下称为"音轨中部"),值"011b"写入相应于在该音轨结尾处的AOB的TKI的TKI_BLK_ATR(这一设置以下称为"音轨结尾")。当未使用TKI,但是存在一个TKI区,这也就是说,当有一个删除的TKI时,值"011b"写入TKI_BLK_ATR(这一设置以下称为"未使用")。当未使用TKI,且不存在TKI区时,值"101b"写入TKI_BLK_ATR。
{17-5_22-8_19}TKI_BLK_ATR的示例设置
下面以图19所示例子说明为每一TKI的TKI_BLK_ATR的设置。
通过引用每一TKI的TKI_BLK_ATR,可以看到,4对TKI#1("AOB001.SA1")、TKI#2("AOB002.SA1")、TKI#3("AOB003.SA1")、和TKI#8("AOB008.SA1"),每一个相应于单独的音轨,因为每一个TKI#1、TKI#2、TKI#3、和TKI#8被设置为"音轨"。
TKI#4的TLK_BLK_ATR设置为"音轨头部(Head_of_Track)",TKI#7的TLK_BLK_ATR设置为"音轨结尾(End_of_Track)",而TKI#5和TKI#6的TLK_BLK_ATR设置为"音轨中部(Midpoint_of_Track)"。这意味着相应于TKI#4的AOB文件("AOB004.SA1")是一个音轨的开始,相应于TKI#5和TKI#6的AOB文件("AOB005.SA1")和("AOB006.SA1")是音轨的中间,而相应于TKI#7的AOB文件("AOB007.SA1")是音轨的结尾。
通过按照在TKI中的TKI_BLK_ATR的设置分类TKI和相应AOB文件的结合,可以看到,TKI#1和"AOB001.SA1"的结合组成第一音轨(TrackA)。类似地,TKI#2和"AOB002.SA1"的结合组成第二音轨(TrackB),TKI#3和"AOB003.SA1"的结合组成第三音轨(TrackC)。TKI#4和"AOB004.SA1"的结合组成第四音轨(TrackD)的第一部分。TKI#5与"AOB005.SA1"和TKI#6与"AOB006.SA1"的结合组成TrackD的中间部分,而TKI#7与"AOB007.SA1"的结合组成TrackD的结尾部分。最后,TKI#8和"AOB008.SA1"的结合组成第五音轨(TrackE)。
{17-5_22-9}TKI_PB_TM
由记录在相应于一个TKI的AOB文件中的AOB组成的音轨(歌)的播放时间写入TKI的"TKI_PB_TM"。
当一个音轨由多个TKI组成时,该音轨完全的播放时间写入相应于该音轨的第一个TKI的TKI_PB_TM,而相应的AOB的播放时间写入对该音轨第二和后随的TKI中。
{17-5_22-10}TKI_AOB_ATR
当产生一个AOB时使用的编码条件,也就是说诸如下述的信息:(1)记录在相应AOB文件中的AOB被采样的采样频率;(2)传输位速率;(3)通道的个数,写入一个TKI的"TKI_AOB_ATR"中。TKI_AOB_ATR的位组成在从在图22的"TKI_AOB_ATR"伸出的虚线内表示。
在图22中,TKI_AOB_ATR由32位组成,其编码方式写入从位b16到位b19的4位字段里。当按照MPEG-2 AAC(带ADTS头标)编码AOB时,值"0000b"写入该字段,而当按照MPEG-第3层(MP3)编码AOB时,值"0001b"写入。当按照视窗介质音频(WMA)编码AOB时,值"0010b"写入该字段。
编码AOB时使用的位速率写入在位b15到位b8之间的8位字段。当按照MPEG-2 AAC(带ADTS头标)编码AOB时,在该字段内写入在"16"和"72"之间的一个值,而当按照MPEG1-第3层(MP3)编码AOB时,写入在"16"和"96"之间的一个值。当按照MPEG1-第3层(MP3)LSF编码AOB时,在该字段内写入在"16"和"80"之间的一个值,而当按照视窗介质音频(WMA)编码AOB时,写入在"8"和"16"之间的一个值。
编码AOB时使用的采样频率写入在位b7和位b4之间的4位字段。当采样频率是48kHz时,值"0000b"写入该字段。当采样频率是44.1kHz时,该值是"0001b",当采样频率是32kHz时,该值是"0010b",当采样频率是24kHz时,该值是"0011b",当采样频率是22.05kHz时,该值是"0100b",而当采样频率是16kHz时,该值是"0101b"。
通道数写入从位b3到位b1之间的3位字段。当使用一个通道(单声道)时,值"000b"写入该字段,而当使用双通道(亦即立体声)时,值"001b"写入该字段。
从位b31到位b20的12位字段保留为将来使用,和位b0一样。
{17-5_22-11}ISRC
ISRC(国际标准记录代码)写入TKGI。在图22中,从框"ISRC"伸出的虚线表示该ISRC的内容。如图所示,ISRC包括10个字节,记录项代码(#12)写入位b4和位b7之间的4位字段。记录代码/记录项代码(#11)写入位b8和位b11之间的4位字段。
记录代码(ISRC#10,#9,#8)写入在位b12和位b23之间的12位字段。记录年份代码(ISRC#6,#7)写入位b24和位b31之间的8位字段。
第一拥有者代码(ISRC#3,#4,#5)写入在位b32和位b37之间的6位字段、在位b40和位b45之间的6位字段、和在位b48和位b53之间的6位字段。国家代码(ISRC#1,#2)写入在位b56和位b61之间的6位字段和在位b64和位b69之间的6位字段。1位的有效性标志写入由位b79组成的1位字段。ISRC的详细说明可以在IS03901:1 986"文献-国际标准记录代码(ISRC)"中找到。
{17-5_22-12_23A-1}BIT
"块信息表(BIT)"是用于管理AOB_BLOCK的表,其详细组成示于图23A和23B。
如图23A所示,一个BIT包括:占据从第60字节到第63字节的区域的DATA_OFFSET字段;占据从第64字节到第67字节的区域的SZ_DATA字段;占据从第68字节到第71字节的区域的TMSRT_Ns字段;占据从第72字节到第73字节的区域的FNs_1st_TMSRTE字段;占据从第74字节到第75字节的区域的FNs_Last_TMSRTE字段;占据从第76字节到第77字节的区域的FNs_Middle_TMSRTE字段;和占据从第78字节到第79字节的区域的TIME_LENGTH字段。
下面详细说明上述每一字段。
{17-5_22-12_23A-2}DATA_Offset
从簇之间的边界起一个AOB_BLOCK的开始的相对地址写入"DATA_OFFSET",作为一个以字节为单位给出的值。这表示在一个AOB和AOB_BLOCK之间的一个有效区域的大小。作为一个例子,当用户在闪光存储器卡31上作为AOB记录一个无线电广播并希望删除一个其上有一个流行音乐节目播音员讲话的音轨的导入部分时,可以设置该BIT,使该音轨播放而不要包括流行音乐节目播音员声音的部分。
{17-5_22-12_2 3A-3}SZ_DATA
以字节单位表示的AOB_BLOCK的数据长度写入"SZ_DATA"。通过从文件长度(簇大小的整数倍)中减去在DATA_Offset上加SZ_DATA产生的值,可以找到跟随AOB_BLOCK的无效区的大小。
{17-5_22-12_23A-4}TMSRTE_Ns
在一个AOB_BLOCK中包括的TMSRT条目的总数写入"TMSRTE_Ns"。
{17-5_22-12_23A-5}"FNs_1st_TMSRTE","FNs_Last_TMSRTE","FNs_Middle_TMSRTE"
在位于当前AOB_BLOCK的开始处的AOB_ELEMENT中包含的AOB_FRAME的个数写入"FNs_1st_TMSRTE"。
在位于当前AOB_BLOCK的结尾处的AOB_ELEMENT中包含的AOB_FRAME的个数写入"FNs_Last_TMSRTE"。
在除当前AOB_BLOCK的开始和结尾处的AOB_ELEMENT之外的每一AOB_ELEMENT,亦即在该AOB_BLOCK中间的AOB_ELEMENT,中包含的AOB_FRAME的个数写入"FNs_Middle_TMSRTE"。
AOB_ELEMENT的播放时间以图23C所示格式写入"TIME_LENGTH"字段,精确到毫秒级。如图23C所示,"TIME_LENGTH"字段长16位。当使用MPEG-ACC或MPEG-第3层中的编码方法时,一个AOB_ELEMENT的播放时间是两秒,所以把值"2000"写入"TIME_LENGTH"字段。
{17-5_22-13_23B}
图23B表示由"FNs_Middle_TMSRTE"指示的AOB_FRAME的个数。以和图14同样的方式,图23B表示在采样频率和包含在在一个AOB_BLOCK中间的一个AOB_ELEMENT中的AOB_FRAME的个数之间的关系。
在采样频率和包含在图23B所示AOB_ELEMENT中的帧的个数之间的关系和图14中的相同,也就是说,一个AOB_ELEMENT中的帧的个数取决于所用的采样频率。写入"FNs_1st_TMSRTE"和"FNs_Last_TMSRTE"中的帧的个数基本上和写入"FNs_Middle_TMSRTE"中的个数相同,虽然当一个无效区域出现在一个AOB_BLOCK的开始和/或结尾处的AOB_ELEMENT中时,在"FNs_1st_TMSRTE"和/或"FNs_Last_TMSRTE"中给出的值将不同于在"FNs_Middle_TMSRTE"中的值。
{17-5_22-14_24}一个存储的AOB_ELEMENT的例子
图24表示存储由AOB_ELEMENT#1到AOB_ELEMENT#4组成的AOB的簇007到00E。下面说明当一个AOB如图24所示存储时在BIT中的设置。存储在簇007到00E中的AOB_ELEMENT#1到AOB_ELEMENT#4在图24中用三角标志表示,同时TMSRT条目在为AOB_ELEMENT#1到AOB_ELEMENT#4的每一个的TKI中设置。
在该例中,在AOB的开始处的AOB_ELEMENT#1的第一部分存储在簇007中,而在该AOB的结尾处的AOB_ELEMENT#4的最后一部分存储在簇00E中。AOB_ELEMENT#1到#4占据簇007中md0到簇00E中md4之间的区域。如图24中箭头sd1所示,在BIT中的SZ_DATA指示,AOB_ELEMENT#1到#4占据从簇007的开始到簇00E的结尾处的区域,这样并不指示在簇007和00E中有无效区域ud0和ud1,它们不由该AOB_ELEMENT占据。
另一方面,该AOB还包括在簇007和00E中存在的、不由AOB_ELEMENT#1或AOB_ELEMENT#4占据的ud0和ud1。在BIT中给出的DATA_Offset给出该未占用区域的长度,也就是说AOB_ELEMENT#1的开始相对于簇007的开始的位置值。
在图24中,AOB_ELEMENT#1占据从簇007中的md0到簇008中的md1的区域。
AOB_ELEMENT#1不占用簇008的全部,该簇的剩余部分由AOB_ELEMENT#2占据。AOB_ELEMENT#4占据簇00C中间的md3到簇00E的中间的md4的区域。以这种方式,AOB_ELEMENT可以横跨簇边界存储,或换句话说,AOB_ELEMENT可以不考虑簇之间的边界记录。在BIT中的"FNs_1st_TMSRTE"表示位于簇007和008中的AOB_ELEMENT#1中的帧数,而在BIT中的"FNs_Last_TMSRTE"表示位于簇00C到00E中的AOB_ELEMENT#4中的帧数。
以这种方式,可以自由放置AOB_ELEMENT而不考虑簇之间的边界。BIT提供表示从簇边界到一个AOB_ELEMENT的偏移和在每一AOB_ELEMENT中的帧数的信息。
{17-5_22-14_25}在每一AOB_ELEMENT中给出的帧数的用途(第一部分)
下面说明如何使用在BIT中给出的每一AOB_ELEMENT中的帧数。当执行向前或向后搜索时使用在BIT中给出的帧数。如上所述,这种操作是在首先跳过播放时间为两秒的数据后播放240毫秒数据。
图25表示当从在一个AOB中的一个AOB_ELEMENT#y中的AOB_FRAME#x开始执行向前搜索时如何设置下一应该播放的AOB_FRAME#x+1。
图25表示当在播放在AOB_ELEMENT#y中包含的AOB_FRAME#x时用户选择向前搜索的情况。在图25中,"t"表示间断播放时间(这里为240毫秒),"f(t)"表示相应于该间断播放时间的帧数,"skip_time"表示在间断播放期间之间应该跳过的时间长度(这里为两秒),"f(skip_time)"表示相应于这一跳过时间的帧数。通过重复下面要说明的3个步骤(1)、(2)、(3)实现间断播放。
(1)播放装置引用在TKTMSRT中的TMSRT条目跳到标志符号(AOB_ELEMENT)的开始。
(2)播放装置执行240毫秒的播放。
(3)播放装置跳到下一标志符号(AOB_ELEMENT)的开始。
离开包含在AOB_ELEMENT#y中的AOB_FRAME#x的距离2s+240ms处的AOB_FRAME#x+1确切存在于AOB_ELEMENT#y+1处。当指定离开AOB_FRAME#x的距离2s+240ms处的AOB_FRAME#x+1时,下一AOB_ELEMENT#y+1的第一地址通过从TKTMSRT读取TMSRT条目可以立即算出,虽然播放装置自己不能从TMSRT条目知道从AOB_ELEMENT#y+1的开始地址到AOB_FRAME#x+1止AOB_FRAME的个数。
为AOB_FRAME的这一个数,必须从(1)表示相对于AOB_ELEMENT#y的开始处的AOB_FRAME#x的位置、(2)f(t)、(3)f(skip_time)的总和中减去在AOB_ELEMENT#y中包括的帧的总数。为简化在AOB_ELEMENT#y+1中的AOB_FRAME#x+1的相对帧位置的计算,把为每一 AOB_ELEMENT的"FNs_1st_TMSRTE"、"FNs_Last_TMSRTE"、和"FNs_Middle_TMSRTE"写入BIT,如上所述。
{17-5_22-15_26A}在每一AOB_ELEMENT中给出的帧数的用途(第二部分)
写在BIT中的帧数还用在当播放装置执行时间搜索功能时,这时播放从使用一个时间代码指示的点开始。在图26A中,表示出一个播放装置如何能够指定相应于用户指示的播放开始时间的AOB_ELEMENT和AOB_FRAME。当要从用户指定的时间开始播放时,在Jump_Entry字段中设定指示的时间(以秒),播放应该从满足下面给出的等式2的一个AOB_ELEMENT#y和一个AOB_FRAME位置x开始。
等式2
Jump_Entry(秒)=(FNs_1st_TMSRTE+FNs_Middle_TMSRTE*y+x)* 20毫秒
因为"FNs_1st_TMSRTE"和"FNs_Middle_TMSRTE"在BIT中提供,因此可以把它们代入等式2以计算AOB_ELEMENT#y和AOB_FRAME#x。做完这一点后,播放装置可以引用AOB的TKTMSRT,计算AOB_ELEMENT#y+2(其为在该AOB中的第(y+2)个AOB_ELEMENT)的第一地址,并开始搜索离开该第一地址的AOB_FRAME#x。在找到第x个AOB_FRAME时,播放装置开始从这一帧播放。以这种方式,播放装置可以从由Jump_Entry(以秒)指示的时间开始播放数据。
以这种方式,播放装置不必搜索AOB_FRAME的ADTS头标部分,而只需执行在TKTMSRT中的TMSRT条目中给出的AOB_ELEMENT中的搜索。这意味着,播放装置可以高速找到相应于一个指定播放时间的播放位置。
以相同方式,当已经设定Jump_Entry并在由多个AOB组成的一个音轨上使用时间搜索功能时,播放装置只需计算满足下面的等式3的AOB_ELEMENT#y和AOB_FRAME#x。
等式3
Jump_Entry(秒)=
从AOB#1到AOB#n的播放时间+
(FNs_1st_TMSRTE(#n+1)+FNs_Middle_TMSRTE(#n+1)*y+x)*20毫秒
从AOB#1到AOB#n的AOB的总播放时间如下。
从AOB#1到AOB#n的总播放时间=
["FNs_1st_TMSRTE"(#1)+"FNs_Middle_TMSRTE"(#1)*(TMSRT条目(#1)的号码-2)+"FNs_Last_TMSRTE"(#1)+"FNs_1st_TMSRTE"(#2)+("FNs_Middle_TMSRTE"(#2)*TMSRT条目(#2)数-2)+"FNs_Last_TMSRTE"(#2)+"FNs_1st_TMSRTE"(#3)+("FNs_Middle_TMSRTE"(#3)*TMSRT条目(#3)数-2)+"FNs_Last_TMSRTE"(#3)…+"FNs_1 st_TMSRTE"(#n)+("FNs_Middle_TMSRTE"(#n)*TMSRT条目(#n)数-2)+"FNs_Last_TMSRTE"(#n)]*20毫秒
已经计算出满足等式3的AOB#n、AOB_ELEMENT#y、和AOB_FRAME#x,播放装置引用相应于AOB#n+1的TKTMSRT搜索离开放置第y+2个AOB_ELEMENT(亦即AOB_ELEMENT#y+2)的地址的第x个AOB_FRAME,并从该第x个AOB_FRAME开始播放。
{17-5-_22-16_27A,B}AOB文件和TKI的删除
到此结束对在1KI中包括的所有信息的说明。下面说明在下面4种情形下TKI如何更新。在第一种情形(情形1),删除一个音轨。在第二种情形(情形2),删除一个音轨并记录一个新音轨。在第三种情形(情形3),在多个音轨中选择两个音轨并组合成单一音轨。最后,在第四种情形(情形4),分割一个音轨以产生两个音轨。
下面说明删除一个音轨的情形1。
图27A和27B表示部分删除一个音轨。图27A和27B的例子相应于图19所示音轨管理器,并假定用户指定部分删除TrackB。相应于TrackB的AOB记录在"AOB002.SA1"中,其与TKI#2关联。这意味着"AOB002.SA1"的删除是通过在TKI#2的TKI_BLK_ATR中设定"未使用"而实现的。"AOB002.SA1"已被删除并在TKI#2的TKI_BLK_ATR中设定"未使用"这一状态示于图27B。因为"AOB002.SA1"已被删除,因此原来被"AOB002.SA1"占用的区域被释放而成为未使用区域。如上所述,其它的变化是在TKI#2的TKI_BLK_ATR中设定"未使用"。
{17-5-_22-17_28A,B}当记录一个新AOB时TKI的分配
下面说明情形2,此时在删除一个音轨后记录一个新音轨。
图28A表示执行几次删除音轨后的音轨管理器。如图28A所示,如果相应于TKI#2、TKI#4、TKI#7、和TKI#8的音轨被删除,则在这些TKI的TKI_BLK_ATR中设定"未使用"。虽然AOB文件以和常规数据文件相同的方式删除,但是音轨管理器只通过在相应TKI的TKI_BLK_ATR中设定"未使用"更新。这意味着,其TKI_BLK_ATR设定为"未使用"的TKI可以出现在音轨管理器中的不同地方。
图28B表示当一个其TKI_BLK_ATR是"未使用"的TKI出现在音轨管理器中时如何写一个新的TKI和AOB文件。就像图28A,图28B中的TKI#2、TJI#4、TKI#5、TKI#7、和TKI#8设定为"未使用"。
在图28B中,要写的新音轨包括4个AOB。用以记录这些AOB的未使用的TKI根据DPL_TK_SRP决定,或可以自由选择。在本例中,使用编号为TKI#2、TJI#4、TKI#7、和TKI#8的未使用的TKI来记录用于新音轨的TKI。
因为这4个AOB组成一个音轨,因此,在TKI#2的TKI_BLK_ATR中设定"音轨头部",在TKI#4和TKI#7的TKI_BLK_ATR中设定"音轨中部",在TKI#8的TKI_BLK_ATR中设定"音轨结尾"。设定在用于组成新的TrackD的4个TKI,TKI#2、TJI#4、TKI#7、和TKI#8,中每一个的TKI_BLK_ATR,以便表示TrackD的下一部分的TKI,使得如箭头TL2、TL4、和TL7所示,TKI#4在TKI#2的TKI_LNK_PTR中设定,TKI#7在TKI#4的TKI_LNK_PTR中设定,TKI#8在TKI#7的TKI_LNK_PTR中设定。
之后,产生具有和TKI#2、TKI#4、TKI#7、TKI#8同样号码的文件"AOB002.SA1"、"AOB004.SA1"、"AOB007.SA1"、和"AOB008.SA1",并且把组成TrackD的4个AOB记录在这4个文件中。
通过适当设定TKI_LNK_PTR和TKI_BLK_ATR,该第四音轨TrackD可以使用TKI#2、TJI#4、TKI#7、和TKI#8管理。
如上所述,当在闪光存储器卡31中写入一个新音轨时,分配在音轨管理器中设定为"未使用"的TKI作为要为新记录的音轨使用的TKI。
{17-5-_22-18_29A,B}当结合两个音轨时TKI的设定
下面说明当组合音轨时TKI的更新(情形3)。
图29A和29B表示当结合两个音轨以产生一个新音轨时如何设定TKI。图29A的例子使用和图19同样的音轨管理器,并表示当用户执行编辑操作以结合TrackC和TrackE为单一音轨时的情形。
在这一情形,相应于TrackC和TrackE的AOB记录在文件"AOB00 3.SA1"和"AOB008.SA1"中,其相应于TKI#3和TKI#8,使得TKI#3和TKI#8的TKI_BLK_ATR被重写。图29B表示在重写后的这些TKI的TKI_BLK_ATR。在图29A中,TKI#3和TKI#8的TKI_BLK_ATR写作"音轨",但是在图29B中TKI#3的TKI_BLK_ATR被重写为"音轨头部"和TKI#8的TKI_BLK_ATR被重写为"音轨结尾"。通过以这种方式重写TKI_BLK_ATR,对应于TKI#3和TKI#8的文件"AOB003.SA1"和"AOB008.SA1"作为单一音轨,新的TrackC,的一部分结束。这一操作通过重写TKI#3的TKI_LNK_PTR以指示TKI#8而完成。
这里要特别注意,虽然TKI中的TKI_BLK_ATR被重写,但是对物理结合文件"AOB003.SA1"和"AOB008.SA1"未作任何处理。这是因为AOB文件的每一个都使用不同的FileKey加密,所以当结合AOB文件时必须为每一AOB文件执行两种处理,首先解密被加密的AOB文件,然后重新加密得到的结果,导致过量的处理负担。另外,以这种方式结合的AOB文件使用单一FileKey加密,这将使合成的音轨比用以产生它的音轨较不安全。
TKI在最初设计时使得能够抑制TKTMSRT的大小,所以通过编辑操作物理结合AOB文件也具有使TKI变得过大的风险。
为了上面的理由,组合音轨的编辑操作保留AOB文件在其加密状态并通过只改变由TKI_BLK_ATR给出的属性来实现。
{17-5_22-18_29A,B-1_30,31}组合音轨时应该满足的条件
如上所述,组合音轨通过改变TKI_BLK_ATR属性执行,但是在被结合的音轨中包含的AOB应该满足下面给出的条件。
第一个条件是要组成一个新音轨的后面部分的AOB需要具有和要组成该新音轨的第一部分的AOB同样的音频属性(音频编码方式,位速率,采样频率,通道个数,等)。如果一个AOB具有对前面或后继的AOB不同的音频属性,则播放装置将必须复位解码器的操作,这将使无缝(亦即不间断)播放连续的AOB很困难。
第二个条件是,在通过组合产生的音轨中,只由其AOB_FRAME的个数少于为一个"FNs_Middle_TMSRTE"所需要的个数的那些AOB_ELEMENT组成的3个或更多AOB不能链接。
AOB按照是否至少一个AOB_ELEMENT包含和为一个"FNs_Middle_TMSRTE"规定的帧数同样个数的AOB_FRAME分为两类。第一类型的AOB包括至少一个具有该个数的AOB_FRAME的AOB_ELEMENT,而第二类型的AOB不包括具有这一个数的AOB_FRAME的AOB_ELEMENT。
换句话说,在第二类型的AOB中的AOB_ELEMENT具有比"FNs_Middle_TMSRTE"较少的AOB_FRAME,而第二条件规定3个第二类型的AOB不能链接在一起。
第二条件的理由如下。当播放装置相继读取AOB时,最希望有足够个数的AOB_FRAME积累在播放装置的缓冲器中,但是当有连续的第二类型的AOB时这一点不能实现。在这种场合,在播放装置的缓冲器中有可能发生下溢,以致不再能保证播放装置不间断的播放。因此,为避免这种下溢,使用规定3个或更多第二类型AOB不能链接的第二条件。
图30A表示一个第一类型的AOB,而图30B表示第二类型AOB的两个例子。在图30B中,两个AOB都由少于两个的AOB_ELEMENT组成,没有一个AOB_ELEMENT包括为"FNs_Middle_TMSRTE"设定的AOB_FRAME的个数。因为没有具有为"FNs_Middle_TMSRTE"设定的AOB_FRAME的个数的AOB_ELEMENT是分类AOB为第二类型的条件,因此这意味着,在该图中表示的所有AOB都分为第二类型的AOB。
在图31A中,表示组合类型1+类型2+类型2+类型1的AOB为单一音轨。由于这一组合不涉及链接3个第二类型的AOB,因此这些AOB可以链接而形成单一音轨。
图31B表示链接类型1+类型2+类型2+类型2+类型1的AOB为单一音轨。这一组合将导致有3个连续的第二类型AOB,所以被禁止。
{17-5_22-18_29A,B-1_32}相对于类型1和类型2的AOB的组合的音轨组合
在如图31A所示把AOB组合为单一音轨时,如果在第一音轨中的最后的AOB是第一类型AOB,则可以执行组合,而不管这一音轨的第一部分是第一类型的AOB还是第二类型的AOB。图32A表示在第一音轨中的最后的AOB是第一类型AOB和在下一音轨中的第一AOB也是第一类型AOB的情形。图32B表示在第一音轨中的最后的AOB是第一类型AOB和在下一音轨中的第一AOB是第二类型AOB的情形。由于在这两种情形下第二条件都满足,因此,图示音轨可以组合成为一个单一音轨。
当在第一音轨中的最后的AOB是第二类型的AOB,和在第一音轨中的先前的AOB是第一类型的AOB时,该第一音轨可以与后继以第一类型AOB开始的音轨组合,而不管在第一音轨中的第一AOB是第一类型的AOB还是第二类型的AOB。
图32C表示第一音轨以第一类型AOB和第二类型AOB这样的顺序结束和第二音轨以第一类型AOB开始的情形。图32D表示第一音轨以第一类型AOB和第二类型AOB这样的顺序结束和第二音轨以第二类型AOB和第一类型AOB这样的顺序开始的情形。由于在这两种情形下第二条件都满足,因此图示音轨可以组合成为一个单一音轨。
当第一音轨以第二类型AOB结束,而紧接前面的AOB也是一个第二类型AOB,则该第一音轨可以与后继以第一类型AOB开始的音轨组合。图32E表示第一音轨以两个第二类型AOB结束而第二音轨以一个第一类型AOB开始的情形。由于在这一情形下第二条件满足,因此图示音轨可以组合成为单一音轨。以这种方式,当要组合两个音轨时,要进行调查,看这两个音轨是否满足第一和第二条件,而两个音轨仅在它们被判定为满足这些条件时才可以组合。
下面说明为情形4的TKI的更新,这时要分割音轨。
{17-5_22-19_33A,B}当分割音轨时TKI的设定
图33A和33B表示当要分割一个单一音轨以产生两个新音轨时的例子。对于这些例子,音轨管理器的内容和图27中的内容相同,而假定用户执行了编辑操作,把TrackC分成两个新音轨,TrackC和TrackF。当TrackC要被分成为一个新TrackC和TrackF时,则相应于TrackF产生AOB文件"AOB002.SA1"。图33A表示TKI#2设定为"未使用",TKI#2被分配给新产生的AOB文件"AOB002.SA1"。
{17-5_22-19_33A,B-1_34A,B}更新目录条目和FAT值
当分割AOB文件"AOB003.SA1"以产生"AOB002.SA1"时,必须更新目录条目和FAT值。下面说明这一更新。图34A表示在AOB文件"AOB003.SA1"所属的SD-Audio目录中的SD-Audio目录条目如何在该文件被分割前写。
AOB文件"AOB003.SA1"被分为多个部分,它们存储在簇007、008、009、00A…00D、00E中。在这一场合,为在目录条目中给出的AOB文件"AOB003.SA1"的第一个簇号写为"007"。值(008)、(009)、(00A)…(00D)、(00E)也写入相应于簇007、008、009、00A…00D的FAT值007、008、009、00A…00D。
当分割AOB文件"AOB00 3.SA1",使得其后面的部分成为新的AOB文件"AOB002.SA1"时,给SD-Audio目录条目增加为该新AOB文件"AOB002.SA1"的"文件名"、"文件名扩展"和"文件中的第一簇的簇号"。图34B表示AOB文件"AOB003.SA1"所属的SD-Audio目录中的SD-Audio目录条目如何在AOB文件"AOB003.SA1"被分割后写。
在图34B中,簇00F存储簇00B的拷贝,它包括当分割该文件时用户指定的边界。AOB文件"AOB002.SA1"跟随包含在簇00B中的部分的部分存储在簇00C、00D、00E,和原来一样。因为AOB文件"AOB002.SA1"的第一部分存储在簇00F中,和剩余的部分存储在簇00C、00D、00E中,因此"00F"被写入为该新AOB文件"AOB002.SA1"的"文件中的第一簇的簇号",而(00C)、(00D)、(00E)写入相应于簇00F、00C、00D、和00E的FAT值00F、00C、00D、00E中。
{17-5_22-19_33A,B-2_35A,B}TKI中的信息字段的设定
下面说明一旦AOB文件"AOB002.SA1"通过更新目录条目和FAT值而得到时TKI中的信息字段如何为该文件设定。当为一个被分割的音轨产生一个TKI时,在该TKI中有两种信息字段。这些是(1)可以从原来的TKI复制的信息和(2)通过更新在原来TKI中的信息得到的信息。TKTXTI_DA和ISRC是前一种,而BIT、TKTMSRT和其它信息字段是后一种。因为这两类信息都存在,因此本实施例通过为一个被分割的音轨复制原来的TKI而产生一个TKI以产生一个为新TKI的模板,然后分割/更新该模板中的TKTMSRT和更新剩余的信息字段。
图35A表示分割一个AOB中的AOB_FRAME的情形。图35A中的第一级表示4个AOB_ELEMENT,AOB_ELEMENT#1、AOB_ELEMENT#2、AOB_ELEMENT#3、和AOB_ELEMENT#4。这些AOB_ELEMENT的数据长度在TKTMSRT中设定为4个TMSRT条目#1、#2、#3、和#4。如果为分割的边界bd1设定在图35A中的AOB_ELEMENT#2中,则把AOB_ELEMENT#2分成一个第一区域(1),它由位于边界bd1前面的帧组成,和一个第二区域(2),它由位于边界bd1后面的帧组成。图35B表示从通过AOB_ELEMENT#2从中间分割该AOB得到的两个AOB,AOB#1和AOB#2。
{17-5_22-19_3 3A,B-3_36}设定BIT
图36表示当如图35所示分割一个AOB时如何设定BIT。图35所示AOB在边界bd1分割。由这一分割产生的AOB#1包括两个AOB_ELEMENT,AOB_ELEMENT#1和AOB_ELEMENT#2,而由这一分割产生的另一AOB#2包括3个AOB_ELEMENT,AOB_ELEMENT#1、AOB_ELEMENT#2、和AOB_ELEMENT#3。
在图36中,还给这些AOB_ELEMENT三角标志以表示在相应于这些AOB的TKI中包含的TMSRT条目的设定。首先集中于通过这一分割得到的AOB#1进行说明。在AOB#1中包含的AOB_ELEMENT#1和AOB_ELEMENT#2占据簇007到簇00A,使得AOB#1被作为由簇007到簇00A合成来处理。在AOB#1中的AOB_ELEMENT#2有一个数据长度,它不在簇00A的结尾结束,而在存在于簇00A内的边界bd1处结束,使得为AOB#1的SZ_DATA作为从md0到在簇00A中的边界bd1的数据量给出。为AOB#1的"FNs_1st_TMSRTE"和分割前一样,而为AOB#1的"FNs_Last_TMSRTE"与在分割前所用的值不同,它此时指示从分割前AOB_ELEMENT#2的开始到边界bd1的帧数。
下面说明通过这一分割得到的AOB#2。在AOB#2中包括的AOB_ELEMENT#1、AOB_ELEMENT#2、和AOB_ELEMENT#3占据簇00B到簇007。簇00F包括簇00A的内容的复制。簇00F存储簇00A的复制的原因在于簇00A由在AOB#1中的AOB_ELEMENT#2占据,使得必须给AOB#2中的AOB_ELEMENT#1分配一个不同的簇。
在AOB#2中的AOB_ELEMENT#1具有不从簇00F的开始处开始而从存在于簇00F内的边界bd1开始的数据长度,使得为AOB#2的SZ_DATA作为从簇00B的开始到通过簇00E中间的一点的数据量加上由AOB_ELEMENT#1占据的簇00F的一部分的数据长度而给出。
AOB_ELEMENT#2在AOB#1中的一部分包含在存储在簇00F中的簇00A的复制中,需要从AOB#2中排除,使得在AOB#2的BIT中的DATA_Offset设定为在簇00F中包含的AOB#1中的AOB_ELEMENT#2的这一部分的大小。
如从图36所见,AOB的分割只导致包括分割边界的AOB_ELEMENT被分成两部分,而位于被分割的AOB_ELEMENT之前或之后的其它AOB_ELEMENT保持不变。其结果,AOB#2的"FNs_Last_TMSRTE"设定为和分割前为"AOB_ELEMENT#4"同样的值,AOB#2的"FNs_1st_TMSRTE"设定为AOB#2的AOB_ELEMENT#1,也就是说,在跟随边界的部分中包括的帧的个数,一旦AOB_ELEMENT#2被分割的话。
{17-5_22-19_33A,B-4_37}BIT的设定
图37表示作为音轨分割结果在BIT中的变化的更具体的例子。图37的左侧表示在分割前BIT设定的例子。在该BIT中,DATA_Offset设定为"X",SZ_DATA设定为"52428",TMSRTE_Ns设定为"n"。FNs_1st_TMSRTE设定为"80帧",FNs_Middle_TMSRTE设定为"94帧",而FNs_Last_TMSRTE设定为"50帧"。
图37的右侧表示由分割一个音轨产生的两个BIT的设定。当相应于在图37左侧的BIT的AOB如图35A所示分割时,在由该分割产生的第一音轨的BIT中的DATA_Offset设定为"X",就像分割前的音轨,"SZ_DATA"更新为从开始到分割点Q的数据长度"Q",TMSRTE_Ns设定为"k",它表示从第一TMSRT条目到第k个TMSRT条目的TMSRT条目的个数。FNs_1st_TMSRTE和FNs_Middle_TMSRTE以和BIT在分割前同样的方式分别设定为"80"和"94"帧,但是因为在由该分割产生的第一音轨的AOB中的最后的AOB_ELEMENT包括"p"个AOB_FRAME,因此,FNs_Last_TMSRTE设定为"p帧。"
在由分割产生的第二音轨的BIT中,"DATA_Offset"设定为"R","SZ_DATA"设定为(原来的SZ#DATA"52428"-到分割点的数据长度Q),而TMSRTE_NS设定为"n-k+1",其通过在从第k个TMSRT条目到第n个TMSRT条目的TMSRT条目的个数上加1(为第k个TMSRT条目,它作为分割的结果新加上的)产生。
FNs_Middle_TMSRTE和FNs_Last_TMSRTE设定为和分割前BIT同样的值,亦即分别为"94帧"和"50帧"。
该第二音轨的AOB中的第一AOB_ELEMENT包括"94-p"个AOB_FRAME,所以,相应于该音轨的BIT的FNs_1st_TMSRTE中设定为"94-p"。
{17-5_22-19_33A,B-5_38}BIT的设定
图38表示分割后的TKTMSRT。下面首先说明TMSRT的设定。第一音轨的TMSRT包括从分割前的AOB的第一TMSRT条目到第k个TMSRT条目的TMSRT条目,也就是说,TMSRT条目#1到#k。
这里应该注意,包括分割边界的AOB_ELEMENT#k只包括区域(1),所以第k个TMSRT条目只包括相应于该区域(1)的数据大小。第二音轨的TMSRT包括从分割前的AOB的第k个TMSRT条目到第n个TMSRT条目,也就是说,TMSRT条目#k到#n。这里应该注意,包括分割边界的AOB_ELEMENT#k只包括区域(2),所以第k个TMSRT条目只包括相应于该区域(2)的数据大小。
TKI的拷贝伴随着TKTMSRT和BIT的分割和更新,并且一旦剩余信息被更新,则为由分割产生的新音轨的TKI将被完成。以和组合音轨同样的方式,AOB文件不被解密,所以可以通过分割在其加密状态下的AOB文件产生两个音轨。因为AOB文件的分割不涉及解密和重新加密,因此可以抑制分割一个音轨的处理负载。这意味着,甚至可以用具有有限处理功率的播放装置编辑音轨。
到此完成了TKI的说明。下面说明播放目录。
{17-6}播放目录管理器
如图17的虚线h5所示,所示播放目录管理器包括:播放目录管理器信息(PlaylistManager_Information,PLMGI),用于管理存储在闪光存储器卡31中的播放目录;缺省播放目录信息(Default_Playlist_Information,DPLI),用于管理存储在闪光存储器卡31上的所有音轨;和播放目录信息(PLI)#1、#2、#3、#4…#m。每一个PLI是为用户定义的播放目录的信息。如虚线h6所示,DPLI包括缺省播放目录一般信息(DPLGI)和缺省播放目录音轨搜索指针(DPL_TK_SRP)#1、#2、#3、#4…#m。如虚线h7所示,每一PLI包括播放目录一般信息(PLGI),和播放目录音轨搜索指针(PL_TK_SRP)#1、#2、#3、#4…#m。
这里提到的DPLI在下面一点与每一PLI不同。虽然DPLI必须指示存储在闪光存储器卡31中的所有音轨,但是PLI没有这一限制,而可以指示任何个数的音轨。这为用户提供了各种可能。作为说明性例子,用户可以产生播放目录信息,指示他(她)喜欢的音轨并把该播放目录信息存储在闪光存储器卡31中,或可以使播放装置自动产生仅指示闪光存储器卡31中存储的多个音轨中的某一类型音轨的播放目录信息,并将产生的播放目录信息存储在闪光存储器卡31中。
{17-7_18}播放目录的个数及其数据大小
如图18所示,在一个闪光存储器卡31上可以存储最多99个播放目录。播放目录管理器信息(PLMGI)和缺省播放目录信息(DPLI)的组合数据大小也固定为2560字节。每一PLI具有512字节的固定长度。在缺省播放目录信息中包括的"DPL_TK_SRP"包括"DPL_TK_ATR"和"DPL_TKIN"。另一方面,在PLL中包括的"PL_TK_SRP"字段只包括"PL_TK_SRP"。图39表示DPL_TK_ATR、DPL_TKIN、和PL_TKIN字段的格式。
{17-8_39-1}DPL_TK_SRP的格式
图39A表示DPL_TK_SRP的格式。在图39A中,DPL_TKIN写入DPL_TK_SRP的第0到第9位,而DPL_TK_ATR写入第13到第15位。DPL_TK_SRP中的第10到第12位为将来使用保留。
TKI号码写入占据DPL_TK_SRP从第0位到第9位的DPL_TKIN。这允许指定一个TKI。
{17-9_39B}PL_TK_SRP的格式
图39B表示PL_TK_SRP的格式。这是一个10位字段,其中写入PL_TKIN,亦即TKI号码。
{17-8_39A-2}DPL_TK_ATR的组成
从图39A的DPL_TK_ATR伸出的虚线h51和h52表示DPL_TK_ATR的例子设定。如从该图所见,DPL_TK_ATR为DPLTTK_SRP的设定以和为TKI设定TKI_BLK_ATR同样的方式进行,也就是说,DPL_TK_ATR设定为"音轨"、"音轨头部"、"音轨中部"、和"音轨结尾"。
更详细说,当使用由TKIN指示的TKI和相应于一个完整音轨的音频对象(AOB)记录在相应于所指示的TKI的AOB文件中时(亦即当TKI的TKI_BLK_ATR是"音轨"时),在"DPL_TK_ATR"中设定值"00b"。
当使用由TKIN指示的TKI和仅相应于一个音轨的开始的音频对象(AOB)记录在相应于所指示的TKI的AOB文件中时(亦即当TKI的TKI_BLK_ATR是"音轨头部"时),在"DPL_TK_ATR"中设定值"001b"。当使用由TKIN指示的TKI和相应于音轨中部的音频对象(AOB)记录在相应于所指示的TKI的AOB文件中时(亦即当TKI的TKI_BLK_ATR是"音轨中部"时),在"DPL_TK_ATR"中设定值"010b"。当使用由TKIN指示的TKI和相应于一个音轨的结尾的音频对象(AOB)记录在相应于所指示的TKI的AOB文件中时(亦即当TKI的TKI_BLK_ATR是"音轨结尾"时),在"DPL_TK_ATR"中设定值"011b"。
反之,当不使用由TKIN指示的TKI和仅建立起TKI区域时,其相应于TKI被删除(亦即当TKI的TKI_BLK_ATR是"未使用"时),在DPL_TK_ATR中设定值"100b"。
当不使用由TKIN指示的TKI和未建立起TKI区域时,也就是说,当TKI处于初始状态时,在"DPL_TK_ATR"中设定值"101b"。
因为一个TKI的号码写入DPL_TKIN,十分清楚在多个TKI中是哪一个相应于每一个DPL_TK_SRP。DPL_TK_SRP在缺省播放目录信息中的位置表示相应于该TKI的AOB何时播放,(所述TKI依次相应于DPL_TK_SRP),亦即AOB在缺省播放目录中的顺序位置。作为结果,在缺省播放目录中的DPL_TK_SRP项目的顺序指示多个音轨播放的顺序,或换句话说,决定音轨的播放顺序。
{17-9_40-1}在缺省播放目录信息、TKI、和AOB文件之间的相互关系
图40表示在缺省播放目录信息、TKI、和AOB文件之间的相互关系。该图的第二、第三、和第四级和图19的第一、第二、和第三级相同,所以表示包括8个TKI和8个AOB文件的音轨管理器。图40与图19的不同之处在于在第一级给出表示缺省播放目录信息的框。在这一框内的8个小分割表示在缺省播放目录信息中包括的8个DPL_TK_SRP。每一分割的上部表示DPL_TK_ATR,而下部表示DPL_TKIN。
如图40中箭头DT1、DT2、DT3、DT4…所示,DPL_TK_SRP#1和TKI#1相关,DPL_TK_SRP#2和TKI#2、DPL_TK_SRP#3和TKI#3、和DPL_TK_SRP#4和TKI#4也相关。
现在看DPL_TK_SRP中的DPL_TK_ATR字段,可以看到为每一DPL_TK_SRP#1、DPL_TK_SRP#2、DPL_TK_SRP#3、和DPL_TK_SRPD8设定"音轨"。换句话说,4种组合DPL_TK_SRP#1→TKI#1("AOB001.SA1")、DPL_TK_SRP#2→TKI#2("AOB002.SA1")、DPL_TK_SRP#3→TKI#3("AOB003.SA1")、DPL_TK_SRP#8→TKI#8("AOB008.SA1")对应4个单独的音轨。
同时,DPL_TK_SRP#4、DPL_TK_SRP#5、DPL_TK_SRP#6、和DPL_TK_SRP#7中没有一个设定为"音轨"。代之以,DPL_TK_SRP#4的DPL_TK_ATR设定为"音轨头部",DPL_TK_SRP#7的DPL_TK_ATR设定为"音轨结尾",DPL_TK_SRP#5和DPL_TK_SRP#6的DPL_TK_ATR设定为"音轨中部"。
这意味着,与DPL_TK_SRP#4相关的TKI#4("AOB004.SA1")是一个音轨的开始,分别与DPL_TK_SRP#5和DPL_TK_SRP#6相关的TKI#5("AOB005.SA1")和TKI#6("AOB006.SA1")是一个音轨的中部,而与DPL_TK_SRP#7相关的TKI#7("AOB007.SA1")是一个音轨的结尾。
在缺省播放目录中的DPL_TK_SRP条目表示以什么样的顺序播放相应于每一TKI的AOB。在图40的缺省播放目录中的DPL_TK_SRP#1、#2、#3、#4…#8的DPL_TKIN指示TKI#1、#2、#3、#4…#8。如箭头(1)(2)(3)(4)…(8)所示,相应于TKI#1的AOB文件("AOB001.SA1")将首先播放,相应于TKI#2的AOB文件("AOB002.SA1")第二播放,相应于TKI#3的AOB文件("AOB003.SA1")第三播放,相应于TKI#4的AOB文件("AOB004.SA1")第四播放。
{17_10_41}缺省播放目录和Playlist_Information的设定例子
图41使用和图40同样的记号表示缺省播放目录和播放目录信息(Playlist_Information)的设定例子。在图41中,第一级上的框表示缺省播放目录,而在第二级上的3个框表示PLI。
表示缺省播放目录的框中的小分割表示在该缺省播放目录中包括的8个DPL_TK_SRP值,而在表示每一PLI的框中的小分割表示3或4个PL_TK_SRP值。包含在缺省播放目录信息中的每一DPL_TK_SRP的TKIN的设定和图40相同。然而,包含在每一PLI中的PL_TK_SRP的TKIN的设定与在DPL_TK_SRP中的完全不同。
{17-10_42}在DPL_TK_SRP和TKI之间的对应
图42使用和图40同样的记号表示DPL_TK_SRP和TKI之间的对应。在图42中,播放目录#1包括PL_TK_SRP#1、#2、#3。其中,#3写为PL_TK_SRP#1的PL_TKIN,而#1写为PL_TK_SRP#2的PL_TKIN和#2写为PL_TK_SRP#3的PL_TKIN。这意味着,当根据播放目录#1播放音轨时,多个AOB将如用箭头(11)(12)(13)所示以AOB#3、AOB#1、AOB#2的顺序播放。
播放目录#2包括PL_TK_SRP#1、#2、#3。其中,#8写为PL_TK_SRP#1的PL_TKIN,而#3写为PL_TK_SRP#2的PL_TKIN和#1写为PL_TK_SRP#3的PL_TKIN。这意味着,当根据播放目录#2播放音轨时,多个AOB将如用箭头(21)(22)(23)所示以AOB#8、AOB#3、AOB#1的顺序播放,也就是说,以和播放目录#1完全不同的顺序。
播放目录#3 包括PL_TK_SRP#1、#2、#3、#4。这些PL_TK_SRP#1到#4的PL_TKIN分别设定为#8、#4、#3、和#1。这意味着,当根据播放目录#3 播放音轨时,多个AOB将如下播放。首先,组成TrackE的AOB#8如箭头(31)所示播放。接着,组成TrackD的 AOB#4、AOB#5、AOB#6、和AOB#7 如箭头(32)所示播放。之后,分别组成TrackC和TrackA的AOB#3和AOB#1 如箭头(33)和(34)所示播放。
这里要特别注意,当一个音轨包括多个TKI时,只把该音轨开始的TKI号码写入PL_TK_SRP条目。更详细说,当在缺省播放目录信息中给出的DPL_TK_SRP值指定组成TrackD的4个TKI(TKI#4,TKI#5,TKI#64,TKI#7)时,在一组播放目录信息中给出的PL_TK_SRP不需要指示所有4个TKI。由于这一理由,在播放目录#3中的PL_TK_SRP#2只从TKI#4到 TKI#7中指示TKI#4。
另一方面,包括多个DK_TK_SRP的DPLI的数据大小不大于一个扇区,并总是加载到播放装置的RAM中。当根据播放目录播放音轨时,播放装置引用加载到其RAM中的DK_TK_SRP,能够以高速搜索TKI。为使用只指示出第一TKI的TKI号码的PL_TK_SRP播放TKI(AOB),播放装置根据由PL_TK_SRP指示的TKI搜索加载在其RAM中的DPL_TK_SRP并判别当前音轨是否包括多个TKI。如果是,则播放装置执行适当的步骤,播放所有相应的TKI(AOB)。
如上所述,缺省播放目录和多个PLI写入播放目录管理器。如果不同的播放顺序写入DPL_TKIN和DPL_TK_SRP的PL_TKIN和组成这种播放目录的PL_TK_SRP中时,则有可能以不同顺序播放AOB。通过以这种方式给用户提供各种播放顺序,可以给用户这样的印象,好像有一些音乐歌集存储在闪光存储器卡31中。
这里要特别注意的是,相应于一个AOB文件的DPL_TK_SRP的数据长度很小(不大于两字节),而相应于一个AOB文件的TKI的数据长度很大(可到1024字节)。当在音轨管理器中记录TKI时,需要对闪光存储器卡31进行大量的访问,但是当在缺省播放目录信息或PLI中记录DPL_TK_SRP时,这可以以对闪光存储器卡31很少的访问执行。
鉴于此,当编辑导播数据时,在缺省播放目录中的DPL_TK_SRP的顺序根据编辑操作动态改变,而在音轨管理器中的TKI的顺序不管编辑操作保持不变。
{17-9_40-2_43A,B}DPL_TK_SRP的重新排序
下面说明通过在缺省播放目录信息中记录DPL_TK_SRP改变音轨播放顺序的编辑操作。图43A和43B表示记录音轨的一个例子。在图43A中DPL_TK_SRP和TKI的设定和在图40中的一样。
在图40A中,在DPL_TK_SRP#3中的DPL_TKIN设定在TKI#3,而DPL_TK_SRP#8中的DPL_TKIN设定在TKI#8。下面说明当这些DPL_TK_SRP与图40A中的粗框线互换的情形。
图43B中的号码(1)(2)(3)(4)(5)(6)(7)(8)表示在该编辑操作后的音轨播放顺序。这里应该注意,虽然图43A所示播放顺序是TrackA、TrackB、TrackC、TrackD、TrackE,但是在图43B中,DPL_TK_SRP#3和DPL_TK_SRP#8的DPL_TKIN在缺省播放目录信息中互换,所以音轨将以TrackA、TrackB、TrackE、TrackD、TrackC的顺序播放。以这种方式,通过改变在缺省播放目录信息中的DPL_TK_SRP的顺序,可以容易地改变音轨播放顺序。
虽然上述说明论述改变音轨顺序的编辑操作,但是下面将说明后随的4种操作,它们将相对于TKI内的改变解释。这些操作是删除音轨的第一情形(情形1),记录一个新音轨的第二情形(情形2),结合两个自由选择的音轨产生一个新音轨的第三情形(情形3),分割一个音轨产生两个新音轨的第四情形(情形4)。
{17-9_40-3_44A,B}删除音轨
下面说明删除音轨的情形1。
图44A和44B表示当从图40所示缺省播放目录中删除DPL_TK_SRP#2和TKI#2时如何更新缺省播放目录、音轨管理器、和AOB文件。在这些图中,和在用于说明TKI删除的图27的一个AOB的同样的部分被删除。其结果,在图44A和44B中的第二、第三、和第四级和图27相同。与图27的不同在于,包括多个DPL_TK_SRP的缺省播放目录信息以和图40同样的方式在第一级给出。
本例涉及用户删除由DPL_TK_SRP#2→TKI#2("AOB002.SA1")组成的TrackB的情形,其在图44A中用粗框线表示。在这一情形,从缺省播放目录信息中删除DPL_TK_SRP#2,而DPL_TK_SRP#3到DPL_TK_SRP#8中的每一个向前移动播放顺序中的一个位置,以便填充顺序中由删除DPL_TK_SRP#2释放的一个位置。
当DPL_TK_SRP以这种方式上移时,最后的DPL_TK_SRP#8设定为"未使用"。另一方面,相应于已删除部分的TKI设定为"未使用",如图27A和27B所示,而不需其它TKI移动以填充由该删除产生的空隙。TKI的删除还伴随着AOB文件"AOB002.SA1"的删除。
以这种方式,DPL_TK_SRP在播放次序上向上移,但是TKI不移动。所以在图44B中只更新DPL_TKIN。对于该例,设定DPL_TK_SRP#2中的DPL_TKIN,使指示TKI#3,如箭头DT11所示,设定DPL_TK_SRP#3中的DPL_TKIN,使指示TKI#4,如箭头DT12所示,设定DPL_TK_SRP#4中的DPL_TKIN,使指示TKI#5,设定DPL_TK_SRP#5中的DPL_TKIN,使指示TKI#6。设定曾经设定为"未使用"的DPL_TK_SRP#8中的DPL_TKIN,使指示TKI#2,如箭头DT13所示。
当删除一个音轨时,为在播放次序中下一音轨使用的DPL_TK_SRP上移,而相应于被删除的音轨的TKI设定为"未使用",同时停留在其当前位置。以这种方式,编辑操作不伴随TKI的移动,这将抑制编辑音轨时的处理负载。
{17-9_40-4_45A,B}记录音轨时TKI的分配
下面说明情形2,此情形是在部分删除一个音轨后记录一个新音轨。图4 5A和45B表示当存在一个"未使用"的TKI和DPL_TK_SRP时如何执行写一个新的TKI和DPL_TK_SRP。
这些图在很大程度上和用于说明给一个设定为"未使用"的TKI分配一个新TKI的图28A和28B相同。图45A和45B中的第二、第三、和第四级和图28A和28B中的头3级相同。这些图之间的差别在于,图45A和45B中的第一级表示由多个DPL_TK_SRP组成的缺省播放目录信息。在图45A中,DPL_TK_SRP#4到DPL_TK_SRP#8设定为"未使用"。另一方面,在图28中,TKI#2、TKI#4、TKI#5、TKI#7、TKI#8设定为"未使用"。
虽然设定为"未使用"的TKI在音轨管理器中某处存在,但是"未使用"的DPL_TK_SRP在缺省播放目录信息中彼此相邻放置。这是因为使用的DPL_TK_SRP在缺省播放目录信息中如上所述上移而产生,而对TKI不执行这种上移。
下面的解释说明当写由4个AOB组成TrackD的情形。为这4个AOB的TKI分别写入下面音轨管理器"未使用"的TKI中:TKI#2;TKI#4;TKI#7;和TKI#8。
为这4个AOB的DPL_TK_SRP写入缺省播放目录信息中的DPL_TK_SRP#4到DPL_TK_SRP#8。因为这4个AOB组成单一音轨,因此,DPL_TK_SRP#4的DPL_TK_ATR设定为"音轨头部",DPL_TK_SRP#5和DPL_TK_SRP#6的DPL_TK_ATR设定为"音轨中部",DPL_TK_SRP#8的DPL_TK_ATR设定为"音轨结尾"。
DPL_TK_SRP#4的DPL_TKIN设定在TKI#2,DPL_TK_SRP#5的DPL_TKIN设定在TKI#4,DPL_TK_SRP#6的DPL_TKIN设定在TKI#7,DPL_TK_SRP#7的DPL_TKIN设定在TKI#8。
通过以这种方式设定DPL_TKIN和DPL_TK_ATR,作为第四音轨TrackD管理TKI#2、TKI#4、TKI#7和TKI#8。
在上面的处理中,对"未使用"的TKI执行写,不过这对其它TKI:TKI#1、TKI#2、TKI#3、和TKI#4 没有影响,和图28A和28B的情形一样。
{17-9_40-5_46A,B}情形3:组合音轨
下面说明当组合音轨(亦即在情形3)时缺省播放目录信息的更新。图46A和46B表示组合音轨的一个例子。
这些图在很大程度上和用于说明组合TKI的图29A和29B相同。在图46A和46B中的第二、第三、和第四级与图29A和29B中的前3级一样。这些图之间的差别在于,在图46A和46B中的第一级表示缺省播放目录信息,其中DPL_TK_SRP#8设定为"未使用",其与TKI#2相关,它也设定为"未使用"。当为图29A和29B所示AOB文件和TKI执行组合音轨的编辑操作时,DPL_TK_SRP#3到DPLTTK_SRP#6的内容每一个向下移动一位,而用粗框线表示的DPL_TK_SRP#7的内容被复制到DPL_TK_SRP#3中,如图46A和46B所示。TKI也更新,如图29A和29B所示。
{17-9_40-6_47A,B}情形4:分割音轨
下面说明当分割音轨(情形4)时缺省播放目录信息的更新。
图47A和47B表示分割一个音轨的例子。这些图在很大程度上和用于说明分割TKI的图33A和33B相同。在图47A和47B中的第二、和第三级与图33A和33B中的前两级一样。这些图之间的差别在于,在图47A和47B中的第一级表示缺省播放目录信息,其中DPL_TK_SRP#8设定为"未使用",其与TKI#2相关,它也设定为"未使用"。
象在图3 3A和33B中一样,如果用户指示分割用粗框线表示的TKI#3("AOB003.SA1")为两个音轨,贝 DPL_TK_SRP#3到 DPL_TK_SRP#7的位置每一个在次序中下移1位,设定为"未使用"的DPL_TK_SRP在缺省播放目录信息中移动到DPL_TK_SRP#3的先前位置。
这一新的DPL_TK_SRP#3与TKI:TKI#2关联,它由分割新产生。与TKI#2关联的AOB文件("AOB002.SA1")存储AOB文件("AOB003.SA1")原来后面的部分。DPL_TK_SRP#2出现在与TKI#2关联的DPL_TK_SRP#3的前面,并与TKI#2和"AOB002.SA1"关联。
也就是说,"AOB002.SA1"和"AOB003.SA1"分别存储原来"AOB003.SA1"的后面的和前面的部分,同时DPL_TK_SRP#2和DPL_TK_SRP#3相应于这些文件,指示这些AOB将以次序"AOB003.SA1"和"AOB002.SA1"播放。其结果,原来的"AOB003.SA1"的后面的和前面的部分将以相应于在DPL_TK_SRP中给出的次序以前面的部分、后面的部分的次序播放。
{17-9_40-8}编辑处理的应用
通过结合上面4种编辑处理,用户可以执行大量编辑操作。例如当一个录制的音轨有流行音乐节目播音员讲话的引言时,用户可以首先分割该音轨,分出包括流行音乐节目播音员声音的部分。然后用户可以删除这一音轨而保留不包含流行音乐节目播音员的音轨部分。
到此完成了导播数据的说明。下面说明具有合适部件的播放装置,用于播放上述导播数据和表示数据。
{48_1}播放装置的外观
图48表示用于本发明的闪光存储器卡31的一个便携播放装置。图48所示播放装置有一个为插入闪光存储器卡31的插入槽,一个接收用户操作指示的键字板,用户操作有播放、向前搜索、向后搜索、快进、回绕、停止等,一个LCD(液晶显示器)面板。关于外观,这一装置类似于其它类型的便携音乐播放机。
键字板包括:
"Playlist"键字,它接收播放目录或音轨的选择;
"|<<"键字,它接收移动播放位置到当前音轨开始的跳进操作;
">>|"键字,它接收移动播放位置到下一音轨开始的跳进操作;
"<<"和">>"键字,它们分别接收能使用户在当前音轨快速移动播放的向后搜索操作和向前搜索操作;
"Display"键字,它接收使存储在闪光存储器卡31中的静止图象显示的操作;
"Rec"键字,它接收记录操作;
"Audio"键字,用于接收用户对所用采样频率或立体声或单声道的选择;
"Mark"键字,它接收在音轨上标记位置的用户指示;
"Edit"键字,它接收编辑音轨或输入音轨标题的用户指示。
{48-2}在用于闪光存储器卡31的便携播放装置中所做的改进
在闪光存储器卡31的便携播放装置和常规便携音乐播放机之间的差别在于下面(1)到(4)的4个改进。
(1)在LCD面板上显示一个播放目录和音轨的列表以允许用户指示缺省播放目录信息、PLI、或单独的音轨。
(2)给在LCD面板上显示的播放目录和/或音轨分配键字板上的键字,以允许用户选择要播放或编辑的音轨或播放目录。
(3)当播放一个音轨时,在LCD面板5上显示表示音轨内一个位置的时间代码。
(4)提供一个拨盘以使用户设定一个时间代码,用作在使用时间搜索功能时的播放开始时间或在分割一个音轨时的分割边界。
{48_2_49_50}实现(2)
下面详细说明实现(2)。图49表示当用户选择一个播放目录时在LCD面板上显示的显示屏幕的一个例子,而图50A到50E表示当用户选择一个音轨时所显示的内容的例子。
在图49中,ASCII字符串"DEFAULTPLAYKIST"、"PLAYLIST#1"、"PLAYLIST#2"、"PLAYLIST#3"、和"PLAYLIST#4"表示缺省播放目录,这4个缺省播放目录存储在闪光存储器卡31中。
同时,ASCII字符串"Track#1"、"Track#2"、"Track#3"、"Track#4"、"Track#5"表示5个由存储在闪光存储器卡31的缺省播放目录给出的播放次序中指示的音轨。在图49和50A中,高亮度播放目录和音轨表示为当前播放或编辑指示的音轨或播放目录。
如果Track#1在由在LCD面板上显示的缺省播放目录给出的播放次序内被指示播放时用户按压">>"键字,则Track#2将被指示在该音轨表内播放,如图5 0B所示。如果用户再次按压">>"键字,则Track#3将被指示在该音轨表内播放,如图50C所示。
如果Track#3在由在LCD面板上显示的缺省播放目录给出的播放次序内被指示播放时用户按压"<<"键字,则Track#2将被指示在该音轨表内播放,如图50D所示。如图50E所示,如果当指示任何一个音轨时用户按压"Play"键字,则开始播放该指示的音轨,而如果用户按压"Edit"键字,则选择所指示的音轨用于编辑。
{48-3_51}实现(4)
下面详细说明改进(4)。图51A到51C说明拨盘的操作例子。当用户转动拨盘一定的量,在LCD面板上显示的播放时间代码将根据该一定量增加或减少。图51A的例子表示最初在LCD面板上显示的播放时间代码是"00:00:20"的情形。
当用户如图51B反时针转动拨盘时,播放时间代码减少为"00:00:10",与拨盘转动的量保持一致。反之,当用户如图51C顺时针转动拨盘时,播放时间代码增加为"00:00:30",与拨盘转动的量保持一致。
通过允许用户以这种方式改变播放时间代码,播放装置能使用户只通过转动拨盘指示音轨中任何播放时间代码。如果用户然后按压"P1ay"键字,则将从根据等式2和等式3找到的位置开始播放AOB。
通过在音轨分割期间使用拨盘,用户可以精细调整用作分割边界的播放时间代码。
{52-1}播放装置的内部构造
下面说明播放装置的内部构造。图52示出这一内部构造。
如图52所示,播放装置包括一个卡连接器1,用于连接该播放装置到闪光存储器卡31;一个用户接口单元2,它连接到键字板和拨盘;RAM 3、ROM 4和LCD面板5,后者有一个用于显示音轨表或播放目录的表框和用于显示播放时间代码的播放时间代码框;一个LCD驱动器6,用于驱动第一LCD面板5;一个伪随机序列译码器7,用于使用为每一AOB文件的不同的FileKey解码AOB_FRAME;一个AAC解码器8,用于引用由伪随机序列译码器7解码的AOB_FRAME的ADTS和解码AOB_FRAME以获得PCM数据;D/A转换器,用于D/A转换PCM数据并输出结果模拟信号到扬声器或耳机插座;一个CPU,用于执行对该播放装置的总控制。
从该硬件构造可以理解,本播放装置没有任何特殊硬件元件用于处理音轨管理器和缺省播放目录信息。为处理音轨管理器和缺省播放目录信息,在RAM 3中提供一个DPLI保持区11、一个PLI存储区12、一个TKI存储区13、一个FileKey存储区14、和一个双缓冲器15,而播放控制程序和编辑控制程序存储在ROM 4中。
{52-2}DPLI保持区11
DPLI保持区11是一个保持从连接到卡连接器1上的闪光存储器卡31中读取的缺省播放目录信息的区域。
{52_12}PLI存储区12
PLI存储区12是一个为存储由用户选择播放的播放目录信息的保留区域。
{52-3}TKI存储区13
TKI存储区13是一个为存储在音轨管理器中包含的多个TKI中只相应于当前被指示播放的AOB文件的那些TKI的保留区域。由于这一理由,TKI存储区13的容量等于一个TKI的数据长度。
{52-4}FileKey存储区14
FileKey存储区14是一个为存储在验证区中的"AOBSAl.KEY"中包含的多个FileKey中只相应于当前被指示播放的AOB文件的那些FileKey的保留区域。
{52-5}双缓冲器15
双缓冲器15是一个输入/输出缓冲器,它在并行执行输入处理和输出处理时使用,输入处理是连续输入从闪光存储器卡31读取的簇数据(在一簇内存储的数据)的处理,而输出处理是从簇数据中读取AOB_FRAME并连续输出这些AOB_FRAME到伪随机序列译码器7的处理。
双缓冲器15连续释放由已经作为AOB_FRAME输出的簇数据占据的区域,因此保证这些区域为下一要读取的簇存储使用。这也就是说,在双缓冲器15中的区域使用环指针周期保证为存储簇数据使用。
{52-5_53_54A,B}用双缓冲器1 5的输入和输出
图53表示如何为双缓冲器15执行输入和输出。图54A和54B表示在双缓冲器15中的区域如何使用环指针周期保证为存储簇数据使用。
指向下和向左的箭头是为簇数据的写地址指针,也就是说,写指针。指向上和向左的箭头是为簇数据的读地址指针,也就是说,读指针。这些指针用作环指针。
{54-6_53}
当闪光存储器卡31连接到卡连接器1时,在闪光存储器卡31的用户区中的簇数据被读出并存储在双缓冲器15中,如箭头w1和w2所示。
读出的簇数据连续存储在双缓冲器15中用写指针wp1和wp2所示的位置。
{52_7_54A}
在以这种方式存储的包含在簇数据中的AOB_FRAME中,位于由读指针连续指示的位置①②③④⑤⑥⑦⑧⑨处的AOB_FRAME一次输出一个给伪随机序列译码器7,如箭头r1、r2、r3、r4、r5…所示。
在本例中,簇数据002到003存储在双缓冲器1 5中,而读位置①②③④用读指针连续指示,如图53所示。当读指针达到读位置⑤时,在簇002中包含的所有AOB_FRAME已被读取,所以读簇004,并如图54A中的箭头w6所示,重写到先前由簇002占据的区域。
{52-8_54B}
然后使簇指针前进到读位置⑥和⑦,最终到达读位置⑨,在该点在簇003中包含的所有AOB_FRAME已被读取,所以读簇005,并如图54B中的箭头w7所示,重写到先前由簇003占据的区域。
一个AOB_FRAME的输出和簇数据的重写如上所述重复执行,使得在一个AOB文件中包括的AOB_FRAME全部连续输出到伪随机序列译码器7和AAC解码器8。
{52-9_55-58}存储在ROM 4中的播放控制程序
下面说明在ROM 4中存储的播放控制程序。
图55以流程图表示在AOB读过程中的处理。图56、57、和58是表示在AOB_FRAME输出过程中的处理的流程图。
{52-9_55-1}
这些流程图使用变量w、z、y、和x。变量w指示多个DPL_TL_SRP中的一个。变量z指示在用户区中记录的一个AOB文件、相应于这一AOB文件的TKI、和包含在该AOB文件中的AOB。变量y指示包含在用变量z指示的AOB#z中的一个AOB_ELEMENT。变量x指示包含在用变量y指示的AOB_ELEMENT#y中的一个AOB_FRAME。下面参考图55首先说明在AOB文件读过程中的处理。
{52-9_55-2}
在步骤S1,CPU10读播放目录管理器并显示包括缺省播放目录信息和PLI的一张表。
在步骤S2,CPU10等待根据缺省播放目录信息或PLI之一播放AOB的指示。
当指示缺省播放目录信息时,处理从步骤S2移动到步骤S3,这里初始化变量w(#w←1),然后到步骤S4,这里指定用相应于在缺省播放目录信息中的DPL_TK_SRP#w的DPL_TKIN指示的TKI#z,并只从闪光存储器卡31中读这一TKI#z并存储在TKI存储区13中。
在步骤S5,指定和TKI#z带有相同号码的AOB文件#z。以这种方式,最后指定要播放的AOB文件。
被指定的文件在加密状态,需要被解密,所以执行步骤S6和S7。在步骤S6,播放装置访问验证区,并读取存储在加密键字存储文件中的FileKey_Entry#z中的FileKey#z,该FileKey_Entry#z具有和指定的AOB文件相同的号码。在步骤S7,CPU10在伪随机序列译码器7中设定该FileKey#z。这一操作导致FileKey在伪随机序列译码器7中被设定,使得通过连续输入包含在AOB文件中的AOB_FRAME到伪随机序列译码器7,可以连续播放这些AOB_FRAME。
{52-9_55-3}
在这之后,播放装置连续读存储在AOB文件中的簇。在步骤S8,为在目录条目中的AOB文件#z指定在"该文件中的第一簇号"。在步骤S9,CPU10从闪光存储器卡31中读取在这一簇内存储的数据。在步骤S10,CPU10判定在FAT值中的簇号是否是"FFF"。如果不是,则在步骤S11 CPU在返回步骤S10之前读存储在由该FAT值指示的簇中存储的数据。
当播放装置读取存储在任何一簇中的数据和引用相应于该簇的FAT值时,只要FAT值不设定为"FFF",则重复步骤S10和S11中的处理。当由FAT值给定的簇号是"FFF"时,这意味着,组成AOB文件#z的所有簇都已被读取,于是处理从步骤S10前进到步骤S12。
{52-9_55-4}
在步骤S12,CPU10判别变量#w是否匹配DPL_TK_SRP的总数。如果不,则处理前进到步骤S13,这里变量#w在处理返回步骤S4之前加1(#w←#w+1)。在步骤S4,播放装置指定TKI#z,它由缺省播放目录信息中的DPL_TK_SRP#w中的DPL_TKIN#w指示,并只把TKI#z写入TKI存储区13中。到这一点为止使用的TKI将仍然存储在TKI存储区13中,虽然该当前TKI将被由CPU10新读取的TKI#z复盖。
这一复盖导致在TKI存储区13中只存储最新的TKI。一旦TKI被复盖,就为AOB文件#z重复步骤S5到S12中的处理。一旦这一处理已读取所有TKI和相应于在缺省播放目录信息中包括的所有DPL_TK_SRP的AOB文件,则变量#z将匹配DPL_TK_SRP的总数,使得在步骤S12的判定为"是"而结束该流程图的处理。
{52-9_56_57_58}AOB_FRAME的输出处理
与AOB文件的读过程并行,CPU10按照在图56、57、和58中所示的流程图执行AOB_FRAME的输出过程。在这些流程图中,变量"play_time"表示为当前音轨已执行播放有多长时间,也就是说,播放时间代码。在LCD面板5上的播放时间代码框中显示的时间根据该播放时间代码的改变而更新。同时,变量"play_data"表示为当前音轨已播放的数据的长度。
{52-9_56-1}
在步骤S21,CPUJ10监视为AOB文件#z的簇数据是否已经积累在双缓冲器15中。该步骤S21将重复执行,直到簇数据已经被积累,在该点处理前进到步骤S22,在这里变量x和y初始化(#x←1,#y←1)。这之后,CPU10在步骤S23搜索为AOB文件#z的簇和检测位于不比包含在TKI#z中的BIT#z内给出的DATA_Offset之前的AOB_ELEMENT#y中的AOB_FRAME#x。在该例中,假定从SZ_DATA开始的7个字节被ADTS头标占用。通过引用ADTS头标,由ADTS头标指示的数据长度可识别为音频数据。该数据和ADTS头标一起读取,并输出到伪随机序列译码器7。伪随机序列译码器7解码AOB_FRAME,其然后由AAC解码器8解码,作为音频播放。
{52-9_56-2}
在这一检测后,在步骤S24输出AOB_FRAME#x到伪随机序列译码器7,在步骤S25变量play_time增加AOB_FRAME#x的播放时间,变量play_data增加相应于AOB_FRAME#x的数据量。因为在本例中AOB_FRAME的播放时间是20毫秒,因此给变量"play_time"增加20毫秒。
一旦把第一AOB_FRAME输出到伪随机序列译码器7,则在步骤S26播放装置引用AOB_FRAME#x的ADTS头标,并指定下一AOB_FRAME的位置。在步骤S27,播放装置增加变量#x(#x←#x+1)并设定AOB_FRAME#x为下一AOB_FRAME。在步骤S28,AOB_FRAME#x输入到伪随机序列译码器7。这之后,在步骤S29,变量play_time增加AOB_FRAME#x的播放时间,变量play_data增加相应于AOB_FRAME#x的数据量。在增加AOB_FRAME#x后,在步骤S30 CPU10判别变量#x是否已经达到在FNs_1st_TMSRTE中给定的值。
如果变量#x尚未达到在FNs_1st_TMSRTE中的值,则在步骤S31播放装置检查用户是否按压除"Play"键字以外的任何键字,然后返回到步骤S26。以后播放装置重复在步骤S26到S31的处理直到变量#x达到在FNs_1st_TMSRTE中的值,或直到用户按压除"Play"键字以外的任何键字。
当用户按压除"Play"键字以外的一个键字时,结束在该流程图中的处理,执行为被按压的键字适合的处理。当被按压的键字是"Stop"键字时,则播放过程停止。而当被按压的键字是"Pause"键字时,播放暂停。
{52-9_57-1}
另一方面,当变量#x达到在FNs_1st_TMSRTE中的值,则在步骤S30作出判定"是",处理前进到图57中的步骤S32。因为包含在当前AOB_ELEMENT中的所有AOB_FRAME已经在步骤S26到S30的处理中输入到伪随机序列译码器7,因此在步骤S32增加变量#y以设定下一AOB_ELEMENT为要被处理的数据和把变量#x初始化(#y←#y+1,#x←1) 。
之后,在步骤S33播放装置引用TKTMSRT并计算AOB_ELEMENT#y的第一地址。
然后播放装置执行在步骤S34到S42确定的过程。该过程一个接一个读取包含在AOB_ELEMENT中的AOB_FRAME,所以可以说类似在步骤S24到S31构成的过程。与在步骤S24到S31确定的过程的不同之处在于,在步骤S24到S31构成的过程的结束条件是变量#x是否达到由"FNs_1st_TMSRTE"表示的值,而在步骤S34到S42构成的过程的结束条件是变量#x是否达到由"FNs_Middle_TMSRTE"表示的值。
当变量#x 达到由"FNs_Middle_TMSRTE"表示的值时,由步骤S34到S42构成的循环过程结束,在步骤S41给出判定"是",处理前进到步骤S43。在步骤S43,CPU增加变量#y并初始化变量#x(#y←#y+1,#z←1)。这之后,在步骤S44变量y判别变量#y是否等于小于在TKI#z中的TMSRT头标中的TMSRT条目总数减1的值。
当变量#y小于(TMSRT条目总数-1)时,AOB_ELEMENT#y不是最后的AOB_ELEMENT,于是处理从步骤S44返回到步骤S32,执行步骤S32到步骤S42的循环过程。当变量#y达到(TMSRT条目总数-1)时,可以认为读过程已经到达倒数第二个AOB_ELEMENT,于是在步骤S44给出判定"是",处理前进到图58中的步骤S45。
{52-9_57-2}
由步骤S45到S54组成的过程类似于由步骤S33到S42组成的过程的地方在于读取最后的AOB_ELEMENT中的AOB_FRAME。
与由步骤S33到S42组成的过程的不同之处在于,虽然由步骤S33到S42组成的循环过程当在步骤S41判定变量#x已经达到在"FNs_Middle_TMSRTE"中的值时结束,但是由步骤S45到S54组成的循环过程当在步骤S53判定变量#x已经达到在"FNs_Last_TMSRTE"中的值和变量play_data表示到此时已经读取的数据大小已经达到作为SZ_DATA给出的值时结束。
重复由步骤S49到S54组成的过程,直到满足在步骤S53中的条件,在此点在步骤S53给出判定"是",处理前进到步骤S55。在步骤S55,CPU 10在处理返回到步骤S21前增加变量#z(#z←#z+1),在步骤S21,CPU 10等待下一个AOB文件累积到双缓冲器15。一旦这一事件发生,则处理前进到步骤S22,重复由步骤S22到S54组成的过程。这意味着,指定由下一个DPL_TK_SRP的DPL_TKIN指示的TKI和相应于这一TKI的AOB文件,也就是说,指定具有和TKI同样号码的AOB文件。
这之后,播放装置访问验证区,并从在加密键字存储文件中的多个FileKey中指定具有和该TKI同样号码的FileKey,然后读取该FileKey,并将其设定在伪随机序列译码器7中。作为结果,连续读取在具有和TKI同样号码的AOB文件中包含的AOB_FRAME并播放之。
{52-9_57-3_59}更新播放时间代码
图59A到59D表示如何根据变量Play_time的更新增加在LCD面板5的播放时间代码显示框中显示的播放时间代码。在图59A中,播放时间代码是"00:00:00.000",不过当AOB_FRAME#1的播放结束时,把AOB_FRAME#1的播放时间20毫秒加到播放时间代码上以更新其为"00:00:00.020",如图59B所示。当AOB_FRAME#2的播放结束时,把AOB_FRAME#2的播放时间20毫秒加到播放时间代码上以更新其为"00:00:00.040",如图59C所示。以同样方式,当AOB_FRAME#6的播放结束时,把AOB_FRAME#6的播放时间20毫秒加到播放时间代码上以更新其为"00:00:00.120",如图59D所示。
到此完成AOB_FRAME输出过程的说明。
在图56中的流程图的步骤S31,如果用户按压除"Play"键字以外的一个键字,则结束该流程图中的处理。伴随按压"Stop"和"Pause"键字的处理已经说明,不过当用户按压提供使播放装置执行特殊播放的一个键字时,结束在该流程图中的或在图56、57、和58中表示的处理,执行为所按压的键字适合的处理。
下面说明CPU 10(1)当响应用户按压">>"键字执行向前搜索功能时和(2)当响应用户在按压"Pause"和"Stop"键字后操作拨盘执行时间搜索功能时执行的过程。
{52-10_60}向前搜索功能
图60是表示当执行向前搜索功能时CPU 10执行的过程的流程图。当用户按压">>"时,在图56、57和58中的流程图中的步骤S31、步骤S42或步骤S54给出判定"是",CPU 10执行图60的流程图中的处理。
在步骤S61,AOB_FRAME#x到#(x+f(t)-1)输入到伪随机序列译码器7。这里"t"表示间断播放时间,f(t)表示相应于该间断播放时间的帧数,而d(t)表示相应于该间断播放时间的帧的数量。在步骤S62,表示已过去的播放时间的变量play_time和表示已播放的数据量的变量play_data分别使用间断播放时间"t"、相应于间断播放时间的帧数f(t)、和相应于间断播放时间的数据量d(t)更新(x←x+f(t),play_time←play_time+t,play_data←play_data+d(t))。注意,间断播放时间通常是240毫秒(等于12个AOB_FRAME的播放时间)。
{52-1 0_60-1_61A,B}
图61A和61B表示在向前搜索操作期间播放时间代码的增加。图61A表示播放时间代码的初始值,其播放点是在AOB_ELEMENT#51中的AOB_FRAME#1。
在这一情形下的播放时间代码是"00:00:01.000"。12个AOB_FRAME的时间(亦即240毫秒)加到播放时间代码上使得播放时间代码成为"00:00:01.240",如图61B所示。
{52-10_60-2}
在这一更新后,在步骤S63 CPU 10比较增加的变量#x与在AOB_ELEMENT#y中的总帧数,判别增加的变量#x是否在AOB_ELEMENT#y中的总帧数之内。
如上所述,在位于一个AOB的开始处的AOB_ELEMENT中的帧数是"FNs_1st_TMSRTE",位于一个AOB的中间部分的一个AOB_ELEMENT中的帧数是"FNs_Middle_TMSRTE",而在位于一个AOB的结尾的AOB_ELEMENT中的帧数是"FNs_Last_TMSRTE"。
CPU 10通过比较这些值中一个合适的值与变量#x执行上述判别。当变量x不在当前AOB_ELEMENT#y之内时,CPU 10然后在步骤S64判别是否存在一个跟随AOB_ELEMENT#y的AOB_ELEMENT。
当AOB_ELEMENT#y是一个AOB_BLOCK中的最后一个AOB_ELEMENT时,则没有AOB_ELEMENT跟随AOB_ELEMENT#y,于是在步骤S64给出判定"否",结束本流程图中的处理。反之,当存在一个跟随AOB_ELEMENT#y的AOB_ELEMENT时,则在步骤S65变量#x减少在AOB_ELEMENT#y中的AOB_FRAME的个数,并在步骤S66更新变量#y(#y←#y+1)。作为结果,变量#x现在指示由更新的变量#y指示的下一AOB_ELEMENT#y中的一个帧的帧位置。反之,当变量#x指示一个帧存在在当前AOB_ELEMENT中(S63:是),则跳过步骤S64-S66中的处理,处理前进到步骤S67。
{52-10_60-3}
这之后,按照间断跳跃时间更新变量#x、play_time、和play_data。等于间断跳跃时间的"skip_time"时期是两秒,等于这一skip_time的帧数作为f(skip_time)给出,而等于这一skip_time的数据量作为d(skip_time)给出。在步骤S67,使用这些值更新变量#x、play_time、和play_data(#x←#x+f(skip_time),play_time←play_time+skip_time,play_data←play_data+d(skip_time))
{52-10_60-4_61C)
如图61C所示,间断跳跃时间加在表示在AOB_ELEMENT#51内的一个帧位置的变量#x上。当更新的#x超过AOB_ELEMENT#51中的帧数时,更新变量y以指示下一AOB_ELEMENT,并从变量#x中减去在AOB_ELEMENT#51中的帧数。其结果,变量#x现在指示在由更新的变量#y指示的AOB_ELEMENT#52内的一个帧位置。然后值2.000(=2秒)加到播放时间代码的当前值"00:00:01.240"上,使其成为"00:00:03.240"。通过计算((3240毫秒-2000毫秒)/20毫秒)更新变量#x给出值"62",这样指示在AOB_ELEMENT#52中的AOB_FRAME#62。
{52-10_60-5_61(d)}
一旦AOB_ELEMENT#52中的AOB_FRAME#62被输入到伪随机序列译码器7中,则播放时间代码被更新,如图61D所示,通过加"0.240"到当前值"00:00:03.240",给出"00:00:03.480"。
在步骤S67,根据跳跃时间更新变量,然后执行在步骤S68到S71的处理。在步骤S68到S71的这一处理和在步骤S63到S66的处理相同,于是在检查变量#x是否仍然指示在当前AOB_ELEMENT#y内的一个AOB_FRAME之前用等于间断跳跃时间"skip_time"的帧数更新变量x。如果不是,则更新变量#y,使得设定下一AOB_ELEMENT作为AOB_ELEMENT#y并变换变量#x使得指示在该下一AOB_ELEMENT中的一个帧位置。
一旦变量#x和#y根据间断播放时间和间断跳跃时间更新,则在步骤S72 CPU 10就引用TKTMSRT并计算为该AOB_ELEMENT#y的开始地址。然后,在步骤S73,CPU 10开始搜索从AOB_ELEMENT#y的开始地址开始的ADTS头标以检测AOB_FRAME#x。在步骤S74,CPU 10判别用户是否按压除向前搜索键字以外的任何键字。如果不是,则把AOB_FRAME#x到AOB_FRAME#x+f(t)-1的AOB_FRAME输入到伪随机序列译码器7,重复在步骤S62到S73的处理。
上述过程增加AOB_FRAME#x和AOB_ELEMENT#y的变量#x和#y,于是向前移动播放位置。这之后,如果用户按压"play"键字,则在图74中给出判定"否",结束本流程图中的处理。
{52-11}时间搜索功能的执行
下面说明当使用时间搜索功能时执行的处理。首先,显示在缺省播放目录信息中的音轨,用户指示一个希望的音轨。当这一音轨被指示,并且用户操作了拨盘,则更新播放时间代码。然后如果用户按压"play"键字,则使用在该点的播放时间代码以设定变量"Jmp_Entry"以秒计的值。
然后判别所指示的音轨是由多个AOB组成还是单一AOB。当该音轨由单一AOB组成时,计算变量#y和#x使满足等式2。在这之后,开始从在相应于这一AOB的TKTMSRT中的第(y+2)位置的地址搜索AOB_FRAME#x。一旦找到这一AOB_FRAME#x,则从该AOB_FRAME#x开始播放。
{52-12}
当该音轨由多个AOB组成时,计算变量#n(指示一个AOB)、#y、和#x使满足等式3。在这之后,开始从在相应于这一AOB#n的TKTMSRT中的第(y+2)位置的地址搜索AOB_FRAME#x。一旦找到这一AOB_FRAME#x,则从该AOB_FRAME#x开始播放。
下面说明当从一个AOB的任一位置开始播放的情形,该AOB在BIT中的"FNs_1st_TMSRTE"是"80帧",在BIT中的"FNs_Middle_TMSRTE"是"94帧",而在BIT中的"FNs_Last_TMSRTE"是"50帧"。
{52-13_62A,B}
作为当使用时间搜索功能时的一个特定的例子,下面说明当使用拨盘指示一个播放时间代码时如何指定播放应该开始的AOB_ELEMENT和帧位置。
如图62A所示,用户在他/她的手中拿着播放装置并用其右拇指转动拨盘以指示播放时间代码"00:04:40.000(280秒)"。当在为这一AOB的TKI中的BIT如图62B中所示时,所用等式如下:
280秒=(FNs_1st_TMSRTE+(FNs_Middle_TMSRTE*y)+x)*20毫秒
=(80+(94*148)+8)*20毫秒
于是等式2对值y=148和x=8满足。
因为y=148,所以从TKTMSRT得到AOB_ELEMENT#150(148+2)的入口地址。然后可以通过在从距该入口地址第8个AOB_FRAME处开始播放而执行从所指示的播放时间代码00:04:40.000(=280.00秒)的播放。
{52-14_63_64_65}
到此完成CPU 10响应用户按压"Play"键字的处理的说明。下面说明存储在ROM 4中的编辑控制程序。当用户按压"Edit"键字时执行该编辑控制程序,它包括在图63、64、和65中所示的过程。下面参考在这些图中表示的流程图说明在这一程序中的处理。
{52-14_63-1}编辑控制程序
当用户按压"Edit"键字时,在图63中的步骤S101显示一个交互式屏幕,询问用户要执行3个基本编辑操作"删除"、"分割"和"组合"中的哪一个。在步骤S102,CPU 10判别用户响应交互式屏幕选择何种操作。在本例中,假定键字板上的"|<<"和">>|"键字也用作指示"上移"和"下移"光标操作,(亦即这些键字也用作"上移"和"下移"光标键字)。当用户指示"删除"操作时,处理前进到步骤S103和S104组成的循环过程。
在步骤S103,CPU10判别用户是否按压了"|<<"或">>|"键字。在步骤S104,CPU 10判别用户是否按压了"Edit"键字。当用户按压了"|<<"或">>|"键字时,处理从步骤S103前进到S105,这里所指示的音轨设定为要编辑的音轨。另一方面,当用户按压了"Edit"键字时,所指示的音轨设定为要删除的音轨。执行图44中表示的处理,使得为该指示的音轨的每一TKI的TKI_BLK_ATR设定为"未使用"以删除该指示的音轨。
{52-14_63-2}组合处理
当用户选择组合处理时,处理从步骤S102前进到由步骤S107到S109组成的循环过程。在由步骤S107到S109组成的循环过程中,播放装置通过"|<<"、">>|"、和"Edit"键字接收用户输入。当用户按压"|<<"或">>|″键字时,处理从步骤S107前进到步骤S110,这里,指示的音轨以高亮度显示。当用户按压"Edit"键字时,在步骤S108给出判定"是",处理前进到步骤S111。在步骤S111,当前指示的音轨被设定为在这一编辑处理中要使用的第一音轨,而处理返回到由步骤S107到S109组成的循环过程。
当第二音轨被选择编辑时,在步骤S109给出判定"是",处理前进到步骤S112。在步骤S112,CPU 10引用前面和后面的音轨的TKI中的BIT并判别哪一种类型(类型1或类型2)的AOB存在于这些音轨中的每一个和在这些音轨的任一侧的音轨的各个开始和结尾,如果存在的话。
在识别每一相关的AOB的类型后,在步骤S113 CPU 10判别AOB的安排匹配某个一定的模式。当AOB的安排匹配图32A到32D所示4种模式中的一种时,这里十分清楚,3个第二类型的AOB不在组合后连续出现,则在步骤S115把前面的和后面的音轨组合成一个单一的音轨。
换句话说,为相应于这些AOB的TKI和DPL_TK_SRP执行图46所示操作。通过重写TKI中的1KI_BLK_ATR,为编辑而选择的多个音轨组合成单一音轨。当AOB的安排不匹配图32A到32D中任何一种模式时,意味着,在组合后将有3个或更多个第二类型的AOB,CPU 10判定,组合的音轨可能引起缓冲器下溢,于是终止组合处理。
{52-14_64-1}音轨分割处理
当用户指示要分割一个音轨时,处理从步骤S102前进到由步骤S116到S117组成的循环过程。在由步骤S116到S117组成的循环过程中,播放装置通过"|<<"、">>|"、和"Edit"键字接收用户输入。
当用户按压"|<<"或">>|"键字时,处理从步骤S116前进到步骤S118,在这里设定所指示的音轨为要编辑的音轨。当用户按压"Edit"键字时,在步骤S117给出判定"是",处理前进到步骤S119。
在步骤S119,决定指示的音轨是要编辑的音轨,处理前进到步骤S120,在这里开始播放这一音轨。在步骤S121,播放装置通过"Mark"键字接收用户输入。
当用户按压"Mark"键字时,音轨的播放暂停,处理前进到由步骤S122到S123组成的循环过程。在步骤S122,播放装置通过拨盘接收用户的操作。当用户转动拨盘时,在步骤S124根据拨盘的转动更新播放时间代码。
这之后,重复由步骤S122到S123组成的循环过程。如果用户按压"Edit"键字,则处理从步骤S123前进到步骤S125,在这里设定当用户按压"Edit"键字时显示的播放时间代码为分割边界。注意,可以为分割边界的这一设定提供一个"Undo(撤消)"功能,以允许用户能使所选择的分割边界无效。
在这之后,在步骤S126执行参考图47说明的处理以更新DPLI和TKI,以便分割选择的音轨。
{52-14_65-1}处理设定播放目录
当用户选择设定播放目录时,处理切换到图65中的流程图所示过程。在该流程图中,使用在该流程图中给出的变量k指示在由正被编辑的播放目录给出的播放次序中的一个音轨的位置。图65中的流程图在前进到由步骤S132到S134组成的循环过程之前以在步骤S131中被初始化为"1"的变量k开始。
在由步骤S132到S134组成的循环过程中,播放装置通过"|<<"、">>|"、"Edit"、和"Stop"键字接收用户操作。当用户按压"|<<"或">>|"键字时,处理从步骤S132前进到步骤S135,在这里根据按压"|<<"或">>|"键字分割一个新音轨。如果用户按压"Edit",则在步骤S133给出判定"是",处理前进到步骤S136。
在步骤S136,选择当用户按压"Edit"键字时指示的音轨为在播放次序中的第k个音轨。这之后,在步骤S137,递增变量k,处理返回由步骤S132到S134组成的循环过程。重复这一过程,使得连续选择第二、第三和第四音轨。如果用户在已经指定要以指定次序播放的几个音轨作为一个新播放目录之后按压"Stop"键字,则处理从步骤S134前进到步骤S138,在这里产生包括指定相应于这些音轨的TKI的PL_TK_SRP的PLI。
{66-1}记录装置
下面说明用于闪光存储器卡31的记录装置的一个例子。图66表示一个记录装置的例子。该记录装置可以连接到因特网,是一个标准的个人计算机,它可以当加密的SD-Audio由电子音乐销售服务通过通信线发送到该记录装置时或当音频数据传输流由电子音乐销售服务通过通信线发送到该记录装置时执行接收。
{67-1}记录装置的硬件组成
图67表示本记录装置的硬件组成。
如图67所示,本记录装置包括卡连接器21,用于连接记录装置到闪光存储器卡31;RAM 22;不可移动的盘装置23,用于存储对记录装置执行总控制的记录控制程序;A/D转换器24,它把通过传声器输入的音频A/D转换为PCM数据;AAC编码器25,用于以固定时间的单元编码PCM数据并分配ADTS头标以产生AOB_FRAME;伪随机序列编码单元26,用于为每一AOB_BLOCK使用不同的FileKey加密AOB_FRAME;调制解调器装置27,用于当一个加密的SD-Audio目录由电子音乐销售服务通过通信线被发送到记录装置时、或当一个音频数据传输流由电子音乐销售服务通过通信线被发送到记录装置时接收一个音频数据传输流;CPU 28,用于执行对记录装置的总控制;键字盘29,用于接收用户的输入;和显示器30。
{67-2}输入电路RT1到RT4
当一个要写入数据区和验证区的加密的SD-Audio目录由电子音乐销售服务通过通信线发送到记录装置时,该记录装置只要在该加密的SD-Audio目录被正确接收时可以把该该加密的SD-Audio目录写入闪光存储器卡31的数据区和验证区。
然而,(1)当一个不采取SD-Audio目录形式的音频数据传输流由电子音乐销售服务发送到记录装置时,(2)当数据以PCM格式输入记录装置时,或(3)当由该记录装置记录模拟音频时,记录装置使用下面4个输入路径写一个音频数据传输流到闪光存储器卡31。
如图67所示,当一个音频数据传输流存储在闪光存储器卡31中时使用4个输入路径RT1、RT2、RT3、和RT4输入音频数据传输流。
{67-3}输入路径RT1
当一个加密的SD-Audio目录由电子音乐销售服务通过通信线发送到记录装置时、或当一个音频数据传输流由电子音乐销售服务通过通信线发送到记录装置时使用输入路径RT1。在这一场合,加密在该传输流中的AOB_FRAME,使得为在不同AOB中的AOB_FRAME使用不同的FileKey。因为不需要加密或编码加密的传输流,因此可以直接把在其加密状态下的SD-Audio目录或音频数据传输流存储到RAM 22中。
{67-4}输入路径RT2
当音频通过传声器输入时使用输入路径RT2。在这一场合,通过传声器输入的音频接收A/D转换器24的A/D转换以产生PCM数据。然后用AAC编码器25编码PCM数据和分配ADTS头标以产生AOB_FRAME。这之后,伪随机序列编码单元26为在不同的AOB文件中的每一AOB_FRAME使用不同的FileKey加密AOB_FRAME,产生加密的音频数据。这之后,把加密的音频数据存储到RAM 22中。
{67-5}输入路径RT3
当把从一个CD读取的PCM数据输入到记录装置时使用输入路径RT3。因为数据以PCM格式输入,因此,该数据可以和其输入到AAC编码器25一样输入。使用AAC编码器25编码该PCM数据并分配ADTS头标以产生AOB_FRAME。
这之后,伪随机序列编码单元26为在不同的AOB中的AOB_FRAME使用不同的FileKey加密AOB_FRAME,产生加密的音频数据。这之后,加密的音频数据存储到RAM 22中。
{67-6}输入路径RT4
当通过3个输入路径RT1、RT2、和RT3中之一输入的传输流写入闪光存储器卡31时使用输入路径RT4。
音频数据的这一存储伴随生成缺省播放目录信息的的TKI。和播放装置的方式相同,记录装置的主要功能存储在ROM中。这也就是说,包括记录装置的特征处理亦即AOB的记录、音轨管理器、和播放目录管理器的程序存储在不可移动盘装置23中。
{67-6_68}记录装置的处理
下面说明通过输入路径RT1、RT2、RT3、和RT4向闪光存储器卡31写传输流的记录过程中的处理,参考表示这一处理的图68。
在这一流程图中使用的变量"Frame_Number"和"Data_Size"如下。使用变量Frame_Number来管理已经记录到一个AOB文件中的AOB_FRAME的总数。使用变量Data_Size来管理已经记录到一个AOB文件中的AOB_FRAME的数据大小。
这一流程图的处理从步骤S200开始,此时CPU 28产生缺省播放目录和音轨管理器。在步骤S201,CPU 28初始化变量#z(z←1)。在步骤S202,CPU 28产生AOB文件#z,并将其存储在闪光存储器卡31的数据区内。在这一点,在数据区的SD_Audio目录中的一个目录条目中设定为该AOB文件#z的文件名、文件名扩展、和第一簇号。这之后,在步骤S203,CPU 28产生TKI#z,并将其存储到音轨管理器中。在步骤S204,CPU 28产生DPL_TK_SRP#w,并将其存储在缺省播放目录信息中。之后,在步骤S205 CPU 28初始化变量#y(#y←1),在步骤S206,CPU 28初始化Frame_Number和Data_Size(Frame_Number←0,Data_Size←0)。
在步骤S207,CPU 28判别应该写入AOB文件的音频数据传输流的输入是否已结束。当已由AAC编码器25编码并由伪随机序列编码单元26加密到RAM 22中的一个音频数据传输流的输入继续并且必须继续写簇数据时,CPU 28在步骤S207给出判定"否",处理前进到步骤S209。
在步骤S209,CPU判别积累在RAM 22中的AAC音频数据的量是否至少等于簇大小。如果是,CPU 28给出判定"是",处理前进到步骤S210,在这里等于簇大小的AAC音频数据量写入闪光存储器卡31。然后处理前进到步骤S211。
当尚未有足够多的AAC音频数据积累到RAM 22中时,跳过步骤S210,处理前进到步骤S211。在步骤S211,CPU递增Frame_Number(Frame_Number←Frame_Number+1),并给变量Data_Size的值增加AOB_FRAME的数据大小。
在这一更新后,在步骤S212 CPU 28判别Frame_Number的值是否达到在"FNs_Middle_TMSRTE"中设定的帧数,"FNs_Middle_TMSRTE"的值根据当编码音频数据传输流时使用的采样频率设定。当Frame_Number的值已经达到在"FNs_Middle_TMSRTE"中设定的帧数时,CPU 28在步骤S212给出判定"是"。如果没有达到,则CPU 28给出判定"否",处理返回到步骤S207。因此重复步骤S207到S212的处理,直到在步骤S207或在步骤S212之一给出判定"是"。
当变量Frame_Number达到"FNs_Middle_TMSRTE"的值时,CPU 28在步骤S212给出判定"是",处理从步骤S212前进到步骤S213,在这里Data_Size存储到TKI#z的TKTMSRT中作为为AOB_ELEMENT#y的TMSRT条目#y。在步骤S214,CPU 28在步骤S215检查变量y是否达到"252"之前递增变量#y(#y←#y+1)。
因为值"252"是可以存储到单个AOB中的AOB_ELEMENT的最大个数,所以使用该值。如果变量#y小于252,则处理前进到步骤S216,在这里CPU 28判别是否在编码的音频中存在预定长度的静音,也就是说,音频数据达到在音轨之间存在的空隙。当不存在这种连续的静音时,重复由步骤S206到S215组成的处理。当变量#y达到值252或在编码的音频中存在预定长度的静音时,在步骤S215和S216之一给出判定"是",处理前进到步骤S217,在这里变量#z递增(#z←#z+1)。
这之后,为递增的变量#z重复步骤S202到S216的处理。通过重复这一处理,CPU 28可以使包含有多个AOB_ELEMENT的AOB一个接一个记录在闪光存储器卡31上。
当由AAC编码器25、伪随机序列编码单元26、和调制解调器装置27传输一个音频数据传输流完成时,这意味着,要写入AOB文件#z的音频数据传输流的输入也将完成,于是在步骤S207给出判定"是",处理前进到步骤S208。在步骤S208,CPU 28在TKI#z的TKTMSRT中存储变量Data_Size的值作为为AOB_ELEMENT#y的TMSRT条目#y。在把积累在RAM 22中的音频数据存储到相应于AOB#z的AOB文件中后,结束在该流程图中的处理。
上述处理使加密的音频数据传输流存储到闪光存储器卡31中。然后使用下面的过程存储为解密该加密的音频数据传输流所需要的FileKey到验证区。
当音频数据传输流已经通过路径RT1输入时,由电子音乐销售服务的供应商把AOB文件、存储TKMG的文件、存储PLMG的文件、和存储为每一AOB的一个不同的FileKey的加密键字存储文件发送给记录装置。CPU 28接收这些文件,并把AOB文件、存储TKMG的文件、和存储PLMG的文件写入闪光存储器卡31的用户区。另一方面,CPU 28只把存储为每一AOB的不同的FileKey的加密键字存储文件写入验证区。
当音频通过输入路径RT2或RT3输入时,CPU 28每次在一个新的AOB的编码开始时产生一个不同的FileKey,并把产生的键字设定在伪随机序列编码单元26中。除由伪随机序列编码单元26使用加密当前AOB外,该FileKey跟随存在在验证区中的加密键字存储文件中的FileKey条目存储。
在上述实施例中,存储AOB的文件使用不同的加密键字加密,于是,如果用以加密一个文件的加密键字被解码或暴露,暴露的加密键字只能用于解码存储一个AOB的文件,这样的暴露对存储在其它文件中的其它AOB没有影响。这使当暴露一个加密键字引起的损失为最小。
注意,尽管上述说明集中在被认为是本发明效率最高的实施例的示例系统上,但是本发明不限于这一系统。在本发明的范围内的各种修改是可能的,这样的例子作为下面的(a)到(e)给出。
(a)上面的实施例说明半导体存储器(闪光存储器卡)作为所用的记录介质,但是本发明可以应用于包括光盘诸如DVD-RAM或硬盘的其它介质。
(b)在上述实施例中,音频数据以AAC数据说明,但是本发明也可以应用于其它格式的音频数据,诸如MP3(MPEG1音频层3)、杜比-AC3、或DTS(数字影院系统)。
(c)虽然存储TKMG的文件和存储PLMG的文件以从电子音乐销售服务的提供商接收的完整形式说明,但是用于产生TKMG和PLMG的主信息可以连同存储为每一AOB的一个不同加密键字的加密键字存储文件一起传输。然后记录装置可以处理这一信息以获得TKMG和PLMG,它们然后记录在闪光存储器卡上。
(d)为简化说明,记录装置和播放装置作为单独的设备说明,虽然一个便携播放装置可以装备有记录装置的功能,和形式为个人计算机的记录装置可以装备有播放装置的功能。除便携播放装置和个人计算机记录装置外,也可以给能够从网络下载内容的通信设备提供播放装置和记录装置的功能。
作为一个例子,可以给能够访问因特网的移动电话提供在上面的实施例中说明的播放装置和记录装置的功能。该移动电话可以存储以和上述实施例中同样的方式通过无线网络下载到闪光存储器卡中的内容。另外,虽然在上面的实施例中说明的记录装置提供有调制解调器装置27用于连接因特网,但是也可以代之以提供能够连接因特网的任何设备,诸如用于ISDN的终端适配器。
(e)在图55到58、图60、图63到图65、和图68中表示的流程图中的过程可以通过可执行程序实现,这些可执行程序可以通过记录在记录介质上分配或销售。所述记录介质可以是IC卡、光盘,软盘等,记录在记录介质上的程序首先安装到标准计算机硬件上使用。通过执行按照这种安装的程序的处理,标准计算机硬件可以执行在上面的实施例中说明的播放装置和记录装置同样的功能。
(f)尽管上面的实施例说明多个AOB和多个FileKey记录在闪光存储器卡31上的情形,但是只需要记录一个AOB和一个FileKey。另外,对AOB来说加密不是必需的,所以AOB可以以ACC格式存储在闪光存储器卡31上。
第二实施例
本发明的第二实施例涉及与在第一实施例中说明的AOB文件一起存储静止图象的改进。这些静止图象在播放所述AOB文件时显示。
{69-1}第二实施例的闪光存储器卡的层次结构
图69表示该第二实施例的闪光存储器卡31的层次结构。在本实施例中说明的闪光存储器卡31的层次结构与第一实施例的不同之处在于POB(图象对象)已加在表示数据上和POB管理器加在导播数据上。POB是采取JPEG(联合图象专家小组)格式的多条静止图象数据,它由播放目录管理器和音轨管理器引用。
POB管理器(POBManager)是说明POB应该如何由播放目录管理器和音轨管理器引用的管理信息。
{69-1_70A-1}文件系统层中的用户数据区的组成
因为额外的信息加在本实施例中的表示数据和导播数据上,所以修改在文件系统层中的用户数据区和保护区的内部组成,形成图70A和70B所示的结构。在图70A中所示的用户区与图8A所示的不同之处在于,除POB管理器文件"POB000.POM""外还增加了文件名为"POBXXX.JPG"和"POBXXX.SP1"的文件。
文件"POBXXX.JPG"和"POBXXX.SP1"相应于图69中所示POB,而文件"POB000.POM"相应于POB管理器。文件"POBXXX.JPG"和"POBXXX.SP1"之间的不同在于是否需要版权保护。具有"JPG"文件名扩展的文件只是包含采用JPEG格式的静止图象数据的文件,而具有"SP1"文件名扩展的文件经过加密,以保护这些静止图象对象的版权。这里,"SP"是"Secure Picture(安全图象)"的缩写,表示版权保护是必需的。
诸如用户拍摄的家庭照片或纪念照片之类的静止图象可以记录在闪光存储器卡中以允许用户个人化存储的内容。因为通常不需要为这些图象的版权保护,因此它们可以以JPEG格式记录在闪光存储器卡上,不需加密。另一方面,艺术家的照片和歌曲集作品通常是该艺术家的产权或记录标签。因为有用户非法复制由电子音乐销售服务提供的图象的风险,所以这些图象作为"安全图象"文件记录在闪光存储器卡上。
{69-2_70B-1}文件系统层中的用户区的组成
图70B表示在第二实施例中的保护区的组成。当与图8B所示保护区比较时,发现在该第二实施例中的保护区进一步包括一个文件名为"POBSP1.key"的加密键字存储文件。该文件存储为加密(被加密的)文件"POBXXX.SP1"所用的FileKey。当读取文件"POBXXX.SP1"时,需要从该加密键字存储文件"POBSP1.key"中抽取FileKey。
由一个使用电子音乐销售的记录标签操作的服务器计算机存储在图70A和70B表示的SD_Audio目录。当用户订购一个音乐内容时,该服务器计算机压缩适当的SD_Audio目录,将其加密,然后将其发送给发布该订购的用户。
该用户的计算机接收SD_Audio目录,将其解密,解压缩,于是得到原来的SD_Audio目录。注意,计算机也可以代之以从服务器计算机下载带有伴随静止图象(POB)的音轨(AOB),然后由其自身在闪光存储器卡31上生成该SD_Audio目录。
{69-3_71A,B,C-1}"POBXXX.JPG"和"POBXXX.SP1"文件的内部组成
下面说明"POBXXX.JPG"和"POBXXX.SP1"文件的内部组成。图71A表示"POBXXX.JPG"文件的内部组成。该文件包括未经加密的静止图象数据,因此具有和标准JPEG文件同样的组成。
图71B表示"POBXXX.SP1"文件的内部组成。如图所示,这种文件包括一个AOB头标(POB_H)和采用JPEG格式的加密的静止图象数据。
在图71B中表示的虚线hP1表示POB_H的内部组成。如图所示,POB_H包括一个两字节的POB_ID,其值设定为"FFE0",表示当前文件是一个POB文件;一个一字节的保留区;一个一字节的POB_ATR,它表示在"POBXXX.SP1"中是否存在加密数据;和一个4字节的POB_SZ,表示该POB的数据大小。
当在文件"POBXXX.SP1"中存在加密数据时,在POB_ATR中设定值"0"以表示"数据体存在"(亦即文件"POBXXX.SP1"不间接引用另外的文件)。反之,当在文件"POBXXX.SP1"中不存在加密数据时,则该文件将代之以存储包含静止图象数据的文件的文件路径(亦即文件"POBXXX.SP1"间接引用另一文件)。图71C表示代替加密的数据体而存储文件路径的一个POB文件的例子。
在路径"¥DCIM¥Ctg_001¥photo001.JPG"中给出的文件"photo001.JPG"指示一个文件,该文件存储使用静止数字照相机拍摄的数字照片的静止图象数据。当在一个POB文件中以这种方式指示一个目录路径和文件名时,就间接引用了在具有路径"¥DCIM¥Ctg_001¥photo001.JPG"的文件"photo001.JPG"中存储的图象数据。在该"POBXXX.SP1"中,在POB管理器中的POB_ZTR设定为值"1",表示"无数据体"。
作为一个例子,当一个静止数字照相机的设备驱动器需要把用该照相机记录的静止图象数据在一个特别的目录中的一个特别的文件中记录时,则诸如在图71C中表示的POB文件可以使用一个间接引用文件路径指定一个存储静止图象数据的JPG文件(在图71C中,用于静止数字照相机的设备驱动器需要文件使用路径¥DCIM¥Ctg_001¥photo001.JPG"等存储)。其结果,即使由数字照相机记录的静止图象数据按照设备驱动器的需要记录在一个特别的文件和特别的目录中,但是这种图象数据仍然可以在播放音乐内容期间显示。
到此完成本发明的该第二实施例中的表示数据的说明。
{72-1}播放目录管理器和音轨管理器(TrackManager)
表示数据中的文件"POBXXX.JPG"和"POBXXX.SP1"与在第一实施例中说明的音轨的播放同步播放。为实现这种图象与音轨的同步显示,该第二实施例的播放目录管理器和音轨管理器具有如图72所示的组成。图72表示在该第二实施例中的播放目录管理器和音轨管理器的详细组成。在该实施例中的播放目录管理器和音轨管理器与在图17所示的第一实施例的不同之处在于,不像前者,缺省播放目录一般信息(Default_Playlist_General_Information,DPLGI)和播放目录一般信息(PLGI)的内容清楚表示,以及在TKGI中新提供TKI_POB_ATR和20个TKI_POB_SRP。
{72-2}DPLGI
如由虚线h61所示,缺省播放目录一般信息(DPLGI)包括:一个DPLI_ID字段,其内写有为该DPLI的一个唯一的标识符;一个DPLI_TK_Ns字段,其内写入由该DPLI引用的音轨的个数;一个DPLI_PB_TM字段,其内写入由该缺省播放目录引用的所有音轨以毫秒单元计的总播放时间;一个DPLI_POB_ATR字段;和60个DPLI_POB_SRP字段。
{72-3}
如由虚线h62所示,每一条播放目录一般信息(PLGI)包括:一个PLI_ID字段,其内写有为该PLI的一个唯一的标识符;一个PLI_TK_Ns字段,其内写入由该PLI引用的音轨的个数(这里最大为"99");一个PLI_PB_TM字段,其内写入由该播放目录引用的所有音轨以毫秒单元计的总播放时间;一个PLI_POB_ATR字段;和20个PLI_POB_SRP字段。
{72-4_73}在第二实施例中所做的增加和改进概要
如可以从上面的说明所理解的,在该第二实施例中的TKGI另外包括两类信息:TKI_POB_ATR和TKI_POB_SRP。以同样的方式,DPLGI另外包括两类信息:DPLI_POB_ATR和DPLI_POB_SRP,每一个PLGI另外包括两类信息:PLI_POB_ATR和PLI_POB_SRP。
TKI_POB_SRP、PLI_POB_SRP和DPLI_POB_SRP每一个都具有同样的组成并且都用于指定一个POB。图73表示诸如图70A所示POB文件如何用TKI_POB_SRP、PLI_POB_SRP和DPLI_POB_SRP指定。下面说明TKI_POB_ATR(DPLI_POB_ATR,PLI_POB_ATR)和TKI_POB_SRP(DPLI_POB_SRP,PLI_POB_SRP)的数据组成。
{74-1}TKI_POB_SRP
TKI_POB_SRP是一个字段,它在由缺省播放目录信息即PLI指示要播放的音轨的整个播放期间内指定在一个特定的AOB播放期间要显示的POB。换句话说,通过设定音轨管理器中的TKI_POB_SRP,可以指定在一个音轨播放期间要显示的POB。
图74表示TKI_POB_SRP和TKI_POB_ATR的数据结构。
如图所示,TKI_POB_SRP包括一个在位号b25和位号b16之间的"指定POB的字段"(在图中表示为"POB_No"),一个在位号b11和位号b8之间的"象素个数"字段,一个在位号b7和位号b6之间的"霍夫曼表"字段,一个在位号b5和位号b4之间的"色度采样"字段,和一个在位号b3和位号b0之间的"图象编码方式"字段。在位号b12和位号b15之间和在位号b26和位号b31之间的字段是保留区。
"指定POB的字段"用来存储在"1"和"999"之间的一个号码,其作为在相应于该TKI的AOB文件播放期间要显示的POB的号码。当在相应于该TKI的AOB文件播放期间没有要显示的静止图象时,该"指定POB的字段"设定为"0"。
"图象编码方式"字段是用于通知播放装置为编码由"指定POB的字段"指定的静止图象使用的方法的字段。
"色度采样"字段用于表示在编码由"指定POB的字段"指定的静止图象时为两种颜色所用的亮度采样和色度采样的比率。设定该字段中的二进制值为"00"以指示该比率为"4∶2∶2",而设定该值为"01"时指示该比率为"4∶2∶0"。
"霍夫曼表"字段表示当显示由"指定POB的字段"指定的静止图象时是否应该使用典型的霍夫曼表。当应该使用霍夫曼表时该字段设定为"00"。
"象素个数"字段是一个其中写入由"指定POB的字段"指定的静止图象以象素为单位的大小的字段。当由"指定POB的字段"指定的静止图象是"96*96"象素时在该字段中写入二进制值"0000",当该图象是640*480时写入"0001",当该图象是在范围160*120象素到1800*1200象素内的某大小时写入值"0010"。
TKI包括20个具有这一结构的TKI_POB_SRP,所以在一个音轨的播放期间最多可以显示20个静止图象。当一个音轨包括几个TKI时,仅在第一个TKI中的TKI_POB_SRP有效。
{74"2}TKI_POB_ATR
提供"TKI_POB_ATR"指示用在一个TKGI中的20个TKI_POB_SRP指定的POB应该如何显示。"TKI_POB_ATR"包括一个在位号b0和位号b1之间的"显示次序方式"和在位号b2和位号b3之间的"显示定时方式"。
设定"显示次序方式"字段以表示由在一个TKGI中的20个TKI_POB_SRP指定的POB要播放的次序。在这一实施例中,在一个AOB播放期间以3种方式之一显示POB。
第一种方式称为"顺序方式",这里由在一个TKGI中的最大20个TKI_POB_SRP指定的POB以在该TKGI中给出这些TKI_POB_SRP的次序显示。
第二种方式称为"随机方式",这里以随机次序显示由在一个TKGI中的最大20个TKI_POB_SRP指定的POB。
第三种方式称为"杂乱(shuffle)方式",这里以随机次序不重复显示由在一个TKGI中的最大20个TKI_POB_SRP指定的POB。
为指示顺序方式,在"显示次序方式"字段中设定二进制值"00"。反之,设定二进制值"01"指示随机方式,设定二进制值"10"指示杂乱方式。
设定"显示定时方式"字段以表示由在一个TKGI中的最大20个TKI_POB_SRP指定的POB的显示是否应该与相应于该TKI的AOB文件的播放同步。图象与音频同步的方式称为"幻灯片显示方式"。在"幻灯片显示方式"期间,用户不能不跳过正在播放的音频而跳过正在显示的图象。
另一方面,图象与音频不同步的方式称为"浏览器方式"。在浏览器方式中,用户可以跳过图象而不跳过音频。
以这种方式,在一个TKI中设定了表示在相应AOB文件播放期间哪一个POB应该显示、这些POB应该以什么次序显示和POB的显示是否应该与相应AOB文件的播放同步的信息。
{74-3_75}包含在TKI#1到TKI#3中的TKI_POB_SRP的设定例子
图7 5表示在音轨管理器中包含的TKI_POB_SRP的设定例子。
图75中的第一级表示音轨管理器,第二级表示9个POB文件。第一级的音轨管理器包括8个TKI,用箭头表示在这8个TKI中的TKI_POB_SRP引用哪一个POB文件。
如箭头所示,TKI#1包括3个TKI_POB_SRP,它们指定POB001到POB003,TKI#2包括3个TKI_POB_SRP,它们指定POB004到POB006和TKI#3包括3个TKI_POB_SRP,它们指定POB007到POB009。
在该实施例中,假定POB001到POB009是包括安排在一个简单背景上的歌词的JPEG图象数据。组成歌词的词使用适合歌曲的情绪的字体表示,但可以接受修饰,诸如增加粗框线。
图75中的最下一级表示每一个POB的内容。POB001到POB003的内容是TrackA的歌词,POB004到POB006的内容是TrackB的歌词,和POB007到POB009的内容是TrackC的歌词。因为除非在相应音轨播放期间显示这些图象,否则它们没有意义,所以设定在TKI中包括的TKI_POB_SRP,使得这些图象在这写播放期间显示。
每一音轨的播放时间和在第一实施例中提到的图16中的一样。这意味着,相应于TKI#1的"AOB001.SA1"的播放是6.1分,相应于TKI#2的"AOB002.SA1"的播放是3.3分,相应于TKI#3的"AOB003.SA1"的播放是5.5分。在这些播放期间,在TKI中给出的TKI_POB_SRP将成为有效的,使得播放装置可以根据这些有效的TKI_POB_SRP显示POB。
相应于TKI#1的"AOB001.SA1"的播放时间是6.1分,所以,如果POB001到POB003在这一时期显示同样时间的话,则每一图象显示2.03(=6.1/3)分。相应于TKI#2的"AOB002.SA1"的播放时间是3.3分,所以POB004到POB006每一个将显示1.1(=3.3/3)分。相应于TKI#3的"AOB003.SA1"的播放时间是5.5分,所以POB007到POB009每一个将显示1.83(=5.5/3)分。
{74-4_76}包含在TKI#4到TKI#8中的TKI_POB_SRP的设定例子
图76表示设定在音轨管理器中包括的TKI#4到TKI#8中的TKI_POB_SRP的例子。第一级表示音轨管理器,第二级表示10个POB文件。如图中箭头所示,TKI#4包括7个TKI_POB_SRP,其分别指定POB010到POB016。
以同样方式,TKI#8包括3个TKI_POB_SRP,其指定POB017到POB019。在本实施例中,POB010到POB019,像POB001到POB009,是包括安排在一个简单背景上的歌词的JPEG图象数据。TKI_POB_SRP只为TKI#4而不为TKI#5到TKI#7中任何一个设定的理由是当单一音轨包括多个TKI时。只有在第一个TKI中的TKI_POB_SRP有效,如前所述。
POB010到POB016的内容是为示于第一实施例的图16中的TrackD的歌词,而POB017到POB019的内容是为TrackE的歌词。相应于TKI#4到TKI#7的"AOB004.SA1"到"AOB007.SA1"总时间是30.6分,于是POB01 0到POB016的每一个的播放时间是4.37(=30.6/7)分。其结果,每一个POB可以在TrackD的播放期间播放同样的时间。因为相应于TKI#8的"AOB008.SA1"的播放时间是7.0分,因此,每一个POB017到POB019的播放时间是2.33(=7.0/3)分。
{77-1}在DPLGI中包括的DPLI_POB_SRP和DPLI_POB_ATR
尽管TKI_POB_SRP可以指定在哪一个音轨播放期间要显示哪一个POB,但是在DPLGI中给出的DPLI_POB_SRP指定根据由缺省播放目录信息指定的顺序播放多个AOB期间应该显示的POB。
图77表示在DPLGI中包括的DPLI_POB_SRP和DPLI_POB_ATR。如从该图中可以看到的,DPLGI中包括的DPLI_POB_SRP和DPLI_POB_ATR具有和TKI_POB_SRP和TKI_POB_ATR同样的数据结构。
因为缺省播放目录信息设定多个AOB文件的播放顺序,因此可以设定在图77中给出的DPLI_POB_SRP和DPLI_POB_ATR以表示(1)在由缺省播放目录信息中的播放顺序指示的多个AOB文件播放期间应该显示哪一些POB,(2)这些POB应该以何种顺序显示,和(3)这些POB的显示是否要与相应于TKI的AOB的播放同步。
{77-2_78}20个DPLI_POB_SRP的设定例子
图78表示在缺省播放目录信息中包含的20个DPLI_POB_SRP的一个设定例子。图中的第一级表示该缺省播放目录信息,其内部框表示DPLGI和20个DPLI_POB_SRP。第二级表示20个POB文件POB020到POB039。如箭头所示,这20个DPLI_POB_SRP分别指定20个POB文件POB020到POB039。
POB020是用作为包括TrackA到TrackE的音乐歌曲集的套装版的护套的图象,而POB021是生产这一音乐歌曲集的生产公司的商标。POB022到POB025是艺术家的照片,POB026到POB031是取自节目预告录像的图象,POB032到POB039是该艺术家在一个音乐会上表演TrackA到TrackE的照片。在缺省播放目录信息中的DPLI_POB_SRP由音乐内容的生产者定义,所以可以设定,使得为这些音轨由音乐内容表示的图象、艺术家的照片等在播放期间显示。
在由在缺省播放目录信息中的播放顺序指定的AOB文件的播放期间,将显示由在DPLGI中包括的DPLI_POB_SRP指定的POB文件。对于在图40中表示的例子,缺省播放目录信息为5个音轨TrackA到TrackE指定一个播放顺序,这5个音轨通过8个TKI组成。同时,在图78所示例子中,包含在缺省播放目录信息中的DPLI_POB_SRP指定20个POB文件,而这些指定在TrackA到TrackE的52.5分的播放期间是有效的。当把该52.5分的播放期间在POB020到POB039之间等分时,每一图象将显示2.625(=52.5/20)分。
{77-3_79}当播放进行时前景和背景图象中的改变
图79是一个时序图,表示当由在缺省播放目录信息中包括的DPLI_POB_SRP指示的POB用作背景图象和由在音轨管理器中包括的TKI_POB_SRP指示的POB用作前景图象时发生什么样的图象组合。
在该图中的第一级表示和图78中的第二级同样的POB,而第二级表示和图75和76中的第二级同样的POB。横跨图79上部水平延伸的刻度表示以分为单位的播放时间。因此,图79中的每一个POB的水平宽度表示为每一个POB的连续显示时间。
通过引用在图79中的时间刻度,可以看到,在从播放开始起到6.1分的点期间POB001到POB003(TrackA的歌词)作为前景图象连续显示,而POB020(护套图象)、POB021(生产公司商标)、和POB022(艺术家照片)作为背景图象连续显示。
在播放开始后的点6.1分和开始后的点14.9(=6.1+3.3+5.5)分之间的播放期间,POB004到POB009(TrackB和TrackC的歌词)作为前景图象连续显示,而POB022到POB025(艺术家照片)作为背景图象连续显示。
在从播放开始的点14.9分后的期间,POB010到POB011(TrackD的歌词)作为前景图象连续显示,而POB026到POB028(取自节目预告录像的图象)作为背景图象连续显示。
{77-4_80}
在图79的时序图中,由在前景中的POB004(TrackB的歌词)和在背景中的POB022(艺术家照片)组成的组合图象将在从根据缺省播放目录信息的播放开始后的点6.1分开始显示。图80表示前景图象和背景图象如何在从根据缺省播放目录信息的播放开始后的点6.1分处组合。
{77-5_81}
以同样方式,由在前景中的POB010(TrackD的歌词)和在背景中的POB026(取自节目预告录像的一个镜头)组成的组合图象将在从根据缺省播放目录信息的播放开始后的点16分开始显示。图81表示前景图象和背景图象如何在从根据缺省播放目录信息的播放开始后的点16分处组合。
如上所述,如果一个组合图象通过组合由在缺省播放目录信息中包括的一个DPLI_POB_SRP指示的POB文件作为前景图象和由在缺省播放目录信息中包括的TKI_POB_SRP指示的POB文件作为背景图象产生的话,则为正在播放的音轨的歌词可以与一个艺术家的照片、一个取自该音轨的节目预告录像的图象、一个音乐会照片等一起显示。在什么时间应该显示什么POB文件的设定也可以通过重写在音轨管理器和缺省播放目录信息中的TKI_POB_SRP和DPLI_POB_SRP而容易地改变。
{82-1}在PLGI中的PLI_POB_SRP和PLI_POB_ATR
在PLGI中包含的PLI_POB_SRP和PLI_POB_ATR具有和在DPLGI中包含的DPLI_POB_SRP和DPLI_POB_ATR、和在TKI中的TKI_POB_SRP和TKI_POB_ATR同样的结构。图82表示在PLGI中包括的PLI_POB_SRP和PLI_POB_ATR。
如在第一实施例,PLI不同于缺省播放目录信息的地方在于它表示用户定义的播放顺序,所以PLI_POB_SRP和PLI_POB_ATR表示在该用户定义的播放顺序中指定的多个AOB文件的播放期间应该显示哪一个POB。这写POB应该以何种顺序显示,以及POB的显示是否应该和相应AOB文件的播放同步。注意,虽然在缺省播放目录信息中的PLI_POB_SRP说明是由音乐内容的生产商设定,但是这些DPLI_POB_SRP可以由用户自由设定。
{82_2_83}在PLI中包括的PLI_POB_SRP的设定例子
下面说明PLI中包括的PLI_POB_SRP的设定例子。
图83表示在一个PLI中的20个PLI_POB_SRP的设定例子。该图中的第一级表示一个PLI,其内部框表示PLGI和20个PLI_POB_SRP。第二级表示20个POB文件POB040到POB059。如箭头所示,20个PLI_POB_SRP分别指定20个POB文件POB040到POB059。
虽然POB020到POB039是由音乐内容生产商提供的静止图象数据,但是POB040到POB059是由用户提供的个人照片的静止图象数据。作为一个例子,POB040是用户家庭的照片,而POB041是该用户毕业庆典的照片,POB042到POB051是该用户宠物的照片,POB046到POB051是该用户到欧洲旅行的假日镜头,POB052到POB059是该用户到美国旅行的假日镜头。为简化说明,由这一PLI指定的AOB文件的总播放时间和由这一PLI指定要显示的POB的个数和缺省播放目录信息的相同。这意味着,由这一PLI指定的TrackA和TrackE的总播放时间是52.5分,而为POB040到POB059中的每一个的显示时间将是2.625(=52.5/20)分,如果每一图象要在该播放期间显示同样的时间的话。
{82-3_84}在播放进行时前景和背景图象中的改变
图84是一个时序图,表示当由在上述播放目录信息中包括的PLI_POB_SRP指定的POB用作背景图象和由在音轨管理器中包括的TKI_POB_SRP指示的POB用作前景图象时发生什么样的图象组合。
图中的第一级表示和图83中的第二级同样的POB,而第二级表示和图75和76中的第二级同样的POB。横跨图84上部水平延伸的刻度表示以分为单位的播放时间。因此,图84中的每一个POB的水平宽度表示为每一个POB的连续显示时间。
通过引用在图79中的时间刻度,可以看到,在从播放开始起到6.1分的点期间POB001到POB003(TrackA的歌词)作为前景图象连续显示,而POB040(家庭照片)、POB041(毕业照片)、和POB042(宠物照片)作为背景图象连续显示。
在播放开始后的点6.1分和开始后的点14.9分之间的播放期间,POB004到POB009(TrackB和TrackC的歌词)作为前景图象连续显示,而POB042到POB045(宠物照片)作为背景图象连续显示。
在从播放开始的点14.9分后随的期间,POB010到POB011(TrackD的歌词)作为前景图象连续显示,而POB046到POB048(欧洲假日的假日镜头)作为背景图象连续显示。
以这种方式,虽然由缺省播放目录信息指定的POB由生产音乐内容的记录标签选择并因此通常相应于艺术家的图象和有关该音乐内容的图象,但是由PLI指定的POB可以由用户自由选择,所以可以具有很高的个人价值。
{82-4_85}
在图82的时序图中,由在前景中的POB004(TrackB的歌词)和在背景中的POB042(宠物照片)组成的组合图象将在从根据上述播放目录信息的播放开始后的点6.1分开始显示。图85表示前景图象和背景图象如何在从根据这一播放目录信息的播放开始后的点6.1分处组合。
{82-5_86}
以同样方式,由在前景中的POB010(TrackD的歌词)和在背景中的POB046(取自欧洲的假日镜头)组成的组合图象将在从根据该播放目录信息的播放开始后的点16分开始显示。图86表示前景图象和背景图象如何在从根据该播放目录信息的播放开始后的点16分处组合。形成这些组合图象一部分的歌词和在图80和81中的相同,不过因为背景图象不同,所以在图85和86中的组合图象给出和在图80和81的完全不同的印象。
如上所述,PLI中由用户自己定义的PLI_POB_SRP可以指定与由缺省播放目录信息指定的不同的POB文件,所以用户可以使他/她喜欢的图象在他/她喜欢的音轨播放期间显示。
{82-6_87}在缺省播放目录信息中的DPLI_POB_SRP中的同样的POB的设定例子
在图78、79、82、和83中的例子中,在缺省播放目录信息中包括的DPLI_POB_SRP指定不同的POB文件,不过对于在缺省播放目录信息中的两个或更多个DPLI_POB_SRP可以指定同样的POB文件。这样,可以在播放多个音轨期间显示同样的POB文件,使得可以减少需要标题生产者提供的POB文件的个数。这减少生产一个标题需要的时间和费用。
图87表示通过使在缺省播放目录信息中的某些DPLI_POB_SRP指定同样的POB文件而减少POB文件的个数。在该图中,DPLI_POB_SRP#3和DPLI_POB_SRP#4两个都指定POB020,而DPLI_POB_SRP#2和DPLI_POB_SRP#5两个都指定POB021。
{82-7_88}当播放进行时在前景和背景图象中的改变
图88是一个时序图,表示当由在上述缺省播放目录信息中包括的DPLI_POB_SRP指定的POB用作背景图象和由在音轨管理器中包括的TKI_POB_SRP指示的POB用作前景图象时发生什么样的图象组合。
如从该时序图所见,表示套装产品的护套图象的POB020总共显示3次,亦即在开始时、播放开始后7.875分、和在播放开始后15.75分处。以同样方式,表示记录标签的商标的POB021总共显示3次,亦即在播放开始后的2.625分、10.5分、和18.375分处。当DPLI_POB_SRP如图87所示设置时,重复显示同样的POB,以便能够重复显示诸如护套图象或记录标签商标这样的可重使用的图象。
到此完成TKI、DPLGI、和PLGI的说明。
{69-4_89}POBMG
下面说明在第二实施例中新提供在导播信息中的POB管理器(POBMG)。图89表示POBMG的组成。如图所示,POBMG包括POB管理信息(POBMGI)和POB计数信息(POBCI)#1、#2、…#n。
{69-4_89-1}POBMGI
如图89中虚线所示,POB管理信息(POBMGI)包括占据第0和第一字节的POBMGI识别信息,占据第二和第三字段的保留字段,占据第4和第5字节的POB_Ns字段,和占据第6和第7字段的保留字段。
标识POBMGI的一个ID(根据ISO646的一个字符集代码"A6")写入POBMGI识别信息字段。在范围从"0"到"999"内的一个POB个数写入POB_Ns字段。到此完成POBMGI的说明。
{69-4_89-2}POBCI
下面说明POB计数信息(POBCI)。POB计数信息是管理信息,其为每一个POB单独提供。POB计数信息的位结构如图89中的虚线所示。亦即,POB计数信息包括占据从位号b0到位号b9范围的POB_RCN字段,占据从位号b10到位号b13范围的保留字段,占据从位号b14到位号b15范围的数据存在字段。
{69-4_89-3}POB_RCN
"POB_RCN"字段表示相应于一个POBCI的一个POB的显示是否由该DPLGI、一个PLGI、或一个TKGI指定。当指定相应POB时,说明的个数,亦即指定要显示的POB的TKI的个数作为在"1"到"999"范围内的一个数写入。
如同在第一实施例中,可以删除TKI,使得用户可以自由改变在缺省播放目录信息和播放目录信息中的设定。当删除指定一个特定的POB的一个或者多个TKI时,为该POB的POB引用计数必须按照已经删除的指定POB的TKI的个数减少。另外,当删除缺省播放目录信息或一个PLI时,POB_RCN必须减少已经删除的指定POB的TKI的个数。
当一个POB不是由该DPLGI、一个PLGI、或TKGI指定时,POB引用计数设定为"0"。当其POB引用计数是"0"的一个POB不被一个TKI或播放目录提到时,播放装置可以检测其引用计数个数成为0的POB,并删除存储这种POB的POB文件以减少记录在闪光存储器卡上的静止图象的数量。
当一定的POB具有与一定的音轨很强的关系并且如果这种POB在相关音轨的播放期间不显示的话将没有意义时,则当它们的引用计数个数成为0时删除这种POB以避免浪费使用闪光存储器卡的存储容量。这一点可以应用于POB表示记录在闪光存储器卡上的音轨的歌词的场合。
除当删除一个或者多个TKI外,当通过编辑操作删除由一个DPLI_POB_SRP、一个PLI_POB_SRP、和/或一个TKI_POB_SRP指定的一个POB时,引用计数个数可以以同样方式减少。
{69-4_89-4}数据存在
设定占据位号b14和位号b15的数据存在字段以指示相应于当前POB号码的POB是否存在。当相应POB存在时设定这一字段为二进制值"01"。而当没有这样的POB时,设定值"00"。这里,当存在带有内在值的数据存在时说数据"存在"。
当这一字段指示POB存在和TKI或PLI的删除导致POB引用计数达到0时,播放装置将判定,相应于"0"的POB引用计数应该保持,所以不删除该POB。
如果一个POB有内在值,不管其是否由一个TKI或PLI引用,则相应于这一POB的数据存在字段可以设定为"1"。通过设定相应于其值仅在由一个TKI或播放目录引用时才有的POB的数据存在字段为"0",可以有选择地只保持具有内在值的POB存储在闪光存储器卡中。仅在和一个音轨播放一起显示时才有意义的POB(亦即没有内在值的POB)可以在相应音轨删除时删除,以使闪光存储器卡的存储容量高效率地使用。
到此结束POB管理器(POBMG)的说明。
{69-5}伴随编辑TKI的更新
下面说明在下面5种情形下TKI_POB_SRP和DPLI_POB_SRP如何更新。前4种情形和第一实施例中的相同,所以在第一例(情形1)中,一个音轨被删除。在第二例(情形2),删除一个音轨和记录一个新音轨。在第三例(情形3)中,从多个音轨中选择两个音轨组合成为一个单一的音轨。在第四例(情形4)中,改变音轨的播放顺序。
在删除一个音轨的情形1,相应于该音轨的每一TKI设定为"未使用",并删除在音轨中的TKI_POB_SRP。同时,减少在由这些TKI_POB_SRP指定的POB的POB管理器中的POB引用计数。由在DPLGI或PLGI中的PLI_POB_SRP和/或DPLI_POB_SRP指定的POB不受这一删除的影响。
当DPL_TK_SRP改变以致以不同的次序指定音轨(情形5)时,音轨的播放顺序将改变,使得由这些TKI_POB_SRP指定的POB的显示次序也将改变。
在情形3,优选地组合TKI中的TKI_POB_SRP。这是因为只有在第一TKI中的TKI_POB_SRP对于包括多个TKI的一个音轨有效。当执行一个音轨组合操作时,由后面的音轨的TKI_POB_SRP指定的POB将需要由前面的TKI中的TKI_POB_SRP指定。
当分割一个音轨时(情形4),必须改变该音轨的TKI_BLK_ATR和分割TKTMSRT和BIT,其在第一实施例中说明。另外,在TKGI中指定的TKI_POB_SRP也需要被分成两组,它们分别分配给前一个TKI和由该分割新产生的额外的一个TKI。
{69-6}如何使用TKI_POB_SRP和DPLI_POB_SRP的实际例子
如上所述,音轨管理器和播放目录管理器的数据结构允许用户自由改变AOB文件和POB之间的关系,这通过改变TKI_POB_SRP、DPLI_POB_SRP、和PLI_POB_SRP的设定实现。这意味着,音乐内容的生产商可以提供具有不同数量的静止图象数据的音乐内容给顾客,诸如带歌词的音轨、无歌词的音轨、具有歌词和背景图象的音轨。当然,生产商可以根据这些不同类型的内容收取不同的费用。
当顾客希望购买无歌词的音轨时,生产商可以生产一个SD_Audio目录,它包括在第一实施例中所示的8个AOB和一个音轨管理器,在该音轨管理器的TKI#1到TKI#8中的TKI_POB_SRP指定如图78所示的POB020到POB039。然后,生产商压缩这一目录,将其加密,并把它传输给顾客的个人计算机。注意,顾客的个人计算机可以代之以从一个由记录标签操作的服务器计算机下载音轨(AOB)和相应于这些音轨的静止图象(POB),并在闪光存储器卡31上产生在图70A和70B中表示的SD-Audio目录。
当顾客希望购买带歌词的音轨时,生产商可以生产一个SD_Audio目录,它包括在第一实施例中所示的8个AOB和一个音轨管理器,在该音轨管理器的TKI#1到TKI#8中的TKI_POB_SRP指定如图75和76所示的相应于歌词的POB001到POB019。然后,生产商压缩这一目录,将其加密,并把它传输给顾客的个人计算机。
当顾客希望购买带歌词和背景图象两者的音轨时,生产商可以生产一个SD_Audio目录,它包括在第一实施例中所示的8个AOB;一个音轨管理器,在该音轨管理器的TKI#1到TKI#8中的TKI_POB_SRP指定如图75和76所示的相应于歌词的POB001到POB019;和一个播放目录管理器,其中DPLI_POB_SRP指定在图78中所示的POB020到POB039。然后,生产商压缩这一目录,将其加密,并把它传输给顾客的个人计算机。因为在本实施例中静止图象数据可以通过设定TKI_POB_SRP、DPLI_POB_SRP、和PLI_POB_SRP与音频数据自由关联,因此可以根据与之关联的静止图象数据的量容易地生产具有不同价格的音乐内容。
{90-1_91}用于第二实施例的播放装置
下面说明用于第二实施例的播放装置。该播放装置与第一实施例中的播放装置的不同之处在于,虽然第一实施例中的播放装置是便携装置,但是在第二实施例中的播放装置设计用于固定安装,例如一个汽车立体声装置。
图90表示如何使用第二实施例的播放装置,而图91表示的只是该播放装置的外观。
第二实施例的播放装置与第一实施例的播放装置的不同之处在于,它安装在汽车内,如图90所示;在于它包括一个大的LCD面板;在于它连接到汽车扬声器。由于提供了LCD面板,该第二实施例的播放装置十分适合显示上述各种类型的静止图象数据。
与第一实施例的播放装置的第二个不同在于第二实施例的播放装置具有一个伪随机序列译码器7,其能够解密加密的POB亦即加密音频数据。当一个POB被加密并作为带"POBXXX.SP1"文件名的POB文件存储时,在伪随机序列译码器7中设定在加密键字存储文件"POBSP1.KEY"中的一个键字条目中的FileKey,它然后解密文件"POBXXX.SP1"。
与第一实施例的播放装置的第三个不同在于,该第二实施例的播放装置存储一个包括为显示作为前景和背景图象的POB所需要的处理的程序。在该播放装置中的CPU 10执行这一程序显示图象。
{90-2_92_93_94}
下面说明该第二实施例的播放装置的组成。在图92中所示的播放装置的组成与第一实施例的播放装置的组成的不同之处在于,它包括多个VRAM 61。
多个VRAM 61分别相应于单一图形平面(层)。为一个图形平面的VRAM具有为每一象素设定在0到100%范围内的透明度α。要在第一LCD面板5上显示的图象根据下面给出的等式计算。图93A表示存储在多个VRAM 61中的静止图象是如何组合的。
等式
每一象素的象素值=
在图形平面0中的象素值*(1-α)
+在图形平面1中的象素值*α
为相应于表示歌词的字符的前景图象的部分的透明度α设定为0%。其结果,位置上相应于表示歌词的字符串的背景图象的部分被完全隐藏。反之,为相应于歌词的朴素背景的前景的部分的透明度α设定为100%。这意味着,组合图象具有表示在图形平面1的背景图象的上部显示的表示图形平面0中的歌词的字符串。
通过以这种方式设定透明度,可以产生这样的组合图象,其中歌词页放在背景图象的上面,如图80和81所示。注意,可以以图93A所示以外的其它方式产生组合图象。作为一个例子,歌词可以安排在屏幕的下部,背景图象显示在上部,如图93B所示。
{94-1}前景图象显示过程的流程图
图94是表示前景图象显示过程的流程图。当播放根据由缺省播放目录信息指定的TKI#z开始时,在步骤S402 CPU 10判断在TKI#z中的TKGI内包括的TKI_POB_SRP是否指定任何POB。当TKI_POB_SRP指定一个或者多个POB文件时,处理前进到步骤S403,这里CPU 1 0计数由在TKGI中包括的TKI_POB_SRP指定的POB文件的个数。在步骤S404,CPU 10为每一POB文件计算表示所用显示期间的显示时间"POB_time"。这之后,在步骤S405引用在TKGI中的TKI_POB_SRP,决定为显示这些POB文件所用的显示方式。当TKI_POB_ATR表示顺序方式时,处理从步骤S405前进到步骤S406,这里由第i个TKI_POB_SRP指定的POB文件被显示显示时间POB_time。
在这一点,当由TKI_POB_SRP指定的POB文件的扩展名是"JPG"时,就这样显示该POB。反之,当由TKI_POB_SRP指定的POB文件的扩展名是"SP1"时,则该POB文件处于加密状态,所以CPU 10从保护区读取相应于该POB文件的FileKey,使用该加密键字解密该POB文件,显示该POB。
这之后,在步骤S408,CPU 10判断变量i是否达到在POB_Ns中给定的值。如果没有,则处理前进到步骤S409,这里变量i递增,然后返回到步骤S407。之后重复步骤S406到S409的处理,直到变量i达到在POB_Ns中给定的值。其结果,由在TKGI中的TKI_POB_SRP指定的POB顺序显示。当变量i达到在POB_Ns中给定的值时,该流程图中的处理结束。
当TKI_POB_ATR表示随机方式时,处理从步骤S405前进到步骤S410,这里初始化变量i,到步骤S411,这里CPU 10产生一个在从1到POB_Ns范围内的随机数。在步骤S412,由相应于随机数r的第r个TKI_POB_SRP指定的POB文件显示在步骤S404决定的显示时间POB_time。
这之后,在步骤S413 CPU 10判断变量i是否达到在POB_Ns中给定的值。如果没有,则处理前进到步骤S414,这里变量i递增,然后返回到步骤S411。在步骤S411,CPU 10产生另一个在从1到POB_Ns范围内的随机数r,处理再次前进到步骤S412,这里CPU 10读取由相应于随机数r的第r个TKI_POB_SRP指定的POB文件,并将其显示在步骤S404决定的显示时间POB_time。
如上所述,当由TKI_POB_SRP指定的POB文件的扩展名是"JPG"时,就这样显示该POB。反之,当由TKI_POB_SRP指定的POB文件的扩展名是"SP1"时,则该POB文件处于加密状态,所以CPU 10从保护区读取相应于该POB文件的FileKey,使用该加密键字解密该POB文件,显示该POB。
之后重复步骤S411到S414的处理,直到变量i达到在POB_Ns中给定的值。其结果,由在TKGI中的TKI_POB_SRP指定的POB以随机顺序一个接一个显示。当变量i达到在POB_Ns中给定的值时,该流程图中的处理结束。
当TKI_POB_ATR表示杂乱方式时,处理从步骤S405前进到步骤S415,这里初始化变量i,到步骤S416,这里CPU 10产生一个在从1到POB_Ns范围内的随机数r。
在步骤S418,CPU 10检查新产生的随机数r是否与先前存储的一个使用过的POB号码匹配。如果是,则处理返回到步骤S416,这里重新产生随机数r。如果没有,则处理从步骤S418前进到步骤S419,这里,由相应于该随机数r的第r个TKI_POB_SRP指定的POB文件显示在步骤S404决定的显示时间POB_time。这之后,在步骤S417,CPU 10存储该随机数r作为一个用过的POB号码。
和在随机方式一样,当由TKI_POB_SRP指定的POB文件的扩展名是"JPG"时,就这样显示该POB。反之,当由TKI_POB_SRP指定的POB文件的扩展名是"SP1"时,则该POB文件处于加密状态,所以CPU 10从保护区读取相应于该POB文件的FileKey,使用该加密键字解密该POB文件,显示该POB。当这一显示结束后,在步骤S420 CPU 10判断变量i是否达到在POB_Ns中给定的值。如果没有,则处理前进到步骤S421,这里变量i递增,然后返回到步骤S416。之后重复步骤S416到S421的处理,直到变量i达到在POB_Ns中给定的值。当变量i达到在POB_Ns中给定的值时,结束该流程图中的处理。
{95-1}背景图象显示过程的流程图
上面说明了前景图象显示的过程,下面说明背景图象显示的过程。图95是背景图象显示过程的流程图。该流程图包含和图94的流程图基本同样的处理,不同的地方在于,代替根据在TKGI中的TKI_POB_SRP和TKI_POB_ATR而根据在DPLGI中的DPLI_POB_SRP和DPLI_POB_ATR执行处理。
当选择缺省播放目录信息时,CPU1O执行步骤S502到S505的处理。和在步骤S402到S405一样,CPU 10判断在DPLGI中包括的TKGI内包括的DPLI_POB_SRP是否指定任何POB。当指定一个或者多个POB文件时,CPU 10计数被指定的POB文件的个数,为每一POB文件计算表示所用显示期间的显示时间POB_time,然后决定为显示这些POB文件所用的显示方式。
当DPLI_POB_ATR表示顺序方式时,CPU 1O执行步骤S506到步骤S509。和在步骤S406到S409一样,POB文件按照从包括在DPLGI中的DPLI_POB_SRP中选出的用变量i指示的DPLI_POB_SRP的顺序显示。
当DPLI_POB_ATR表示随机方式时,CPU 10执行步骤S510到步骤S514。和在步骤S410到S414一样,POB文件按照从包括在DPLGI中的DPLI_POB_SRP中选出的用随机数r指示的DPLI_POB_SRP的随机顺序显示。
当DPLI_POB_ATR表示杂乱方式时,CPU 10执行步骤S515到步骤S521。和在步骤S415到S421一样,POB文件按照从包括在DPLGI中的DPLI_POB_SRP中选出的用随机数r指示的DPLI_POB_SRP的随机顺序不重复显示。
{96-1}背景图象显示过程的流程图
到此完成根据DPLGI中的DPLI_POB_SRP执行的背景图象显示过程。下面说明根据PLGI中的PLI_POB_SRP执行的背景图象显示过程。图96是一个流程图,表示根据PLI_POB_SRP的背景图象显示过程。除了根据DPLI_POB_SRP的处理根据PLI_POB_SRP执行的例外,该流程图和图95中的流程图完全相同,所以给该处理同样的标号。不再对图96进行说明。
{94-2_95-2_97A,B,C}LCD面板5上显示屏幕的例子
图97A到97C表示当根据在图94和95中的流程图中所示显示过程显示由TKI_POB_SRP指定的前景图象和由DPLGI指定的背景图象时在LCD面板5上显示什么类型的组合图象。
在图97A的例子中,假定用户指示缺省播放目录信息和假定POB的显示根据在该播放目录中给出的播放次序开始。执行在图94中表示的前景图象显示过程和在图95中表示的背景图象显示过程,并一个接一个地显示由在TKGI中的TKI_POB_SRP指定的要显示的POB和由在DPLGI中的DPLI_POB_SRP指定的要显示的POB。在播放开始后6分的点处,如图80所示组合图象,并且在LCD面板5上显示如图97B所示组合图象。
在开始播放后16分的点处,如图81所示组合图象,并且在LCD面板5上显示如图97C所示组合图象。
{94-2_96-1_98A,B,C}LCD面板5上显示屏幕的例子
图98A到98C表示当根据在图94和96中的流程图中所示显示过程显示由TKI_POB_SRP指定的前景图象和由PLI_POB_SRP指定的背景图象时在LCD面板5上显示何种类型的组合图象。
在图97A的例子中,假定用户指示一个PLI和假定POB的显示根据在该播放目录中给出的播放次序开始。执行在图94中表示的前景图象显示过程和在图96中表示的背景图象显示过程,并一个接一个地显示由在TKGI中的TKI_POB_SRP指定的要显示的POB和由在PLGI中的PLI_POB_SRP指定的要显示的POB。在播放开始后6分的点处,如图85所示组合图象,并且在LCD面板5上显示如图98B所示组合图象。在开始播放后1 6分的点处,如图86所示组合图象,并且在LCD面板5上显示如图98C所示组合图象。
{99_1}第二实施例的记录装置
下面说明该第二实施例的记录装置。该记录装置与第一实施例的不同之处在于它能够记录POB在闪光存储器卡上,能够设定TKI_POB_SRP、DPLI_POB_SRP、和PLI_POB_SRP的值和能够设定TKI_POB_ATR、DPLI_POB_ATR、和PLI_POB_ATR的值。
为执行这些处理,在该第二实施例的记录装置中的CPU 10执行图99所示过程。下面参考图99所示流程图说明由该第二实施例的记录装置执行的记录过程。
在步骤S601,CPU 10初始化在这一过程中的各个变量。这些是变量#x,#y,#z,#u,#vy,和#w。在这些变量中,变量#x用于指定当前正在处理哪一个POB。变量#y用于指定当前正在处理哪一个音轨序列(PLI),变量#z用于指定当前正在处理哪一个音轨(TKI)。变量#u指定正在处理哪一个DPLI_POB_SRP,而变量#vy指示在由变量#y指定的PLI中的哪一个PLI_POB_SRP(PLI#y)正在被处理。变量#w指定由变量#z指定的TKI中的哪一个TKI_POB_SRP(TKI#z)正在被处理。
在初始化这些变量后,CPU 10前进到步骤S602,这里它显示#x。这允许用户用眼看确认在这一POB中的照片、图象或歌词页。在步骤S603,CPU 10要求用户指示在POB#x中的静止图象数据是在整个音轨序列期间显示还是只在一个特定的音轨播放期间显示,然后接收用户的选择。
当用户判定POB#x应该分配给一个音轨序列时,在步骤S604 CPU 10等待用户指示应该显示POB#x的音轨序列。当用户输入他/她的选择时,处理前进到步骤S605,此时CPU 10判断所指示的音轨序列#y是DPLI或是PLI。当音轨序列#y是DPLI时,处理前进到S606,这里在DPLI_POB_SRP#u中设定POB#x,然后到S607,这里根据这一POB#x设定DPLI中的DPLI_POB_ATR#u。
一旦以这种方式设定DPLI_POB_SRP和DPLI_POB_ATR后,CPU 10就在步骤S608递增变量#u(#u→#u+1)和在步骤S609递增变量#x(#x→#x+1)。
当在步骤S605选择PLI时,处理前进到步骤S610,这里在PLI_POB_SRP#vy中设定POB#x为PLI#y,和到步骤S611,这里根据POB#x设定为该PLI的PLI_POB_ATR#vy。这之后,在步骤S612,CPU 10在前进到步骤S609递增变量#x(#x→#x+1)之前递增变量vy(#vy→#vy+1)。
当在步骤S603用户判定POB#x应该分配给一个特定的音轨时,处理前进到步骤S613,这里CPU 10接收用户对这一特定音轨的指示。接着,在步骤S614,CPU 10在为所指示的音轨(Track#z)的TKI#z设定的TKI_POB_SRP#w中设定POB#x。
然后处理前进到步骤S615,这里CPU 10根据POB#x设定TKI#z的TKI_POB_SRP#w,到步骤S616,这里CPU 10递增变量#w(#w→#w+1),到步骤S617,这里CPU 10判断变量#x是否达到在一个POB中的最后号码#n。如果没有,则处理前进到步骤S609,在这里CPU递增变量#x。如果变量#x达到在一个POB中的最后号码#n,则处理前进到步骤S618,这里POB#1到POB#n、包括TKI的TKMG、和包括DPLI和PLI的PLMG都记录在半导体存储器卡上以结束处理。
在这些实施例中,可以有同样的静止图象,诸如艺术家照片或记录标签商标,在播放多个音轨期间作为背景图象显示。这一点只需通过指定在缺省播放目录信息或在一个PLI中相应于这些音轨的DPLI_POB_SRP或PLI_POB_SRP中的静止图象数据即可实现。
仅在某个特定音轨播放期间要与背景图象显示的静止图象数据,诸如歌词页,可以用在该音轨的TKI中的TKI_POB_SRP指定。
上述说明集中于当前认为是实现本发明概念的理想系统,不过在本发明的范围内可以进行几种修改,这一点应该十分明显。下面给出3个这样的例子(a)、(b)、和(c)。
(a)使用在图94、95、96和99中的流程图说明的过程可以通过可以记录在一种介质上分发和销售的程序实现。
(b)本实施例说明表示数据和导播数据是用于音乐内容的情形,不过下面的一点应该是显然的,即这种数据可以用于音频书,即演员或播音员读书的记录。在这种场合,表示书本文字的静止图象数据可以用TKI_POB_SRP作为前景图象理想地指定,而书本的图示可以用DPLI_POB_SRP或PLI_POB_SRP指定。
(c)在该第二实施例中,由DPLI_POB_SRP或PLI_POB_SRP指定的POB用作背景图象,而由TKI_POB_SRP指定的POB用作前景图象,不过也可以使用相反的设定。另外可选的方案是,当不同的POB同时由一个DPLI_POB_SRP或PLI_POB_SRP和一个TKI_POB_SRP指定时,只可以显示这些POB中的一个。作为另一个选择方案,不需要使用"背景图象"和"前景图象"之间的区别。作为一个例子,由一个DPLI_POB_SRP或PLI_POB_SRP指定的POB可以首先显示,而由一个TKI_POB_SRP指定的POB可以然后显示。
第三实施例
虽然第二实施例说明了每一POB在一个TKI或PLI的有效播放期间显示等长时间的情形,但是本实施例说明这样一种情形,即在闪光存储器卡31中存储一个短语时序表和一个高亮度坐标表,以便歌词的显示可以与歌曲的播放恰当同步。
该短语时序表与指定表示歌词的每一部分的POB的TKI_POB_SRP关联,具有表示在一首歌曲中相应短语在什么时间开始和结束的信息。图100A表示短语时序表的一个例子。在这一例子中,"短语定时"指的是一个时期,在该时期内在一个音轨的歌词内给出的一个短语作为该AOB播放的一部分被演唱。这一时期以毫秒精度表示。在更新在第一实施例中说明的播放时间代码之外,播放装置监视在该表内给出的相应于播放时间代码当前值的短语定时。通过以这种方式监视短语定时,播放装置可以知道哪一个POB存储为正被播放的AOB、AOB_ELEMENT、和AOB_FRAME的歌词。使用以这种方式给出以毫秒计的POB的短语定时允许播放装置以毫秒精度同步AOB的播放和歌词的显示。
当用户使用如在第一实施例中说明的拨盘指示一个希望的播放开始时间时,播放装置使用在第一实施例中给出的等式1到3可以找到在哪一个AOB中的哪一个AOB_ELEMENT中的哪一个AOB_FRAME相应于所指示的播放开始时间。播放装置还判断哪一个短语定时包括该指示的播放开始时间,并且使相应于这一短语定时的POB显示。这意味着,当用户使播放从使用拨盘指示的一个希望的开始时,为这一希望位置的一个适当的POB也被显示。注意,虽然本例说的是在短语定时表中给的是时间,但是在短语定时表中也可以代之以给出一个短语应该与之同步的AOB、AOB_ELEMENT和AOB_FRAME的AOB号码、AOB_ELEMENT号码和AOB_FRAME号码。
另一方面,高亮度坐标表与在歌词中使用的字符的显示坐标和相应于这些字符的AOB_ELEMENT和AOB_FRAME被播放的时序关联。图100B表示高亮度坐标表的一个例子。准备这种高亮度坐标表允许播放装置从根据短语定时显示的歌词中显示相应于当前以不同颜色正在播放的AOB_ELEMENT和AOB_FRAME中的歌词的字符。
作为一个例子,当歌词包括短语"Hey hey boy don′t take it slow"时,高亮度坐标表将包括为字符"H"、"e"、"y"、"h"、"e"、"y"、…的显示坐标,其与相应于这些字符的AOB_ELEMENT和AOB_FRAME的播放期间关联。当播放一个AOB时,播放装置改变由在该高亮度坐标表中给出的字符的显示坐标表示的位置的颜色。
因此,播放装置可以以允许用户立即识别当前正在播放该AOB的哪一部分的方式显示歌词。这意味着,记录在一个闪光存储器卡上的音乐可以以和常规卡拉OK音轨同样的方式与高亮歌词的显示一起播放。
在该第三实施例中,提供短语定时表和高亮度坐标表,使能够在音频播放和显示的歌词之间以和常规卡拉OK音轨同样的方式精确同步。虽然本发明完全参考附图说明,但是应该注意,对于熟悉本技术领域的人来说,各种改变和修改将是明显的。因此,除非这种改变和修改离开本发明的范围,否则它们应该作为包括在该范围内构造。
工业应用性
本发明的半导体存储器卡特别适合在消费电子设备领域作为为记录以电子或其它方式销售的音乐或其它材料的记录介质使用。本发明的记录和播放装置能使用户充分使用该半导体存储器卡。