US20100324913A1 - Method and System for Block Adaptive Fractional-Bit Per Sample Encoding - Google Patents

Method and System for Block Adaptive Fractional-Bit Per Sample Encoding Download PDF

Info

Publication number
US20100324913A1
US20100324913A1 US12/818,164 US81816410A US2010324913A1 US 20100324913 A1 US20100324913 A1 US 20100324913A1 US 81816410 A US81816410 A US 81816410A US 2010324913 A1 US2010324913 A1 US 2010324913A1
Authority
US
United States
Prior art keywords
frame
encoding
samples
value
block
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.)
Abandoned
Application number
US12/818,164
Inventor
Jacek Piotr Stachurski
Lorin Paul Netsch
Rongqiang Hu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Priority to US12/818,164 priority Critical patent/US20100324913A1/en
Assigned to TEXAS INSTRUMENTS INCORPORATED reassignment TEXAS INSTRUMENTS INCORPORATED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HU, RONGQIANG, NETSCH, LORIN PAUL, STACHURSKI, JACEK PIOTR
Publication of US20100324913A1 publication Critical patent/US20100324913A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech 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/0017Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech 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/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech 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/02Speech 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 using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech 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/04Speech 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 using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech 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/04Speech 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 using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/038Speech enhancement, e.g. noise reduction or echo cancellation using band spreading techniques
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements

Definitions

  • Lossless compression techniques may be used to achieve this goal. Many techniques exist for lossless compression including Huffman coding, run-length coding, and predictive coding. Each of these coding techniques may provide comparatively better compression for certain classes of signals. However, improvements in lossless compression of digital signals are desirable.
  • FIG. 1 shows a block diagram of a digital system in accordance with one or more embodiments of the invention
  • FIG. 2 shows a flow diagram of a method in accordance with one or more embodiments of the invention
  • FIG. 3 shows a block diagram of an audio encoder in accordance with one or more embodiments of the invention.
  • FIG. 4 shows an illustrative digital system in accordance with one or more embodiments of the invention.
  • ITU-T G.711.0 As approved on Sep. 22, 2009 by ITU-T Study Group 16 is incorporated by reference herein in its entirety.
  • embodiments of the invention provide for block adaptive fractional-bit lossless encoding of a digital signal that may reduce the overall number of bits needed to encode data frames of N samples.
  • Embodiments of the encoding techniques are capable of achieving bit-rate reduction with respect to NB L bits per frame with acceptable implementation complexity. The acceptable complexity is maintained at the expense of a possible small bit-rate increase with respect to the b NL minimum bits needed for encoding.
  • samples in each frame of a digital signal are combined into blocks of M samples for joint encoding, where the maximum number of encoding bits per block is constrained.
  • the number of samples M in a block i.e., the block size, may be fixed or may be adapted for each frame.
  • the criteria considered in choosing the block size may be the frame size N, the data value range L computed for the frame, and/or a constraint on the maximum number of encoding bits to be used.
  • a polynomial value is calculated for each of the K blocks based on the data values in the block and the resulting value is encoded in the output bit-stream.
  • a polynomial value is also calculated for the remaining N ⁇ KM data values in the frame, if any, and the resulting value is encoded in the output bit-stream.
  • FIG. 1 shows a block diagram of a digital system in accordance with one or more embodiments of the invention.
  • the digital system is configured to perform coding of digital audio sequences using embodiments of the methods described herein.
  • the system includes a source digital system ( 100 ) that transmits encoded digital audio sequences to a destination digital system ( 102 ) via a communication channel ( 116 ).
  • the source digital system ( 100 ) includes an audio capture component ( 104 ), an audio encoder component ( 106 ) and a transmitter component ( 108 ).
  • the audio capture component ( 104 ) is configured to provide an audio sequence to be encoded by the audio encoder component ( 106 ).
  • the audio capture component ( 104 ) may be, for example, a microphone, a speech synthesizer, an audio archive, or an audio feed from an audio content provider.
  • the audio encoder component ( 106 ) receives an audio sequence from the audio capture component ( 104 ) and encodes it for transmission by the transmitter component ( 108 ).
  • the audio encoder component ( 106 ) receives the audio sequence from the audio capture component ( 104 ) as a sequence of frames and encodes the audio data in each frame for transmission.
  • a method for block adaptive fractional-bit lossless encoding in accordance with one or more of the embodiments described herein may be used.
  • the functionality of an embodiment of the audio encoder component ( 106 ) is described in more detail below in reference to FIG. 3 .
  • the transmitter component ( 108 ) transmits the encoded audio data to the destination digital system ( 102 ) via the communication channel ( 116 ).
  • the communication channel ( 116 ) may be any communication medium, or combination of communication media suitable for transmission of the encoded audio sequence, such as, for example, wired or wireless communication media, a local area network, and/or a wide area network.
  • the destination digital system ( 102 ) includes a receiver component ( 110 ), an audio decoder component ( 112 ) and a speaker component ( 114 ).
  • the receiver component ( 110 ) receives the encoded audio data from the source digital system ( 100 ) via the communication channel ( 116 ) and provides the encoded audio data to the audio decoder component ( 112 ) for decoding.
  • the audio decoder component ( 112 ) reverses the encoding process performed by the audio encoder component ( 106 ) to reconstruct the frames of the audio sequence. The reconstructed audio sequence may then be reproduced by the speaker component ( 114 ).
  • the speaker component ( 114 ) may be any suitable audio reproduction device.
  • the source digital system ( 100 ) may also include a receiver component and an audio decoder component and/or the destination digital system ( 102 ) may include a transmitter component and an audio encoder component for transmission of audio sequences in both directions.
  • the audio encoder component ( 106 ) and the audio decoder component ( 112 ) may perform encoding and decoding in accordance with one or more audio compression standards such as, for example, ITU-T G.711 and G.711.0 standards.
  • the audio encoder component ( 106 ) and the audio decoder component ( 112 ) may be implemented in any suitable combination of software, firmware, and hardware, such as, for example, one or more digital signal processors (DSPs), microprocessors, discrete logic, application specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), etc.
  • DSPs digital signal processors
  • ASICs application specific integrated circuits
  • FPGAs field-programmable gate arrays
  • Software implementing all or part of the audio encoder and/or audio decoder may be stored in a memory, e.g., internal and/or external ROM and/or RAM, and executed by a suitable instruction execution system, e.g., a microprocessor or DSP.
  • Analog-to-digital converters and digital-to-analog converters may provide coupling to the real world
  • modulators and demodulators plus antennas for air interfaces
  • packetizers may be included to provide formats for transmission.
  • FIG. 2 shows a flow diagram of a method for block adaptive fractional-bit lossless encoding of one or more frames of N samples in a digital signal in accordance with one or more embodiments of the invention.
  • the N sample values may be normalized to l 0 to l N ⁇ 1 , the polynomial V in Eq. (1) calculated, and the resulting value encoded. Normalization of sample values is discussed below in reference to step 206 .
  • V l 0 +l 1 L+l 2 L 2 + . . . +l N ⁇ 1 L N ⁇ 1 (1)
  • V is computed for M-sized blocks of the frame.
  • the value of M may be selected based on various criteria including an encoding size constraint B v specifying the maximum number of encoding bits per block, i.e., the maximum number of bits for representing V, the data value range L in the frame, and/or N.
  • a frame of N samples of the digital signal is received ( 200 ).
  • the value of N may be any suitable value.
  • N may be 40, 80, 160, 240, or 320.
  • Each of the N samples in the frame, I 0 to I N ⁇ 1 may have one of L possible values.
  • the data value range L for the frame is then computed ( 202 ).
  • the data value range L is an integer representative of the number of possible distinct sample values in the frame.
  • the data value range L is reduced to an integer representative of the number of actual distinct sample values in the N samples. For example, if the distinct sample values in the frame are ⁇ 3, ⁇ 2, 0, 1, 2 ⁇ , then L is reduced to 5, indicating that there are five actual sample values in the frame. Any suitable technique may be used to reduce the data value range L, including computing the reduced value of L directly, i.e., without computing the number of possible sample values first. Some suitable methods for reduction of the data value range L are described in copending U.S. patent application Ser. No. ______ (TI-68238), entitled “Adaptive Encoding of a Digital Signal with One or More Missing Values,” filed on Jun. 18, 2010, which is incorporated by reference herein in its entirety. In addition, some suitable methods for data value range reduction are described in ITU-T G.711.0.
  • the encoding block size M for the frame is then determined ( 204 ).
  • the encoding block size M may be any suitable value and may be determined in any suitable way, e.g., a single empirically determined value, direct computation, table look-up, etc.
  • the value of the encoding block size M for the frame is selected such that the number of bits needed to encode the frame B fr is minimized and the polynomial V computed for a sample block of size M contains a sufficiently small number of samples to comply with an encoding size constraint B v , i.e., the number of bits required to represent V does not exceed B v .
  • the encoding size constraint B v may have any suitable value and may be empirically determined.
  • the encoding size constraint B v may be, for example, 15, i.e., the number of bits that represent a positive value in a 16-bit signed integer.
  • each data frame may be encoded with an integer number of bytes (each byte consisting of eight bits).
  • minimizing ⁇ B fr /8 ⁇ instead of simply minimizing B fr may be considered as part of selecting the encoding block size M.
  • the data value range L of the frame may be considered in selecting the encoding block size M and, in some embodiments of the invention, the frame size N may also be considered.
  • information such as the values of L and M and/or a data value set indicator (data value sets are explained below in reference to FIG. 3 and Table 3) need to be communicated to a decoder, and are encoded in the output bit stream in association with the encoded frame.
  • this information may be encoded in spare bits left over if the encoded frame data is transmitted as whole bytes.
  • the need to transmit such information may also be considered when determining a value for M.
  • the encoding block size M may be computed for each frame based on the above discussed criteria for selecting a value for M. In some embodiments of the invention, the encoding block size M may be empirically determined based on statistical analysis of relevant test cases instead of being computed at run time. The empirical determination would include consideration of the criteria for selecting the value of M as discussed above. In some embodiments of the invention, M may be fixed for each frame. In some embodiments of the invention, the encoding block size M may be an empirically determined integer value that is a factor of the frame size(s), i.e., there will be no partial blocks in a frame.
  • an empirically determined encoding block size may be provided for each frame size and determining the encoding block size entails selecting the encoding block size corresponding to the size of the received frame.
  • empirically determined encoding block sizes may be provided for specific data value ranges. For example, if the data value range L of a frame is 5, the encoding block size M may be set to 3, if the data value range L is 3 or 6, the encoding block size M may be set to 5, etc.
  • the N sample values of the frame are normalized ( 206 ). That is, the sample values I 0 to I N ⁇ 1 are mapped to normalized data values l 0 to l N ⁇ 1 .
  • the value of V it is desirable that the value of V have a range of twenty seven values. If the normalization is not performed, the range of values of V would be larger than twenty seven, which may lead to inefficient encoding.
  • normalized data values are determined and the actual sample values are mapped to the normalized data values.
  • the normalized data values may be any suitable values and the mapping of the actual sample values to the normalized sample values may be performed using any suitable mapping technique.
  • ⁇ 3,0,3 ⁇ may be mapped to ⁇ 2,1,0 ⁇ or any permutation of ⁇ 0,1,2 ⁇ , as long as the decoder knows how the mapping was done.
  • ⁇ 3,0,3 ⁇ may be mapped to ⁇ 1,0,1 ⁇ . In this latter case, even though V may be positive or negative, it still satisfies the constraint that the range of values of V is 27.
  • the sample values are normalized such that the values are adjusted to lie between 0 and L ⁇ 1:
  • the normalization when data value range reduction is used, the normalization accounts for missing data values in the data value range.
  • An example of normalization of sample values when data value range reduction is used is described in ITU-T G.711.0.
  • K ⁇ N/M ⁇ consecutive blocks of M samples in the frame are encoded ( 208 ). That is, the polynomial value V is computed for M samples at a time. More specifically, for each data block k in the frame from 0 to K ⁇ 1, a block polynomial value V k is calculated as per Eq. (3).
  • V k l kM +l kM+1 L+ . . . +l kM+M ⁇ 1 L M ⁇ 1 (3)
  • each V k value is encoded in the output bit-stream.
  • the encoding of the V K values in B ML bits may be, for example, a simple binary encoding of each V K value into a binary number represented in B ML bits.
  • V K l KM +l KM+1 L+ . . . +l N ⁇ 1 L m ⁇ 1 (4)
  • the partial block polynomial value V K value is encoded in the output bit-stream.
  • the partial block polynomial value is encoded with ⁇ mb L ⁇ bits.
  • the steps 200 - 210 are repeated ( 212 ) for each frame in the digital signal that is to be encoded using block adaptive fractional-bit lossless encoding.
  • N, L, and M are known to the decoder, there is no need for transmission of extra information in addition to the bits representing the encoded data.
  • the computational complexity increase of embodiments of the above method as compared to to encoding each data value in the frame with B L bits is on the order of N additional multiplications and additions to calculate V k for the encoded blocks.
  • steps 204 - 210 are performed solely for frames with selected values of the data value range L and that include selected combinations of distinct sample values, i.e., selected data value sets.
  • the selected data value sets, and their data value ranges may be derived by analyzing the results of applying the method to relevant test digital signals to determine the data value sets that could benefit from application of the method, i.e., that had more efficient encoding with application of the method.
  • the selected data value sets and data value ranges, or a subset thereof, may then be used to determine if step 204 - 210 are to be performed for a frame.
  • the data value range L may be compared to the selected data value ranges. If the value of L is not equal to one of the selected data value ranges, steps 204 - 210 are not performed. If the value of L is equal to one of the selected data value ranges, then the distinct sample values in the frame may be compared to one or more of the selected data value sets that have the same data value range. If the distinct sample values in the frame are the same as those in one of these data value sets, then steps 204 - 210 are performed. Otherwise, they are not performed. Table 3 below shows selected data value sets and data value ranges for an embodiment of the invention included in ITU-T G.711.0.
  • Table 1 shows Mb L values for several possible combinations of M and L and Table 2 shows the corresponding B ML and ⁇ values.
  • two or more encoding block sizes may be determined and used for encoding the N samples in the frame.
  • the forty samples may be divided into six encoding blocks of six samples each and one encoding block of three samples.
  • Block polynomial values as per Eq. (3) are then computed for the six six-sample blocks and for the single three-sample block, and the block polynomial values are encoded.
  • a partial block polynomial value as per Eq. (4) is also computed for the remaining sample in the frame and encoded. While encoding the frame with a single encoding block size of three may be slightly more efficient, fourteen polynomial calculations are required. Using the two encoding block sizes, some coding efficiency is sacrificed in exchange for reducing the number of polynomial calculations to eight.
  • FIG. 3 shows a block diagram of an audio encoder ( 300 ), e.g., the audio encoder ( 106 ) of FIG. 1 , configured to perform block adaptive fractional-bit lossless encoding in accordance with one or more embodiments of the invention. More specifically, FIG. 3 shows a high level block diagram of the ITU-T G.711.0 audio encoder for illustrative purposes.
  • the audio encoder ( 300 ) includes a frame buffer ( 302 ), two coding tool selection components ( 304 , 306 ), twelve coding tools, and a multiplexer ( 308 ).
  • the audio encoder ( 300 ) receives G.711 audio frames in the frame buffer ( 302 ).
  • the frame size N may be 40, 80, 160, 240, or 320 samples. Each frame is then provided to input selection component ( 304 ).
  • the input selection component ( 304 ) may select one of seven encoding tools, i.e., the three constant coding tools, the PM zero Rice coding tool, the binary coding tool, the pulse mode coding tool, and the value-location coding tool, to which it is connected for encoding the frame based on an analysis of the audio frame and/or determine that the frame should be encoded by one of the five other coding tools, i.e., the mapped domain LP coding tool, the fractional-bit coding tool, the min-max level coding tool, the direct LP coding tool, and the uncompressed coding tool.
  • the five other coding tools i.e., the mapped domain LP coding tool, the fractional-bit coding tool, the min-max level coding tool, the direct LP coding tool, and the uncompressed coding tool.
  • the outputs of the latter five coding tools are provided to output selection component ( 306 ) which selects the best output of the five coding tools by analyzing the results of the coding tools.
  • the output selection component ( 306 ) may not require a complete encoding by each of the five coding tools, but rather may estimate the resulting encoded frame sizes and select one of the coding tools for performing the actual encoding based on the estimates.
  • the multiplexer ( 308 ) selects which coding tool bit stream to output: the bit stream of the coding tool selected by the input selection component ( 304 ) or the bit stream of the coding tool selected by the output selection component ( 306 ).
  • the coding techniques provided by each of the coding tools are described in ITU-T G.711.0. Further, the value-location coding tool may provide a coding technique as described in co-pending U.S. patent application Ser. No. ______ (TI-68090), entitled “Method and System For Lossless Value-Location Encoding,” filed on Jun. 18, 2010, which is incorporated by reference herein in its entirety.
  • the coding technique described in ITU-T G.711.0 for the fractional-bit coding tool is an embodiment of the method for block adaptive fractional-bit lossless encoding of FIG. 2 .
  • the described embodiment also solely encodes frames with selected values of the data value range L and that include selected combinations of distinct sample values, i.e., selected data value sets.
  • Table 3 shows the selected data value ranges and data value sets.
  • L′ is the reduced value of the data value range L.
  • This table also includes prefix codes that are used in lieu of encoding L and the minimum sample value in the output bit stream. Each prefix code represents a specific combination of data value set, data value range, and frame size.
  • the data value sets in the table were determined by analysis of the results of applying the method of FIG. 2 to G.711 bit stream test cases. Data value sets were identified that showed bit rate reduction with the application of the method. The twelve data value sets that showed the most bit rate reduction were then chosen for the G.711.0 method embodiment.
  • the fractional-bit coding tool may provide coding functionality in accordance with one or more other embodiments of the method of FIG. 2 .
  • the value of the encoding block size M may be adapted for each frame, may differ for each frame size, there may be two or more encoding block sizes for a frame, etc.
  • Embodiments of the methods and encoders described herein may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the software may be executed in one or more processors, such as a microprocessor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), or digital signal processor (DSP). Any included software may be initially stored in a computer-readable medium such as a compact disc (CD), a diskette, a tape, a file, memory, or any other computer readable storage device and loaded and executed in the processor. In some cases, the software may also be sold in a computer program product, which includes the computer-readable medium and packaging materials for the computer-readable medium. In some cases, the software instructions may be distributed via removable computer readable media (e.g., floppy disk, optical disk, flash memory, USB key), via a transmission path from computer readable media on another digital system, etc.
  • removable computer readable media e.g., floppy disk, optical disk, flash memory, USB key
  • Embodiments of the methods and encoders for block adaptive fractional-bit encoding as described herein may be implemented for virtually any type of digital system (e.g., a desk top computer, a laptop computer, a handheld device such as a mobile (i.e., cellular) phone, a personal digital assistant, a Voice over Internet Protocol (VOIP) communication device such as a telephone, server or personal computer, etc.) with functionality to capture or otherwise generate digital signals.
  • FIG. 4 shows a block diagram of an illustrative digital system ( 400 ) (e.g., a personal computer) that includes a processor ( 402 ), associated memory ( 404 ), a storage device ( 406 ), and numerous other elements and functionalities typical of digital systems (not shown).
  • the digital system ( 400 ) may include multiple processors and/or one or more of the processors may be digital signal processors.
  • the digital system ( 400 ) may also include input means, such as a keyboard ( 408 ) and a mouse ( 410 ) (or other cursor control device), and output means, such as a monitor ( 412 ) (or other display device).
  • the digital system ( 400 ) may also include an audio capture device (not shown) that includes circuitry (e.g., a microphone) for capturing audio sequences.
  • the digital system ( 400 ) may include an audio encoder, e.g., the encoder of FIG. 3 , with functionality to perform embodiments of the method of FIG. 2 as described herein.
  • the digital system ( 400 ) may be connected to a network (not shown) (e.g., a local area network (LAN), a wide area network (WAN) such as the Internet, a cellular network, any other similar type of network and/or any combination thereof) via a network interface connection (not shown).
  • a network e.g., a local area network (LAN), a wide area network (WAN) such as the Internet, a cellular network, any other similar type of network and/or any combination thereof
  • LAN local area network
  • WAN wide area network
  • one or more elements of the aforementioned digital system ( 400 ) may be located at a remote location and connected to the other elements over a network. Further, embodiments of the invention may be implemented on a distributed system having a plurality of nodes, where each portion of the system and software instructions may be located on a different node within the distributed system.
  • the node may be a digital system.
  • the node may be a processor with associated physical memory.
  • the node may alternatively be a processor with shared memory and/or resources.
  • Software instructions to perform embodiments of the invention may be stored on a computer readable medium such as a compact disc (CD), a diskette, a tape, a file, memory, or any other computer readable storage device.
  • the software instructions may be distributed to the digital system ( 400 ) via removable computer readable media (e.g., floppy disk, optical disk, flash memory, USB key), via a transmission path from computer readable media on another digital system, etc.

Abstract

A method of encoding samples in a digital signal is provided that includes receiving a frame of N samples of the digital signal, computing a data value range L of the N samples, determining a first encoding block size for the frame, mapping the N samples to normalized data values, computing a first block polynomial value for a block of samples in the frame of the first encoding block size, and encoding the first block polynomial value.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application claims benefit of U.S. Provisional Patent Application Ser. No. 61/218,307, filed Jun. 18, 2009, U.S. Provisional Patent Application Ser. No. 61/219,198, filed Jun. 22, 2009, and U.S. Provisional Patent Application Ser. No. 61/219,868, filed Jun. 24, 2009, which are incorporated herein by reference in their entirety.
  • BACKGROUND OF THE INVENTION
  • In many signal processing applications, it is desirable to transmit and/or store a digitized signal such that the exact original signal may be recovered. It is also desirable to reduce the number of bits needed to represent the signal in order to maximize the amount of data that can be handled during the transmission and/or storage process. Lossless compression techniques may be used to achieve this goal. Many techniques exist for lossless compression including Huffman coding, run-length coding, and predictive coding. Each of these coding techniques may provide comparatively better compression for certain classes of signals. However, improvements in lossless compression of digital signals are desirable.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Particular embodiments in accordance with the invention will now be described, by way of example only, and with reference to the accompanying drawings:
  • FIG. 1 shows a block diagram of a digital system in accordance with one or more embodiments of the invention;
  • FIG. 2 shows a flow diagram of a method in accordance with one or more embodiments of the invention;
  • FIG. 3 shows a block diagram of an audio encoder in accordance with one or more embodiments of the invention; and
  • FIG. 4 shows an illustrative digital system in accordance with one or more embodiments of the invention.
  • DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION
  • Specific embodiments of the invention will now be described in detail with reference to the accompanying figures. Like elements in the various figures are denoted by like reference numerals for consistency.
  • Certain terms are used throughout the following description and the claims to refer to particular system components. As one skilled in the art will appreciate, components in digital systems may be referred to by different names and/or may be combined in ways not shown herein without departing from the described functionality. This document does not intend to distinguish between components that differ in name but not function. In the following discussion and in the claims, the terms “including” and “comprising” are used in an open-ended fashion, and thus should be interpreted to mean “including, but not limited to . . . . ” Also, the term “couple” and derivatives thereof are intended to mean an indirect, direct, optical, and/or wireless electrical connection. Thus, if a first device couples to a second device, that connection may be through a direct electrical connection, through an indirect electrical connection via other devices and connections, through an optical electrical connection, and/or through a wireless electrical connection.
  • In the following detailed description of embodiments of the invention, numerous specific details are set forth in order to provide a more thorough understanding of the invention. However, it will be apparent to one of ordinary skill in the art that the invention may be practiced without these specific details. In other instances, well-known features have not been described in detail to avoid unnecessarily complicating the description. In addition, although method steps may be presented and described herein in a sequential fashion, one or more of the steps shown and described may be omitted, repeated, performed concurrently, and/or performed in a different order than the order shown in the figures and/or described herein. Accordingly, embodiments of the invention should not be considered limited to the specific ordering of steps shown in the figures and/or described herein. Further, while some embodiments of the invention are described herein in reference to the ITU-T G.711.0 standard and/or audio signals, one of ordinary skill in the art will understand that embodiments of the invention are not limited to any particular signal coding standard or type of signal. Recommendation ITU-T G.711.0 (“ITU-T G.711.0”) as approved on Sep. 22, 2009 by ITU-T Study Group 16 is incorporated by reference herein in its entirety.
  • The number of bits bL required to encode a data sample of a digital signal having one of L possible data values is bL=log2(L). In most cases, the number bL is not an integer. In many signal encoding systems, an integer number of bits are transmitted so, for each data sample, bL is typically rounded up to the nearest integer BL=┌bL┐. For a uniformly distributed input digital signal with N samples encoded per frame, the minimum number of bits required to encode the full frame is bNL=┌NbL┐. The number of bits actually used, however, may be larger as NBL≧bNL.
  • In general, embodiments of the invention provide for block adaptive fractional-bit lossless encoding of a digital signal that may reduce the overall number of bits needed to encode data frames of N samples. Embodiments of the encoding techniques are capable of achieving bit-rate reduction with respect to NBL bits per frame with acceptable implementation complexity. The acceptable complexity is maintained at the expense of a possible small bit-rate increase with respect to the bNL minimum bits needed for encoding.
  • More specifically, in one or more embodiments of the invention, samples in each frame of a digital signal are combined into blocks of M samples for joint encoding, where the maximum number of encoding bits per block is constrained. The number of samples M in a block, i.e., the block size, may be fixed or may be adapted for each frame. The criteria considered in choosing the block size may be the frame size N, the data value range L computed for the frame, and/or a constraint on the maximum number of encoding bits to be used. The number of M-sized blocks in a frame is K=└N/M┘ A polynomial value is calculated for each of the K blocks based on the data values in the block and the resulting value is encoded in the output bit-stream. A polynomial value is also calculated for the remaining N−KM data values in the frame, if any, and the resulting value is encoded in the output bit-stream.
  • FIG. 1 shows a block diagram of a digital system in accordance with one or more embodiments of the invention. The digital system is configured to perform coding of digital audio sequences using embodiments of the methods described herein. The system includes a source digital system (100) that transmits encoded digital audio sequences to a destination digital system (102) via a communication channel (116). The source digital system (100) includes an audio capture component (104), an audio encoder component (106) and a transmitter component (108). The audio capture component (104) is configured to provide an audio sequence to be encoded by the audio encoder component (106). The audio capture component (104) may be, for example, a microphone, a speech synthesizer, an audio archive, or an audio feed from an audio content provider.
  • The audio encoder component (106) receives an audio sequence from the audio capture component (104) and encodes it for transmission by the transmitter component (108). In general, the audio encoder component (106) receives the audio sequence from the audio capture component (104) as a sequence of frames and encodes the audio data in each frame for transmission. During the encoding process, a method for block adaptive fractional-bit lossless encoding in accordance with one or more of the embodiments described herein may be used. The functionality of an embodiment of the audio encoder component (106) is described in more detail below in reference to FIG. 3.
  • The transmitter component (108) transmits the encoded audio data to the destination digital system (102) via the communication channel (116). The communication channel (116) may be any communication medium, or combination of communication media suitable for transmission of the encoded audio sequence, such as, for example, wired or wireless communication media, a local area network, and/or a wide area network.
  • The destination digital system (102) includes a receiver component (110), an audio decoder component (112) and a speaker component (114). The receiver component (110) receives the encoded audio data from the source digital system (100) via the communication channel (116) and provides the encoded audio data to the audio decoder component (112) for decoding. In general, the audio decoder component (112) reverses the encoding process performed by the audio encoder component (106) to reconstruct the frames of the audio sequence. The reconstructed audio sequence may then be reproduced by the speaker component (114). The speaker component (114) may be any suitable audio reproduction device.
  • In some embodiments of the invention, the source digital system (100) may also include a receiver component and an audio decoder component and/or the destination digital system (102) may include a transmitter component and an audio encoder component for transmission of audio sequences in both directions. Further, the audio encoder component (106) and the audio decoder component (112) may perform encoding and decoding in accordance with one or more audio compression standards such as, for example, ITU-T G.711 and G.711.0 standards. The audio encoder component (106) and the audio decoder component (112) may be implemented in any suitable combination of software, firmware, and hardware, such as, for example, one or more digital signal processors (DSPs), microprocessors, discrete logic, application specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), etc. Software implementing all or part of the audio encoder and/or audio decoder may be stored in a memory, e.g., internal and/or external ROM and/or RAM, and executed by a suitable instruction execution system, e.g., a microprocessor or DSP. Analog-to-digital converters and digital-to-analog converters may provide coupling to the real world, modulators and demodulators (plus antennas for air interfaces) may provide coupling for transmission waveforms, and packetizers may be included to provide formats for transmission.
  • FIG. 2 shows a flow diagram of a method for block adaptive fractional-bit lossless encoding of one or more frames of N samples in a digital signal in accordance with one or more embodiments of the invention. To encode the N samples, the N sample values may be normalized to l0 to lN−1, the polynomial V in Eq. (1) calculated, and the resulting value encoded. Normalization of sample values is discussed below in reference to step 206.

  • V=l 0 +l 1 L+l 2 L 2 + . . . +l N−1 L N−1  (1)
  • For large values of N, calculating V may be unacceptable due to the size of the resulting value. In the method of FIG. 2, rather than computing V for the entire frame, V is computed for M-sized blocks of the frame. As is explained in more detail below in reference to step 204, the value of M may be selected based on various criteria including an encoding size constraint Bv specifying the maximum number of encoding bits per block, i.e., the maximum number of bits for representing V, the data value range L in the frame, and/or N.
  • As shown in FIG. 2, initially, a frame of N samples of the digital signal is received (200). The value of N may be any suitable value. For example, N may be 40, 80, 160, 240, or 320. Each of the N samples in the frame, I0 to IN−1, may have one of L possible values. The data value range L for the frame is then computed (202). In one or more embodiments of the invention, the data value range L is an integer representative of the number of possible distinct sample values in the frame. The data value range L may be determined based on the difference between the maximum and minimum values of the N samples in the frame, e.g., L=Imax−Imin+1 where Imax=max{In:n=0, . . . N−1} and Imin=min{In:n=0, . . . N−1}. For example, if the distinct sample values in the frame are {−3, −2, 0, 1, 2}, then L=6, indicating that there are six possible sample values in the frame.
  • In some embodiments of the invention, the data value range L is reduced to an integer representative of the number of actual distinct sample values in the N samples. For example, if the distinct sample values in the frame are {−3, −2, 0, 1, 2}, then L is reduced to 5, indicating that there are five actual sample values in the frame. Any suitable technique may be used to reduce the data value range L, including computing the reduced value of L directly, i.e., without computing the number of possible sample values first. Some suitable methods for reduction of the data value range L are described in copending U.S. patent application Ser. No. ______ (TI-68238), entitled “Adaptive Encoding of a Digital Signal with One or More Missing Values,” filed on Jun. 18, 2010, which is incorporated by reference herein in its entirety. In addition, some suitable methods for data value range reduction are described in ITU-T G.711.0.
  • The encoding block size M for the frame is then determined (204). The encoding block size M may be any suitable value and may be determined in any suitable way, e.g., a single empirically determined value, direct computation, table look-up, etc. The number of bits needed to encode the polynomial V computed for M samples is BML=┌MbL┐. Generally, good values for M result in MbL being slightly less than an integer so that the coding inefficiency ε=BML−MbL is minimized.
  • In one or more embodiments of the invention, the value of the encoding block size M for the frame is selected such that the number of bits needed to encode the frame Bfr is minimized and the polynomial V computed for a sample block of size M contains a sufficiently small number of samples to comply with an encoding size constraint Bv, i.e., the number of bits required to represent V does not exceed Bv. The encoding size constraint Bv may have any suitable value and may be empirically determined. For a fixed-point implementation, the encoding size constraint Bv may be, for example, 15, i.e., the number of bits that represent a positive value in a 16-bit signed integer. In some embodiments of the invention, each data frame may be encoded with an integer number of bytes (each byte consisting of eight bits). In such embodiments, minimizing ┌Bfr/8┐ instead of simply minimizing Bfr may be considered as part of selecting the encoding block size M.
  • Whether or not an encoding size constraint Bv is considered, the data value range L of the frame may be considered in selecting the encoding block size M and, in some embodiments of the invention, the frame size N may also be considered. For example, the encoding block size M may be determined based on L and N by considering the trade-off between the coding efficiency and the number of values of V that would need to be calculated. For large values of N, a larger value of M may be selected in order to reduce the number of polynomial calculations for encoding the frame, even though the encoding efficiency may be slightly smaller than with a smaller value of M. Compare M=3 versus M=6 for L=5 in Tables 1 and 2 below. In another example, the encoding block size M may be chosen based solely on L by choosing the value of M for a given L that provides the best coding efficiency. For example, for L=5 in the in Tables 1 and 2, M=3 would be selected, since that value provides maximum efficiency in coding.
  • In some embodiments of the invention, information such as the values of L and M and/or a data value set indicator (data value sets are explained below in reference to FIG. 3 and Table 3) need to be communicated to a decoder, and are encoded in the output bit stream in association with the encoded frame. To maximize efficiency, this information may be encoded in spare bits left over if the encoded frame data is transmitted as whole bytes. Thus, the need to transmit such information may also be considered when determining a value for M.
  • In some embodiments of the invention, the encoding block size M may be computed for each frame based on the above discussed criteria for selecting a value for M. In some embodiments of the invention, the encoding block size M may be empirically determined based on statistical analysis of relevant test cases instead of being computed at run time. The empirical determination would include consideration of the criteria for selecting the value of M as discussed above. In some embodiments of the invention, M may be fixed for each frame. In some embodiments of the invention, the encoding block size M may be an empirically determined integer value that is a factor of the frame size(s), i.e., there will be no partial blocks in a frame. For example, if the possible frame sizes are 40, 80, 160, 240, and 320, M may be set to 5 for all frame sizes. In some embodiments of the invention, an empirically determined encoding block size may be provided for each frame size and determining the encoding block size entails selecting the encoding block size corresponding to the size of the received frame. In some embodiments of the invention, empirically determined encoding block sizes may be provided for specific data value ranges. For example, if the data value range L of a frame is 5, the encoding block size M may be set to 3, if the data value range L is 3 or 6, the encoding block size M may be set to 5, etc.
  • Referring again to FIG. 2, the N sample values of the frame are normalized (206). That is, the sample values I0 to IN−1 are mapped to normalized data values l0 to lN−1. The normalization is performed to constrain the possible values of the polynomial V for purposes of coding efficiency. For example, if the distinct sample values in a frame are {−3, 0, 3}, then L=3 when data value range reduction is used. Assuming an encoding block size M=3, the polynomial to be calculated is V=l0+l1L+l2L2. If the distinct sample values {−3, 0, 3} are mapped to normalized data values {0, 1, 2}, then the minimum value of V is 0 and the maximum value is 26. This corresponds directly to the fact that for three distinct sample values and an encoding block size of M=3, there are 33=27 possible combinations of the three distinct sample values. To maximize coding efficiency, it is desirable that the value of V have a range of twenty seven values. If the normalization is not performed, the range of values of V would be larger than twenty seven, which may lead to inefficient encoding.
  • Accordingly, normalized data values are determined and the actual sample values are mapped to the normalized data values. The normalized data values may be any suitable values and the mapping of the actual sample values to the normalized sample values may be performed using any suitable mapping technique. For the above example, {−3,0,3} may be mapped to {2,1,0} or any permutation of {0,1,2}, as long as the decoder knows how the mapping was done. Further, {−3,0,3} may be mapped to {−1,0,1}. In this latter case, even though V may be positive or negative, it still satisfies the constraint that the range of values of V is 27.
  • In one or more embodiments of the invention, the sample values are normalized such that the values are adjusted to lie between 0 and L−1:

  • l n =I n −I min n=0, . . . , N−1  (2)
  • Further, in some embodiments of the invention, when data value range reduction is used, the normalization accounts for missing data values in the data value range. An example of normalization of sample values when data value range reduction is used is described in ITU-T G.711.0.
  • Once the encoding block size M is determined and the sample values are normalized, K=└N/M┘ consecutive blocks of M samples in the frame are encoded (208). That is, the polynomial value V is computed for M samples at a time. More specifically, for each data block k in the frame from 0 to K−1, a block polynomial value Vk is calculated as per Eq. (3).

  • V k =l kM +l kM+1 L+ . . . +l kM+M−1 L M−1  (3)
  • After computation, each Vk value is encoded in the output bit-stream. In some embodiments of the invention, each value is encoded with BML=┌MbL┐=┌M log2(L)┐ bits. In such embodiments, the encoding of the VK values in BML bits may be, for example, a simple binary encoding of each VK value into a binary number represented in BML bits.
  • After the K consecutive data blocks are encoded, any remaining samples in the frame are encoded (210). That is, if N−KM is not 0, the remaining m=N−KM samples are encoded. That is, a partial block polynomial value VK is calculated for the m samples as per Eq. (3) and the resulting value is encoded.

  • V K =l KM +l KM+1 L+ . . . +l N−1 L m−1  (4)
  • After computation, the partial block polynomial value VK value is encoded in the output bit-stream. In some embodiments of the invention, the partial block polynomial value is encoded with ┌mbL┐ bits. The steps 200-210 are repeated (212) for each frame in the digital signal that is to be encoded using block adaptive fractional-bit lossless encoding.
  • The total number of bits Bfr needed to encode N samples with the above method is

  • B fr =K┌Mb L ┐+┌mb L┐.
  • Further, if N, L, and M are known to the decoder, there is no need for transmission of extra information in addition to the bits representing the encoded data. The computational complexity increase of embodiments of the above method as compared to to encoding each data value in the frame with BL bits is on the order of N additional multiplications and additions to calculate Vk for the encoded blocks.
  • In one or more embodiments of the invention, steps 204-210 are performed solely for frames with selected values of the data value range L and that include selected combinations of distinct sample values, i.e., selected data value sets. The selected data value sets, and their data value ranges, may be derived by analyzing the results of applying the method to relevant test digital signals to determine the data value sets that could benefit from application of the method, i.e., that had more efficient encoding with application of the method. The selected data value sets and data value ranges, or a subset thereof, may then be used to determine if step 204-210 are to be performed for a frame. In such embodiments, after the data value range L of the received frame is computed, the data value range L may be compared to the selected data value ranges. If the value of L is not equal to one of the selected data value ranges, steps 204-210 are not performed. If the value of L is equal to one of the selected data value ranges, then the distinct sample values in the frame may be compared to one or more of the selected data value sets that have the same data value range. If the distinct sample values in the frame are the same as those in one of these data value sets, then steps 204-210 are performed. Otherwise, they are not performed. Table 3 below shows selected data value sets and data value ranges for an embodiment of the invention included in ITU-T G.711.0.
  • In the method of FIG. 2, if BL=bL or M=1, no bit-rate reduction is achieved. The number of bits per frame Bfr is bound by NBL≧Bfr≧bNL=┌NbL┐ and the method is potentially most effective when BL−bL≈1. In general, Bfr would be minimized for M=N but, as was previously mentioned, the calculation of a possibly very large polynomial V as per Eq. (1) would be needed that would likely exceed the encoding size constraint Bv. Further, the rounding of Bfr to an integer number of bits introduces a “coding inefficiency” ε that is maximized when the rounding occurs for each data sample, εmax1=N(┌bL┐−bL), and minimized when performed once per frame, εminN=┌NbL┐−NbL as would be done for the case of M=N. For the above method, the coding inefficiency ε depends on the value of M, εM=K(┌MbL┐−MbL)+(┌mbL┐−mbL). Note that ε1≧εM≧εN.
  • As was previously mentioned, good candidates for the encoding block size M result in MbL being slightly less than an integer so that the coding inefficiency ε=BML−MbL is minimized. For example, Table 1 shows MbL values for several possible combinations of M and L and Table 2 shows the corresponding BML and ε values.
  • TABLE 1
    MbL M = 1 M = 2 M = 3 M = 4 M = 5 M = 6
    L = 3 1.58 3.17 4.75 6.34 7.92 9.51
    L = 5 2.32 4.64 6.97 9.29 11.61 13.93
    L = 6 2.58 5.17 7.75 10.34 12.92 15.51
  • TABLE 2
    BML ε M = 1 M = 2 M = 3 M = 4 M = 5 M = 6
    L = 3 2 0.42 4 0.83 5 0.25 7 0.66  8 0.08 10 0.49
    L = 5 3 0.68 5 0.36 7 0.03 10 0.71 12 0.39 14 0.07
    L = 6 3 0.42 6 0.83 8 0.25 11 0.66 13 0.08 16 0.49
  • As can be seen from these tables, to minimize the coding inefficiency ε for data value ranges L equal 3, 5, and 6, good candidates for the respective encoding block sizes M are 5, 3, and 5. Consider, for example, a case where the data value range L=5 and the frame size N=40. The minimum number of bits needed to encode a frame of forty samples, each taking on one of five possible values, would be ┌40 log2(5)┐=93 bits (twelve bytes). Assuming an integer number of bits per sample, the number of bits used would be larger: 40┌log2(5)┐=120 (fifteen bytes). Applying the method with M=3 or M=5 would result in twelve bytes per frame, equal to the minimum bytes needed to encode the frame and a three byte saving over assumption of an integer number of bits per sample. That is, for M=3, ┌40/3┐=13 blocks of three samples would be encoded with 7 bits per block and the one remaining sample would be encoded with three bits for the total of ┌13*7+3)/8┐=12 bytes per frame. Similarly, for M=5, ┌40/5┐=8 blocks of five samples would be encoded with 12 bits per block for a total of ┌(8*12)/8┐=12 bytes per frame. In this particular case, the M=5 configuration may be preferred as it provides similar performance to the M=3 configuration and also provides an integer number of data blocks within a frame, thus eliminating the need to encode a partial block at the end of the frame.
  • Consider also a case where L=5 and the frame size N=160. The minimum number of bits needed to encode a frame of 160 samples would be ┌160 log2(5)┐=258 bits (forty-seven bytes) while the integer-number-of-bits-per-sample encoding would require 160┌log2(5)┐=480 bits (60 bytes). Applying the method with M=3 would result in 47 bytes per frame, i.e., ┌(└160/3┘*7+3)/8┐=47, and with M=5 would result in 48 bytes per frame, i.e., ┌(└160/5┘*12)/8┐=48. Therefore, the M=3 configuration would be preferred in this case and the achieved savings would be 13 bytes (from 60 bytes down to 47 bytes).
  • As another simple example, consider the case when L=6 and N=40. The minimum number of bits needed to encode a frame of 40 samples would be ┌40 log2(6)┐=104 (13 bytes) and with an integer number of bits per sample, the number of bits needed would be larger, 40┌log2(6)┐=120 (15 bytes). Applying the method with M=5, the number of bits needed to encode the frame would be └40/5┘*13+0=104 (13 bytes, the same as the minimum number of bits). In this case, two bytes would be saved, from fifteen bytes down to thirteen bytes. For a frame of N=160 samples with L=6, the savings would be eight bytes, from sixty bytes down to fifty-two bytes.
  • In one or more embodiments of the invention, instead of determining a single encoding block size M for a frame, two or more encoding block sizes may be determined and used for encoding the N samples in the frame. The use of multiple block sizes in a frame may, for example, reduce the amount of computation needed to encode the frame while maintaining the same or close to the same coding efficiency as using a single block size. For example, if N=40 and L=5, two encoding block sizes, M1=3 and M2=6, may be selected. As can be seen in Table 2 above, the encoding block size M1=3 may yield a better coding efficiency than the encoding block size M2=6, but the difference is very small. The forty samples may be divided into six encoding blocks of six samples each and one encoding block of three samples. Block polynomial values as per Eq. (3) are then computed for the six six-sample blocks and for the single three-sample block, and the block polynomial values are encoded. A partial block polynomial value as per Eq. (4) is also computed for the remaining sample in the frame and encoded. While encoding the frame with a single encoding block size of three may be slightly more efficient, fourteen polynomial calculations are required. Using the two encoding block sizes, some coding efficiency is sacrificed in exchange for reducing the number of polynomial calculations to eight.
  • FIG. 3 shows a block diagram of an audio encoder (300), e.g., the audio encoder (106) of FIG. 1, configured to perform block adaptive fractional-bit lossless encoding in accordance with one or more embodiments of the invention. More specifically, FIG. 3 shows a high level block diagram of the ITU-T G.711.0 audio encoder for illustrative purposes. The audio encoder (300) includes a frame buffer (302), two coding tool selection components (304, 306), twelve coding tools, and a multiplexer (308). The audio encoder (300) receives G.711 audio frames in the frame buffer (302). The frame size N may be 40, 80, 160, 240, or 320 samples. Each frame is then provided to input selection component (304).
  • The input selection component (304) may select one of seven encoding tools, i.e., the three constant coding tools, the PM zero Rice coding tool, the binary coding tool, the pulse mode coding tool, and the value-location coding tool, to which it is connected for encoding the frame based on an analysis of the audio frame and/or determine that the frame should be encoded by one of the five other coding tools, i.e., the mapped domain LP coding tool, the fractional-bit coding tool, the min-max level coding tool, the direct LP coding tool, and the uncompressed coding tool. The outputs of the latter five coding tools are provided to output selection component (306) which selects the best output of the five coding tools by analyzing the results of the coding tools. The output selection component (306) may not require a complete encoding by each of the five coding tools, but rather may estimate the resulting encoded frame sizes and select one of the coding tools for performing the actual encoding based on the estimates. The multiplexer (308) selects which coding tool bit stream to output: the bit stream of the coding tool selected by the input selection component (304) or the bit stream of the coding tool selected by the output selection component (306).
  • The coding techniques provided by each of the coding tools are described in ITU-T G.711.0. Further, the value-location coding tool may provide a coding technique as described in co-pending U.S. patent application Ser. No. ______ (TI-68090), entitled “Method and System For Lossless Value-Location Encoding,” filed on Jun. 18, 2010, which is incorporated by reference herein in its entirety. The coding technique described in ITU-T G.711.0 for the fractional-bit coding tool is an embodiment of the method for block adaptive fractional-bit lossless encoding of FIG. 2. In the described embodiment, the fractional-bit coding tool uses an empirically determined encoding block size M=5 for all frame sizes, the data value range L is determined based on the difference between the maximum and minimum values in the frame being encoded as previously described, and each block polynomial value Vk is placed in the output bit-stream using ┌M log2(L)┐ bits. Further, the encoding size constraint Bv used during the empirical determination of the value of M was fifteen to ensure that the polynomial values could be represented as positive numbers in a sixteen bit signed integer.
  • The described embodiment also solely encodes frames with selected values of the data value range L and that include selected combinations of distinct sample values, i.e., selected data value sets. Table 3 shows the selected data value ranges and data value sets. In this table, L′ is the reduced value of the data value range L. This table also includes prefix codes that are used in lieu of encoding L and the minimum sample value in the output bit stream. Each prefix code represents a specific combination of data value set, data value range, and frame size. The data value sets in the table were determined by analysis of the results of applying the method of FIG. 2 to G.711 bit stream test cases. Data value sets were identified that showed bit rate reduction with the application of the method. The twelve data value sets that showed the most bit rate reduction were then chosen for the G.711.0 method embodiment.
  • TABLE 3
    Prefix code for each frame length
    L L′ Data Value Sets 40 80 160 240 320
    2 2 {0, 1} 2 14 20 24 28
    3 2 {−2, 0} 4 16 22 26 30
    3 3 {−2, −1, 0} 6 18
    3 3 {−1, 0, 1} 7 19
    4 3 {−2, 0, 1} 5 17 23 27 31
    4 4 {−2, −1, 0, 1} 3 15 21 25 29
    5 4 {−3, −2, 0, 1} 8
    5 4 {−2, 0, 1, 2} 10
    5 5 {−2, −1, 0, 1, 2} 9
    6 5 {−3, −2, 0, 1, 2} 12
    6 6 {−3, −2, −1, 0, 1, 2} 11
    7 6 {−4, −3, −2, 0, 1, 2} 13
  • In one or more embodiments of the invention, the fractional-bit coding tool may provide coding functionality in accordance with one or more other embodiments of the method of FIG. 2. For example, the value of the encoding block size M may be adapted for each frame, may differ for each frame size, there may be two or more encoding block sizes for a frame, etc.
  • Embodiments of the methods and encoders described herein may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the software may be executed in one or more processors, such as a microprocessor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), or digital signal processor (DSP). Any included software may be initially stored in a computer-readable medium such as a compact disc (CD), a diskette, a tape, a file, memory, or any other computer readable storage device and loaded and executed in the processor. In some cases, the software may also be sold in a computer program product, which includes the computer-readable medium and packaging materials for the computer-readable medium. In some cases, the software instructions may be distributed via removable computer readable media (e.g., floppy disk, optical disk, flash memory, USB key), via a transmission path from computer readable media on another digital system, etc.
  • Embodiments of the methods and encoders for block adaptive fractional-bit encoding as described herein may be implemented for virtually any type of digital system (e.g., a desk top computer, a laptop computer, a handheld device such as a mobile (i.e., cellular) phone, a personal digital assistant, a Voice over Internet Protocol (VOIP) communication device such as a telephone, server or personal computer, etc.) with functionality to capture or otherwise generate digital signals. FIG. 4 shows a block diagram of an illustrative digital system (400) (e.g., a personal computer) that includes a processor (402), associated memory (404), a storage device (406), and numerous other elements and functionalities typical of digital systems (not shown). In one or more embodiments of the invention, the digital system (400) may include multiple processors and/or one or more of the processors may be digital signal processors.
  • The digital system (400) may also include input means, such as a keyboard (408) and a mouse (410) (or other cursor control device), and output means, such as a monitor (412) (or other display device). The digital system (400) may also include an audio capture device (not shown) that includes circuitry (e.g., a microphone) for capturing audio sequences. The digital system (400) may include an audio encoder, e.g., the encoder of FIG. 3, with functionality to perform embodiments of the method of FIG. 2 as described herein. The digital system (400) may be connected to a network (not shown) (e.g., a local area network (LAN), a wide area network (WAN) such as the Internet, a cellular network, any other similar type of network and/or any combination thereof) via a network interface connection (not shown). Those skilled in the art will appreciate that the input and output means may take other forms.
  • Further, those skilled in the art will appreciate that one or more elements of the aforementioned digital system (400) may be located at a remote location and connected to the other elements over a network. Further, embodiments of the invention may be implemented on a distributed system having a plurality of nodes, where each portion of the system and software instructions may be located on a different node within the distributed system. In one embodiment of the invention, the node may be a digital system. Alternatively, the node may be a processor with associated physical memory. The node may alternatively be a processor with shared memory and/or resources.
  • Software instructions to perform embodiments of the invention may be stored on a computer readable medium such as a compact disc (CD), a diskette, a tape, a file, memory, or any other computer readable storage device. The software instructions may be distributed to the digital system (400) via removable computer readable media (e.g., floppy disk, optical disk, flash memory, USB key), via a transmission path from computer readable media on another digital system, etc.
  • While the invention has been described with respect to a limited number of embodiments, those skilled in the art, having benefit of this disclosure, will appreciate that other embodiments can be devised which do not depart from the scope of the invention as disclosed herein. Accordingly, the scope of the invention should be limited only by the attached claims. It is therefore contemplated that the appended claims will cover any such modifications of the embodiments as fall within the true scope and spirit of the invention.

Claims (19)

1. A method of encoding samples in a digital signal, the method comprising:
receiving a frame of N samples of the digital signal;
computing a data value range L of the N samples;
determining a first encoding block size for the frame;
mapping the N samples to normalized data values;
computing a first block polynomial value for a block of samples in the frame of the first encoding block size; and
encoding the first block polynomial value.
2. The method of claim 1, further comprising:
computing a partial block polynomial value for remaining samples in the frame; and
encoding the partial block polynomial value.
3. The method of claim 1, further comprising:
determining a second encoding block size for the frame;
computing a second block polynomial value for a block of samples in the frame of the second encoding block size; and
encoding the second block polynomial value.
4. The method of claim 1, wherein the data value range L indicates a number of possible distinct sample values in the frame.
5. The method of claim 1, wherein the data range value L indicates a number of actual distinct sample values in the frame.
6. The method of claim 1, wherein the first encoding block size is an empirically determined value.
7. The method of claim 1, wherein the first encoding block size is determined based on at least one selected from a group consisting of the data value range L, the value of N, and an encoding size constraint.
8. An encoder for encoding a digital signal, the encoder comprising:
a frame buffer component configured to receive a frame of N samples of the digital signal; and
a fractional-bit coding component configured to encode the frame by:
computing a data value range L of the N samples;
determining a first encoding block size for the frame;
mapping the N samples to normalized data values;
computing a first block polynomial value for a block of samples in the frame of the first encoding block size; and
encoding the first block polynomial value.
9. The encoder of claim 8, wherein the fractional-bit coding component is further configured to encode the frame by:
computing a partial block polynomial value for remaining samples in the frame; and
encoding the partial block polynomial value.
10. The encoder of claim 8, wherein the fractional-bit coding component is further configured to encode the frame by:
determining a second encoding block size for the frame;
computing a second block polynomial value for a block of samples in the frame of the second encoding block size; and
encoding the second block polynomial value.
11. The encoder of claim 8, wherein the data value range L indicates a number of possible distinct sample values in the frame.
12. The encoder of claim 8, wherein the data range value L indicates a number of actual distinct sample values in the frame.
13. The encoder of claim 8, wherein the first encoding block size is an empirically determined value.
14. The encoder of claim 8, wherein the first encoding block size is determined based on at least one selected from a group consisting of the data value range L, the value of N, and an encoding size constraint.
15. A digital system configured to encode samples in a digital signal, the digital system comprising:
means for receiving a frame of N samples of the digital signal;
means for computing a data value range L of the N samples;
means for determining a first encoding block size for the frame;
means for mapping the N samples to normalized data values;
means for computing a first block polynomial value for a block of samples in the frame of the first encoding block size; and
means for encoding the first block polynomial value
16. The digital system of claim 15, further comprising:
means for computing a partial block polynomial value for remaining samples in the frame; and
means for encoding the partial block polynomial value.
17. The digital system of claim 15, wherein the data value range L indicates one selected from a group consisting of a number of possible distinct sample values in the frame and a number of actual distinct sample values in the frame.
18. The digital system of claim 15, wherein the first encoding block size is an empirically determined value.
19. The digital system of claim 15, wherein the first encoding block size is determined based on at least one selected from a group consisting of the data value range L, the value of N, and an encoding size constraint.
US12/818,164 2009-06-18 2010-06-18 Method and System for Block Adaptive Fractional-Bit Per Sample Encoding Abandoned US20100324913A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/818,164 US20100324913A1 (en) 2009-06-18 2010-06-18 Method and System for Block Adaptive Fractional-Bit Per Sample Encoding

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US21830709P 2009-06-18 2009-06-18
US21919809P 2009-06-22 2009-06-22
US21986809P 2009-06-24 2009-06-24
US12/818,164 US20100324913A1 (en) 2009-06-18 2010-06-18 Method and System for Block Adaptive Fractional-Bit Per Sample Encoding

Publications (1)

Publication Number Publication Date
US20100324913A1 true US20100324913A1 (en) 2010-12-23

Family

ID=43355058

Family Applications (7)

Application Number Title Priority Date Filing Date
US12/818,164 Abandoned US20100324913A1 (en) 2009-06-18 2010-06-18 Method and System for Block Adaptive Fractional-Bit Per Sample Encoding
US12/818,165 Active 2031-12-07 US8700410B2 (en) 2009-06-18 2010-06-18 Method and system for lossless value-location encoding
US12/818,166 Active 2032-06-22 US9245529B2 (en) 2009-06-18 2010-06-18 Adaptive encoding of a digital signal with one or more missing values
US14/199,187 Active 2030-07-21 US9257126B2 (en) 2009-06-18 2014-03-06 Method and system for lossless value-location encoding
US15/018,524 Active US10510351B2 (en) 2009-06-18 2016-02-08 Method and system for lossless value-location encoding
US16/690,536 Active US11380335B2 (en) 2009-06-18 2019-11-21 Method and system for lossless value-location encoding
US17/856,031 Pending US20220335958A1 (en) 2009-06-18 2022-07-01 Method and system for lossless value-location encoding

Family Applications After (6)

Application Number Title Priority Date Filing Date
US12/818,165 Active 2031-12-07 US8700410B2 (en) 2009-06-18 2010-06-18 Method and system for lossless value-location encoding
US12/818,166 Active 2032-06-22 US9245529B2 (en) 2009-06-18 2010-06-18 Adaptive encoding of a digital signal with one or more missing values
US14/199,187 Active 2030-07-21 US9257126B2 (en) 2009-06-18 2014-03-06 Method and system for lossless value-location encoding
US15/018,524 Active US10510351B2 (en) 2009-06-18 2016-02-08 Method and system for lossless value-location encoding
US16/690,536 Active US11380335B2 (en) 2009-06-18 2019-11-21 Method and system for lossless value-location encoding
US17/856,031 Pending US20220335958A1 (en) 2009-06-18 2022-07-01 Method and system for lossless value-location encoding

Country Status (1)

Country Link
US (7) US20100324913A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100324914A1 (en) * 2009-06-18 2010-12-23 Jacek Piotr Stachurski Adaptive Encoding of a Digital Signal with One or More Missing Values
US20110099005A1 (en) * 2008-12-31 2011-04-28 Dejun Zhang Framing method and apparatus
CN103856314A (en) * 2014-02-27 2014-06-11 深圳市文鼎创数据科技有限公司 Audio communication self-adaption baud rate method and device and USB key
WO2016045232A1 (en) * 2014-09-28 2016-03-31 北京塞宾科技有限公司 Streaming media service providing method

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9047875B2 (en) 2010-07-19 2015-06-02 Futurewei Technologies, Inc. Spectrum flatness control for bandwidth extension
CN103390303B (en) * 2013-06-28 2016-01-06 上海爱信诺航芯电子科技有限公司 Based on financial key and the control method thereof of audio frequency and USB data transmission
US10109284B2 (en) 2016-02-12 2018-10-23 Qualcomm Incorporated Inter-channel encoding and decoding of multiple high-band audio signals
WO2017223095A1 (en) 2016-06-20 2017-12-28 Anacode Labs, Inc. Parallel, block-based data encoding and decoding using multiple computational units
WO2018204768A1 (en) * 2017-05-05 2018-11-08 Anacode Labs, Inc. Encoded block format
US11064055B2 (en) 2019-07-22 2021-07-13 Anacode Labs, Inc. Accelerated data center transfers

Citations (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4092493A (en) * 1976-11-30 1978-05-30 Bell Telephone Laboratories, Incorporated Speech recognition system
US4819088A (en) * 1986-03-19 1989-04-04 Victor Company Of Japan, Ltd. Magnetic recording and reproducing system
US5394473A (en) * 1990-04-12 1995-02-28 Dolby Laboratories Licensing Corporation Adaptive-block-length, adaptive-transforn, and adaptive-window transform coder, decoder, and encoder/decoder for high-quality audio
US5581653A (en) * 1993-08-31 1996-12-03 Dolby Laboratories Licensing Corporation Low bit-rate high-resolution spectral envelope coding for audio encoder and decoder
US5884269A (en) * 1995-04-17 1999-03-16 Merging Technologies Lossless compression/decompression of digital audio data
US6424936B1 (en) * 1998-10-29 2002-07-23 Matsushita Electric Industrial Co., Ltd. Block size determination and adaptation method for audio transform coding
US6484285B1 (en) * 2000-02-07 2002-11-19 Ericsson, Inc. Tailbiting decoder and method
US20030216924A1 (en) * 2002-05-20 2003-11-20 Teac Corporation Compressed audio data editing method and apparatus
US20040153959A1 (en) * 2002-10-26 2004-08-05 Samsung Electronics Co., Ltd. LDPC decoding apparatus and method
US6778966B2 (en) * 1999-11-29 2004-08-17 Syfx Segmented mapping converter system and method
US6784812B2 (en) * 1995-05-15 2004-08-31 Dolby Laboratories Licensing Corporation Lossless coding method for waveform data
US20050063219A1 (en) * 2001-09-28 2005-03-24 Stmicroelectronics S.R.I. Multilevel memory device with memory cells storing non-power of two voltage levels
US20050065787A1 (en) * 2003-09-23 2005-03-24 Jacek Stachurski Hybrid speech coding and system
US20050114123A1 (en) * 2003-08-22 2005-05-26 Zelijko Lukac Speech processing system and method
US20050159947A1 (en) * 2001-12-14 2005-07-21 Microsoft Corporation Quantization matrices for digital audio
US20050165611A1 (en) * 2004-01-23 2005-07-28 Microsoft Corporation Efficient coding of digital media spectral data using wide-sense perceptual similarity
US20050222775A1 (en) * 2004-04-02 2005-10-06 Saad Kisra Data compression methods and systems
US7003704B2 (en) * 2002-11-12 2006-02-21 International Business Machines Corporation Two-dimensional redundancy calculation
US20060114977A1 (en) * 2004-12-01 2006-06-01 Texas Instruments, Inc. System and method to mitigate interference in DSL systems
US20060153286A1 (en) * 2001-12-04 2006-07-13 Andersen Soren V Low bit rate codec
US20060239576A1 (en) * 2005-04-22 2006-10-26 Debargha Mukherjee System and method for compressing an image
US20070011000A1 (en) * 2005-07-11 2007-01-11 Lg Electronics Inc. Apparatus and method of processing an audio signal
US20070027656A1 (en) * 2005-05-10 2007-02-01 Baraniuk Richard G Method and Apparatus for Distributed Compressed Sensing
US7249153B2 (en) * 2002-08-01 2007-07-24 The Johns Hopkins University Data compression using Chebyshev transform
US20080008246A1 (en) * 2006-07-05 2008-01-10 Debargha Mukherjee Optimizing video coding
US20080095453A1 (en) * 2003-05-27 2008-04-24 Norihisa Suzuki Method and apparatus for lossless data transformation with preprocessing by adaptive compression, multidimensional prediction, multi-symbol decoding enhancement enhancements
US20080144701A1 (en) * 2001-04-09 2008-06-19 Robert Gold Communication System, Inc. Method and system for synchronizing and selectively addressing multiple receivers in a wireless, spread spectrum communication system
US20080154589A1 (en) * 2005-09-05 2008-06-26 Fujitsu Limited Apparatus and method for encoding audio signals
US20080167882A1 (en) * 2007-01-06 2008-07-10 Yamaha Corporation Waveform compressing apparatus, waveform decompressing apparatus, and method of producing compressed data
US20080215317A1 (en) * 2004-08-04 2008-09-04 Dts, Inc. Lossless multi-channel audio codec using adaptive segmentation with random access point (RAP) and multiple prediction parameter set (MPPS) capability
US7471839B2 (en) * 1999-07-30 2008-12-30 Indinell Sociedad Anonima Multimedia transmission with image and audio compressions
US20090070104A1 (en) * 2000-11-30 2009-03-12 Aled Wynne Jones Acoustic communication system
US20090070587A1 (en) * 2007-08-17 2009-03-12 Venugopal Srinivasan Advanced Watermarking System and Method
US20090190755A1 (en) * 2000-07-27 2009-07-30 Activated Content Corporation Stegotext encoder and decoder
US20090281798A1 (en) * 2005-05-25 2009-11-12 Koninklijke Philips Electronics, N.V. Predictive encoding of a multi channel signal
US20090299753A1 (en) * 2008-05-30 2009-12-03 Yuli You Audio Signal Transient Detection
US20090319261A1 (en) * 2008-06-20 2009-12-24 Qualcomm Incorporated Coding of transitional speech frames for low-bit-rate applications
US20090319263A1 (en) * 2008-06-20 2009-12-24 Qualcomm Incorporated Coding of transitional speech frames for low-bit-rate applications
US20090319278A1 (en) * 2008-06-20 2009-12-24 Microsoft Corporation Efficient coding of overcomplete representations of audio using the modulated complex lapped transform (mclt)
US20100166055A1 (en) * 2008-12-31 2010-07-01 Advanced Micro Devices, Inc. Face Detection System for Video Encoders
US20100272185A1 (en) * 2006-09-30 2010-10-28 Thomson Broadband R&D (Bejing) Co., Ltd Method and device for encoding and decoding color enhancement layer for video
US7831434B2 (en) * 2006-01-20 2010-11-09 Microsoft Corporation Complex-transform channel coding with extended-band frequency coding
US20100286991A1 (en) * 2008-01-04 2010-11-11 Dolby International Ab Audio encoder and decoder
US20100324914A1 (en) * 2009-06-18 2010-12-23 Jacek Piotr Stachurski Adaptive Encoding of a Digital Signal with One or More Missing Values
US20110026591A1 (en) * 2009-07-29 2011-02-03 Judit Martinez Bauza System and method of compressing video content
US7885819B2 (en) * 2007-06-29 2011-02-08 Microsoft Corporation Bitstream syntax for multi-process audio decoding
US20110106529A1 (en) * 2008-03-20 2011-05-05 Sascha Disch Apparatus and method for converting an audiosignal into a parameterized representation, apparatus and method for modifying a parameterized representation, apparatus and method for synthesizing a parameterized representation of an audio signal
US7991622B2 (en) * 2007-03-20 2011-08-02 Microsoft Corporation Audio compression and decompression using integer-reversible modulated lapped transforms
US20110257982A1 (en) * 2008-12-24 2011-10-20 Smithers Michael J Audio signal loudness determination and modification in the frequency domain
US8078457B2 (en) * 2005-04-26 2011-12-13 France Telecom Method for adapting for an interoperability between short-term correlation models of digital signals
US20120087504A1 (en) * 2002-09-04 2012-04-12 Microsoft Corporation Multi-channel audio encoding and decoding
US8190425B2 (en) * 2006-01-20 2012-05-29 Microsoft Corporation Complex cross-correlation parameters for multi-channel audio
US20120215546A1 (en) * 2009-10-30 2012-08-23 Dolby International Ab Complexity Scalable Perceptual Tempo Estimation
US20120232911A1 (en) * 2008-12-01 2012-09-13 Research In Motion Limited Optimization of mp3 audio encoding by scale factors and global quantization step size
US8290782B2 (en) * 2008-07-24 2012-10-16 Dts, Inc. Compression of audio scale-factors by two-dimensional transformation

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE32580E (en) * 1981-12-01 1988-01-19 American Telephone And Telegraph Company, At&T Bell Laboratories Digital speech coder
CA1323934C (en) * 1986-04-15 1993-11-02 Tetsu Taguchi Speech processing apparatus
US4965668A (en) * 1989-11-09 1990-10-23 The Grass Valley Group, Inc. Adaptive rounder for video signals
US5148487A (en) * 1990-02-26 1992-09-15 Matsushita Electric Industrial Co., Ltd. Audio subband encoded signal decoder
JP3104400B2 (en) * 1992-04-27 2000-10-30 ソニー株式会社 Audio signal encoding apparatus and method
JP2976701B2 (en) * 1992-06-24 1999-11-10 日本電気株式会社 Quantization bit number allocation method
PT744069E (en) * 1994-02-01 2002-10-31 Qualcomm Inc LINEAR PREDICTION OF EXCITATION BY RAJADAS
US5742773A (en) * 1996-04-18 1998-04-21 Microsoft Corporation Method and system for audio compression negotiation for multiple channels
US5812601A (en) * 1996-11-15 1998-09-22 Telefonaktiebolaget Lm Ericsson Coding for higher-level modulation
JPH10336147A (en) * 1997-06-03 1998-12-18 Oki Electric Ind Co Ltd Cdma transmitter-receiver and transmission rate varying method
DE19729494C2 (en) * 1997-07-10 1999-11-04 Grundig Ag Method and arrangement for coding and / or decoding voice signals, in particular for digital dictation machines
JPH11234136A (en) * 1998-02-19 1999-08-27 Sanyo Electric Co Ltd Encoding method and encoding device for digital data
KR100557177B1 (en) * 1998-04-04 2006-07-21 삼성전자주식회사 Adaptive Channel Code / Decoding Method and Its Code / Decoding Device
US6944350B2 (en) * 1999-12-17 2005-09-13 Utah State University Method for image coding by rate-distortion adaptive zerotree-based residual vector quantization and system for effecting same
US7389227B2 (en) * 2000-01-14 2008-06-17 C & S Technology Co., Ltd. High-speed search method for LSP quantizer using split VQ and fixed codebook of G.729 speech encoder
JP2002006895A (en) * 2000-06-20 2002-01-11 Fujitsu Ltd Method and device for bit assignment
EP1326223A1 (en) * 2000-11-30 2003-07-09 THOMSON multimedia S.A. Method and apparatus for controlling a display device
DE60135487D1 (en) * 2000-12-22 2008-10-02 Sony Corp CODER
DE60207227T2 (en) * 2001-04-19 2006-07-27 Koninklijke Philips Electronics N.V. METHOD AND DEVICE FOR INFORMATION CODING, METHOD AND DEVICE FOR INFORMATION DECODING, STORAGE MEDIUM AND SIGNAL
JP3469567B2 (en) * 2001-09-03 2003-11-25 三菱電機株式会社 Acoustic encoding device, acoustic decoding device, acoustic encoding method, and acoustic decoding method
JP4016207B2 (en) * 2001-10-03 2007-12-05 ソニー株式会社 Encoding method and decoding method
FR2830965A1 (en) * 2001-10-17 2003-04-18 St Microelectronics Sa METHOD AND CIRCUIT FOR DIGITAL MEASUREMENT OF THE PHASE OF A SINUSOIDAL SIGNAL
KR100480787B1 (en) * 2001-11-27 2005-04-07 삼성전자주식회사 Encoding/decoding method and apparatus for key value of coordinate interpolator node
US7027982B2 (en) * 2001-12-14 2006-04-11 Microsoft Corporation Quality and rate control strategy for digital audio
US7310596B2 (en) * 2002-02-04 2007-12-18 Fujitsu Limited Method and system for embedding and extracting data from encoded voice code
US7599835B2 (en) * 2002-03-08 2009-10-06 Nippon Telegraph And Telephone Corporation Digital signal encoding method, decoding method, encoding device, decoding device, digital signal encoding program, and decoding program
US7313520B2 (en) * 2002-03-20 2007-12-25 The Directv Group, Inc. Adaptive variable bit rate audio compression encoding
US7221711B2 (en) * 2002-03-27 2007-05-22 Woodworth John R Multilevel data encoding and modulation technique
WO2003085493A2 (en) * 2002-03-29 2003-10-16 Agilent Technologies, Inc. Method and system for predicting multi-variable outcomes
US7359550B2 (en) * 2002-04-18 2008-04-15 Mitsubishi Electric Research Laboratories, Inc. Incremental singular value decomposition of incomplete data
AUPS270902A0 (en) * 2002-05-31 2002-06-20 Canon Kabushiki Kaisha Robust detection and classification of objects in audio using limited training data
GB2392807A (en) * 2002-09-06 2004-03-10 Sony Uk Ltd Processing digital data
US7463782B2 (en) * 2002-11-05 2008-12-09 Canon Kabushiki Kaisha Data encoding with an amplitude model and path between the data and corresponding decoding
KR100463418B1 (en) * 2002-11-11 2004-12-23 한국전자통신연구원 Variable fixed codebook searching method in CELP speech codec, and apparatus thereof
US6978416B2 (en) * 2002-12-19 2005-12-20 International Business Machines Corporation Error correction with low latency for bus structures
US7310597B2 (en) * 2003-01-31 2007-12-18 Harris Corporation System and method for enhancing bit error tolerance over a bandwidth limited channel
US7254271B2 (en) * 2003-03-05 2007-08-07 Seadragon Software, Inc. Method for encoding and serving geospatial or other vector data as images
US7103110B2 (en) * 2003-10-10 2006-09-05 Atmel Corporation Dual phase pulse modulation encoder circuit
US7406412B2 (en) * 2004-04-20 2008-07-29 Dolby Laboratories Licensing Corporation Reduced computational complexity of bit allocation for perceptual coding
US20050256722A1 (en) * 2004-05-14 2005-11-17 Clark Adam L System and method for lossless audio encoding and decoding
DE102004036154B3 (en) * 2004-07-26 2005-12-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for robust classification of audio signals and method for setting up and operating an audio signal database and computer program
JP2006041869A (en) * 2004-07-27 2006-02-09 Matsushita Electric Ind Co Ltd Method and device for multiplex transmission, and program and recording medium thereof
US9626973B2 (en) * 2005-02-23 2017-04-18 Telefonaktiebolaget L M Ericsson (Publ) Adaptive bit allocation for multi-channel audio encoding
DE102005040548B4 (en) * 2005-08-26 2010-02-04 Siemens Ag Method for reducing Nyquist ghosts in medical magnetic resonance imaging
ATE451685T1 (en) * 2005-09-01 2009-12-15 Ericsson Telefon Ab L M PROCESSING REAL-TIME ENCODED DATA
US7571094B2 (en) * 2005-09-21 2009-08-04 Texas Instruments Incorporated Circuits, processes, devices and systems for codebook search reduction in speech coders
FR2897742A1 (en) * 2006-02-17 2007-08-24 France Telecom PERFECT ENCODING / DECODING OF DIGITAL SIGNALS, IN PARTICULAR VECTOR QUANTIFICATION WITH PERMUTATION CODES
US7917362B2 (en) * 2006-04-19 2011-03-29 Mediatek Inc. Method and apparatus for determining a bit boundary of a repetition-coded signal
US7805292B2 (en) * 2006-04-21 2010-09-28 Dilithium Holdings, Inc. Method and apparatus for audio transcoding
US8190441B2 (en) * 2006-09-11 2012-05-29 Apple Inc. Playback of compressed media files without quantization gaps
JP5241509B2 (en) * 2006-12-15 2013-07-17 パナソニック株式会社 Adaptive excitation vector quantization apparatus, adaptive excitation vector inverse quantization apparatus, and methods thereof
KR101261524B1 (en) * 2007-03-14 2013-05-06 삼성전자주식회사 Method and apparatus for encoding/decoding audio signal containing noise using low bitrate
US8107751B2 (en) * 2007-03-16 2012-01-31 Sharp Laboratories Of America, Inc. DPCM with adaptive range and PCM escape mode
US8619853B2 (en) * 2007-06-15 2013-12-31 Qualcomm Incorporated Separable directional transforms
US8521540B2 (en) * 2007-08-17 2013-08-27 Qualcomm Incorporated Encoding and/or decoding digital signals using a permutation value
EP2183851A1 (en) * 2007-08-24 2010-05-12 France Telecom Encoding/decoding by symbol planes with dynamic calculation of probability tables
EP2186087B1 (en) * 2007-08-27 2011-11-30 Telefonaktiebolaget L M Ericsson (PUBL) Improved transform coding of speech and audio signals
US8069051B2 (en) * 2007-09-25 2011-11-29 Apple Inc. Zero-gap playback using predictive mixing
US8032388B1 (en) * 2007-09-28 2011-10-04 Adobe Systems Incorporated Dynamic selection of supported audio sampling rates for playback
US8542727B2 (en) * 2007-12-31 2013-09-24 Intel Corporation Systems and apparatuses for performing CABAC parallel encoding and decoding
US8494100B2 (en) * 2008-07-16 2013-07-23 Signal Processing Devices Sweden Ab Device and method for blocking-signal reduction
GB0817488D0 (en) * 2008-09-24 2008-10-29 Cambridge Silicon Radio Ltd Selective transcoding of encoded media files
CN101430881B (en) * 2008-11-10 2013-04-17 华为技术有限公司 Encoding, decoding and encoding/decoding method, encoding/decoding system and correlated apparatus
CN101615911B (en) * 2009-05-12 2010-12-08 华为技术有限公司 Coding and decoding methods and devices

Patent Citations (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4092493A (en) * 1976-11-30 1978-05-30 Bell Telephone Laboratories, Incorporated Speech recognition system
US4819088A (en) * 1986-03-19 1989-04-04 Victor Company Of Japan, Ltd. Magnetic recording and reproducing system
US5394473A (en) * 1990-04-12 1995-02-28 Dolby Laboratories Licensing Corporation Adaptive-block-length, adaptive-transforn, and adaptive-window transform coder, decoder, and encoder/decoder for high-quality audio
US5581653A (en) * 1993-08-31 1996-12-03 Dolby Laboratories Licensing Corporation Low bit-rate high-resolution spectral envelope coding for audio encoder and decoder
US5884269A (en) * 1995-04-17 1999-03-16 Merging Technologies Lossless compression/decompression of digital audio data
US6784812B2 (en) * 1995-05-15 2004-08-31 Dolby Laboratories Licensing Corporation Lossless coding method for waveform data
US6424936B1 (en) * 1998-10-29 2002-07-23 Matsushita Electric Industrial Co., Ltd. Block size determination and adaptation method for audio transform coding
US7471839B2 (en) * 1999-07-30 2008-12-30 Indinell Sociedad Anonima Multimedia transmission with image and audio compressions
US6778966B2 (en) * 1999-11-29 2004-08-17 Syfx Segmented mapping converter system and method
US6484285B1 (en) * 2000-02-07 2002-11-19 Ericsson, Inc. Tailbiting decoder and method
US20090190755A1 (en) * 2000-07-27 2009-07-30 Activated Content Corporation Stegotext encoder and decoder
US20090070104A1 (en) * 2000-11-30 2009-03-12 Aled Wynne Jones Acoustic communication system
US20080144701A1 (en) * 2001-04-09 2008-06-19 Robert Gold Communication System, Inc. Method and system for synchronizing and selectively addressing multiple receivers in a wireless, spread spectrum communication system
US20050063219A1 (en) * 2001-09-28 2005-03-24 Stmicroelectronics S.R.I. Multilevel memory device with memory cells storing non-power of two voltage levels
US20060153286A1 (en) * 2001-12-04 2006-07-13 Andersen Soren V Low bit rate codec
US20050159947A1 (en) * 2001-12-14 2005-07-21 Microsoft Corporation Quantization matrices for digital audio
US20030216924A1 (en) * 2002-05-20 2003-11-20 Teac Corporation Compressed audio data editing method and apparatus
US7249153B2 (en) * 2002-08-01 2007-07-24 The Johns Hopkins University Data compression using Chebyshev transform
US20120087504A1 (en) * 2002-09-04 2012-04-12 Microsoft Corporation Multi-channel audio encoding and decoding
US20040153959A1 (en) * 2002-10-26 2004-08-05 Samsung Electronics Co., Ltd. LDPC decoding apparatus and method
US7003704B2 (en) * 2002-11-12 2006-02-21 International Business Machines Corporation Two-dimensional redundancy calculation
US7515762B2 (en) * 2003-05-27 2009-04-07 Zaxel Systems, Inc. Method and apparatus for lossless data transformation with preprocessing by adaptive compression, multidimensional prediction, multi-symbol decoding enhancement enhancements
US20080095453A1 (en) * 2003-05-27 2008-04-24 Norihisa Suzuki Method and apparatus for lossless data transformation with preprocessing by adaptive compression, multidimensional prediction, multi-symbol decoding enhancement enhancements
US20050114123A1 (en) * 2003-08-22 2005-05-26 Zelijko Lukac Speech processing system and method
US20050065787A1 (en) * 2003-09-23 2005-03-24 Jacek Stachurski Hybrid speech coding and system
US20050165611A1 (en) * 2004-01-23 2005-07-28 Microsoft Corporation Efficient coding of digital media spectral data using wide-sense perceptual similarity
US20050222775A1 (en) * 2004-04-02 2005-10-06 Saad Kisra Data compression methods and systems
US7107153B2 (en) * 2004-04-02 2006-09-12 Schlumberger Technology Corporation Data compression methods and systems
US20080215317A1 (en) * 2004-08-04 2008-09-04 Dts, Inc. Lossless multi-channel audio codec using adaptive segmentation with random access point (RAP) and multiple prediction parameter set (MPPS) capability
US20060114977A1 (en) * 2004-12-01 2006-06-01 Texas Instruments, Inc. System and method to mitigate interference in DSL systems
US20060239576A1 (en) * 2005-04-22 2006-10-26 Debargha Mukherjee System and method for compressing an image
US8078457B2 (en) * 2005-04-26 2011-12-13 France Telecom Method for adapting for an interoperability between short-term correlation models of digital signals
US20080129560A1 (en) * 2005-05-10 2008-06-05 Baraniuk Richard G Method and Apparatus for Distributed Compressed Sensing
US20070027656A1 (en) * 2005-05-10 2007-02-01 Baraniuk Richard G Method and Apparatus for Distributed Compressed Sensing
US20090281798A1 (en) * 2005-05-25 2009-11-12 Koninklijke Philips Electronics, N.V. Predictive encoding of a multi channel signal
US20070011000A1 (en) * 2005-07-11 2007-01-11 Lg Electronics Inc. Apparatus and method of processing an audio signal
US20080154589A1 (en) * 2005-09-05 2008-06-26 Fujitsu Limited Apparatus and method for encoding audio signals
US8190425B2 (en) * 2006-01-20 2012-05-29 Microsoft Corporation Complex cross-correlation parameters for multi-channel audio
US7831434B2 (en) * 2006-01-20 2010-11-09 Microsoft Corporation Complex-transform channel coding with extended-band frequency coding
US20080008246A1 (en) * 2006-07-05 2008-01-10 Debargha Mukherjee Optimizing video coding
US20100272185A1 (en) * 2006-09-30 2010-10-28 Thomson Broadband R&D (Bejing) Co., Ltd Method and device for encoding and decoding color enhancement layer for video
US20080167882A1 (en) * 2007-01-06 2008-07-10 Yamaha Corporation Waveform compressing apparatus, waveform decompressing apparatus, and method of producing compressed data
US7991622B2 (en) * 2007-03-20 2011-08-02 Microsoft Corporation Audio compression and decompression using integer-reversible modulated lapped transforms
US7885819B2 (en) * 2007-06-29 2011-02-08 Microsoft Corporation Bitstream syntax for multi-process audio decoding
US20090070587A1 (en) * 2007-08-17 2009-03-12 Venugopal Srinivasan Advanced Watermarking System and Method
US20100286991A1 (en) * 2008-01-04 2010-11-11 Dolby International Ab Audio encoder and decoder
US20100286990A1 (en) * 2008-01-04 2010-11-11 Dolby International Ab Audio encoder and decoder
US20110106529A1 (en) * 2008-03-20 2011-05-05 Sascha Disch Apparatus and method for converting an audiosignal into a parameterized representation, apparatus and method for modifying a parameterized representation, apparatus and method for synthesizing a parameterized representation of an audio signal
US20090299753A1 (en) * 2008-05-30 2009-12-03 Yuli You Audio Signal Transient Detection
US20090319278A1 (en) * 2008-06-20 2009-12-24 Microsoft Corporation Efficient coding of overcomplete representations of audio using the modulated complex lapped transform (mclt)
US20090319263A1 (en) * 2008-06-20 2009-12-24 Qualcomm Incorporated Coding of transitional speech frames for low-bit-rate applications
US20090319261A1 (en) * 2008-06-20 2009-12-24 Qualcomm Incorporated Coding of transitional speech frames for low-bit-rate applications
US8290782B2 (en) * 2008-07-24 2012-10-16 Dts, Inc. Compression of audio scale-factors by two-dimensional transformation
US20120232911A1 (en) * 2008-12-01 2012-09-13 Research In Motion Limited Optimization of mp3 audio encoding by scale factors and global quantization step size
US20110257982A1 (en) * 2008-12-24 2011-10-20 Smithers Michael J Audio signal loudness determination and modification in the frequency domain
US20100166055A1 (en) * 2008-12-31 2010-07-01 Advanced Micro Devices, Inc. Face Detection System for Video Encoders
US20100332238A1 (en) * 2009-06-18 2010-12-30 Lorin Paul Netsch Method and System for Lossless Value-Location Encoding
US20100324914A1 (en) * 2009-06-18 2010-12-23 Jacek Piotr Stachurski Adaptive Encoding of a Digital Signal with One or More Missing Values
US20110026591A1 (en) * 2009-07-29 2011-02-03 Judit Martinez Bauza System and method of compressing video content
US20120215546A1 (en) * 2009-10-30 2012-08-23 Dolby International Ab Complexity Scalable Perceptual Tempo Estimation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Jacek Stachurski, Lorin Netsch: Fractional-bit and value-location lossless encoding in G.711.0 coder. ICASSP 2010: 4666-4669. *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110099005A1 (en) * 2008-12-31 2011-04-28 Dejun Zhang Framing method and apparatus
US8843366B2 (en) * 2008-12-31 2014-09-23 Huawei Technologies Co., Ltd. Framing method and apparatus
US20100324914A1 (en) * 2009-06-18 2010-12-23 Jacek Piotr Stachurski Adaptive Encoding of a Digital Signal with One or More Missing Values
US20100332238A1 (en) * 2009-06-18 2010-12-30 Lorin Paul Netsch Method and System for Lossless Value-Location Encoding
US8700410B2 (en) * 2009-06-18 2014-04-15 Texas Instruments Incorporated Method and system for lossless value-location encoding
US9245529B2 (en) * 2009-06-18 2016-01-26 Texas Instruments Incorporated Adaptive encoding of a digital signal with one or more missing values
CN103856314A (en) * 2014-02-27 2014-06-11 深圳市文鼎创数据科技有限公司 Audio communication self-adaption baud rate method and device and USB key
WO2016045232A1 (en) * 2014-09-28 2016-03-31 北京塞宾科技有限公司 Streaming media service providing method

Also Published As

Publication number Publication date
US20160155449A1 (en) 2016-06-02
US11380335B2 (en) 2022-07-05
US20140188490A1 (en) 2014-07-03
US8700410B2 (en) 2014-04-15
US10510351B2 (en) 2019-12-17
US20100324914A1 (en) 2010-12-23
US20100332238A1 (en) 2010-12-30
US9245529B2 (en) 2016-01-26
US20200090667A1 (en) 2020-03-19
US20220335958A1 (en) 2022-10-20
US9257126B2 (en) 2016-02-09

Similar Documents

Publication Publication Date Title
US20100324913A1 (en) Method and System for Block Adaptive Fractional-Bit Per Sample Encoding
JP4426483B2 (en) Method for improving encoding efficiency of audio signal
JP4742087B2 (en) Double transform coding of audio signals
TWI453734B (en) Method for encoding a symbol, method for decoding a symbol, method for transmitting a symbol from a transmitter to a receiver, encoder, decoder and system for transmitting a symbol from a transmitter to a receiver
US8428959B2 (en) Audio packet loss concealment by transform interpolation
US6970479B2 (en) Encoding and decoding of a digital signal
US20060088093A1 (en) Packet loss compensation
US8909521B2 (en) Coding method, coding apparatus, coding program, and recording medium therefor
EP1290835B1 (en) Transmission over packet switched networks
US20110026581A1 (en) Scalable Coding with Partial Eror Protection
KR20110043684A (en) Method, system, and apparatus for compression or decompression of digital signals
US7813922B2 (en) Audio quantization
US7079498B2 (en) Method, apparatus, and system for reducing memory requirements for echo cancellers
WO2015000373A1 (en) Signal encoding and decoding method and device therefor
JPWO2009153995A1 (en) Quantization apparatus, encoding apparatus, and methods thereof
US7408918B1 (en) Methods and apparatus for lossless compression of delay sensitive signals
JP3942523B2 (en) Digital signal encoding method, decoding method, encoder, decoder, and programs thereof
JP2009210644A (en) Linear prediction coefficient calculator, linear prediction coefficient calculation method, linear prediction coefficient calculation program, and storage medium
EP2267700B1 (en) Apparatus and method for selecting quantisation bands in audio encoders
CN107680607B (en) Signal compression method, signal decompression method and device thereof
JP2004023191A (en) Signal encoding method and signal decoding method, signal encoder and signal decoder, and signal encoding program and signal decoding program
US7283587B2 (en) Distortion measurement
JP3816859B2 (en) Digital signal encoding method, decoding method, encoder and decoder thereof, and program thereof
JP2007013642A (en) Apparatus, method, and program for coding signal, record medium, and cordic method for signal
WO2023183666A1 (en) Bundled multi-rate feedback autoencoder

Legal Events

Date Code Title Description
AS Assignment

Owner name: TEXAS INSTRUMENTS INCORPORATED, TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:STACHURSKI, JACEK PIOTR;NETSCH, LORIN PAUL;HU, RONGQIANG;REEL/FRAME:024573/0715

Effective date: 20100617

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION