CN103986552B - 数据处理方法及装置 - Google Patents
数据处理方法及装置 Download PDFInfo
- Publication number
- CN103986552B CN103986552B CN201410039517.1A CN201410039517A CN103986552B CN 103986552 B CN103986552 B CN 103986552B CN 201410039517 A CN201410039517 A CN 201410039517A CN 103986552 B CN103986552 B CN 103986552B
- Authority
- CN
- China
- Prior art keywords
- package
- error
- group
- speech data
- data processing
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 31
- 238000012937 correction Methods 0.000 claims abstract description 60
- 238000009434 installation Methods 0.000 claims abstract description 41
- 238000012545 processing Methods 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 83
- 230000008569 process Effects 0.000 claims description 65
- 238000002474 experimental method Methods 0.000 claims description 20
- 238000004891 communication Methods 0.000 claims description 19
- 230000005540 biological transmission Effects 0.000 claims description 9
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 125000004122 cyclic group Chemical group 0.000 claims description 4
- 238000007689 inspection Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 7
- 230000005611 electricity Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000011017 operating method Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 208000032370 Secondary transmission Diseases 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1835—Buffer management
- H04L1/1838—Buffer management for semi-reliable protocols, e.g. for less sensitive applications such as streaming video
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/005—Correction of errors induced by the transmission channel, if related to the coding algorithm
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephone Function (AREA)
Abstract
本发明提供一种数据处理方法以及数据处理装置。所述的数据处理方法用于电子装置,该数据处理方法包括以下步骤:通过无线方式从另一个电子装置接收多个封包,其中,该多个封包对应于同一组语音数据;以及选择性地对该多个封包中的至少一个执行纠错操作以获取该组语音数据,其中,根据该多个封包的至少一个特性确定是否执行对该组语音数据的该纠错操作。本发明提供的数据处理方法可有效地纠正语音封包中的错误,获取准确的语音数据。
Description
技术领域
本发明有关于数据处理方法,更具体地,本发明有关于数据处理方法及装置。
背景技术
传统可携电子装置对于用户是十分有帮助的,其中,可携式电子装置可例如配备个人数字助理(personal digital assistant,PDA)功能的多功能移动电话(multifunctional mobile phone)或者配备移动电话功能的PDA。在传统可携电子装置用于拨打电话且用户通过蓝牙(Blue Tooth,BT)耳机(而不是使用麦克风或传统可携电子装置的扬声器)与其他人聊天的情况中,可会产生一些问题。例如,由于BT耳机和传统可携电子装置之间的长距离(例如十米或更长的距离),BT语音(speech)质量可能非常差。又例如,由于穿过身体的干扰(cross-body interference),BT语音质量也可能非常差。
根据有关技术,已经提出另外一些传统方法解决这些问题。然而,这可能会引入进一步的问题,如一些副作用(side effect)。例如,BT特别兴趣组(Special InterestGroup,SIG)规范允许更多的重传输(re-transmission)以增加语音数据传输成功率,其中,使用了更频繁的BT重传输,因而将有更少的时间可用于无线保真(Wireless-Fidelity,Wi-Fi)功能或其他BT功能(例如一些蓝牙低功耗(Bluetooth Low Energy,BLE))。又例如,一些传统方法不能保证语音数据的正确性,因此在输出语音不正确的情形中可能会浪费用户的时间。因此,需要提出一种新颖的方法以提供对电子装置的数据处理控制。
发明内容
有鉴于此,本发明提供一种数据处理方法以及数据处理装置。
本发明一种数据处理方法,用于电子装置,该数据处理方法包括以下步骤:通过无线方式从另一个电子装置接收多个封包,其中,该多个封包对应于同一组语音数据;以及选择性地对该多个封包中的至少一个执行纠错操作以获取该组语音数据,其中,根据该多个封包的至少一个特性确定是否执行对该组语音数据的该纠错操作。
本发明还提供一种数据处理装置,用于电子装置,该数据处理装置包括:无线通信控制电路,用于通过无线方式从另一个电子装置接收多个封包,其中,该多个封包对应于同一组语音数据;以及处理电路,耦接于该无线通信控制电路,用于选择性地对该多个封包中的至少一个执行纠错操作以获取该组语音数据,其中,根据该多个封包的至少一个特性确定是否执行对该组语音数据的该纠错操作。
本发明提供的数据处理方法可有效地纠正语音封包中的错误,获取准确的语音数据。
附图说明
图1为根据本发明的一个实施例的装置的示意图;
图2为根据本发明一个实施例移动电话和相应于移动电话的BT耳机的示意图;
图3为根据本发明一个实施例的对无线接收的数据执行数据处理的方法的流程图;
图4为根据本发明的一个实施例使用图3所示方法的运作流程的示意图;
图5为根据本发明的一个实施例使用图3所示方法的控制机制的示意图。
具体实施方式
在说明书及后续的权利要求当中使用了某些词汇来指称特定的元件。所属领域技术人员应可理解,制造商可会用不同的名词来称呼同样的元件。本说明书及后续的权利要求并不以名称的差异来作为区别元件的方式,而是以元件在功能上的差异来作为区别的基准。在通篇说明书及后续的权利要求当中所述的「包括」为开放式的用语,故应解释成「包括但不限定于」。此外,「耦接」一词在此包括任何直接及间接的电气连接手段。因此,若文中描述第一装置耦接于第二装置,则表示该第一装置可直接连接于该第二装置,或透过其他装置或连接手段间接地连接至该第二装置。
图1为根据本发明的一个实施例的装置100的示意图,装置100用于对通过无线方式接收的数据执行数据处理。其中,装置100也可称为数据处理装置。装置100可包括电子装置的至少一部分(例如一部分或全部),其中,电子装置的实例可包括,移动电话(例如,多功能移动电话)、配备移动电话功能的PDA以及个人计算机。而其中,个人计算机可例如笔记本计算机或台式计算机(desktop computer)。例如,装置100可包括上述电子装置的一部分,更具体地,装置100可包括包括上述电子装置内部的至少一个集成电路。又例如,装置100可包括上述电子装置的整体。还例如,装置100可包括包含上述电子装置的电子系统,例如由遵循BT标准的移动电话和BT耳机(BT headset)形成的系统。
如图1所示,装置100可包括处理电路110和无线通信控制电路120,且处理电路110和无线通信控制电路120彼此耦接。此外,装置100还可包括至少一个天线(例如一或多个天线)以用于传输或接收无线信号,其中,该至少一个天线耦接于无线通信控制电路120。例如,无线通信控制电路120可配置至少一个收发器。又例如,无线通信控制电路120可配备至少一个传输器和至少一个接收器。根据此实施例,处理电路110可控制电子装置100的操作,且无线通信控制电路120可在处理电路110的控制下执行无线通信操作。
图2为根据本发明一个实施例移动电话200和相应于移动电话200的BT耳机50的示意图。其中,该BT耳机(headset)50可包括一个听筒(earphone)和一个麦克风。如图2所示,用户(例如,在图2中标记为“站点A”)可利用BT耳机50和移动电话200透过网络250与其他人通话(例如,在图2中标记为“站点B”)。
根据此实施例,移动电话200和BT耳机50都遵循BT标准,且移动电话200和BT耳机50可透过至少一个BT信道(例如一或多个BT信道)彼此进行通信,其中该至少一个BT信道可例如图2中标记的“BT语音”,且其中可透过所述的该至少一个BT信道传输相应的语音数据(或者声音数据)。更具体地,当BT特别兴趣小组(BT Special Interest Group,SIG)规范允许通过重传输提高语音数据传递成功率时,移动电话200和BT耳机50中的每个都可执行重传输操作,且可相互触发对方的重传输操作。关于BT重传输的实现细节,请参考BT SIG规范以获取更多信息。
请注意可将移动电话200和BT耳机50中的任何一个作为上述的电子装置的实例。在将移动电话200作为上述电子装置的情况中,处理电路110可包括移动电话200内部的至少一个处理器和相应的硬件电路,且无线通信控制电路120可包括移动电话200内部的一个无线通信控制芯片。此仅用于说明,并非用于限制本发明。根据此实施例的变形,可将处理电路110和无线通信控制电路120集成至同一个电路,例如移动电话200的控制集成电路(Intergrated Chip,IC)。
此外,在将BT耳机50作为上述电子装置实例的情况中,可将处理电路110和无线通信控制电路120集成至同一个电路,例如BT耳机50的控制IC。根据此实施例,BT耳机50可包括一个麦克风和一个听筒。此仅用于说明,并非用于限制本发明。根据本实施例的一个变形,BT耳机50可包括一个麦克风和一组听筒。根据本实施例的一些其他变形,BT耳机50可包括一个麦克风和至少一个头戴耳机(headphone)(例如一个或多个头戴耳机)。
图3为根据本发明一个实施例的对无线接收的数据执行数据处理的方法300的流程图,其中可将方法300视为一种数据处理方法。图3中的方法300可应用于图1所示的装置100中,更具体地,可应用于图2所示的移动电话200和BT耳机50中的任何一个。该方法300描述如下:
在步骤310中,无线通信控制电路120通过无线方式从另一个电子装置接收多个封包,其中,该多个封包分别对应于同一组语音数据,其中,由于例如报头错误校验(HeaderError Check,HEC)或循环冗余检查(Cyclic Redundancy Check,CRC)的错误,来自其他电子装置的同一组语音数据被多次传输。例如,在将移动电话200作为上述电子装置的实例的情况中,其他电子装置可表示BT耳机50。又例如,在将BT耳机50作为上述电子装置实例的情况中,其他电子装置可表示移动电话200。
更具体地,处理电路110可检查是否多个封包的一个特定封包中有任何HEC错误或CRC错误。例如,如果在特定封包中检测到存在HEC错误或者CRC错误,处理电路110可通知其他电子装置触发对该组语音数据的重传输(例如,前述的BT重传输),以接收多个封包中的另一个封包。又例如,处理电路110可触发对该组语音数据的重传输以接收接收多个封包中的另一个封包。由于其他电子装置执行重传输操作,无线通信控制电路120可从其他电子装置接收分别对应于同一组语音数据的全部的多个封包。
在步骤320中,为执行语音解码,处理电路110根据多个封包选择性地执行纠错操作以恢复该组语音数据。更具体地,处理电路110选择性地对该多个封包中的至少一个执行纠错操作以获得该组语音数据,其中,根据该多个封包的至少一个特性确定是否执行上述的该纠错操作。例如,上述的至少一个特征值可包括该多个封包内部的若干错误封包。又例如,上述的至少一个特征值可包括多个封包的至少一个封包内的若干错误。
根据此实施例,纠错(更具体地,上述的纠错操作)可包括CRC纠错。例如,处理电路110可检查是否多个封包中的至少两个封包(例如,两个或更多封包)为CRC结果错误,即CRC-错误(CRC-incorrect),且当检测到多个封包中的至少两个封包(例如,两个或更多封包)为CRC-错误时,处理电路110对至少一个封包执行CRC纠错以获取一组语音数据。更具体地,处理电路110可修改两个封包中的至少一个封包的至少一个潜在错误位(potentialerror bit)以获取试验封包(trial packet),并检查是否试验封包为CRC结果正确,即CRC-正确(CRC-correct)以获取一组语音数据,以及根据两个封包之间至少一个差异(difference)识别潜在的错误位。如果试验封包为CRC-正确,则可利用该试验封包作为该组语音数据以更用于语音解码。此仅用于举例,并非用作限制本发明。又例如,处理电路110可检查是否两个封包中的每一个都包含至少一个CRC错误以确定是否该至少两个封包为CRC-错误。又例如,处理电路110可检查多个封包的至少两个封包为HEC-错误或CRC-错误,且如果否,处理电路110可执行封包丢失隐藏(packet loss concealment,PLC)操作,而不执行CRC纠错操作。在一些实例中,处理电路110可对获取的语音数据执行语音解码(speechdecoding)操作。
根据本发明的一些实施例,如图3所示实施例的一些变形,当检测到多个封包中的至少两个封包(例如,两个或更多封包)为CRC-错误时,处理电路110对一组语音数据的至少一个潜在错误位位置(例如,一个或更多的潜在错误位位置)执行CRC纠错以恢复该组语音数据,用于执行语音解码。更具体地,当检测到上述至少两个封包为CRC-错误时,处理电路110可根据多个封包确定该组语音数据的前述的至少一个潜在错误位位置。例如,为修复该组语音数据,处理电路110在前述的至少两个封包的其中一个内部的前述的至少一个潜在错误位位置强制设置多个候选位的其中一个(例如,候选位“0”或候选位“1”)以获取一个试验封包,并检查是否该试验封包为CRC-正确。此外,处理电路110发现前述的至少两个封包之间的至少一个差异所对应的至少一个位置,并利用前述的至少一个位置作为前述的至少一个潜在错误位位置。而当检测到试验封包为CRC-正确时,处理电路110使用该试验封包作为该组语音数据中的已修复封包。
例如,在多个封包的黄金数据(golden data)(即该组语音数据的校正版本)与一个二进制值序列{1111,1111}相等,且前述的至少两个封包的第一个错误封包和第二个错误封包的错误数据分别与二进制值序列{1111,1110}和{1111,1101}相等的情况下,处理电路110发现对应于第一个错误封包和第二个错误封包之间的两个差异的两个位置(例如,最后两个位,这是因为{1111,1110}的最后两个位“10”和{1111,1101}的最后两个位“01”是相互不同的)。并在此实例中利用这两个位置作为该组语音数据的潜在错误位位置。更具体地,为修复该组语音数据,处理电路110在第一个错误封包和第二个错误封包的其中一个内部的前述的至少一个潜在错误位位置强制设置多个候选位的其中一个(例如,候选位“0”或候选位“1”)以获取一个试验封包,并检验是否该试验封包是CRC-正确。例如,处理电路110可在第一个错误封包的错误数据的最后一个位(例如,{1111,1110}的最后一个位“0”)强制设置候选位“1”,以获取一个带有试验数据的试验封包{1111,1111},且然后检查是否该试验封包为CRC-正确。当检测到此带有校验数据的试验封包{1111,1111}为CRC-正确时,处理电路110使用该试验封包作为该组语音数据的已修复封包。又例如,处理电路110可在第二个错误封包的错误数据的最后一个位的相邻位(例如,{1111,1101}的位“0”)强制设置候选位“1”,以获取一个带有校验数据的试验封包{1111,1111},且然后检查是否该试验封包为CRC-正确。当检测到该带有校验数据的试验封包{1111,1111}为CRC-正确时,处理电路110使用该试验封包作为该组语音数据的已修复封包。结果,在步骤320所述的纠错过程中(例如,上述的CRC纠错)获取该组语音数据的已修复封包的情况下,处理电路110对已修复封包执行语音解码。
根据本发明的一些实施例,如图3中所示实施例的变形,处理电路110可检查是否前述的至少两个封包的每一个(例如,上述的第一个错误封包和第二个错误封包)都包含至少一个CRC错误以确定是否上述的至少两个封包为CRC-错误。当检测到上述的至少两个封包的每一个包含至少一个CRC错误,处理电路110执行上述的CRC纠错。
此外,无线通信控制电路120可从其他电子装置无线接收一些其他组语音数据,且以不同方法处理其他组语音数据中的一些数据,而不对其他组语音数据中的一些数据执行步骤320中所述的数据校正操作(例如上述的CRC纠错)。例如,无线通信控制电路120可从其他电子装置无线接收分别对应于其他组语音数据的一些其他封包(并不是步骤310所述的多个封包),此时,由于例如HEC或CRC错误,传输自其他电子装置的该其他组语音数据被多次传输。更具体地,当检测到在其他封包内部的CRC-错误封包的数量大于1时,处理电路110执行PLC操作,而不是对其他组语音数据执行CRC纠错操作。在另一实例中,无线通信控制电路120可分别从其他电子装置无线接收对应于其他组语音数据的至少一个其他封包(例如一或多个封包,并不是步骤310所述的多个封包),并进一步检查是否在前述的至少一个其他封包中是否存在任何HEC错误或者CRC错误。更具体地,当检测到在前述的至少一个其他封包的一个特定封包中不存在任何HEC错误且不存在任何CRC错误时,处理电路110对该特定封包执行语音解码,而不对该其他组语音数据执行CRC纠错。
根据本发明的一些实施例,如图3中所示实施例的变形,可选择性地执行步骤320中所述的纠错方法以用于时序严格(timing critical)或重传输有限的多个情形(scenario)中的至少一个情形,其中,步骤320中所述的纠错方法可例如前述的纠错操作(例如上述CRC纠错)。例如,可选择性地执行纠错以用于时序严格情形,其中,在该情形中数据处理时间为有限的(例如,数据处理时间不得大于一个预定义值)。又例如,可选择性地执行纠错以用于重传输有限情形,其中,在该情形中特定组语音数据的数据重传输的数量为有限的(例如,特定组语音数据的数据重传输的数量不得大于一个预定义值)。
更具体地,根据图3中所示实施例的变形,处理电路110可通过尝试对多个封包的其中一个的载荷中可疑的错误位进行可能的组合以恢复该组语音数据,其中,处理电路110可对可疑的位的任意一个强制设置多个候选位的其中一个(例如,候选位“0”或候选位“1”)以尝试恢复步骤310中所述的该组语音数据。此仅用于举例说明,并非用于限制本发明。根据图3中所示实施例的另一变形,在该组语音数据是由其他电子装置透过BT传输而多次传输的情况下,处理电路110可根据历史缓存(history buffer)和连续可变斜率增量(Continuously Variable Slope Delta,CVSD)系数来恢复该组语音数据。有关于上述的历史缓存和CVSD系数的一些细节,请参考BT标准。
根据图3中所示实施例的另一个变形,处理电路110可对多个封包的载荷(payload)执行位多数选举(bitwise majority vote)操作以获取多数选举结果,并可进一步识别多数选举结果的一或更多个可能的错误位(possible error bit),其中,当该多数选举结果的一个位不同于该多个载荷中的任意一个的对应位时,则识别出该位为可能的错误位。更具体地,处理电路110可检查是否上述一个或更多个可能的错误位的数目小于预定义阈值。当检测到前述的一个或更多个可能的错误位的数目小于预定义阈值时,处理电路110可通过使用多数选举结果来执行纠错。此仅用于了举例说明,并非意在限制本发明。又例如,当检测到前述的一个或更多个可能的错误位的数目小于预定义阈值时,处理电路110可对多数选举结果执行纠错操作。
根据图3中所示实施例的再一个变形,在该多个封包的一个特定包的HEC期间,处理电路110可对该特定封包的报头执行位多数选举操作以获取多数选举结果,并可进一步明确多数选举结果的一个或更多个可能的错误位以获取报头的HEC错误计数(HEC errorcount),其中,HEC错误计数表示报头的一个或更多个可能的错误位的数目。更具体地,处理电路110可检查是否HEC错误计数小于一个预定义阈值。当检测到HEC错误计数小于一个预定义阈值时,处理电路110可通过使用该多数选举结果并通过使用该特定封包的载荷来执行纠错。此仅用于举例说明,并不意在限制本发明。又例如,当检测到HEC错误计数小于比预定义阈值时,处理电路110可对多数选举结果执行纠错操作。
实际上,前述的至少一个情形可包括BT同步面向连接(Synchronous Connection-Oriented,SCO)、BT扩展同步面向连接(BT Extended Synchronous Connection-Oriented,eSCO)或BT高级音频分发模型(Advanced Audio Distribution Profile,A2DP)。更具体地,前述的至少一个情形可包括BT SCO、BT eSCO、以及BT A2DP中的至少一个(例如,一个或更多个)。此仅用于举例说明,并不意味在限制本发明。例如,前述的至少一个情形可包括不同于BT SCO、BT eSCO、以及BT A2DP中任何一个的其他情形中的一个情形。
图4为根据本发明的一个实施例使用图3所示方法300的运作流程400的示意图。例如,可通过无线方式接收一个或更多语音数据封包,如图4所示的第1个语音数据封包、第2个语音数据封包……及第N个语音数据封包可通过无线接收,其中,符号N可表示可对对应于同一组数据(例如,在步骤310所述的同一组语音数据)的语音数据封包进行传输的次数的最大允许值。
在步骤410-1中,处理电路110通过无线方式接收第1个语音数据封包。然后,在步骤412-1中,处理电路110检查第1个语音数据封包中是否存在任何HEC错误或任何CRC错误,当检测到第1个语音数据封包中存在HEC错误或者CRC错误时,则进入步骤410-2,否则,进入步骤440。
在步骤410-2中,处理电路110通过无线方式接收第2个语音数据封包。然后,在步骤412-2中,处理电路110检查第2个语音数据封包中是否存在任何HEC错误或任何CRC错误,当检测到第2个语音数据封包中存在HEC错误或者CRC错误时,进入步骤410-3,否则,进入步骤440。其余步骤可依此类推。
在索引n(在该实现中可为正整数)在[1,N-1]的范围之内的情况下,在步骤410-n中,处理电路110通过无线方式接收第n个语音数据封包。然后,在步骤412-n中,处理电路110检查第n个语音数据封包中是否存在任何HEC错误或任何CRC错误,当检测到第n个语音数据封包中存在HEC错误或CRC错误时,进入步骤410-(n+1),否则,进入步骤440。
在步骤410-N中,处理电路110通过无线方式第N个语音数据封包。然后,在步骤412-N中,处理电路110检查第N个语音数据封包中是否存在任何HEC错误或任何CRC错误,当检测到第N个语音数据封包中存在HEC错误或CRC错误时,进入步骤420,否则,进入步骤440。
在步骤420中,处理电路110检查是否在第1个语音数据封包、第2个语音数据封包……及第N个语音数据封包中存在两个或更多个CRC-错误封包。当检测到在第1个语音数据封包、第2个语音数据封包……和第N个语音数据封包中存在两个或更多个CRC-错误封包时,进入步骤430,否则,进入步骤450。
在步骤430中,处理电路110执行上述的CRC纠错操作。由此,可获取上述的恢复的封包。因此,相较于有关技术,本发明的方法和装置可增强语音数据的正确性,且因此,利用本发明的方法和装置实现的电子装置的整体性能比传统电子装置的整体性能更高。
请注意,步骤420和步骤430可作为步骤320的至少一个部分(例如一部分或全部)的实例。此外,在进入步骤420的情况下,可将第1个语音数据封包、第2个语音数据封包……和第N个语音数据封包作为步骤310中所述的多个封包的实例。
在步骤440中,处理电路110(更具体地,处理电路110的一个音频编解码(coder-decoder,CODEC)模块)对正确的数据进行解码,其中,正确的数据可来自于步骤430或步骤412-1、412-2……及步骤412-N中的任意步骤。例如,可从上述的已恢复封包中获取正确数据。又例如,可从上述的第1个语音数据封包中获取正确的数据。再例如,可从上述的第2个语音数据封包中获取正确的数据。还例如,可从上述的第n个语音数据封包中获取正确的数据。还例如,可从上述的第N个语音数据封包中获取正确的数据。
在步骤450中,处理电路110执行上述的PLC操作。
在步骤460中,处理电路110输出一个脉冲编码调制(pulse-code modulation,PCM)流。
请注意,为了更好地理解,对步骤410-1到步骤460的操作的描述如图4中所示。此仅用于举例说明,并非意在限制本发明。根据此实施例的一些变形,可重复操作步骤410-1到步骤460的至少一个部分(例如,一部分或全部)。根据此实施例的另一些变形,可同时执行操作步骤410-1到步骤460的一些部分。
实际上,可提前确定上述的最大允许值,更具体地,为保护电子装置的整体性能,可在电子装置的设计阶段确定上述的最大允许值。其中,在此实施例中最大允许值是为预设值。由于同一组数据(例如,步骤310中所述的同一组语音数据)的重传输次数的数目等于对应于传输的同一组数据的语音数据封包的次数的数目减去1,在本实施例中,同一组数据的重传输次数的数目应该小于或等于(N-1),这意味着同一组数据的重传输次数的数目为有限的。
根据图4中所示的运作流程400,当可根据前述的时间严格或重传输有限情形中的至少一个情形选择性地执行纠错时(例如,根据多个封包的前述的至少一个特性(如步骤420中使用的)确定是否执行对改组语音数据的纠错),在数据处理时间有限的情况下,本发明的方法和装置可有效地增强语音质量。因此,采用本发明的方法和装置实现的电子装置并不会引入副作用。
图5为根据本发明的一个实施例使用图3所示方法300的控制机制500的示意图。为了更好地理解,一些符号(例如A、B和C)可用于表示控制方案500的相应数据,比如无线接收封包的初始数据(例如,初始数据A和B)和在计算过程中的临时数据(例如,临时数据C)。举例而言,在控制方案500中使用的每个封包可包括15个区块,其中每个区块可包括32个位(在图5中标记成“32位x15区块”)
根据此实施例,处理电路110将第1个封包RX1的初始数据A存储在数组RX_1st_Packet_Bit[15]中,且将第2个封包RX2的初始数据B存储在数组RX_2nd_Packet_Bit[15]中。然后,处理电路110通过执行位操作(bitwise operation)“(A&B)xor(A|B)”计算临时数据C,并将临时数据C存储在数组Invalid_Bit_Mask[15]中,其中符号“&”,“|”和“xor”分别表示“与”、“或”和“异或”(排除或)的操作符(operator)。此外,处理电路110可尝试与CRC计算组合,更具体地,可通过尝试上述的可疑错误位的可能的组合来恢复该组语音数据。例如,处理电路110发现CRC-正确的结果并成功重存储载荷,此时该数据封包可实现最佳语音质量。又例如,如果未发现CRC-正确的结果,则处理电路110使用上述的PLC操作以减轻(smooth)RX错误。有关于该实施例的类似描述不在此重复。
根据本发明的一些实施例,例如图3所示实施例的一些变形,可从具有前向纠错(Forward Error Correction,FEC)编码的BT封包头中获取HEC错误计数。例如,3次重复FEC编码(为简洁,称为“FEC1/3”)可用于报头。关于获取HEC错误计数和使用FEC编码的实现细节,请参考BT协议以获取更多信息。
本领域技术人员在不脱离本发明的精神的范围内,可对所述装置和方法做些许的改动与修饰。因此,本发明的保护范围仅以权利要求限定的范围为准。
Claims (13)
1.一种数据处理方法,用于电子装置,该数据处理方法包括以下步骤:
通过无线方式从另一个电子装置接收多个封包,其中,该多个封包对应于同一组语音数据;以及
选择性地对该多个封包中的至少一个执行纠错操作以获取该组语音数据,其中,根据该多个封包的至少一个特性确定是否执行对该组语音数据的该纠错操作;
其中,该纠错操作包括循环冗余检查纠错;且该选择性地对该多个封包中的至少一个执行该纠错操作以获取该组语音数据的步骤更包括:
检查是否该多个封包中的至少两个为循环冗余检查-错误,以及
如果是,对该多个封包的至少一个执行该循环冗余纠错操作以获取该组语音数据;
其中,该对该多个封包的至少一个执行该循环冗余纠错操作以获取该组语音数据的步骤更包括:
修改该两个封包中的至少一个的潜在错误位以获取试验封包;以及
检查是否该试验封包为循环冗余检查-正确以获取该组语音数据。
2.如权利要求1所述的数据处理方法,其特征在于,该对该多个封包的至少一个执行该循环冗余纠错操作以获取该组语音数据的步骤更包括:
根据该两个封包之间的至少一个差异识别该潜在错误位。
3.如权利要求1所述的数据处理方法,其特征在于,该数据处理方法更包括:
如果该试验封包为循环冗余检查-正确,使用该试验封包作为该组语音数据以更用于语音解码。
4.如权利要求1所述的数据处理方法,其特征在于,该检查是否该多个封包中的至少两个为循环冗余检查-错误的步骤包括:
检查是否该多个封包中的每个都包括至少一个循环冗余检查错误以确定是否该至少两个封包为循环冗余检查-错误。
5.如权利要求1所述的数据处理方法,其特征在于,该选择性地对该多个封包中的至少一个执行该纠错操作以获取该组语音数据的步骤包括:
检查是否该多个封包的至少两个封包为头错误检查-错误或循环冗余检查-错误,以及
如果否,执行封包丢失隐藏操作,而不执行该纠错操作。
6.如权利要求1所述的数据处理方法,其特征在于,该数据处理方法更包括:对获取的该组语音数据执行语音解码操作。
7.如权利要求1所述的数据处理方法,其特征在于,该数据处理方法更包括:触发对该组语音数据的重传输操作以接收该多个封包中的另一个封包。
8.如权利要求1所述的数据处理方法,其特征在于,选择性地执行该纠错操作以用于时序严格或重传输有限的多个情形中的至少一个情形。
9.如权利要求1所述的数据处理方法,其特征在于,透过蓝牙传输对该组语音数据进行传输;以及该选择性地对该多个封包中的至少一个执行该纠错操作以获取该组语音数据的步骤包括:
根据历史缓存和连续可变斜率增量系数恢复该组语音数据。
10.如权利要求8所述的数据处理方法,其特征在于,该至少一个情形包括:
蓝牙同步面向连接、蓝牙扩展同步面向连接或蓝牙高级音频分发模型。
11.一种数据处理装置,用于电子装置,该数据处理装置包括:
无线通信控制电路,用于通过无线方式从另一个电子装置接收多个封包,其中,该多个封包对应于同一组语音数据;以及
处理电路,耦接于该无线通信控制电路,用于选择性地对该多个封包中的至少一个执行纠错操作以获取该组语音数据,其中,根据该多个封包的至少一个特性确定是否执行对该组语音数据的该纠错操作;
其中,该处理电路更检查是否该多个封包中的至少两个封包为循环冗余检查-错误或头错误检查-错误;
其中,该处理电路更根据该两个封包之间的至少一个差异识别该两个封包中的至少一个的潜在错误位,并修改该潜在错误位以获取试验封包,以及检查该试验封包是否为循环冗余检查-正确以获取该组语音数据。
12.一种数据处理方法,用于电子装置,该数据处理方法包括以下步骤:
通过无线方式从另一个电子装置接收多个封包,其中,该多个封包对应于同一组语音数据;以及
选择性地对该多个封包中的至少一个执行纠错操作以获取该组语音数据,其中,根据该多个封包的至少一个特性确定是否执行对该组语音数据的该纠错操作;
该选择性地对该多个封包中的至少一个执行该纠错操作以获取该组语音数据的步骤包括:
对该多个封包的多个载荷执行位多数选举操作以获取多数选举结果,并识别该多数选举结果的多个可能的错误位,其中,当该多数选举结果的一个位不同于该多个载荷中的任意一个的对应位时,则识别出该位为可能的错误位;
检查是否该可能的错误位的数目小于预定义阈值;以及
如果是,对该多数选举结果执行该纠错操作。
13.一种数据处理方法,用于电子装置,该数据处理方法包括以下步骤:
通过无线方式从另一个电子装置接收多个封包,其中,该多个封包对应于同一组语音数据;以及
选择性地对该多个封包中的至少一个执行纠错操作以获取该组语音数据,其中,根据该多个封包的至少一个特性确定是否执行对该组语音数据的该纠错操作;
该选择性地对该多个封包中的至少一个执行该纠错操作以获取该组语音数据的步骤更包括:
在该多个封包的特定封包的报头错误检查期间,对该特定封包的报头执行位多数选举操作以获取多数选举结果,并识别该多数选举结果的多个可能的错误位以获取该报头的报头错误检查的错误计数,其中,该报头错误检查的错误计数表示该报头的该多个可能的错误位的数目;
检查是否该报头错误检查的错误计数小于预设阈值;以及
如果是,对该多数选举结果执行该纠错操作。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361761923P | 2013-02-07 | 2013-02-07 | |
US61/761,923 | 2013-02-07 | ||
US13/962,943 US9196256B2 (en) | 2013-02-07 | 2013-08-08 | Data processing method that selectively performs error correction operation in response to determination based on characteristic of packets corresponding to same set of speech data, and associated data processing apparatus |
US13/962,943 | 2013-08-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103986552A CN103986552A (zh) | 2014-08-13 |
CN103986552B true CN103986552B (zh) | 2017-11-21 |
Family
ID=51260010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410039517.1A Active CN103986552B (zh) | 2013-02-07 | 2014-01-27 | 数据处理方法及装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9196256B2 (zh) |
CN (1) | CN103986552B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10567489B2 (en) * | 2013-03-15 | 2020-02-18 | Time Warner Cable Enterprises Llc | System and method for seamless switching between data streams |
US9647689B2 (en) * | 2015-01-15 | 2017-05-09 | Texas Instruments Incorporated | Robust connection for low-energy wireless networks |
CN106856093A (zh) * | 2017-02-23 | 2017-06-16 | 海信集团有限公司 | 音频信息处理方法、智能终端及语音控制终端 |
US10217466B2 (en) * | 2017-04-26 | 2019-02-26 | Cisco Technology, Inc. | Voice data compensation with machine learning |
US10367609B2 (en) | 2017-09-20 | 2019-07-30 | Qualcomm Incorporated | Error correction for data packets transmitted using an asynchronous connection-less communication link |
CN112566081B (zh) * | 2018-02-09 | 2023-05-26 | 南京中感微电子有限公司 | 一种蓝牙多通道接收方法、系统及电子设备 |
CN110782906B (zh) * | 2018-07-30 | 2022-08-05 | 南京中感微电子有限公司 | 音频数据恢复方法、装置及蓝牙设备 |
KR102357104B1 (ko) * | 2019-07-04 | 2022-01-28 | 주식회사 엠오디 | 오디오 시스템 및 오디오 시스템의 구동방법 |
CN110809092B (zh) * | 2019-10-11 | 2021-02-12 | 中国电子科技集团公司第三十研究所 | 一种基于cvsd编码特征的语音失步检测方法 |
US11121820B2 (en) * | 2019-11-12 | 2021-09-14 | Qualcomm Incorporated | Media access controller with a codec error model |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7206986B2 (en) * | 2001-11-30 | 2007-04-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for replacing corrupted audio data |
US20030163304A1 (en) * | 2002-02-28 | 2003-08-28 | Fisseha Mekuria | Error concealment for voice transmission system |
US8386246B2 (en) * | 2007-06-27 | 2013-02-26 | Broadcom Corporation | Low-complexity frame erasure concealment |
US20100324911A1 (en) * | 2008-04-07 | 2010-12-23 | Broadcom Corporation | Cvsd decoder state update after packet loss |
US8327211B2 (en) * | 2009-01-26 | 2012-12-04 | Broadcom Corporation | Voice activity detection (VAD) dependent retransmission scheme for wireless communication systems |
US8676573B2 (en) * | 2009-03-30 | 2014-03-18 | Cambridge Silicon Radio Limited | Error concealment |
US9076439B2 (en) * | 2009-10-23 | 2015-07-07 | Broadcom Corporation | Bit error management and mitigation for sub-band coding |
US8392810B2 (en) | 2010-01-25 | 2013-03-05 | Qualcomm Incorporated | Majority vote error correction |
US20110196673A1 (en) * | 2010-02-11 | 2011-08-11 | Qualcomm Incorporated | Concealing lost packets in a sub-band coding decoder |
-
2013
- 2013-08-08 US US13/962,943 patent/US9196256B2/en active Active
-
2014
- 2014-01-27 CN CN201410039517.1A patent/CN103986552B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US20140222420A1 (en) | 2014-08-07 |
CN103986552A (zh) | 2014-08-13 |
US9196256B2 (en) | 2015-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103986552B (zh) | 数据处理方法及装置 | |
EP4057558A1 (en) | Harq-ack codebook generation method, information transmission method, and device | |
US11477761B2 (en) | Sidelink transmission method and terminal | |
CN1236579C (zh) | 在自动重复请求系统中恢复数据的方法和设备 | |
KR101438864B1 (ko) | 피기백된 ack/nack 필드가 어드레싱된 임시 블록 흐름(tbf)을 표시하기 위한 방법 및 장치 | |
CN103036645B (zh) | 无线发射/接收单元、节点b和在节点b中实施的方法 | |
CN104054125B (zh) | 用于冗余帧译码和解码的装置 | |
CN108011696A (zh) | 重传反馈方法、相关设备及计算机可读介质 | |
EP2485424B1 (en) | System and method for packet acknowledgment | |
CN111010262A (zh) | 无线链路控制传输方法及相关产品 | |
CN102771072A (zh) | 多数票决错误校正技术领域 | |
MY143944A (en) | Transport block size (tbs) signaling enhancement | |
WO2018028338A1 (zh) | 一种承载标识信息的方法及装置 | |
JPWO2019021588A1 (ja) | 無線lan通信装置および無線lan通信方法 | |
TW201517542A (zh) | 用於在無線區域網路系統中執行混合自動重複請求之系統及方法 | |
JP4460575B2 (ja) | エラー・レート検出方法および試験装置 | |
EP2182667A2 (en) | Wireless communication apparatus and wireless communication method | |
CN115278294A (zh) | 传输音频数据的方法、装置、电子设备及音频播放设备 | |
CN111132377A (zh) | 一种终端与耳机的数据传输方法和系统 | |
CN106452483A (zh) | 一种信息交互的方法及装置 | |
CN1016391B (zh) | 无塞绳电话 | |
CN108400802A (zh) | 一种蓝牙接收方法、系统及电子设备 | |
CN109525367B (zh) | 基于LoRa编码和解码机制的检错和自适应纠错方法 | |
US20120226950A1 (en) | Data classification based on cyclic redundancy check and decoder metric | |
CN105657592B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |