Source: http://www.freepatentsonline.com/9542253.html
Timestamp: 2019-02-19 11:42:27
Document Index: 418032462

Matched Legal Cases: ['Application No. 200810096662', 'Application No. 200810096662', 'Application No. 200810096662', 'Application No. 200810096662', 'Application No. 200810096662', 'Application No. 200810096662', 'Application No. 200810096662', 'Application No. 2', 'Application No. 2', 'Application No. 2', 'Application No. 07104676', 'Application No. 07104676', 'Application No. 07104676', 'Application No. 07104676', 'Application No. 07104676', 'Application No. 07104676', 'Application No. 07104676', 'Application No. 709', 'Application No. 709', 'Application No. 709']

Device and method for improved lost frame concealment - BlackBerry Limited
United States Patent 9542253
A method and system are described herein that employ a lost frame concealment technique for processing data frames received during transmission over a communications channel. The lost frame concealment technique involves determining whether a current data frame is a bad frame, performing source decoding on the current data frame with one or more parameters that are limited by a first set of one or more values if the current data frame is a bad frame, and performing source decoding on the current data frame with one or more parameters that are not limited if the current data frame is a good frame.
Liu, Yi Wen (Waterloo, CA)
14/499846
H04N11/04; G06F11/07; H04L1/00; H04L1/20; H03M13/03
375/240.27, 375/240.26, 375/240.28
Download PDF 9542253 PDF help
8848806 Device and method for improved lost frame concealment 2014-09-30 Simmons et al.
8724665 Pseudo-synchronous time division multiplexing 2014-05-13 McElvain
8599284 High dynamic range sub-sampling architecture 2013-12-03 Mo et al.
20130267796 SYSTEM AND METHOD FOR THE SIMULTANEOUS, NON-INVASIVE ESTIMATION OF BLOOD GLUCOSE, GLUCOCORTICOID LEVEL AND BLOOD PRESSURE 2013-10-10 Enric Monte Moreno
20130088624 HIGH DYNAMIC RANGE SUB-SAMPLING ARCHITECTURE 2013-04-11 Mo et al.
20130064130 Method for dynamically adjusting switching loop and network equipment 2013-03-14 Jiang 370/252
8165224 Device and method for improved lost frame concealment 2012-04-24 Simmons et al.
20120033727 EFFICIENT VIDEO CODEC IMPLEMENTATION 2012-02-09 Shor et al.
8078852 Predictors with adaptive prediction threshold 2011-12-13 Al-Otoom et al.
20110208517 TIME-WARPING OF AUDIO SIGNALS FOR PACKET LOSS CONCEALMENT 2011-08-25 Zopf 704/211
20110013650 PSEUDO-SYNCHRONOUS TIME DIVISION MULTIPLEXING 2011-01-20 McElvain
7873119 Input drive control for switcher regulated power amplifier modules 2011-01-18 Chan et al.
7853079 Technique for automatic poster frame detection 2010-12-14 Shrivastava 348/333.05
20100306515 Predictors with Adaptive Prediction Threshold 2010-12-02 Al-Otoom et al.
7844279 Method for measuring radio channel quality and related equipment 2010-11-30 Sibers et al.
7783982 Programmable actuator and method in a network terminal device 2010-08-24 Reynolds 715/719
7643630 Echo suppression with increment/decrement, quick, and time-delay counter updating 2010-01-05 McCree et al.
20090282202 Technique to perform memory disambiguation 2009-11-12 Krimer et al.
20090213940 Error Resilient Video Transmission Using Instantaneous Receiver Feedback and Channel Quality Adaptive Packet Retransmission 2009-08-27 Steinbach et al.
20090204394 DECODING METHOD AND DEVICE 2009-08-13 Xu 704/205
20090154445 Method and system for adaptive transmission of smoothed data over wireless channels 2009-06-18 Jiang et al.
20090135789 Channel Estimation 2009-05-28 Snapir 370/336
20080310518 METHOD FOR REDUCING CHANNEL CHANGE TIME OF INTERNET PROTOCOL TELEVISION (IPTV) AND IPTV SERVICE PROVISION SERVER FOR IMPLEMENTING THE SAME 2008-12-18 Song et al.
7430238 Shared pipeline architecture for motion vector prediction and residual decoding 2008-09-30 Lin et al.
20080225950 Scalable architecture for video codecs 2008-09-18 Zhu
20080172529 NOVEL CONTEXT INSTRUCTION CACHE ARCHITECTURE FOR A DIGITAL SIGNAL PROCESSOR 2008-07-17 Ringe et al.
20080101469 METHOD AND APPARATUS FOR ADAPTIVE NOISE FILTERING OF PIXEL DATA 2008-05-01 Ishtiaq 375/240.13
7333563 Method and apparatus for improving power amplifier efficiency in wireless communication systems having high peak to average power ratios 2008-02-19 Chan et al.
20070291872 INPUT DRIVE CONTROL FOR SWITCHER REGULATED POWER AMPLIFIER MODULES 2007-12-20 Chan et al.
20070226470 Technique to perform memory disambiguation 2007-09-27 Krimer et al.
7273282 Projection system with optical filter 2007-09-25 Przybyla et al.
20070189618 Method and apparatus for processing sub-blocks of multimedia data in parallel processing systems 2007-08-16 Bivolarski
7257086 Method and system for effectuating network routing over primary and backup channels 2007-08-14 Brown et al.
20070180162 Method for controlling memory in mobile communication system 2007-08-02 Lee et al.
20070174054 COMMUNICATION APPARATUS WITH SIGNAL MODE AND VOICE MODE 2007-07-26 Lee 704/243
20070173274 Power control method for a reverse data service 2007-07-26 Lim 455/522
20070147548 Blind data rate identification for enhanced receivers 2007-06-28 Dominique et al.
7206573 Method and system for facilitating determination of call-drop locations in a wireless network 2007-04-17 Weaver 455/423
20070027683 Apparatus and method for concealing frame erasure and voice decoding apparatus and method using the same 2007-02-01 Sung 704/219
20060268845 Methods and systems for unlicensed mobile access realization in a media gateway 2006-11-30 He et al.
20060222090 System and method for coding and decoding information signals 2006-10-05 Simmons et al.
20060222066 Intra prediction method and apparatus 2006-10-05 Yoo et al.
20060221707 Adaptive threshold setting for discontinuous transmission detection 2006-10-05 Leonard 365/185.29
7088764 Method for determining signal quality of simultaneously received multiple channels of data 2006-08-08 Kaewell, Jr.
20060150049 Method for adjusting speech volume in a telecommunications device 2006-07-06 Zhang et al.
20060126730 Intra prediction apparatus and intra prediction method 2006-06-15 Arakawa et al.
7054284 Method and apparatus for supervising a potentially gated signal in a wireless communication system 2006-05-30 Jou 370/329
7047000 Frame error identification 2006-05-16 Ojala 370/328
20060087624 Projection system with optical filter 2006-04-27 Przybyla et al.
20060007994 Signal quality estimation for continuous phase modulation 2006-01-12 Lai et al.
20050276317 Apparatus and method for controlling transmission mode in a MIMO mobile communication system 2005-12-15 Jeong et al.
20050276282 Method of audio-video synchronization 2005-12-15 Wells 370/503
6968309 Method and system for speech frame error concealment in speech decoding 2005-11-22 Makinen et al.
20050243846 Method and apparatus providing continuous adaptive control of voice packet buffer at receiver terminal 2005-11-03 Mallila
6931569 Dual protocol layer automatic retransmission request scheme for wireless air interface 2005-08-16 Fong 714/18
20050157647 Metering packet flows for limiting effects of denial of service attacks 2005-07-21 Sterne et al.
20050094622 Method and apparatus providing smooth adaptive management of packets containing time-ordered content at a receiving terminal 2005-05-05 Mallila 370/352
6876866 Multi-state power control mechanism for a wireless communication system 2005-04-05 Ulupinar 370/335
20050053304 Method and device for the correction of a scanned image 2005-03-10 Frei
20050049853 Frame loss concealment method and device for VoIP system 2005-03-03 Lee 704/201
20050048923 Bad frame indicator in GSM mobile system 2005-03-03 Mohseni 455/67.11
6823303 Speech encoder using voice activity detection in coding noise 2004-11-23 Su et al.
20040218560 Method for selecting a transmission channel with a TDMA (time division multiple access) and communication system using such a method 2004-11-04 Bonald
6792053 Method for estimating channel bit error ratio, and receiver 2004-09-14 Vainio 375/225
20040137896 Operation of a forward link acknowledgement channel for the reverse link data 2004-07-15 Sarkar 455/423
20040086154 Image qualification for optical navigation sensor 2004-05-06 Lin 382/107
20040078745 Method and device for error correction of data blocks 2004-04-22 Kruger et al.
6725054 Apparatus and method of controlling forward link power when in discontinuous transmission mode in a mobile communication system 2004-04-20 Hwang 370/317
20040047305 Distributed reverse channel outer loop power control for a wireless communications system 2004-03-11 Ulupinar 370/320
20040032347 Soft-output decoder with computation decision unit 2004-02-19 Yamazaki
20040006462 System and method for robustly detecting voice and DTX modes 2004-01-08 Johnson
20030228857 Optimum scan for fixed-wireless smart antennas 2003-12-11 Maeki
6633536 Signalling in a digital mobile communications system 2003-10-14 Suvanen 370/216
20030179727 Forward link supervision for packet data users in a wireless communication network 2003-09-25 Soong 370/328
6614858 Limiting range of extrinsic information for iterative decoding 2003-09-02 Pekarich et al.
20030128744 Apparatus and method for detecting discontinuous transmission period in a CDMA mobile communication system 2003-07-10 Yeo 375/147
6587590 Method and system for computing 8×8 DCT/IDCT and a VLSI implementation 2003-07-01 Pan
20030103480 Error detection code generating method and error detection code generator 2003-06-05 You 370/335
20030056158 Frame error rate estimation in a receiver 2003-03-20 Yue 714/704
6480472 Mobile station supervision of the forward dedicated control channel when in the discontinuous transmission mode 2002-11-12 Jou 257/E23.02
20020147590 ERROR CONCEALMENT IN DIGITAL AUDIO RECEIVER 2002-10-10 Sydanmaa
20020123887 Concealment of frame erasures and method 2002-09-05 Unno
20020091523 Spectral parameter substitution for the frame error concealment in a speech decoder 2002-07-11 Makinen 704/258
20020064133 Simplified quality indicator bit test procedures 2002-05-30 Chen 370/252
6377553 Method and device for error masking in digital transmission systems 2002-04-23 Vary et al.
6370366 Telephony device comprising a base station and at least a subscriber unit, subscriber unit for such a telephony device and method used in such a telephony device 2002-04-09 Roullet 455/174.1
20020015454 Receiver, method, system and telephone for improving the detection of transmission errors 2002-02-07 Charkani
20010021653 Method of recovering dropped call in mobile communication system 2001-09-13 Han 455/450
6215831 Decoder circuit using bit-wise probability and method therefor 2001-04-10 Nowack et al.
6170073 Method and apparatus for error detection in digital communications 2001-01-02 Jarvinen 714/752
6144936 Method for substituting bad speech frames in a digital communication system 2000-11-07 Jarvinen 704/225
6092230 Method and apparatus for detecting bad frames of information in a communication system 2000-07-18 Wood 714/755
6005898 Multichannel viterbi decoder 1999-12-21 Kaewell, Jr.
5949328 Apparatus and method for locatable encoding alarms 1999-09-07 Latty
5884010 Linear prediction coefficient generation during frame erasure or packet loss 1999-03-16 Chen et al.
5864799 Apparatus and method for generating noise in a digital receiver 1999-01-26 Corretjer et al.
5598506 Apparatus and a method for concealing transmission errors in a speech decoder 1997-01-28 Wigren 704/228
5596526 Non-volatile memory system of multi-level transistor cells and methods using same 1997-01-21 Assar et al.
5450449 Linear prediction coefficient generation during frame erasure or packet loss 1995-09-12 Kroon
4330828 Method of controlling production processes and apparatus therefor 1982-05-18 Smith et al.
CA2626506A1 2008-09-22 DEVICE AND METHOD FOR IMPROVED LOST FRAME CONCEALMENT
CN1535461A 2004-10-06 Improved spectral parameter substitution for frame error concealment in speech decoder
CN101277168B 2011-08-31 Device and method for improved lost frame concealment
EP1161020 2001-12-05 Method and apparatus for generating channel error flags for error mitigation and/or concealment in source decoders
EP1624585 2006-02-08 Transmission system with adaptive channel encoder and decoder
EP1332493 2006-12-13 IMPROVED SPECTRAL PARAMETER SUBSTITUTION FOR THE FRAME ERROR CONCEALMENT IN A SPEECH DECODER
EP1973254 2009-07-15 Device and method for improved lost frame concealment
WO2006105647A1 2006-10-12 SYSTEM AND METHOD FOR CODING AND DECODING INFORMATION SIGNALS
Document relating to CN Application No. 200810096662.8, dated Jul. 13, 2010 (Office Action).
Document relating to CN Application No. 200810096662.8, dated Oct. 28, 2010 (Office Action Response).
Document relating to CN Application No. 200810096662.8, dated Nov. 26, 2010 (Office Action).
Document relating to CN Application No. 200810096662.8, dated Feb. 11, 2011 (Office Action Response).
Document relating to CN Application No. 200810096662.8, dated Mar. 21, 2011 (Response to Telephone Notification).
Document relating to CN Application No. 200810096662.8, dated May 27, 2011 (Notification of Grant).
Document relating to CN Application No. 200810096662.8, dated Aug. 31, 2011 (Certificate of Inventive Patent).
Document relating to CA Application No. 2,626,506, dated Feb. 2, 2011 (Office Action).
Document relating to CA Application No. 2,626,506, dated Jul. 28, 2011 (Office Action Response).
Document relating to CA Application No. 2,626,506, dated Mar. 20, 2012 (Notice of Allowance).
Document relating to EP Application No. 07104676.7, dated Aug. 21, 2007 (Extended European Search Report).
Document relating to EP Application No. 07104676.7, dated May 7, 2008 (Response to Extended European Search Report).
Document relating to EP Application No. 07104676.7, dated Feb. 6, 2009 (Communication Under rule 71(3)).
Document relating to EP Application No. 07104676.7, dated May 5, 2009 (Response to Communication Under rule 71 (3) EPC).
Document relating to EP Application No. 07104676.7, dated Jun. 10, 2009 (Approval of Amendment or correction to text intended for grant).
Document relating to EP Application No. 07104676.7, dated Jun. 18, 2009 (Decision to Grant).
Document relating to EP Application No. 07104676.7, dated Jul. 15, 2009 (Certificate of Grant).
Document relating to PCT Application No. PCT/CA2006/000505, dated Jul. 18, 2006 (International Search Report and Written Opinion).
Document relating to PCT Application No. PCT/CA2006/000505, dated Jul. 9, 2007 (International Preliminary Report on Patentability).
Document relating to IN Application No. 709/CHE/2008, dated Sep. 5, 2012 (Office Action).
Document relating to IN Application No. 709/CHE/2008, dated Jan. 21, 2013 (Office Action Response).
Document relating to IN Application No. 709/CHE/2008, dated Jul. 23, 2013 (Office Action).
Document relating to U.S. Appl. No. 11/689,548, dated Jul. 19, 2011 (Office Action).
Document relating to U.S. Appl. No. 11/689,548, dated Oct. 18, 2011 (Office Action Response).
Document relating to U.S. Appl. No. 11/689,548, dated Dec. 20, 2011 (Notice of Allowance, Examiner-Initiated Interview Summary and Office Action Appendix).
3GPP Organizational Partners, 3GPP TS 26.091 V6.0.0 (Dec. 2004) Technical Specification 3rdGeneration Partnership Project; Technical Specification Group Services and System Aspects; Mandatory Speech Codec speech processing functions; Adaptive Multi-Rate (AMR) speech codec; Error concealment of lost frames (Release 6), 2004.
Alfred Mertins, Image Recovery from Noisy Transmission using Soft Bits and Markov Random Field Models, University of Oldenburg, School of Mathematics and Natural Sciences, Germany, http://www.uni-oldenburg.de/sigproc/papers/mertins-oe-oct03.pdf, Oct. 2003.
Tim Fingscheidt and Peter Vary, Softbit Speech Decoding: A New Approach to Error Concealment, IEEE Transactions on Speech and Audio Processing, vol. 9, No. 3, Mar. 2001, pp. 240-251.
Jorg Kliewer and Norbert Gortz, Soft-Input Source Decoding for Robust Transmission of Compressed Images Using Two-Dimensional Optimal Estimation, University of Kiel, Institute for Circuits and Systems Theory, Proceedings ICASSP 2001, vol. IV, May 2001, pp. 2565-2568.
Farshad Lahouti and Amir K. Khandani, Soft Reconstruction of Speech in the Presence of Noise and Packet Loss, Technical Report UW-E&CE#2003-4, Department of Electrical & Computer Engineering, University of Waterloo, May 15, 2003, pp. 1-29.
Marc Adrat et al., The EXIT-Characteristic of Softbit-Source Decoders, IEEE Communications Letters, vol. 9, No. 6, Jun. 2005, pp. 540-542.
M. Adrat et al., Softbit-Source Decoding Based on the Turbo-Principle, Institute of Communication Systems and Data Processing, Aachen, University of Technology, 2001 IEEE VTS 54th Vehicular Technology Conference, pp. 2252-2256.
M. Adrat et al., Iterative Source-Channel Decorder Using Extrinsic Information from Softbit-Source Decoding, Institute of Communication Systems and Data Processing, Aachen, University of Technology, 2001 IEEE International Acoustics, Speech, and Signal Processing, Proceedings (ICASSP '01), pp. 2653-2656.
M. Adrat et al., Efficient Near-Optimum Softbit Source Decoding for Sources with Inter- and Intra-Frame Redundancy, Institute of Communications Systems and Data Processing, Aachen University (RWTH), IEEE International Acoustics, Speech, and Signal Processing, 2004, Proceeding (ICASSP '04), pp. IV-653-IV-656.
This application is a continuation of U.S. patent application Ser. No. 13/422,061, filed Mar. 16, 2012 which is a continuation of U.S. patent application Ser. No. 11/689,548, filed Mar. 22, 2007. U.S. patent application Ser. No. 11/689,548 issued to patent as U.S. Pat. No. 8,165,224 on Apr. 24, 2012. The entire contents of U.S. application Ser. No. 13/422,061 and U.S. application Ser. No. 11/689,548 are hereby incorporated by reference.
1. A lost frame concealment method for processing data frames received from transmission over a communications channel, the method comprising: determining whether a current data frame comprises a bad frame or a good frame, a data frame comprising a bad frame when determined to be received with error or used for control purposes, and the data frame comprising a good frame when determined to be received without error and not used for control purposes; responsive to determining that the current data frame comprises a bad frame, performing source decoding on the current data frame with first limitations on values of one or more parameters used in the source decoding of the current data frame; and responsive to determining that the current data frame comprises a good frame and a previous data frame comprises a bad frame: checking a condition of the communications channel; responsive to determining that the condition of the communications channel is good, performing source decoding on the current data frame with no limitations on values of the one or more parameters used in the source decoding of the current data frame; and responsive to determining that the condition of the communications channel is bad, performing source decoding on the current data frame with second limitations on values of the one or more parameters used in the source decoding of the current data frame.
2. The method of claim 1, wherein the method further comprises: responsive to determining that the current data frame and the previous data frame comprise good frames, performing source decoding on the current data frame with no limitations on values of the one or more parameters used in the source decoding of the current data frame.
3. The method of claim 1, wherein checking the condition of the communications channel comprises: determining a value for a channel quality indicator; and comparing the value of the channel quality indicator to a threshold to determine the condition of the communications channel.
4. The method of claim 1, wherein the second limitations are different from the first limitations.
5. The method of claim 3, wherein the channel quality indicator comprises one of a Bit Error Rate (BER), a Block Error Ratio (BLER), a Signal to Noise Ratio (SNR) or a specially defined parameter that indicates the condition of the communication channel.
6. The method of claim 1, wherein the data frames comprise speech frames, and the method is applied to Adaptive Multi-Rate (AMR) speech decoding for concealing the effect of lost AMR speech frames.
7. The method of claim 6, wherein a state machine is used to indicate the condition of the communications channel, and the method further comprises: starting the state machine in an initial state; incrementing a state counter to enter a subsequent numbered state each time a bad frame is detected until the state counter is saturated; and resetting the state counter to the initial state each time a good speech frame is detected except when the state counter is saturated in which case the state counter is decreased by one state.
8. A computer program product comprising a non-transitory computer readable medium embodying program code means executable by a processor of a communications device for causing said communications device to carry out instructions for processing data frames received from transmission over a communications channel, wherein the computer program product comprises instructions for: determining whether a current data frame comprises a bad frame or a good frame, a data frame comprising a bad frame when determined to be received with error or used for control purposes, and the data frame comprising a good frame when determined to be received without error and not used for control purposes; responsive to determining that the current data frame comprises a bad frame, performing source decoding on the current data frame with first limitations on values of one or more parameters used in the source decoding of the current data frame; and responsive to determining that the current data frame comprises a good frame and a previous data frame comprises a bad frame: checking a condition of the communications channel; responsive to determining that the condition of the communications channel is good, performing source decoding on the current data frame with no limitations on values of the one or more parameters used in the source decoding of the current data frame; and responsive to determining that the condition of the communications channel is bad, performing source decoding on the current data frame with second limitations on values of the one or more parameters used in the source decoding of the current data frame.
9. The computer program product of claim 8, wherein the computer program product further comprises instructions for performing source decoding on the current data frame with no limitations on values of the one or more parameters used in the source decoding of the current data frame, responsive to determining that the current data frame and the previous data frame comprise good frames.
10. The computer program product of claim 8, wherein the instructions for checking the condition of the communications channel comprise instructions for: determining a value for a channel quality indicator; and comparing the value of the channel quality indicator to a threshold to determine the condition of the communications channel.
11. The computer program product of claim 8, wherein the data frames comprise speech frames, a state machine is used to indicate the condition of the communications channel, and the computer program product further comprises instructions for: starting the state machine in an initial state; incrementing a state counter to enter a subsequent numbered state each time a bad frame is detected until the state counter is saturated; and resetting the state counter to the initial state each time a good speech frame is detected except when the state counter is saturated in which case the state counter is decreased by one state.
12. The computer program product of claim 11, wherein performing source decoding on the current data frame with the one or more parameters not being limited is performed in the initial state, the one or more parameters comprises Long Term Prediction (LTP) gain and fixed codebook gain, and the computer program product further comprises instructions for performing normal source decoding and saving the current frame of speech parameters.
13. A communications device comprising: a microprocessor configured to control the operation of the communications device; a communication subsystem connected to the microprocessor, the communication subsystem being configured to send and receive wireless data over a communications channel; a channel decoder configured to decode data frames received over the communications channel; and a lost frame handler configured to process the received data frames for lost frames, the lost frame handler being configured to: determine whether a current data frame comprises a bad frame or a good frame, a data frame comprising a bad frame when determined to be received with error or used for control purposes and the data frame comprising a good frame when determined to be received without error and not used for control purposes; responsive to determining that the current data frame comprises a bad frame, perform source decoding on the current data frame with first limitations on values of one or more parameters used in the source decoding of the current data frame; and responsive to determining that the current data frame comprises a good frame and a previous data frame comprises a bad frame: check a condition of the communications channel; responsive to determining that the condition of the communications channel is good, perform source decoding on the current data frame with no limitations on values of the one or more parameters used in the source decoding of the current data frame; and responsive to determining that the condition of the communications channel is bad, perform source decoding on the current data frame with second limitations on values of the one or more parameters used in the source decoding of the current data frame.
14. The communications device of claim 13, wherein the lost frame handler is further configured to perform source decoding on the current data frame with no limitations on values of the one or more parameters used in the source decoding of the current data frame, responsive to determining that the current data frame and the previous data frame comprise good frames.
15. The communications device of claim 13, wherein the lost frame handler is further configured to check the condition of the communication channels by: determining a value for a channel quality indicator; and comparing the value of the channel quality indicator to a threshold to determine the condition of the communications channel.
16. A communication system for coding and decoding an information signal sent through a communications channel, wherein the system comprises: an encoder configured to encode the information signal; a hardware transmitter configured to send the encoded information signal over the communications channel; a hardware receiver configured to receive the encoded information signal over the communications channel; and a decoder configured to decode the received encoded information signal to produce a recovered signal, wherein the decoder is configured to: determine whether a current data frame comprises a bad frame or a good frame, a data frame comprising a bad frame when determined to be received with error or used for control purposes, and the data frame comprising a good frame when determined to be received without error and not used for control purposes; responsive to determining that the current data frame comprises a bad frame, perform source decoding on the current data frame with first limitations on values of one or more parameters used in the source decoding of the current data frame; and responsive to determining that the current data frame comprises a good frame and a previous data frame comprises a bad frame: check a condition of the communications channel; responsive to determining that the condition of the communications channel is good, perform source decoding on the current data frame with no limitations on values of the one or more parameters used in the source decoding of the current data frame; and responsive to determining that the condition of the communications channel is bad, perform source decoding on the current data frame with second limitations on values of the one or more parameters used in the source decoding of the current data frame.
17. The communication system of claim 16, wherein the decoder is further configured to perform source decoding on the current data frame with no limitations on values of the one or more parameters used in the source decoding of the current data frame, responsive to determining that the current data frame and the previous data frame comprise good frames.
18. The communication system of claim 16, wherein the decoder is further configured to check the condition of the communication channels by: determining a value for a channel quality indicator; and comparing the value of the channel quality indicator to a threshold to determine the condition of the communications channel.
19. The communication system of claim 18, wherein the data frames comprise speech frames, a state machine is used to indicate the condition of the communications channel, and the decoder is further configured to: start the state machine in an initial state; increment a state counter to enter a subsequent numbered state each time a bad frame is detected until the state counter is saturated; and reset the state counter to the initial state each time a good speech frame is detected except when the state counter is saturated in which case the state counter is decreased by one state.
20. The communication system of claim 19, wherein performing source decoding on the current data frame with the one or more parameters not being limited is performed in the initial state, the one or more parameters comprises Long Term Prediction (LTP) gain and fixed codebook gain, and the decoder is further configured to perform normal source decoding and saving the current frame of speech parameters.
Although the wireless network associated with mobile device 100 is a GSM/GPRS wireless network in one exemplary implementation of mobile device 100, other wireless networks may also be associated with mobile device 100 in variant implementations. Different types of wireless networks that may be employed include, for example, data-centric wireless networks, voice-centric wireless networks, and dual-mode networks that can support both voice and data communications over the same physical base stations. Combined dual-mode networks include, but are not limited to, Code Division Multiple Access (CDMA) or CDMA2000 networks, GSM/CPRS networks (as mentioned above), and future third-generation (3G) networks like EDGE and UMTS. Some older examples of data-centric networks include the Mobitex™ Radio Network and the DataTAC™ Radio Network. Examples of older voice-centric data networks include Personal Communication Systems (PCS) networks like GSM and Time Division Multiple Access (TDMA) systems. Other network communication technologies that may be employed include, for example, Integrated Digital Enhanced Network (iDEN™), Evolution-Data Optimized (EV-DO), High Speed Downlink Packet Access (HSDPA), and Wireless LAN technology as specified in the 802.11 series of standards.
Microprocessor 102 also interacts with additional subsystems such as a Random Access Memory (RAM) 106, flash memory 108, display 110, auxiliary input/output (I/O) subsystem 112, data port 114, keyboard 116, speaker 118, microphone 120, short-range communications system 122 and other devices 124.
LAN 250 comprises a number of network components connected to each other by LAN connections 260. For instance, a user's desktop computer 262a with an accompanying cradle 264 for the user's mobile device 100 is situated on LAN 250. Cradle 264 for mobile device 100 may be coupled to computer 262a by a serial or a Universal Serial Bus (USB) connection, for example. Other user computers 262b are also situated on LAN 250, and each may or may not be equipped with an accompanying cradle 264 for a mobile device. Cradle 264 facilitates the loading of information (e.g. PIM data, private symmetric encryption keys to facilitate secure communications between mobile device 100 and LAN 250) from user computer 262a to mobile device 100, for example, through data port 114, and may be particularly useful for bulk information updates often performed in initializing mobile device 100 for use. The information downloaded to mobile device 100 may include certificates used in the exchange of messages. It will be understood by persons skilled in the art that the cradle 264 is not required to connect the mobile device 100 to the computer 262a and that computers 262a, 262b can also be connected to other peripheral devices not explicitly shown in FIG. 4.
Messages intended for a user of mobile device 100 are initially received by a message server 268 of LAN 250. Such messages may originate from any of a number of sources. For instance, a message may have been sent by a sender from a computer 262b within LAN 250, from a different mobile device (not shown) connected to wireless network 200 or to a different wireless network, or from a different computing device or other device capable of sending messages, via the shared network infrastructure 224, and possibly through an application service provider (ASP) or Internet service provider (ISP), for example.
When messages are received by message server 268, they are typically stored in a message store (not explicitly shown), from which messages can be subsequently retrieved and delivered to users. For instance, an e-mail client application operating on a user's computer 262a may request the e-mail messages associated with that user's account stored on message server 268. These messages are then typically be retrieved from message server 268 and stored locally on computer 262a.
When operating mobile device 100, the user may wish to have e-mail messages retrieved for delivery to the handheld. An e-mail client application operating on mobile device 100 may also request messages associated with the user's account from message server 268. The e-mail client may be configured, either by the user or by an administrator, possibly in accordance with an organization's information technology (IT) policy, to make this request at the direction of the user, at some pre-defined time interval, or upon the occurrence of some pre-defined event. In some implementations, mobile device 100 is assigned its own e-mail address, and messages addressed specifically to mobile device 100 are automatically redirected to mobile device 100 as they are received by message server 268.
For example, message management server 272 may: 1) monitor the user's “mailbox” (e.g. the message store associated with the user's account on message server 268) for new e-mail messages; 2) apply user-definable filters to new messages to determine if and how the messages will be relayed to the user's mobile device 100; 3) compress and encrypt new messages (e.g. using an encryption technique such as Data Encryption Standard (DES), Triple DES or Advanced Encryption Standard (AES)) and 4) push them to mobile device 100 via the shared network infrastructure 224 and wireless network 200; and receive messages composed on mobile device 100 (e.g. encrypted using Triple DES), decrypt and decompress the composed messages, re-format the composed messages if desired so that they will appear to have originated from the user's computer 262a, and re-route the composed messages to message server 268 for delivery.
Certain properties or restrictions associated with messages that are to be sent from and/or received by mobile device 100 can be defined (e.g. by an administrator in accordance with IT policy) and enforced by message management server 272. These may include whether mobile device 100 may receive encrypted and/or signed messages, minimum encryption key sizes, whether outgoing messages must be encrypted and/or signed, and whether copies of all secure messages sent from mobile device 100 are to be sent to a pre-defined copy address, for example. Message management server 272 may also be adapted to provide other control functions, such as only pushing certain message information or pre-defined portions (e.g. “blocks”) of a message stored on message server 268 to mobile device 100. For example, when a message is initially retrieved by mobile device 100 from message server 268, message management server 272 is adapted to push only the first part of a message to mobile device 100, with the part being of a pre-defined size (e.g. 2 KB). The user can then request more of the message, to be delivered in similar-sized blocks by message management server 272 to mobile device 100, possibly up to a maximum pre-defined message size. Accordingly, message management server 272 facilitates better control over the type of data and the amount of data that is communicated to mobile device 100, and can help to minimize potential waste of bandwidth or other resources.
Accordingly, the mobile device 100 employs a lost frame concealment method that takes into account the channel conditions when processing a current speech frame while at the same time taking into account whether the previous speech frame was a “good” frame, i.e. the previous speech frame was received without error, or a “bad” frame, i.e. the previous speech frame was received with an error. An exemplary embodiment of such a lost frame concealment method 350 is shown in FIG. 6.
For instance, with respect to 3GPP TS 46.061 substitution and muting of lost frames for Enhanced Full Rate (EFR) speech traffic channels, in previous solutions for substitution and muting of lost speech frames, when no error was detected in the received speech frame but the previous received speech frame was bad, the Long Term Prediction (LTP) gain and fixed codebook gain was limited below the values used for the last received good frame. This approach may provide acceptable performance when the channel condition is poor and the probability of the current speech frame being good (i.e. no errors) is low. However, this approach will degrade speech performance greatly when the channel condition is actually good and the previous frame is bad due to various reasons such as when a Fast Associated Control CHannel (FACCH) frame is used, for example. An FACCH channel is inserted based on the current need of the communication system. When a speech frame is replaced by an FACCH frame, the BFI value is set to “bad” because the frame contains no useful information for speech decoding.
gp={gp,gp≤gp⁡(-1)gp⁡(-1),gp>gp⁡(-1)(1)gc={gc,gc≤gc⁡(-1)gc⁡(-1),gc>gc⁡(-1)(2)
In equation 1, gp is the current decoded LTP gain that is applied to the current frame, gp(−1) is the LTP gain that was used for the last subframe in the last good frame (i.e. when BFI was 0). In equation 2, gc is the current decoded fixed codebook gain that is applied to the current frame and gc(−1) is the fixed codebook gain used for the last subframe in the last good frame (i.e. when BFI was 0). The rest of the received speech parameters are used normally during speech synthesis. The speech parameters for the current frame are saved. This operation corresponds to step 362 in method 350.
gp={P⁡(state)⁢gp⁡(-1),gp⁡(-1)≤median⁢⁢5⁢(gp⁡(-1),…⁢,gp⁡(-5))P⁡(state)⁢⁢median⁢⁢5⁢(gp⁡(-1),…⁢,gp⁡(-5)),gp⁡(-1)>median⁢⁢5⁢(gp⁡(-1),…⁢,gp⁡(-5))(3)gc={C⁡(state)⁢gc⁡(-1),gc⁡(-1)≤median⁢⁢5⁢(gc⁡(-1),…⁢,gc⁡(-5))C⁡(state)⁢⁢median⁢⁢5⁢(gc⁡(-1),…⁢,gc⁡(-5)),gc⁡(-1)>median⁢⁢5⁢(gc⁡(-1),…⁢,gc⁡(-5))(4)
In equation 3, gp is the current decoded LTP gain, gp(−1), . . . , gp(−n) are the LTP gains used for the last n subframes, median5( ) is a 5-point median operation, P(state) is an attenuation factor: (P(1)=0.98, P(2)=0.98, P(3)=0.8, P(4)=0.3, P(5)=0.2, P(6)=0.2), and state is the state value. In equation 4, gc is the current decoded fixed codebook gain, gc(−1), . . . , gc(−n) are the fixed codebook gains used for the last n subframes, median5( ) is a 5-point median operation, C(state) is an attenuation factor: (C(1)=0.98, C(2)=0.98, C(3)=0.98, C(4)=0.98, C(5)=0.98, C(6)=0.7), state is the state value, and n is a positive integer.
ener⁡(0)=14⁢∑i=14⁢ener⁡(-i)(5)lsf_q1⁢(i)=lsf_q2⁢(i)=α⁢⁢past_lst⁢_q⁢(i)+(1-α)⁢mean_lsf⁢(i), ⁢i=0⁢⁢…⁢⁢9(6)
In equation 6, α=0.95, lsf_q1 and lsf_q2 are two sets of LSF-vectors for the current frame, past_lsf_q is lsf_q2 from the previous frame, and mean_lsf is the average LSF-vector.
Also in these instances, steps (d) to (f) are performed in state 0 or state 5 when the current data frame is a good data frame and the previous data frame is a bad data frame, and step (f) comprises limiting LTP gain and fixed codebook gain below values used for the last subframe in the last received good speech frame according to:
gp={gp,gp≤gp⁡(-1)gp⁡(-1),gp>gp⁡(-1),and⁢ ⁢gc={gc,gc≤gc⁡(-1)gc⁡(-1),gc>gc⁡(-1)
gp={P⁡(state)⁢gp⁡(-1),gp⁡(-1)≤median⁢⁢5⁢(gp⁡(-1),…⁢,gp⁡(-5))P⁡(state)⁢⁢median⁢⁢5⁢(gp⁡(-1),…⁢,gp⁡(-5)),gp⁡(-1)>median⁢⁢5⁢(gp⁡(-1),…⁢,gp⁡(-5))⁢ ⁢and⁢ ⁢gc={C⁡(state)⁢gc⁡(-1),gc⁡(-1)≤median⁢⁢5⁢(gc⁡(-1),…⁢,gc⁡(-5))C⁡(state)⁢⁢median⁢⁢5⁢(gc⁡(-1),…⁢,gc⁡(-5)),gc⁡(-1)>median⁢⁢5⁢(gc⁡(-1),…⁢,gc⁡(-5))
where gp is a current decoded LTP gain, gp(−1), . . . , gp(−n) are LTP gains used for the last n subframes, median5( ) is a 5-point median operation, P(state) is an attenuation factor defined by: (P(1)=0.98, P(2)=0.98, P(3)=0.8, P(4)=0.3, P(5)=0.2, P(6)=0.2), gc is a current decoded fixed codebook gain, gc(−1), . . . , gc(−n) are fixed codebook gains used for the last n subframes, C(state) is an attenuation factor defined by: (C(1)=0.98, C(2)=0.98, C(3)=0.98, C(4)=0.98, C(5)=0.98, C(6)=0.7), state is the state value, and n is a positive integer.
<- Previous Patent (Information processi...) | Next Patent (Application-level si...) ->