System, method and article of manufacture for decompressing digital camera sensor data
DCFirst Claim
1. A method for decompressing a bit stream of compressed data representing a plurality of image portions, comprising:
- obtaining a plurality of bits of compressed input data from a bit stream;
executing a first AC decoding operation based on the obtained plurality of bits of compressed input data in order to generate first output data as a recommendation;
emitting the first output data if it is determined that the recommendation should be accepted; and
executing a second AC decoding operation in order to generate second output data if it is determined the recommendation should not be accepted.
7 Assignments
Litigations
0 Petitions
Accused Products
Abstract
The present invention includes a system, method, and article of manufacture for decompressing a bit stream of compressed data representing a plurality of image blocks. This includes a two-step method of processing both a DC code and a plurality of AC codes. With respect to the processing of the AC codes, a plurality of bits of compressed input data relating to the AC codes are first retrieved from the bit stream. A first decoding operation is then executed based on the obtained compressed input data in order to generate first output data. It is then determined whether sufficient space is available for the first output data. If it is determined that there is sufficient space for the first output data, the first output data is outputted. On the other hand, if it is determined that there is insufficient space for the first output data, an alternate second decoding operation is executed in order to generate second output data. In order to carry out the foregoing decoding operations, a data structure is provided in a look-up table for being employed by the AC decoder during use. Such data structure includes a plurality of data segments each having a payload and a pointer. The payload includes a plurality of bits in one of a plurality of coding schemes. Further, the pointer corresponds to a routine which is capable of processing the coding scheme of the payload associated with the pointer. The first decoding operation first includes the step of performing a look-up in the look-up table based on the obtained compressed input data. The pointer is then retrieved from one of the data segments that corresponds to the obtained compressed input data. Next, the routine corresponding to the retrieved pointer is executed. The payload is then processed in the executed routine in order to generate the first output data. The foregoing routine that processes the payload of the data segment in order to generate the first output data may take many forms.
16 Citations
38 Claims
-
1. A method for decompressing a bit stream of compressed data representing a plurality of image portions, comprising:
-
obtaining a plurality of bits of compressed input data from a bit stream;
executing a first AC decoding operation based on the obtained plurality of bits of compressed input data in order to generate first output data as a recommendation;
emitting the first output data if it is determined that the recommendation should be accepted; and
executing a second AC decoding operation in order to generate second output data if it is determined the recommendation should not be accepted. - View Dependent Claims (2, 3)
-
-
4. A method for decompressing a bit stream of compressed data representing a plurality of image portions, comprising:
-
obtaining a plurality of bits of compressed input data from a bit stream;
executing a first decoding operation based on the obtained compressed input data in order to generate first output data;
determining whether sufficient space is available for the first output data;
emitting the first output data if it is determined that there is sufficient space for the first output data; and
executing a second decoding operation in order to generate second output data if it is determined that there is insufficient space for the first output data;
wherein the second decoding operation includes;
performing a look-up in a look-up table based on the obtained compressed input data, wherein the look-up table includes a plurality of data segments each including the second output data therein;
zeroing out at least one bit of the compressed input data and performing another look-up if the look-up is unsuccessful;
retrieving the second output data from one of the data segments that corresponds to the obtained compressed input data; and
determining whether a current position is at an end of an image portion. - View Dependent Claims (5, 6, 7)
-
-
8. A computer program embodied on a computer readable medium for decompressing a bit stream of compressed data representing a plurality of image portions, the computer program comprising:
-
a code segment for obtaining a plurality of bits of compressed input data from a bit stream;
a code segment for executing a first AC decoding operation based on the obtained plurality of bits of compressed input data in order to generate first output data as a recommendation;
a code segment for emitting the first output data if it is determined that the recommendation should be accepted; and
a code segment for executing a second AC decoding operation in order to generate second output data if it is determined that the recommendation should not be accepted. - View Dependent Claims (9, 10)
-
-
11. A computer program embodied on a computer readable medium for decompressing a bit stream of compressed data representing a plurality of image portions, the computer program comprising:
-
a code segment for obtaining a plurality of bits of compressed input data from a bit stream;
a code segment for executing a first decoding operation based on the obtained compressed input data in order to generate first output data;
a code segment for determining whether sufficient space is available for the first output data;
a code segment for emitting the first output data if it is determined that there is sufficient space for the first output data; and
a code segment for executing a second decoding operation in order to generate second output data if it is determined that there is insufficient space for the first output data;
wherein the second decoding operation is carried out by;
a code segment for performing a look-up in a look-up table based on the obtained compressed input data, wherein the look-up table includes a plurality of data segments each including the second output data therein;
a code segment for zeroing out at least one bit of the compressed input data and performing another look-up if the look-up is unsuccessful;
a code segment for retrieving the second output data from one of the data segments that corresponds to the obtained compressed input data; and
a code segment for determining whether a current position is at an end of an image portion. - View Dependent Claims (12, 13, 14)
-
-
15. A method for decompressing a bit stream of compressed data representing a plurality of image portions, comprising:
-
obtaining a plurality of bits of compressed input data from a bit stream;
performing a look-up in a look-up table based on the obtained compressed input data, wherein the look-up table includes a plurality of data segments each having a payload including a plurality of bits in one of a plurality of coding schemes and a pointer corresponding to a routine which is capable of precessing the coding scheme of the payload associated with the pointer;
retrieving the pointer from one of the data segments that corresponds to the obtained compressed input data;
executing the routine corresponding to the retrieved pointer, wherein the execution of the routine includes;
extracting a pointer from the data segment;
looking up an n-byte output;
emitting the n-byte output; and
adding the n-byte output to a block position; and
processing the payload in the executed routine in order to generate output data.
-
-
16. A method for decompressing a bit stream of compressed data representing a plurality of image portions, comprising:
-
obtaining a plurality of bits of compressed input data from a bit stream, performing a look-up in a look-up table based on the obtained compressed input data, wherein the look-up table includes a plurality of data segments each having a payload including a plurality of bits in one of a plurality of coding schemes and a pointer corresponding to a routine which is capable of processing the coding scheme of the payload associated with the pointer;
retrieving the pointer from one of the data segments that corresponds to the obtained compressed input data;
executing the routine corresponding to the retrieved pointer; and
processing the payload in the executed routine in order to generate output data, wherein the execution of the routine includes;
extracting two components of data from the payload of the data segment;
injecting a constant adjacent to the components of the data from the payload;
injecting a number of zeros between the components of the data from the payload; and
adding the components of the data from the payload, the constant, and the zeros to a block position. - View Dependent Claims (17, 18, 19)
-
-
20. A method for decompressing a bit stream of compressed data representing a plurality of image portions, comprising:
-
obtaining a plurality of bits of compressed input data from a bit stream;
performing a look-up in a look-up table based on the obtained compressed input data, wherein the look-up table includes a plurality of data segments each having a payload including a plurality of bits in one of a plurality of coding schemes and a pointer corresponding to a routine which is capable of processing the coding scheme of the payload associated with the pointer;
retrieving the pointer from one of the data segments that corresponds to the obtained compressed input data;
executing the routine corresponding to the retrieved pointer; and
processing the payload in the executed routine in order to generate output data, wherein the execution of the routine includes;
extracting an auxiliary pointer from the payload of the data segment that corresponds to one of a plurality of auxiliary data segments in an auxiliary look-up table;
obtaining n bits; and
performing a look-up table jump.
-
-
21. A computer program embodied on a computer readable medium for decompressing a bit stream of compressed data representing a plurality of image portions, the computer program comprising:
-
a code segment for obtaining a plurality of bits of compressed input data from a bit stream;
a code segment for performing a look-up in a look-up table based on the obtained compressed input data, wherein the look-up table includes a plurality of data segments each having a payload including a plurality of bits in one of a plurality of coding schemes and a pointer corresponding to a routine which is capable of processing the coding scheme of the payload associated with the pointer;
a code segment for retrieving the pointer from one of the data segments that corresponds to the obtained compressed input data;
a code segment for executing the routine corresponding to the retrieved pointer, wherein the routine is carried out by;
a code segment for extracting a pointer from the data segment;
a code segment for looking up an n-byte output;
a code segment for emitting the n-byte output; and
a code segment for adding the n-byte output to a block position; and
a code segment for processing the payload in the executed routine in order to generate the output data.
-
-
22. A computer program embodied on a computer readable medium for decompressing a bit stream of compressed data representing a plurality of image portions, the computer program comprising:
-
a code segment for obtaining a plurality of bits of compressed input data from a bit stream;
a code segment for performing a look-up in a look-up table based on the obtained compressed input data, wherein the look-up table includes a plurality of data segments each having a payload including a plurality of bits in one of a plurality of coding schemes and a pointer corresponding to a routine which is capable of processing the coding scheme of the payload associated with the pointer;
a code segment for retrieving the pointer from one of the data segments that corresponds to the obtained compressed input data;
a code segment for executing the routine corresponding to the retrieved pointer; and
a code segment for processing the payload in the executed routine in order to generate the output data, wherein the routine is carried out by;
a code segment for extracting two components of data from the payload of the data segment;
a code segment for injecting a constant adjacent to the components of the data from the payload;
a code segment for injecting a number of zeros between the components of the data from the payload; and
a code segment for adding the components of the data from the payload, the constant, and the zeros to a block position. - View Dependent Claims (23, 24, 25)
-
-
26. A computer program embodied on a computer readable medium for decompressing a bit stream of compressed data representing a plurality of image portions, the computer program comprising:
-
a code segment for obtaining a plurality of bits of compressed input data from a bit stream;
a code segment for performing a look-up in a look-up table based on the obtained compressed input data, wherein the look-up table includes a plurality of data segments each having a payload including a plurality of bits in one of a plurality of coding schemes and a pointer corresponding to a routine which is capable of processing the coding scheme of the payload associated with the pointer;
a code segment for retrieving the pointer from one of the data segments that corresponds to the obtained compressed input data;
a code segment for executing the routine corresponding to the retrieved pointer; and
a code segment for processing the payload in the executed routine in order to by generate the output data, wherein the routine is carried out by;
a code segment for extracting an auxiliary pointer from the payload of the data segment that corresponds to one of a plurality of auxiliary data segments in an auxiliary lookup table;
a code segment for obtaining n bits; and
a code segment for performing a look-up table jump.
-
-
27. A method for decompressing a bit stream of compressed data representing a plurality of image portions, comprising:
-
obtaining a plurality of bits of compressed input data from a bit stream;
performing a look-up in a look-up table based on the obtained compressed input data, wherein the look-up table includes a plurality of data segments each including output data therein;
zeroing out at least one bit of the compressed input data and performing another lookup if the look-up is unsuccessful;
retrieving the output data from one of the data segments that corresponds to the obtained compressed input data; and
determining whether a current position is at an end of an image portion. - View Dependent Claims (28, 29, 30)
-
-
31. A computer program embodied on a computer readable medium for decompressing a bit stream of compressed data representing a plurality of image portions, the computer program comprising:
-
a code segment for obtaining a plurality of bits of compressed input data from a bit stream;
a code segment for performing a look-up in a look-up table based on the obtained compressed input data, wherein the look-up table includes a plurality of data segments each including output data therein;
a code segment for zeroing out at least one bit of the compressed input data and performing another look-up if the look-up is unsuccessful;
a code segment for retrieving the output data from one of the data segments that corresponds to the obtained compressed input data; and
a code segment for determining whether a current position is at an end of an image portion. - View Dependent Claims (32, 33, 34)
-
-
35. A method for decompressing a bit stream of compressed data representing a plurality of image portions, comprising:
-
extracting a plurality of coefficient components from a bit stream;
executing an inverse quantization operation on at least some of the coefficient components;
executing an inverse DCT operation on at least some of the coefficient components; and
inserting zeros between the coefficient components after executing the inverse quantization operation and the inverse DCT operation. - View Dependent Claims (36)
-
-
37. A computer program embodied on a computer readable medium for decompressing a bit stream of compressed data representing a plurality of image portions, comprising:
-
a code segment for extracting a plurality of coefficient components from a bit stream;
a code segment for executing an inverse quantization operation on at least some of the coefficient components;
a code segment for executing an inverse DCT operation on at least some of the coefficient components; and
a code segment for inserting zeros between the coefficient components after executing the inverse quantization operation and the inverse DCT operation. - View Dependent Claims (38)
-
Specification