State machine apparatus and methods for encoding data in serial form and decoding using multiple tables
First Claim
1. A serial data decoder for generating output data words according to a selectable one of a plurality of decoding tables, said serial data decoder comprising a state machine responsive to received bits of serial data so as to move between states within a selectable one of a plurality of branching hierarchies of states, each branching hierarchy corresponding to one of said plurality of decoding tables and being such that each bit of said serial data controls which succeeding state is selected until a state corresponding to a valid data word is reached, and wherein at least one of said plurality of branching hierarchies includes a state corresponding to a complete internal table selecting word for selecting a predetermined different branching hierarchy and corresponding decoding table for subsequent use from among said plurality of branching hierarchies.
2 Assignments
0 Petitions
Accused Products
Abstract
A serial data coding system is described in which a state machine (FIG. 5) is provided having a plurality of branching hierarchies N, N+1 of states each corresponding to a different decoding table. Depending upon each received bit of serial data, the state machine moves through these branching hierarchies of states until states 88 corresponding to valid codes are reached whereupon a valid code is decoded and the state machine reset to the start of that branching hierarchy. If it is desired to move between branching hierarchies, then an internal table selecting word is inserted into the stream of serial data to move the state machine into a table incrementing state 90 where a jump to another branching hierarchy of states may be made. In order to cope with an externally applied switching signal Y/C for switching the state machine between branching hierarchies, the state machine is first moved into one of a plurality of transfer states A, C, D etc. These states are chosen to be distinct from all other states of the state machine within any branching hierarchies so there is no ambiguity as to which state should be adopted after receipt of the externally applied switching signal Y/C.
-
Citations
22 Claims
- 1. A serial data decoder for generating output data words according to a selectable one of a plurality of decoding tables, said serial data decoder comprising a state machine responsive to received bits of serial data so as to move between states within a selectable one of a plurality of branching hierarchies of states, each branching hierarchy corresponding to one of said plurality of decoding tables and being such that each bit of said serial data controls which succeeding state is selected until a state corresponding to a valid data word is reached, and wherein at least one of said plurality of branching hierarchies includes a state corresponding to a complete internal table selecting word for selecting a predetermined different branching hierarchy and corresponding decoding table for subsequent use from among said plurality of branching hierarchies.
-
7. A serial data decoder for generating output data words according to a selectable one of a plurality of decoding tables, said serial data decoder comprising a state machine responsive to received bits of serial data representing two dimensional sub band components of an image in the spatial frequency domain, so as to move between states within a selectable one of a plurality of branching hierarchies of states, each branching hierarchy corresponding to one of said plurality of decoding tables and being such that each bit of said serial data controls which succeeding state is selected until a state corresponding to a valid data word is reached, the state machine serving to decode differing sets of sub band components with differing, respective decoding tables, and wherein at least one of said plurality of branching hierarchies includes a state corresponding to a complete internal table selecting word for selecting a predetermined different branching hierarchy and corresponding decoding table for subsequent use from among said plurality of branching hierarchies.
-
8. A serial data decoder for generating output data words according to a selectable one of a plurality of decoding tables, said serial data decoder comprising a state machine responsive to received bits of serial data so as to move between states within a selectable one of a plurality of branching hierarchies of states, each branching hierarchy corresponding to one of said plurality of decoding tables and being such that each bit of serial data controls which succeeding state is selected until a state corresponding to a valid data word is reached, and wherein at least one said plurality of branching hierarchies includes a state corresponding to a complete internal table selecting word for selecting a predetermined different branching hierarchy and corresponding decoding table for subsequent use from among said plurality of branching hierarchies, said state machine including a current decoding table counter for storing a table count value indicating which branching hierarchy and corresponding decoding table are to be used, said current decoding table counter being responsive to the internal table selecting word to increment said table count value.
-
9. A serial data encoder generating a stream of encoded serial data from input data words, said serial data encoder comprising:
-
(i) means for applying a selectable one of a plurality of encoding tables to said input data words to produce corresponding encoded serial data; and (ii) means for inserting an internal table selecting word into said corresponding encoded serial data upon a change in selected encoding table to produce the stream of encoded serial data, the internal data selecting word serving to control selection of a complementary decoding table during decoding of said stream of encoded serial data.
-
-
10. A method of serial data decoding for generating output data words according to a selectable one of a plurality of decoding tables, said method comprising the steps of:
-
(i) moving a state machine in response to received bits of serial data between states within a selectable one of a plurality of branching hierarchies of states, each branching hierarchy corresponding to one of said plurality of decoding tables and being such that each bit of said serial data controls which succeeding state is selected until a state corresponding to a valid data word is reached; and (ii) selecting a different branching hierarchy and corresponding decoding table for subsequent use from among said plurality of branching hierarchies by switching to a table selecting state within one of the plurality of branching hierarchies of states corresponding to an internal table selecting word with the received bits of serial data.
-
- 11. A serial data decoder for generating output data words according to a selectable one of a plurality of decoding tables from a stream of input data having a plurality of data sections to be decoded with differing decoding tables, said serial data decoder comprising a state machine responsive to received bits of serial data so as to move between states within a selectable one of a plurality of branching hierarchies of states, each branching hierarchy corresponding to one of said decoding tables and being such that each bit of said serial data controls which succeeding state is selected until a state corresponding to an output data word is reached, and wherein at least one of said branching hierarchies includes one or more transfer states into which said state machine moves after having received one of said data sections and before switching from a current branching hierarchy to a target branching hierarchy in response to an externally applied switching signal, said one or more transfer states being distinct from any states corresponding to an output data word and all possible states within said target branching hierarchy.
-
21. A serial data encoder for generating a stream of encoded serial data from input data words having a plurality of data sections, said serial data encoder comprising:
-
(i) means for applying a selectable one of a plurality of encoding tables to said input data words to produce encoded serial data; (ii) means for switching encoding tables between differing data sections; and (iii) means for inserting a sequence of bits of data into said encoded serial data between encoded versions of said data sections to produce the stream of encoded serial data, the sequences of bits of data for moving a state machine decoder during decoding of said encoded serial data into one or more unique transfer states prior to a complementary switching of decoding tables.
-
-
22. A method of serial data decoding for generating output data words according to a selectable one of a plurality of decoding tables from a stream of input data having a plurality of data sections to be decoded with differing decoding tables, said method comprising the steps of:
-
(i) moving a state machine in response to received bits of serial data between states within a selectable one of a plurality of branching hierarchies of states, each branching hierarchy corresponding to one of said decoding tables and being such that each bit of said serial data controls which succeeding state is adopted until a state corresponding to an output data word is reached; (ii) moving said state machine into one or more transfer states after having received one of said data sections; and (iii) switching from a current branching hierarchy to a target branching hierarchy in response to an externally applied switching signal, said one or more transfer states being distinct from any states corresponding to an output data word and all possible states within said target branching hierarchy.
-
Specification