To Or From Variable Length Codes Patents (Class 341/67)
  • Patent number: 7649478
    Abstract: A method for designing a keyboard for efficient data entry. A user inputs data from a predefined set of characters such as letters or symbols on an input device by pressing one or more keys, in a sequential fashion, for each character. Based on the frequency of occurrence for each character, a prefix-free coding is used to generate an optimal or near-optimal key sequence mapping for the given character set. In one exemplary embodiment, eight to twelve keys from a phone keypad are used to generate English alphabets, which substantially reduces the average number of keystrokes per character. The present invention enables the user to efficiently input typical data from a given probability distribution of characters using a limited number of keys.
    Type: Grant
    Filed: November 2, 2006
    Date of Patent: January 19, 2010
    Inventor: Hyoungsoo Yoon
  • Publication number: 20100007533
    Abstract: Techniques for decoding the run_before fields in a CAVLC encoded bitstream for H.264 are disclosed. In one aspect, the codewords corresponding to a plurality of consecutive initial zero-value run_before codewords are stored in a look-up table, allowing the decoding of such a plurality of run_before codewords in a single computation cycle. In another aspect, the look-up table is additionally configured to decode the next non-zero run_before value after the initial zero-value run_before codewords in the same computation cycle.
    Type: Application
    Filed: July 8, 2008
    Publication date: January 14, 2010
    Applicant: QUALCOMM Incorporated
    Inventors: Shu Xiao, Ka-Shu Ko, Yiliang Bao
  • Patent number: 7646814
    Abstract: A method for transcoding between videostreams using different entropy coding, comprising the steps of (A) decoding a first videostream using a first set of entropy codes, and (B) generating a second videostream by entropy encoding the decoded first videostream using a second set of entropy codes. The first set of entropy codes and the second set of entropy codes are configured to represent all valid coefficient values of the first videostream.
    Type: Grant
    Filed: December 18, 2003
    Date of Patent: January 12, 2010
    Assignee: LSI Corporation
    Inventors: Lowell L. Winger, Eric C. Pearson
  • Patent number: 7646318
    Abstract: Provided is an H.264 Context Adaptive Variable Length Coding (CAVLC) decoding method based on an Application-Specific Instruction-set Processor (ASIP). The H.264 CAVLC decoding method includes determining a plurality of comparison bit strings on the basis of a table of a decoding coefficient, storing lengths of the comparison bit strings in a first register, storing code values of the comparison bit strings in a second register, comparing an input bit stream with the comparison bit strings based on the lengths and code values of the comparison bit strings, and determining value of the decoding coefficient according to a result of comparison between the input bit stream and the comparison bit strings. The method extracts a decoding coefficient using a register in an ASIP without accessing a memory and prevents a reduction in speed caused by memory access, thereby increasing the decoding speed of an H.264 decoder.
    Type: Grant
    Filed: July 29, 2008
    Date of Patent: January 12, 2010
    Assignee: Electronics and Telecommunications Research Institute
    Inventors: Jae Jin Lee, Jun Young Lee, Moo Kyoung Chung, Seong Mo Park, Nak Woong Eum
  • Patent number: 7634454
    Abstract: In one embodiment of this invention, a computer system performs a method for colorizing concept keywords within program identifiers in source code. A computer system decomposes each identifier in the source code into one or more concept keywords The computer system determines a numerical value for each concept keyword based on the sequence of characters included in each concept keyword. The computer system assigns a color to each concept keyword based on the numerical value determined for each concept keyword.
    Type: Grant
    Filed: November 21, 2006
    Date of Patent: December 15, 2009
    Assignee: Microsoft Corporation
    Inventors: Gina Danielle Venolia, Andrew Brian Begel
  • Patent number: 7634704
    Abstract: The invention relates arranging information bits in an information matrix; encoding rows of the information matrix for generating a base code matrix; generating a parity check row for the base code matrix to obtain an extended code matrix; shifting predetermined rows of the extended code matrix with respect to a preceding row in a predetermined way and generating a following parity check row for obtaining a following extended code matrix in such a way that there are more than two parity check rows in the following extended code matrix; and derotating the rows of the following extended code matrix for generating a multiple parity code matrix.
    Type: Grant
    Filed: April 10, 2006
    Date of Patent: December 15, 2009
    Assignee: Nokia Corporation
    Inventors: Risto Nordman, Mauri Nissilä
  • Patent number: 7629901
    Abstract: In one embodiment, a mechanism for modeling escape counts in adaptive compression models is disclosed. In one embodiment, a method includes initializing an escape count for an escape symbol used in an adaptive compression context model that encodes an input stream, the initial escape count being initialized at a high value in an upper portion of a range of possible count values, invoking the adaptive compression context model with the initial escape count for the escape symbol, incrementing the escape count each time it is utilized in the adaptive compression context model, and scaling the escape count when it exceeds a maximum count value.
    Type: Grant
    Filed: May 16, 2008
    Date of Patent: December 8, 2009
    Assignee: Red Hat, Inc.
    Inventor: James Paul Schneider
  • Patent number: 7630394
    Abstract: Methods, apparatus and computer readable code for compression, encoding and decoding of units of data such as packets are disclosed. In some embodiments, methods, apparatus and computer readable code for transmitting and/or receiving the data packets (for example, transmitting from a sending location to a receiving location where packets are received) are provided. For at least some packets, a dictionary is determined from a respective group of packets, including a first set of historical packets and excluding a second set of historical packet. Each target packet is encoded and/or compressed and/or decoded using the respective dictionary. Optionally, the respective group of packet includes the actual target packet to be encoded and/or compressed and/or decoded.
    Type: Grant
    Filed: April 14, 2006
    Date of Patent: December 8, 2009
    Assignee: Ramot At Tel-Aviv University Ltd.
    Inventors: Yossi Matias, Raanan Refua
  • Publication number: 20090295607
    Abstract: Systems and methodologies for analyzing error recovery performance of variable length codes utilized for encoding and decoding data are provided herein. Synchronization recovery of a set of variable length codes can be evaluated assuming that an encoded bit stream is transmitted over a binary symmetric channel. Further, mean symbol error rates corresponding to each of the variable length codes in the set can be determined based upon the evaluation of the synchronization recovery. Moreover, a subset of the variable length codes with optimal error recovery can be selected as a function of the mean symbol error rates.
    Type: Application
    Filed: June 2, 2008
    Publication date: December 3, 2009
    Applicant: THE HONG KONG UNIVERSITY OF SCIENCE AND TECHNOLOGY
    Inventors: Oscar Chi Lim Au, Jiantao Zhou
  • Patent number: 7626521
    Abstract: Various embodiments of decoding systems and methods are disclosed. One method embodiment, among others, comprises providing a shader configurable with a plurality of instruction sets to decode a video stream coded a plurality of different coding methods, loading the shader having one of the plurality of instruction sets to a variable length decoding (VLD) unit of a software programmable core processing unit for execution thereof, and decoding the video stream by executing the shader on the VLD unit.
    Type: Grant
    Filed: June 8, 2007
    Date of Patent: December 1, 2009
    Assignee: Via Technologies, Inc.
    Inventors: Zahid Hussain, Huy Duc Bui, John Brothers
  • Patent number: 7626522
    Abstract: This disclosure is directed to techniques for memory efficient variable to fixed length (VF) coding techniques for a variety of applications, such as media coding. For example, such techniques may be applied to code digital video, image, audio, or speech data. The techniques described in this disclosure may utilize algebraic properties of VF coding trees constructed using Tunstall or Khodak algorithms, and employ combinatorial enumeration techniques for construction, encoding and decoding of codewords. For some applications, the VF coding techniques may be implemented within media encoders, decoders, or combined encoder-decoders (CODECs). Also, in some aspects, various attributes defining a VF coding tree constructed according to this disclosure may be provided in a memory efficient data structure stored in memory associated with a coding device.
    Type: Grant
    Filed: October 8, 2007
    Date of Patent: December 1, 2009
    Inventor: Yuriy Reznik
  • Patent number: 7623049
    Abstract: Various embodiments of decoding systems and methods are disclosed. One system embodiment, among others, comprises a software programmable core processing unit having a context-adaptive variable length coding (CAVLC) unit configured to execute a shader, the shader configured to implement CAVLC decoding of a video stream and provide a decoded data output.
    Type: Grant
    Filed: June 8, 2007
    Date of Patent: November 24, 2009
    Assignee: Via Technologies, Inc.
    Inventors: Zahid Hussain, Huy Duc Bui
  • Patent number: 7616136
    Abstract: A method for message compression comprises receiving a first text message, acquiring at least one frequent character combination in the first text message, calculating frequencies for the frequent character combination and characters occurring in the first text message, generating multiple representative codes respectively for the frequent character combination and characters, and encoding the first text message to a second text message.
    Type: Grant
    Filed: January 24, 2006
    Date of Patent: November 10, 2009
    Assignee: Qisda Corporation
    Inventors: Chang-Hung Lee, Hsin-Che Hsieh
  • Patent number: 7616137
    Abstract: An embodiment of the invention relates to a process for compression of executable code by a microprocessor, comprising steps consisting of decomposing the executable code into words; compressing each word of executable code, each compressed word of executable code comprising a part of predefined fixed length and a part of variable length whereof the length is defined by the part of fixed length; and combining all the parts of fixed length and all the parts of variable length of the words respectively into a block of parts of fixed length and in a block of parts of variable length, the respective positions of at least certain parts of variable length in the block of parts of variable length being saved in an addressing table.
    Type: Grant
    Filed: June 30, 2006
    Date of Patent: November 10, 2009
    Assignee: STMicroelectronics, SA
    Inventor: Didier Fuin
  • Publication number: 20090267812
    Abstract: The invention is related to a method for encoding a sequence of integers, to a storage device and to a signal carrying such encoded sequence and to a method for decoding such encoded sequence. Said method comprises the steps of identifying a contiguous sub-sequence in the sequence of integers wherein said sub-sequence comprises interrelated integers having a same prefix when being variable length encoded and an independent last integer, and forming a code for the contiguous sub-sequence by help of code for an indication of the number of interrelated integers in said contiguous subsequence, a code of a prefix indication and the suffixes of variable length codes of the integers in the contiguous is sub-sequence. Thus, if there are n integers of which each is encoded with the same prefix then, instead of n individual prefixes for the integers, a single prefix for the contiguous subsequence is sufficient.
    Type: Application
    Filed: April 21, 2009
    Publication date: October 29, 2009
    Inventors: Qu Qing Chen, Zhi Bo Chen, Jun Teng
  • Publication number: 20090261996
    Abstract: This invention converts Packbit-encoded data into new Packbit-encoded data which allows to have a throughput=M. a extraction unit separates inputted encoded data into length information and data information, and outputs them to a conversion unit. The conversion unit has a count unit which cumulatively counts the number of output data after decoding indicated by the separated length information. The conversion unit divides length information of interest into first length information and second length information as needed, outputs the first length information, and sets the second length information as an initial count target to be counted by the count unit, so that the counted number N of output data reaches the throughput=M. The conversion unit combines the generated length information and the separated data information, and outputs new Packbit-encoded data.
    Type: Application
    Filed: April 9, 2009
    Publication date: October 22, 2009
    Applicant: CANON KABUSHIKI KAISHA
    Inventor: Naotsugu Itoh
  • Publication number: 20090261995
    Abstract: Disclosed herein is a variable-length code decoding apparatus including: a code buffer that holds a variable-length code in which the same bit value continues for a given number of bits from the most significant bit; code word detectors each of which reads the variable-length code from the code buffer to detect whether the variable-length code matches a specified code word; a decoded code word determination block that determines a code word decoded; and a configuration information holding section that holds configuration information containing the specified code words and code lengths of the specified code words as arranged in an ascending order of code length.
    Type: Application
    Filed: April 2, 2009
    Publication date: October 22, 2009
    Inventor: Hiroaki SAKAGUCHI
  • Patent number: 7605725
    Abstract: Systems and methods for optimizing system performance in variable length decoding systems are described. Embodiments are described in which decode tables are analyzed and elements of the tables sorted by probability of occurrence. Storage of elements can be determined by probability of occurrence and embodiments of the present invention can optimize system efficiency by storing most likely entries into fast-memory and least likely entries in slowest memory. In certain embodiments, a single large table is provided that cannot fit into decoder fast-memory. In some embodiments, individual elements can be optimized for storage in fast-memory by selecting more frequently occurring entries or groups of entries into decoder memory.
    Type: Grant
    Filed: January 29, 2008
    Date of Patent: October 20, 2009
    Assignee: NVIDIA Corporation
    Inventors: Rohit Puri, Partha Sriram
  • Patent number: 7602319
    Abstract: An image decoding apparatus having: a table selection controller configured to output a syntax selection signal which selects one of a prefix, a suffix, and a syntax; a variable length code decoding device configured to receive a bit stream, the syntax selection signal, and a suffix length, and, by using data contained in the bit stream and the suffix length, simultaneously decode the prefix and the suffix and output the result if the syntax selection signal selects the prefix 1 and the suffix, and decode the syntax and output the result if the syntax selection signal selects the syntax; a level formation device configured to receive the decoded prefix, the decoded suffix, and the decoded syntax, and form and output a level; and a suffix length updating device configured to receive the decoded prefix, the decoded suffix, and the decoded syntax, and update the suffix length.
    Type: Grant
    Filed: March 3, 2008
    Date of Patent: October 13, 2009
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Tatsuhiro Suzumura, Shuji Michinaka, Kiwamu Watanabe, Satoshi Takekawa, Masashi Jobashi, Hiromitsu Nakayama, Yoshinori Shigeta, Takaya Ogawa, Akihiro Oue
  • Publication number: 20090251342
    Abstract: A CABAC-type encoding device for encoding an initial flow of binary digital information for generating an output flow for forming video images after decoding, includes: elements for analyzing successive sequences of bits of the initial binary flow, bit-by-bit, and for deducing, for each bit, an interval representing the occurrence probability associated with the bit, the interval being defined by the size thereof and the lower boundary thereof; elements for analyzing the interval and ensuring a renormalization thereof. The elements for ensuring the renormalization include: a reference table containing, for each possible value of the lower boundary and the size, sequences of bits to be inserted into the output flow, and the number of unknown bits waiting to be inserted for this specific renormalization step; and elements for determining the address of the data, in this reference table.
    Type: Application
    Filed: December 15, 2006
    Publication date: October 8, 2009
    Applicant: Assistance Technique Et Etude de Materiels Electroniques Ateme
    Inventor: Stephane Bacri
  • Patent number: 7599840
    Abstract: Techniques and tools for selectively using multiple entropy models in adaptive coding and decoding are described herein. For example, for multiple symbols, an audio encoder selects an entropy model from a first model set that includes multiple entropy models. Each of the multiple entropy models includes a model switch point for switching to a second model set that includes one or more entropy models. The encoder processes the multiple symbols using the selected entropy model and outputs results. Techniques and tools for generating entropy models are also described.
    Type: Grant
    Filed: July 15, 2005
    Date of Patent: October 6, 2009
    Assignee: Microsoft Corporation
    Inventors: Sanjeev Mehrotra, Wei-Ge Chen
  • Patent number: 7596279
    Abstract: Variable-length encoder 16 feeds a CBP as an input symbol H1 to variable-length code output part 30. Coded symbol memory 31 supplies CBPs in neighboring blocks as coding map table reference information H2 to coding map table provider 32. Coding map table provider 32 determines a coding map table used in coding of the CBP, based on these CBPs in the neighboring blocks, and provides a coding map table H4 to variable-length code output part 30. Variable-length coding table provider 33 feeds a variable-length coding table H5 to variable-length code output part 30. Then the coding target CBP is subjected to variable-length coding, and the resultant is outputted as coded data D9. This allows information source coding of coding symbols to be performed efficiently according to the coding condition and the property of image.
    Type: Grant
    Filed: April 25, 2003
    Date of Patent: September 29, 2009
    Assignee: NTT DoCoMo, Inc.
    Inventors: Kazuo Sugimoto, Satoru Adachi, Sadaatsu Kato, Minoru Etoh, Mitsuru Kobayashi, Hiroyuki Yamaguchi
  • Publication number: 20090237278
    Abstract: A variable length code decoding device for decoding variable length code data, including: a table memory that stores a plurality of decoding process tables having a reference relationship therein; and a decoding control unit that is given a start address and an initial reference bit length of the table memory; and sequentially selects the decoding process tables according to the decoded data to control a process of decoding the variable length code data, wherein when referring to the decoding process table to perform an initial decoding of the variable length code data, the initial decoding process is conducted by a longer bit length to be clipped from the variable length code data for referring to the decoding process table than the bit length used when referring to the other portions of the decoding process table.
    Type: Application
    Filed: May 18, 2009
    Publication date: September 24, 2009
    Inventors: Hiroaki NAKATA, Fumitaka IZUHARA, Kazushi AKIE, Takafumi YUASA
  • Patent number: 7589648
    Abstract: In one embodiment, a data decompression circuit for a data stream having a repeated data word is provided. The data stream is compressed into a series of data frames such that the repeated data word is removed from the series of data frames and such that each data frame corresponds to a header. The circuit includes a decompression engine configured to decompress each data frame into a corresponding decompressed data frame, the decompression engine being further configured to decode each header to identify whether word locations in the corresponding decompressed data frame should be filled with the repeated data word.
    Type: Grant
    Filed: February 10, 2005
    Date of Patent: September 15, 2009
    Assignee: Lattice Semiconductor Corporation
    Inventors: Benny Ma, San-Ta Kow, Ann Wu, Thomas Tsui
  • Patent number: 7586424
    Abstract: A method of coding audio and/or video data. A data symbol may be coded using an exponent and a residual, in which the exponent is coded using a variable length code, such as but not limited to a Huffman code or a Golomb code. The variable length code may be adaptive and may code according to probabilities or frequencies of occurrence of the data symbol.
    Type: Grant
    Filed: June 5, 2006
    Date of Patent: September 8, 2009
    Inventor: Donald Martin Monro
  • Patent number: 7586425
    Abstract: A method for coding spatial and quality enhancement information in scalable video coding using variable length codes. Conventional systems have been capable of using variable length codes only with nonscalable video coding, In the present invention, the coded block pattern for each block of information, significance passes, and refinement passes can all be coded with different types of variable length codes. The present invention also provides for a variable length encoder/decoder that dynamically adapts to the actual symbol probability. The encoder/decoder of the present invention counts the number of times each symbol is coded. Based upon these counts, the encoder/decoder selects how many symbols to group when forming a code word. The encoder also uses these counts to select the specific codeword that should be used.
    Type: Grant
    Filed: July 9, 2007
    Date of Patent: September 8, 2009
    Assignee: Nokia Corporation
    Inventors: Justin Ridge, Xianglin Wang
  • Patent number: 7586426
    Abstract: An image coding apparatus includes a variable length coding section, an arithmetic coding section and a common buffer memory. The variable length coding section inputs image data and outputs a binarized code sequence applied with variable length coding. The arithmetic coding section applies arithmetic coding to the binarized code sequence outputted from the variable length coding section. The common buffer memory transmits and receives data between the variable length coding section and the arithmetic coding section.
    Type: Grant
    Filed: May 20, 2008
    Date of Patent: September 8, 2009
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Kiwamu Watanabe, Shuji Michinaka, Tatsuhiro Suzumura, Hiromitsu Nakayama, Yoshinori Shigeta, Satoshi Takekawa, Masashi Jobashi, Takaya Ogawa, Akihiro Oue
  • Patent number: 7580470
    Abstract: A Kerdock decoder of the present invention generates correlation reliability from a relation between correlation values to output together with a Kerdock-decoded map data. A map deciding unit receives a field sync signal, a field identifying signal, the Kerdock-decoded map data and the correlation reliability to identify whether a current field is an odd or even field and whether there is a map change in case of the even field. And, the map deciding unit decides a current map data by performing map acquisition and tracking according to the corresponding result.
    Type: Grant
    Filed: December 19, 2005
    Date of Patent: August 25, 2009
    Assignee: LG Electronics, Inc.
    Inventors: In Hwan Choi, Kyung Won Kang
  • Patent number: 7580585
    Abstract: A method and system of lossless adaptive Golomb/Rice (G/R) encoding of integer data using a novel backward-adaptive technique having novel adaptation rules. The adaptive G/R encoder and decoder (codec) and method uses adaptation rules that adjust the G/R parameter after each codeword is generated. These adaptation rules include defining an adaptation value and adjusting the G/R parameter based on the adaptation value. If the adaptation value equals zero, then the G/R parameter is decreased by an integer constant. If the adaptation value equals one, then the G/R parameter is left unchanged. If the adaptation value is greater than one, then the G/R parameter is increased by the adaptation value. In addition, the adaptive G/R encoder and method include fractional adaptation, which defines a scaled G/R parameter in terms of the G/R parameter and updates and adapts the scaled G/R parameter to slow down the rate of adaptation.
    Type: Grant
    Filed: October 29, 2004
    Date of Patent: August 25, 2009
    Assignee: Microsoft Corporation
    Inventor: Henrique S. Malvar
  • Patent number: 7573407
    Abstract: In general, this disclosure is directed to techniques for memory efficient and low complexity adaptive variable length coding (VLC) of data for a variety of applications, such as coding of digital video, image, audio, or speech data. In some aspects, the techniques may exploit properties of particular sets of codewords to support very compact data structures. In other aspects, the techniques may support low-complexity, adaptive encoding and decoding of binary sequences produced by memoryless sources.
    Type: Grant
    Filed: August 17, 2007
    Date of Patent: August 11, 2009
    Assignee: QUALCOMM Incorporated
    Inventor: Yuriy Reznik
  • Patent number: 7573406
    Abstract: A system and method that process encoded data, wherein the encoded data is an encoded video stream. The encoded data may be buffered and the characteristics of the buffered encoded data may be determined and used to select a decoding table from a plurality of decoding tables. An encoded word may then be decoded using the selected decoding table. The output of the decoding table may be the corresponding decoded word and the size of the encoded word. The size of the encoded word may be utilized to shift the buffered encoded data. The decoded word may be sent to the appropriate portion of the system.
    Type: Grant
    Filed: November 10, 2004
    Date of Patent: August 11, 2009
    Assignee: Broadcom Corporation
    Inventor: Timothy M. Hellman
  • Patent number: 7567189
    Abstract: When a combination between a plurality of FIFO memories and a variable length coding table is used, a load generated by an increase in number of FIFO memories serving as output destinations of a codeword length output from the variable length coding table when the codeword length is output is reduced.
    Type: Grant
    Filed: February 7, 2008
    Date of Patent: July 28, 2009
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Takaya Ogawa, Masashi Jobashi, Kiwamu Watanabe, Tatsuhiro Suzumura, Satoshi Takekawa, Hiromitsu Nakayama, Yoshinori Shigeta, Akihiro Oue, Shuji Michinaka
  • Patent number: 7564384
    Abstract: A binary coding and decoding method and apparatus for MVD (Motion Vector Difference) absolute values, includes: dividing symbols for MVD absolute values to be coded into a plurality of subsets according to probability distribution properties; assigning a binary codeword for each subset; assigning a binary codeword for each symbol in each subset; concatenating and outputting the binary codeword for each subset and the binary codeword for each symbol in the subset, as the binary coding result. At the decoding side, decoding operations are performed by using a principle corresponding to that at the coding side. In this manner, the invention makes full use of the source properties on one hand, and effectively prevents the codeword length from being too long on the other hand. It has been experimentally testified that a better compression effect may be achieved during arithmetic coding process and thus the image coding performance may be improved effectively.
    Type: Grant
    Filed: June 4, 2008
    Date of Patent: July 21, 2009
    Assignees: Huawei Technologies Co., Ltd., Tsinghua University
    Inventors: Yun He, Ping Yang, Wei Yu, Xinjian Meng, Jianhua Zheng
  • Patent number: 7564379
    Abstract: Several code detectors in parallel simultaneously examine varying overlapping segments of a data stream containing variable length codes, referred to as a data window. The data window segments directly address memory structures within each of the code detectors without any previous logic stages. Each code detector is responsible for a range of code lengths, and ignores data window bits that are not relevant to its code length range. Each code detector outputs a possible result to a layer of logic that selects the possible result of the single code detector which contains result data corresponding to a variable length code in the data window.
    Type: Grant
    Filed: October 16, 2007
    Date of Patent: July 21, 2009
    Assignee: LSI Corporation
    Inventor: Michael D. Ruehle
  • Publication number: 20090174583
    Abstract: The speed of dictionary based decompression is limited by the cost of accessing random values in the dictionary. If the size of the dictionary can be limited so it fits into cache, decompression is made to be CPU bound rather than memory bound. To achieve this, a value prefix coding scheme is presented, wherein value prefixes are stored in the dictionary to get good compression from small dictionaries. Also presented is an algorithm that determines the optimal entries for a value prefix dictionary. Once the dictionary fits in cache, decompression speed is often limited by the cost of mispredicted branches during Huffman code processing. A novel way is presented to quantize Huffman code lengths to allow code processing to be performed with few instructions, no branches, and very little extra memory. Also presented is an algorithm for code length quantization that produces the optimal assignment of Huffman codes and show that the adverse effect of quantization on the compression ratio is quite small.
    Type: Application
    Filed: January 8, 2008
    Publication date: July 9, 2009
    Applicant: International Business Machines Corporation
    Inventors: Pablo Diaz-Gutierrez, Vijayshankar Raman, Garret Swart
  • Patent number: 7548175
    Abstract: This invention provides an encoding apparatus including a group generating unit that puts plural information values to be compressed together and generates a group of information values to be compressed; a code assignment unit that assigns a code to each group generated by the group generating unit; and an information encoding unit that encodes the information values to be compressed belonging to each group, using the code assigned to each group.
    Type: Grant
    Filed: August 3, 2007
    Date of Patent: June 16, 2009
    Assignee: Fuji Xerox Co., Ltd.
    Inventors: Taro Yokose, Masanori Sekino, Tomoki Taniguchi
  • Patent number: 7545293
    Abstract: In general, this disclosure is directed to techniques for memory efficient and low complexity adaptive variable length coding (VLC) of data for a variety of applications, such as coding of digital video, image, audio, or speech data. In some aspects, the techniques may exploit properties of particular sets of codewords to support very compact data structures. In other aspects, the techniques may support low-complexity, adaptive encoding and decoding of binary sequences produced by memoryless sources.
    Type: Grant
    Filed: August 17, 2007
    Date of Patent: June 9, 2009
    Assignee: Qualcomm Incorporated
    Inventor: Yuriy Reznik
  • Patent number: 7541948
    Abstract: An image coding apparatus provides a run-length encoding unit RLE1 that subjects quantized coefficients which are obtained by quantizing frequency components of an image signal to a variable length coding process by using a run value Run that indicates the number of successive zero coefficients and a level value Lev that indicates a value of a non-zero coefficient following the zero coefficients. The run-length encoding unit RLE1 includes a reordering unit Lreodr for reordering level values Lev; a variable length coder LVLC for coding reordered level values ROLev by using a code table that is selected according to the value of a quantization parameter QP; a reordering unit Rreodr for reordering run values Run from high frequency component of the quantized coefficients to low frequency component; and a variable length coder RVLC for coding reordered run values RORun by using a code table that is selected according to the number of already-processed run values.
    Type: Grant
    Filed: July 31, 2006
    Date of Patent: June 2, 2009
    Assignee: Panasonic Corporation
    Inventors: Shinya Kadono, Satoshi Kondo, Makoto Hagai, Kiyofumi Abe
  • Patent number: 7535386
    Abstract: A flag indicating whether a decoding process is completed or continued is disposed in each of entries of a decoding process table. A decoded value and a significant bit length are recorded in the entry of a decoding process completion. Information for identifying the decoding process table which is used in a subsequent process, and a bit length that is clipped from a code word which is used when referring to a subsequent table are recorded in the entry of the decoding process continuation. When the decoding process starts, the information for identifying the table to be used and the bit length that is referred to from the code word when referring to the table are designated together with the code word. The decoding process table reference is repeated as the occasion demands. With the above configuration, there is provided a variable length code decoding device.
    Type: Grant
    Filed: August 28, 2007
    Date of Patent: May 19, 2009
    Assignee: Renesas Technology Corp.
    Inventors: Hiroaki Nakata, Fumitaka Izuhara, Kazushi Akie, Takafumi Yuasa
  • Publication number: 20090109070
    Abstract: An encoding method for dividing a bit string of an input signal at a position of x bits from a least significant bit into a high-order bit string and a low-order bit string, performing variable-length-encoding of the high-order bit string, and performing fixed-length-encoding of the low-order bit string includes deriving a reference integer I close to 2x (x=m/2, m is an integer of 0 or more); obtaining a quotient and a remainder that are determined by performing a dividing operation on numerical values represented respectively by the bit strings by using the reference integer I; and performing variable-length-encoding of each of quotients of two consecutive bit strings, combining remainders corresponding to the quotients and performing fixed-length-encoding of the result, and generating a codeword.
    Type: Application
    Filed: October 23, 2008
    Publication date: April 30, 2009
    Inventor: Yuuji MAEDA
  • Patent number: 7526032
    Abstract: Data having a basic data length of m bits is modulated to a variable-length code having a basic code length of n bits. A sync signal is added to the data after a minimum bit-run in the data. The sync signal exhibits two or more patterns, each pattern breaking a maximum bit-run and having six channel bits for identifying each sync signal. The two or more patterns are distinguished from one another, with a detection distance of at least two therebetween.
    Type: Grant
    Filed: June 8, 2007
    Date of Patent: April 28, 2009
    Assignee: Sony Corporation
    Inventors: Toshiyuki Nakagawa, Yoshihide Shimpuku, Tatsuya Narahara
  • Patent number: 7525456
    Abstract: The presently preferred methods of the present invention take advantage of the syntax structure of H.264 and adaptively switch the entropy coding mode between CABAC and CAVLC. In those profiles of H.264 where CABAC is supported such as the Main profile and the High profiles (HP, Hi10, Hi422, Hi444), the entropy coding mode to be used is specified via a picture parameter set (“PPS”), where a particular PPS is specified for each slice in its header (“slice header”). The encoders of the present invention provide a multiple-PPS for both the CAVLC and CABAC, so that bitstreams are produced by both CAVLC and CABAC. CAVLC, having a simpler algorithm structure, is implemented as a part of the video pipe, where each single video pipe stage is designed to operate within a pre-defined number of clock cycles. The video pipe generates SE at pre-scheduled instances buffered in FIFO. The SE serves as input to CABAC, where CABAC encodes the SE in an event-driven fashion.
    Type: Grant
    Filed: April 14, 2006
    Date of Patent: April 28, 2009
    Assignee: Qpixel Technology, Inc.
    Inventor: Hitoshi Watanabe
  • Publication number: 20090102686
    Abstract: The present invention relates to an encoding device and method, a decoding device and method, and a transmission system, wherein encoding and decoding can be performed at higher speeds. A maximum significant digit calculating unit 63 calculates the maximum significant digits of predetermined w quantized coefficients. A VLC encoding unit 64 outputs code indicating a maximum significant digit, based on the calculation results. A significant digit extracting unit 65 extracts the significant digits of each of w quantized coefficients based on the maximum significant digit. A VLC encoding unit 66 outputs code indicating the absolute values of the w quantized coefficients, based on the extracted significant digits. A sign extracting unit 67 extracts signs from the w quantized coefficients, indicating whether each quantized coefficient is positive or negative. A VLC encoding unit 68 outputs code indicating w signs.
    Type: Application
    Filed: November 17, 2006
    Publication date: April 23, 2009
    Applicant: SONY CORPORATION
    Inventors: Takahiro Fukuhara, Kazuhisa Hosaka, Katsutoshi Ando
  • Patent number: 7522074
    Abstract: Control of signal compression is coordinated by selectively modifying control parameters affecting the bit rate, sample rate, dynamic range and compression operations. Selected control parameters are modified according to a control function. The control function can include a ratio parameter that indicates the relative or proportional amounts of change to the control parameters. Alternatively, the control function can be represented in a lookup table with values for the selected control parameters related by the control function. The input signal samples can be resampled according to a sample rate control parameter. The dynamic range of signal samples can be selectively adjusted according to a dynamic range control parameter to form modified signal samples. The resampling and dynamic range adjustment can be applied in any order. The modified signal samples are encoded according to a compression control parameter to form compressed samples. The encoder can apply lossless or lossy encoding.
    Type: Grant
    Filed: September 17, 2007
    Date of Patent: April 21, 2009
    Assignee: Samplify Systems, Inc.
    Inventor: Albert W Wegener
  • Publication number: 20090085781
    Abstract: A variable length decoding device comprises a CPU, a variable length decoding unit, an encoded data memory, a decoded data memory, and a mass memory. The variable length decoding unit comprises a decoding table memory operable to store decoding table, a standard information storage unit operable to store standard information of encoded data, and a frequency information storage unit operable to store information on frequency of usage of each table element of the decoding table. According to the structure, the decoding table is not necessary to transfer when decoding the encoded data based on the same standard of the previously-decoded encoded data. The decoding table to be stored in the decoding table memory can be composed by table elements of higher frequency of usage, thereby decreasing occurrence of cache error.
    Type: Application
    Filed: October 1, 2008
    Publication date: April 2, 2009
    Inventors: Masahiro OHASHI, Tsuyoshi Nakamura
  • Patent number: 7511640
    Abstract: Method and apparatus are configured to assign a code of less than N number of bits in length to a pattern of bits of a first polarity value distributed within a block of N binary bits. The method basically comprises (1) determining a number of bits of the first value in the block of N binary bits; (2) selecting a base value based on the determined number of bits of the first value; (3) determining a displacement value representative of a particular distribution of the determined number of bits of the first value in the block of N binary bits; and (4) adding the base value and the displacement value to obtain a sum and using the sum to form an assigned code. The base value is preferably selected by evaluating an Expression Io=NC1+NC2+NC3 . . . +NCK?1, wherein K is the determined number of bits of the first value in the block of N binary bits.
    Type: Grant
    Filed: January 31, 2007
    Date of Patent: March 31, 2009
    Assignee: Telefonaktiebolaget LM Ericsson (publ)
    Inventor: Paul W. Dent
  • Patent number: 7508328
    Abstract: A method for processing a variable length code comprising: determining a first address; decoding opcodes from the at least one table starting at a first address; in response to each of the opcodes: receiving a portion of a sequence of bits, the sequence of bits comprising a first variable length code; receiving S from the second table at the current address; flushing S bits in the sequence of bits; receiving T corresponding to one of the stages; determining a value of a set of T bits in the sequence of bits; receiving D from the second table at the current address; and computing the next address, the next address being the sum of the current address, D, and the value of the set of T bits; and retrieving the next opcode, the next opcode being retrieved from the next address; and determining the decoded syntax element.
    Type: Grant
    Filed: September 13, 2007
    Date of Patent: March 24, 2009
    Assignee: Nemochips, Inc.
    Inventor: Danian Gong
  • Publication number: 20090073007
    Abstract: An approach to decoding variable length code (VLC) symbols is described. In one embodiment, a method of decoding VLC symbols is detailed. This method involves obtaining a bitstream sample from a bitstream, and comparing the bitstream sample against a threshold value, to obtain a VLC group number. Information associated with a VLC group is retrieved, using this VLC group number. The current VLC symbol is extracted from the bitstream, using the VLC group information, and the corresponding symbol value is obtained, using the current VLC symbol and the VLC group information.
    Type: Application
    Filed: September 17, 2007
    Publication date: March 19, 2009
    Inventor: Wei Jia
  • Publication number: 20090073008
    Abstract: A method and apparatus to scalably encode or decode an audio signal or a video signal. A signal distribution is considered after binarization is performed based on a tree structure. Thus, a decoding end can minimize generation of quantization errors and restore an original signal. In addition, only frequency components perceptually important in terms of human hearing are set to an upper layer and encoded without decreasing a bandwidth which is restored from an upper layer. Therefore, sound quality can be increased by decreasing quantization noise while maintaining a relatively large frequency bandwidth, and the degradation of a compression performance is prevented.
    Type: Application
    Filed: April 2, 2008
    Publication date: March 19, 2009
    Applicant: Samsung Electronics Co., Ltd.
    Inventors: Jung-hoe KIM, Eun-mi Oh, Ki-hyun Choo, Boris Kudryashov, Olga Prokofyeva
  • Patent number: 7501964
    Abstract: A method and systems are provided for efficiently implementing content adaptive variable length coding on a modern processor. Some embodiments comprise encoding a non-zero coefficient in an array of coefficients in an iteration of an encoding loop. The code value of the encoded non-zero coefficient is determined, at least in part, by the magnitude of another non-zero coefficient in the array of coefficients. A run of zero coefficients preceding a non-zero coefficient in the array of coefficients is also encoded in the iteration of the encoding loop. The encoded non-zero coefficient is appended to an encoded video bitstream when encoded. The encoded run of zero coefficients is stored in a storage device and appended to the encoded video bitstream after all non-zero coefficients in the array of coefficients have been encoded.
    Type: Grant
    Filed: June 5, 2007
    Date of Patent: March 10, 2009
    Assignee: Texas Instruments Incorporated
    Inventors: Sunand Mittal, Laurence Magali Sarti, David Gottardo, Jacques Michel Bride