Bit-error resistant arithmetic coding/decoding apparatus and method thereof
AssigneeSamsung Electronics Co., Ltd.
InventorsSung-hee Park, Yeon-bae Kim, Yang-seock Seo
Life of this patent
Estimating the term…
Abstract
Regarding compression/restoration of data using arithmetic coding, a bit-error resistant arithmetic coding/decoding apparatus in which a plurality of independent segments, instead of single segment of all-connected codes, are formed to reduce propagation of bit errors between symbols is provided. The apparatus gives advantages of resistance to bit error while maintaining compression efficiency similar to that of existing arithmetic encoding which only considers compression.
Claims11
A bit-error resistant arithmetic encoding apparatus for generating an encoded bit stream by compressing a plurality of input binary symbols, the arithmetic encoding apparatus comprising:
- a symbol distribution unit for dividing the plurality of input binary symbols into a plurality of segments and determining the length of a code stream corresponding to each divided segment;
- a first encoding unit for arithmetically encoding each of the symbols of a divided segment until the encoded length of the code stream is a predetermined length, for each divided segment;
- a symbol accumulation unit for accumulating binary symbols that are not encoded by the first encoding unit;
- a second encoding unit for generating a code stream by arithmetically encoding binary symbols stored in the symbol accumulation unit until the encoded length of a code stream is a predetermined length, for each divided segment in which the encoded length of the code stream is less than the predetermined length among the segments arithmetically encoded by the first encoding unit;
- and
- a code multiplexing unit for generating the encoded bit stream by multiplexing the plurality of code streams.
A bit-error resistant arithmetic decoding apparatus for generating a data stream of binary symbols by decoding arithmetically encoded code streams, the arithmetic decoding apparatus comprising:
- a code distribution unit for determining the length of a code stream corresponding to a plurality of segments, and dividing input code streams into a plurality of segments;
- a first decoding unit for arithmetically decoding the divided code stream until the decoded length of the code stream is a predetermined length, for each segment;
- a code accumulation unit for accumulating codes which are not decoded in the first decoding unit;
- a second decoding unit for generating a data stream by arithmetically decoding code streams stored in the code accumulation unit until the decoded length of a code stream is a predetermined length, for each divided segement in which the decoded length of the code stream is less than the predetermined length among the segments arithmetically decoded by the first decoding unit;
- and
- a symbol multiplexing unit for generating the data stream by multiplexing the plurality of binary symbols.
A bit-error resistant arithmetic encoding method for generating a code stream by compressing input binary symbols, the arithmetic encoding method comprising the steps of:
- (a) dividing input binary symbols into a plurality of segments and determining the length of a code stream corresponding to each divided segment;
- (b) arithmetically encoding as many divided binary symbols as the amount of the length, in bits, of a code stream corresponding to each segment, for each segment;
- (c) accumulating binary symbols which are not encoded in the step (b);
- (d) generating a plurality of code streams, by arithmetically encoding as many binary symbols accumulated in the step (c) as the length, in bits, of a code stream corresponding to each segment until the encoded length of the code stream is a predetermined length, among the segments arithmetic encoded in the step (b);
- and
- (e) generating a code stream by multiplexing the plurality of code streams.
A bit-error resistant arithmetic decoding method for generating a data stream of binary symbols by decoding arithmetically encoded code streams, the arithmetic decoding method comprising the steps of:
- (a) determining the length of a code stream corresponding to a plurality of segments, and dividing input code streams into a plurality of segments;
- (b) arithmetically decoding the divided code stream as much as the length of a code stream corresponding to each segment for each segment;
- (c) accumulating codes which are not decoded in the step (b);
- (d) generating a data stream of a plurality of binary symbols, by arithmetically decoding code streams accumulated in the step (c), as much as the amount of the length of a code stream corresponding to each segment, for each segment which is not decoded as much as the length of a code stream corresponding to the segment, among the segments arithmetic decoded in the step (b);
- and
- (e) generating a data stream of binary symbols by multiplexing the plurality of binary symbols.
A computer readable recording medium having a bit-error resistant arithmetic encoding program for generating code streams by compressing input binary symbols, the arithmetic encoding program comprising:
- a first arithmetic encoding module for arithmetically encoding symbols of each segment independently, having an initialization module for initializing state variables, which are required in the arithmetic encoding of each segment;
- a first symbol encoding module for arithmetic encoding symbols input in units of a segment using the state variables initialized by the initialization module in the unit of the segment, until the estimated length of a cumulative code stream which accumulates the estimated length of each symbol becomes equal to the length of a code stream corresponding to the segment, or until binary symbols allotted to a segment are all encoded;
- and a state variable storage module for temporarily storing state variables from the first symbol encoding module which ends arithmetic encoding in the unit of segment;
- and
- a second arithmetic encoding module for sequentially arithmetic encoding each segment, having a state variable restoration module for restoring state variables stored in the state variable storage module;
- a second symbol encoding module for encoding binary symbols that are not encoded in the first arithmetic encoding module until the estimated length of a cumulative code stream restored by the state variable restoration module becomes equal to the length of a code stream corresponding to the segment;
- and an arithmetic encoding finishing module for generating a code stream of the corresponding segment by determining the number of bits to be additionally output.
A computer readable recording medium having a bit-error resistant arithmetic decoding program for generating data stream of binary symbols by decoding arthmetic encoded code streams, the arithmetic decoding program comprising:
- a first arithmetic decoding module for arithmetic decoding codes of each segment independently, having an initialization module for initializing state variables which are required in arithmetic decoding of each segment;
- a binary-0 addition module for adding binary a predetermined number of “0”s to a code stream allotted to each segment;
- a first code decoding module for arithmetic decoding code streams input in the unit of segment using the state variables initialized by the initialization module in the unit of segment, until the estimated length of a cumulative code stream which accumulates the estimated length of each code becomes equal to the length of a code stream corresponding to the segment, or until codes allotted to a segment are all decoded;
- and a state variable storage module for temporarily storing state variables from the first code decoding module which ends arithmetic decoding in the unit of segment;
- and
- a second arithmetic decoding module for sequentially arithmetic decoding each segment, having a state variable restoration module for restoring state variables stored in the state variable storage module;
- and (b2) a second code decoding module for decoding binary codes which are not decoded in the first arithmetic decoding module until the estimated length of a cumulative code stream restored by the state variable restoration module becomes equal to the length of a code stream corresponding to the segment.
Dependencies are inferred from the claim text.