CN1932855A - 半导体存储器卡、记录-播放装置、记录-播放方法 - Google Patents
半导体存储器卡、记录-播放装置、记录-播放方法 Download PDFInfo
- Publication number
- CN1932855A CN1932855A CN 200510007097 CN200510007097A CN1932855A CN 1932855 A CN1932855 A CN 1932855A CN 200510007097 CN200510007097 CN 200510007097 CN 200510007097 A CN200510007097 A CN 200510007097A CN 1932855 A CN1932855 A CN 1932855A
- Authority
- CN
- China
- Prior art keywords
- aob
- playing
- track
- tki
- catalog
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
半导体存储器卡存储组成多个音轨的多个音频对象(AOB)和表示为这些音轨的播放顺序的播放目录信息。作为恢复信息(PLMG_RSM_PL),该半导体存储器卡还存储(1)表示为该半导体存储器卡执行上次播放时使用哪一个播放目录信息的播放目录号码,(2)表示播放的最后音轨的音轨号码,(3)作为以相对所述音轨的开始表达的时间表示播放停止位置的播放时间。
Description
技术领域
本发明涉及一种存储音频数据和控制数据的半导体存储器卡,和涉及与这种半导体存储器卡有关的播放装置、记录装置、播放方法、记录方法、和计算机可读记录介质。特别说,本发明涉及由内容销售服务,诸如电子音乐销售服务作为内容销售的音频数据和控制数据的改进的存储。
背景技术
电子音乐销售允许用户通过因特网购买和接收音乐内容(例如歌和歌集)。这种技术具有极大增加录制音乐市场的潜力,并随着必需的硬件基础设施的实现逐渐成为可能。一种存储从电子音乐销售服务获得的音乐内容的方式是在半导体存储器卡上存储,其便携性使其非常理想。因此,可以期望对这种卡的需求会大大增长。
可以使用各种半导体存储器卡,诸如闪ATA卡和紧致式闪卡(Compact Flash Card)。音乐内容也可以存储到盘介质上,诸如CD-R(紧致式可记录盘)或微型盘(MD)上。尽管有许多种可以用来记录音乐内容的可记录介质,但是只有有限数目的方法来指示应该在何处开始播放一个音乐内容(音轨)。这一操作通常根据下述模式之一执行。
当一个音乐歌集由多个音乐内容(音轨)组成时,主要有两种指示从何处开始播放的方法。第一种方法是使播放从该歌集的第一音轨开始。第二种方法是使用户指示音轨号码然后从所指示的音轨的开始处开始播放。
在这两种方法中的第一种中,播放总是从同一音轨开始,并以同样的顺序通过所有音轨连续进行。如果用户在歌集的播放中途停止,则根据这一方法的重新开始播放将使播放装置返回第一音轨。因此,用户将必须听刚才播放过的音轨。
在第二种方法中,播放从用户指示的音轨开始。当用户在歌集中给定点停止然后再次开始播放时,用户可以从任何音轨重新开始播放,例如从跟随刚才停止的音轨后面的音轨。这意味着,用户不必再一次听从开始起的音轨。然而,在该后一种情形中,用户仍必需进行几种操作,诸如输入音轨号码。这可能引起麻烦,特别如果用户不知道哪一音轨相应于哪一个音轨号码的话。在这种场合,用户可能指示一个错误的音轨,该音轨然后由播放装置播放。
如上所述,当播放停止然后重新开始时,当今所用的两种方法要么强迫用户听从开始起按顺序的所有音轨,或者输入一个播放应该从其开始的一个音轨的音轨号码。这很不理想。
下面的两种方法有时也用于指示播放应该开始的位置。第三种方法是使用户使用播放装置提供的向前或向后搜索功能来指示移动播放位置到一个希望的音轨内的一个希望的开始时间。第四种方法是使用户使用拨盘(或类似物体)指示一个希望的音轨和在该音轨内的一个希望的位置,然后从该位置重新开始播放。因为这两种方法都使用户指示先前的播放进行了多远,因此它们具有和上述第二种方法同样的缺点。
当今的微型盘(MD)播放装置使用一种播放方法,它以比上述第一到第四种方法更加对用户友好的方式指示播放位置。
当用户停止播放一个MD时,表示播放停止位置的恢复信息记录在MD播放机的非易失存储器中。当用户指示播放同一MD时,记录在该MD上的音轨的播放从恢复信息中给出的位置开始。
恢复信息以非易失方式记录在MD播放机内,以便电源的中断不会导致该信息的丢失。这意味着用户可以听一个音乐歌集的一部分,关掉播放机,而仍然可以使播放在停止处的位置恢复。在这一场合,用户不必重复听在歌集开始处的音轨,就像在第一方法中那样,或必须输入一个音轨号码,就像在第二方法中那样,使其成为听包含在一个歌集中的所有音轨的一种理想方式。
然而,对于一个MD,表示一个歌集已经播放多久的恢复信息存储在MD播放机的硬件中。因此,当一个MD从播放机弹出而插入另一个播放机时就会出现问题,第二播放机将从该歌集的第一音轨开始播放该MD上的音轨,和第一方法的方式相同。
作为一个特定的例子,当用户使用第一播放装置听一个歌集的某些音轨,停止播放,然后把盘转移到另一个播放装置上,则该第二播放装置将不存储表示该盘播放到达的位置的恢复信息。其结果,播放将从该歌集的开始处开始,而使用户再次听同样的音轨。
因为在播放一个歌集期间盘很少从一个播放机转移到另一个播放机,因此返回歌集开始处播放或许不是一个有意义的问题。然而,当歌集在记录在一种记录介质上之前接收电子音乐销售时,相信在多种场合下一个歌集将在一个播放机上部分播放,然后转移到另一个上。
电子音乐销售是通过使用户拥有的计算机从用一个记录标签操作的服务器计算机下载一个音乐歌集而实现的。然后用户可以使下载的歌集在他们的计算机上播放。因为现代的个人计算机能够播放音乐内容,所以用户可以在他们的计算机上听他们购买的歌集。假定用户在他/她的计算机上听该歌集后在一个便携播放装置上听它。
在这一场合,便携播放装置不能知道计算机进行的播放有多久,于是该歌集将从开始再次播放。由于用户经历已经由计算机播放的同样的歌曲,因而该用户有可能更快厌倦该歌集,不像如果所有歌曲都播放完的话那样。
随着记录介质变得更小更轻,而其容量更大,其日益可能在一个单一记录介质上记录包括很大数目音轨的歌集。相信这种记录介质将常常在播放装置之间转移。如果在播放大量音轨后返回到开始播放,则这对听众来说非常烦人。
发明内容
本发明的第一个目的是提供一个半导体存储器卡,它能使播放从先前停止的位置处恢复,不需播放同样的记录材料,也不需用户必须指示播放位置,甚至当半导体存储器卡在播放装置之间转移时也是如此。
本发明的第二个目的是提供一个半导体存储器卡,它能使播放装置重新开始曾在一个不同的播放装置上开始的一个歌集的播放,而不需播放同样的记录材料。
根据本发明的一个方面,提供一种半导体存储卡,存储多个音频对象、多个播放目录和多个播放状态信息片,
其中为每个音频对象提供唯一的标识信息,
每个播放目录用音频对象的唯一标识信息显示音频对象的播放顺序,
每个播放状态信息片对应一个播放目录,并且是未播放信息、恢复信息或播放完成信息,
未播放信息表示对应的播放目录还未被播放,
恢复信息表示对应的播放目录的恢复位置,和
播放完成信息表示对应的播放目录的播放已经完成。
根据本发明的一个方面,提供一种用于半导体存储卡的记录-播放装置,该记录-播放装置包括:
接收装置,能够从用户接收播放目录说明和播放停止说明;
播放装置,用于当对应于指定的播放目录的播放状态信息片是恢复信息时,根据由指定的播放目录示的播放顺序,在由恢复信息表示的指定播放目录的恢复位置恢复播放音频对象;和
记录装置,用于(i)当接收装置在根据播放目录进行播放的中途接收到播放停止说明时,写入恢复信息作为对应于播放目录的播放状态信息片,以表示播放停止位置以作为恢复位置,和(ii)当根据播放目录播放完成,写入播放完成信息作为对应于播放目录的播放状态信息片。
根据本发明的一个方面,提供一种用于半导体存储卡的记录-播放方法,包括:
接收步骤,能够从用户接收播放目录说明和播放停止说明;
播放步骤,用于当对应于指定的播放目录的播放状态信息片是恢复信息时,根据由指定的播放目录示出的播放顺序,在由恢复信息表示的指定播放目录的恢复位置恢复播放音频对象;和
记录步骤,用于(i)当接收步骤在根据播放目录进行播放的中途接收到播放停止说明时,写入恢复信息作为对应于播放目录的播放状态信息片,以表示播放停止位置以作为恢复位置,和(ii)当根据播放目录播放完成,写入播放完成信息作为对应于播放目录的播放状态信息片。
可以使用下述半导体存储器卡实现第一目的,该半导体存储器卡存储:一个音频序列,其内安排有多个音频对象;恢复信息,表示用于当音频序列的播放在该音频序列中途恢复时的一个恢复位置。
假定一个音频序列相应于一个音乐歌集,用户在一个播放装置上听该歌集的第一部分。然后如果转移该半导体存储器卡到另一个播放装置上,则该播放装置将能够通过参考由恢复信息表示的播放恢复位置而在停止位置重新开始该歌集的播放。
基于恢复信息的播放的恢复不需用户做任何特别的操作。这意味着当转移半导体存储器卡到另一播放装置时用户不必麻烦指示一个音轨(音频对象)。
恢复信息可以至少包括类型1位置信息和类型2位置信息中的一种,类型1位置信息表示根据一个用户位置设定的一个类型1恢复位置,而类型2位置信息表示一个类型2恢复位置,当该音频序列播放上次停止时自动设定。
这里,可以给在音频序列中的每一个音频对象提供唯一的识别信息、使用一个音频对象的识别信息表示类型1恢复位置的类型1位置信息、使用一个音频对象的识别信息表示类型2恢复位置的类型2位置信息和表示从一个音频对象的开始到类型2恢复位置的一个偏移的时间信息。
通过上述构造实现第二目的。类型2位置信息包括从一个音频对象的开始的偏移。当半导体存储器卡在播放装置之间转移时,第二播放装置可以在紧接由第一播放装置停止播放的点的位置开始播放。这意味着,用户可以开始听在第一播放装置上的一个歌集,停止播放,把该半导体存储器卡转移到另一播放装置,然后使播放从紧接停止位置后的位置继续。不像常规技术,用户不必每当在播放装置之间转移半导体存储器卡时不得不听同样的音轨。
从电子音乐销售服务得到的歌集常常在不同的播放装置之间转移。然而,在这种场合,在把歌集转移到另外的播放装置时用户将不必听同样的音轨。
附图说明
从下面的说明,结合说明本发明的一个特定实施例的附图,本发明的这些以及其它目的、优点和特征显见。附图中:
图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文件之间的对应;
图10表示在一个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表示在图17中所示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表示一个模式,其中类型1AOB出现在前一音轨的末尾和类型1AOB出现在下一音轨的开始;
图32B表示一个模式,其中类型1AOB出现在第一音轨的末尾和类型2AOB出现在下一音轨的开始;
图32C表示一个模式,其中类型1和类型2AOB出现在第一音轨的末尾和类型1AOB出现在下一音轨的开始;
图32D表示一个模式,其中类型1和类型2AOB出现在第一音轨的末尾和类型2和类型1AOB出现在下一音轨的开始;
图32E表示一个模式,其中两个类型2AOB出现在第一音轨的末尾和类型1AOB出现在下一音轨的开始;
图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表示在第二实施例中的播放目录管理器和音轨管理器的内部组成;
图70表示播放目录管理器信息的详细组成;
图71表示当第二实施例的闪存储器卡在多个播放装置之间转移时PLMG_AP_PL和PLMG_RSM_PL如何设定;
图72表示用于接收PLMG_AP_PL的用户设定和驱动设定的菜单屏幕;
图73是一个流程图,表示基于PLMG_AP_PL和PLMG_RSM_PL执行的播放位置决定过程;
图74表示数据结构,其用于当PLI_RSM_PL(DPLI_RSM_PL)的前6个字节为DPLI存储在DPLGI中、为PLI存储在PLGI时;
图75表示为缺省播放目录信息和每一个PLI如何设定PLI_RSM_PL(DPLI_RSM_PL);
图76表示由在第一实施例参考的图41中表示的播放目录指示的播放顺序组成的音轨序列;
图77表示一个菜单屏幕的例子,它为在图76中的播放范围(1)到(3)已经播放的场合表示每一个播放目录连同PLI_RSM_PL的设定;
图78表示在本发明的第四实施例中的DPLGI、PLGI、TKGI的数据格式。
具体实施方式
下面参考附图说明本发明的一个实施例的半导体存储器卡(闪存储器卡)。
后面的段落使用以下面给出的计数法得出的标号以层次结构安排。
{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/IEC9293中说明。
图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”是“Secure Audio(安全音频)”的缩写,表示该文件中存储的内容需要版权保护。注意,虽然在图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 13818-7:1997(E)“信息技术-运动图象和关联的音频信息的一般编码-第7部分高级音频编码(AAC)”中详细说明MPEG2-AAC。
应该注意,音频对象只能按照MPEG2-AAC使用在图11A中所示的参数表中的参数压缩,所述参数表在ISO/IEC 13818-7中定义。这一参数表由“参数”列、“值”列、和“评论”列组成。
参数列中的标记符号“概要文件”表示只可以使用LC-概要文件,其在ISO/IEC 13818-7中规定。参数列中的标记符号“采样频率”表示可以使用采样频率“48kHz,44.1kHz,32kHz,24kHz,22.05kHz,和16kHz”。
参数列中的标记符号“一帧的数据块数目”表示使用的头标对毛数据块的比率。
注意,虽然这一解释说明了按照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的组成。
图12中的第一层表示总组成,而第二层表示一个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表示在采样频率和一个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_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×2/8)到36KB(=144Kbps×2/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的开始和结束位置由包含在导播数据中的位表示。在本说明书的后面详细说明这些位。
到此完成在一个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”的每一个相应于一首不同的歌。图16的第六级是一个由音轨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”包括播放目录管理器,而文件“SD_Audio.TKM”包括音轨管理器。
如作为解释表示数据的一部分时提到的,多个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文件。
记住这一点,从图19可以看出,TKI#1相应于文件“AOB001.SA1”,TKI#2相应于文件“AOB002.SA1”,TKI#3相应于文件“AOB003.SA1”,TKI#4相应于文件“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偏移)/簇长度
偏移v=(从AOB_ELEMENT#1到AOB_ELEMENT#y-1的全部TMSRT条目+DATA偏移)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设置为“音轨头部”,TKI#7的TLK_BLK_ATR设置为“音轨结尾”,而TKI#5和TKI#6的TLK_BLK_ATR设置为“音轨中部”。这意味着相应于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-2AAC(带ADTS头标)编码AOB时,值“0000b”写入该字段,而当按照MPEG-第3层(MP3)编码AOB时,值“0001b”写入。当按照窗口介质音频(WMA)编码AOB时,值“0010b”写入该字段。
编码AOB时使用的位速率写入在位b15到位b8之间的8位字段。当按照MPEG-2AAC(带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的详细说明可以在ISO3901:1986“文献-国际标准记录代码(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_23A-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_1st_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
到此结束对在TKI中包括的所有信息的说明。下面说明在下面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记录在文件“AOB003.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文件“AOB003.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_33A,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所示,所示播放目录管理器包括:播放目录管理器信息(PLMGI),用于管理存储在闪存储器卡31中的播放目录;缺省播放目录信息(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为DPL_TK_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_SRP#8设定“音轨”。换句话说,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}缺省播放目录和播放目录信息的设定例子
图41使用和图40同样的记号表示缺省播放目录和播放目录信息的设定例子。在图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,此情形是在部分删除一个音轨后记录一个新音轨。图45A和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_TK IN和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)时缺省播放目录信息的更新。图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到DPL_TK_SRP#6的内容每一个向下移动一位,而用粗框线表示的DPL_TK_SRP#7的内容被复制到DPL_TK_SRP#3中,如图46A和46B所示。TKI也更新,如图29A和29B所示。
{17-9_40-6_47A,B}分割音轨
下面说明当分割音轨(情形4)时缺省播放目录信息的更新。
图47A和47B表示分割一个音轨的例子。这些图在很大程度上和用于说明分割TKI的图33A和33B相同。在图47A和47B中的第二、和第三级与图33A和33B中的前两级一样。这些图之间的差别在于,在图47A和47B中的第一级表示缺省播放目录信息,其中DPL_TK_SRP#8设定为“未使用”,其与TKI#2相关,它也设定为“未使用”。
如果像在图33A和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将被指示在该音轨表内播放,如图50B所示。如果用户再次按压“>>”键字,则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”,与拨盘转动的量保持一致。
通过允许用户以这种方式改变播放时间代码,播放装置能使用户只通过转动拨盘指示音轨中任何播放时间代码。如果用户然后按压“Play”键字,则将从根据等式2和等式3找到的位置开始播放AOB。
通过在音轨分割期间使用拨盘,用户可以精细调整用作分割边界的播放时间代码。
{52-1}播放装置的内部构造
下面说明播放装置的内部构造。图52示出这一内部构造。
如图52所示,播放装置包括一个卡连接器1,用于连接该播放装置到闪存储器卡31;一个用户接口单元2,它连接到键字板和拨盘;RAM3、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是一个为存储在验证区中的“AOBSA1.KEY”中包含的多个FileKey中只相应于当前被指示播放的AOB文件的那些FileKey的保留区域。
{52-5}双缓冲器15
双缓冲器15是一个输入/输出缓冲器,它在并行执行输入处理和输出处理时使用,输入处理是连续输入从闪存储器卡31读取的簇数据(在一簇内存储的数据)的处理,而输出处理是从簇数据中读取AOB_FRAME并连续输出这些AOB_FRAME到伪随机序列译码器7的处理。
双缓冲器15连续释放由已经作为AOB_FRAME输出的簇数据占据的区域,因此保证这些区域为下一要读取的簇存储使用。这也就是说,在双缓冲器15中的区域使用环指针周期保证为存储簇数据使用。
{52-5_53_54A,B}用双缓冲器15的输入和输出
图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存储在双缓冲器15中,而读位置①②③④用读指针连续指示,如图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”。如果不是,则在步骤S11CPU在返回步骤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,CPU10监视为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,其然后由从C解码器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_tine”增加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的更新增加在ICD面板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-10_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中的TKI_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}记录装置的处理
下面参考图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,并将其存储在缺省播放目录信息中。之后,在步骤S205CPU 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上。
第二实施例
{69-1}第二实施例中的播放目录管理器的总组成
该第二实施例涉及对在第一实施例中的半导体存储器卡的改进,该半导体存储器卡允许播放装置恢复播放,不需重复前面播放过的音轨。图69表示在该第二实施例中的播放目录管理器和音轨管理器的内部组成。在该第二实施例中的播放目录管理器和音轨管理器与在图17中所示的播放目录管理器和音轨管理器的不同之处在于,播放目录管理器信息(PLMGI)的组成在图69中清楚地表示出来,而不像在图17中那样。
在PLMGI中最重要的是PLMG_RSM_PL。它表示播放恢复位置,其存储在半导体存储器卡中以使播放装置恢复播放内容而不需重复播放同样的数据。
{70-1}播放目录管理器信息的详细组成
图70表示播放目录管理器信息的详细组成。如在图中所示,PLMGI有一个PLMG_ID字段,它占据第0和第一字节;占据第二和第三字节的保留字段;占据第四到第十一字节的SDA_ID字段;占据第十二和第十三字节的VERN字段;占据第十四和第十五字节的PLMG_PL_Ns字段;占据第十六到第十九字节的PLMG_AP_PL字段;占据第二十到第二十七字节的PLMG_RSM_PL字段;占据第二十八和第二十九字节的PLMG_APP_ATR字段;占据第三十和第三十一字节的PLMG_FCA字段;占据第三十二和第三十三字节的TKI_Ns字段;和占据第三十四和第三十五字节的保留字段。在播放目录管理器的这些字段中,在该第二实施例中PLMG_AP_PL和PLMG_RSM_PL最为重要。
{70-2}PLMG_AP_PL和PLMG_RSM_PL以外的信息
下面首先说明播放目录管理器中PLMG_AP_PL和PLMG_RSM_PL以外的字段。
设定PLMG_ID为“A1”(根据ISO646标准设定的一个字符串)以表示当前信息是PLMGI。
设定SDA_ID为“SD-AUDIO”(根据ISO646标准设定的一个字符串)以表示当前播放目录管理器是按照SD-AUDIO性能说明的数据。
在VERN字段中设定为所用的SD-AUDIO性能说明的版本号。图70中的虚线h71表示该版本号的位组成。由位b7到b0组成的字段用于存储版本号。当例如当前播放目录管理器的版本号是“版本0.9”时,则把“09h”写入该字段,而当版本号是“版本1.0”时,则把“10h”写入该字段。由位b15到b8组成的字段为将来使用保留。
由PLMG管理的播放目录的数目,也就是说记录在当今闪存储器卡上的播放目录的数目写入PLMG_PL_Ns字段。
表示记录在当今闪存储器卡上的应用类别的应用类别ID写入PLMG_APP_ATR字段。当如在第一实施例中,存储在当今闪存储器卡中的应用是音乐时,在该字段中写入值“01h”。
当记录在当今闪存储器卡上的应用是卡拉OK软件时在该字段中写入值“02h”,当该应用是表示数据时,在该字段中写入值“03h”,而当该应用是一个音频书时,在该字段中写入值“04h”。
当应用类别ID是“02h”时,音频数据作为卡拉OK数据记录在当今闪存储器卡上,于是为背景(backing)音轨使用右通道,而为歌声(vocal)音轨使用左通道。当以这一方式记录音频数据时,播放装置可以通过在左右通道上为右通道播放音频数据而播放卡拉OK支持音轨。
PLMG_FCA为将来使用保留。
表示TKI数目的一个整数,就像在第一实施例中一样,写入TKI_Ns字段。这一数值在从“1”到“999”的范围内给出。
到此完成播放目录管理器中除PLMG_AP_PL和PLMG_RSM_PL以外的字段的说明。
{70-3}PLMG_AP_PL
PLMG_AP_PL表示当当前闪存储器卡被加载到播放装置中并且该播放装置被激活时被自动读取的播放目录的号码和在该播放目录中要被自动播放的第一音轨的号码。图70中的虚线h72表示PLMG_AP_PL的4个字节的位组成。在位b31和b26之间的字段和在位b15和b8之间的字段为将来使用保留。位b7到b0形成一个播放目录号码字段,其中,将被自动读取的播放目录的号码在“1”到“99”(以十进制)的范围内给出。写入该字段内的号码是播放目录信息(PLI)的号码,其在第一实施例中说明。为指示缺省播放目录信息,写入号码“0”。
位b25到b16形成一个音轨号码字段,其中给出从由该播放目录指定的多个音轨中被自动播放的音轨的号码。在该字段中写入的号码是音轨号码,其已在第一实施例中说明。在PLMG_AP_PL的字段中的值可以由用户自由设定,但当PLMG_AP_PL不用时必须设定为“0”。
{70-4}PLMG_RSM_PL
当已经为记录在闪存储器卡上的一个或者多个AOB文件执行播放时,PLMG_RSM_PL将包括一个播放目录号码,表示为先前播放闪存储器卡的数据而使用的播放目录;一个音轨号码,表示根据该播放目录播放的最后音轨的号码;和播放时间,表示播放停止在由该音轨号码指示的音轨中的哪一点。
在图70中,虚线h73表示PLMG_RSM_PL的位组成。位号b31到位号b0的位组成和PLMG_AP_PL相同。为前次播放使用的播放目录的号码作为在从“0”到“99”范围内的一个值写入播放目录号码字段,其占据从位号b7到位号b0的区域。由该播放目录指定的各种音轨中被播放的最后音轨的号码写入音轨号码字段,其占据从位号b25到位号b16的区域。
不像PLMG_AP_PL的位组成,PLMG_RSM_PL从位号b32到位号b63的区域形成一个播放时间字段。由音轨号码指定的音轨的前次播放停止的时刻以毫秒精度写入该字段。注意,当用户不使用PLMG_RSM_PL时,必须在PLMG_RSM_PL的所有字段中设定“0”。
{70-4_71}当闪存储器卡在播放装置之间转移时PLMG_RSM_PL的设定
下面说明当该第二实施例的闪存储器卡在播放装置之间转移时PLMG_AP_PL和PLMG_RSM_PL如何设定。图71表示当该第二实施例的闪存储器卡在播放装置之间转移时PLMG_AP_PL和PLMG_RSM_PL如何设定。
在图71中,闪存储器卡在多个播放装置之间转移,这些播放装置由一个标准个人计算机、一个便携播放装置和一个汽车内播放装置组成。注意,给这些播放装置的每一个装备在第一实施例中说明的播放装置和记录装置的功能。
本解释说明以和图16中同样方式存储包括TrackA到TrackE的AOB文件的闪存储器卡。
假定该第二实施例的闪存储器卡首先装入个人计算机200中,该卡记录有在第一实施例中说明的表示数据和导播数据。在这之后假定,个人计算机200用指示缺省播放目录信息的播放目录号码“0”和指示TrackC的音轨号码“3”设定PLMG_AP_PL。在该例中,用户使闪存储器卡上的AOB文件以TrackA、TrackB、TrackC的顺序播放,并在播放时间为5.5分的TrackC的播放中的点3分31秒处停止播放。在这种情形下,个人计算机200把指示缺省播放目录信息的播放目录号码“0”和指示TrackC的音轨号码“3”写入PLMG_RSM_PL字段。此外,个人计算机200还把表示为TrackC停止播放的点的值“00:03:31:000”写入PLMG_RSM_PL。这之后,用户从个人计算机200中取出闪存储器卡,如箭头my71所示,将其装入便携播放装置100中。
在第一实施例中,播放装置(便携播放装置100)从由缺省播放目录信息指示的TrackA中的第一个AOB_FRAME播放。然而,在该第二实施例中,在播放目录管理器信息中提供有PLMG_AP_PL和PLMG_RSM_PL,使得播放装置可以从按照这一信息的内容的任何一个AOB_FRAME开始播放。
因为个人计算机200在播放目录号码中设定值“0”以指示缺省播放目录信息、在音轨号码中设定值“3”以指示TrackC和在播放时间中设定“00:03:31:000”,因此便携播放装置100可以知道播放已经执行到缺省播放目录信息中的TrackC中的3分31秒的点处,应该从TrackC中3分31.001秒的点进行播放。
假定用户在TrackC的播放开始后戴上连接在便携播放装置上的耳机离开家。
在本例中,用户听完TrackC,然后听TrackD的第一部分,在TrackD的播放中10分30秒的点停止播放。在这一场合,便携播放装置100更新PLMG_RSM_PL的内容,它在播放目录号码中写“0”以指示缺省播放目录信息、在音轨号码中写“4”以指示TrackD、在播放时间中写“00:10:30:000”以指示播放停止在TrackD播放中10分30秒的点。另一方面,不重写PLMG_AP_PL中的内容,使得播放目录号码保持为“0”以指示缺省播放目录信息和音轨号码保持为“3”以指示TrackC。
这之后,假定用户从便携播放装置100中取出闪存储器卡,并如图71中的箭头my72所示,将其装入汽车内的播放机300中。
因为便携播放装置100在播放目录号码中设定值“0”以指示缺省播放目录信息、在音轨号码中设定值“4”以指示TrackD和在播放时间中设定“00:10:30:000”,因此汽车内播放机300可以知道播放已经进行到缺省播放目录信息中TrackD中的10分30秒的点,应该从TrackD的10分30.001秒的点开始播放。
TrackD的播放从该点开始,并在用户再次停止播放之前继续9分30秒。因为TrackD还留有一部分,因此在PLMG_RSM_PL中的播放目录号码和音轨号码保持不变,只有播放时间使用值“00:20:00:000”更新。
如上所述,当闪存储器卡从个人计算机200取出,装入便携播放装置100中时,播放从紧接由个人计算机200停止播放的点开始。
以同样方式,当闪存储器卡从便携播放装置100中取出,装入汽车内播放机300中时,播放从紧接由便携播放装置100停止播放的点开始。这意味着闪存储器卡可以从个人计算机200转移到便携播放装置100,然后转移到汽车内播放机300内而无需两次播放同样的数据。
{70-5}当编辑TKI时PLMG_AP_PL和PLMG_RSM_PL的更新
不再进一步给PLMG_AP_PL和PLMG_RSM_PL进行解释。代之以在下面说明如何为在第一实施例中说明的4种编辑操作更新PLMG_AP_PL和PLMG_RSM_PL的内容。有删除一个音轨的情形1,组合两个音轨的情形3,分割一个音轨为两个音轨的情形4和重新安排音轨播放顺序的情形5。
在情形1,删除由PLMG_AP_PL和PLMG_RSM_PL指定的音轨,设定在播放目录管理器内的PLMG_AP_PL和PLMG_RSM_PL中给出的音轨号码,以便指示在指示的播放目录中后随被删除音轨的音轨。在PLMG_RSM_PL中的播放时间也设定为“00:00:00.000”以指示这一后随音轨的开始。
当在情形3时,组合由PLMG_AP_PL和PLMG_RSM_PL指定的音轨与另一音轨,设定在播放目录管理器内的PLMG_AP_PL和PLMG_RSM_PL中给出的音轨号码,以便指示在指示的播放目录中组合音轨的位置。
当在情形4时,分割由PLMG_AP_PL和PLMG_RSM_PL指定的音轨,设定在播放目录管理器内的PLMG_AP_PL和PLMG_RSM_PL中给出的音轨号码,以便指示在指示的播放目录中被分割的音轨的前面部分或后面部分的位置。比较播放时间和分割边界,并当播放时间在分割边界之前时在PLMG_RSM_PL中设定相应于被分割音轨的前面部分的音轨的音轨号码。当播放时间在分割边界之后时在PLMG_RSM_PL中设定相应于被分割音轨的后面部分的音轨的音轨号码。
当在情形5时,改变由在所指示的播放目录内的PLMG_AP_PL和PLMG_RSM_PL指示的音轨的位置,设定在播放目录管理器内的PLMG_AP_PL和PLMG_RSM_PL中给出的音轨号码,以便指示在指示的播放目录中该音轨的新位置。
虽然上面的解释说明当编辑音轨时PLMG_AP_PL和PLMG_RSM_PL的更新,但是PLMG_AP_PL和PLMG_RSM_PL的设定可以当执行音轨编辑时简单地清除。
{72-1}如何使用PLMG_RSM_PL、PLMG_AP_PL的设定
下面说明该第二实施例的播放装置。该播放装置与在第一实施例中说明的播放装置有3点主要的差别。
第一差别是该播放装置接收PLMG_AP_PL的设定和来自用户的初始设定。图72表示接收PLMG_AP_PL和初始设定的用户输入所用的菜单屏幕。
如图72所示,通过选择“从先前位置恢复播放”或“从喜欢的音轨开始”中的一个字符串,用户可以使播放装置在装入闪存储器卡时或者引用PLMG_AP_PL,或者引用PLMG_RSM_PL。在该例中,用户“喜欢的音轨”是由PLMG_AP_PL中的播放目录号码和音轨号码指定的音轨。
当用户选择这些字符串中的一个时,播放装置设定一个适当的标记。该标记(称为“驱动标记”)表示应该从PLMG_AP_PL中给出的播放目录号码和音轨号码指定的音轨开始播放,还是应该从PLMG_RSM_PL中给出的播放目录号码、音轨号码和播放时间指定的音轨开始播放。当用户选择“从先前位置恢复播放”时,驱动标记设定为“开”,以便当装入闪存储器卡时,播放装置参考PLMG_RSM_PL,从先前停止播放的点开始播放数据。当用户选择“从喜欢的音轨开始”时,驱动标记设定为“关”,以便当装入闪存储器卡时,播放装置开始从在PLMG_AP_PL中指示的音轨播放。
在图72中表示的菜单屏幕还允许用户设定他/她喜欢的音轨。当用户使用键字板执行输入操作时,就在闪存储器卡上写PLMG_AP_PL,以便表示所指示的播放目录和音轨。注意,可以以其它方式设定驱动标记,诸如使用在播放装置上提供的双列直插式组件开关或按钮开关。
{56_57_58-1}更新PLMG_RSM_PL
与第一实施例的第二个差别是,当用户按压“Stop”键字时,第二实施例的播放装置更新PLMG_RSM_PL的设定。在第一实施例中,按压在图56、57和58的任何一个流程图中的“Stop”键字都会导致在步骤S31、步骤S42、或步骤S54给出判定“是”并结束在该流程图中的处理。
然而,在第二实施例中,播放装置将设定PLMG_RSM_PL中的值。更详细说,播放装置指定当前播放使用的播放目录的播放目录号码和相应于当前播放的AOB的音轨号码,并把这些写入PLMG_RSM_PL。播放装置还参考在播放停止点的变量play_time(其在第一实施例中说明)的值并在PLMG_RSM_PL中设定为播放时间。
除当按压“Stop”键字时外,播放装置也可以在用户按压“Pause”键字时更新PLMG_RSM_PL的设定。播放装置也可以在电池的残留电压低时更新在PLMG_RSM_PL中的播放目录号码、音轨号码和播放时间的设定。其结果,可以在PLMG_RSM_PL中为播放不由用户按压“Stop”键字停止而因为播放装置的电池电量不足停止而设定有效信息。
{73-1}播放位置指定过程
下面说明与第一实施例的第三差别。在第一实施例中,AOB文件以由播放目录指定的顺序播放。然而,在该第二实施例中,播放从根据在图73中所示过程决定的播放位置开始执行。下面说明根据PLMG_AP_PL和PLMG_RSM_PL决定播放位置的过程。这一说明参考图73中的流程图。
一旦激活该流程图中的处理,在步骤S301 CPU 10参考使用在图72中的菜单屏幕设定的驱动标记决定在装入闪存储器卡时应该参考PLMG_AP_PL和PLMG_RSM_PL中的哪一个。
当驱动标记指示PLMG_AP_PL时,处理从步骤S301前进到步骤S302。在步骤S302,CPU 10引用PLMG_AP_PL,指定由在用播放目录号码指定的播放目录中的音轨号码指定的音轨的TKI作为TKI#z,其在第一实施例中说明。然后CPU 10开始播放相应于TKI#z的AOB文件#z。
当驱动标记指示,优先级应该给与PLMG_RSM_PL时,处理从步骤S301前进到步骤S303。在步骤S303,CPU 10从播放目录管理器信息读取PLMG_RSM_PL,在步骤S304 CPU 10判别在该PLMG_RSM_PL中的播放目录号码、音轨号码、和播放时间是否有效。
当PLMG_RSM_PL没有恰当设定最后停止播放的时间,或当在读取由该PLMG_RSM_PL指示的簇期间发生错误时,则CPU 10判定该PLMG_RSM_PL无效。然后处理将从步骤S304前进到步骤S302,在这里CPU 10根据PLMG_AP_PL开始播放。
当在PLMG_RSM_PL中的播放目录号码、音轨号码、和播放时间有效时,处理从步骤S304前进到步骤S305,这里CPU 10判别在PLMG_RSM_PL中给出的播放时间的值和由写入在PLMG_RSM_PL中的音轨号码指示的音轨的播放时间(TKI_PB_TM)是否相同。如果这两个值不相等,则由该音轨号码指示的音轨的一部分还需播放,于是在步骤S306CPU指定由在PLMG_RSM_PL中的音轨号码指示的TKI作为TKI#z,并在步骤S307 CPU 10指定AOB_FRAME#x和AOB_ELEMENT#y,从它们播放应该根据在PLMG_RSM_PL中给出的播放时间在相应于该TKI的AOB文件内开始。
为指定相应于一个音轨内任何特定的播放开始时间的AOB_ELEMENT#y和AOB_FRAME#x的过程在第一实施例中使用等式1到3说明。CPU 10使用这些等式计算AOB_ELEMENT#y和AOB_FRAME#x,然后在步骤S308开始从在AOB文件#z中的AOB_ELEMENT#y中的AON帧#x开始播放。
当播放时间的值等于TKI_PB_TM时,在步骤S305给出判断“是”,处理前进到步骤S309。然后CPU 10判别在PLMG_RSM_PL中的音轨号码是否等于在播放目录管理器中给出的TKI_Ns。如果不是,这意味着在由播放目录号码指定的播放目录中至少有一个音轨还需播放,于是处理从步骤S309前进到步骤S311。在步骤S311,跟随由在PLMG_RSM_PL中的音轨号码指定的TKI的TKI被指定为TKI#z,而在步骤S312 CPU 10从相应于TKI#z的AOB文件#z的开始处开始播放AOB。
等到TKI_PB_TM等于播放时间并在PLMG_RSM_PL中给出的音轨号码等于TKI_Ns时,可以假定,由在PLMG_RSM_PL中的播放目录号码指示的播放目录已经被全部播放,于是播放装置然后接收要播放的下一播放目录的用户输入。
对于本实施例,PLMG_RSM_PL作为播放恢复信息记录在半导体存储器卡上。这一信息表示该半导体存储器卡先前播放了多久,以便当把该半导体存储器卡从一个播放装置中取出并装入另一个播放装置中时,该第二播放装置可以从紧接第一播放装置结束播放的点的位置开始播放。
其结果,当用户在第一播放装置上听包括TrackA到TrackE的音乐歌集的一部分,停止播放,然后使该歌集在一个不同的播放装置上播放时,该第二播放装置可以参考表示前次播放停止的点的PLMG_RSM_PL,于是知道精确到毫秒级的该歌集的哪一部分已经播放。播放装置因此可以从紧接播放停止的点的位置恢复播放。这意味着用户不必听同样的音轨,即使当半导体存储器卡从一个播放装置转移到另一个。
第三实施例
{74-1}DPLI_RSM_PL,PLI_RSM_PL
在该第三实施例中,给DPLI和每一个PLI提供它们自己的播放恢复信息,DPLI_RSM_PL或PLI_RSM_PL,以表示该播放目录先前结束在哪一点。图74表示具有在DPLGI中的DPLI_RSM_PL的缺省播放目录信息和具有在PLGI中的PLI_RSM_PL的PLI。
DPLI_RSM_PL(PLI_RSM_PL)只包括音轨号码和播放时间,所以与PLMG_RSM_PL的不同之处在于播放目录号码不是必需的。作为另一个差别,当在由DPLI或一个PLI指示的播放顺序中的所有音轨完全播放完时,在DPLI_RSM_PL(PLI_RSM_PL)中的音轨号码设定为“FF”以表示该播放目录已完全播放。
下面说明第三实施例的播放装置。
当中途停止由在一个PLI的播放顺序中指定的音轨的播放时,播放装置以和在第二实施例中同样的方式在PLMG_RSM_PL中写入该PLI的播放目录号码、当前音轨的音轨号码、和播放时间。然而,作为一个差别,该播放装置还在相应于该播放目录号码的PLI_RSM_PL中写入音轨号码和播放时间。
以和第一实施例相同的方式,用户可以指示一个要播放的音轨。然而,在该第三实施例中,播放装置将为所指示的播放目录引用PLI的PLI_RSM_PL。当在该播放目录的PLI_RSM_PL中未给出音轨号码和播放时间的值时,播放装置从在PLI中给出的播放顺序中的第一音轨的开始处开始播放。相反,当在该PLI_RSM_PL中给出音轨号码和播放时间的值时,播放装置从由该音轨号码和播放时间指示的位置开始播放在该PLI中给出的播放顺序中的音轨。
{74-2_75_76}
图75表示DPLI的DPLI_RSM_PL和几个PLI的PLI_RSM_PL如何设定。图76表示由在图41中示出的播放目录指定的播放顺序组成的一个音轨序列,其在第一实施例中曾经参考。
音轨序列分别由DPLI、PLI#1、和PLI#2指定,在图76中的播放范围(1)到(3)表示这些音轨序列已经播放的部分。
下面说明当为已经播放完播放范围(1)到(3)的播放指示DPLI、PLI#1、或PLI#2中之一时播放将从什么地方开始。
{74-3_75_76}
由DPLI指示的音轨序列的播放先前执行到TrackC的中间的点,所以在DPLI中的DPLI_RSM_PL中,在音轨号码和播放时间中设定“TrackC”和“00:03:31.0000”以表示在播放范围(1)的结尾处的播放恢复位置(4)。
由PLI#1指示的音轨序列的重放先前执行到结尾,所以在PLI#1的PLI_RSM_PL中,设定音轨号码为“FF”。
由PLI#2指示的音轨序列的重放先前执行到TrackA的中间的点,所以在PLI#2中的PLI_RSM_PL中,在音轨号码和播放时间中设定“TrackA”和“00:01:11.0000”以表示在播放范围(2)的结尾处的播放恢复位置(5)。
因为PLI#3尚需指示,而其音轨序列尚未播放,因此在PLI#3的PLI_RSM_PL中的音轨号码设定值“00”。
因为每一PLI(和DPLI)的PLI_RSM_PL(DPLI_RSM_PL)如图75所示设定,所以如果用户在指示PLI#1之后指示DPLI,则由该DPLI指示的音轨序列的播放将从紧接播放范围(1)后的播放恢复位置(4)恢复。
如果一旦由DPLI指示的音轨序列完全播放完后用户指示PLI#2的话,则由PLI#2指示的音轨序列的播放将从紧接播放范围(2)之后的播放恢复位置(5)恢复。
在该实施例中,当由用户操作指示一个要播放的播放目录时,播放装置将引用为所指示的播放目录的PLI_RSM_PL(DPLI_RSM_PL),根据在该PLI_RSM_PL(DPLI_RSM_PL)中给出的音轨号码和播放时间恢复由该播放目录指定的音轨序列的播放。这意味着可以为任何播放目录恢复播放,无需重复先前已经播放的音轨。
注意,由于在该实施例中为每一播放目录播放的恢复根据在PLI_RSM_PL(DPLI_RSM_PL)中的音轨号码和播放时间执行,因此为用户指示该播放目录优选通过类似在图77中所示菜单进行,而不用像图49所示第一实施例中只给出该播放目录的菜单。图77表示一个示例菜单,该菜单把为每一播放目录的PLI_RSM_PL为在图76所示播放范围已经播放的场合的设定和该播放目录一起显示。尚未完全播放完其音轨序列的PLI与表示PLI_RSM_PL中的音轨号码字段的音轨号码和基于在该PLI_RSM_PL中的播放时间字段的播放时间一起显示。反之,完全播放完其音轨序列的PLI使在PLI_RSM_PL中的音轨号码设定为值“FF”,于是与表示播放完成的指示一起显示。其结果,该菜单告诉用户每一播放目录已经播放多少,以便用户可以知道哪一播放目录已经完全播放,而哪一播放目录只播放了一部分。
第四实施例
虽然在第一到第三实施例中的闪存储器卡中存储的是音乐应用,但是本实施例涉及对短暂应用存储的改进。这里“短暂应用”指的是诸如新闻、音频杂志、言语的记录等只需听一次的任何应用,所以与重复听的音乐应用不同。作为短暂应用的常规例子,杂志每周或每月发行,而新闻每天公布。
当一个记录装置通过网络下载一个短暂应用时,该记录装置把包括短暂应用的音频数据作为AOB记录在闪存储器卡31上,为这些AOB产生多个TKI,并在闪存储器卡31上存储这些TKI。记录装置还为短暂应用产生指定TKI的播放目录信息,并把PLI记录在闪存储器卡31上。
下面说明在该第四实施例中DPLI、PLI和TKI的改进。在第二实施例中,在播放目录管理器中提供作为表示一个应用的属性的信息的PLI_APP_ATR。在该第四实施例中,也提供PLI_APP_ATR和TKI_APP_ATR作为在DPLGI、PLGI、和TKGI中的应用属性。图78表示在该第四实施例中的DPLGI、PLGI、和TKGI的数据格式。
就像在第二实施例中的“PLMG_APP_ATR”,在一个PLI中的PLI_APP_ATR包括表示该PLI所属类别的一个应用类别ID。当相应于一个PLI的应用的类型是像第一实施例中的音乐时,在该字段中设定值“01h”。
以同样方式,当相应于一个PLI的应用是卡拉OK软件时,在该字段中设定值“02h”,当该应用是表示数据时,设定值“03h”,而当该应用是音频书时设定值“04h”。也可以使用其它的值来指示其它应用类型。在为一个短暂应用的PLI中,在该PLI中的PLI_APP_ATR设定为“04h”,指示是一个音频书。
记录装置以这种方式产生为一个短暂应用的PLI并将该PLI存储在闪存储器卡31中,与该短暂应用关联。
下面说明当短暂应用存储在闪存储器卡31中时发生的问题。当一个短暂应用用于新闻时只把最近的应用每天发送到记录装置。如果记录装置在闪存储器卡中积累每天的新闻的话,则闪存储器卡31的有限的存储容量将很快被这些短暂应用占据。
为中止短暂应用占据闪存储器卡31太多空间,记录装置应该引用PLI_RSM_PL和PLI_APP_ATR执行下面说明的操作。因为短暂应用与多个PLI一起存储在闪存储器卡31中,其中设定PLI_APP_ATR以指示音频书,所以记录装置可以引用这些PLI_APP_ATR决定哪一个PLI、TKI、和AOB相应于短暂应用。
在为一个短暂应用的PLI中,如果在所指示的播放顺序中的所有音轨都已经完全播放,则PLI_RSM_PL设定为“FF”,或如果在所指示的播放顺序中的音轨的播放尚未完成,则设定为不同值。因此,记录装置只需引用在PLI_RSM_PL中的音轨号码就可以知道一个短暂应用是否已经完全播放。
在以这种方式检查音轨号码后,记录装置可以删除为已经完全播放的短暂应用的TKI、AOB、和PLI。这将中止闪存储器卡31的存储容量由积累大量短暂应用而占满。注意,虽然上述例子提到记录装置引用PLI_RSM_PL和PLI_APP_ATR的情形,但是对于DPLI_RSM_PL和DPLI_APP_ATR,可以执行同样的控制。
使用该实施例,可以下载诸如新闻的短暂应用并存储在闪存储器卡31中。这种短暂应用可以从已经完全播放完的应用开始删除,使得即使当诸如新闻的一种短暂应用每天产生,但是仍然可以防止这种短暂应用占据闪存储器卡31的全部存储容量。
虽然本发明完全参考附图以例子说明,但是应该注意,对于熟悉本技术领域的人来说,各种改变和修改将是明显的。因此,除非这种改变和修改离开本发明的范围,否则它们应该作为包括在本发明的范围内构造。
工业应用性
本发明的半导体存储器卡特别适合在消费电子设备领域作为为记录以电子或其它方式销售的音乐或其它材料的记录介质使用。本发明的记录和播放装置能使用户充分使用该半导体存储器卡。
Claims (8)
1.一种半导体存储卡,存储多个音频对象、多个播放目录和多个播放状态信息片,
其中为每个音频对象提供唯一的识别信息,
每个播放目录用音频对象的唯一识别信息显示音频对象的播放顺序,
每个播放状态信息片对应一个播放目录,并且是未播放信息、恢复信息或播放完成信息,
未播放信息表示对应的播放目录还未被播放,
恢复信息表示对应的播放目录的恢复位置,和
播放完成信息表示对应的播放目录的播放已经完成。
2.如权利要求1的半导体存储卡,进一步存储分别对应于多个播放目录的多个应用信息片,
其中每个应用信息片表示对应的播放目录所属的类型。
3.一种用于权利要求1所定义的半导体存储卡的记录-播放装置,该记录-播放装置包括:
接收装置,能够从用户接收播放目录说明和播放停止说明;
播放装置,用于当对应于指定的播放目录的播放状态信息片是恢复信息时,根据由指定的播放目录所示的播放顺序,在由恢复信息表示的指定播放目录的恢复位置恢复播放音频对象;和
记录装置,用于(i)当接收装置在根据播放目录进行播放的中途接收到播放停止说明时,写入恢复信息作为对应于播放目录的播放状态信息片,所述恢复信息将播放停止时的位置表示为恢复位置,和(ii)当根据播放目录的播放完成时,写入播放完成信息作为对应于该播放目录的播放状态信息片。
4.如权利要求3的记录-播放装置,其中半导体存储卡存储分别对应于多个播放目录的多个应用信息片,每个应用信息片示出对应的播放目录所属的类型,该记录-播放装置进一步包含:
删除装置,用于为每个应用信息片判断一个应用信息片是否表示短暂类型,删除对应于(i)表示短暂类型的应用信息的播放目录和(ii)其播放状态信息为播放完成信息的播放目录,并删除对应于所删除的播放目录的音频对象。
5.如权利要求4的记录-播放装置,进一步包含:
显示装置,用于显示与每个播放目录相一致的播放状态信息。
6.一种用于如权利要求1定义的半导体存储卡的记录-播放方法,包括:
接收步骤,能够从用户接收播放目录说明和播放停止说明;
播放步骤,用于当对应于指定的播放目录的播放状态信息片是恢复信息时,根据由指定的播放目录示出的播放顺序,在由恢复信息表示的该指定播放目录的恢复位置恢复播放音频对象;和
记录步骤,用于(i)当接收步骤在根据播放目录进行播放的中途接收到播放停止说明时,写入恢复信息作为对应于播放目录的播放状态信息片,所述恢复信息将播放停止时的位置表示为恢复位置,和(ii)当根据播放目录的播放完成时,写入播放完成信息作为对应于播放目录的播放状态信息片。
7.如权利要求6的记录-播放方法,其中半导体存储卡存储分别对应于多个播放目录的多个应用信息片,每个应用信息片示出对应的播放目录所属的类型,该记录-播放方法进一步包含:
删除步骤,用于为每个应用信息片判断一个应用信息片是否表示短暂类型,删除对应于(i)表示短暂类型的应用信息的播放目录和(ii)其播放状态信息为播放完成信息的播放目录,并删除对应于被删除的播放目录的音频对象。
8.如权利要求7的记录-播放步骤,进一步包含:
显示步骤,用于显示与每个播放目录相一致的播放状态信息。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP149893/99 | 1999-05-28 | ||
JP14989399 | 1999-05-28 | ||
JP236724/99 | 1999-08-24 | ||
JP372605/99 | 1999-12-28 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB008014914A Division CN1197080C (zh) | 1999-05-28 | 2000-05-24 | 半导体存储器卡、播放装置、记录装置、播放方法、记录方法、和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1932855A true CN1932855A (zh) | 2007-03-21 |
CN100470583C CN100470583C (zh) | 2009-03-18 |
Family
ID=37878682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200510007097XA Expired - Lifetime CN100470583C (zh) | 1999-05-28 | 2000-05-24 | 用于半导体存储卡的记录方法、记录-播放装置和记录-播放方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100470583C (zh) |
-
2000
- 2000-05-24 CN CNB200510007097XA patent/CN100470583C/zh not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
CN100470583C (zh) | 2009-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1197080C (zh) | 半导体存储器卡、播放装置、记录装置、播放方法、记录方法、和计算机可读存储介质 | |
CN1187756C (zh) | 半导体存储器卡、播放装置、记录装置、播放方法、记录方法、和计算机可读记录介质 | |
CN1196130C (zh) | 半导体存储器卡、重放装置、记录装置、重放方法、记录方法、和计算机可读存储介质 | |
CN1264168C (zh) | 用于处理数据的装置和方法 | |
CN1252725C (zh) | 记录介质、记录设备、记录方法、编辑设备与编辑方法 | |
CN1118051C (zh) | 再现装置、记录装置及记录媒体 | |
CN1144417C (zh) | 信息再生装置及信息再生方法 | |
CN1269126C (zh) | 数据处理装置及数据记录媒体 | |
CN1221979C (zh) | 记录介质、记录设备和记录/再现系统 | |
CN1286024C (zh) | 记录装置、记录方法和通信装置 | |
CN1189823C (zh) | 数据处理设备、数据处理方法、终端单元、和数据处理设备的发送方法 | |
CN1842799A (zh) | 内容处理装置、内容处理方法和计算机程序 | |
CN1842798A (zh) | 内容再现装置、内容再现控制方法及程序 | |
CN1208930A (zh) | 数据发送和接收系统 | |
CN1300076A (zh) | 基于内容提供源的记录介质编辑装置 | |
CN1842803A (zh) | 通信系统、通信方法、内容处理装置和计算机程序 | |
CN1488099A (zh) | 信息处理设备和方法 | |
CN1606781A (zh) | 编辑装置和编辑方法 | |
CN1596433A (zh) | 信息处理装置、信息处理方法和信息处理系统 | |
CN1957333A (zh) | 再现装置、再现方法、程序、程序存储介质、数据传送系统、数据结构和记录介质的制造方法 | |
CN1387191A (zh) | 编码方法和装置、解码方法和装置以及传输方法和装置 | |
CN1552072A (zh) | 记录设备与方法和通信设备与方法 | |
CN1143218C (zh) | 记录设备、记录方法、再现设备和再现方法 | |
CN1632875A (zh) | 再现装置和再现方法 | |
CN1302391C (zh) | 记录装置和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20090318 |