Context model access to memory based on run and skip counts and context model skipping
AssigneeRicoh Company, Ltd.
InventorsEdward L. Schwartz, Yutaka Satoh
Life of this patent
Estimating the term…
Abstract
A method and apparatus for coding and decoding information is described. In one embodiment, the apparatus comprises a memory and decoding hardware. The memory stores run counts and/or skip counts and the decoding hardware decodes a run count and/or a skip count obtained from the memory during decoding.
Claims110
A method comprising:
- performing a significance propagation pass on a group of coefficients;
- creating a data structure that indicates locations of coefficients in the group of coefficients that are to be processed in subsequent passes;
- and
- performing a refinement sub-bitplane pass by
- accessing the data structure to obtain information to identify coefficients to be skipped for refinement sub-bitplane pass processing,
- accessing a memory storing the group of coefficient using the information to only access coefficients identified as being in the refinement pass, and
- coding refinement bits accessed from the memory.
An apparatus comprising:
- means for performing a significance propagation pass on a group of coefficients;
- means for creating a data structure that indicates locations of coefficients in the group of coefficients that are to be processed in subsequent passes;
- and
- means for performing a refinement sub-bitplane pass by
- accessing the data structure to obtain information to identify coefficients to be skipped for refinement sub-bitplane pass processing,
- accessing a memory storing the group of coefficient using the information to only access coefficients identified as being in the refinement pass, and
- coding refinement bits accessed from the memory.
An article of manufacture having one or more recordable media with executable instructions stored thereon which, when executed by a system, cause the system to:
- perform a significance propagation pass on a group of coefficients;
- create a data structure that indicates locations of coefficients in the group of coefficients that are to be processed in subsequent passes;
- and
- perform a refinement sub-bitplane pass by
- accessing the data structure to obtain information to identify coefficients to be skipped for refinement sub-bitplane pass processing,
- accessing a memory storing the group of coefficient using the information to only access coefficients identified as being in the refinement pass, and
- coding refinement bits accessed from the memory.
A method comprising:
- performing a significance propagation pass on a group of coefficients;
- creating a data structure that indicates locations of coefficients in the group of coefficients that are to be processed in subsequent passes;
- and
- performing a cleanup sub-bitplane pass by
- accessing the data structure to obtain information to identify coefficients to be skipped for cleanup sub-bitplane pass processing,
- accessing a memory storing the group of coefficient using the information to only access coefficients identified as being in the cleanup pass, and
- coding cleanup bits accessed from the memory.
An apparatus comprising:
- means for performing a significance propagation pass on a group of coefficients;
- means for creating a data structure that indicates locations of coefficients in the group of coefficients that are to be processed in subsequent passes;
- and
- means for performing a cleanup sub-bitplane pass by
- accessing the data structure to obtain information to identify coefficients to be skipped for cleanup sub-bitplane pass processing,
- accessing a memory storing the group of coefficient using the information to only access coefficients identified as being in the cleanup pass, and
- coding cleanup bits accessed from the memory.
An article of manufacture having one or more recordable media with executable instructions stored thereon which, when executed by a system, cause the system to:
- perform a significance propagation pass on a group of coefficients;
- create a data structure that indicates locations of coefficients in the group of coefficients that are to be processed in subsequent passes;
- and
- perform a cleanup sub-bitplane pass by
- accessing the data structure to obtain information to identify coefficients to be skipped for cleanup sub-bitplane pass processing,
- accessing a memory storing the group of coefficient using the information to only access coefficients identified as being in the cleanup pass, and
- coding cleanup bits accessed from the memory.
A method comprising:
- a context model reading at least one data structure that indicates locations of coefficients in a group of coefficients that are to be processed during refinement or cleanup passes, the at least one data structure containing refinement bit run counts specifying the size of runs of refinement bits and refinement bit skip counts indicating numbers of coefficients to skip between the runs of refinement bits, the at least one data structure further containing cleanup bit run counts specifying the size of runs of cleanup bits and cleanup bit skip counts indicating numbers of coefficients to skip between the runs of cleanup bits;
- and
- a context model accessing a memory based on information in the at least one data structure.
A decoder comprising:
- a memory;
- and
- a context model coupled to the memory, wherein the context model reads at least one data structure that indicates locations of coefficients in a group of coefficients that are to be processed during refinement or cleanup passes, the at least one data structure containing refinement bit run counts specifying the size of runs of refinement bits and refinement bit skip counts indicating numbers of coefficients to skip between the runs of refinement bits, the at least one data structure further containing cleanup bit run counts specifying the size of runs of cleanup bits and cleanup bit skip counts indicating numbers of coefficients to skip between the runs of cleanup bits;
- and wherein the context model accesses a memory based on information in the at least one data structure.
A method comprising:
- accessing a data structure to obtain information to identify coefficients to be skipped for refinement sub-bitplane pass processing, wherein the data structure indicates location of coefficients in the group of coefficients that are to be processed in subsequent passes;
- accessing a memory storing the group of coefficient using the information to only access coefficients identified as being in the refinement pass;
- and
- coding refinement bit s accessed from the memory.
An apparatus comprising:
- means for accessing a data structure to obtain information to identify coefficients to be skipped for refinement sub-bitplane pass processing, wherein the data structure indicates location of coefficients in the group of coefficients that are to be processed in subsequent passes;
- means for accessing a memory storing the group of coefficient using the information to only access coefficients identified as being in the refinement pass;
- and
- means for coding refinement bits accessed from the memory.
A method comprising:
- accessing a data structure to obtain information to identify coefficients to be skipped for refinement sub-bitplane pass processing, wherein the data structure indicates locations of coefficients in the group of coefficients that are to be processed in subsequent passes;
- accessing a memory storing the group of coefficient using the information to only access coefficients identified as being in the cleanup pass;
- and
- coding cleanup bits accessed from the memory.
An apparatus for decoding information comprising:
- a memory to store run counts and skip counts of two distinct portions of the memory separated by a third portion of memory;
- decoding hardware coupled to the memory to decode a run count and a skip count obtained from the memory simultaneously.
An apparatus for decoding information comprising:
- a memory to store run counts and skip counts of two distinct portions of the memory separated by a third portion of memory;
- decoding hardware coupled to the memory to decode a run count and a skip count obtained from the memory simultaneously.
A method for performing a significance propagation pass, the method comprising:
- determining whether information being processed is in a significance propagation pass, refinement pass, or cleanup pass in response to significance state information for a region;
- asserting signals indicative of whether 4×4 subregions in the region have coefficients in the significance propagation pass, refinement pass or cleanup pass;
- coding bits of coefficients in the significance pass while identifying run and skip counts for refinement and cleanup passes;
- and
- processing bits of coefficients identified as being in the refinement and cleanup passes.
An apparatus for performing a significance propagation pass, the apparatus comprising:
- means for determining whether information being processed is in a significance propagation pass, refinement pass, or cleanup pass in response to significance state information for a region;
- means for asserting signals indicative of whether subregions in the region have coefficients in the significance propagation pass, refinement pass or cleanup pass;
- means for coding bits of coefficients in the significance pass while identifying run and skip counts for refinement and cleanup passes;
- and
- means for processing bits of coefficients identified as being in the refinement and cleanup passes.
An apparatus for performing a significance propagation pass comprising:
- a determine pass unit having an input coupled to receive significance state information for a first region of a first predetermined size and having a first set of output indications indicative of whether a pass associated with each coefficient in a second region of a second predetermined size is in a significance propagation pass, refinement pass, or cleanup pass;
- a processing unit having inputs coupled to the output indications and having a next non-refinement bit output, a next non-cleanup bit output, and a current pass indication output;
- and
- a control unit coupled to outputs from the processing unit, the control unit, in response thereto, to generate an indication of a next index into a refinement bit data structure, a refinement run indication, a refinement skip indication, and a significant propagation indication.
Dependencies are inferred from the claim text.