专利名称:用于写入和再生数据的装置及方法
技术领域:
本发明涉及一种数据写入和再生装置及方法,用于把写入到诸如音乐CD(小型唱盘)的可移动记录介质中的音频数据传送并存储到内置存储介质中,其存储数据速率高于播放音乐CD所规定的速率。
一种包含有许多CD并且自动再生记录在CD上的音频数据的通常所说的CD换盘机已经广为人知。在这种CD换盘机中,数十张至数百张CD装在一个盘仓中,并且使用一个预定操作来选择其中的一张CD以用于自动播放。通过选择多张CD可以按顺序再生每张CD,记录在CD上的音频数据,或者以记录在一张CD或每张CD上的乐曲为单位进行随机再生。此类CD换盘机多以静止方式使用,如安装在一个房间中。
但上述CD换盘机难以实现连续播放,这是因为甚在自动播放模式时也需要一个CD转换时间。而且,含有100,200或更多CD的CD换盘机由于盘仓尺寸和重量的增加非常不便于搬运和就位。
为了克服这些问题,现在已经提出了采用诸如硬盘驱动器的存储介质的一种音频服务器来代替CD换盘机,它尺寸较小但具有大存储容量。在该音频服务器中,记录在每张CD上的音频数据被读出,并且读出的音频数据通过一种预定方法进行编码和压缩。压缩数据写入并存储在硬盘驱动器中。使用存储量约为6千兆字节硬盘驱动器,可以写入大约1000首乐曲的数据。音频服务器优于上述CD换盘机之处在于可以容易地实现连续播放,这是因为不需要象CD换盘机那样转换CD,并且其优越之处在于盘仓尺寸可以减小,即使是在更大量的音乐数据写入到一个硬盘驱动器单元的情况下。
而且,在该音频服务器中,当记录在CD上的音频数据写入并存储在硬盘驱动器中时,音频数据的处理方式可与普通数字数据的处理方式相同。因此,通过用比规定的CD标准更高的旋转速度旋转CD并且进而以更高的速度从CD中读出数据,该数据的写入和存储时间可比音乐作品所规定的播放时间短。
但在上述传统的音频服务器中,当记录在CD上的音频数据写入并存储在硬盘驱动器时,音频服务器只能用于写入和存储数据的处理。这样引出的一个问题是用户除了等待至写处理结束以外不能做其它事情。
举例来说,即便在采用一种能够以平均旋转速度比播放CD的规定速度快约20倍的速率旋转的20X CD-ROM时,一张记录时间为60分钟的CD也大约需要三分钟的时间等待写处理结束,这种等待时间使用户感到恼火和厌烦。
为了避免上述缺点,已经提出了在音频服务器上提供一个诸如某种显示的用户界面。但即使是使用这个提议,用户也必须等待写处理的结束,观看在一个显示屏上示出的诸如“正在复制”的信息以告知用户写入和存储数据的处理正处于执行状态,同时可听到“哗哗”声或其它类似的声音。
另一方面还提出了使用硬盘驱动器或半导体存储器作为存储或记录介质的一种便携式音频数据播放器。该便携式音频数据播放器与上述音频服务器连接,存储在音频服务器中的音频数据传送到便携式音频数据播放器中并且存储在存储或记录介质中。例如,假定该存储或记录介质的容量约为200MB,则可存储的音频数据具有数十分钟的播放时间。
当音频数据以此方式从音频服务器传送到便携式音频数据播放器时,也会经历与上述类似的问题,即用户必须进行等待,直到数据传送结束为止。
因此,本发明的一个目的是提供一种用于写入和再生数据的装置及方法,其中,当记录在CD上的音频数据被播放以便于以高于规定用于CD的数据速率记录和存储在内置的硬盘驱动器上时,记录在CD上的音频数据以高数据速率写入硬盘驱动器中,同时该CD以规定的标准数据速率播放。
为了实现上述目的,根据本发明的第一方案提供的用于写入和再生数据的装置包括一个用于处理输入数据的处理单元;一个用于把处理的数据存储在存储介质中的存储单元;一个用于对存储在存储介质中的处理数据进行解压缩的解压缩单元;一个用于再生解压数据的再生单元;以及一个控制单元,用于在再生单元再生解压数据期间控制存储单元把处理的数据存储到存储介质中。
而且,根据本发明的第二方案提供的用于写入和再生数据的装置包括一个转换单元,用于把第一压缩格式的输入压缩数据转换为第二压缩格式的数据;一个用于输出转换数据的输出单元;一个用于再生对应于转换数据的数据的再生单元;以及一个控制单元,用于在再生单元再生数据期间控制输出单元输出转换的数据。
根据本发明的第三方案提供的用于写入和再生数据的装置包括一个用于在需要时处理输入数据的处理单元;一个用于输出由处理单元提供的数据的输出单元;一个用于再生所提供数据的再生单元;以及一个控制单元,用于在再生单元再生所提供的数据期间控制输出单元输出所提供的数据。
根据本发明的第四方案提供的一种用于写入和再生数据的方法所包括的步骤是处理输入的数据;把处理的数据存储在存储介质中;对存储在存储介质中的处理数据进行解压缩;再生解压的数据;并且在再生解压数据期间控制所处理的数据存储到存储介质中。
根据本发明的第五方案提出的用于写入和再生数据的方法所包括的步骤是把第一压缩格式的输入压缩数据转换为第二压缩格式的数据;输出转换的数据;再生对应于转换数据的数据;并且在再生转换数据期间控制转换数据的输出。
根据本发明的第六方案提出的用于写入和再生数据的方法所包括的步骤是在需要时处理输入的数据;输出由处理单元提供的数据;再生所提供的数据;并且在再生所提供的数据期间控制所提供数据的输出。
通过使用上述的本发明的第一和第四方案,输入的数据被处理并且存储在存储介质中。控制单元执行控制以使处理过的数据存储在存储介质中,同时存储在存储介质中的处理数据被解压和再生。因此,输入数据可以在进行再生的同时存储在存储介质中。
通过使用本发明的第二和第五方案,输入的压缩数据在转换压缩格式后输出,并且对应于转换数据的数据执行再生。控制单元执行控制以便转换数据在对应于转换数据的数据执行再生时输出。因此,输入的压缩数据可以在进行格式转换时输出。
通过使用本发明的第三和第六方案,输入的数据在需要时被处理和输出,并且执行处理数据的再生。控制单元执行控制以使处理的数据在执行再生时被输出。
图1的示意图表示根据本发明一个实施例的音乐服务器以及采用该音乐服务器的系统;图2的框图表示音乐服务器结构的一个实例;图3示出了音频数据从CD-ROM驱动器读出并且写入硬盘驱动器的处理期间的信号流;
图4示出了压缩音频数据从硬盘驱动器读出并且在经过再生处理后导入一个终端的处理期间的信号流;图5的框图表示一种便携式记录和播放单元的一个结构实例;图6的框图表示该便携式记录和播放单元的另一个例子;图7的流程图表示当CD上的音频数据写入硬盘驱动器时音乐服务器所执行的处理实例;图8由流程图A和B构成,表示当CD音频数据以高数据速率写入硬盘驱动器时所执行的计费处理的一个例子;图9的流程图表示根据本发明移动音频数据的处理实例;图10的框图表示音乐服务器的整个结构的一部分,它是执行从CD到硬盘驱动器(HDD)的高速写入以及CD播放所必需的;图11的流程图表示高速写处理中的数据流;图12的流程图表示在CD的等速播放处理时的数据流;图13A和13B的流程图表示当音频数据在从CD再生的同时被写入到HDD时所执行的再生处理;图14A和14B的流程图表示当音频数据在从CD再生的同时被写入到HDD时所执行的写入处理;图15的序列图表更详细地表示数据在各种部件中流动的例子;图16表示在再生和写入处理时从CD读出的数据量的例子;图17表示在一个时基上从CD读出PCM数据的例子;图18的框图表示适用于第一改进方案的一个结构实例;图19的流程图用于解释在根据第一改进方案的高速写入HDD期间所执行的再生处理中的数据流实例;图20的序列图表详细示出了根据第一改进方案的各种部件中的数据流实例;图21的框图表示适用于第二改进方案的一个结构实例;图22的流程图表示在根据第二改进方案的写处理中的数据流实例;图23的流程图表示当从CD-ROM读出的MP3数据不需要根据ATRAC法进行解码和压缩编码就直接写入HDD时的数据流实例;图24的流程图表示记录在CD-ROM上的MP3数据在进行再生处理时的数据流实例;图25的序列图表更详细地示出了根据第二改进方案的各种部件中的数据流实例;图26所示为本实施例的音乐服务器的功能框图,主要表示信号流;图27所示为根据实施例第一改进方案的音乐服务器的功能框图,主要以实例表示信号流;图28所示为根据实施例第二改进方案的音乐服务器的功能框图,主要以实例表示信号流;图29所示为根据实施例第三改进方案的音乐服务器的功能框图,主要以实例表示信号流;图30所示为根据实施例第四改进方案的音乐服务器的功能框图,主要以实例表示信号流;图31所示为根据实施例第五改进方案的音乐服务器的功能框图,主要以实例表示信号流;图32表示可应用于本发明的实时操作系统(OS)的基本概念;图33表示由实时OS执行的多任务的任务控制实例;图34的示意图表示当实时OS应用于实施例的音乐服务器时的任务间关系的例子;图35的功能框图表示任务分配给实施例音乐服务器的各个部件的情况;图36示出了在实施例中执行的任务间的处理流程;图37A和37B的流程图表示由任务CdReadTask(Cd读任务)和任务CoderWriteTask(编码器写任务)执行的处理例子;图38A和38B的流程图表示由任务HdWriteTask(Hd写任务)和任务CoderReadTask(编码器读任务)执行的处理例子;图39A和39B的流程图表示由任务CdPlayTask(Cd播放任务)和任务PcmWriteTask(Pcm写任务)执行的处理例子;图40更详细地示出了在实施例中的CD的高速写入处理期间的各种部件中的数据流实例,包括DRAM中的存储单元(bank)转换;图41更详细地表示在包括DRAM的存储单元转换的实施例中的CD等速播放期间的各种部件中的数据流实例;
图42的功能框图表示任务分配给根据实施例第一改进方案的音乐服务器的各个部件的情况;图43的功能框图表示任务分配给根据实施例第二改进方案的音乐服务器的各个部件的情况;图44包括流程图A、B和C,表示由DRAM输入侧的任务CoderReadTask2(编码器读任务2)以及DRAM输出侧的任务CoderWriteTask2(编码器写任务2)和任务PcmWriterTask(Pcm写任务)执行的处理;图45的功能框图表示任务分配给根据实施例第五改进方案的音乐服务器的各个部件的情况。
参考附图下面将描述本发明的一个实施例。图1示出了应用本发明的一种音乐服务器以及使用该音乐服务器的一种系统。音乐服务器50包括主服务器单元51以及一对左和右扬声器单元52L、52R。主服务器单元51包括一个带有LCD(液晶显示)屏的显示单元53,以及一个CD装入单元54,通过它可以把CD插入到主服务器单元51中。
尽管在图1中未示出,但主服务器单元51还包括一个具有多个控制开关的控制台,用户通过使用这些控制开关可以控制主服务器单元51的功能。主服务器单元51上可提供一个接收红外信号的信号接收部分,以便于通过遥控命令装置遥控主服务器单元51的功能。而且,主服务器单元51包括如下所述的一个控制器,该控制器可根据预先存储在ROM中的预定程序控制主服务器单元51的各种操作。
当用户通过CD装入单元54把CD55装入主服务器单元51并且在控制台(未示出)上执行预定操作时,CD55开始播放。从CD55再生的播放信号通过扬声器单元52L、52R输出,这样用户可以欣赏记录在CD55上的音乐。当CD55包括诸如音乐作品名称的文本数据时,根据文本数据而在显示单元53上显示这些名称等。
例如,音乐服务器50包括一个硬盘驱动器形式的大容量存储系统。当用户在控制台(未示出)上执行预定操作时,硬盘驱动器形成的存储介质可把从CD55再生的播放数据存储于其中,其中CD55是通过CD装入单元54装入主服务器单元51中的。在这种情况下,可以在普通写入法和高速写入法之间选择其一,其中普通写入法写入数据的传送速率等于CD55的标准播放速率,而高速写入法写入数据的传送速率高于CD55的标准播放速率。在以高传送速率写入时,在根据预定程序完成计费处理后,将用允许户选择一张CD或选择记录在CD上的一个音乐作品,以便于以高于CD标准播放速率的传送速率写入播放的数据,即从CD55中再生的音频数据。
在音乐服务器50中,从CD55再生的音频数据使用诸如ATRAC的一种预定方法进行编码和压缩,随后作为压缩的音频数据写入。以此方式,典型容量为6千兆字节的硬盘可写入或存储约1000首乐曲。写入或存储在硬盘中的音乐作品的名称列表可在显示单元53上显示。根据显示在显示单元53上的音乐名称,用户可选择并播放写入或存储在硬盘上的任意一首希望的音乐作品。由于硬盘适用于随机访问,所以音乐服务器50可以按照任意希望的顺序读出大量写入或存储在硬盘中的音频数据,并且以连续方式再生音频数据。
尽管可使用各种方法进行压缩编码,但本实施例采用了一种在美国专利No.5,717,821中公开的称作ATRAC2(自适应变换声音编码2)的方法。这是一种在上述便携式音频数据播放器中使用的压缩编码方法,并且是一种高版本的ATRAC。具体来说,根据ATRAC2,通过利用基于听觉特性的掩蔽效应以及频率与最小可听限度的关系,音频数据的压缩编码通过变换编码和熵编码的组合来执行。使用使用较小型的硬件就能够以高比特率编码和解码音频数据,同时保持高声音品质。其它的方法也可以使用,如ATRAC3、MPEG2 AAC(高级音频编解码器)、MP3(MPEG1音频层3)、TwinVQ(变换域加权交错矢量量化)或者MS音频(WMA视窗媒体音频)。需要注意的是,压缩编码方法并不局限于ATRAC2,作为ATRAC2的更高版本的ATRAC3也可以使用。
音乐服务器50可通过诸如公用电话线的通信线61与外部系统连接,如连接互联网服务器60。通过通信线61把音乐服务器50与互联网服务器60连接,用户可以从互联网上获得各种信息。互联网服务器60包括一个数据库,如可商用的音乐CD的名称信息。用户分配到一个专用密钥以利用该数据库。通过在使用该数据库时操作该专用密钥,用户可以获得附加在各个CD上的数据,如CD的名称信息。
互联网服务器60还根据提供给用户的服务而对音乐服务器50执行计费处理。当用户执行CD55的上述高速写入时,指示音乐服务器50将执行高速写入的数据被传送到互联网服务器60。由此对将要进行高速记录的用户执行计费处理。接着,用户被允许选择一张CD或一首乐曲并且允许执行高速记录。
尽管上述计费处理是由包含附加在CD上的各种附加信息的互联网服务器60执行的,但本发明并不局限于上面的这个例子。作为一种替代方法,计费处理可由与互联网连接的另一个服务器执行。作为又一种替代方法,计费处理还可通过与互联网分开的专用网络执行。
便携式记录和播放单元70包括一个存储介质,该存储介质由硬盘或快速存储器组成,如半导体存储器、磁存储器或光存储器。其它任何合适的存储或记录介质只要能跟上音乐的播放数据速率就可以使用。通过连接线71把便携式记录和播放单元70与音乐服务器50连接,记录在音乐服务器50中的音频数据可传送到便携式记录和播放单元70,以用于把音频数据写入单元70的存储介质中。此时,在音乐服务器50侧,已经传送到便携式记录和播放单元70的音频数据进入下面的状态,即传送的音频数据仍然保留在诸如硬盘或快速存储器的存储介质中,但不能进行再生。在便携式记录和播放单元70中使用的存储或记录介质的容量约为200兆字节并且可存储或记录数十首音乐作品的音频数据。需要注意的是,在随后的描述中,包括诸如快速存储器的半导体存储器的存储装置或介质以及诸如硬盘的磁盘类记录介质统称为存储介质。
本发明中使用的上述传送方法即传送类型被称为“移动”,也就是当传送音频数据时,音频数据存储在传送目的地的的存储介质中,同时传送的音频数据仍然保留在传送源的存储介质中但不能进行再生。通过使用这种“移动”可以禁止无限制的复制音频数据。
在上面的例子中,尽管音乐服务器50和便携式记录和播放单元70通过通信线71彼此连接,但本发明并不局限于这种配置。举例来说,音乐服务器50和便携式记录和播放单元70可配备相互匹配的部分。因而,便携式记录和播放单元70可与音乐服务器50匹配连接,这样则可在以便于在服务器50和单元70之间直接传送数据。除了电连接外,通过在服务器50以及单元70中提供符合IrDA(红外数据协会)标准的用于使用红外信号传送数据的接口,在音乐服务器50和便携式记录和播放单元70之间也可使用红外信号传送音频数据。
而且,通过在音乐服务器50中提供预定接口,音乐服务器50可以在其自身和各种不同介质之间传送信息。举例来说,通过向音乐服务器50提供一个适用于PC卡80的接口,经PC卡80提供的音频数据可装入音乐服务器50中,并且数据可在音乐服务器50和个人计算机之间传送。而且,通过向音乐服务器50提供使用光缆等的串行数字接口,音频数据可在音乐服务器50和另一种数字音频数据记录和播放单元之间传送,例如使用直径64mm的小型磁光盘的磁盘记录器81。在本例中,装有小型磁光盘的盒式磁盘82装在磁盘记录器81中,并且从盒式磁盘82的磁光盘中再生的音频数据提供给了音乐服务器50。同样,通过在音乐服务器50中提供一个IEEE-1394接口等,用于CATV(有线电视)和卫星广播的机顶盒83可与服务器50连接。IEEE-1394是由电气和电子工程师学会规定的接口标准。
PC卡80是一种用于个人计算机的卡类外围设备,它符合美国PCMCIA(个人计算机存储卡国际协会)和日本JEIDA(日本电子工业发展协会)联合规定的标准,它也可以插入到主服务器单元51中。
音乐服务器50可包括一个WWW(万维网)浏览器以作为所装的应用程序。通过通信线61把音乐服务器50与互联网服务器60连接,音乐服务器50可搜索以HTML(超文本格式语言)描述并且存在于互联网上的各种内容,并且可把希望的信息显示在显示单元53上。
通过使用上述结构,用户不仅可以再生存储或写入音乐服务器50的音频数据以用手通过扬声器单元52L、52R收听音频数据,而且用户可把CD55通过CD装入单元54装入服务器50以用于播放CD55。
通过音乐服务器50与互联网服务器60之间的通信,音乐服务器50可从互联网服务器60中经通信线61自动获得CD55的名称信息,其中CD55经CD装入单元54装入音乐服务器50。从互联网服务器60获得的信息存储在音乐服务器50中,并且所存储的名称信息在需要时显示在音乐服务器50的显示单元53上。
更具体地来说,以下称作用户信息的专用于用户的信息,如音乐服务器50的用户ID数据从音乐服务器50发送到互联网服务器60。在互联网服务器60侧,根据接收的用户信息执行检验处理和计费处理。另外,用户请求的CD或正在播放的CD的介质信息从音乐服务器50发送到互联网服务器60。根据接收的介质信息,互联网服务器60搜索附加于音频数据的附加信息,如歌曲名称、艺术家名称、曲作者和词作者、歌词和封面图象。接着,互联网服务器60把有关用户请求的CD的信息发送回音乐服务器50。
例如,CD55的TOC(目录)信息作为介质信息发送到互联网服务器60。在互联网服务器60中可建立一个数据库,它能够根据TOC信息搜索对应于音频数据的附加信息。互联网服务器60还可通过搜索互联网上的另一个WWW服务器获得附加信息。通过使用作为介质信息的接收的TOC信息,互联网服务器60可搜索对应于音频数据的附加信息。例如,可根据记录在CD55上的每个音乐作品的时间信息进行搜索,时间信息包含在TOC信息中。
通过搜索而获得的附加信息从互联网服务器60发送到音乐服务器50。在音乐服务器50中,接收到的附加信息在显示单元53上显示,并且随后与CD55的TOC信息一起由CPU写入到硬盘驱动器中,这将在随后结合图2进行描述。通过把附加信息以HTML文件的形式从互联网服务器60的发送到音乐服务器50,用搜索方式获得的附加信息可在音乐服务器50上使用所装的WWW浏览器软件进行显示。
如果在附加信息中描述了另一个URL(统一资源定位符),则用户可通过音乐服务器50访问由该URL指示的互联网主页。
而且,通过在音乐服务器50和互联网服务器60之间进行数据通信,音乐服务器50能够以高于规定用于CD55的标准播放数据速率的数据速率把经CD装入单元54装在音乐服务器50中的CD55的音频数据写入音乐服务器50的存储介质中,每张CD约为两分钟。当音乐服务器50没有与互联网服务器60通信时,音乐服务器50以等于规定用于CD55的标准播放数据速率的数据速率把CD55的音频数据存储在音乐服以务器50的存储介质中。
通过通信线71把音乐服务器50和便携式记录和播放单元70连接,存储或写入音乐服务器50的音频数据可传送或移动到便携式记录和播放单元70。即使在服务器50没有通过通信线71与便携式记录和播放单元70连接的时候,所移动的音频数据也可通过便携式记录和播放单元70进行再生,以允许用户使用耳机72收听再生的音频数据。在音乐服务器50侧,传送和移动的音频数据进入不能再生的状态。
图2表示音乐服务器50的一种结构实例。与普通个人计算机的结构类似,音乐服务器50包括通过总线40互联的RAM5、ROM6、快速存储器7和CPU8。CPU8作为控制器起作用并且控制音乐服务器50的整个操作。
用于控制音乐服务器50的操作的程序预先存储在ROM6中。在音乐服务器50中,存储的程序能够使CPU8执行对应于用户在输入控制台1上所作键控操作的操作。执行程序所需的数据区和任务区临时装在RAM5和快速存储器7中。ROM6存储一个程序装入器以便于通过使用存储在ROM6中的程序装入器把程序本身装入快速存储器7中。
输入控制台1包括多个按动类和旋转类控制键以及分别由控制键操作的多个开关。输入控制台1并不限于这一种例子,而是可包括一个可旋转的按动类控制部件,称作慢动拨盘(jog dial)、以及在LCD上形成的一个触摸屏,如此等等。当然,输入控制台1可包括一个响应用户按动的开关装置。对应于用户在输入控制台1上的键控操作的信号通过总线40提供给CPU8。根据来自输入控制台1的信号,CPU8产生一个控制信号,用于控制音乐服务器50的操作。音乐服务器50根据CPU8产生的控制信号进行操作。
红外接口(IrDA I/F)驱动器3和/或USB(通用串行总线)驱动器4与总线40连接。通过无线电通信或电连接,键盘2能够与驱动器3、4连接。通过使用键盘2,用户可以容易地输入对应于要写入的音频数据的音乐题目、艺术家名称等。而且,数据可通过红外接口驱动器3或USB驱动器4进行传送,可将此考虑为任选的。
CD-ROM驱动器9与总线40连接,CD55通过上述的CD装入单元54装入CD-ROM驱动器9中。在CD-ROM驱动器9中,音频数据以规定用于CD55的标准播放数据速率从CD55中读出。CD-ROM驱动器9还能以更高的数据速率读出CD55的音频数据,诸如比规定的标准播放数据速率快16或32倍的速率。
CD-ROM驱动器9并不限于上述的例子,而是可以采用其它任何适当的存储音频数据的磁盘型记录介质,如磁光盘或DVD(数字多用盘)。另外也可使用适于存储卡的驱动器。而且,从CD-ROM驱动器9中读出的数据并不限于音频数据,图象数据、文本数据或程序数据也可以从CD-ROM驱动器9中读出。
硬盘驱动器(以下缩写为HDD)10与总线40连接。从CD-ROM驱动器9读出的音频数据写入HDD10中。作为在HDD10中写入音频数据的预处理,从CD-ROM驱动器9读出的音频数据经总线40和音频DRAM11提供给压缩编码器12。
举例来说,压缩编码器12通过使用在上述美国专利No.5,717,821中公开的压缩方法对音频数据执行压缩编码处理。压缩编码器12执行的音频数据的压缩比特率可以在CPU8的控制下从低和高两种比特率中进行选择。低压缩比特率对应于规定用于与CD-ROM驱动器9关联的CD55的标准播放数据速率。压缩比特率可根据CD-ROM驱动器9中的CD55的播放数据速率进行转换。例如,基于压缩比特率的编码算法在压缩编码器12中操作。
改变压缩编码器12中的压缩比特率的方式并不限于上述的例子。作为一种替代方式,压缩比特率可通过转换压缩编码器12的时钟频率来改变,或者通过准备独立的硬件单元来改变。而且,能够进行高速压缩的压缩编码器12可通过削减处理过程而以低压缩比特率进行操作。由压缩编码器12执行压缩编码所产生的压缩音频数据通过DRAM11写入或存储在HDD10中。
在本实施例中,尽管通过压缩编码器12压缩编码所产生的压缩音频数据被写入HDD10中,但从CD-ROM驱动器9读出的音频数据可直接提供给HDD10以写入或存储在HDD10的硬盘中。
在本实施例中,从与终端13连接的话筒经放大器14输入的声音信号,或者由线路输入端15输入的声音信号经A/D转换器16提供给压缩编码器12。这些声音信号在经过压缩编码器12的压缩编码之后可写入HDD10中。而且,数字光信号可从数字光输入端17经IEC958(国际电工技术委员会958)编码器18提供给压缩编码器12。作为数字光信号提供的声音信号因而可在压缩编码器12进行压缩编码之后写入HDD10的硬盘中。
所描述的压缩编码器12采用了美国专利No.5,717,821中公开的编码算法,但本发明并不限于这个例子。压缩编码器12可采用其它任何合适的编码算法,只要它能够压缩信息即可。除了上述的算法之外,在压缩编码器12中可采用的其它编码算法还有PASC(精确自适应子带编码),RealAudio(商标)、以及LiquidAudio(商标)。
调制解调器20与总线40连接。外部网络19,如公用电话线、CATV、卫星线路或无线通信与调制解调器20连接。通过使用调制解调器20,音乐服务器50可以与外部网络19进行通信。
音乐服务器50通过外部网络19连接到互联网,以用于与远距离的互联网服务器60进行通信。音乐服务器50把各种信息发送到互联网服务器60,这些信息包括请求信号、有关装在CD-ROM驱动器9中的CD55的介质信息、事先以一对一关系指定给音乐服务器50的用户ID数据和其它用户信息,以及用户的计费信息。
当诸如介质信息和用户信息的各种信息发送到互联网服务器60时,互联网服务器60根据接收的诸如用户ID数据的用户信息执行检验处理和计费处理,并且根据接收的介质信息搜索音频数据的附加信息,查找到的附加信息被发送回音乐服务器50。
在上述例子中,尽管对应于音频数据的附加信息发送回音乐服务器50,但通过响应用户的请求也可以经外部网络19直接提供音频数据。换言之,用户可使用音乐服务器50从互联网服务器60下载音频数据。因而可根据介质信息发送回音频数据。这个特点能够使用户通过通信获得一个预定CD的奖励的音乐录音。
在压缩编码器12中进行压缩和编码之后写入并存储在HDD10中的压缩音频数据从HDD10读出以用于再生,并且读出的数据经总线40提供给压缩解码器21。从HDD10读出的压缩的音频数据在压缩解码器21中进行解压和解码,并且解码的音频数据经D/A转换器22、放大器23而在终端24输出。接着音频数据从终端24提供给图1的扬声器单元52L和52R以用于进行音乐播放。尽管在图2中未示出,但实际上提供了对应于立体声输出的从D/A转换器22经放大器23到终端24的两个信号线路。同样也提供了对应于立体声输出的两个终端24。
压缩解码器21使用的解码算法对应于压缩编码器12所使用的编码算法。压缩解码器21和压缩编码器12不用求助于硬件就可以通过CPU8执行的软件处理来执行它们的功能。
构成显示单元53的液晶显示(LCD)装置26经LCD驱动器25与总线40连接。CPU8通过总线40向LCD驱动器25提供一个绘图控制信号。根据提供的绘图控制信号,LCD26由LCD驱动器25操作,并且在显示单元53上进行希望的显示。
例如,音乐服务器50的操作菜单在LCD26上显示。作为另一个例子,已经写入并存储在HDD10中的压缩音频数据的名称清单在LCD26上显示。LCD26上的名称清单显示是根据存储在HDD10中的数据执行的,这是因为从互联网服务器60发送的附加信息在解码后提供给了HDD10。作为又一个例子,对应于所选用于再生的压缩音频数据的封套或封面图象可根据互联网服务器60发送的附加信息而在LCD26上显示。
当用户根据LCD26的显示内容操作输入控制台1或键盘2中未示出的遥控装置时,CPU8开始对用户指示的音频数据进行再生控制。另外,根据LCD26的显示,用户可以指示CPU8不仅控制所选音频数据的删除,而且还控制把所选音频数据复制和移动到一个外部装置。例如,当输入控制台1以触摸屏的形式在LCD26上提供时,用户可根据LCD26的显示触动触摸屏来操作音乐服务器50。因此,用户可通过使用作为界面的LCD26来管理和控制写入并存储在HDD10中的音频数据。
本实施例采用IEEE-1394和PC卡作为音乐服务器50和外部通用信息装置间的接口。因此,IEEE-1394接口28通过IEEE-1394驱动器29与总线40连接。同样,PC卡插槽31通过PC卡驱动器30与总线40连接。
通过IEEE-1394接口28可以使音乐服务器50和个人计算机之间传送数据。而且IEEE-1394接口28能够从用于卫星广播的IRD(综合接收机/解码器)、直径约为64mm的小型磁光盘或光盘、DVD(数字多用盘商品名)以及数字录象磁带中获得音频数据。通过把PC卡装入PC卡插槽31可以容易地实现包括各种外围设备的系统扩展,如外部存储器或其它任意的介质驱动器、调制解调器、终端适配器、捕获板等。
接口34用于在音乐服务器50和另一个相应的记录和播放装置之间传送音频数据。另一个记录和播放装置包括图1所示的上述便携式记录和播放单元70。另外,另一个记录和播放装置也可包括另一个音乐服务器。
接口34通过接口驱动器33与总线40连接。另一个记录和播放装置包括与接口34匹配的接口35。通过预定的连接线71电连接接口34以及35,写入并存储在HDD10上的音频数据可从音乐服务器50传送到另一个记录和播放装置。
图3示出了在音频数据从CD-ROM驱动器9读出并且写入HDD10的处理期间的信号流。从CD-ROM驱动器9读出的音频数据通过总线40首先存储在作为缓冲存储器的DRAM11中。音频数据在预定的定时从DRAM11读出并且通过总线40提供给压缩编码器12。如上所述压缩编码器12设置为对应于CD-ROM驱动器9的播放数据速率的预定压缩比特率。音频数据由压缩编码器12进行编码和压缩并且再次存储到用作缓冲存储器的DRAM11中。压缩的音频在预定的定时从DRAM11中读出并且经总线40提供给HDD10,以用于写入HDD10的磁盘中。此时,如上所述,由CD-ROM驱动器9正在播放的CD55的信息发送到互联网服务器60,并且从互联网服务器60发送的附属于CD55的附加信息也写入到HDD10的磁盘中。接着,CPU8把附加信息以及通过已经从CD55读出的音频数据所获得的压缩音频数据一起作为一组数据进行管理。
图4示出了在压缩音频数据从HDD10读出并且在经过再生处理后导入终端24的处理过程期间的信号流。从HDD10读出的压缩音频数据经总线40存储到作为缓冲存储器的DRAM11中一次。压缩的音频数据在预定的定时从DRAM11中读出并且经总线40提供到压缩解码器21。压缩的音频数据在压缩解码器21中解码和解压,并且由此产生的音频数据提供给了D/A转换器22。D/A转换器22把音频数据转换为模拟声音信号并且在放大器23放大之后作为播放输出提供到终端24。如果一个扬声器与终端24连接,则用户可以通过该扬声器欣赏播放的音乐。此时,从HDD10的磁盘读出并且与压缩的音频数据一起的附加信息由CPU8解码,并且音乐名称等在显示单元53上显示。
图5表示便携式记录和播放单元70的一个结构实例,它作为上述的其它记录和播放装置使用。便携式记录和播放单元70基本上与图2所示的音乐服务器50的结构相同。通常,音乐服务器50侧的接口34与便携式记录和播放单元70侧的接口35分开,并且单元70对于用户来说可作为一个单个单元携带。
与普通个人计算机的结构类似,便携式记录和播放单元70包括通过总线130互联的RAM103、ROM104和CPU105。当然,与上述音乐服务器50的结构相同,也可以配备一个快速存储器。CPU105作为一个控制器起作用并且控制便携式记录和播放单元70的整个操作。
用于控制便携式记录和播放单元70的操作的程序预先存储在ROM104中。在便携式记录和播放单元70中,存储的程序能够使CPU105执行对应于用户在输入控制台102上进行的键控操作的操作。执行程序所需的数据区和任务区临时装在RAM103中。
举例来说,输入控制台102包括多个按动类和旋转类控制键以及由控制键分别操作的多个开关。输入控制台102并不限于这个例子,而是可包括一个称作慢动拨盘的可旋转的按动类控制部件,以及在LCD上形成的一个触摸屏等。当然,输入控制台102可包括一个响应用户按动操作的机械开关装置。对应于用户在输入控制台102上的操作的信号经总线130提供给CPU105。根据输入控制台102输出的信号,对应于用户在输入控制台102上进行的控制键的操作,CPU105产生一个控制信号,用于控制便携式记录和播放单元70的操作。便携式记录和播放单元70的操作根据CPU105产生的控制信号进行转换和控制。
从HDD10中读出并且被指示从音乐服务器50传送到便携式记录和播放单元70的音频数据通过接口34和35以及两个接口34和35之间的连接线传送到或提供给单元70。同时,对应于被指示用于传送的音频数据的附加信息也与传送的音频数据一起传送到便携式记录和播放单元70。如果在音乐服务器50和便携式记录和播放单元70上提供相互匹配的部分,则接口34和35彼此可直接连接,这样音频数据可以在服务器50和单元70之间传送。另外,当服务器50和单元70均配备有IrDA接口时,使用红外信号也可以在服务器50和单元70之间传送音频数据。
由音乐服务器50传送到便携式记录和播放单元70的音频数据经过接口驱动器101和总线130提供给作为单元70内置的音频数据存储介质的HDD106,以用于写入到HDD106的圆形磁盘片上。
举例来说,便携式记录和播放单元70中的音频数据存储介质并不限于HDD106,而是可包括一个快速存储器。另外,诸如磁光盘的其它任何适当的存储或记录介质也可以作为音频数据存储介质使用,只要其能够跟得上音频数据的播放数据速率即可。当便携式记录和播放单元70中的音频数据存储介质的存储容量约为200兆字节时,它可以存储数十首音乐作品。单元70中的HDD106的圆形磁盘片在其中记录由音乐服务器50传送的音频数据以及对应于传送的音频数据的附加信息。
在本实施例中,传送并写入HDD106的音频数据是已经在音乐服务器50中经过压缩编码的压缩音频数据。本发明并不限于这个实施例,并且便携式记录和播放单元70可具有未经编码和压缩的音频数据,以用于写入HDD106的圆形磁盘片上。在这种情况下,从装在音乐服务器50的CD-ROM驱动器9中的CD55上读出并播放的音频数据通过接口驱动器101直接提供给便携式记录和播放单元70。但是显然,当音频数据直接提供给单元70时,可存储在单元70中的音频数据量受到极大限制。
作为把音频数据写入HDD106的圆形磁盘片的预处理,所提供的音频数据暂存在与总线130连接的音频DRAM107中。从DRAM107读出的音频数据经总线130提供给压缩编码器108。压缩编码器108使用与音乐服务器50的压缩编码器12相同的编码算法执行音频数据的压缩编码处理。由压缩编码器108编码和压缩的音频数据提供给DRAM107并且再次暂存在DRAM107中。最后,存储在DRAM107中的压缩音频数据被读出并写入HDD106的圆形磁盘片中。
如上所述,当存储在HDD10中的压缩音频数据被指示移动时,也就是说从音乐服务器50发射并传送到便携式记录和播放单元70时,HDD10中的压缩音频数据进入下面的这种状态,即传送的音频数据仍然保留在HDD10中,但不能从HDD10中读出以进行再生。只有当移动的音频数据返回移动源的存储介质即音乐服务器50的HDD10中时,已经移动到单元70的压缩音频数据才可能在移动源即音乐服务器50进行再生。此时,返回到音乐服务器50的压缩音频数据从移动目的地的存储介质中删除,也就是从单元70的HDD106的圆形磁盘片中删除。
在本实施例中,从与终端109连接的一个话筒经放大器110输入的声音信号以及从线路输入端111输入的声音信号经A/D转换器112提供给压缩编码器108。这些通过A/D转换器112提供的声音信号在经过由压缩编码器108的编码和压缩之后写入HDD106。而且,数字光信号从数字光输入端113经过IEC-958编码器114提供给压缩编码器108。作为数字光信号提供的声音信号因而可在经过压缩编码器108的编码和压缩之后写入HDD106的圆形磁盘片中。如果便携式记录和播放单元70是一个只能再生压缩的音频数据的只播放单元,则上述的A/D转换器112、编码器108全都可以省去。
压缩的音频数据从HDD106读出以进行再生并且经总线130提供给压缩解码器115。所提供的压缩音频数据在压缩解码器115中经过解压处理,并且由此产生的解码和解压的音频数据通过D/A转换器116和放大器117而在终端118输出。举例来说,耳机72可与终端118连接。用户戴上耳机72可收听播放的音乐。尽管在图5中未示出,但实际上是提供对应于立体声输出的L-和R-声道的两个信号线路,即从D/A转换器116经放大器117到终端118。同样也提供对应于立体声输出的L-和R-声道的两个终端118。
LCD120通过LCD驱动器119与总线130连接。CPU105通过总线130把绘图控制信号提供给LCD驱动器119。LCD120根据所提供的绘图控制信号进行操作,并且在LCD120上进行特定显示。在LCD120上可显示便携式记录和播放单元70的操作菜单、存储在HDD106中的音频数据的名称清单。作为另一个实例,对应于从存储在HDD106中的音频数据中所选用于再生的音频数据的封套或封面图象可根据存储在HDD106中的附加信息显示在LCD120上。
当用户根据LCD120的显示操作输入控制台102的指向装置时,存储在HDD106中的一组压缩音频数据被选择并再生。而且,根据LCD120的显示,用户可指示CPU105控制所选压缩音频数据的删除、复制和移动。举例来说,根据LCD120的显示,通过触动输入控制台102上提供的触摸屏,用户可输入一个用于操作便携式记录和播放单元70的指令。因此,用户通过使用作为界面的LCD120可以控制存储在HDD106中的压缩音频数据的管理、写入和再生。
尽管在图5中未示出,但便携式记录和播放单元70是由电池驱动。因此,单元70包括一个电源单元和一个充电单元,作为电源的电源单元包括普通的蓄电池或干电池。当音乐服务器50和便携式记录和播放单元70通过连接线或相互匹配的部分彼此直接连接时,与音频数据的传送一起,电源直接提供给了充电单元以用于对单元70中的蓄电池进行充电。当然,单元70中的蓄电池也可使用外部充电电源进行充电。在此顺带说明,使用干电池的非充电电源或者使用蓄电池的充电电源可作为电源单元提供。
图6所示为便携式记录和播放单元70的另一个例子。需要指出的是,在图6中与图5相同的部件以相同的数字指示,并且在此不再重复对其的详细描述。图6所示的便携式记录和播放单元170与图5所示单元70在结构上的不同之处在于在HDD或快速存储器106a和总线130之间置入了开关电路200。开关电路200的一个接触端200a与总线130连接,并且另一个接触端200b与接口35连接。HDD106a和总线130可通过开关电路200分开。
当压缩的音频数据由音乐服务器50传送时,开关电路200切换到接触端200b侧以选择接触端200b。音乐服务器50的HDD106a和总线130因而可通过接口34和35彼此直接连接。在这种情况下,从音乐服务器50的CPU8的角度来看HDD106a,HDD106a可作为音乐服务器50的存储介质出现。因此,音乐服务器50的CPU8可直接控制HDD106a。这种配置使压缩的音频数据在CPU的控制下可以在音乐服务器50和便携式记录和播放单元170之间更容易地进行移动和复制。
下面将描述如此建立的系统的操作。首先描述由音乐服务器50单独执行的功能。图7的流程图表示当装在CD-ROM驱动器9中的CD55上的音频数据写入音乐服务器50的HDD10的磁盘上时所执行的处理实例。
在第一步骤S10中,CPU等待用户的一个把CD55的音频数据写入HDD10中的请求。如果用户通过输入控制台1输入一个写请求,则处理前进到步骤S11。在步骤S11确定用户请求的写入是“高速写入”还是“等速写入”。写入方法,即“高速写入”或“等速写入”可由用户在上述步骤S10输入写请求的同时指定。此处使用的术语“等速写入”意味着读出音频数据的操作以及把读出的数据写入HDD10的圆形磁盘片的操作是以规定用于CD55的标准数据速率来进行的。此处使用的术语“高速写入”意味着读出音频数据的操作以及把读出的数据写入HDD10的磁盘的操作是以两倍或更多倍于规定用于CD55的标准数据速率来进行的。
如果在步骤S11指定为“高速写入”,则处理前进到步骤S12。在步骤S12启动服务器50或60的计费系统。随后将描述由服务器50或60的计费系统执行的处理。在音乐服务器50中的计费系统执行计费处理并且互联网服务器60或另外的装置允许高速写入之后,处理过程前进到步骤S13,在此步骤,在压缩编码器12中开始高速压缩处理。接着处理前进到步骤S15。
另一方面,如果在步骤S11指定“等速写入”,则处理前进到步骤S14,在此步骤中,在压缩编码器12中开始低速压缩处理。接着处理前进到步骤S15。
在步骤S15,CD-ROM驱动器9在CPU8的控制下以预定的速度而被驱动,并且记录在装入CD-ROM驱动器9的CD55上的音频数据从CD55读出。读出的音频数据由压缩编码器12进行编码和压缩并且传送到HDD10以用于在其磁盘上写入。
如果在步骤S16确定从CD55读出的音频数据在压缩后已经完全传送到了HDD10,则在步骤S17禁止从CD-ROM驱动器9向HDD10传送数据。在下一步骤S18,由压缩编码器12执行的压缩编码处理被终止。
图8中的A和B流程图表示在图7所示流程图的步骤S12中由计费系统执行的计费处理的实例。计费处理通过音乐服务器50和互联网服务器60间的数据通信来执行。流程图A表示由音乐服务器50中的计费系统执行的计费处理,并且流程图B表示由互联网服务器60中的计费系统的执行的计费处理。
在开始计费处理之后,在A的步骤S20中,根据预定的协议在音乐服务器50和互联网服务器60之间开始数据通信。如果在步骤S21确定服务器50和60间的连接已经建立以备在服务器50和60之间进行数据通信,则处理前进到步骤S22。
在步骤S22,CD55的TOC信息与对应于音乐服务器50的用户ID一起从音乐服务器50发送到互联网服务器60,其中CD55装在CD-ROM驱动器9中并且通过它可以把音频数据传送并写入HDD10。指示选择了高速写入的高速写入信息与CD55的TOC信息一起从音乐服务器50发送到互联网服务器60。
另一方面,在B中,互联网服务器60在步骤S30等待从音乐服务器50提供或发送的用户ID、高速写入信息和TOC信息。如果互联网服务器60接收到用户ID、高速写入信息和TOC信息,则在步骤S31根据发送的TOC信息搜索互联网服务器60的数据库或外部数据库。通过搜索对应于TOC信息的信息来识别CD55。
在下一步骤S32执行计费处理。所计钱数根据诸如已经高速写入的音乐作品数的信息来计算。根据预先注册并且对应于用户ID的用户信用卡号,计费处理可通过在帐户上划出计费数来执行,其中该帐户在银行开户并且由用户指定。计费方法并不限于上述的例子。举例来说,在音乐服务器50侧,通过下面的方法可以执行计费,即在音乐服务器50中提供读出预付卡的功能,接着把预设的计费数发送给音乐服务器50,并且从用户插入的预付卡中减去计费的数目。在互联网服务器60的控制下,也可以根据CD55的内容改变计费的数目,并且可以根据TOC信息禁止在HDD10的圆形磁盘片上写入从CD55读出的音频数据。
在步骤S33,计费信息发送到音乐服务器50。接着,如图8的A所示,在步骤S23,发送的计费信息的内容在音乐服务器50侧得到确认。而且,在步骤S34,在互联网服务器60侧确认音乐服务器50是否已经接收到计费信息。当音乐服务器50正确无误地接收到计费信息时,通过把确认数据从音乐服务器50发送到互联网服务器60可确认这种情况。
再返回到图8的A,如果在音乐服务器50侧接收的计费信息在步骤S23得到确认,则处理前进到步骤S24,在此步骤,接收的计费信息等在显示单元53上显示。在步骤S25,音频数据由CD-ROM驱动器9以高比特率从CD55中读出并且在压缩编码器12中以高压缩比特率进行压缩编码处理。来自压缩编码器12的压缩音频数据提供给HDD10并且写入HDD10的磁盘。步骤S25对应于图7的步骤S15。
在本发明的这个实施例中,音乐服务器50和便携式记录和播放单元70能够以合作的方式进行操作。举例来说,当音频数据从音乐服务器50移动到便携式记录和播放单元70时,在服务器50和单元70之间便进行合作。图9的流程图表示音频数据移动的一个实例。
首先在步骤S40确定音乐服务器50和便携式记录和播放单元70是否通过接口34和35连接。CPU8通过在服务器50和单元70之间传送一个预定信号来检测音乐服务器50和便携式记录和播放单元70之间的连接。检测音乐服务器50和便携式记录和播放单元70间的连接的方法并不限于这一个例子,而是还可以通过使用机械检测装置来进行检测。换言之,在服务器50和单元70间的接合部分可提供一个机械开关装置,这样CPU8可检测它们之间的连接。
如果音乐服务器50和便携式记录和播放单元70间的连接在步骤S40得到确认,则在下一步骤S41,CPU8确定是否请求把写入并存储在HDD10中的音频数据移动到便携式记录和播放单元70。举例来说,包括音乐名称等的有关存储在HDD10中的压缩音频数据的信息清单在显示单元53上显示,并且用户通过使用输入控制台1中的指向装置而从显示单元53上显示的清单中选择一组压缩的音频数据。而且,用于把所选压缩音频数据移动到便携式记录和播放单元70的指令由用户通过输入控制台1输入。
通过输入控制台1输入一个用于移动所选音频数据的指令的各种方法都是可能的。举例来说,一个用于指示所选音频数据的移动的按钮在显示单元53上显示,并且用户通过使用输入控制台1中的指向装置指定该按钮。作为另一个例子,对于每一组压缩的音频数据来说,在显示单元53上显示一个图标,并且用户把其中的一个希望的图标移动到一个表示作为移动目的地的便携式记录和播放单元70的图标上,这个图标也在显示单元53上显示,上面的这种方式称作拖放模式。当然,用于移动所选音频数据的指令可以通过操作在输入控制台1上提供的控制开关来输入。CPU8检测这个输入操作并且确定是否已经输入一个用于移动所选音频数据的指令。
如果在步骤S41确定压缩音频数据的移动被请求,则已被指示移动的压缩音频数据的文件大小,即数据量在步骤S42由音乐服务器50的CPU8检验。在下一步骤S43,由便携式记录和播放单元70的CPU105检验可用于写入的HDD106的空白存储容量,其中便携式记录和播放单元70向CPU8发送数据或者从CPU8接收数据。接着,HDD106的自由空间与已经在步骤S43由音乐服务器50的CPU8检验并且指示移动的压缩音频数据的文件大小相比较。根据步骤S42的比较结果确定已经指示移动的压缩音频数据是否可写入HDD106中。如果可以写入HDD106中,则处理前进到步骤S45,在此步骤开始压缩音频数据的传送,其中压缩音频数据已经被指示从服务器50移动到单元70。
另一方面,如果CPU8在步骤S43确定在便携式记录和播放单元70的HDD106中的可用自由空间不够,则处理前进到步骤S44。在步骤S44,已经写入HDD106的压缩音频数据在单元70的CPU105的控制下自动删除或者通过预定程序或方法来删除的,这样,已经被指示移动的压缩音频数据可写入HDD106中。之后,处理前进到步骤S45。
在步骤S44,根据已经写入HDD106的压缩音频数据的一个预定参数,压缩音频数据的删除可以在CPU105的控制下自动执行。一种可能的方法是计算已写入到便携式记录和播放单元70的HDD106中的每组压缩音频数据的再生次数,并且从最小的数开始按照从HDD106中再生的增加次数为顺序来删除压缩的音频数据。作为一种替代方法,写入HDD106中的压缩音频数据可根据写入HDD106的日期而从最早的日期开始删除。
在步骤S44,当压缩的音频数据自动从HDD106中删除时,也可能会从HDD106中删除对用户来说重要的压缩音频数据。为了防止这种不希望的情况发生,在音乐服务器50的显示单元53或便携式记录和播放单元70的LCD120上可显示一个警告,以指示出单元70处于准备自动从HDD106删除压缩的音频数据的状态,或者表示一个要删除的数据清单。在用户确定之后,压缩的音频数据从HDD106中删除。另一种可能的方法是在音乐服务器50的显示单元53上或者便携式记录和播放单元70的LCD120上显示已经写入HDD106的压缩音频数据的一个清单,以提示用户选择要删除的压缩音频数据。
当HDD106通过步骤S43和S44中的上述处理进入能够写入已写入HDD10且被指示移动的的多组压缩音频数据中的一组的状态时,则在步骤S45开始从音乐服务器50到便携式记录和播放单元70的压缩音频数据的发射或传送。具体来说,从HDD10读出的压缩音频数据经过总线40和接口34提供给便携式记录和播放单元70。在便携式记录和播放单元70中,经接口34提供的压缩音频数据通过接口35写入HDD106中。
已经传送到便携式记录和播放单元70的压缩音频数据就象它传送到单元70之前一样仍然保留在音乐服务器50的HDD10中。在本实施例中,在步骤S46,已经传送到单元70的压缩音频数据的再生,即已经移动到单元70并且仍然保留在HDD10中的压缩音频数据的播放在音乐服务器50侧是禁止的。举例来说,在压缩的音频数据已传送到单元70的时侯,对于HDD10中相关的压缩音频数据来说,一个表示禁止再生的播放禁止标记被设置。通过使用如此设置的播放禁止标记,音乐服务器50的CPU8禁止再生已经传送到单元70的压缩音频数据。这意味着存储在HDD10中的压缩音频数据实际上已经从音乐服务器50移动到了便携式记录和播放单元70。因此,该系统的管理就是使在任意时刻只有多组压缩音频数据中的相同一组才能由服务器50或单元70再生,从而防止压缩音频数据的未授权复制。
在下一步骤S47中确定是否请求另一组压缩音频数据移动到便携式记录和播放单元70。如果请求移动另一组压缩的音频数据,则处理返回到步骤S42。如果不再请求移动另一组压缩的音频数据,则结束用于移动音频数据的一系列处理。
在上面的描述中,存储在HDD10中的多组压缩音频数据中的一组在图9所示流程图的步骤S42-S46中从服务器50传送到单元70。但本发明并不限于这个实例,并且多组压缩的音频数据可以从服务器50一起移动到单元70。
在上述的实施例中,已经从作为移动源的音乐服务器50的HDD10移动的压缩音频数据仅仅是被禁止再生,并且压缩的音频数据本身仍然保留在HDD10中。但本发明并不限于上述的实施例,并且已经移动的压缩音频数据可从HDD10中删除,也就是说数据本身可被擦除。
上述实施例的描述结合了把压缩音频数据从音乐服务器50移动到便携式记录和播放单元70的情况。但是,压缩音频数据的相反方向的移动,即已经写入便携式记录和播放单元70的HDD106的压缩音频数据移动到音乐服务器50的HDD10的操作也可以根据图9流程图所示的类似处理来执行。
在这种情况下,当已经从音乐服务器50移动到便携式记录和播放单元70的压缩音频数据从单元70移动回音乐服务器50时,对已经从单元70移动回的存储在HDD10中的多组压缩音频数据中的一组所设置的播放禁止标记在音乐服务器50中被清除。该播放禁止标记的清除允许作为移动源的音乐服务器50中的现有压缩音频数据被再次再生。此时,已经存储在单元70的HDD106中并且由此移动的压缩音频数据本身从HDD106中删除。另外,已经从HDD106移动的压缩音频数据的管理数据从HDD106的管理表中删除。
在本发明中,CD55的播放与上述从CD55到HDD10的音频数据的高速写入同时执行。图10表示图2所示整个结构的一部分,它是执行从CD55到HDD10的高速写入以及CD55的播放所必需的。图10中对应于图2所示的部件由相同的数字表示,并且在此不再重复对其的详细描述。通过参考图10,将分开描述从CD55到HDD10的高速写入以及普通处理过程中的CD55的直接播放。
图11的流程图表示高速写入处理的数据流。首先,CD55装入CD-ROM驱动器9,并且记录在CD55上的音频数据以两倍或更多倍于规定用于CD55的标准数据速率的预定速率读出。读出的音频数据是根据PCM(脉冲码调制)的数字音频数据。之后,此数字音频数据将被称作PCM数据。在CD-ROM驱动器9中,PCM数据以帧为单位(包括一个16字节首部的2368个字节)从CD55中读出。接着,读出的PCM数据在步骤S50通过总线40提供给DRAM11。存储在DRM11中的PCM数据以帧为单位读出。此时,16字节的首部被提取并且PCM数据以2352个字节为单位从DRAM11中读出。读出的PCM数据在步骤S51通过总线40提供给压缩编码器12。
在本实施例中,压缩编码器12采用ATRAC方法进行压缩。提供给压缩编码器12的PCM数据根据ATRAC法进行编码和压缩。之后,根据ATRAC法编码和压缩的数据将被称作ATRAC数据。
在步骤S52,ATRAC数据以包括424个字节的块为单位从压缩编码器12中输出并且经总线40提供给DRAM11。当ATRAC数据的77个块在DRM11中累积时,累积的数据在加入一个120一个字节的首部之后整体作为一个32k字节的块输出。在步骤S53,这个块从DRAM11经总线40提供给HDD10并且写入HDD10。
图12的流程图表示在CD55的等速播放处理中的数据流。首先,在步骤S60,CD55装入CD-ROM驱动器9,并且记录在CD55上的PCM数据以CD55所规定的标准数据速率读出。PCM数据以帧为单位,即以包括一个16字节首部的2368个字节为单位从CD55中读出。接着,在步骤S61,读出的PCM数据以帧为单位经总线40提供给D/A转换器22。另外,由于记录在CD55上的PCM数据没有经过压缩编码处理,所以在这种情况下不执行图2所示的压缩解码器的解压处理。
PCM数据由D/A转换器22转换为模拟音频信号并且在由放大器23放大至预定电平后通过扬声器24再生为声音。
在上述的再生和写入处理中,本发明用于同时执行对HDD10的高速写入和等速再生。因此,从CD55再生的用于写入HDD10的大量PCM数据在高速写入之前存储到DRAM11中,并且存储的PCM数据以小量的单位读出以用于播放。这种方法能够使CPU存放CD55的其它音频数据。
参考图13A、13B以及14A、14B的流程图将首先详细描述在播放CD55的同时对HDD10执行高速写入时所执行的再生和写入处理。图13A和13B表示再生处理。具体来说,图13A表示由CPU8执行的播放处理的主处理,并且图13B表示在图13A所示的主处理中断时执行的处理。
参考图13A,当CD55装入CD-ROM驱动器9并且系统准备好把CD55的PCM数据写入HDD10中时,在步骤S100,D/A转换器22首先设置为播放模式,系统因此进入能够把所提供的PCM数据转换成模拟信号的状态。在下一步骤S101中,未示出的用于控制DRAM11的播放的DMA(直接存储器存取)控制器设置为操作开始状态。
在步骤S102,CD55被播放并且从CD55再生的预定量的PCM数据发送到DRAM11并且存储在DRAM11的播放数据区中。接着,PCM数据从DRAM11中读出并且提供给D/A转换器22。在下一步骤S103中,CPU8等待一个表示存储在DRAM11中用于播放的PCM数据已经全部由其读出的中断指令。举例来说,DRAM11总是由控制DMA的DMA控制器监控,并且当播放数据区的自由空间超过一个预定值时向CPU8产生一个中断指令。
一旦到达CPU8等待中断指令的步骤S103,处理过程就前进到图13B所示的播放中断流程。当DMA控制器在步骤S104向CPU8产生一个表示中断备用状态的中断指令时,处理前进到步骤S105,在此步骤确定来自CD55的播放数据是否已经完成。如果没有完成,则处理前进到步骤S106,在此步骤中由CD55再生的预定量的PCM数据传送到DRAM11并且存储在DRM11所准备的播放数据区中。接着,存储在DRAM11中的PCM数据从DRAM11中读出并且提供给D/A转换器22。
参考图14A和14B将描述把从CD55再生的PCM数据写入HDD10的处理。图14A表示由CPU8执行的写处理的主处理,并且图14B表示在图14A所示的主处理被中断时所执行的处理。参考图14A,当CD55装入CD-ROM驱动器9并且系统准备好将CD55的PCM数据写入HDD10中时,压缩编码器12在步骤S110首先设置为操作开始状态,因而系统进入一种能够编码和压缩所提供的PCM数据的状态。
在下一步骤S111中,未示出的DMA控制器设置为操作开始状态以用于把压缩编码器12编码和压缩的ATRAC数据从DRAM11传送到HDD10。接着,在步骤S112,另一个未示出的DMA设置为操作开始状态,以用于把从CD55再生并且存储在DRAM11中的PCM数据从DRAM11传送到压缩编码器12。
在下一步骤S113中,CD55被播放并且由CD55再生的预定量的PCM数据发送到DRAM11并且存储在DRAM11的写入数据区。接着,在步骤S114,CPU8等待表示存储在DRAM11中用于记录的PCM数据已经完全由其读出的一个中断指令。如上所述,DRAM11一直由DMA控制器监控,并且当写入数据区的自由空间超过一个预定值时向CPU8产生一个中断指令。
一旦到达CPU8等待中断指令的步骤S114,处理就前进到图14B所示的写入中断流程。当DMA控制器在步骤S115向CPU8产生一个表示中断备用状态的中断指令时,处理前进到步骤S116,在此步骤确定写入来自CD55的数据是否已经完成。
如果在步骤S116发现还没有完成,则处理前进到步骤S117。在步骤S117,从CD55再生的预定量的PCM数据传送到DRAM11并且存储在DRAM11所准备的写入数据区中。接着,存储在DRAM11中的PCM数据由DRAM11读出并且提供给压缩编码器12。
另一方面,如果在步骤S116确定由CD55提供的写入数据已经完全结束,则处理前进到步骤S118,在此步骤中压缩编码器12设置为操作结束状态。从CD55到HDD10的写处理由此结束。
另外,上述播放中断处理和写入中断处理的设置使播放中断处理比写入中断处理具有更高的优先级。而且,图14A所示写处理的主处理被控制为在图13A所示播放处理的主处理已经进入中断备用状态后开始。
图15的序列图表更详细地表示在各种部件中的数据流的例子。图15所示的序列分别对应于上述的步骤S50-S53、S60和S61。首先,用于播放的10秒钟的PCM数据通过高速再生而从CD55中读出并且累积在DRAM11中(SEQ70)。在DRAM11中累积的PCM数据以小数量单位读出。读出的PCM数据提供给D/A转换器22并且在转换成模拟信号之后再生为声音(SEQ71)。在累积在DRAM11中的10秒的PCM数据已全部读出的定时,下一组PCM数据从CD55中读出(SEQ72)。
图15表示在步骤顺序SEQ71中仅从DRAM11中读出数据一次。但事实上,数据在合适的定时从DRAM11中读出几次,直到步骤顺序SEQ72为止。从DRAM11中读出用于播放的PCM数据是优先执行的,这样再生的声音将不会中断。另外,术语“10秒的PCM数据”表示在再生为声音时持续10秒钟播放时间的PCM数据。
在上述步骤顺序SEQ70和SEQ71执行播放期间,同时执行从CD55上的另一个存储位置读出PCM数据并且将读出的数据写入HDD10的处理。在PCM数据已经在上述步骤顺序SEQ70中从CD55读出之后,要写入HDD10的PCM数据通过下一个步骤顺序SFQ80而从CD55中读出。读出的PCM数据在步骤顺序SEQ81发送到压缩编码器22以用于压缩编码。通过编码和压缩PCM数据而产生的ATRAC数据在步骤顺序SEQ82中在DRAM11中累积。当包括一个预定首部的32k字节的ATRAC数据累积在DRAM11中时,累积的ATRAC数据从DRAM11中读出并且读出的ATRAC数据发送到HDD10以用于写入。
图15所示对应于步骤顺序SEQ81只执行步骤顺序SEQ82一次。但事实上,如上所述,由于ATRAC数据以424个字节为单位从压缩编码器22发送到DRAM11,所以步骤顺序SEQ82重复77次。
另一方面,当累积在DRAM11中用于写入的PCM数据在上述步骤顺序SEQ81中全部读出时,已经在上述步骤顺序SEQ80中CD55读出的PCM数据的随后的下一组PCM数据在步骤顺序SEQ84中从CD55读出并且累积在DRAM11中。在上述步骤顺序SEQ81和SEQ82中,当通过压缩编码器22执行的PCM数据的压缩编码结束时,已经在步骤顺序SEQ84中在DRAM11中累积的PCM数据发送到压缩编码器22(SEQ85)。接着,在步骤顺序SEQ86,通过压缩编码器22编码和压缩的ATRAC数据累积在DRAM11中。当预定量的ATRAC数据累积在DRAM11中时,在步骤顺序SEQ87,累积的ATRAC数据从DRAM11中读出并且写入HDD10。
而且,当累积在DRA M11中的PCM数据在步骤顺序SEQ85发送到压缩编码器22时,下一组PCM数据从CD55中读出并且在DRAM11中累积(SEQ88)。当从压缩编码器22到DRAM11的ATRAC数据的传送在步骤顺序SEQ86结束时,累积在DRAM11中的PCM数据从DRAM11发送到压缩编码器22。
通过重复上述的步骤顺序可以再生从CD55读出的PCM数据,同时可从CD55的另一个存储位置上读出PCM数据并且在压缩编码后把读出的数据写入HDD10中。通过在确定表示相应数据的传输已经结束的标记时执行处理可以自动执行这些再生和写入处理。
现在将描述图15所示处理期间的CD-ROM驱动器9的控制。图16表示在再生和写入处理中从CD55一次读出的数据量的例子。假定一首乐曲的播放时间是52秒,并且压缩编码处理在对应于一次读出播放的10秒期间可执行10次。分配给图16所示的各组数据的数表示数据组的读出顺序的实例。如图16A的PCM数据(1),(12),(20),(21),和(22)所示,52秒的数据以10秒为单位从CD55中读出以用于播放。数据(23)表示剩余的2秒数据。另一方面,如图16B的PCM数据(2)-(11)和(13)-(19)所示,为了写入HDD10,数据以对应于压缩编码器12执行压缩编码处理所需的时间的长度为单位从CD55读出。
图17表示在时间坐标上从CD55读出PCM数据的例子。图17中的数字指示对应于图16中的指示,用于播放的10秒的PCM数据(1)首先从CD55中读出并且存储在DRAM11。当PCM数据(1)正在再生时,PCM数据(2),(3),(4),……,(11)被断续读出以用于写入HDD10中。在PCM数据(2)-(11)中,只要每组数据一被读出就存储在DRAM11中,并且在经过压缩编码后写入HDD10中。对应于先前读出用于播放的PCM数据(1)的再生结束的定时,下一个10秒的PCM数据(12)从CD55中读出以用于随后的播放。
在上述的描述中,10秒的PCM数据存储在DRAM11中以用于播放。但如果DRAM11具有足够的容量,则更大量的PCM数据可存储在DRAM11中。相反,对应于5秒或2秒的少量PCM数据也可存储在DRAM11中。
而且,尽管从CD55再生的PCM数据在上面的描述中写入HDD10中,但作为写入源的记录介质并不限于CD55。通过采用适用于相应记录介质的驱动器单元,则也可使用具有约64mm直径的小型磁光盘或者具有由染料形成可记录数据的记录层的CD。而且,半导体存储器可作为写入源使用。
下面将描述实施例的第一改进方案。在上述实施例中,当通过使用按原样直接从CD55读出的PCM数据执行CD55的播放时,记录在CD55上的PCM数据被存储到HDD10中。在这个第一改进方案中,从CD55读出的PCM数据在经过压缩编码后写入HDD10中,并且写入HDD10的ATRAC数据在写入到HDD10的同时在执行CD55的播放时被解码以进行再生。
为了对已经从CD55再生并且在经过压缩编码之后写入HDD10的数据进行解码,这个第一改进方案与上述实施例具有不同的数据流。图18表示适用于第一改进方案的一个结构实例。在图10的结构中加入了压缩解码器21。需要注意的是,在图18中对应于图10的组件以相同的数字表示并且在此不再重复对其的详细描述。
对HDD10执行高速写入的方式与图11所示的上述处理方式相同,因此这里不再描述高速写处理。
参考图19的流程图将描述与高速写入HDD10同时执行的再生处理的数据流。首先,在步骤S70,写入HDD10的ATRAC数据以32k字节为单位从HDD10中读出并且存储在DRAM11中。接着,存储在DRAM11中的ATRAC数据以424个字节为单位从DRAM11中读出并且提供给压缩解码器21(步骤S71)。随后,在步骤S72,通过压缩解码器21解码ATRAC数据而产生的PCM数据以2352个字节为单位存储在DRAM11中。在步骤S73,PCM数据以2352个字节为单位从DRAM11读出并且提供给D/A转换器22以用于转换为模拟音频信号。
图20的序列图表详细示出了在第一改进方案的各种部件中的数据流的实例。图20所示步骤顺序分别对应于上述的步骤S50-S53以及S70-S73。在这个第一改进方案中,执行以高数据速率再生来自CD55的PCM数据并且在经过压缩编码后将再生的PCM数据写入到HDD10的处理方式与图15所示的上述方式相同。
下面将描述在第一改进方案中与写入HDD10同时执行的再生处理。再生处理在通过第一步骤顺序SFQ80从CD55再生的PCM数据经过压缩编码并且由此产生的压缩数据在步骤顺序SEQ83’中已写入HDD10之后开始。在步骤顺序SEQ83’之后,写入HDD10的ATRAC数据在步骤顺序SEQ90中读出并且存储在DRAM11中。存储在DRAM11中的ATRAC数据在步骤顺序SEQ91中读出并且提供给压缩解码器21。在步骤顺序SEQ92,提供给压缩解码器21的ATRAC数据被解码为随后存储在DRAM11中的PCM数据。在步骤顺序SEQ93存储在DRAM11中的PCM数据在适当的定时读出并且提供给D/A转换器22。
在上面的步骤顺序中,步骤顺序SEQ93(步骤S73)的处理设置为具有最高优先级,这样,再生的声音将不会中断。因此,当用于在步骤S73读出的存储在DRAM11中的PCM数据已经变得小于一个预定量时,一旦在步骤S50-S53的写处理期间产生一个中断指令就执行步骤S70-S72的处理。
下面将描述实施例的第二改进方案。在这个第二改进方案中,音频数据在预先经过压缩编码后提供并且记录在诸如CD-ROM的记录或存储介质中,并且音频数据从CD-ROM中读出以用于写入HDD10。在下面的描述中,假定记录在CD-ROM上的音频数据使用基于以下称作MP3的MPEG1(运动图象专家组1)的第3层的压缩编码方法进行编码和压缩。换言之,预先根据MP3进行编码和压缩且以下称作MP3数据的音频数据记录在一个CD-ROM上,并且随后提供给用户。用户可通过下面的步骤获得模拟音频信号,即把从CD-ROM读出的MP3数据解码为PCM数据并且把PCM数据D/A转换为模拟音频信号。
图21表示适用于第二改进方案的一个结构实例。这个结构与图10一种结构的不同之处在于采用的是根据ATRAC法解码MP3数据并且编码和压缩PCM数据的编码器/解码器300,而不是采用一种根据ATRAC法执行解码处理的压缩解码器21。需要注意的是,图21中对应于图10所示的部件以相同的数字表示并且这里不再重复对其的详细描述。
图22的流程图表示在写处理中的数据流实例。首先,记录了MP3数据的CD-ROM装在CD-ROM驱动器9中,并且记录在CD-ROM上的MP3数据被读出。接着,在步骤S80,读出的MP3数据经总线40提供给DRAM11并且存储在DRAM11中。在步骤S81,MP3数据从DRAM11中读出并且提供给编码器/解码器300。
在步骤S82,通过编码器/解码器300解码MP3数据而产生的PCM数据提供给DRAM11。从DRAM11读出的PCM数据在步骤S83再次提供给编码器/解码器300以用于压缩编码为ATRAC数据。ATRAC数据在步骤S84从编码器/解码器300提供给DRAM11。在步骤S85,从DRAM11读出的ATRAC数据以32k字节为单位写入HDD10中。
作为一种替代方法,从CD-ROM读出的MP3数据可以直接写入HDD10中,而不需要根据ATRAC法进行解码和压缩编码。在这种情况下,以图23为例,从CD-ROM读出的MP3数据在步骤S86提供给DRAM11,并且当32k字节的MP3数据累积在DRAM11中时,在步骤S87,MP3数据从DRAM11中读出并且写入到HDD10中。
图24的流程图表示在记录在CD-ROM上的MP3数据在进行再生处理时的数据流首先,在步骤S90,记录在CD-ROM上的MP3数累积据从CD-ROM中读出并且存储在DRAM11中。接着,在步骤S91,存储在DRAM11中的MP3数据由此读出并且提供给编码器/解码器300。通过编码器/解码器300解码MP3数据所产生的PCM数据在步骤S92存储在DRAM11中。从DRAM11读出的PCM数据提供给D/A转换器22以用于在步骤S93转换为模拟音频信号。
图25的序列图表更详细地示出根据第二改进方案的各种部件中的数据流实例。图25表示的情况是记录在CD-ROM上的MP3数据被解码为PCM数据,并且PCM数据根据ATRAC法进行编码和压缩以用于写入HDD10中。因此,图25所示的步骤顺序分别对应于上述的步骤S80-S85以及S90-S93。而且,在图25中,为了方便起见,编码器/解码器300被分为一个编码器和一个解码器。
在再生处理时,从CD-ROM读出的MP3数据在步骤顺序SEQ100存储在DRAM11中。在步骤顺序SEQ101,MP3数据从DRAM11读出并且提供给解码器。通过解码器解码MP3数据所产生的PCM数据在步骤顺序SEQ102存储在DRAM11中。在步骤顺序SEQ103,当预定量的PCM数据存储在DRAM11中时,PCM数据从DRAM11中读出并且提供给D/A转换器22。此步骤顺序SEQ103在适当的定时执行以使再生的声音不中断。
当存储在DRAM11中的MP3数据在上述步骤顺序SEQ101中全部读出时,在步骤顺序SEQ104,下一组MP3数据从CD-ROM中读出并且存储在DRAM11中。在上述步骤顺序SEQ102中结束解码器的解码处理之后,读出的MP3数据在步骤顺序SEQ105提供给解码器。
在写处理中,在上述步骤顺序SEQ103,当PCM数据提供给D/A转换器22并且开始再生为模拟音频信号时,从CD-ROM读出的MP3数据在步骤顺序SEQ110存储在DRAM11中。接着,存储在DRAM11中的MP3数据在步骤顺序SEQ111提供给解码器以用于解码为PCM数据。在步骤顺序SEQ112,通过解码MP3数据产生的PCM数据存储在DRAM11中。在步骤顺序SEQ113,存储的PCM数据从DRAM11中读出并且提供给编码器。在步骤顺序SEQ114,读出的PCM数据通过编码器编码并压缩为ATRAC数据并且存储在DRAM11中。接着,在步骤顺序SEQ115,存储在DRAM11中的ATRAC数据从DRAM11中读出并且写入HDD10中。
当存储在DRAM11中的MP3数据在步骤顺序SEQ111全部读出时,在步骤顺序SEQ116,下一组MP3数据从CD-ROM中读出并且存储在DRAM11中。之后,下一个系列的处理步骤顺序的执行方式类似于前个系列的处理步骤顺序的结束之后的执行方式。
在上面的步骤顺序中,步骤顺序103(步骤S93)的处理设置为具有最高优先级,以使再生的声音不中断。因此,当要在步骤S93读出的存储在DRAM11中的MP3数据变得小于一个预定量时,一旦在步骤S80-S85的写处理期间产生一个中断指令就执行步骤S90-S92的处理。
在上面的描述中,本发明被应用于音乐服务器。但本发明并不限于这一种应用,而是还可以应用于便携式记录和播放单元。举例来说,图6所示的便携式记录和播放单元170可作为便携式记录和播放单元的一个例子使用,并且当在音乐服务器50中执行从CD55的高速写入时,连接音乐服务器50的便携式记录和播放单元170的开关电路200的接触端200b被选择。从CD55读出并且经过压缩编码的音频数据因而通过接口34、35以及开关电路200写入HDD/快速RAM106a。在音频数据从音乐服务器50传送到便携式记录和播放单元70的时候,用户还可欣赏从CD55再生的声音。
而且,在上面的描述中,使用实施例的第一改进方案和第二改进方案中的任意一种压缩编码法的音频数据被写入HDD10中。但本发明并不限于这一个例子,而是可以任意选择多种不同的压缩编码方法。具体来说,在音乐服务器50中采用的多种压缩编码器和压缩解码器适用于多种压缩编码方法,这样可以从这些压缩编码方法中选择一种希望的方法。接着,当音频数据写入HDD10时,音频数据根据所选的压缩编码方法进行编码和压缩。在这种情况下,与经过压缩编码后写入HDD10的音频数据相关,表示所选压缩编码方法的一个标记记录在HDD10的一个预定区域中。
在再生处理中,在写处理中采用的压缩编码方法根据与将要再生的数据相关的标记设置而自动确定,并且相应的压缩解码器被选择以用于解码数据。
接着,参考为了更清晰地表示信号流而改写的附图,下面将描述前面的实施例以及其第一和第二改进方案。而且,还将描述前述实施例的第三、第四和第五改进方案。图26、27和28表示前述实施例以及其第一和第二改进方案的功能框图,每个图主要表示信号流。而且,图29、30和31表示前述实施例的第三、第四和第五改进方案的功能框图,每个图主要表示信号流。
图26所示为本实施例的音乐服务器的功能框图,主要表示信号流。图26对应于图10。而且如上所述,以对应于几秒种播放时间的量为单位而从CD55以高比特率读出的PCM数据累积在DRAM11A中。累积的PCM数据以规定用于CD55的块为单位从DRAM11A中读出,并且通过D/A转换器22转换为模拟音频信号。接着,声音通过放大器23由扬声器24再生,这在图26中并未示出。
另一方面,在从上述对CD55中用于播放的PCM数据的前一个读出到对用于播放的PCM数据的下一个读出的周期期间,所执行的对用于写入的PCM数据的读出在预定的地址控制之下,并且读出的PCM数据累积在DRAM11B中。累积在DRAM11中的PCM数据对应于压缩编码器12中的压缩处理比特率而一点一点地读出。在此假定压缩编码器12根据ATRAC方法编码和压缩PCM数据。已经在压缩编码器12中经过压缩编码的压缩音频数据累积在DRAM11C中。当对应于为HDD10所设置的数据写单位的预定量的压缩音频数据累积在DRAM11C中时,对应于HDD10所设置的数据写单位的压缩音频数据从DRAM11C读出并且写入HDD10中。
DRAM11A、11B和11C可分配作为DRAM11的不同区域。
实际上,图26中未示出的用于播放CD55的CD-ROM驱动器9、DRAM11A、11B和11C、压缩编码器12、D/A转换器22以及HDD10是通过一条数据总线连接的。这条数据总线通过一个桥接电路与一条连接未示出的CPU8的控制总线连接。CD-ROM驱动器9、压缩编码器12、D/A转换器22以及HDD10均配备了DMA控制器。
数据总线的使用权可通过CD-ROM驱动器9、压缩编码器12、D/A转换器22和HDD10中任意一个相应DMA来获得,DMA由CPU控制以便于在下述实时OS(操作系统)的任务管理的情况下能够彼此同步。通过随后的详细描述,DRAM11A、11B和11C以及HDD10的写和读的定时以及其它处理的定时将根据任务管理来确定。
DRAM11A、11B和11C每个都由两个存储单元组成,这样,当两个存储单元中的一个处于允许写入状态时,另一个则处于允许读出状态。因此,每个DRAM都可以同时进行写和读。借助于表示满和空状态的状态标记,两个存储单元在任务管理的控制下同时使用。结果,在DRAM1A、11B和11C的每一个中的两个存储单元间的转换定时以及读出或写入每个DRAM的定时以一种预定的方式进行控制。
举例来说,当数据写入DRAM11A的一个存储单元时,数据可以从另一个存储单元中读出。当写入一个存储单元或从另一个存储单元读出的处理结束时,两个存储单元在预定的定时控制下进行转换以使下一个数据写入另一个存储单元并且这个存储单元中得数据被读出。
需要注意的是,上述的总线配置和任务管理方案与图26-31所示的音乐服务器相同。
图27所示为根据实施例第一改进方案的音乐服务器的功能框图,主要以实例表示信号流。图27对应于图18。在第一改进方案中,以高比特率从CD55读出的PCM数据在经过压缩编码后写入HDD。在写的同时,写入HDD10的压缩音频数据被解压以获得一个播放输出。
具体来说,以高比特率从CD55读出的PCM数据在DRAM401A中累积。累积的PCM数据根据为压缩编码器12所设置的数据处理单位而从DRAM401A中读出,并且提供给压缩编码器12以用于通过ATRAC法进行编码和压缩。PCM数据在压缩编码器12中进行编码和压缩,并且由此产生的压缩音频数据被输出且累积在DRAM401B中。当对应于为HDD10所设置的数据写单位的遇到量的压缩音频数据累积在DRAM401B中时,压缩的音频数据被读出并且提供给HDD10以用于在此进行写入。
另一方面,通过上述写处理写入HDD10的压缩音频数据在写处理的同时从HDD10中读出。举例来说,在压缩的音频数据以对应于为HDD10所设置的数据写单位的量累积在DRAM401B的期间,压缩的音频数据从HDD10中读出。从HDD10读出的压缩音频数据累积在DRAM401C中。累积在DRAM401C中的压缩音频数据以对应于为压缩解码器21所设置的数据处理单位的量为单位读出,并且提供给压缩解码器21。
提供给压缩解码器21的压缩音频数据被解压并且作为PCM数据输出。由压缩解码器21输出的PCM数据在DRAM401D中累积。在DRAM401D中累积的PCM数据以对应于D/A转换器22的转换比特率的一个预定比特率读出。读出的PCM数据通过D/A转换器22转换为模拟音频信号并且通过扬声器24再生为声音。
与图26的例子相同,DRAM401A-401D每个都由两个存储单元组成,这样可以同时执行数据从一个存储单元读出并且数据写入另一个存储单元的处理。把数据读出和写入CD-ROM驱动器9、HDD10以及DRAM401A-401D的定时是在这些部件中提供的各个DMA间同步的任务管理的控制下以一种预定方式进行控制的。结果,压缩的音频数据以一种预定的方式写入HDD10中,同时确保从D/A转换器22输出的模拟音频信号将不会中断。DRAM401A-401D将被分配作为DRAM401的不同区域。或者是由四个独立的DRAM构成。
图28所示为根据实施例第二改进方案的音乐服务器的功能框图,主要以实例表示信号流。图28对应于图21。在第二改进方案中,以第一压缩编码方法编码和压缩的格式输出的压缩音频数据被解压和再生。而且,解压的PCM数据通过第二压缩编码方法进行压缩并且写入HDD10中。
举例来说,假定第一种压缩编码方法是MP3,并且第二种压缩编码方法是ATRAC。为了简便起见,在下面的描述中,使用ATRAC法编码和压缩PCM数据的压缩编码器12称作ATRAC编码器12,并且使用相同方法对压缩的PCM数据进行解压的压缩解码器21称作ATRAC解码器21。类似地,使用MP3法编码和压缩数据的编码器称作MP3编码器,并且以相同方法对压缩数据进行解压的解码器称作MP3解码器。
通过MP3法编码和压缩的音频数据(以下称作MP3数据)以记录在CD-ROM404上的形式提供。从CD-ROM404读出的MP3数据在DRAM402A中累积。当MP3数据在DRAM402A中累积的量对应于为MP3解码器403所设置的数据处理单位时,累积在DRAM402A中的MP3数据被读出并且提供给MP3解码器403。MP3数据通过MP3解码器403进行解压,并且作为随后累积在DRAM402B中的PCM数据输出。
当PCM数据在DRAM402B中累积的量对应于为ATRAC编码器12所设置的数据处理单位时,累积的PCM数据从DRAM402B中读出并且提供给ATRAC编码器12。PCM数据通过ATRAC编码器12进行编码和压缩,并且由此产生的ATRAC数据在DRAM402C中累积。当对应于为HDD10所设置的数据写单位的预定量的ATRAC数据累积在DRAM402C中时,累积的数据被读出并且提供给HDD10以用于写入其中。
另一方面,累积在DRAM402B中的PCM数据还在上述写处理的同时被读出。读出的PCM数据提供给D/A转换器22以用于转换为模拟音频信号,并且通过图28中未示出的放大器23而由扬声器24作为声音再生。
与图26和27的例子相同,DRAM402A-402C每个都由两个存储单元组成。举例来说,在DRAM402B中,当一个存储单元设置为从其读出数据的状态时,另一个存储单元设置为允许写入状态。由MP3解码器403提供的PCM数据累积在DRAM402B的一个存储单元中。同时,PCM数据以对应于为ATRAC编码器12设置的数据处理单位的量为单位而从DRAM402B的另一个存储单元中读出,被读出并且提供给ATRAC编码器12。
而且,图28中未示出的CD-ROM驱动器9以一种预定方式进行地址控制以读出一部分MP3数据,其中MP3数据记录在CD-ROM404上并且用于播放。读出的MP3数据通过DRAM402A和MP3解码器403而以一种预定的方式进行处理,并且由此产生的PCM数据在DRAM402B的另一个存储单元中累积。在另一个存储单元中累积的PCM数据被读出并且提供给D/A转换器22,同时,用于写入的PCM数据在DRAM402B的这一个存储单元中累积。
如上所述,用于写入的PCM数据从DRAM402B中读出并且提供给ATRAC编码器12。接着,PCM数据通过ATRAC编码器12进行编码和压缩,并且由此产生的ATRAC数据在DRAM402C中累积。当ATRAC数据对应于为HDD10所设置的数据写入单位而累积在DRAM402C中时,累积的ATRAC数据以对应于为HDD10所设置的数据写入单位的量DRAM402C中读出并且写入HDD10。
在第二改进方案中,CD-ROM驱动器9中的CD-ROM404的读出控制、DRAM402A-402C的控制以及HDD10的写/读控制在这些部件中提供的各个DMA间同步的任务管理的控制下通过使用预定的定时控制来执行。结果,再生和写入处理如上所述执行。因而可以把从CD-ROM404读出的MP3数据转换为ATRAC数据并且把ATRAC数据写入HDD10中,同时处理从CD-ROM404读出的MP3数据以用于播放。
另外,在第二改进方案中,在DRAM402C累积的ATRAC数据被导入一个输出端410以用于直接输出到外部。
图29所示为根据实施例第三改进方案的音乐服务器的功能框图,主要以实例表示信号流。在第三改进方案中,以第一压缩编码方法编码和压缩的格式输入的压缩音频数据被解压。解压的PCM数据通过第二压缩编码方法进行编码和压缩,并且接着写入HDD10中。与上述的写处理同步,写入HDD10的压缩音频数据被读出并被解压以用于播放。
假定第一种压缩编码方法是MP3,并且第二种压缩编码方法是ATRAC。通过MP3法编码和压缩的音频数据以记录在CD-ROM404上的形式提供。从CD-ROM404读出的MP3数据在DRAM405A中累积。当MP3数据在DRAM405A中累积的量对应于为MP3解码器403所设置的数据处理单位时,累积在DRAM405A中的MP3数据被读出并且提供给MP3解码器403。
MP3数据通过MP3解码器403进行解压,并且由此产生的PCM数据在DRAM405B中累积。当PCM数据在DRAM405B中累积的量对应于为ATRAC编码器12所设置的数据处理单位时,累积的PCM数据从DRAM405B中读出并且提供给ATRAC编码器12。通过ATARC编码器12提供的PCM数据被编码和压缩为ATRAC数据,由此产生的ATRAC数据接着在DRAM405C中累积。当ATRAC数据在DRAM405C中累积的量对应于为HDD10所设置的数据写单位时,对应于为HDD10所设置的数据写入单位的ATRAC数据由DRAM405C读出并且写入HDD10。
另一方面,写入HDD10的ATRAC数据在上述写处理的同时从HDD10中读出。举例来说,在ATRAC数据在DRAM405C中以对地应于为HDD10所设置的数据写单位的量为单位累积期间,ATRAC数据从HDD10中读出。从HDD10读出的ATRAC数据在DRAM405D中累积。在DRAM405D中累积的ATRAC数据以对应于为ATRAC解码器21所设置的数据处理单位的单位而读出,并且提供给ATRAC解码器21。
所提供的ATRAC数据由ATRAC解码器21进行解压,并且作为PCM数据输出。由ATRAC解码器21输出的PCM数据在DRAM405E中累积。在DRAM405E中累积的PCM数据以对应于D/A转换器22的转换比特率的一个预定比特率读出。读出的PCM数据由D/A转换器22转换为模拟音频信号,并且通过扬声器24作为声音再生。
与图26至28的例子相同,DRAM405A-405E每个都由两个存储单元组成。从CD-ROM驱动器9以及HDD10读出ATRAC数据的定时,以及把数据写入和读出DRAM405A-405E的定时是在这些部件中提供的各个DMA之间同步的任务管理的情况下以一种预定的方式进行控制的。结果。ATRAC数据以一种预定的方式写入HDD10中,同时确保由D/A转换器22输出的模拟音频信号不中断。
图30所示为根据实施例第四改进方案的音乐服务器的功能框图,主要以实例表示信号流。第四改进方案的构建方式基本上与第一改进方案相同。具体来说,以第一压缩编码法编码和压缩的格式输入的压缩音频数据被解压。解压的PCM数据通过第二压缩编码法进行编码和压缩,并且接着写入HDD10中。与上述的写处理同步,写入HDD10中的压缩音频数据被读出和解压以用于播放。
在图27中以实例形式表示的第一改进方案中,与数据写入到HDD10的处理同步,写入HDD10的同样的数据也被读出以用于播放。对比来说,在第四改进方案中,从HDD10读出用于播放的数据与写入HDD10的数据不同。
假定一些ATRAC数据预先写入HDD10中。以高比特率从CD55读出的PCM数据在DRAM406A中累积。累积的PCM数据以对应于为ATRAC编码器12所设置的数据处理单位的量为单位读出,并且提供给ATRAC编码器12。所提供的PCM数据通过ATRAC编码器12进行编码和压缩,并且随后作为ATRAC数据输出。由ATRAC编码器12输出的ATRAC数据在DRAM406B中累积。当对应于为HDD10所设置的数据写入单位的预定量的ATRAC数据累积在DRAM406B中时,ATRAC数据被读出并且提供给HDD10以用于在此写入。
另一方面,预先写入HDD10的其它ATRAC数据与上述写处理同步从HDD10中读出。举例来说,在ATRAC数据在DRAM406B中以对应于为HDD10所设置的数据写入单位的量为单位进行累积期间,其它的ATRAC数据从HDD10中读出。在DRAM406C中累积的ATRAC数据以一个预定比特率读出并且提供给ATRAC解码器21。
提供给ATRAC解码器21的ATRAC数据被解压并且作为PCM数据输出。由ATRAC解码器21输出的PCM数据在DRAM406D中累积。累积在DRAM406D中的PCM数据以对应于D/A转换器22的转换比特率的一个预定比特率读出。读出的PCM数据由D/A转换器22转换为模拟音频信号并且通过扬声器24进行再生。
与图27的例子相同,DRAM406A-406D每个都由两个存储单元组成。从图30中未示出的CD-ROM驱动器9读出数据的定时,把数据写入HDD10的定时,从HDD读出ATRAC数据的定时,以及把数据写入或读出DRAM406A-406D的定时是在这些部件中提供的各个DMA间同步的任务管理的情况下以一种预定的方法进行控制的。结果,在确保由D/A转换器22输出的模拟音频信号不会中断的同时,数据能够以预定方式读出或写入HDD10。
图31所示为根据实施例第五改进方案的音乐服务器的功能框图,主要以实例的形式表示信号流。第五改进方案包括对应于不同压缩编码方法的多个压缩编码器和压缩解码器,以及一个用于选择多个压缩编码器和压缩解码器的输入和输出端的选择器。具有这种配置的第五改进方案适用于多种用于压缩由声音源420提供的音频数据的压缩编码方法,并且可在多种压缩编码方法中选择一种希望的方法以压缩由声音源420提供的PCM数据。而且,第五改进方案还可把用于压缩由声音源420提供的音频数据的压缩编码方法转换成另一种方法。
在图31的音乐服务器中,声音源420不仅可以是上述的CD55或CD-ROM404,而且还可以是一个线路输入。另外,声音源420可通过从半导体存储器中读出音频数据而给出。在本例中,PCM、ATRAC、MP3和AAC(高级音频编码)可作为音频数据的兼容格式使用。当然,可采用的压缩编码方法并不限于这些。通过准备附加的压缩编码器和解码器,音频服务器可适用于其它的压缩编码方法。为了方便起见,假定在下面的描述中声音源420作为记录在CD-ROM上的MP3数据提供。下面将描述对用于播放的MP3数据进行解压的处理,以及同时进行的再生处理,以及把MP3数据转换成ATRAC数据以用于写入HDD10的处理。
另外,与图26至30的例子相同,DRAM421A-421C每个都由两个存储单元组成,这样,当两个存储单元中的一个处于允许写入状态时,另一个则处于允许读出状态。
从声音源420读出的MP3数据在DRAM421A的一个存储单元中累积。当在DRAM421A的一个存储单元中累积了预定量的MP3数据时,累积的MP3数据被读出并且提供给选择器422A。选择器422A和下述的选择器422B、423A以及423B全部由控制器428控制。控制器428读出累积在DRAM421A中的音频数据的首部信息并且根据读出的首部信息确定音频数据是否经过了编码和压缩,并且如果确实如此,则确定采用哪一种压缩编码方法。根据确定的结果,控制器428输出控制信号以用于控制选择器422A、422B、423A和423B。
如果控制器428确定从声音源420读出的音频数据通过MP3方法进行编码和压缩,则选择器422A的输出端422E被选择。而且,在选择器423A和423B具有共用输入端的图31的例子中,共用输入端423E被选择。从DRAM421A读出的MP3数据通过选择器422A提供给MP3编码器/解码器426。所提供的MP3数据通过MP3编码器/解码器426的解码器部分进行解压并且作为PCM数据输出。
MP3编码器/解码器426输出的PCM数据通过具有所选输入端423E的选择器423A提供给D/A转换器22。所提供的PCM数据转换为模拟音频信号并且通过扬声器再生为声音。
在数据从DRAM421A的一个存储单元读出期间,从声音源420读出的MP3数据在DRAM421A的另一个存储单元中累积。DRAM421A的一个存储单元和另一个存储单元的转换是以预定的定时控制的,这样,在另一个存储单元中累积的MP3数据以对应于为MP3编码器/解码器426所设置的数据处理单位的量为单位读出,并且通过选择器422A提供给MP3编码器/解码器426。
所提供的MP3数据由MP3编码器/解码器426解压缩为PCM数据,接着,PCM数据通过具有所选输入端423E的选择器423B在DRAM421的一个存储单元中累积。当PCM数据以对应于为HDD10所设置的数据写入单位的量累积在DRAM421B中时,在DRAM421的一个存储单元中累积的PCM数据被读出并且写入HDD10。
通过上述写处理写入HDD10的PCM数据在进行写处理的同时从HDD10中读出。举例来说,在下一组PCM数据在DRAM421B中以对应于为HDD10所设置的数据写入单位的量为单位累积期间,通过上述写处理写入HDD10的PCM数据被读出。从HDD10读出的PCM数据在DRAM421C的一个存储单元中累积。
在本例中,如上所述,假定音频数据在经过ATRAC法的压缩编码后写入HDD10中。因此,在图31中,在与选择器422A共用一个输出端的选择器422B中选择输出端422D。在DRAM421C的一个存储单元中累积的PCM数据以对应于为ATRAC编码器/解码器425的编码器部分所设置的数据处理单位的量为单位读出,并且通过选择器422B提供给ATRAC编码器/解码器425。
提供给ATRAC编码器/解码器425的PCM数据经过压缩编码处理并且由此产生的ATRAC数据被输出。此时,在由DRAM421B的一个存储单元读出的PCM数据被写入HDD10的期间,选择器423B的一个输出端423D被选择。因此,由ATRAC编码器/解码器425输出的ATRAC数据提供给DRAM421B并且在其另一个存储单元中累积。接着,在由DRAM421B的一个存储单元读出的PCM数据未写入HDD10的周期期间,ATRAC数据从DRAM421B的另一个存储单元中读出并且写入HDD10。
在上面的处理中,把数据读出和写入DRAM421A、421B和421C的定时,选择器423B转换的定时,以及把数据读出和写入HDD10的定时是在这些部件中提供的各个DMA之间同步的任务管理下进行控制的,这样,从D/A转换器22输出的模拟音频信号将不会中断并且把数据写入HDD10的处理是以一种预定的方式执行的。
另外,在第五改进方案中,在DRAM421B累积的数据可导入输出端429。通过使用提供的输出端429,在DRAM421B中累积的数字音频数据可通过诸如IEEE1394接口直接输出到外部。
而且,在上述的处理中,从MP3编码器/解码器426输出并且写入HDD10的PCM数据可以在该PCM数据从HDD10读出并且累积在DRAM421C中后删除而且,当把数据写入HDD10中时,通过选择选择器422A的输出端422C和选择器423B的输出端423C,由声音源420提供的音频数据能够以相同的格式直接写入HDD10中。
如上所述,根据本发明的音乐服务器部件可使用实时操作系统(OS)控制。在下文中,将简要描述实时OS,并且接着将描述使用实时OS控制上述实施例及其第一和第五改进方案的情况。
实时OS是一个多任务OS,它能够同时执行多个任务,并且可用于在出现事件时,即在外部请求出现时以最大速度执行处理。图32所示为适用于本发明的实时OS的基本概念。每个任务分配有三种状态,即操作状态、备用状态和允许操作状态。每个任务都处于标记管理的控制之下,这样,当任务从操作状态转换为备用状态时,则发出一个用于指示该任务等待一个标记的命令waitFlag,并且当任务从备用状态转换为允许操作状态时,则发出一个用于为标记设置一个值的命令setFlag。
而且,多个任务可同时存在,并且可分别向多个任务分配优先级。实时OS把执行权传送给处于允许操作状态且具有最高优先级的一个任务。
因此,一旦出现一个事件,实时OS就能够在处于允许操作状态中的任务中从一个任务高速转换到另一个任务。在本发明的这个例子中,事件仅仅通过使用事件标记产生图33表示由实时OS执行的多任务的任务控制实例。具体来说,图33以实例表示执行任务1、2和3的情况,实时OS给定它们的优先级分别是“高”、“中”和“低”。分别表示任务2和3的Flag1和Flag2均设置为Empty(空)或Full(满),以表示每个任务的状态。
图33的垂直轴表示由实时OS执行的处理,从左到右为任务1、任务2和任务3。由实时OS执行的CPU的实际操作由任务间延伸的实线表示。而且,每个任务的操作状态、备用状态以及允许操作状态分别以虚线、断线和实线表示。CPU根据Flag1和Flag2的值监控任务并且分配任务以执行下面的处理。
如图33所示,具有最高优先级的任务1首先使用值Empty初始化标记Flag1,接着使用值Empty初始化标记Flag2。随后,任务1等待由命令waitFlag(Flag2,Full)给出的标记Flag2的值Full,并且等待由命令waitFlag(Flag1,Full)给出的标记Flag1的值Full。执行此处理之后,标记Flag2由命令setFlag(Flag2,Empty)设置为值Empty,并且标记Flag1由命令setFlag(Flag1,Empty)设置为值Empty。上述从命令waitFlag(Flag2,Full)到命令setFlag(Flag2,Empty)的处理顺序被重复,直到其完成为止。
另一方面,具有紧随任务1的第二优先级的任务2在等待由命令waitFlag给出的标记Flag1的值Empty后执行处理2。在处理2之后,标记Flag1通过命令setFlag设置为值Empty。任务2的上述处理顺序被重复,直到其完成为止。在三个任务中具有最低优先级的任务3的处理顺序类似于任务2的处理顺序。
假定已设置了上述条件。首先,具有最高优先级的任务1进入操作状态,并且标记Flag1和标记Flag2均设置为值Empty。接着发出命令waitFlag(Flag2,Full)。
此时,任务2产生。任务2发出命令waitFlag(Flag1,Empty)。通过使用已经由任务1初始化为值Empty的标记Flag1,在任务返回实时OS之后,任务2就执行作为下一个处理步骤的处理2。在执行处理2之后,命令setFlag(Flag1,Full)被发出以设置标记Flag1为值Full。
任务曾返回至实时OS,但命令WaitFlag(Flag2,Full)仍没有得到满足因而,执行权再一次传送到任务2并且命令WaitFlag(Flag1,Empty)发出。接着,任务返回至实时OS,但即便在此时,命令WaitFlag(Flag2,Full)仍没有得到满足。因此,任务2进入备用状态。
接着,任务3产生。任务3发出命令WaitFlag(Flag2,Empty)。通过使用已经由任务1初始化为值Empty的标记Flag2,在任务返回实时OS之后,任务3执行作为下一处理步骤的处理2。在执行处理3之后,命令SetFlag(Flag2,Full)被发出以设置标记Flag2为值Full。任务3转变为允许操作状态。
任务返回到实时OS。由于现在任务3满足了命令waitFlag(Flag2,Full),则在任务1中执行下一个处理步骤并且发出命令waitFlag(Flag1,Full)。标记Flag1由任务2满足,并且因此任务1执行作为下一个处理步骤的处理1。在执行处理1之后,命令setFlag(Flag2,Empty)被发出并且接着发出命令setFlag(Flag1,Empty)。
如上所述,任务2已经进入等待上述通过在执行处理2之后发出的命令setFlag(Flag1,Empty)所设置的标记Flag1的值Empty的状态。因此,当在任务1中发出命令setFlag(Flag1,Empty)时,任务2转变为允许操作状态。
在图33的例子中,处理顺序接着返回到该环路的开始处,在此处发出一个命令waitFlag(Flag2,Full)。随后,执行权传递到任务2并且执行处理2。
因此,在适用于本发明的实时OS中,任务的操作是通过在任务和实时OS之间传送状态标记进行控制的。在本例中为每个任务传送一个状态标记。结果,每个任务变得简单并且能够以一种简单模式容易地控制多任务的同时处理。
而且,在适用于本发明的实时OS中,优先级如上所述分配给任务。图34示出了当实时OS应用于根据本发明实施例的音乐服务器时的任务间关系的例子。图34还示出了分配给任务的优先级。举例来说,假定使用从0到255的数字来指定优先级,并且较小的数表示较高的优先级。优选级由实时OS管理。
在图34所示的例子中,与在音乐服务器的控制板上执行的键控操作相关的任务KeyTask设置为具有以数字10指定的最高优先级。与显示单元上的显示相关的任务DisplayTask具有以数字150指定的优先级。与MMI(人机接口)相关的任务MMITTask具有以数字100指定的优先级。并且,用于把压缩或未压缩的音频数据写入和读出存储介质的任务StorageTask具有以数字130指定的优先级。
任务CdReadTask具有一个以数字50指定的优先级,该任务涉及从CD-ROM驱动器9读出用于写入的音频数据并且把音频数据写入DRAM11B的处理。任务CoderWriteTask具有一个比任务CdReadTask略低的优先级,并且以数字60指定,任务CoderWriteTask涉及把已经由任务CdReadTask写入存储器的数据提供给压缩编码器或压缩解码器的处理。
任务HdWriteTask具有一个以数字50指定的优先级,该任务涉及把从DRAM11C读出的数据写入HDD10的处理。任务CoderReadTask具有一个比任务HdWriteTask略低的优先级且以数字60指定,任务CoderReadTask涉及把已经从压缩编码器或压缩解码器输出的数据写入存储器的处理。
同样,任务CdPlayTask具有一个以数字50指定的优先级,该任务涉及从CD-ROM驱动器9读出用于播放的PCM数据并且把PCM数据写入DRAM11A的处理。任务PcmWriteTask具有一个略低于任务CdPlayTask的优先级并且以数字60指定,任务PcmWriteTask涉及读出写入DRAM11A的PCM数据并且把读出的PCM数据提供给D/A转换器22的处理。
因此,在涉及DRAM的存取的每组任务中,也就是在每组任务CdReadTask和CoderReadTask,HdWriteTask和CoderReadTask,以及CdPlayTask和PcmWriteTask中,较高的优先级分配给需要较长处理时间的任务。
而且,如图34中的实线和虚线箭头所示,请求和响应在任务之间传送。从图34中还可以看出,每组任务CdReadTask和CoderReadTask,HdWriteTask和CoderReadTask,以及CdPlayTask和PcmWriteTask所指定的优先级都高于任务StorageTask的优先级并且是同时执行。此时,如上所述,实时OS根据任务间传送的标记控制每组任务,这样,任务的执行可以彼此同步。
图35的功能框图表示图34所示的任务分配给上述参考图26的实施例音乐服务器的各个部件的情况。需要注意的是,图35中与图26相同的部件以相同的数字表示,并且在此省略对其的详细描述。而且在图35中,图26中的DRAM11A、11B和11C清晰地表示为每个DRAM由两个存储单元组成,即存储单元D20和D21,存储单元D00和D01,以及存储单元D10和D11。
而且,图35所示每个部件的状态,即DRAM11A、11B和11C、压缩编码器12、D/A转换器22、HDD10以及图35未示出的用于从CD55读出数据的CD-ROM驱动器9的状态总是由CPU8监控。每个被监控部件的状态通过实时OS反映在任务上。
上述各组任务CdReadTask和CoderReadTask,HdWriteTask和CoderReadTask以及CdPlayTask和PcmWriteTask是分别涉及把数据输入或输出DRAM11A、11B和11C的任务。举例来说,DRAM11B的输入侧由任务CdReadTask控制,并且DRAM11B的输出侧由任务CoderReadTask控制。为了进行控制,输入侧指定的优先级高于输出侧指定的优先级,这样存储单元在等待累积在DRAM11B的一个存储单元中的PCM数据达到一个预定量之后进行转换。这种配置同样应用到DRAM11A。
在DRAM11C中,输入侧由任务CoderReadTask控制并且输出侧由任务HdWriteTask控制。为了进行控制,输出侧指定的优先级高于输入侧指定的优先级,这样,存储单元在等待累积在DRAM11C的一个存储单元中的压缩音频数据量对应于为HDD10所设置的数据写单位之后进行转换。
图36示出了对应于图34和35的任务间的处理流程。在图36中,时基在从顶部到底部的方向上表示经过的时间。图36所示任务间请求和提示的传送在使用参考图33上述标记的任务管理的控制下执行。换言之,任务间请求和提示的传送处理是由实时OS根据基于分配给任务的优先级的相关标记的状态来控制的。
当装在CD-ROM驱动器9中的CD55等速播放时,用户在控制板上输入一个播放键输入后就指示装在CD-ROM驱动器9中的CD55的播放。根据该指令,由任务KeyTask向任务MMITask提示播放键输入的事件(SEQ120)。通过响应该提示,由任务MMITask向任务StorageTask提示CD55的播放请求(SEQ121)。
通过响应播放请求,由任务StorageTask向任务CdPlayTask提示启动请求(SEQ122)。在接收到启动请求之后,记录在装在CD-ROM驱动器9中的CD55上的PCM数据在CPU8的控制下根据任务CdPlayTask读出。读出的PCM数据在DRMM11B中累积。而且,通过响应上述启动请求,由任务CdPlayTask向任务PcmWriteTask提示另一个启动请求(SEQ123)。累积在DRAM11A中的PCM数据在任务PcmWriteTask的控制下以一种预定方式提供给D/A转换器22。
接着,下面将描述把记录在CD55上的正在播放的PCM数据进行编码和压缩并且把压缩的PCM数据写入HDD10中的高速写处理。在上述CD55的播放开始之后,PCM数据的高速写入通过用户操作高速Rec键来指示,该键在控制板上提供,用以发出高速写入的指令。根据该指令,由任务KeyTask向任务MMITask提示高速Rec键输入的事件(SEQ130)。通过响应这个提示,一个用于开始高速写入的请求由任务MMITask发送到任务StorageTask(SEQ131)。通过响应高速写入的请求,一个启动请求由任务StorageTask发送到任务CdReadTask和任务HdWriteTask中的每一个任务(SEQ132和SEQ133)。
用于写入的PCM数据在CPU8的控制下根据已经向其提示了启动请求的任务CdReadTask而从CD55中读出。读出的PCM数据在DRAM11B中累积,同时,由任务CdReadTask向任务CoderReadTask提示另一个启动请求(SEQ134)。这些任务控制从CD55读出PCM数据并且把读出的PCM数据提供给压缩编码器22的处理。
另一方面,已经向其提示了启动请求的任务HdWriteTask控制从DRAM11C读出压缩的音频数据并且控制把读出的压缩音频数据写入到HDD10中。具体来说,一旦向任务HdWriteTask提示启动请求,则任务HdWriteTask就向任务CoderReadTask提示又一个启动请求(SEQ136)。从压缩编码器12输出的压缩音频数据在已经向其提示了启动请求的任务CoderReadTask的控制下在DRAM11C中累积。
而且,任务HdWriteTask控制压缩音频数据从DRAM11C的读出。举例来说,当压缩音频数据以对应于为HDD10所规定的数据写入单位的量累积在DRAM11C中时,压缩的音频数据从DRAM11C中读出并且写入HDD10中。
当高速写入来自CD55的PCM数据的处理结束时,CPU8向任务CoderWriteTask提示高速写入的结束,并且表示高速写入结束的结束提示由任务CoderWriteTask传送到任务CdReadTask(SEQ136)。在已经接收到结束提示的任务CdReadTask的控制下,从CD55读出用于写入的PCM数据的处理结束,此时由任务CdReadTask向任务StorageTask发送一个结束提示(SEQ138)。
CPU8也向任务CoderReadTask提示高速写入来自CD55的PCM数据的处理结束。已经接收到该提示的任务CoderReadTask把该结束提示传送给任务HdWriteTask(SEQ137)。接着,该结束提示由已经接收到该提示的任务HdWriteTask传送到任务StorageTask(SEQ139)。
在任务StorageTask中,一旦接收到来自任务CdReadTask和任务HdWriteTask中的每一个任务的结束提示,则一个表示高速写入结束的提示传送到任务MMITask(SEQ140)。
而且,与读出CD55中用于播放的PCM数据的处理有关,当PCM数据从CD55读出的处理结束时,CPU8向任务PcmWriteTask提示读出结束。已接收到该提示的任务PcmWriteTask把该结束提示传送给任务CdPlayTask(SEQl41),并且该结束提示接着由任务CdPlayTask传送到任务StorageTask(SEQ142)。随后,由任务StorageTask向任务MMITask提示CD55的等速播放结束(SEQ143)。
参考图37、38和39的流程图将更详细地描述实时OS执行的上述控制,特别是DRAM11A、11B和11C中的存储单元控制。图37的流程图表示由任务CdReadTask和任务CoderWriteTask执行的处理实例。具体来说,图37中的A表示由任务CdReadTask执行的处理,并且图37中的B表示由任务CoderWriteTask执行的处理。而且,在图37的A和B中,步骤S114、S116、S117、S121和S123表示由实时OS执行的处理。
在A中,当任务CdReadTask接收到一个来自任务StorageTask的启动请求时,表示DRAM11B的状态的状态标记在步骤S110被初始化,这样DRAM11B的一个存储单元D00和另一个存储单元D01均设置为Empty状态,表示相关的存储单元为空。例如,假定存储单元D00的标记是Flag00且存储单元D01的标记是Flag01,则Flag00和Flag01的值均设置为“Empty”。
在DRAM11B的存储单元的状态标记初始化之后,在步骤S111,一个启动请求由任务CdReadTask发送到任务CoderWriteTask。通过响应该启动请求则开始图37的流程图B所示的处理。随后将描述B的流程图。
接着,在A中,在下一步骤S112确定PCM数据是否已经完全从CD55中读出。如果读出已经完成,则处理流程前进到步骤S117,在此步骤,CPU等待来自任务CdReadTask的一个结束提示。例如,通过CPU监视CD55的操作来确定PCM数据是否已经完全从CD55中读出。确定结果提示给实时OS。
另一方面,如果在步骤S112确定还没有完全从CD55中读出PCM数据,则处理流程前进到步骤S113,在此步骤,DRAM11B的存储单元设置为存储单元D00。通过在步骤S113的存储单元设置,两个存储单元交替变换,这样,只要从S112开始的处理成为一个回路,则所选存储单元以下面的顺序改变,即存储单元D00、存储单元D01、存储单元D00……。在步骤S113,由任务CdReadTask从CD55读出的PCM数据累积在DRAM11B中。
在下一步骤S114,由任务CdReadTask发出命令waitFlag,并且实时OS进行等待直到在步骤S113设置的DRAM11B的存储单元(假定为D00)进入Empty状态为止。如果存储单元D00进入Fmpty状态,则处理流程前进到步骤S115。
在步骤S115,PCM数据以对应于在步骤S113设置的DRAM11B的存储单元(存储单元D00)的容量的量从CD55中读出。读出的PCM数据DMA-传送到DRAM11B的存储单元D00并且写入存储单元D00。
当预定量的PCM数据写入存储单元D00时,任务CdReadTask在下一个步骤S116发出命令setFlag,从而存储单元D00的状态标记设置为Full。在完成标记设置后,处理流程返回到步骤S112。
另一方面,流程图B所示的处理在上述步骤S111的处理之后开始。具体来说,当在步骤S111向任务CoderWriteTask发送启动请求时,DRAM11B的存储单元在步骤S120设置为存储单元D00。通过在步骤S120的存储单元设置,两个存储单元交替变换,这样,只要开始于下述步骤S124的处理成为一个回路,则所选存储单元以下面的顺序改变,即存储单元D00、存储单元D01、存储单元D00……。
在下一个步骤S121,命令waitFlag由任务CoderWriteTask发出,并且实时OS进行等待,直到在步骤S120设置的DRAM11B的存储单元(假定为D00)进入Full状态为止否则,在步骤S121,CPU等待步骤S116的处理结束。如果存储单元D00进入Full状态,则处理流程前进到步骤S122。
在步骤S122,PCM数据以对应于存储单元D00的容量的量为单位从在步骤S120设置的DRAM11B的存储单元(存储单元D00)中读出。读出的PCM数据DMA-传送到压缩编码器12并且写入压缩编码器12的一个处理存储器中。
如果在步骤S122从DRAM11B的存储单元D00中读出预定量的PCM数据,则处理流程前进到下一步骤S123。在步骤S123,任务CoderWriteTask发出命令setFlag并且存储单元D00的状态标记设置为Empty状态。
在标记设置结束之后,处理流程前进到步骤S124,在此步骤中,确定PCM数据是否已经完全从CD55中读出。如果确定PCM数据还没有完全从CD55中读出,则处理流程返回到步骤S120。
另一方面,如果在步骤S124确定PCM数据已经完全从CD55中读出,则一个结束提示由任务CoderWriteTask发送到任务CdReadTask,从而结束图37B所示的一系列处理。随后,如果任务CdReadTask在上述步骤S117接收到来自任务CoderWriteTask的结束提示,则结束图37的A和B所示的一系列处理。
接着,参考图38的A和B所示的流程图描述由任务HdWriteTask和任务CoderReadTask执行的处理实例。A表示由任务HdWriteTask执行的处理,并且B表示由任务CoderReadTask执行的处理。需要指出的是,在图38的A和B中,步骤S134、S136、S137、S141以及S143表示由实时OS执行的处理。
在图38的A中,当任务HdWriteTask接收到一个来自任务StorageTask的启动请求时,表示DRAM11C的状态的状态标记在步骤S130被初始化,这样DRAM11C的一个存储单元D10和另一个存储单元D11均设置为Empty状态,表示相关的存储单元为空。
在DRAM11C的存储单元的状态标记已经初始化后,在步骤S131,一个启动请求由任务HdWriteTask发送到任务CoderReadTask。通过响应该启动请求则开始图38的流程图B所示的处理。随后将描述图38B的流程图。
接着,在A中,在下一步骤S132确定由压缩编码器12进行的PCM数据的压缩编码是否已经完成,并且压缩编码器12提供压缩音频数据的处理是否已经完成。如果压缩编码器12提供压缩音频数据的处理已经完成,则处理流程前进到步骤S137,在此步骤,CPU等待来自任务CoderWriteTask的一个结束提示。例如,通过CPU监视压缩编码器12的操作来确定压缩编码器12是否已经完成PCM数据的编码和压缩。确定结果提示给实时OS。
另一方面,如果在步骤S132确定压缩编码器12提供压缩音频数据的处理还没有完成,则处理流程前进到步骤S133,在此步骤,DRAM11C的存储单元设置为存储单元D10。通过在步骤S133的存储单元设置,两个存储单元交替变换,这样,只要开始于步骤S132的处理成为一个回路,则所选存储单元以下面的顺序改变,即存储单元D10、存储单元D11、存储单元D10……。由任务HdWriteTask写入HDD10的压缩音频数据从在步骤S133设置的DRAM11C的存储单元中读出。
在下一步骤S134,由任务HdWriteTask发出命令waitFlag,并且实时OS进行等待直到在步骤S133设置的DRAM11C的存储单元(假定为D10)进入Full状态为止。如果存储单元D10进入Full状态,则处理流程前进到步骤S135。
在步骤S135,压缩的音频数据以对应于DRAM11C的存储单元D10的容量的量而从在步骤S133设置的DRAM11C的存储单元(存储单元D10)中读出。从DRAM11C的存储单元D10读出的压缩音频数据DMA-传送到HDD10。
当预定量的压缩音频数据写入HDD10中时,任务HdWriteTask在下一个步骤S136发出命令setFlag,从而DRAM11C的存储单元D10的状态标记设置为Empty。在完成标记设置后,处理流程返回到步骤S132。
另一方面,图38的流程图B所示的处理在上述步骤S131的处理之后开始。具体来说,当在步骤S131向任务CoderReadTask发出启动请求时,在步骤S140,DRAM11C的存储单元设置为存储单元D10。通过在步骤S140的存储单元设置,两个存储单元交替变换,这样,只要开始于随后描述的步骤S144的处理成为一个回路,则所选存储单元以下面的顺序改变,即存储单元D10、存储单元D11、存储单元D10……。
在下一个步骤S141,命令waitFlag由任务CoderReadTask发出,并且实时OS进行等待,直到在步骤S140设置的DRAM11C的存储单元(假定为D10)进入Empty状态为止。否则,在步骤S141,CPU等待步骤S136的处理结束。如果存储单元D10进入Empty状态,则处理流程前进到步骤S142。
在步骤S142,压缩的音频数据以对应于在步骤S140设置的DRAM11C的存储单元(存储单元D10)的容量的量而从压缩编码器12中读出。读出的压缩音频数据从压缩编码器12DMA-传送到DRAM11C的存储单元D10,并且写入存储单元D10中。
如果在步骤S142中预定量的压缩音频数据写入DRAM11C的存储单元D10,则处理流程前进到下一步骤S143。在步骤S143,任务CoderReadTask发出命令setFlag并且存储单元D10的状态标记设置为Full状态。
在标记设置结束之后,处理流程前进到步骤S144,在此步骤确定压缩的音频数据是否已经完全从压缩编码器12中读出。如果确定压缩音频数据还没有完全从压缩编码器12中读出,则处理流程返回到步骤S140。
另一方面,如果在步骤S144确定压缩音频数据已经完全从压缩编码器12中读出,则一个结束提示由任务CoderReadTask发送到任务HdWriteTask,从而结束图B所示的一系列处理。随后,如果在上述步骤S137中任务HdWriteTask接收到来自任务CoderReadTask的结束提示,则结束图38的A和B所示的一系列处理。
图39的A和B流程图表示由任务CdPlayTask和任务PcmWriteTask执行的处理实例。A表示由任务CdPlayTask执行的处理,并且B表示由任务PcmWriteTask执行的处理。需要指出的是,在图39的A和B中,步骤S154、S156、S157、S161以及S163表示由实时OS执行的处理。
在图39的A中,当任务CdPlayTask接收到一个来自任务StorageTask的启动请求时,表示DRAM11A的状态的状态标记在步骤S150被初始化,这样DRAM11A的一个存储单元D20和另一个存储单元D21均设置为Empty状态,表示相关的存储单元为空。
在DRAM11A的存储单元的状态标记初始化之后,在步骤S151,一个启动请求由任务CdPlayTask发送到任务PcmWriteTask。通过响应该启动请求则开始流程图B所示的处理。随后将描述图39的流程图B。
接着,在A中,在下一步骤S152确定CD55的播放是否完成。如果CD55的播放完成,则处理流程前进到步骤S157,在此步骤,CPU等待来自任务CoderWriteTask的一个结束提示。例如,通过CPU8监控CD55的操作来确定CD55的播放是否已经完成。确定结果提示给实时OS。
另一方面,如果在步骤S152确定CD55的播放还没有完成,则处理流程前进到步骤S153,在此步骤,DRAM11A的存储单元设置为存储单元D20。通过在步骤S153的存储单元设置,两个存储单元交替变换,这样,只要开始于步骤S152的处理成为一个回路,则所选存储单元以下面的顺序变化,即存储单元D20、存储单元D21、存储单元D20……。在步骤S133,由任务CdPlayTask再生的CD55的PCM数据在DRAM11A的存储单元中累积。
在下一步骤S154,任务CdPlayTask发出命令waitFlag,并且实时OS进行等待,直到在步骤S153设置的DRAM11A的存储单元(假定为D20)进入Empty状态为止。如果存储单元D20进入Empty状态,则处理流程前进到步骤S155。
在步骤S155,PCM数据以对应于在步骤S153设置的DRAM11A的存储单元(存储单元D20)的容量的量为单位而从CD55中读出。读出的PCM数据DMA-传送到DRAM11A的存储单元D20并且写入存储单元D20中。
当预定量的PCM数据写入存储单元D20时,任务CdPlayTask在下一个步骤S156发出命令setFlag,从而存储单元D20的状态标记设置为Full。在完成标记设置后,处理流程返回到步骤S152。
另一方面,流程图B所示的处理在上述步骤S151的处理之后开始。具体来说,当在步骤S151向任务PcmWriteTask发出启动请求时,在步骤S160,DRAM11A的存储单元设置为存储单元D20。通过在步骤S160的存储单元设置,两个存储单元交替变换,这样,只要开始于随后描述的步骤S164的处理成为一个回路,则所选的存储单元以下面的顺序改变,即存储单元D20、存储单元D21、存储单元D20……。
在下一个步骤S161,命令waitFlag由任务PcmWriteTask发出,并且实时OS进行等待,直到在步骤S160设置的DRAM11A的存储单元(假定为D20)进入Full状态为止。否则,在步骤S161,CPU等待步骤S156的处理结束。如果存储单元D20进入Full状态,则处理流程前进到步骤S162。
在步骤S162,PCM数据以对应于存储单元D20的容量的量而从在步骤S160设置的DRAM11A的存储单元(存储单元D20)中读出。读出的PCM数据DMA-传送到D/A转换器22并且写入D/A转换器22的处理存储器。
如果在步骤S162中预定量的PCM数据从DRAM11A的存储单元D20中读出,则处理流程前进到下一步骤S163。在步骤S163,任务PcmWriteTask发出命令setFlag并且存储单元D20的状态标记设置为Empty状态。
在标记设置结束之后,处理流程前进到步骤S164,在此步骤确定CD55的播放是否已经完成。如果确定CD55的播放还没有完成,则处理流程返回到步骤S160。
另一方面,如果在步骤S164确定CD55的播放已经完成,则一个结束提示由任务PcmWriteTask发送到任务CdPlayTask,从而结束图B中所示的一系列处理。随后,如果在上述步骤S157中任务CdPlayTask接收到来自任务PcmWriteTask的结束提示,则结束图39的A和B所示的一系列处理。
图40更详细地示出了在实施例中的CD55的高速写入处理期间的各种部件中的数据流实例,处理包括DRAM11B和11C中的存储单元变换。根据CD-DA标准,PCM数据以记录单位记录在CD55上,每个记录单位定义为一个2352字节的块。从CD55中一次读出54个块的PCM数据。根据图37和38的上述流程图,对于CD55的每次读出来说,从CD55读出的PCM数据交替累积在存储单元D00和D01中。
在DRAM11B的存储单元D00中累积达到其最大容量的PCM数据以对应于为压缩编码器12所设置的数据处理单位的量为单位读出,并且提供给压缩编码器12。当累积在存储单元D00中的PCM数据全部读出时,DRAM11B的存储单元从D00转换到D01,以使PCM数据连续从DRAM11B中读出。
压缩编码器12把按照数据处理单位提供给它的PCM数据进行编码和压缩,并且使用为压缩音频数据所设置的比特率输出经过了压缩编码的压缩音频数据。当压缩编码器12通过ATRAC法编码和压缩PCM数据时,所产生的ATRAC数据以424个字节为单位输出。压缩编码器12输出的压缩音频数据累积在DRAM11C的存储单元D10中。
当压缩音频数据在存储单元D10中的累积达到其最大容量时,即对应于为HDD10所设置的数据处理单位时,DRAM11C的存储单元从存储单元D10转换到D11,以使压缩的音频数据在DRAM11C中连续累积。接着,累积在存储单元D10中的压缩音频数据被读出并且写入HDD10。
图41更详细地表示在包括DRAM11A的存储单元转换的实施例中的CD55等速播放期间的各种部件中的数据流实例。对应于3秒钟播放时间的PCM数据从CD55中读出。从CD55读出的PCM数据累积在DRAM11A的存储单元D20中。当预定量的PCM数据累积在存储单元D20中时,PCM数据累积于其中的DRAM11A的存储单元从存储单元D20转换到存储单元D21,以使对应于下一个3秒的PCM数据累积在存储单元D21中。接着,PCM数据以2352个字节为单位从存储单元D20中读出,该单位是用于在CD55中记录的每个块。从DRAM11A读出PCM数据的间隔是13.3msec。读出的PCM数据提供给D/A转换器22。
因此,该处理通过下面的步骤进行控制,即交替转换DRAM11A、11B和11C中每一个的两个存储单元,并且使DRAM11A、11B和11C之间转换存储单元的定时同步。如上所述,同步控制通过使用分配给每个任务的一个标记的标记控制来执行。结果,由图40可见的从CD55读出用于高速编码的数据的处理以及由图41可见的从CD55读出用于正常播放的数据的处理能够以互不干扰的方式进行控制。
图42的功能框图表示图34所示任务分配给参考图27上述的根据实施例第一改进方案的音乐服务器的各个部件的情况。需要注意的是,图42中与图27相同的部件以相同的数字表示并且在此省略对其的详细描述。
在本例中,如上所述,图27的DRAM401A、401B和401C均由两个存储单元构成,即存储单元D00和D01、存储单元D10和D11以及存储单元D20和D21。另外,图27中的DRAM401D也由两个存储单元组成,即存储单元D30和D31。
而且,在图42的例子中,由压缩解码器21执行的处理添加到了图35的例子中,因而相应地添加了一个任务HdReadTask和另一个任务CoderWriteTask。这些任务HdReadTask和任务CoderWriteTask通过响应来自上述任务StorageTask的启动请求而产生。任务HdReadTask和任务CoderWriteTask的优先级分别以50和60表示。
与上述图35的例子类似,从HDD10读出压缩音频数据的定时,把压缩音频数据写入DRAM401C的定时,从DRAM401C读出压缩音频数据的定时,以及把压缩音频数据写入压缩解码器21的定时通过与其它任务同步的这些任务HdReadTaSk和任务CoderWriteTask进行控制。
图43的功能框图表示图35所示任务分配给上述参考图28的根据实施例第二改进方案的音乐服务器的各个部件的情况。而且,需要注意的是,图43中与图28相同的部件以相同的数字表示并且在此省略对其的详细描述。而且,在图43中,图28的DRAM402A、402B和402C清晰地表示为每个DRAM由两个存储单元组成,也就是存储单元D00和D01、存储单元D10和D11以及存储单元D20和D21。
在图43的例子中,由DRAM402B读出的PCM数据提供给D/A转换器22和ATRAC编码器12。因此,在DRAM402B的输出侧,两个任务CoderWriteTask2和PcmWriterTask必须同时执行。
而且,在图43的例子中,由压缩解码器(MP3解码器403)执行的处理添加到了图35的例子中,因而相应地添加了任务CoderReadTask2和任务CoderWriteTask2。
图44的A、B和C流程图表示由图43的虚线区执行的处理实例,也就是由DRAM402B输入侧的任务CoderReadTask2以及DRAM402B输出侧的任务CoderWriteTask2和任务PcmWriterTask执行的处理。A表示由任务CoderReadTask2执行的处理,B表示由任务CoderWriteTask2执行的处理,C表示由任务PcmWriterTask执行的处理。需要注意的是,在图44的A、B和C中,步骤S175、S177、S178、S179、S181、S191和S192表示由实时OS执行的处理。
在图44的A中,当任务CoderReadTask2接收到来自任务StorageTask的启动请求时,在步骤S170,表示DRAM402B状态的状态标记被初始化,这样DRAM402B的一个存储单元D10和另一个存储单元D11均设置为Empty状态,表示相关的存储单元为空。
在DRAM402B的存储单元的状态标记初始化之后,在步骤S171,一个启动请求由任务CoderReadTask2发送到任务CoderWriteTask2。通过响应该启动请求,图44C的流程图所示的处理启动。而且,在步骤S172,任务CoderReadTask2向任务PcmWriterTask发送一个启动请求。通过响应该启动请求开始流程图B所示的处理。流程图B和C将在随后进行描述。
接着,在图44的A中,在下一步骤S173确定PCM数据是否已经完全从CD55读出。如果PCM数据已经完全读出,则处理流程前进到步骤S178,在此步骤,CPU等待来自任务CoderWriteTask的结束提示。接着,在下一个步骤S179,CPU还等待来自任务PcmWriterTask的结束提示。例如,通过CPU8监控CD55的操作可确定PCM数据是否已经完全从CD55中读出。确定结果提示给实时OS。
另一方面,如果在步骤S173确定还没有完全从CD55中读出PCM数据,则处理流程前进到步骤S174,在此步骤,DRAM402B的存储单元设置为存储单元D10。通过在步骤S174的存储单元设置,两个存储单元交替变换,这样,只要从S173开始的处理成为一个回路,则所选存储单元以下面的顺序改变,即存储单元D10、存储单元D11、存储单元D10……。在步骤S174,通过任务CoderReadTask2而从CD55读出的PCM数据累积在DRAM402B的存储单元中。
在下一步骤S175,由任务CoderReadTask2发出命令waitFlag,并且实时OS进行等待,直到在步骤S174设置的DRAM402B的存储单元(假定为D10)进入Empty状态为止。如果存储单元D10进入Empty状态,则处理流程前进到步骤S176。
在步骤S176,PCM数据以对应于在步骤S174设置的DRAM402B的存储单元(存储单元D10)容量的量从CD55中读出。读出的PCM数据DMA-传送到DRAM402B的存储单元D10并且写入存储单元D10。
当预定量的PCM数据写入存储单元D10时,任务CoderReadTask2在下一个步骤S177发出命令serFlag,存储单元D10的状态标记因而设置为Full。在完成标记设置后,处理流程返回到步骤S173。
另一方面,流程图B所示的处理在上述步骤S172的处理之后开始。具体来说,当在步骤S171向任务CoderReadTask2发出启动请求时,DRAM402B的存储单元在步骤S180设置为存储单元D10。通过在步骤S180的存储单元设置,两个存储单元交替变换,这样,只要从下述步骤S184开始的处理成为一个回路,则所选存储单元以下面的顺序变化,即存储单元D10、存储单元D11、存储单元D10……。
在下一个步骤S181,命令waitFlag由任务CoderReadTask2发出,并且实时OS进行等待,直到在步骤S180设置的DRAM402B的存储单元(假定为D10)进入Full状态为止。否则,在步骤S181,CPU等待步骤S177的处理结束。如果存储单元D10进入Full状态,则处理流程前进到步骤S182。
在步骤S182,PCM数据以对应于存储单元D10容量的量而从DRAM402B的存储单元(存储单元D10)中读出。读出的PCM数据DMA-传送到压缩编码器12并且写入压缩编码器12的一个处理存储器。
在上述图37的流程图中,在对应于图44的流程图B所示的步骤S182的步骤S112中,在PCM数据写入压缩编码器之后,在下一步S123,相关存储单元由命令setFlag设置为Empty状态。相反,在图44的流程图B中,在PCM数据在步骤S182写入ATRAC编码器12之后,并没有执行对应于上述步骤S123的步骤S183的处理。换言之,相关存储单元没有设置为Empty状态。
相应地,在步骤S182,在PCM数据写入ATRAC编码器12之后,处理流程前进到作为下一个步骤的步骤S184,在此步骤确定PCM数据是否已经完全从CD55中读出。如果确定PCM数据还没有完全从CD55中读出,则处理流程返回到步骤S180。
另一方面,如果在步骤S184确定PCM数据已经完全从CD55中读出,则任务CoderWriteTask2向任务CoderReadTask2发出结束提示,从而结束图44B所示的一系列处理。随后,在上述步骤S178,任务CoderReadTask2接收来自任务CoderWriteTask2的结束提示,并且图44A的处理流程前进到步骤S179。
而且,图44的流程图C的处理在上述步骤S171的处理之后开始。具体来说,当在步骤S171向任务PcmWriteTask发出启动请求时,在步骤S190,DRAM402B的存储单元设置为存储单元D10。通过在步骤S190的存储单元设置,两个存储单元交替变换,这样,只要开始于下述步骤S194的处理成为一个回路,则所选存储单元以下面的顺序变化,即存储单元D10、存储单元D11、存储单元D10……在下一个步骤S191,命令waitFlag由任务PcmWriteTask发出,并且实时OS进行等待,直到在步骤S190设置的DRAM402B的存储单元(假定为D10)进入Full状态为止。否则,在步骤S191,CPU等待步骤S177的处理结束。如果存储单元D10进入Full状态,则处理流程前进到步骤S192。
在步骤S192,PCM数据以对应于存储单元D10容量的量从在步骤S190设置的DRAM402B的存储单元(存储单元D10)中读出。读出的PCM数据DMA-传送到D/A转换器22并且写入D/A转换器22的一个处理存储器。
如果在步骤S192确定预定量的PCM数据从DRAM402B的存储单元D10中读出,则处理流程前进到下一个步骤S193。在步骤S193,由任务PcmWriteTask发出命令setFlag,并且存储单元D10的状态标记设置为Empty状态。
在标记设置结束之后,处理流程前进到步骤S194,在此步骤确定CD55的播放是否已经完成。如果确定CD55的播放还没有完成,则处理流程返回到步骤S190。
另一方面,如果在步骤S194确定CD55的播放已经完成,则由任务PcmWriteTask向任务CdReadTask2发出结束提示,从而结束图44C所示的一系列处理。接着,如果任务CoderReadTask2在上述步骤S179接收到来自任务PcmWriteTask的结束提示,则结束图44所示的一系列处理。
上述参考图29和30的实施例第三和第四方案也可通过基本上类似于在实施例及其第一和第二改进方案中采用的处理进行控制,因而在此省略对其的详细描述。
图45的功能框图表示图35所示任务分配给上述参考图31的根据实施例第五改进方案的音乐服务器的各个部件的情况。需要注意的是,图45中与图31相同的部件以相同的数字表示并且在此省略对其的详细描述。而且,在图45中,图31的DRAM421A、421B和421C清晰地表示为每个DRAM由两个存储单元组成,即存储单元D00和D01、存储单元D10和D11以及存储单元D20和D21。
在第五改进方案中,信号路径的安排可使多种处理有选择地执行,并且DRAM421A、421B和421C可同时实现多种功能。相应地,根据控制定时也可以从多个任务中有选择地启动一个任务。举例来说,在DRAM421B的输入侧,可以有选择地启动任务CoderWriteTask和任务CoderWriteTask2中的一个任务。而且,在DRAM421B的输出侧,可以有选择地启动任务HdWriteTask和任务PcmWriteTask中的任务之一。在实时OS的控制下,通过任务StorageTask有选择地逐步启动必要的任务。
根据本发明,如上所述,用户在把记录在CD上的音频数据以高数据速率写入HDD的同时可收听通过CD再生的声音。因而用户可有效地利用时间。
而且,根据本发明,通过其可把音频数据写入HDD的CD的内容可在写入期间被确认,从而使得用户免受打扰。
权利要求
1.一种用于写入和再生数据的装置,包括处理装置,用于处理输入的数据并且产生处理的数据;存储装置,用于把所述处理数据存储到一个存储介质中;解压装置,用于把存储在所述存储介质中的处理数据进行解压,并且产生解压的数据;再生装置,用于再生所述解压数据;以及控制装置,用于控制所述存储装置在所述再生装置再生所述解压数据期间把所述处理数据存储到所述存储介质中。
2.根据权利要求1所述的装置,其中所述处理装置包括用于压缩所述输入数据并且产生压缩数据的装置。
3.根据权利要求2所述的装置,其中所述存储装置在所述存储介质中存储所述压缩数据,并且所述解压装置把存储在所述存储介质中的所述压缩数据进行解压。
4.根据权利要求2所述的装置,其中所述存储装置在所述存储介质中存储所述压缩数据,并且所述解压装置把也存储在所述存储介质中的不同于所述压缩数据的其它压缩数据进行解压。
5.根据权利要求2所述的装置,其中所述处理装置把所述输入数据压缩为MPEG格式。
6.根据权利要求2所述的装置,其中所述处理装置把所述输入数据压缩为ATRAC格式。
7.根据权利要求1所述的装置,其中所述处理装置包括一个转换装置,用于转换所述输入数据的格式。
8.根据权利要求7所述的装置,其中所述输入数据以一种预定的压缩格式进行压缩,并且所述转换装置包括用于解压所述输入的压缩数据的第二解压装置以及用于以另一种压缩格式压缩所述解压数据的压缩装置;
9.根据权利要求1所述的装置,进一步包括一个读出装置,用于读出存储在第二存储介质中的数据并且产生读出数据,其中所述处理装置输入所述读出数据并且处理所述读出数据。
10.根据权利要求9所述的装置,其中所述第二存储介质包括一个盘型存储介质。
11.根据权利要求9所述的装置,其中所述第二存储介质包括一个非易失存储器。
12.根据权利要求1所述的装置,其中所述处理装置包括用于处理由外部信号源经通信线输入的数据的装置。
13.根据权利要求1所述的装置,进一步包括读出装置,用于以预定的读出数据速率读出存储在所述存储介质中的数据,其中所述控制装置控制所述存储介质以高于所述预定读出数据速率的写入数据速率写入所述处理的数据。
14.根据权利要求13所述的装置,进一步包括一个缓冲存储器,用于暂存从所述存储介质中读出的所述数据,其中所述控制装置在所述缓冲存储器中的所述存储数据少于一个预定量时控制停止通过所述存储装置把所述处理数据写入所述存储介质的处理,并且控制所述读出装置从所述存储介质中读出所述存储数据。
15.根据权利要求1所述的装置,其中所述存储介质是一个可移动介质。
16.根据权利要求13所述的装置,其中所述存储介质是一个便携式介质。
17.根据权利要求1所述的装置,其中所述存储介质包括一个硬盘。
18.一种用于写入和再生数据的装置,包括转换装置,用于把第一压缩格式的输入压缩数据转换为第二压缩格式的数据;输出装置,用于输出通过所述转换装置转换的转换数据;再生装置,用于再生对应于所述转换数据的数据;以及控制装置,用于控制所述输出装置在所述再生装置再生所述数据期间输出所述转换数据。
19.根据权利要求18所述的装置,其中所述转换装置包括用于对所述输入的压缩数据进行解压的解压装置和用于把所述解压数据压缩为所述第二压缩格式的所述数据的压缩装置。
20.根据权利要求19所述的装置,其中所述再生装置再生由所述解压装置解压的所述解压数据。
21.根据权利要求19所述的装置,其中所述输出装置把所述转换数据写入一个存储介质,并且所述装置进一步包括读出装置,用于从所述存储介质中读出存储在所述存储介质中的所述第二压缩格式的所述数据;以及第二解压装置,用于解压所述读出的压缩数据,其中所述再生装置再生由所述第二解压装置解压的解压数据。
22.根据权利要求19所述的装置,其中所述转换装置把所述输入数据压缩成MPEG格式。
23.根据权利要求19所述的装置,其中所述转换装置把所述输入压缩数据压缩为ATRAC格式的压缩数据。
24.根据权利要求18所述的装置,进一步包括读出装置,用于读出存储在一个存储介质中的压缩数据,其中所述转换装置把所述第一压缩格式的所述读出的压缩数据转换为所述第二压缩格式的所述数据。
25.根据权利要求24所述的装置,其中所述存储介质包括一个盘型存储介质。
26.根据权利要求24所述的装置,其中所述存储介质包括一个非易失存储器。
27.根据权利要求18所述的装置,其中所述转换装置转换由外部信号源经通信线输入的所述压缩数据。
28.根据权利要求21所述的装置,其中所述读出装置以预定的读出数据速率读出存储在所述存储介质中的所述第二压缩格式的所述压缩数据,并且所述控制装置控制所述输出装置以高于所述预定读出数据速率的写入数据速率写入所述第二压缩格式的所述压缩数据。
29.根据权利要求21所述的装置,进一步包括一个用于暂存从所述存储介质中读出的所述数据的缓冲存储器,其中所述控制装置在所述缓冲存储器中的所述存储数据小于一个预定量时控制所述输出装置停止把所述转换数据写入所述存储介质并且所述读出装置从所述存储介质中读出所述存储数据。
30.根据权利要求21所述的装置,其中所述存储介质是一个可移动介质。
31.根据权利要求30所述的装置,其中所述存储介质是一个便携式介质。
32.根据权利要求21所述的装置,其中所述存储介质包括一个硬盘。
33.一种用于写入和再生数据的装置,包括处理装置,用于根据预定要求处理输入的数据;输出装置,用于输出由所述处理装置提供的数据;再生装置,用于再生由所述输出装置提供的所提供数据;以及控制装置,用于控制所述输出装置在所述再生装置再生所述提供的数据期间输出所述提供的数据。
34.根据权利要求33所述的装置,其中所述处理装置包括用于对所述输入数据进行解压缩的装置,其中当所述输入数据以一种压缩格式进行压缩时,所述用于解压的装置执行对应于所述压缩格式的解压处理并且产生解压数据,并且其中所述再生装置再生所述解压数据。
35.根据权利要求33所述的装置,其中所述再生装置在所述输入数据是未压缩的数据时再生通过所述处理装置提供的所述未压缩数据。
36.根据权利要求33所述的装置,其中所述输出装置在所述输入数据是压缩数据时输出通过所述处理装置提供的所述压缩数据。
37.根据权利要求33所述的装置,其中,当所述输入数据是未压缩数据时,所述处理装置以一种希望的压缩格式压缩所述未压缩的数据,并且所述输出装置输出由所述处理装置提供的压缩数据。
38.根据权利要求33所述的装置,其中所述输出装置把所述提供的数据写入一个存储介质,并且所述装置进一步包括读出装置,用于读出存储在所述存储介质中的数据,并且所述控制装置在所述输出装置把所述提供的数据写入所述存储介质期间控制所述读出装置读出存储在所述存储介质中的不同于所述提供的数据的数据,并且控制所述再生装置再生所述读出的数据。
39.根据权利要求38所述的装置,其中所述读出装置以预定的读出数据速率读出存储在所述存储介质中的数据,并且所述控制装置控制所述输出装置以高于所述预定读出数据速率的写入数据速率把所述提供的数据写入所述存储介质。
40.根据权利要求39所述的装置,进一步包括一个缓冲存储器,用于暂存从所述存储介质读出的所述数据,其中所述控制装置在所述缓冲存储器中的所述存储数据小于一个预定量时控制所述输出装置停止把所述提供的数据写入所述存储介质并且控制所述读出装置从所述存储介质中读出所述存储数据。
41.根据权利要求38所述的装置,其中所述存储介质是一个可移动介质。
42.根据权利要求41所述的装置,其中所述存储介质是一个便携式介质。
43.根据权利要求38所述的装置,其中所述存储介质包括一个硬盘。
44.根据权利要求33所述的装置,进一步包括读出装置,用于读出存储在一个存储介质中的数据,其中所述处理装置根据需要处理所述读出的数据。
45.根据权利要求44所述的装置,其中所述存储介质包括一个盘型存储介质。
46.根据权利要求44所述的装置,其中所述存储介质包括一个非易失存储器。
47,根据权利要求33所述的装置,其中所述处理装置处理由外部信号源通过通信线输入的数据。
48.根据权利要求33所述的装置,其中所述处理装置把所述输入数据压缩为MPEG格式。
49.根据权利要求33所述的装置,其中所述处理装置把所述输入数据压缩成ATRAC格式。
50.一种用于写入和再生数据的方法,包括以下步骤处理输入数据并且产生处理的数据;把所述处理数据存储到一个存储介质中;把存储在所述存储介质中的处理数据进行解压缩;再生在所述解压步骤获得的解压数据;以及在所述解压数据再生期间控制所述处理数据存储到所述存储介质中。
51.一种用于写入和再生数据的方法,包括以下步骤把第一压缩格式的输入压缩数据转换为第二压缩格式的转换数据;输出所述转换数据;再生对应于所述转换数据的数据;以及在所述转换数据再生期间控制所述转换数据的输出。
52.一种用于写入和再生数据的方法,包括以下步骤根据要求处理输入的数据;输出由所述处理装置提供的所提供数据;再生所述提供的数据;以及在所述提供的数据进行再生期间控制所述提供数据的输出。
全文摘要
在以标准比特率再生从CD读出的数据时,将CD上的数据高速写入HDD。该数据在适当的定时从存储器中读出并且在由D/A转换器转换为模拟音频信号之后输出。同时,用于写入的数据在读出用于播放的数据后从CD中读出并且存储在一个存储器中。从存储器读出的数据被编码和压缩后存储在存储器中。压缩数据以适于写入HDD的特定量为单位从存储器直接写入HDD。当存储器中的用于播放的数据小于预定量时,在最高优先级的写处理期间产生一中断指令,从CD中读出下组数据。
文档编号G10K15/02GK1312556SQ0013716
公开日2001年9月12日 申请日期2000年10月27日 优先权日1999年10月29日
发明者新井淑之, 熊谷隆志, 稻井肇, 佐藤浩明, 淀文武, 大山正巳 申请人:索尼株式会社
用于写入和再生数据的装置及方法
相关推荐
专利名称:一种制作近红外波段三维光子晶体的方法技术领域:本发明涉及一种光子晶体的制作方法,具体涉及一种通过全息-离子束刻 蚀实现的用于近红外波段的三维光子晶体的制作方法。背景技术:20世纪50年代以半导体技术大规模应用为代表的微电子革命,把
专利名称:具有音圆标识的键盘乐器的制作方法技术领域:本实用新型涉及一种新型的键盘乐器,特别涉及一种具有音圆标识 的键盘乐器。背景技术:当用户能够演奏音圆乐器,并且记住了演奏歌曲的音圆乐谱后,用 户只能在特制的音圆乐器上演奏,不能在传统乐器上
专利名称:语音接收续传器的制作方法技术领域:本实用新型涉及电磁波和声学技术领域。本实用新型类似于电声器件的耳机,接在无线电话手机(简称手机)上,把耳机放在耳孔内,不使手机直接贴耳,拉开距离使用。但耳机的金属导线会将手机的电磁波引向耳孔,不能
专利名称:基于多带谱减法的非空气传导语音增强方法技术领域:本发明属于语音信号的探测与采集及语音增强技术领域,特别涉及一 种基于多带谱减法的非空气传导语音增强方法。 背景技术:由于探测原理和方法本质上的不同,语音的非空气传导探测技术从本 质上
专利名称:一种可测视距的眼镜的制作方法技术领域:本发明涉及一种眼镜,特别涉及一种可测视距的眼镜。 背景技术:在日常生活中,学生们读书写字时,常常因疲劳而忽略眼睛与书本的距离,长此以往,眼睛出现近视病状,若不能及时矫正错误的读书写字坐姿,近视
专利名称:号牌反光膜二维条码识读设备及识读方法技术领域:本发明涉及一种条码识读设备,尤其是一种机动车号牌反光膜二维条码识读设备。背景技术:目前常见的二维条码识读设备一般由光源、光学透镜、图像传感器、图像处理单元和外壳构成。其基本原理是光源照