具体实施方式
现在将参照附图对本发明优选实施例的一种编辑音频数据的方法以及采用相同方法的记录介质和数字音频播放器进行更加详细的描述。
图1是按照本发明一个优选实施例具有音频编辑程序的计算机方框图。
如图1所示,计算机10包括CPU(central processing unit,中央处理器)11、ROM 12、RAM 13、显示设备14、输入设备15、存储器设备16和通信设备19。
存储器设备16包括操作系统(operating systems,OS)17如Windows 98、Windows 2000等和安装其中的音频编辑器18。
音频编辑器18在OS 17的支持下提供用于编辑音频文件的菜单,并且执行与用户所作选择对应的过程。音频编辑器18包括菜单提供部分18a和编辑部分18b。当音频编辑器18在计算机10上执行时,菜单提供部分18a提供显示音频编辑的各个菜单的屏幕。菜单提供部分18a的菜单屏幕的一个示例如图2所示。
编辑部分18b根据从由菜单提供部分18a提供的菜单所作的选择执行处理。编辑部分18b包括执行数字音频数据的分层位片编码的位片编码解码程序,即BSAC(Bit Sliced Arithmetic Coding,位片运算编码)。
最好,音频编辑器18构造为它支持对存储在计算机10的存储器设备16和连接到预定通信端口如并行口或串行口的外部设备中的文件的查看和选择。
例如,菜单提供部分18a提供从中可以选择计算机10的通信端口的环境设置菜单,并且编辑部分18b处理在同一屏幕上显示存储在连接到预定通信端口的外部设备中的文件列表和存储在计算机10中的文件列表,以作比较。
而且,最好,音频编辑器18构造为在计算机10上播放编辑完成的音频文件。也就是,音频编辑器18的位片编码解码程序最好进一步包括用于对用BSAC方法生成的文件进行解码的解码器。
如图2所示,在通过执行音频编辑器18显示的,计算机设备14的屏幕14a上,存储在计算机10的存储器设备16中的文件列表显示在屏幕的左半部分,而存储在连接到预定通信端口的外部设备中的文件列表显示在屏幕的右半部分。例如,当连接到预定通信端口的外部设备是便携式数字音频播放器时,存储在便携式数字音频播放器的存储器部分中的文件列表与计算机10的文件列表一起进行显示。
菜单项>文件=是一个支持如文件选择、文件下载、文件上载、文件打开、文件保存和环境设置等命令项的代表符号。
菜单项>编辑=是一个支持选择所选文件的编辑选项的代表符号。
参考号25、26和27分别表示下载选择键、上载选择键和播放键,它们以图象(图标)形式而不是字符(文本)形式进行表示。
下面将参照图1-4对通过使用音频编辑器18根据用户=s所需尺度编辑音频文件的过程进行描述。
首先,当执行音频编辑器18时,在步骤100,显示一个初始屏幕(参见图2)。在初始屏幕上,由菜单提供部分18a显示菜单项,并且显示计算机10的存储器设备16的文件列表和连接到计算机10的预定通信端口的外部设备(即,便携式数字音频播放器)存储器部分的文件列表。同时,外部设备的存储器部分的总存储器大小和剩余空闲存储器空间量也进行显示以在编辑过程中用作用户参考。如果没有连接到计算机10的外部设备,那么仅显示计算机10的文件列表。
当用户从存储在计算机10的存储器设备16中的文件列表选择一个文件时,例如,当用户通过操作输入设备15如鼠标或键盘选择<a.pcm>音频文件(虚线所框)时,编辑部分18b在图2所示的显示屏幕的下方显示所选文件的大小,例如4M字节。在此需要说明的是,可以选择多个文件进行编辑,并且在这种情况下,BSAC方法应用于所有所选文件。
下一步,在步骤110,确定是否从菜单作出菜单项的选择。如果没有,在步骤115,确定是否用户作出关闭初始屏幕以有效结束音频编辑工作的选择,例如:(在显示屏幕的右上角)。
当在步骤110从菜单作出菜单项的选择,在步骤120,确定是否选择了编辑菜单。如果没有,那么在步骤125执行所选菜单项对应的过程。
当在步骤120确定用户通过操作输入设备15选择了编辑菜单时,显示数据提取率选择菜单(参见图3A~3D)。最好,菜单提供部分18a提供用于选择位率和/或目标数据大小的菜单,直到完成编辑过程。在此,位率选择菜单是为了用户=s的方便起见,考虑音频文件类型选择音频文件的数据大小和音质。更高位率导致更好的音质和更大的数据大小,而更低的位率导致更差的音质和更小的数据大小是要考虑的事实。
同时,直到完成编辑过程的目标数据大小选择菜单是为了用户=s的方便起见,将音频文件编辑到一个经过调节的尺度,该尺度适合于他/她打算将编辑完成的音频文件存储在其中的记录介质的空闲容量。例如,当用户想要在空闲容量为3M字节的便携式数字音频播放器中调节并存储大于3M字节的音频文件时,他/她就可以方便地使用该菜单。
如图3A所示,数据提取率选择菜单窗口14b显示选择要进行编辑的文件<a.pcm>、位率选择窗口、目标数据大小选择窗口和编辑后处理选择窗口。在第二实施例中,如图3B所示,在数据提取率选择菜单窗口14c中还提供有一个预览键,以允许用户在编辑和下载之前对根据所选位率或目标大小的音频文件的音质进行取样或预览。在第三实施例中,如图3C和3D所示,数据提取率选择菜单窗口14d显示选择要进行编辑的文件<a.pcm>、位率选择窗口、目标数据大小选择窗口、位率选择窗口中的粗略和精细调节工具和编辑后处理选择窗口。需要清楚的是第三实施例也可以包括如图3B所示的预览键。
当在步骤130确定通过选择一个位率或目标大小(下面将作更详细的描述)选择了数据提取率时,在步骤140,编辑部分18b根据由用户通过图3A~3D的提取率选择菜单窗口设置的位率或目标大小用分层位片运算编码(BitSliced Arithmetic Coding,BSAC)方法编辑音频文件。
在步骤S150确定完成编辑之后,当在步骤S160确定设置了下载时,在步骤170,所编辑的音频文件就下载到连接到计算机10的数字音频播放器。但是,对于图3B,如果用户希望试听编辑结果,用户在选择一个位率或目标大小后选择预览键,那么音频文件的一部分将用BSAC方法进行编辑(编码),并且存储在例如临时文件中。所编码的音频部分然后将自动进行解码并播放。在步骤140到170,如果用户接受所编辑音频的音质,那么用户可以设置下载功能,并且在选择回车5键后整个文件将用BSAC方法进行编辑并且下载。
同时,当在步骤160没有选择下载时,将显示一个新屏幕(没有示出)来请求用户为所编辑的数据文件命名,然后在步骤180将该文件存储在预定位置。
再次参照图3A~3D,位率最好以1Kbps的间隔进行选择,而目标数据大小以1K字节的间隔进行选择。但是,在编辑部分18b的位片编码解码程序的支持下,位率也可以采用多于或少于1Kbps,例如8Kbps的间隔进行选择,并且目标数据大小可以采用多于或少于1K字节,例如500K字节的间隔进行选择。
在提取率选择菜单中,当用户想要仅选择音频文件的一个位率时,他/她操作位率选择窗口的滚动条(向上和向下箭头)到他/她所需的位率。当用户在位率选择窗口中看到他/她所需的位率时,他/她停止操作滚动条,并且单击位率选择窗口左边的选择确认框,以在其中标上选中标记(V)。当用户在选择确认框中看到选中标记(V)时,他/她选择是否下载,并且作相应的单击。
当用户操作用于位率的滚动条时,目标数据大小的显示可以改变,以显示与所显示位率对应的值。因此,虽然当使用与目标数据大小对应的滚动条时,目标数据大小显示受限于仅显示缺省间隔例如500K字节,即0、500、1000…6000KB,但是通过使用与位率对应的滚动条,所显示的目标数据大小将改变到与所显示位率对应的值,并且因此不受限于500K字节的间隔。
另外,当用户操作与目标数据大小对应的滚动条时,那么与位率值对应的显示可以进行改变,以显示与所显示目标数据大小对应的位率,而该位率可以在缺省位率间隔之外。
在第三实施例中,位率最好采用1Kbps的间隔进行选择以作精细调节,并且位率最好采用8Kbps的间隔进行选择以作粗略调节。因此,当如图3C所示选择粗略调节时,操作位率滚动条将以8Kbps间隔,即8、16、24、32、40、48、56、64…nKbps显示位率。当如图3D所示选择精细调节时,操作位率滚动条将以1Kbps间隔,即1、2、3、…62、63、64…n Kbps显示位率。并且,如上所述,当用于位率的滚动条由用户进行操作时,目标数据大小的显示可以改变,以显示与所显示位率对应的值。
下面将要描述,所编码的音频数据将包括含有位率信息的数据头。因此,所选位提取率,例如每层8Kbps和最高层的值,例如64Kbps将包括在所编码音频信号的数据头中。
当用于下载的所选音频文件已经用分层BSAC方法进行生成时,从与所选位率对应的层执行提取操作。
当用户想要播放编辑完成的文件时,他/她选择他/她的所需文件,并且单击由菜单提供部分18a提供的播放键27。因此,音频编辑器18对所选音频文件进行解码,并且将该文件输出到音频输出设备(没有显示),如连接到计算机10的扬声器。
如上所述,本发明的音频编辑器18可以记录在记录介质中,以作使用。另外,当音频编辑器18安装在计算机10中时,用户可以在计算机10上将音频文件编辑到他/她所需的尺度。在按照他/她所需用分层BSAC方法编辑音频文件之后,用户可以通过将编辑完成的文件下载到具有能够对音频文件进行解码和播放的设备的便携式数字音频播放器的存储器。
同时,根据本发明的另一方面,数字音频播放器可以自己编辑音频文件。图5A是示出本发明的一个优选实施例的数字音频播放器的方框图。如图5A所示,数字音频播放器30通过通信接口50连接到计算机60。参考号70表示连接到计算机60的因特网。因此,对于计算机60,没有必要包括图1的编辑部分18b。
数字音频播放器30包括键输入部分31、控制器32、显示部分33、存储器35、位片编码解码器部分37和A/D转换器39、D/A转换器41、和接口49。参考号43表示内部麦克风(MIC),45表示模拟音频信号输入终端,而47表示模拟音频信号输出终端。
最好,接口49构造为通过计算机60的并行端口如用于打印机的并行端口或串行端口如USB并且通过电缆50与计算机60执行双向通信。
作为替换,接口49构造为通过无线通信方法与计算机60或外部设备执行双向通信。
键输入部分31包括多个用于设置各种支持功能的键。键输入部分31还包括用于以所需提取率处理并存储所接收音频信号的键31a。键31a可以设计为用于在显示部分33上显示多个菜单选项,其中一个所显示选项可以是导致显示部分33显示类似于如图5B所示的屏幕的编辑或编码项。另外,键31a可以设计为导致显示部分33立即显示类似于如图5B所示的屏幕的编辑键。显示部分33显示从控制器32接收的信息。控制器32处理通过键输入部分31输入的信号,并且因此控制各个部件。
而且,键输入部分31最好包括附图中没有显示的保存、播放、停止和录音键。这些键可以单独形成,或者一个键可以具有多个功能,而这些功能可通过其预定操作分别不同。
A/D转换器39将通过输入终端45或通过麦克风(MIC)43输入的模拟信号转换为数字信号。
D/A转换器41将从控制器32输出的数字信号转换为模拟信号,并且通过输出终端47输出该模拟信号。可以有多个用来连接耳机、外部设备等的输出终端47。
位片编码解码器37包括用于用分层BSAC方法执行编码过程的编码器和用于用分层BSAC方法执行解码过程的解码器。
当输入编辑信号时,控制器32提供一个屏幕,用于在显示部分33上显示存储器35剩余空闲存储器容量与位率和/或目标数据大小选择菜单。但是,注意控制器32可以在任何时候,即在激活键31a之前,提供有关存储器35可用剩余空闲存储器容量的信息。
考虑到数字音频播放器30的显示部分33的相对更小的显示容量,位率选择菜单和/或目标数据大小选择菜单的屏幕可以根据键输入部分31的屏幕移动操作进行顺序显示。位率和目标数据大小选择的间隔如上对图1-4所述进行应用。
当数据提取率通过键输入部分31进行选择时,控制器32根据分层位片运算编码方法提取通过输入部分的多个路径,即麦克风43、输入终端45和接口49中的一个输入的音频数据,并且将所提取数据存储在存储器部分中,即存储器35中。
例如,当用分层BSAC方法生成的位流音频数据通过接口49从计算机60输入时,控制器32将数据存储在存储器35中,直到该层的位率达到所选位率,或者数据字节达到所选目标数据大小。在达到所选位率或字节之后,数据将不进行存储,这将从下面图8和9的讨论中得到更好的理解。
同时,当通过接口49输入的数据确定是用不同于分层BSAC方法的音频数据格式如脉冲编码调制(PCM)产生的时,控制器32加载位片编码解码器部分37根据分层BSAC方法将数据编码到预定的提取率。然后,控制器32将数据存储在存储器35中。音频数据的类型可以从首标信息进行确定,即位率信息包含在首标中。因此,所选位提取率,例如每层8Kbps和最高层的值,例如64Kbps将包括在所编码音频信号的首标中。因此,展示再现所编码音频数据最佳效果的方法可以通过访问存储在数据头中的信息来获得。例如,当音频数据由编码器以96Kbps位率进行编码时,例如,最佳音质可以由与具有96Kbps位率的编码器对应的解码器进行恢复。
当数据是通过麦克风43或输入终端45输入的模拟信号时,该数据由A/D转换器39转换为以预定采样率进行采样的数字信号。然后,数据由位片编码解码器部分37根据所选提取率进行编码,并且存储在存储器35中。
下面将参照图6对数字音频播放器的数据编辑过程进行描述。在此,需要理解的是,用户最好通过使用例如图5B的数据提取率选择菜单窗口14e选择位率或目标数据大小已经选择所需数据提取率。还需要理解的是,虽然图5A和5B是面向便携式数字音频播放器的,数字音频播放器也可以是计算机生成的,并且在计算机的屏幕上进行显示,它具有选项键31a,并且激活选项键将导致如图2所示的显示,并且激活菜单栏上的编辑键将导致如图5B或图3A~3D中的任意一个的显示。
首先,确定存储选择信号是否是外部音频信号的输入(步骤200)。在此,外部信号是通过输入部分,即通过接口49、麦克风43或输入终端45输入的信号。另外,存储选择信号包括通过操作例如键输入部分31的存储或录音键生成的信号,和表示开始从外部下载的控制信号。
当输入存储选择信号时,确定是否选择了数据提取率(步骤220)。当确定选择了数据提取率时,所接收的音频信号根据所选提取率用分层BSAC方法进行编码(步骤240)。所编码的音频信号然后存储在存储器35中(步骤250)。
同时,当所接收的音频信号已经用分层BSAC方法进行位流编码时,对数据进行存储,直到所接收信号的位率层达到与所选位率或所选目标数据大小对应的所选提取率,这意味着步骤240将在这种情况下进行忽略。
当在步骤220确定没有选择提取率时,所接收的音频信号直接存储在存储器35中(步骤260)。作为替换,在步骤260,音频信号可以根据预定缺省位率用位片运算编码方法进行编码,然后存储在存储器35中。
下面将对本发明的根据预定提取率通过位片编码解码器37或音频编辑器18用分层位片运算编码方法对音频数据进行编码的过程进行更加详细的描述。同时,注意本发明中采用的分层BSAC编码和解码方法类似地公布于Sung-hee Park的、标题为可伸缩音频编码/解码方法和装置(Scalable AudioCoding/Decoding Method And Apparatus)的美国专利第6,122,618和6,148,288号,在这里加入作为参考。另外,加入作为参考的还有Sung-hee Park等的、标题为可伸缩立体声音频编码/解码方法和装置(Scalable Stereo AudioEncoding/Decoding Method andApparatus)、1998年6月29日提交的美国专利申请第09/106,016号和Sung-hee Park等的、标题为可伸缩音频编码/解码方法和装置(Scalable Audio Encoding/Decoding Method and Apparatus)、1998年5月28日提交的美国专利申请第09/084,893号。
首先,对分层位片编码和解码方法进行概要的描述。
参照示出位片编码解码器部分37的位片编码器的图7,分层位片编码器包括时间/频率映射部分37a、心理声学部分37b、量化部分37c和位压缩部分37d。
时间/频率映射部分37a将时域音频信号转换为频域信号。频域中的信号从可由人感知的信号到不可感知的信号根据人类心理声学模型(例如,ISO/IEC 11172-3)相互之间大不相同。因此,通过区分在各个频率带宽中分配的位,压缩效率可以得到提高。
心理声学部分37b通过时间/频率映射部分37a的预定子频带的信号耦合所转换的信号,并且使用通过与各个信号交互生成的遮蔽现象计算在每个子频带的遮蔽阀值。使用该遮蔽阀值,可以获得最小电平的,具有声音但由于输入信号的大小和各个信号的交互而不为人感知的信号。
量化部分37c量化每个预定编码频带的信号,从而每个频带的量化噪音变得比遮蔽阀值更小。换句话说,每个频带的频率信号应用于标量(scala)量化,从而每个频带的量化噪音的数量级小于遮蔽阀值,从而不可感知。执行量化,从而噪音/遮蔽比率(NMR)值(由心理声学部分37b计算的遮蔽阀值与在每个频带生成的噪音的比率)小于或等于0dB。NMR值小于或等于0dB表示遮蔽阀值高于量化噪音。换句话说,听不到量化噪音。
为了完成可伸缩音频编码解码,位压缩部分37d根据各层的位率组合由量化部分37c量化的频率数据和有关音频数据的各个子频带和量化信息的边信息。
图8示出一个量化到5位的值以二进制进行表示的示例。因此,根据分层方法,最高有效位被耦合并首先编码。例如,当以4位为单位编码时,二机制数0100(虚线所框)(对应MSV(the Most Significant Vector,最高有效向量))首先进行编码。然后编码逐个向量地进行到最低有效的位。在这种情况下,通过使用合适的概率分布和算法编码方法,位将有效地压缩到编码中。由上述方法生成的位流结构如图9所示。
也就是,编码器将音频信号编码为包括0基层和多个增强层的分层位流结构。每层包括一个首标区域、边信息写入区域和数据区域。
基层具有最低位率,并且下一增强层的位率比基层高预定间隔的位率。采用这种方式,增强层具有增加特定间隔的位率。
只有MSB在基层的前部进行表示,从而只有所有频率成分的轮廓进行编码。用更低的位表示更多的位,就可以表达更详细的信息。由于详细信息数据值根据增加的位率,即层的增强进行编码,音质可以得到提高。
下一步,对使用如上所表达的数据构造可伸缩位流的方法进行描述。首先,在要用于基层的边信息中,对每个量化频带的量化位信息进行编码。量化值信息从MSB到LSB,并且从最低频率成分到最高频率成分进行顺序编码。如果特定频带的量化位小于当前正在编码频带的量化位,那么不执行编码。当频带的量化位等于当前正在编码频带的量化位时,执行编码。在此,如果在对各层的信号进行编码中没有频带限制,会产生对耳朵有害的声音。这是因为在不管频带从MSB到LSB执行编码的情况下,当恢复具有低位率的层的信号时信号是断续的。因此,根据位率适当限制频带是明智的。
在对基层进行编码之后,对下一增强层的音频数据的边信息和量化值进行编码。采用这种方式,对与所选位率对应的所有层的数据进行编码。如此编码的信息收集在一起,形成位流。
如图9所示,由编码器产生的位流具有分层结构,其中,最低层位流包含在更高层位流中。
采用这种分层结构的音频信号从更重要的信号成分到更不重要的信号成分进行编码。使用如此形成的位流,具有低位率的位流可以根据用户=s的请求通过简单地重新安排包含在具有最高位流的位流中的低位率位流来形成。换句话说,由编码器实时形成的位流,或存储在介质中的位流可以进行重新安排,以适合根据用户=s的请求所需的位流,然后进行发送。另外,如果甚至用适当的位流,用户=s的硬件性能都太差或用户想要降低解码器的复杂度,仅有一些位流可以进行恢复,从而控制复杂度。
例如,当位率选择为64Kbps时,位流从预定基层开始构成,到顶层为64Kbps。因此,在形成可伸缩位流时,基层的位率为16Kbps,顶层的位率为64Kbps,并且各个增强层的位率间隔为8Kbps,也就是,位流具有7层,分别为16、24、32、40、48、56和64Kbps。由于由编码器形成的位流具有分层结构,64Kbps的顶层位流包含各层的位流(16、24、32、40、48、56和64Kbps)。如果用户请求顶层的数据,顶层的位流进行发送,而不作对其的任何处理。另外,如果另一用户请求基层的数据(对应于16Kbps),仅有最前的位流进行简单的发送。
各层根据位率具有受限带宽,并且结束量化频带不同。当输入数据是以48KHz采样的PCM数据,并且一帧的数量级为1024时,位率为64Kbps的可用于一帧的位数平均为1365.3333(=64,000位/秒*(1024/48000))。类似地,可用于一帧的位数可以根据各个位率进行计算。
当选择提取率时,所选提取率的顶层位率得到确定,并且因此,位流根据分层BSAC方法由编码过程以所选位率间隔从基层到目标层位率进行生成。
同时,如图10所示,解码器包括位流分析部分37e、逆量化部分37f和频率/时间映射部分37g。
位流分析部分37e以生成各层的次序执行解码过程。另外,位流分析部分37e以各个位流的位的重要度的次序执行各层的解码过程。
逆量化部分37f将由位流分析部分37e解码的数据恢复为原始数量级的信号。
频率/时间映射部分37g将频域中的逆量化的音频信号转换为时域中的信号。
解码信号通过D/A转换器转换为模拟信号,并且在播放过程中通过输出终端47输出。
如上所述,根据本发明的音频编辑方法以及采用该编辑方法的记录介质,和数字音频播放器,由于音频数据文件能以任意尺度进行有效编辑,数字音频设备的存储器容量可以得到更有效的利用。