Extended hybrid variable length coding of transform coefficients for video compression
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06K-009/36
H03M-007/34
H03M-007/32
출원번호
US-0898654
(2004-07-22)
등록번호
US-7483584
(2009-01-27)
발명자
/ 주소
Chen,Wen hsiung
Wu,Fang
Pelton,Gregory D.
Toebes,John A.
출원인 / 주소
Cisco Technology, Inc.
대리인 / 주소
Rosenfeld,Dov
인용정보
피인용 횟수 :
3인용 특허 :
89
초록▼
A method and an apparatus of image compression, and a memory to store a data structure for compression. The method includes, for an ordered series of quantized coefficients of a transform of an image block, forming from the series events that are a run of non-zero-valued coefficients in a first cont
A method and an apparatus of image compression, and a memory to store a data structure for compression. The method includes, for an ordered series of quantized coefficients of a transform of an image block, forming from the series events that are a run of non-zero-valued coefficients in a first contiguous region defined by a breakpoint, a run of zero-valued coefficients in the first region, or a run of zero-valued coefficients that ends in a non-zero-amplitude coefficient in a second region defined by the breakpoint. A codeword is formed for each runlength of non-zero-valued and zero-valued coefficients in the first region using a first and a second coding method, respectively, and, and encoding the runs of zero-valued coefficient that end in a non-zero value in the second region according to a third coding method, including providing an exception codeword when the ending amplitude is not 1.
대표청구항▼
We claim: 1. A method for processing an ordered series of digital signals that each have an amplitude from a finite set of amplitudes consisting of the most-likely-to-occur amplitude and at least one other amplitude, the processing to reduce the amount of data used to represent the digital signals
We claim: 1. A method for processing an ordered series of digital signals that each have an amplitude from a finite set of amplitudes consisting of the most-likely-to-occur amplitude and at least one other amplitude, the processing to reduce the amount of data used to represent the digital signals and to form codewords such that the more likely to occur sequences of values of digital signals are represented by relatively short codewords and the less likely to occur sequences of values of digital signals are represented by relatively long codewords, the method comprising: for each run of consecutive signals of value or values other than the most-likely-to-occur value occurring in a first contiguous region defined by a breakpoint along the ordering of the series, encoding the runlength of the consecutive signals using a first runlength coding method, and forming a codeword that encodes the runlength using the first runlength coding method and further encodes the amplitudes and signs of each signals in the run, the breakpoint defining the first continuous region and a second contiguous region following the first contiguous region; for each run of consecutive signals of the most-likely-to-occur value occurring in the first region defined by the breakpoint, encoding the runlength of the consecutive signals of the most-likely-to-occur value using a second runlength coding method; and encoding the signals occurring in the second region defined by the breakpoint, the encoding using a second-region coding method, the second-region coding method including identifying events that include runs of consecutive signals of the most-likely-to-occur value in the second region that end in a single signal having other than the most-likely-to-occur value, and encoding said identified events in the second region using a third coding method, the encoding including indicating that the ending single signal has an amplitude other than the next most-likely-to-occur value to the most-likely-to-occur value, wherein the first, second, and third coding methods include variable length codes such that relatively short codewords are formed to represent sequences of values that are relatively more likely to occur, and relatively long codewords are formed to represent sequences of values that are relatively less likely to occur, and wherein: the breakpoint value is selected from a finite set of pre-defined breakpoint values according to which of the breakpoints of the set produces the shortest number of bits, or the breakpoint defines a soft boundary between the first and second regions, such that for a block having a sequence of consecutive values all having the most-likely-to-occur value or all having other than the most-likely-to-occur value crosses the breakpoint, the boundary between the first and second region is at the end of the sequence such that the whole sequence is in the first region. 2. A method as recited in claim 1, wherein the series of digital signals is a series of quantized coefficients of a transformed block of image data, the transform such that the most-likely-to-occur amplitude is 0, and the next most-likely-to-occur amplitude is 1. 3. A method as recited in claim 2, wherein the series is divided into more than two regions by the breakpoint and an additional breakpoint for each region in addition to the second region, the method further comprising: encoding the signals occurring in each additional regions defined by the corresponding additional breakpoint, the encoding using a coding method different from the coding methods used in other regions. 4. A method as recited in claim 2, wherein the third coding method includes encoding runlengths of consecutive zero-valued coefficients that end in an amplitude-1 coefficient using a third variable length runlength coding method, the method further comprising: identifying events that include runs of consecutive amplitude-zero coefficients in the second region that end in a single coefficient having an amplitude greater than 1; further using the third coding method together with an exception code to encode the identifying events that end in a coefficient having an amplitude greater than 1; encoding the signs of the non-zero-valued coefficients; encoding the amplitudes of the non-zero-valued coefficients in the first region; and encoding the amplitudes greater than 1 in the second region. 5. A method as recited in claim 2, wherein the breakpoint defines a soft boundary and has a pre-selected value. 6. A method as recited in claim 5, wherein the method is applicable to intraframe image data and to interframe blocks of image data, and wherein a first pre-selected breakpoint value is used for intraframe image data and a second first pre-selected breakpoint value is used for interframe image data. 7. A method as recited in claim 2, wherein the breakpoint defines the soft boundary between the first and second regions, such that for a block having a sequence of consecutive non-zero values or consecutive zero values that crosses the breakpoint, the boundary between the first and second region is at the end of the sequence such that the whole sequence is in the first region. 8. A method as recited in claim 2, further comprising the step of: forming fixed length codewords for at least some of the runlengths. 9. A method as recited in claim 8, wherein the first runlength coding method includes forming fixed length codewords for at least some of the runlengths in the first region. 10. A method as recited in claim 8, wherein the second runlength coding method includes forming fixed length codewords for at least some of the runlengths in the first region. 11. A method as recited in claim 8, wherein the third coding method includes forming fixed length codewords for at least some of the runlengths in the second region. 12. A method as recited in claim 8, wherein the runlengths for which the fixed codewords are formed are less likely to occur than the runlengths for which a variable length codeword is used, and wherein the fixed length codewords are at least as long as any variable length codeword. 13. A method as recited in claim 8, wherein each fixed length codeword includes an escape code. 14. A method as recited in claim 2, wherein the first coding method includes a codeword for the runlength of non-zero-values coefficients, and a set of codewords for the amplitudes and signs of the non-zero-valued coefficients in each run. 15. A method as recited in claim 2, wherein the codewords for the coefficients in the first region start with a codeword of the first coding method and alternate between the first coding method and the second coding method, and wherein one of the codewords of the first coding method is a particular codeword to indicate that the first run encountered is a run of zeroes such that a codeword of the second method follows the particular codeword of the first method. 16. A method as recited in claim 2, wherein codewords are also generated for the amplitudes and signs of each of the non-zero-valued coefficients of amplitude greater than 1 in the second region. 17. A method as recited in claim 2, wherein a first runlength code table, a second runlength code table, and a first amplitude code table are provided for coding information in the first region, wherein the first runlength code table is for storing a plurality of codewords for a set of runlengths of non-zero valued coefficients, the first table organized such that the more likely-to-occur runlengths have shorter codewords than the less likely-to-occur runlengths, wherein the second runlength code table is for storing a plurality of codewords for a set of runlengths of zero valued coefficients, the second table organized such that the more likely-to-occur runlengths have shorter codewords than the less likely-to-occur runlengths, wherein the first amplitude code table is for storing a plurality of codewords for the amplitudes of the coefficients in each runlength of non-zero-valued coefficients, wherein the step of forming a codeword for each runlength of non-zero valued coefficients includes looking up the first runlength code table, and further includes looking up the first amplitude code table for each non-zero coefficient in the runlength of non-zero coefficients, and wherein the step of forming a codeword for each runlength of zero valued coefficients in the first region includes looking up the second runlength code table. 18. A method as recited in claim 17, wherein a third runlength code table and a second amplitude code table are provided for coding information in the second region, wherein the third runlength code table is for storing a plurality of codewords for a set of runlengths of zero valued coefficients that end in an amplitude-one coefficient and that occur in the second region, the third table organized such that the more likely-to-occur runlengths have shorter codewords than the less likely-to-occur runlengths, wherein the second amplitude code table is for storing a plurality of codewords for the amplitudes greater than 1 of non-zero coefficients that occur in the second region, and wherein the step of forming a codeword for each runlength of zero valued coefficients that ends in a non-zero-valued coefficient in the second region includes looking up the third runlength code table. 19. A method as recited in claim 2, wherein the forming of codewords for each runlength is fixed based on assumed a priori likelihood of occurrence of the events. 20. A method as recited in claim 2, wherein the forming of codewords for each event is changeable according to actual statistical data collected from the series of digital values. 21. A method as recited in claim 2, further comprising: forming an indication for when all the remaining digital signals in the second region of the series have the zero amplitude. 22. A method as recited in claim 1, wherein the breakpoint value is the value selected from the finite set of pre-defined breakpoint-values. 23. A method as recited in claim 22, wherein the breakpoint defines a hard boundary between the first and second regions. 24. A method for processing an ordered series of digital signals that each have an amplitude from a finite set of amplitudes consisting of the most-likely-to-occur amplitude and at least one other amplitude, the processing to reduce the amount of data used to represent the digital signals and to form codewords such that the more likely to occur sequences of values of digital signals are represented by relatively short codewords and the less likely to occur sequences of values of digital signals are represented by relatively long codewords, the method comprising: for each run of consecutive signals of value or values other than the most-likely-to-occur value occurring in a first contiguous region defined by a breakpoint along the ordering of the series, encoding the runlength of the consecutive signals using a first runlength coding method, and forming a codeword that encodes the runlength using the first runlength coding method and further encodes the amplitudes and signs of each signals in the run, the breakpoint defining the first continuous region and a second contiguous region following the first contiguous region; for each run of consecutive signals of the most-likely-to-occur value occurring in the first region defined by the breakpoint, encoding the runlength of the consecutive signals of the most-likely-to-occur value using a second runlength coding method; and encoding the signals occurring in the second region defined by the breakpoint, the encoding using a second-region coding method, the second-region coding method including identifying events that include runs of consecutive signals of the most-likely-to-occur value in the second region that end in a single signal having other than the most-likely-to-occur value, and encoding said identified events in the second region using a third coding method, the encoding including indicating that the ending single signal has an amplitude other than the next most-likely-to-occur value to the most-likely-to-occur value, wherein the first, second, and third coding methods include variable length codes such that relatively short codewords are formed to represent sequences of values that are relatively more likely to occur, and relatively long codewords are formed to represent sequences of values that are relatively less likely to occur, wherein the method is applicable to interframe blocks of image data, and wherein a first pre-selected breakpoint value is used for interframe image data of a first kind, and a second pre-selected breakpoint value is used for interframe image data of a second kind. 25. A method as recited in claim 24, wherein the first kind of interframe coding is of a higher bit rate than the second kind of interframe coding. 26. A method of image compression comprising: dividing an image into blocks; and for each block: transforming the block to form transform coefficients for the block; quantizing the transform coefficients of the block; ordering the quantized coefficients of the block along a two-dimensional path to form an ordered series of quantized transform coefficients; forming events from the series of quantized transform coefficients, each event being a run of non-zero-valued coefficients in a first contiguous region defined by a breakpoint, a run of zero-valued coefficients in the first region, or a run of zero-valued coefficients in a second region defined by the breakpoint, the breakpoint defining the first region and a second continuous region in the series following the first region; forming a codeword for each runlength of non-zero-valued coefficients in the first region, the forming a codeword according to a first coding method; forming a codeword for each runlength of zero-valued coefficients in the first region, the forming a codeword according to a second coding method; and encoding the coefficient values in the second region according to a third coding method, the third coding method including identifying runs of zero-valued coefficients that end in a single non-zero-amplitude coefficient in the second region, such that relatively short codewords are formed to represent runlengths that are relatively more likely to occur, and relatively long codewords are formed to represent runlengths that are relatively less likely to occur, wherein: the breakpoint value is selected from a finite set of pre-defined breakpoint values according to which of the breakpoints of the set produces the shortest number of bits, or the breakpoint defines a soft boundary between the first and second regions, such that for a block having a sequence of consecutive values all being zero or all being non-zero crosses the breakpoint, the boundary between the first and second region is at the end of the sequence such that the whole sequence is in the first region. 27. A method as recited in claim 26, wherein the third coding method includes encoding runlengths of consecutive zero-valued coefficients that end in non-zero-valued coefficient using a third variable length runlength coding method, encoding that a runlength of consecutive zero-valued coefficients ends in a coefficient having an amplitude greater than one, and further encoding the amplitudes and signs of non-zero-valued coefficients that have amplitude greater than one. 28. A method as recited in claim 26, wherein the breakpoint defines a soft boundary and has a pre-selected value. 29. A method as recited in claim 28, wherein the method is to interframe blocks of image data. 30. A method as recited in claim 26, wherein the breakpoint value is the value selected from the finite set of pre-defined breakpoint values. 31. A method as recited in claim 26, wherein the breakpoint value is selcted from the finite set of pre-defined breakpoint values according to an image-dependent criterion, and wherein the breakpoint defines a hard boundary between the first and second regions. 32. A method as recited in claim 26, wherein the breakpoint defines the soft boundary between the first and second regions, such that for a block having a sequence of consecutive non-zero values or consecutive zero values that crosses the breakpoint, the boundary between the first and second region is at the end of the sequence such that the whole sequence is in the first region. 33. A method as recited in claim 26, further comprising the step of: forming fixed length codewords for at least some of the runlengths. 34. A method as recited in claim 33, wherein the first runlength coding method includes forming fixed length codewords for at least some of the runlengths in the first region. 35. A method as recited in claim 33, wherein the second coding method includes forming fixed length codewords for at least some of the runlengths in the first region. 36. A method as recited in claim 33, wherein the third coding method includes forming fixed length codewords for at least some of the runlengths in the second region. 37. A method as recited in claim 33, wherein the runlengths for which the fixed codewords are formed are less likely to occur than the runlengths for which a variable length codeword is used, and wherein the fixed length codewords are at least as long as any variable length codeword. 38. A method as recited in claim 33, wherein each fixed length codeword includes an escape code. 39. A method as recited in claim 26, wherein the first coding method includes a codeword for the runlength of non-zero-values coefficients, and a set of codewords for the amplitudes and signs of the non-zero-valued coefficients in each run. 40. A method as recited in claim 26, wherein the codewords for the coefficients in the first region start with a codeword of the first coding method and alternate between the first coding method and the second coding method, and wherein one of the codewords of the first coding method is a particular codeword to indicate that the first run encountered is a run of zeroes such that a codeword of the second method follows the particular codeword of the first method. 41. A method as recited in claim 26, wherein a first runlength code table, a second runlength code table, and a first amplitude code table are provided for coding information in the first region, wherein the first runlength code table is for storing a plurality of codewords for a set of runlengths of non-zero valued coefficients, the first table organized such that the more likely-to-occur runlengths have shorter codewords than the less likely-to-occur runlengths, wherein the second runlength code table is for storing a plurality of codewords for a set of runlengths of zero valued coefficients, the second table organized such that the more likely-to-occur runlengths have shorter codewords than the less likely-to-occur runlengths, wherein the first amplitude code table is for storing a plurality of codewords for the amplitudes of the coefficients in each runlength of non-zero-valued coefficients, wherein the step of forming a codeword for each runlength of non-zero valued coefficients includes looking up the first runlength code table, and further includes looking up the first amplitude code table for each non-zero coefficient in the runlength of non-zero coefficients, and wherein the step of forming a codeword for each runlength of zero valued coefficients in the first region includes looking up the second runlength code table. 42. A method as recited in claim 41, wherein wherein a third runlength code table and a second amplitude code table are provided for coding information in the second region, wherein the third runlength code table is for storing a plurality of codewords for a set of runlengths of zero valued coefficients that end in a non-zero-amplitude coefficient that occur in the second region, with a codeword indicating that the non-zero-amplitude coefficient that follows the runlength is greater than 1, the third table organized such that the more likely-to-occur runlengths have shorter codewords than the less likely-to-occur runlengths, wherein the second amplitude code table is for storing a plurality of codewords for the amplitudes of non-zero coefficients that are greater than 1 and that occur in the second region, and wherein the step of forming a codeword for each runlength of zero valued coefficients that ends in a non-zero-amplitude coefficient in the second region includes looking up the third runlength code table. 43. A method as recited in claim 26, wherein the forming of codewords for each runlength is fixed based on assumed a priori likelihood of occurrence of the events. 44. A method as recited in claim 26, wherein the forming of codewords for each event is changeable according to actual statistical data collected from the series of digital values. 45. A method as recited in claim 26, further comprising: forming an indication for when all the remaining digital signals in the second region of the series have the zero amplitude. 46. An apparatus to encode an ordered series of quantized coefficients of a transform of a block of image data, the transform such that 0 is the most likely coefficient applitude and 1 is the next most likely coefficient amplitude, the apparatus comprising: means for forming non-zero-amplitude events in a first contiguous region of the series of quantized transform coefficients, the first region defined by a breakpoint defining a first and a second contiguous regions region following the first region, each non-zero-amplitude event defined by the runlength of a run of non-zero-valued coefficients and by the values of the non-zero coefficients; means for forming zero-amplitude events in the first region of the series of quantized transform coefficients, each zero-amplitude event defined by the runlength of zero-valued coefficients; means for forming a codeword for each formed non-zero-amplitude event according to a first runlength coding method and codewords for the non-zero amplitudes in the event according to a first amplitude coding method; means for forming a codeword for each formed zero-amplitude event in the first region according to a second runlength coding method and a first amplitude coding method; means for forming events of consecutive zero-amplitudes that end in a single non-zero amplitude from the second region of the series of quantized transform coefficients; means for forming a codeword for each formed consecutive zero-amplitudes ending in a non-zero-amplitude event in the second region according to a third runlength coding method, including forming a codeword to indicate that the single non-zero amplitude is greater than 1; and means for forming a codeword for each non-zero amplitude greater than 1 in the second region according to a second amplitude coding method, such that relatively short codewords are formed to represent events that are relatively more likely to occur, and relatively long codewords are formed to represent events that are relatively less likely to occur, wherein: the breakpoint value is selected from a finite set of pre-defined breakpoint values according to which of the breakpoints of the set produces the shortest number of bits, or the breakpoint defines a soft boundary between the first and second regions, such that for a block having a sequence of consecutive values all being zero or all being non-zero crosses the breakpoint, the boundary between the first and second region is at the end of the sequence such that the whole sequence is in the first region. 47. An apparatus as recited in claim 46, wherein the means for forming the codeword includes: means for storing a table for each of the first, second, and third runlength coding methods, and for storing a table for the first and second amplitude coding methods; and means for looking up each of the tables according to the coding method. 48. An apparatus as recited in claim 46, wherein at least one of the means for forming codewords forms fixed length codewords for at least some of the events. 49. An apparatus as recited in claim 48, wherein each fixed length codeword includes an escape code. 50. An apparatus to encode an ordered series of quantized coefficients comprising: an event recognizer to recognize runs of consecutive zero-amplitude coefficients and runs of consecutive non-zero-amplitude coefficients in a first contiguous region of the series defined by a breakpoint in the ordering, the breakpoint defining the first contiguous and a second contiguous region following the first region in the series, the event recognizer further to recognize runs of consecutive zero-amplitude coefficients that end in a non-zero amplitude coefficient in the second region, the recognizer forming the runlengths of the zero and non-zero amplitudes in the first region, the non-zero amplitudes in the non-zero runs in the first region, the runlengths of zero-amplitudes ending in a non-zero-amplitude in the second region, and the non-zero amplitudes in the second region; and an encoder coupled to the event recognizer, the encoder accepting and forming a codeword for each of the runlengths of non-zero-amplitudes in the first region, for each of the runlengths of zero-amplitudes in the first region, for each of the non-zero amplitudes in the first region, and further encoding the runlengths of zero-amplitudes that end in a non-zero-amplitude coefficient in the second region, including a codeword to indicate that that non-zero amplitude is greater than 1, and the non-zero amplitude greater than 1 in the second region, such that the apparatus forms relatively short codewords to represent combinations that are relatively more likely to occur, and relatively long codewords to represent combinations that are relatively less likely to occur, wherein: the breakpoint value is selected froma finite set of pre-defined breakpoint values according to which of the breakpoints of the set produces the shortest number of bits, or the breakpoint defines a soft boundary between the first and second regions, such that for the block having a sequence of consecutive values all being zero or all being non-zero crosses the breakpoint, the boundary between the first and second region is at the end of the sequence such that the sholw sequence is in the first region. 51. An apparatus as defined in claim 50, wherein the encoder is a lookup device coupled to the event recognizer and determining the codeword for at least some of the events by looking up tables of codewords for recognized events, the tables stored in a memory. 52. An apparatus as recited in claim 50, wherein the encoder forms fixed length codewords for at least some of the events. 53. An apparatus as recited in claim 52, wherein each fixed length codeword includes an escape code. 54. An apparatus as recited in claim 50, wherein the event recognizer further forms an indication for when all the remaining coefficients in the series have amplitude 0. 55. A method to decode a bitstream in order to form a series of quantized coefficients of a transform of a block of image data, the transform such that 0 is the most likely coefficient amplitude and 1 is the next most likely coefficient amplitude, the bitstream encoded by a method that includes: recognizing events in a first contiguous region of the series defined by a breakpoint in the ordering, the breakpoint defining the first contiguous and a second contiguous region following the first region in the series, the events including runs of consecutive zero-amplitude coefficients and runs of consecutive non-zero-amplitude coefficients in the first region, the recognizing including forming runlengths of recognized runs; recognizing events that are runs of consecutive zero-amplitude coefficients that end in a single non-zero-amplitude in the second region; the recognizing including forming runlengths of recognized runs and an indication of the exception of the ending non-zero-valued coefficient having an amplitude other than 1; and forming a codeword for each of the runlengths of non-zero-amplitudes in the first region using a first runlength coding method, for each of the runlengths of zero-amplitudes in the first region using a second runlength coding method, for each of the non-zero amplitudes in the first region using a first amplitude coding method, and further forming codewords for the runlengths of zero-amplitudes that end in a non-zero-amplitude coefficient in the second region, with a codeword to indicate that the ending non-zero-amplitude is greater than 1 and a codeword for the non-zero amplitude greater than 1 in the second region, such that the encoding method forms relatively short codewords to represent combinations that are relatively more likely to occur, and relatively long codewords to represent combinations that are relatively less likely to occur, the decoding method comprising: recognizing a codeword; determining the event represented by the recognized codeword; and determining the sub-series of coefficients of each determined event, until all coefficients in the series are determined, wherein: the breakpoint value is selected from a finite set of pre-defined breakpoint values according to which of the breakpoints of the set produces the shortest number of bits, or the breakpoint defines a soft boundary between the first and second regions, such that for a block having a sequence of consecutive values all being zero or all being non-zero crosses the breakpoint, the boundary between the first and second region is at the end of the sequence such that the whole sequence is in the first region. 56. A method as recited in claim 55, wherein a first coding table is provided containing a plurality of codewords for at least some of the runlengths of non-zero-valued coefficients in the first region, wherein a second coding table is provided containing a plurality of codewords for at least some of the runlengths of zero-valued coefficients in the first region, and wherein the determining of the event for a recognized codeword includes looking up the first or the second table. 57. A method as recited in claim 55, wherein the encoding method is such that fixed length codewords are used to represent a subset of the events. 58. A method as recited in claim 57, wherein each fixed length codeword includes an escape code. 59. An apparatus to decode a bitstream encoded by a coding method, the apparatus comprising: a codeword recognizer to accept the bits of the bitstream and recognize a codeword of a set of possible codewords that each represent an event; and a decoder coupled to the codeword recognizer to determine the event for the codeword recognized by the codeword recognizer, wherein each event that is coded by a set of codewords in the bitstream in a first region defined by a breakpoint is a run of non-zero-valued coefficients coded by a first runlength coding method and a first amplitude coding method, or a run of non-zero-valued coefficients coded by a second runlength coding method, and wherein each event coded in a second region defined by the breakpoint is a run of none or more zero-valued coefficients that end in a non-zero-valued coefficient coded by a third runlength method, including a codeword to indicate that the ending non-zero-amplitude coefficient has amplitude greater than 1 and a codeword for the non-zero amplitude greater than 1, the amplitude greater than 1 coded by a second amplitude coding method, the breakpoint defining the first region of contiguous coefficients and the second region following the first region, the first, second, and third coding methods being such that relatively short codewords in the bitstream represent events that are relatively more likely to occur, and relatively long codewords represent events that are relatively less likely to occur, wherein: the breakpoint value is selected from a finite set of pre-defined breakpoint values according to which of the breakpoints of the set produces the shortest number of bits, or the breakpoint defines a soft boundary between the first and second regions, such that for a block having a sequence of consecutive values all being zero or all being non-zero crosses the breakpoint, the boundary between the first and second region is at the end of the sequence such that the whole sequence is in the first region. 60. An apparatus as recited in claim 59, wherein the decoder is a lookup device that looks up a table stored in a memory, the table providing the event for at least some of the codewords of the set of codewords. 61. An apparatus as recited in claim 59, wherein fixed length codewords are used to represent a subset of the events that are represented by codewords in the bitstream. 62. An apparatus as recited in claim 61, wherein each fixed length codeword includes an escape code. 63. A computer readable medium having instructions coded thereon that when executed by at least one processor cause execution of a method to encode an ordered series of quantized coefficients, at least one of the at least one processor including a memory configured to store a data structure, the method comprising: forming codewords for a set of events formed from an ordered series of quantized transform coefficients of a block of image data, wherein the data structure provides the codewords for the set of events formed from the ordered series of quantized transform coefficients, such that the forming of the codewords includes looking up the data structure, wherein an event of the first kind in a first region defined by a breakpoint is a run of non-zero-valued coefficients, an event of the second kind in the first region defined by the breakpoint is a run of zero-valued coefficients, and an event of the third kind in a second region defined by the breakpoint is a run of zero-valued coefficients that ends in a non-zero-valued coefficient in the second region, with an indication of the non-zero-valued coefficient being other than 1, wherein the breakpoint defines a first region of contiguous coefficients of the series, and an immediately following second region of contiguous coefficients, such that relatively short codewords in the data structure stored in the memory represent events that are relatively more likely to occur, and relatively long codewords represent events that are relatively less likely to occur, and wherein: the breakpoint value is selected from a finite set of pre-defined breakpoint values according to which of the breakpoints of the set produces the shortest number of bits, or the breakpoint defines a soft boundary between the first and second regions, such that for a block having a sequence of consecutive values all being zero or all being non-zero crosses the breakpoint the boundary between the first and second region is at the end of the sequence such that the whole sequence is in the first region. 64. A computer readable medium as recited in claim 63, wherein the data structure is in the form of at least three tables including a first runlength table providing the codeword for the runlength of events of the first kind, a second runlength table providing the codeword for the runlength of events of the second kind, and a third runlength table providing the codeword for the runlength of events of the third kind. 65. A method of encoding an ordered series of quantized coefficients of a transform of a block of image data, the method comprising: providing a breakpoint to define a first contiguous region of more than one coefficient along the ordering of the series followed by a second continuous region; encoding the ordered sub-series of quantized coefficients in the first region, including using a first variable length coding method; and encoding the ordered sub-series of quantized coefficients in the second region, including using a second variable length coding method, wherein the first and second variable length coding methods are such that the encoding of at least some of the coefficients in the first region is different than the encoding of at least some of the coefficients in the second region, and wherein: the breakpoint value is selected from a finite set of pre-defined breakpoint values according to which of the breakpoints of the produces the shortest number of bits or the breakpoint defines a soft boundary between the first and second region, such that for a block having a sequence of consecutive values all being zero or all being non-zero crosses the breakpoint, the boundary between the first and second region is at the end of the sequence such that the whole sequence is in the first region.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (89)
Bist Anurag, Adaptive entropy coding in adaptive quantization framework for video signal coding systems and processes.
Park Ju-ha (Suwon KRX) Jeon Byeung-woo (Sungnam KRX) Jeong Jechang (Seoul KRX), Apparatus for variable-length coding and variable-length-decoding using a plurality of Huffman coding tables.
Hong Min-suk (Suwon KRX) Kim Yong-kyu (Seoul KRX) Park Ku-man (Seoul KRX), Digital image compression and decompression method and apparatus using variable-length coding.
Boon Choong Seng,JPX, Image coding and decoding methods, image coding and decoding apparatuses, and recording media for image coding and decoding programs.
Choong Seng Boon JP, Image coding and decoding methods, image coding and decoding apparatuses, and recording media for image coding and decoding programs.
Hatori Yoshinori (Kanagawa JPX) Koga Toshio (Tokyo JPX) Matsuda Kiichi (Kanagawa JPX) Mukawa Naoki (Kanagawa JPX), Image coding system coding digital image signals by forming a histogram of a coefficient signal sequence to estimate an.
Honma Hideo,JPX ; Ishikawa Hisashi,JPX ; Miyake Nobutaka,JPX ; Nagashima Yoshitake,JPX ; Saito Takashi,JPX, Method and apparatus for compressing and storing data indicative of a full-color image.
Azadegan Faramarz (Brookfield CT) Fisch Eberhard H. (Yonkers NY) Cavallerano Alan P. (Ossining NY) Tsinberg Mikhail (Riverdale NY), Method and apparatus for digitally processing a high definition television augmentation signal.
Azadegan Faramarz (Ossining NY) Fisch Eberhard H. (Yonkers NY), Method and apparatus for digitally processing a high definition television augmentation signal.
Chu Ke-Chiang (Saratoga CA) Normile James O. (Sunnyvale CA) Yeh Chia L. (Saratoga CA) Wright Daniel W. (Sunnyvale CA), Variable length decoding using lookup tables.
Toyoyama Shinji,JPX, Variable-length coding device and method using table that holds information on presence/absence of code correspondingly to region represented by combination of run data and level data.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.