METHOD AND APPARATUS FOR REALIZING ARITHMETIC CODING/DECODING
Uloženo v:
| Název: | METHOD AND APPARATUS FOR REALIZING ARITHMETIC CODING/DECODING |
|---|---|
| Document Number: | 20080240597 |
| Datum vydání: | October 2, 2008 |
| Appl. No: | 12/133222 |
| Application Filed: | June 04, 2008 |
| Abstrakt: | A method and apparatus for performing arithmetic encoding/decoding in an arithmetic encoder is disclosed. It comprises: firstly, when performing binary arithmetic encoding/decoding in the arithmetic encoder, an interval update process for arithmetic encoding/decoding to be performed in the original domain is mapped to the logarithm domain, and the interval update computation is implemented with direct add/subtract operations; during arithmetic encoding/decoding in the logarithm domain, data conversions between the original domain and the logarithm domain are performed by approximations; and after encoding/decoding a symbol, its probability is updated when necessary, the update being performed with add/subtract operations in the logarithm domain. It can be seen that with the arithmetic encoding/decoding solutions of the disclosure, the arithmetic encoding/decoding process and the probability estimation involved therein are mapped to the logarithm domain. Data conversions between the original domain and the logarithm domain are performed by means of approximation equations. Accordingly, complicated computations and table looking-up are avoided effectively. Therefore, the disclosure provides a simple, efficient and suitable solution for performing arithmetic encoding/decoding. |
| Inventors: | HE, Yun (Shenzhen, CN); YU, Wei (Shenzhen, CN); YANG, Ping (Shenzhen, CN); MENG, Xinjian (Shenzhen, CN) |
| Assignees: | HUAWEI TECHNOLOGIES CO., LTD. (Shenzhen, CN), TSINGHUA UNIVERSITY (Bejing, CN) |
| Claim: | 1. A method for performing arithmetic encoding, comprising: performing arithmetic encoding on data to be encoded; mapping an interval update computation in arithmetic encoding to be performed in the original domain into the logarithm domain and implementing the interval update computation with add/subtract operations, wherein data conversions between the original domain and the logarithm domain are performed by approximations; and performing arithmetic encoding according to the interval update computation result. |
| Claim: | 2. The method of claim 1, wherein for an encoding cycle, interval update is performed in the logarithm domain when encoding a most probable symbol, and data conversion is performed from the logarithm domain to the original domain and interval update is performed with subtractions in the original domain when encoding a least probable symbol. |
| Claim: | 3. The method of claim 1, wherein during data conversions between the logarithm domain and the original domain, for a data conversion from the logarithm domain to the original domain, a value X in the original domain is derived by shifting a parameter B by A bits to the left or to the right, or by dividing the parameter B by 2 raised to the power of A, and wherein the parameters A and B are computed by decomposing Log _X in the logarithm domain as Log _X=−A+B−1, where the parameter A is an integer, and the absolute value for the parameter B minus 1 is less than 1. |
| Claim: | 4. The method of claim 3, wherein the parameter B is further derived by correcting the parameter B with a first correcting parameter Al for approximation, the first correcting parameter Δ1 being determined by looking up a pre-stored table. |
| Claim: | 5. The method of claim 1, wherein during data conversions between the logarithm domain and the original domain, for a data conversion from the original domain to the logarithm domain, for a value X in the original domain, its corresponding value Log _X in the logarithm domain is equal to X-1, and, when the Log _X is computed, it is corrected with a second correcting parameter Δ2, where Δ2 is determined by looking up a pre-stored table. |
| Claim: | 6. The method of claim 1, wherein during the interval update computation, the method further comprises: selecting and performing different update processes for the probability values of symbols to be encoded, the update processes being performed in the logarithm domain. |
| Claim: | 7. The method of claim 6, wherein computing a probability in the logarithm domain corresponding to the updated probability comprises determining a new probability by: adding/subtracting a predetermined value to/from a non-updated probability in the logarithm domain; or shifting the non-updated probability in the logarithm domain by adding/subtracting the value, or dividing the non-updated probability by 2 raised to the power of an integer. |
| Claim: | 8. An apparatus for performing arithmetic encoding, comprising: a symbol encoding interval updating unit, configured to map an interval update computation in arithmetic encoding to be performed in the original domain into the logarithm domain and implement the interval update computation with add/subtract operations, and perform data conversions between the original domain and the logarithm domain by approximations; and an encoding operation unit, configured to perform arithmetic encoding with an interval update result computed by the symbol encoding interval updating unit. |
| Claim: | 9. The apparatus of claim 8, wherein the symbol encoding interval updating unit further comprises: a most probable symbol encoding interval updating unit, configured to perform interval update in the logarithm domain when encoding a most probable symbol; and a least probable symbol encoding interval updating unit, configured to convert data in the logarithm domain to the original domain and perform interval update by subtractions in the original domain when encoding a least probable symbol. |
| Claim: | 10. The apparatus of claim 9, wherein the least probable symbol encoding interval updating unit further comprises: a domain conversion unit, configured to perform a conversion from the logarithm domain to the original domain for the least probable symbol, a value X in the original domain being derived by shifting a parameter B in the logarithm domain by A bits to the left or to the right, or by dividing the parameter B by 2 raised to the power of A, where the parameters A and B are computed by decomposing Log _X in the logarithm domain as Log _X=−A+B−1, where the parameter A is an integer, and the absolute value for the parameter B minus 1 is less than 1; an interval updating unit, configured to perform interval update; a probability updating unit, configured to update the probability of a symbol; and a renormalization unit, configured to renormalize parameters of an interval update obtained by the interval updating unit. |
| Claim: | 11. The apparatus of claim 8, further comprising: an initialization unit, configured to initialize each variable to be used by a coder during encoding, for provision to the symbol encoding interval updating unit to use. |
| Claim: | 12. A method for performing arithmetic decoding, comprising: performing arithmetic decoding on data to be decoded; mapping an interval update computation for arithmetic decoding to be performed in the original domain into the logarithm domain and implementing the interval update computation with add/subtract operations, wherein data conversions between the original domain and the logarithm domain are performed by approximations; and performing arithmetic decoding according to the interval update computation result. |
| Claim: | 13. The method of claim 12, further comprising: computing a sub-interval corresponding to a most probable symbol according to a probability model of the decoded data, and determining whether the sub-interval is less than or equal to an offset of a bit stream pointer; wherein if the determination indicates that the sub-interval is less than or equal to the offset of the bit stream pointer, the decoded symbol is determined to be a least probable symbol, and both the sub-interval and the offset are updated, and if the determination indicates that the sub-interval is more than the offset of the bit stream pointer, the decoded symbol is determined to be a most probable symbol, and only the sub-interval is updated. |
| Claim: | 14. The method of claim 12, wherein during an interval update computation, the method further comprises: selecting and performing different up date processes for the probability values of symbols to be decoded, the update processes being done in the logarithm domain. |
| Claim: | 15. An apparatus for performing arithmetic decoding, comprising: a symbol decoding interval updating unit, configured to map an interval update computation to be performed for arithmetic decoding in the original domain into the logarithm domain and implement the interval update computation with add/subtract operations directly, and perform data conversions between the original domain and the logarithm domain by approximations; and a decoding operation unit, configured to perform arithmetic decoding with an interval update result computed by the symbol decoding interval updating unit. |
| Claim: | 16. The apparatus of claim 15, wherein the symbol decoding interval updating unit further comprises: a symbol determination unit, configured to compute a sub-interval corresponding to a most probable symbol according to a probability model of the currently decoded symbol, determine whether the sub-interval is less than or equal to an offset of a bit stream pointer and notify an interval updating unit of the determination result; and an interval updating unit, configured to update both the sub-interval and the offset if the determination result indicates that the sub-interval is less than or equal to the offset of the bit stream pointer, or only update the sub-interval if the determination result indicates that the sub-interval is more than the offset of the bit stream pointer. |
| Claim: | 17. The apparatus of claim 15, further comprising: a probability updating unit, configured to select and perform different update processes on the probability values of symbols to be decoded, the update processes being done in the logarithm domain. |
| Claim: | 18. The apparatus of claim 15, further comprising: an initialization unit, configured to initialize each variable to be used by a decoder during decoding, for provision to the symbol decoding interval updating unit to use. |
| Current U.S. Class: | 382/247 |
| Current International Class: | 06 |
| Přístupové číslo: | edspap.20080240597 |
| Databáze: | USPTO Patent Applications |
Buďte první, kdo okomentuje tento záznam!