Search

US-12621005-B2 - Arithmetic encoder for arithmetically encoding and arithmetic decoder for arithmetically decoding a sequence of information values, methods for arithmetically encoding and decoding a sequence of information values and computer program for implementing these methods

US12621005B2US 12621005 B2US12621005 B2US 12621005B2US-12621005-B2

Abstract

An encoding scheme is provided for arithmetically encoding a sequence of information values into an arithmetic coded bitstream by providing the bitstream with entry point information, allowing for resuming arithmetic decoding of the bitstream from a predetermined entry point onward. A respective decoding scheme is also provided. These encoding and decoding schemes provide more efficient encoding in view of the decoding speed.

Inventors

  • Paul HAASE
  • Heiner Kirchhoffer
  • Karsten Mueller
  • Heiko Schwarz
  • Detlev Marpe
  • Thomas Wiegand

Assignees

  • FRAUNHOFER-GESELLSCHAFT ZUR FOERDERUNG DER ANGEWANDTEN FORSCHUNG E.V.

Dates

Publication Date
20260505
Application Date
20250807
Priority Date
20201006

Claims (3)

  1. 1 . A method of arithmetically encoding a sequence of information values into an arithmetic coded bitstream, comprising: symbolizing the information values into symbol strings so as to acquire a sequence of symbols; arithmetically encoding the sequence of symbols by subdividing a current interval, which defines a current version of a coding state of an arithmetic encoder, for each symbol, according to a probability estimate for the respective symbol, into a plurality of the subintervals, selecting a subinterval out of the plurality of the subintervals according to a symbol value of the respective symbol so as to acquire an updated version of the coding state of the arithmetic encoder, defined by the selected subinterval, for encoding a next symbol of the sequence of symbols, renormalizing encoder-internal parameters which define the coding state under continuing the bitstream, and providing the bitstream with entry point information allowing for resuming arithmetic decoding the bitstream from a predetermined entry point onward, wherein the entry point information comprises a bitstream pointer to a predetermined bit in the bitstream, which is up to be read next after the resuming the arithmetic decoding the bitstream from the predetermined entry point onwards, wherein the predetermined entry point is a third or any of entry points following after the third entry point relative to the begin of the bitstream, and the bitstream pointer to the predetermined bit in the bitstream is signaled in the bitstream in form of a difference between the offset relative to the previous entry point and an offset of the previous entry point relative to a further entry point preceding the previous entry point.
  2. 2 . A digital storage medium storing a bitstream generated using the method of claim 1 .
  3. 3 . A method of arithmetically decoding a sequence of information values from a bitstream, comprising: deriving from the bitstream entry point information; using the entry point information so as to resume arithmetically decoding the bitstream from a predetermined entry point onward by arithmetically decoding a sequence of symbols from the bitstream by, for each symbol of the bitstream: determining, based on a current version of a coding state of an arithmetic decoder, a subinterval out of a plurality of subintervals into which a current interval is subdivided according to a probability estimate for the respective symbol, and deducing, based on the selected subinterval, a symbol value of the respective symbol, and renormalizing and updating decoder-internal parameters which define the coding state by use of the bitstream and the selected subinterval so as to acquire an updated version of the coding state of the arithmetic decoder for decoding a next symbol of the sequence of symbols, deriving the information values from the sequence of symbols by desymbolization, and deriving from the entry point information a bitstream pointer to a predetermined bit in the bitstream and using the predetermined bit as a bit to be read next after resuming the arithmetic decoding the bitstream from the predetermined entry point onwards, wherein the predetermined entry point is a third or any of entry points following after the third entry point relative to the begin of the bitstream, and the bitstream pointer to the predetermined bit in the bitstream is signaled in the bitstream in form of a difference between the offset relative to the previous entry point and an offset of the previous entry point relative to a further entry point preceding the previous entry point.

Description

CROSS-REFERENCES TO RELATED APPLICATIONS This application is a continuation of U.S. application Ser. No. 18/296,055, filed Apr. 5, 2023, which is incorporated herein by reference in its entirety, and which is a continuation of International Application No. PCT/EP2021/077458, filed Oct. 5, 2021, which is incorporated herein by reference in its entirety, and additionally claims priority from European Application No. EP 20 200 395.0, filed Oct. 6, 2020, which is incorporated herein by reference in its entirety. The present application is concerned with arithmetically encoding a sequence of information values into an arithmetic coded bitstream, particularly by providing the bitstream with entry point information allowing for resuming arithmetic decoding the bitstream from a predetermined entry point onward. Embodiments according to the invention are related to an arithmetic encoder for arithmetically encoding a sequence of information values. Further embodiments according to the invention are related to an arithmetic decoder for arithmetically decoding a sequence of information values. Further embodiments according to the invention are related to a method for arithmetically encoding a sequence of information values. Further embodiments according to the invention are related to a method for arithmetically decoding a sequence of information values. Further embodiments according to the invention are related to a computer program for performing methods for arithmetically encoding and decoding a sequence of information values. Further embodiments according to the invention are related to a bitstream generated using an arithmetic encoder for arithmetically encoding a sequence of information values. Further embodiments according to the invention are related to an arithmetic encoder for arithmetically encoding a neural network parameters. Further embodiments according to the invention are related to an arithmetic decoder for arithmetically decoding a neural network parameters. The invention can be applied to arbitrary data compression applications that involve the signaling of integer values like, for example, the compression of the parameters of neural networks. BACKGROUND OF THE INVENTION A multitude of devices and methods for arithmetic encoding and decoding of values sequences are currently known. Particularly, a context-based adaptive binary arithmetic coding (CABAC) is widely used for encoding and decoding of a sequence of symbols. In a binarization stage of CABAC each symbol of such a sequence is converted into a sequence of one or more binary symbols (bins) and the concatenation of these bin sequences is arithmetically encoded into a bitstream. A context modeling stage then associates a probability estimate with each bin for arithmetic coding based on previously encoded bins and context information. The corresponding decoder has the same information available and can reproduce the same probability estimates in order to carry out arithmetic decoding. The known arithmetic decoding is, however, a highly sequential process that can hardly be parallelized. A decoding speed of CABAC decoder is thus limited by its serial coding procedure. In view of the above, there is a desire to create a coding and decoding concept which enables several decoders to operate in parallel decoding different parts of a single bitstream, which leads to an improved decoding speed. Accordingly, it is the object of the present invention to provide an encoding concept which is more efficient in view of the decoding speed. This object is achieved by the subject matter of the pending independent claims. Further advantageous aspects are the subject of the dependent claims. SUMMARY An embodiment may have an arithmetic encoder for arithmetically encoding a sequence of information values into an arithmetic coded bitstream, configured to: symbolize the information values into symbol strings so as to acquire a sequence of symbols; arithmetically encode the sequence of symbols by, for each symbol, selecting a subinterval out of a plurality of subintervals into which a current interval, which defines a current version of an coding state of the arithmetic encoder, is subdivided according to a probability estimate for the respective symbol, according to a symbol value of the respective symbol so as to acquire an updated version of the coding state of the arithmetic encoder, defined by the selected subinterval, for encoding a next symbol of the sequence of symbols, and renormalizing encoder-internal parameters which define the coding state under continuing the bitstream, provide the bitstream with entry point information allowing for resuming arithmetic decoding the bitstream from a predetermined entry point onward. Another embodiment may have an arithmetic decoder for arithmetically decoding a sequence of information values from a bitstream, configured to: derive from the bitstream entry point information; use the entry point information so as to resume