Video compression using multiple variable length coding processes for multiple classes of transform coefficient blocks
AssigneeCisco Technology, Inc.
InventorsWen-hsiung Chen, Fang Wu, Gregory D. Pelton, John A. Toebes
Life of this patent
Estimating the term…
Abstract
A method and apparatus to variable length code an ordered series of quantized transform coefficients of an image block. The method classifies the series into one of a plurality of classes. Each class has a corresponding coding process that is applicable to the statistical distribution of the coefficients in the series. The series is coded according to the particular corresponding coding process of the class of the classifying.
Claims95
A method for processing, using hardware that may include one or more processors, the processing being of an ordered series of digital signals that each have a value including 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 values or sequences of values of digital signals are represented by relatively short codewords and the less likely to occur values or sequences of values of digital signals are represented by relatively long codewords, the method comprising:
- classifying the series into a particular class of a plurality of classes according to the distribution of amplitudes of the digital signals, each class having a corresponding coding process of forming the codewords for the series;
- for the particular class of the series, applying the coding process corresponding to the class to form a set of codewords of the series;
- and
- adding an indication to the formed codewords to indicate the particular class,
- such that relatively short codewords are formed to represent values or sequences of values that are relatively more likely to occur, and relatively long codewords are formed to represent values or sequences of values that are relatively less likely to occur,
- wherein the one or more amplitudes other than the most-likely-to-occur amplitude include a next-to-most-likely-to-occur amplitude, and
- wherein at least one of the classes has a corresponding method selected from the group of methods consisting of a first corresponding method, a second corresponding method, a third corresponding method, a fourth corresponding method, a fifth corresponding method, and a sixth corresponding method,
- the first corresponding method including:
- identifying runs of digital signals having amplitude other than the most-likely-to-occur amplitude and runs of digital signals having the most-likely-to-occur amplitude;
- encoding the lengths of the runs of digital signals having amplitude other than the most-likely-to-occur amplitude using a first runlength coding method that provides variable length codes for at least some of the runlengths;
- encoding the amplitudes in the runs of digital signals having amplitude other than the most-likely-to-occur amplitude using a first amplitude coding method;
- encoding the lengths of the runs of digital signals having amplitude other than the most-likely-to-occur amplitude using a second runlength coding method that provides variable length codes for at least some of the runlengths,
- the second corresponding method including:
- identifying runs of digital signals having the next-to-most-likely-to-occur amplitude and runs of digital signals having the most-likely-to-occur amplitude;
- identifying any digital signal not having the most likely-to-occur amplitude and not having the next-to-most-likely-to-occur amplitude, and encoding the amplitude of such digital signal not having the most likely-to-occur amplitude and not having the next-to-most-likely-to-occur amplitude using a second amplitude coding method;
- and
- encoding the signs of the digital signals not having the most likely-to-occur amplitude and not having the next-to-most-likely-to-occur amplitude,
- the third corresponding method including:
- identifying runs of digital signals having amplitude other than the most-likely-to-occur amplitude and runs of digital signals having the most-likely-to-occur amplitude, including identifying any digital signals not having the most likely-to-occur amplitude and not having the next-to-most-likely-to-occur amplitude;
- encoding the existence of any digital signal not having the most likely-to-occur amplitude and not having the next-to-most-likely-to-occur amplitude in any run of digital signals having amplitude other than the most-likely-to-occur amplitude by an exception code, and further encoding amplitudes of digital signals not having the most likely-to-occur amplitude and not having the next-to-most-likely-to-occur amplitude using a third amplitude coding method;
- and
- encoding the signs of digital signals not having the most likely-to-occur amplitude and not having the next-to-most-likely-to-occur amplitude,
- the fourth corresponding method including:
- identifying events of a run of consecutive digital signals having the most-likely-to-occur amplitude followed by a single digital signal having other than the most-likely-to-occur amplitude, including events of a run of no digital signals having the most-likely-to-occur amplitude followed by a single digital signal having other than the most-likely-to-occur amplitude, the identifying including identifying events in which the ending digital signal has other than the most-likely-to-occur amplitude and other than the next-to-most-likely-to-occur amplitude;
- for identified events in which the ending digital signal that has other than the most-likely-to-occur amplitude following the run of digital signals having the most-likely-to-occur amplitude has the next-to-most-likely-to-occur amplitude, encoding the events using a variable length runlength coding method that provides variable length codes for at least some of the identified events;
- and
- for identified events in which the digital signal having other than the most-likely-to-occur amplitude following the run of digital signals having the most-likely-to-occur amplitude has amplitude other than the next-to-most-likely-to-occur amplitude, encoding each event using the variable length runlength coding method and an exception code to identify the event as an exception and further encoding the amplitude of the digital signal not having the most-likely-to-occur amplitude or the next-to-most-likely-to-occur amplitude using a fourth amplitude coding method,
- the fifth corresponding method including:
- providing a breakpoint to defining a first contiguous region along the ordering of the series followed by a second continuous region, wherein the breakpoint defines a soft boundary between the first and second regions, such that in the case a sequence of consecutive digital signals all having an amplitude equal to the most-likely-to-occur amplitude, or all having amplitude other than most-likely-to-occur amplitude crosses the breakpoint, the boundary between the first and second region is at or after the end of the sequence such that the any identified event that starts in the first region is in the first region;
- encoding the digital signals of the first region using a first region encoding method;
- and
- encoding the digital signals in the second region using a second region encoding method,
- wherein the first region encoding method and the second region encoding method are such that the encoding of at least some of the digital signals in the first region is different than the encoding of at least some of the digital signals in the second region.
- the sixth corresponding method including:
- providing a breakpoint to defining a first contiguous region along the ordering of the series followed by a second continuous region;
- encoding the digital signals of the first region using a first region encoding method;
- and
- encoding the digital signals in the second region using a second region encoding method,
- wherein the first region encoding method includes:
- identifying runs of digital signals having other than the most-likely-to-occur amplitude in the first region and runs of digital signals having the most-likely-to-occur amplitude in the first region;
- encoding the lengths of the runs of digital signals having other than the most-likely-to-occur amplitude in the first region using a first runlength coding method that provides variable length codes for at least some of the runlengths;
- encoding the amplitudes in the runs of digital signals having other than the most-likely-to-occur amplitude in the first region using a fifth amplitude coding method;
- and
- encoding the lengths of the runs of digital signals having other than the most-likely-to-occur amplitude in the first region using a second runlength coding method that provides variable length codes for at least some of the runlengths.
- wherein the second region coding method includes:
- identifying events of a run of consecutive digital signals having the most-likely-to-occur amplitude in the second region followed by a single digital signal having other than the most-likely-to-occur amplitude in the second region, including an event of a run of no digital signals having the most-likely-to-occur amplitude followed by a single digital signal having other than the most-likely-to-occur amplitude, the identifying including identifying events in which the ending digital signal having other than the most-likely-to-occur amplitude has an amplitude other than the next-to-most-likely-to-occur amplitude;
- for identified events in which the digital signal having other than the most-likely-to-occur amplitude following the run of digital signals having the most-likely-to-occur amplitude has the next-to-most-likely-to-occur amplitude, encoding the events using a fifth variable length runlength coding method;
- for identified events in which the digital signal following the run of digital signals having the most-likely-to-occur amplitude has amplitude other than the most-likely-to-occur amplitude and other than the next-to-most-likely-to-occur amplitude, encoding each event using the third variable length runlength coding method and an exception code to identify the event as an exception and further encoding the amplitude of the digital signal other than the most-likely-to-occur amplitude and other than the next-to-most-likely-to-occur amplitude using a sixth amplitude coding method;
- and
- encoding the sign of the digital signal having other than the most-likely-to-occur amplitude and other than the next-to-most-likely-to-occur amplitude that follows each identified run digital signals having the most-likely-to-occur amplitude in the second region, including the case of no preceding digital signals having the most-likely-to-occur amplitude.
A method for processing, using hardware that may include one or more processors, the processing being of an ordered series of digital signals that each have a value including 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 values or sequences of values of digital signals are represented by relatively short codewords and the less likely to occur values or sequences of values of digital signals are represented by relatively long codewords, the method comprising:
- classifying the series into a particular class of a plurality of classes according to the distribution of amplitudes of the digital signals, each class having a corresponding coding process of forming the codewords for the series;
- for the particular class of the series, applying the coding process corresponding to the class to form a set of codewords of the series;
- and
- adding an indication to the formed codewords to indicate the particular class,
- such that relatively short codewords are formed to represent values or sequences of values that are relatively more likely to occur, and relatively long codewords are formed to represent values or sequences of values that are relatively less likely to occur,
- 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,
- wherein there are at least four classes for any type of image, and
- wherein the classes include:
- a first class of series wherein non-zero-valued coefficients along the ordering of the coefficients are of non-zero values, including a significant number that are not ±1, and wherein the non-zero valued coefficients are clustered throughout the ordering such that there is no clear breakpoint along the path of the ordering of the coefficients to identify a first region in which non-zero-valued coefficients are clustered and a second region in which the non-zero-valued coefficients are scattered;
- a second class of series wherein a significant number of non-zero-valued coefficients along the ordering of the coefficients are of non-zero-valued values, including a significant number that are not 1, and wherein there is a breakpoint along the path of the ordering of the coefficients to identify a first region in which the non-zero valued coefficients are substantially clustered and a second in which the non-zero valued coefficients are scattered;
- a third class of series wherein any non-zero-valued coefficients along the ordering of the coefficients are essentially dominated by coefficients that are ±1, and wherein there is a breakpoint along the path of the ordering of the coefficients to identify a first region in which these non-zero valued coefficients are substantially clustered and a second region in which these non-zero valued coefficients are scattered;
- and
- a fourth class of series wherein any non-zero-valued coefficients along the ordering of the coefficients are essentially dominated by coefficients that are ±1 and wherein the non-zero valued coefficients are scattered throughout the ordering such that there is no clear breakpoint along the path of the ordering of the coefficients to identify a first region in which non-zero-valued coefficients are clustered and a second region in which these non-zero valued coefficients are scattered.
A method for processing, using hardware that may include one or more processors, the processing being of an ordered series of digital signals that each have a value including 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 values or sequences of values of digital signals are represented by relatively short codewords and the less likely to occur values or sequences of values of digital signals are represented by relatively long codewords, the method comprising:
- classifying the series into a particular class of a plurality of classes according to the distribution of amplitudes of the digital signals, each class having a corresponding coding process of forming the codewords for the series;
- for the particular class of the series, applying the coding process corresponding to the class to form a set of codewords of the series;
- and
- adding an indication to the formed codewords to indicate the particular class,
- such that relatively short codewords are formed to represent values or sequences of values that are relatively more likely to occur, and relatively long codewords are formed to represent values or sequences of values that are relatively less likely to occur,
- 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, and
- wherein one of the classes has a corresponding method that includes:
- identifying runs of non-zero-valued coefficients and runs of zero-valued coefficients;
- encoding the lengths of the runs of zero-valued coefficients using a first runlength coding method that provides variable length codes for at least some of the runlengths;
- encoding the amplitudes in the runs of non-zero-valued coefficients using a first amplitude coding method;
- and
- encoding the lengths of the runs of non-zero-valued coefficients using a second runlength coding method that provides variable length codes for at least some of the runlengths.
A method for processing, using hardware that may include one or more processors, the processing being of an ordered series of digital signals that each have a value including 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 values or sequences of values of digital signals are represented by relatively short codewords and the less likely to occur values or sequences of values of digital signals are represented by relatively long codewords, the method comprising:
- classifying the series into a particular class of a plurality of classes according to the distribution of amplitudes of the digital signals, each class having a corresponding coding process of forming the codewords for the series;
- for the particular class of the series, applying the coding process corresponding to the class to form a set of codewords of the series;
- and
- adding an indication to the formed codewords to indicate the particular class,
- such that relatively short codewords are formed to represent values or sequences of values that are relatively more likely to occur, and relatively long codewords are formed to represent values or sequences of values that are relatively less likely to occur,
- 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, and
- wherein one of the classes has a corresponding method that includes:
- identifying runs of amplitude-1 coefficients and runs of zero-valued coefficients;
- encoding the lengths of the runs of amplitude-1 coefficients using a first runlength coding method that provides variable length codes for at least some of the runlengths;
- encoding the signs of the amplitude-1 coefficients;
- identifying any non-zero-valued coefficient of amplitude other than one and encoding the amplitude's non-zero-valued non-amplitude-1 coefficient using an amplitude coding method;
- encoding the signs of the non-amplitude-1 non-zero-valued coefficients;
- and
- encoding the lengths of the runs of non-zero-valued coefficients using a second runlength coding method that provides variable length codes for at least some of the runlengths.
A method for processing for processing, using hardware that may include one or more processors, the processing being of an ordered series of digital signals that each have a value including 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 values or sequences of values of digital signals are represented by relatively short codewords and the less likely to occur values or sequences of values of digital signals are represented by relatively long codewords, the method comprising:
- classifying the series into a particular class of a plurality of classes according to the distribution of amplitudes of the digital signals, each class having a corresponding coding process of forming the codewords for the series;
- for the particular class of the series, applying the coding process corresponding to the class to form a set of codewords of the series;
- and
- adding an indication to the formed codewords to indicate the particular class,
- such that relatively short codewords are formed to represent values or sequences of values that are relatively more likely to occur, and relatively long codewords are formed to represent values or sequences of values that are relatively less likely to occur,
- 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, and
- wherein one of the classes has a corresponding method that includes:
- identifying runs of non-zero-valued coefficients and runs of zero-valued coefficients, including identifying any non-amplitude-1 non-zero-valued coefficients;
- encoding the lengths of the runs of zero-valued coefficients using a first runlength coding method that provides variable length codes for at least some of the runlengths;
- encoding the signs of the non-zero-valued coefficients;
- encoding the existence of any non-amplitude-1 non-zero-valued coefficient in any run of non-zero-valued coefficients by an exception code, and further encoding amplitudes of non-zero-valued non-amplitude-1 coefficients using an amplitude coding method;
- encoding the signs of the non-amplitude-1 non-zero-valued coefficients;
- and
- encoding the lengths of the runs of non-zero-valued coefficients using a second runlength coding method that provides variable length codes for at least some of the runlengths.
A method for processing for processing, using hardware that may include one or more processors, the processing being of an ordered series of digital signals that each have a value including 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 values or sequences of values of digital signals are represented by relatively short codewords and the less likely to occur values or sequences of values of digital signals are represented by relatively long codewords, the method comprising:
- classifying the series into a particular class of a plurality of classes according to the distribution of amplitudes of the digital signals, each class having a corresponding coding process of forming the codewords for the series;
- for the particular class of the series, applying the coding process corresponding to the class to form a set of codewords of the series;
- and
- adding an indication to the formed codewords to indicate the particular class,
- such that relatively short codewords are formed to represent values or sequences of values that are relatively more likely to occur, and relatively long codewords are formed to represent values or sequences of values that are relatively less likely to occur,
- 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, and
- wherein one of the classes has a corresponding method that includes:
- identifying events of a run of consecutive zero-valued coefficients followed by a single non-zero-valued coefficient, including events of a run of no zero-valued coefficients followed by a single non-zero-valued coefficient, the identifying including identifying events in which the ending non-zero-valued coefficient has an amplitude other than 1;
- for identified events in which the non-zero-valued coefficient following the run of zero-valued coefficients has amplitude 1, encoding the events using a variable length runlength coding method that provides variable length codes for at least some of the events;
- and
- for identified events in which the non-zero-valued coefficient following the run of zero-valued coefficients has amplitude other than 1, encoding each event using the variable length runlength coding method and an exception code to identify the event as an exception and further encoding the amplitude of the non-amplitude-1 coefficient using an amplitude coding method.
A method for processing for processing, using hardware that may include one or more processors, the processing being of an ordered series of digital signals that each have a value including 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 values or sequences of values of digital signals are represented by relatively short codewords and the less likely to occur values or sequences of values of digital signals are represented by relatively long codewords, the method comprising:
- classifying the series into a particular class of a plurality of classes according to the distribution of amplitudes of the digital signals, each class having a corresponding coding process of forming the codewords for the series;
- for the particular class of the series, applying the coding process corresponding to the class to form a set of codewords of the series;
- and
- adding an indication to the formed codewords to indicate the particular class,
- such that relatively short codewords are formed to represent values or sequences of values that are relatively more likely to occur, and relatively long codewords are formed to represent values or sequences of values that are relatively less likely to occur,
- 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, and
- wherein a particular one of the classes has a corresponding method that includes:
- providing a breakpoint to defining a first contiguous region along the ordering of the series followed by a second continuous region;
- encoding the coefficients of the first region using a first region encoding method;
- and
- encoding the coefficients in the second region using a second region encoding method,
- wherein the first region encoding method and the second region encoding method 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, wherein the breakpoint defines a 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 or after the end of the sequence such that the whole sequence or any identified event that starts in the first region is in the first region.
A method for processing, using hardware that may include one or more processors, the processing being of an ordered series of digital signals that each have a value including 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 values or sequences of values of digital signals are represented by relatively short codewords and the less likely to occur values or sequences of values of digital signals are represented by relatively long codewords, the method comprising:
- classifying the series into a particular class of a plurality of classes according to the distribution of amplitudes of the digital signals, each class having a corresponding coding process of forming the codewords for the series;
- for the particular class of the series, applying the coding process corresponding to the class to form a set of codewords of the series;
- and
- adding an indication to the formed codewords to indicate the particular class,
- such that relatively short codewords are formed to represent values or sequences of values that are relatively more likely to occur, and relatively long codewords are formed to represent values or sequences of values that are relatively less likely to occur,
- 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, and
- wherein a particular one of the classes has a corresponding method that includes:
- providing a breakpoint to defining a first contiguous region along the ordering of the series followed by a second continuous region;
- encoding the coefficients of the first region using a first region encoding method;
- and
- encoding the coefficients in the second region using a second region encoding method,
- wherein the first region encoding method and the second region encoding method 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,
- wherein the first region encoding method includes:
- identifying runs of non-zero-valued coefficients in the first region and runs of zero-valued coefficients in the first region;
- encoding the lengths of the runs of non-zero-valued coefficients in the first region using a first runlength coding method that provides variable length codes for at least some of the runlengths;
- encoding the amplitudes in the runs of non-zero-valued coefficients in the first region using a first amplitude coding method;
- and
- encoding the lengths of the runs of non-zero-valued coefficients in the first region using a second runlength coding method that provides variable length codes for at least some of the runlengths, and
- wherein the second region coding method includes:
- identifying events of a run of consecutive zero-valued coefficients in the second region followed by a single non-zero-valued coefficient in the second region, including an event of a run of no zero-valued coefficients followed by a single non-zero-valued coefficient, the identifying including identifying events in which the ending non-zero-valued coefficient has an amplitude other than 1;
- for identified events in which the non-zero-valued coefficient following the run of zero-valued coefficients has amplitude 1, encoding the events using a third variable length runlength coding method;
- for identified events in which the non-zero-valued coefficient following the run of zero-valued coefficients has amplitude other than 1, encoding each event using the third variable length runlength coding method and an exception code to identify the event as an exception and further encoding the amplitude of the non-amplitude-1 coefficient using a second amplitude coding method;
- and
- encoding the sign of the non-zero-valued coefficient that ends each identified event in the second region.
A, computer readable medium having a computer program coded thereon that when executed by one or more processors cause carrying out a method for processing an ordered series of digital signals that each have a value including an amplitude from a finite set of amplitudes consisting of the most-likely-to-occur amplitude and at least one other amplitude, the computer readable medium being a hardware storage medium, 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 values or sequences of values of digital signals are represented by relatively short codewords and the less likely to occur values or sequences of values of digital signals are represented by relatively long codewords, the method comprising:
- classifying the series into a particular class of a plurality of classes according to the distribution of amplitudes of the digital signals, each class having a corresponding coding process of forming the codewords for the series;
- for the particular class of the series, applying the coding process corresponding to the class to form a set of codewords of the series;
- and
- adding an indication to the formed codewords to indicate the particular class,
- such that relatively short codewords are formed to represent values or sequences of values that are relatively more likely to occur, and relatively long codewords are formed to represent values or sequences of values that are relatively less likely to occur,
- wherein the one or more amplitudes other than the most-likely-to-occur amplitude include a next-to-most-likely-to-occur amplitude, and wherein at least one of the classes has a corresponding method selected from the set of methods consisting of a first method, a second method, a third method, a fourth method, a fifth method, and a sixth method,
- the first method including:
- identifying runs of digital signals having amplitude other than the most-likely-to-occur amplitude and runs of digital signals having the most-likely-to-occur amplitude;
- encoding the lengths of the runs of digital signals having amplitude other than the most-likely-to-occur amplitude using a first runlength coding method that provides variable length codes for at least some of the runlengths;
- encoding the amplitudes in the runs of digital signals having amplitude other than the most-likely-to-occur amplitude using a first amplitude coding method;
- encoding the lengths of the runs of digital signals having amplitude other than the most-likely-to-occur amplitude using a second runlength coding method that provides variable length codes for at least some of the runlengths,
- the second method including:
- identifying runs of digital signals having the next-to-most-likely-to-occur amplitude and runs of digital signals having the most-likely-to-occur amplitude;
- identifying any digital signal not having the most likely-to-occur amplitude and not having the next-to-most-likely-to-occur amplitude, and encoding the amplitude of such digital signal not having the most likely-to-occur amplitude and not having the next-to-most-likely-to-occur amplitude using a second amplitude coding method;
- and
- encoding the signs of the digital signals not having the most likely-to-occur amplitude and not having the next-to-most-likely-to-occur amplitude,
- the third method including:
- identifying runs of digital signals having amplitude other than the most-likely-to-occur amplitude and runs of digital signals having the most-likely-to-occur amplitude, including identifying any digital signals not having the most likely-to-occur amplitude and not having the next-to-most-likely-to-occur amplitude;
- encoding the existence of any digital signal not having the most likely-to-occur amplitude and not having the next-to-most-likely-to-occur amplitude in any run of digital signals having amplitude other than the most-likely-to-occur amplitude by an exception code, and further encoding amplitudes of digital signals not having the most likely-to-occur amplitude and not having the next-to-most-likely-to-occur amplitude using a third amplitude coding method;
- and
- encoding the signs of digital signals not having the most likely-to-occur amplitude and not having the next-to-most-likely-to-occur amplitude,
- the fourth method including:
- identifying events of a run of consecutive digital signals having the most-likely-to-occur amplitude followed by a single digital signal having other than the most-likely-to-occur amplitude, including events of a run of no digital signals having the most-likely-to-occur amplitude followed by a single digital signal having other than the most-likely-to-occur amplitude, the identifying including identifying events in which the ending digital signal has other than the most-likely-to-occur amplitude and other than the next-to-most-likely-to-occur amplitude;
- for identified events in which the ending digital signal that has other than the most-likely-to-occur amplitude following the run of digital signals having the most-likely-to-occur amplitude has the next-to-most-likely-to-occur amplitude, encoding the events using a variable length runlength coding method that provides variable length codes for at least some of the identified events;
- and
- for identified events in which the digital signal having other than the most-likely-to-occur amplitude following the run of digital signals having the most-likely-to-occur amplitude has amplitude other than the next-to-most-likely-to-occur amplitude, encoding each event using the variable length runlength coding method and an exception code to identify the event as an exception and further encoding the amplitude of the digital signal not having the most-likely-to-occur amplitude or the next-to-most-likely-to-occur amplitude using a fourth amplitude coding method,
- the fifth method including:
- providing a breakpoint to defining a first contiguous region along the ordering of the series followed by a second continuous region, wherein the breakpoint defines a soft boundary between the first and second regions, such that in the case a sequence of consecutive digital signals all having an amplitude equal the most-likely-to-occur amplitude, or all having amplitude other than most-likely-to-occur amplitude crosses the breakpoint, the boundary between the first and second region is at or after the end of the sequence such that the any identified event that starts in the first region is in the first region;
- encoding the digital signals of the first region using a first region encoding method;
- and
- encoding the digital signals in the second region using a second region encoding method,
- wherein the first region encoding method and the second region encoding method are such that the encoding of at least some of the digital signals in the first region is different than the encoding of at least some of the digital signals in the second region.
- the sixth method including:
- providing a breakpoint to defining a first contiguous region along the ordering of the series followed by a second continuous region;
- encoding the digital signals of the first region using a first region encoding method;
- and
- encoding the digital signals in the second region using a second region encoding method,
- wherein the first region encoding method includes:
- identifying runs of digital signals having other than the most-likely-to-occur amplitude in the first region and runs of digital signals having the most-likely-to-occur amplitude in the first region;
- encoding the lengths of the runs of digital signals having other than the most-likely-to-occur amplitude in the first region using a first runlength coding method that provides variable length codes for at least some of the runlengths;
- encoding the amplitudes in the runs of digital signals having other than the most-likely-to-occur amplitude in the first region using a fifth amplitude coding method;
- and
- encoding the lengths of the runs of digital signals having other than the most-likely-to-occur amplitude in the first region using a second runlength coding method that provides variable length codes for at least some of the runlengths.
- wherein the second region coding method includes:
- identifying events of a run of consecutive digital signals having the most-likely-to-occur amplitude in the second region followed by a single digital signal having other than the most-likely-to-occur amplitude in the second region, including an event of a run of no digital signals having the most-likely-to-occur amplitude followed by a single digital signal having other than the most-likely-to-occur amplitude, the identifying including identifying events in which the ending digital signal having other than the most-likely-to-occur amplitude has an amplitude other than the next-to-most-likely-to-occur amplitude;
- for identified events in which the digital signal having other than the most-likely-to-occur amplitude following the run of digital signals having the most-likely-to-occur amplitude has the next-to-most-likely-to-occur amplitude, encoding the events using a fifth variable length runlength coding method;
- for identified events in which the digital signal following the run of digital signals having the most-likely-to-occur amplitude has amplitude other than the most-likely-to-occur amplitude and other than the next-to-most-likely-to-occur amplitude, encoding each event using the third variable length runlength coding method and an exception code to identify the event as an exception and further encoding the amplitude of the digital signal other than the most-likely-to-occur amplitude and other than the next-to-most-likely-to-occur amplitude using a sixth amplitude coding method;
- and
- encoding the sign of the digital signal having other than the most-likely-to-occur amplitude and other than the next-to-most-likely-to-occur amplitude that follows each identified run digital signals having the most-likely-to-occur amplitude in the second region, including the case of no preceding digital signals having the most-likely-to-occur amplitude.
A computer readable medium having a computer program coded thereon that when executed by one or more processors cause carrying out a method for processing an ordered series of digital signals that each have a value including an amplitude from a finite set of amplitudes consisting of the most-likely-to-occur amplitude and at least one other amplitude, the computer readable medium being a hardware storage medium, 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 values or sequences of values of digital signals are represented by relatively short codewords and the less likely to occur values or sequences of values of digital signals are represented by relatively long codewords, the method comprising:
- classifying the series into a particular class of a plurality of classes according to the distribution of amplitudes of the digital signals, each class having a corresponding coding process of forming the codewords for the series;
- for the particular class of the series, applying the coding process corresponding to the class to form a set of codewords of the series;
- and
- adding an indication to the formed codewords to indicate the particular class,
- such that relatively short codewords are formed to represent values or sequences of values that are relatively more likely to occur, and relatively long codewords are formed to represent values or sequences of values that are relatively less likely to occur,
- 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, and
- wherein one of the classes has a corresponding coding process that includes:
- identifying runs of non-zero-valued coefficients and runs of zero-valued coefficients;
- encoding the lengths of the runs of zero-valued coefficients using a first runlength coding method that provides variable length codes for at least some of the runlengths;
- encoding the amplitudes in the runs of non-zero-valued coefficients using a first amplitude coding method;
- encoding the signs of the non-zero-valued coefficients;
- and
- encoding the lengths of the runs of non-zero-valued coefficients using a second runlength coding method that provides variable length codes for at least some of the runlengths.
A computer readable medium having a computer program coded thereon that when executed by one or more processors cause carrying out a method for processing an ordered series of digital signals that each have a value including an amplitude from a finite set of amplitudes consisting of the most-likely-to-occur amplitude and at least one other amplitude, the computer readable medium being a hardware storage medium, 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 values or sequences of values of digital signals are represented by relatively short codewords and the less likely to occur values or sequences of values of digital signals are represented by relatively long codewords, the method comprising:
- classifying the series into a particular class of a plurality of classes according to the distribution of amplitudes of the digital signals, each class having a corresponding coding process of forming the codewords for the series;
- for the particular class of the series, applying the coding process corresponding to the class to form a set of codewords of the series;
- and
- adding an indication to the formed codewords to indicate the particular class,
- such that relatively short codewords are formed to represent values or sequences of values that are relatively more likely to occur, and relatively long codewords are formed to represent values or sequences of values that are relatively less likely to occur,
- 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, and
- wherein one of the classes has a corresponding coding process that includes:
- identifying events of a run of consecutive zero-valued coefficients followed by a single non-zero-valued coefficient, including events of a run of no zero-valued coefficients followed by a single non-zero-valued coefficient, the identifying including identifying events in which the ending non-zero-valued coefficient has an amplitude other than 1;
- for identified events in which the non-zero-valued coefficient following the run of zero-valued coefficients has amplitude 1, encoding the events using a variable length runlength coding method that provides variable length codes for at least some of the events;
- for identified events in which the non-zero-valued coefficient following the run of zero-valued coefficients has amplitude other than 1, encoding each event using the variable length runlength coding method and an exception code to identify the event as an exception and further encoding the amplitude of the non-amplitude-1 coefficient using an amplitude coding method;
- and encoding the signs of the non-zero-valued non-amplitude-1 coefficients.
A computer readable medium having a computer program coded thereon that when executed by one or more processors cause carrying out a method for processing an ordered series of digital signals that each have a value including an amplitude from a finite set of amplitudes consisting of the most-likely-to-occur amplitude and at least one other amplitude, the computer readable medium being a hardware storage medium, 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 values or sequences of values of digital signals are represented by relatively short codewords and the less likely to occur values or sequences of values of digital signals are represented by relatively long codewords, the method comprising:
- classifying the series into a particular class of a plurality of classes according to the distribution of amplitudes of the digital signals, each class having a corresponding coding process of forming the codewords for the series;
- for the particular class of the series, applying the coding process corresponding to the class to form a set of codewords of the series;
- and
- adding an indication to the formed codewords to indicate the particular class,
- such that relatively short codewords are formed to represent values or sequences of values that are relatively more likely to occur, and relatively long codewords are formed to represent values or sequences of values that are relatively less likely to occur,
- 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,
- wherein a particular one of the classes has a corresponding coding process that includes:
- providing a breakpoint to defining a first contiguous region along the ordering of the series followed by a second continuous region,
- encoding the coefficients of the first region using a first region encoding method;
- and
- encoding the coefficients in the second region using a second region encoding method,
- wherein the first region encoding method and the second region encoding method 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 defines a 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 or after the end of the sequence such that the whole sequence or any event that starts in the first region is in the first region.
An apparatus for processing an ordered series of digital signals that each have a value including 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 values or sequences of values of digital signals are represented by relatively short codewords and the less likely to occur values or sequences of values of digital signals are represented by relatively long codewords, the apparatus comprising:
- means for classifying the series into a particular class of a plurality of classes according to the distribution of amplitudes of the digital signals, each class having a corresponding coding process of forming the codewords for the series;
- means for applying, for the particular class of the series, the coding process corresponding to the particular class to form a set of codewords of the series;
- and
- means for adding an indication to the formed codewords to indicate the particular class,
- such that relatively short codewords are formed to represent values or sequences of values that are relatively more likely to occur, and relatively long codewords are formed to represent values or sequences of values that are relatively less likely to occur.
- wherein the one or more amplitudes other than the most-likely-to-occur amplitude include a next-to-most-likely-to-occur amplitude, and
- wherein at least one of the classes has a corresponding method selected from the group of methods consisting of a first corresponding method, a second corresponding method, a third corresponding method, a fourth corresponding method, a fifth corresponding method, and a sixth corresponding method,
- the first corresponding method including:
- identifying runs of digital signals having amplitude other than the most-likely-to-occur amplitude and runs of digital signals having the most-likely-to-occur amplitude;
- encoding the lengths of the runs of digital signals having amplitude other than the most-likely-to-occur amplitude using a first runlength coding method that provides variable length codes for at least some of the runlengths;
- encoding the amplitudes in the runs of digital signals having amplitude other than the most-likely-to-occur amplitude using a first amplitude coding method;
- encoding the lengths of the runs of digital signals having amplitude other than the most-likely-to-occur amplitude using a second runlength coding method that provides variable length codes for at least some of the runlengths,
- the second corresponding method including:
- identifying runs of digital signals having the next-to-most-likely-to-occur amplitude and runs of digital signals having the most-likely-to-occur amplitude;
- identifying any digital signal not having the most likely-to-occur amplitude and not having the next-to-most-likely-to-occur amplitude, and encoding the amplitude of such digital signal not having the most likely-to-occur amplitude and not having the next-to-most-likely-to-occur amplitude using a second amplitude coding method;
- and
- encoding the signs of the digital signals not having the most likely-to-occur amplitude and not having the next-to-most-likely-to-occur amplitude, the third corresponding method including:
- identifying runs of digital signals having amplitude other than the most-likely-to-occur amplitude and runs of digital signals having the most-likely-to-occur amplitude, including identifying any digital signals not having the most likely-to-occur amplitude and not having the next-to-most-likely-to-occur amplitude;
- encoding the existence of any digital signal not having the most likely-to-occur amplitude and not having the next-to-most-likely-to-occur amplitude in any run of digital signals having amplitude other than the most-likely-to-occur amplitude by an exception code, and further encoding amplitudes of digital signals not having the most likely-to-occur amplitude and not having the next-to-most-likely-to-occur amplitude using a third amplitude coding method;
- and
- encoding the signs of digital signals not having the most likely-to-occur amplitude and not having the next-to-most-likely-to-occur amplitude,
- the fourth corresponding method including:
- identifying events of a run of consecutive digital signals having the most-likely-to-occur amplitude followed by a single digital signal having other than the most-likely-to-occur amplitude, including events of a run of no digital signals having the most-likely-to-occur amplitude followed by a single digital signal having other than the most-likely-to-occur occur amplitude, the identifying including identifying events in which the ending digital signal has other than the most-likely-to-occur amplitude and other than the next-to-most-likely-to-occur amplitude;
- for identified events in which the ending digital signal that has other than the most-likely-to-occur amplitude following the run of digital signals having the most-likely-to-occur amplitude has the next-to-most-likely-to-occur likely-to-occur amplitude, encoding the events using a variable length runlength coding method that provides variable length codes for at least some of the identified events;
- and
- for identified events in which the digital signal having other than the most-likely-to-occur amplitude following the run of digital signals having the most-likely-to-occur amplitude has amplitude other than the next-to-most-likely-to-occur amplitude, encoding each event using the variable length runlength coding method and an exception code to identify the event as an exception and further encoding the amplitude of the digital signal not having the most-likely-to-occur amplitude or the next-to-most-likely-to-occur amplitude using a fourth amplitude coding method,
- the fifth corresponding method including:
- providing a breakpoint to defining a first contiguous region along the ordering of the series followed by a second continuous region, wherein the breakpoint defines a soft boundary between the first and second regions, such that in the case a sequence of consecutive digital signals all having an amplitude equal to the most-likely-to-occur amplitude, or all having amplitude other than most-likely-to-occur amplitude crosses the breakpoint, the boundary between the first and second region is at or after the end of the sequence such that the any identified event that starts in the first region is in the first region;
- encoding the digital signals of the first region using a first region encoding method;
- and
- encoding the digital signals in the second region using a second region encoding method,
- wherein the first region encoding method and the second region encoding method are such that the encoding of at least some of the digital signals in the first region is different than the encoding of at least some of the digital signals in the second region.
- the sixth corresponding method including:
- providing a breakpoint to defining a first contiguous region along the ordering of the series followed by a second continuous region;
- encoding the digital signals of the first region using a first region encoding method;
- and
- encoding the digital signals in the second region using a second region encoding method,
- wherein the first region encoding method includes:
- identifying runs of digital signals having other than the most-likely-to-occur amplitude in the first region and runs of digital signals having the most-likely-to-occur amplitude in the first region;
- encoding the lengths of the runs of digital signals having other than the most-likely-to-occur amplitude in the first region using a first runlength coding method that provides variable length codes for at least some of the runlengths;
- encoding the amplitudes in the runs of digital signals having other than the most-likely-to-occur amplitude in the first region using a fifth amplitude coding method;
- and
- encoding the lengths of the runs of digital signals having other than the most-likely-to-occur amplitude in the first region using a second runlength coding method that provides variable length codes for at least some of the runlengths.
- wherein the second region coding method includes:
- identifying events of a run of consecutive digital signals having the most-likely-to-occur amplitude in the second region followed by a single digital signal having other than the most-likely-to-occur amplitude in the second region, including an event of a run of no digital signals having the most-likely-to-occur amplitude followed by a single digital signal having other than the most-likely-to-occur amplitude, the identifying including identifying events in which the ending digital signal having other than the most-likely-to-occur amplitude has an amplitude other than the next-to-most-likely-to-occur amplitude;
- for identified events in which the digital signal having other than the most-likely-to-occur amplitude following the run of digital signals having the most-likely-to-occur amplitude has the next-to-most-likely-to-occur amplitude, encoding the events using a fifth variable length runlength coding method;
- for identified events in which the digital signal following the run of digital signals having the most-likely-to-occur amplitude has amplitude other than the most-likely-to-occur amplitude and other than the next-to-most-likely-to-occur amplitude, encoding each event using the third variable length runlength coding method and an exception code to identify the event as an exception and further encoding the amplitude of the digital signal other than the most-likely-to-occur amplitude and other than the next-to-most-likely-to-occur amplitude using a sixth amplitude coding method;
- and
- encoding the sign of the digital signal having other than the most-likely-to-occur amplitude and other than the next-to-most-likely-to-occur amplitude that follows each identified run digital signals having the most-likely-to-occur amplitude in the second region, including the case of no preceding digital signals having the most-likely-to-occur amplitude.
An apparatus for processing an ordered series of digital signals that each have a value including 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 values or sequences of values of digital signals are represented by relatively short codewords and the less likely to occur values or sequences of values of digital signals are represented by relatively long codewords, the apparatus comprising:
- means for classifying the series into a particular class of a plurality of classes according to the distribution of amplitudes of the digital signals, each class having a corresponding coding process of forming the codewords for the series;
- means for applying, for the particular class of the series, the coding process corresponding to the particular class to form a set of codewords of the series;
- and
- means for adding an indication to the formed codewords to indicate the particular class,
- such that relatively short codewords are formed to represent values or sequences of values that are relatively more likely to occur, and relatively long codewords are formed to represent values or sequences of values that are relatively less likely to occur,
- 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, and
- wherein one of the classes has a corresponding coding process that includes:
- identifying events of a run of consecutive zero-valued coefficients followed by a single non-zero-valued coefficient, including events of a run of no zero-valued coefficients followed by a single non-zero-valued coefficient, the identifying including identifying events in which the ending non-zero-valued coefficient has an amplitude other than 1;
- for identified events in which the non-zero-valued coefficient following the run of zero-valued coefficients has amplitude 1, encoding the events using a variable length runlength coding method that provides variable length codes for at least some of the events;
- for identified events in which the non-zero-valued coefficient following the run of zero-valued coefficients has amplitude other than 1, encoding each event using the variable length runlength coding method and an exception code to identify the event as an exception and further encoding the amplitude of the non-amplitude-1 coefficient using an amplitude coding method;
- and
- encoding the signs of the non-zero-valued non-amplitude-1 coefficients.
An apparatus for processing an ordered series of digital signals that each have a value including 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 values or sequences of values of digital signals are represented by relatively short codewords and the less likely to occur values or sequences of values of digital signals are represented by relatively long codewords, the apparatus comprising:
- means for classifying the series into a particular class of a plurality of classes according to the distribution of amplitudes of the digital signals, each class having a corresponding coding process of forming the codewords for the series;
- means for applying, for the particular class of the series, the coding process corresponding to the particular class to form a set of codewords of the series;
- and
- means for adding an indication to the formed codewords to indicate the particular class,
- such that relatively short codewords are formed to represent values or sequences of values that are relatively more likely to occur, and relatively long codewords are formed to represent values or sequences of values that are relatively less likely to occur,
- 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, and
- wherein one of the classes has a corresponding coding process that includes:
- identifying runs of non-zero-valued coefficients and runs of zero-valued coefficients;
- encoding the lengths of the runs of zero-valued coefficients using a first runlength coding method that provides variable length codes for at least some of the runlengths;
- encoding the amplitudes in the runs of non-zero-valued coefficients using a first amplitude coding method;
- encoding the signs of the non-zero-valued coefficients;
- and
- encoding the lengths of the runs of non-zero-valued coefficients using a second runlength coding method that provides variable length codes for at least some of the runlengths.
An apparatus for processing an ordered series of digital signals that each have a value including 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 values or sequences of values of digital signals are represented by relatively short codewords and the less likely to occur values or sequences of values of digital signals are represented by relatively long codewords, the apparatus comprising:
- means for classifying the series into a particular class of a plurality of classes according to the distribution of amplitudes of the digital signals, each class having a corresponding coding process of forming the codewords for the series;
- means for applying, for the particular class of the series, the coding process corresponding to the particular class to form a set of codewords of the series;
- and
- means for adding an indication to the formed codewords to indicate the particular class,
- such that relatively short codewords are formed to represent values or sequences of values that are relatively more likely to occur, and relatively long codewords are formed to represent values or sequences of values that are relatively less likely to occur,
- 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,
- wherein a particular one of the classes has a corresponding coding process that includes:
- providing a breakpoint to define a first contiguous region along the ordering of the series followed by a second continuous region;
- encoding the coefficients of the first region using a first region encoding method;
- and
- encoding the coefficients in the second region using a second region encoding method,
- wherein the first region encoding method and the second region encoding method 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 defines a 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 or after the end of the sequence such that the whole sequence or any event that starts in the first region is in the first region.
An apparatus including a processing system, the apparatus to accept an ordered series of digital signals that each have a value including an amplitude from a finite set of amplitudes consisting of the most-likely-to-occur amplitude and at least one other amplitude, the apparatus to perform a method for processing the ordered series to reduce the amount of data used to represent the digital signals and to form codewords such that the more likely to occur values or sequences of values of digital signals are represented by relatively short codewords and the less likely to occur values or sequences of values of digital signals are represented by relatively long codewords, the method for processing comprising:
- classifying the series into a particular class of a plurality of classes according to the distribution of amplitudes of the digital signals, each class having a corresponding coding process of forming the codewords for the series;
- for the particular class of the series, applying the coding process corresponding to the class to form a set of codewords of the series;
- and
- adding an indication to the formed codewords to indicate the particular class, such that relatively short codewords are formed to represent values or sequences of values that are relatively more likely to occur, and relatively long codewords are formed to represent values or sequences of values that are relatively less likely to occur,
- wherein the one or more amplitudes other than the most-likely-to-occur amplitude include a next-to-most-likely-to-occur amplitude, and wherein at least one of the classes has a corresponding method selected from the group of methods consisting of a first corresponding method, a second corresponding method, a third corresponding method, a fourth corresponding method, a fifth corresponding method, and a sixth corresponding method,
- the first corresponding method including:
- identifying runs of digital signals having amplitude other than the most-likely-to-occur amplitude and runs of digital signals having the most-likely-to-occur amplitude;
- encoding the lengths of the runs of digital signals having amplitude other than the most-likely-to-occur amplitude using a first runlength coding method that provides variable length codes for at least some of the runlengths;
- encoding the amplitudes in the runs of digital signals having amplitude other than the most-likely-to-occur amplitude using a first amplitude coding method;
- encoding the lengths of the runs of digital signals having amplitude other than the most-likely-to-occur amplitude using a second runlength coding method that provides variable length codes for at least some of the runlengths,
- the second corresponding method including:
- identifying runs of digital signals having the next-to-most-likely-to-occur amplitude and runs of digital signals having the most-likely-to-occur amplitude;
- identifying any digital signal not having the most likely-to-occur amplitude and not having the next-to-most-likely-to-occur amplitude, and encoding the amplitude of such digital signal not having the most likely-to-occur amplitude and not having the next-to-most-likely-to-occur amplitude using a second amplitude coding method;
- and
- encoding the signs of the digital signals not having the most likely-to-occur amplitude and not having the next-to-most-likely-to-occur amplitude,
- the third corresponding method including:
- identifying runs of digital signals having amplitude other than the most-likely-to-occur amplitude and runs of digital signals having the most-likely-to-occur amplitude, including identifying any digital signals not having the most likely-to-occur amplitude and not having the next-to-most-likely-to-occur amplitude;
- encoding the existence of any digital signal not having the most likely-to-occur amplitude and not having the next-to-most-likely-to-occur amplitude in any run of digital signals having amplitude other than the most-likely-to-occur amplitude by an exception code, and farther encoding amplitudes of digital signals not having the most likely-to-occur amplitude and not having the next-to-most-likely-to-occur amplitude using a third amplitude coding method;
- and
- encoding the signs of digital signals not having the most likely-to-occur amplitude and not having the next-to-most-likely-to-occur amplitude,
- the fourth corresponding method including:
- identifying events of a run of consecutive digital signals having the most-likely-to-occur amplitude followed by a single digital signal having other than the most-likely-to-occur amplitude, including events of a run of no digital signals having the most-likely-to-occur amplitude followed by a single digital signal having other than the most-likely-to-occur amplitude, the identifying including identifying events in which the ending digital signal has other than the most-likely-to-occur amplitude and other than the next-to-most-likely-to-occur amplitude;
- for identified events in which the ending digital signal that has other than the most-likely-to-occur amplitude following the run of digital signals having the most-likely-to-occur amplitude has the next-to-most-likely-to-occur amplitude, encoding the events using a variable length runlength coding method that provides variable length codes for at least some of the identified events;
- and
- for identified events in which the digital signal having other than the most-likely-to-occur amplitude following the run of digital signals having the most-likely-to-occur amplitude has amplitude other than the next-to-most-likely-to-occur amplitude, encoding each event using the variable length runlength coding method and an exception code to identify the event as an exception and farther encoding the amplitude of the digital signal not having the most-likely-to-occur amplitude or the next-to-most-likely-to-occur amplitude using a fourth amplitude coding method,
- the fifth corresponding method including:
- providing a breakpoint to defining a first contiguous region along the ordering of the series followed by a second continuous region, wherein the breakpoint defines a soft boundary between the first and second regions, such that in the case a sequence of consecutive digital signals all having an amplitude equal to the most-likely-to-occur amplitude, or all having amplitude other than most-likely-to-occur amplitude crosses the breakpoint, the boundary between the first and second region is at or after the end of the sequence such that the any identified event that staffs in the first region is in the first region;
- encoding the digital signals of the first region using a first region encoding method;
- and
- encoding the digital signals in the second region using a second region encoding method,
- wherein the first region encoding method and the second region encoding method are such that the encoding of at least some of the digital signals in the first region is different than the encoding of at least some of the digital signals in the second region.
- the sixth corresponding method including:
- providing a breakpoint to defining a first contiguous region along the ordering of the series followed by a second continuous region;
- encoding the digital signals of the first region using a first region encoding method;
- and encoding the digital signals in the second region using a second region encoding method,
- wherein the first region encoding method includes:
- identifying runs of digital signals having other than the most-likely-to-occur amplitude in the first region and runs of digital signals having the most-likely-to-occur amplitude in the first region;
- encoding the lengths of the runs of digital signals having other than the most-likely-to-occur amplitude in the first region using a first runlength coding method that provides variable length codes for at least some of the runlengths;
- encoding the amplitudes in the runs of digital signals having other than the most-likely-to-occur amplitude in the first region using a fifth amplitude coding method;
- and encoding the lengths of the runs of digital signals having other than the most-likely-to-occur amplitude in the first region using a second runlength coding method that provides variable length codes for at least some of the runlengths.
- wherein the second region coding method includes:
- identifying events of a run of consecutive digital signals having the most-likely-to-occur amplitude in the second region followed by a single digital signal having other than the most-likely-to-occur amplitude in the second region, including an event of a run of no digital signals having the most-likely-to-occur amplitude followed by a single digital signal having other than the most-likely-to-occur amplitude, the identifying including identifying events in which the ending digital signal having other than the most-likely-to-occur amplitude has an amplitude other than the next-to-most-likely-to-occur amplitude;
- for identified events in which the digital signal having other than the most-likely-to-occur amplitude following the run of digital signals having the most-likely-to-occur amplitude has the next-to-most-likely-to-occur occur amplitude, encoding the events using a fifth variable length runlength coding method;
- for identified events in which the digital signal following the run of digital signals having the most-likely-to-occur amplitude has amplitude other than the most-likely-to-occur amplitude and other than the next-to-most-likely-to-occur amplitude, encoding each event using the third variable length runlength coding method and an exception code to identify the event as an exception and further encoding the amplitude of the digital signal other than the most-likely-to-occur amplitude and other than the next-to-most-likely-to-occur amplitude using a sixth amplitude coding method;
- and
- encoding the sign of the digital signal having other than the most-likely-to-occur amplitude and other than the next-to-most-likely-to-occur amplitude that follows each identified run digital signals having the most-likely-to-occur amplitude in the second region, including the case of no preceding digital signals having the most-likely-to-occur amplitude.
Dependencies are inferred from the claim text.