传输及接收音频信号的方法及其装置与流程

文档序号:12161564阅读:451来源:国知局
传输及接收音频信号的方法及其装置与流程

本文公开的示例实施例通常涉及音频信号传输及接收,更具体地,涉及用于传输及接收利用音频互连介质的附加带宽而增补有奇偶校验码的数字音频信号的方法和装置。



背景技术:

在诸如两个音频设备之间的音频传输之类的许多应用中,互连线缆(interconnect cable)被用来链接设备,允许数字信号穿过。数字音频传输的典型示例是在诸如输出数字信号的光盘(CD)转盘之类的数字源诸如接收数字信号的数模转换器(DAC)之类的处理器之间的互连。在该情景下,各种格式可以被用来实现数字信号的这种传输。一种最常见的格式是SPDIF(索尼/飞利浦数字接口格式),其在消费级音频设备中被使用以在相对短的距离上传输音频信号。

这样的格式自从1980年代就已经被使用,并且其特定了关于传输的一些细节,在其中被用作互连线缆的同轴线优选具有75欧姆的阻抗。线缆的连接头优选是RCA(美国广播公司)或BNC(Bayonet Neill–Concelman)的形式。光缆通常被称为TOSLINK(得自Toshiba Link),其也可以被用来携载SPDIF格式的信号,其在光纤介质上传输数字信号。其他格式和介质可以被采用以用于数字信号传输。因为每种介质具有带宽上的特定限制,要被传输的数字信号的总比特数通常受到限制。

然而,尽管数字音频传输已经流行已久,尚未引入错误校正机制以校正在SPDIF的链路上的传输过程中引入的错误。因为在链路上的单比特错误最终在长时间段上劣化音频质量,缺乏错误校正可导致在数字音频产业中一直被忽视的不想要的数据损坏。



技术实现要素:

本文公开的示例实施例提出了一种传输及接收音频信号的方法。用来实施这些方法的对应的装置也被提供。

在一个方面,本文公开的示例实施例提供了一种传输音频信号的方法。该方法包括:接收包括多个帧的音频信号,该多个帧中的每个帧包括:包含第一比特数目的音频数据的左子帧和右子帧;编码左子帧和右子帧为第二比特数目的奇偶校验码;通过合并奇偶校验码与音频数据而生成串行数据;以及在具有第三比特数目的带宽的音频传输介质上传输串行数据,第一比特数目和第二比特数目之和小于第三比特数目。

在另一个方面,本文公开的示例实施例提供了一种接收音频信号的方法。该方法包括在具有第三比特数目的带宽的介质上接收串行信号,该串行信号合并第二比特数目的奇偶校验码与第一比特数目的音频数据,该串行信号包括多个帧,该多个帧中的每个帧包括左子帧和右子帧,第一比特数目和第二比特数目之和小于第三比特数目;通过基于奇偶校验码计算校验子而解码串行信号;通过比较校验子与音频数据而检测错误;以及通过校正检测到的错误而生成校正音频信号。

在进一步的方面中,本文公开的示例实施例提供了一种设备。该设备包括处理单元;耦合到该处理单元并在其上储存指令的存储器,该指令在由处理单元执行时执行包括以下的动作:接收包括多个帧的音频信号,该多个帧中的每个帧包括:包含第一比特数目的音频数据的左子帧和右子帧;编码左子帧和右子帧为第二比特数目的奇偶校验码;通过合并奇偶校验码与音频数据而生成串行数据;以及在具有第三比特数目的带宽的音频传输介质上传输串行数据,第一比特数目和第二比特数目之和小于第三比特数目。

在进一步的方面中,本文公开的示例实施例提供了一种设备。该设备包括处理单元;耦合到该处理单元并且在其上储存指令的存储器,该指令在由处理单元执行时执行包括以下的动作:在具有第三比特数目的带宽的介质上接收串行信号,该串行信号合并第二比特数目的奇偶校验码与第一比特数目的音频数据,该串行信号包括多个帧,该多个帧中的每个帧包括左子帧和右子帧,第一比特数目和第二比特数目之和小于第三比特数目;通过基于奇偶校验码计算校验子而解码串行信号;通过比较校验子与音频数据而检测错误;以及通过校正检测到的错误而生成校正音频信号。

通过以下描述,将理解的是,由于传输错误造成的潜在损坏通过使用根据本文公开的示例实施例的方法和装置可以被最小化。未由音频传输使用的互连介质的带宽被利用来承载音频信号的奇偶校验码,使得相对于现有的互连介质附加的带宽并不必要。其结果是,改进了针对数字音频传输对错误的抵抗能力,同时系统的复杂度得以保持。

附图说明

通过参照附图的以下详细描述,本文公开的示例实施例的上述和其它目的、特征和优点将变得更容易理解。在附图中,本文公开的示例实施例将以示例以及非限制性的方式进行说明,其中:

图1图示了根据示例实施例的传输音频信号的过程;

图2图示了根据示例实施例的接收音频信号的过程;

图3图示了根据示例实施例的发射器上的示例音频数据路径;

图4图示了根据示例实施例的示出通过编码模块实现的在每个步骤针对一个帧的音频信号的构成的分解图;

图5图示了根据示例实施例的由ECC加密所保护的串行音频流;

图6图示了根据示例实施例的在SPDIF上传输的左子帧的比特映射;

图7图示了根据示例实施例的在SPDIF上传输的右子帧的比特映射;

图8图示了根据示例实施例的接收上的示例音频数据路径;以及

图9图示了适于实施本文公开的示例实施例的示例计算机系统的框图。

在全部附图中,相同或相应的附图标记指代相同或相应的部分。

具体实施方式

现在将参照附图中所示的各种示例实施例对本文公开的示例实施例的原理进行说明。应当理解,这些实施例的描述仅仅是使本领域技术人员能够更好地理解并进一步实施本文公开的示例实施例,而不意在以任何方式对范围进行限制。

图1图示了根据示例实施例的传输音频信号的过程100。在步骤101,包括多个帧的音频信号被接收。针对立体声音频信号,每个帧可以包括具有第一比特数目的音频数据的左子帧以及具有第一比特数目的音频数据的右子帧。在一个示例实施例中(但并不限制本公开),针对典型的立体声音频信号的第一比特数目可以是19,这意味着19个比特被分配用于每个子帧,以便于承载有用的音频内容以及其他信息。

在步骤102,左子帧和右子帧被编码为第二比特数目的奇偶校验码。奇偶校验码可以包括针对左子帧的一部分以及针对右子帧的另一部分。奇偶校验码可以基于各种算法而被生成以用于之后的校正过程。在一个示例实施例中,针对左子帧或右子帧中的每个子帧的奇偶校验码的比特长度可以是8个比特。随后在步骤103,通过合并奇偶校验码与音频数据而生成串行数据。在步骤104,串行数据在具有第三比特数目的带宽的音频传输介质上被传输。音频传输介质可以是不同类型的,诸如SPDIF格式。在SPDIF格式被采用的情况下,允许每个子帧传输的带宽将会是总共32个比特。第一比特数目与第二比特数目之和小于第三比特数目。对于立体声音频信号,压缩的音频信号通常占用小于24个比特的带宽,其使得附加的空间得以潜在地被利用,考虑到在SPDIF上的带宽是32个比特。因此,通过使用生成的奇偶校验码来占用“空的”8或更多比特,音频信号将以改进的保真度被传输。

图2图示了根据示例实施例的接收音频信号的过程200。在步骤201,合并第二比特数目的奇偶校验码与第一比特数目的音频数据的串行信号在具有第三比特数目的带宽的介质上被接收。串行信号包括多个帧。该多个帧中的每个帧包括左子帧和右子帧。第一比特数目与第二比特数目之和小于第三比特数目。因此,总体上,过程200用来接收在以上讨论的过程100中生成的串行数据。在步骤202,串行数据通过基于奇偶校验码计算校验子而被解码。这可以通过使用与在如上讨论的步骤102中相似的算法而被完成。在步骤203,错误通过将校验子与音频数据比较而被检测。在步骤204,经校正的音频信号通过校正检测到的错误(其包括指示错误的位置)而被生成。如果在步骤203中比较的音频信号指示没有错误,音频信号被传递到之后的阶段以用于直接数字处理。然而,如果包括单比特错误或甚至连续的2个比特错误(基于交织过程,将在以下进行描述),步骤204被用来输出校正音频数据并具有改进的保真度。

在以下,示例实施例被图示,其中数字音频传输在由互连线缆链接的两个设备之间被实施。在该实施例中所示的经由互连线缆的传输是SPDIF格式的,其通常具有针对每个声道的32个比特的带宽限制。待被传输的音频信号是压缩音频流,其具有若干针对每个声道或“子帧”的16个比特的帧。附加地,一些比特可以被用来承载诸如声道、用户和验证元数据(validity metadata)之类的信息,每个占用单个比特以意指相关的信息。因此,针对音频信号的单个帧的每个子帧,19个比特被占用以承载音频数据以及其他数据。换言之,针对32个比特的带宽限制,13个比特并未被占用,这使得能够承载附加的错误校正码(ECC)或奇偶校验码而不扩张由SPDIF格式限制的带宽。

要理解的是,以上配置仅仅是使得本领域技术人员更好地理解本公开的示例,而不是意在限制其范围。例如,音频信号可以是未压缩的,其占用更多的比特,并且传输格式的带宽限制可以不是SPDIF,这使得更多比特的音频内容要被传输。原理上,本发明并不用来限制音频传输或音频信号本身的形式、能力等,只要存在针对奇偶校验码的附加及未占用的带宽以用于传输。

图3图示了在发射器300上的示例音频数据路径。在该示例中,在图3的最左端接收到的音频数据是经由I2S接收的(也被称为Inter-IC Sound、Integrated Interchip Sound或IIS),其是用于将数字音频设备连接在一起的电气串行总线接口标准。当然,在其他示例中,其他标准也可以被用于输入音频数据。格式化模块310被用来接收输入音频信号从而将其转换为能够由编码模块320读取的格式。例如,为了处理压缩立体声音频信号,由格式化模块310处理的信号可以是19个比特。

编码模块320主要被用来基于由格式化模块310输出的音频信号而生成奇偶校验码。在一个示例中,被称为BCH(该缩写来自发明该算法的三个人名的首字母:Raj Bose、D.K.Ray-Chaudhuri和Alexis Hocquenghem,或百色-乔杜里-霍克文黑姆)的特定算法可以被用来计算8个比特的奇偶校验码。该算法将在后续段落进行讨论。编码模块320之后接着加密模块330,其被用来例如在音频数据经由互连线缆被传输之前实施HDCP(high definition copy protocol,高分辨率拷贝协议)掩蔽过程。

图4图示了通过编码模块320实现的在每个步骤针对一个帧的音频信号的构成的分解图。在该实施例中,阶段410至460以图4中所示的顺序被示出(向下指的箭头401)。在阶段410处,音频信号的构成包含19个比特的数据,其可以由格式化模块310直接输出。该构成由两行数据形成,每行表示针对立体声音频信号的左声道和右声道之一。在音频信号中所示的每行可以被称为子帧。在该示例中,压缩音频内容被图示为针对每个子帧占用16个比特,在图4中占据“字节0”和“字节1”。三个附加的比特在“字节2”中被占用以用于承载除音频数据之外的信息。“C”指示声道信息,“U”指示用户信息,且“V”指示验证信息。

在阶段420,针对每个子帧,音频数据需要被格式化为24个比特以使得音频数据可以由称为BCH(32,24)的算法使用以计算奇偶校验码。为了实现此,5个比特填充(padding)可以被生成以将每个子帧从比特“16”塞到比特“20”。具体地,“字节2”在420处被塞有生成的填充数据,使得每个比特被指派有值“0”。在该步骤之后,音频数据占用24个比特或3个字节。

在阶段430处,填塞的音频数据由算法BCH(32,24)使用以用于获得待由“字节3”占用的奇偶校验码(对于每个子帧)。BCH(32,24)是被用来基于24个比特数据生成8个比特的奇偶校验码的示例错误校正算法。该算法依赖多项式以用于在多个重复中进行计算,直到获得奇偶校验码。括号中的数字“32”表示总的码长度,而数字“24”表示原始的码长度。由于生成的奇偶校验码,算法BCH(32,24)能够校正单个比特错误并且检测多比特错误。因为BCH算法是已知的,其具体解释将不在上下文中进行阐述。尽管BCH(32,24)被用作示例实施例,要理解的是,其他算法也可能被使用以生成任何期望比特的奇偶校验码。

在阶段440处,生成的8个比特奇偶校验码与诸如“C”、“U”和“V”比特之类的附加信息以及在阶段420处生成的填塞的零比特互换。以此方式,针对每个子帧的比特被重新编排,使得“字节0”、“字节1”和“字节2”包括例如要由HDCP加密过程处理的信息。要理解的是,阶段440可以是不同的,并且重新编排可以在需要时根据随后的过程被调节。

在阶段450处,32个比特的左子帧按比特与32个比特的右子帧交织。换言之,每隔一个比特,在一个子帧上的数据与在另一个子帧上的数据互换。其结果是,ECC能力可以在数据传输期间发生突发错误时被最大化。因为交错阶段450,ECC过程能够校正均被损坏的两个相邻比特。在没有交织过程并且存在两个相邻损坏比特的情况下,损坏的(多个)比特仅可以被检测到但不被校正。然而,交织阶段450不必被包括在整个过程中。此外,要理解的是,阶段450可以与重新编排阶段440互换,这意味着在子帧中的比特的重新编排与交织过程是可交换的。

在阶段460处,针对每个子帧的5个比特填充被移除,这将比特数目从32减小到27。在图3中所示的加密模块330可以被用来针对在阶段460之后获得的数据实施加密过程,诸如24个比特HDCP掩蔽过程。HDCP掩码可以被应用到“字节0”、“字节1”和“字节2”而使得比特“C”、“U”和“V”不经受HDCP加密过程。因为HDCP加密过程是已知的,其具体解释将不在上下文中进行阐述。

在加密过程在加密模块330中实施之后,音频数据要在SPDIF上被传输。由ECC加密保护的串行音频流500在图5中被图示。示例串行音频流500包括多个块510。在该示例中,每个块可以包含192个帧。每个块510可以包含用于立体声音频数据的两个子帧511、512,其构成将在以下进行解释。

图6和图7图示了左子帧600和右子帧700在SPDIF上传输的比特映射。由于该交织过程,左子帧600和右子帧700的比特被混合。16个比特的原始音频数据与生成的8个比特的奇偶校验码被组合在一起,其中占用第五比特(“b4”)至第二十比特的数据是原始压缩音频数据,并且占用第21比特至第28比特(“b27”)的数据时奇偶校验码。第一比特可以在链路层处针对偶数奇偶校验而被保留。第二至第四比特可以被用来各自包含“C”、“U”和“V”信息。第二十九比特(“b28”)至第三十二比特(“b31”)被用于前同步码信息,其进一步指示左子帧600和右子帧700以及音频块的开始。

图8图示了在接收器800上的示例音频数据路径。在该示例中,在图8中的最左端接收到的音频信号是在SPDIF上的传输信号。在该示例中,接收到的音频信号是通过在图3中所示的加密模块330的HDCP加密串行信号。因此,解密模块810可以被用来将接收到的数据转换为在图4中的阶段460处的底部处所示的格式。换言之,经转换的数据包含8个比特的奇偶校验码和16个比特的音频数据,以及关于其他信息的另一些比特。

解码模块820可以被用来基于奇偶校验码计算校验子,并且通过将计算到的校验子与接收到的16个比特的音频数据进行比较而检测接收到的音频数据是否被损坏(即,包含错误)。如果没有错误发生,基于所选择的多项式,诸如根据以上所述的示例实施例的BCH(32,24),计算到的校验子与音频信号良好匹配。在发生单个比特错误的情况下,计算到的校验子被用来指示错误的位置并且相应地做出校正。在校正之后,校正的音频信号被生成。在编码音频信号时包括交织步骤的情况下,由于该交织过程,校正过程能够校正两个连续的比特错误。当然,在解码过程期间的一些时间处,这样的信号需要被去交织。换言之,单个比特错误可以被校正而不需要涉及交织过程,而在涉及交织过程的情况下可以校正两个连续的比特错误。如果发生三个或更多连续的比特错误,这样的错误通常是不可校正的。然而,计算到的校验子可以被用来检测或报告错误的存在,并且用户可以得知该错误的存在。

在一个示例中,解码模块820能够检测针对特定比特的数据是否损坏。该检测可以通过以下被完成,首先基于接收到的奇偶校验码计算校验子,随后如果在该帧中不包含错误则计算到的校验子与接收到的音频匹配。如果单个比特错误或两个连续比特错误(当涉及交织过程时)被检测到,计算到的校验子指示错误(损坏的比特)的位置并且解码模块820相应地做出校正。通常,由解码模块820进行的解码过程可以是与图4中步骤相比反转的顺序(在图4中所示的指向上的箭头402)。

在解码过程之后,音频信号针对每个帧可以具有与在图4的阶段410处的构成相似的构成。格式化模块830随后被提供以在移除奇偶校验码之后将音频数据转换成可以由随后的设备或处理器处理的其他格式(例如,I2S)。通过解码模块820的校正过程能够移除例如在SPDIF上的传输期间引致的大部分比特错误。因此,在根据示例实施例的格式化过程之后的音频数据与根本不涉及校正码的音频数据相比具有改进的保真度。

因为对SPDIF传输的带宽的限制,针对立体声信号的可用带宽小于16个比特。要理解的是,尽管8个比特的奇偶校验码在本公开的示例实施例中被使用,具有不同比特数的奇偶校验码也是可能的。

图9示出了适于实施本文公开的示例实施例的示例计算机系统900的框图。如图所示,计算机系统900包括中央处理单元(CPU)901,其能够根据记录在只读存储器(ROM)902中的程序或从存储区908加载到随机存取存储器(RAM)903的程序而执行各种处理。在RAM 903中,当CPU 901执行各种处理等等时,还根据所需存储有所需的数据。CPU 901、ROM 902和RAM 903经由总线904彼此相连。输入/输出(I/O)接口905也连接到总线904。

以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网之类的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等,根据需要安装在驱动器910上,使得从其上读出的计算机程序根据需要被安装入存储部分908。

特别地,根据本文公开的示例实施例,上文参考图1至8描述的过程可以被实现为计算机软件程序。例如,本文公开的示例实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,该计算机程序包含用于执行方法100和200的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。

一般而言,本文公开的各种示例实施例可以在硬件或专用电路、软件、逻辑、或其任何组合中实施。某些方面可以在硬件中实施,而其它方面可以在可由控制器、微处理器或其它计算设备执行的固件或软件中实施。当本文公开的示例实施例的各方面被图示或描述为框图、流程图或使用某些其它图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其它计算设备,或其某些组合中实施。

而且,流程图中的各框可以被看作是方法步骤,和/或计算机程序代码的操作生成的操作,和/或理解为执行相关功能的多个耦合的逻辑电路元件。例如,本文公开的示例实施例包括计算机程序产品,其包括有形地实现在机器可读介质上的计算机程序,该计算机程序包含被配置为执行上文描述方法的程序代码。

在本公开的上下文中,机器可读介质可以是包含或存储用于或有关于指令执行系统、装置或设备的程序的任何有形介质。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体系统、装置或设备,或其任意合适的组合。机器可读存储介质的更详细示例包括带有一根或多个导线的电气连接、便携式计算机磁盘、硬盘、随机存储存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光存储设备、磁存储设备,或其任意合适的组合。

用于执行本公开的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其它可编程的数据处理装置的处理器,使得程序代码在被计算机或其它可编程的数据处理装置执行的时候,引起在流程图和/或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或完全在远程计算机或服务器上或在一个或多个远程计算机或服务器之间分布而执行。

另外,尽管操作以特定顺序被描绘,但这并不应该被理解为要求此类操作以示出的特定顺序或以相继顺序完成,或者执行所有图示的操作以获取期望结果。在某些情况下,多任务或并行处理可能是有利的。同样地,尽管上述讨论包含了某些特定的实施细节,但这并不应解释为限制任何公开或权利要求的范围,而应解释为对可以针对特定公开的特定实施例的描述。本说明书中在分开的实施例的上下文中描述的某些特征也可以整合实施在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以分离地在多个实施例火灾任意合适的子组合中实施。

针对前述本公开的示例实施例的各种修改、改变将在连同附图查看前述描述时对相关技术领域的技术人员变得明显。任何及所有修改将仍落入非限制的和本公开的示例实施例范围。此外,前述说明书和附图存在启发的益处,涉及这些实施例的技术领域的技术人员将会想到此处阐明的其它示例实施例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1