Method of processing variable size blocks of data by storing numbers representing size of data blocks in a fifo
Claim Score by NHIP
Abstract
A digital data processing system receives compressed variable length encoded digital data in the form of variable length codewords in contiguous variable speed Blocks of data. The boundary signals between adjacent codewords are determined and a demultiplexer sequentially sorts the serial digital data among a plurality of parallelly connected buffers for reducing the bit read speed of the buffers. A corresponding plurality of variable length decoders decodes the data from the buffers and outputs the data in parallel form to a multiplexer where it is reassembled into a serial expanded data stream. The incoming data includes selector information in fixed length headers that are separated, buffered and variable length decoded for controlling the demultiplexer. In one aspect of the invention, the data is sorted into substantially equal sized groups of integral codewords for equalizing the loading of the parallel buffers. In another aspect of the invention, the Block boundary marker signals are processed through much smaller auxiliary buffers using counters to keep track of the Block boundary marker signals for synchronization with the data flowing through the buffers.

Term
Term ended
Expired 17 February 2013, 13.6 years ago.
- Priority
- Filed
- Granted
- Expired
- Today
14 claims: 4 independent, 10 dependent
- 1A method of dynamically processing variably sized Blocks of compressed data in a signal processing apparatus, the method comprising continuously:providing a bit stream of the compressed data, the compressed data being processed by, writing said compressed data into a first first-in first-out (fifo) memory;developing input numbers representing the sizes of said Blocks of compressed data;storing said developed input numbers in a second fifo memory : ;and reading said stored input numbers from said second fifo memory to identify said Blocks of compressed data as said Blocks of compressed data are being read from said first fifo memory.
- 5Broadest claimClaim Score 79, broad(NHIP)A method of dynamically synchronously processing contiguous unequal size Blocks of compressed data comprising continuously:serially writing said compressed data into a first first-in first-out (fifo) memory;developing counts of the numbers of bits in each of said Blocks;storing said counts in a second fifo memory : ;and sequentially reading said counts from said second fifo memory for identifying corresponding Blocks of data as said Blocks of data are being read from said first fifo memory.
- 7A receiver for processing a continuous stream of digital data in contiguous Blocks of sequential bits wherein the number of bits of data in each Block is not uniform comprising:a first and a second first-in first-out (fifo) memory;an input counter and an output counter;means for writing said digital data to said first fifo memory;means for controlling said input counter to develop a count representative of the number of bits in a Block of data supplied to said first fifo memory and for writing said count to said second fifo memory;detection means for reading said count from said second fifo memory and for loading said count in said output counter;and means for controlling said output counter as said digital data is being read from said first fifo memory;said detection means comprising means for determining when the number of bits read from said first fifo memory equals the count loaded in said output counter for developing a reset signal and means for resetting said output counter and controlling said second fifo memory with said reset signal.
- 10A method of dynamically processing variably sized blocks of compressed data in a signal processing apparatus, the method comprising continuously:receiving a video bitstream including compressed data;and processing the compressed data in the video bitstream by variable length decoding, the processing being based on inpput numbers representing sizes of Blocks of the compressed data by, sequentially writing the compressed data into a first first-in first-out (fifo) memory, sequentially developing the input numbers representing the sizes of the Blocks of the compressed data, sequentially storing the developed input numbers in a second fifo memory, and sequentially reading the stored input numbers from the second fifo memory in order to identify the Blocks of compressed data being read out from the first fifo memory.
Independent claims4
32 paragraphs in 6 sections, as filed
id="INS-S-00001" date="20100824"
DIVISIONAL REISSUE APPLICATIONS
<i>Notice: More than one reissue application has been filed for the reissue of U.S. Pat. No. <b>5</b>,<b>563</b>,<b>920</b>. The reissue applications are application Ser. Nos. <b>12</b>/<b>000</b>,<b>338</b> (the present application) filed Dec. <b>11</b>, <b>2007</b>, and <b>12</b>/<b>453</b>,<b>735</b> filed May <b>20</b>, <b>2009</b>, all of which are divisional reissues of U.S. Pat. No. <b>5</b>,<b>563</b>,<b>920</b>.</i>
CROSS REFERENCE TO RELATED APPLICATIONS
This application is related to U.S. Pat. No. 5,285,276, entitled BI-RATE HIGH DEFINITION TELEVISION SIGNAL TRANSMISSION SYSTEM, issued Feb. 8, 1994, in the name of R. Citta and discloses an invention claimed in, U.S. Pat. No. 5,424,733, entitled PARALLEL PATH VARIABLE LENGTH DECODING FOR VIDEO SIGNALS, issued Jun. 13, 1995, in the names of the present inventors, all of which are assigned to Zenith Electronics Corporation.
BACKGROUND OF THE INVENTION AND PRIOR ART
This invention relates in general to data processing systems and in particular to a video data recovery and expansion system for use in connection with a digital high definition television system. The recently tested high definition television sysem of Zenith Electronics Corporation and AT&T Corporation includes a video compression scheme for compressing 37 MHz information for transmission over a 6 MHz wide television channel.
U.S. Pat. No. 5,285,276, describes a temporally oriented video compression system in which compressed video information is transmitted in the form of motion vectors and difference signals with the motion vectors identifying previous portions of a frame of video that closely match the current portion and the difference signals representing the differences between the previous and current portions. The video information has a bandwidth of about 37 MHz and may comprise a progressively scanned video signal in the form of successive frames of binary video data having a vertical periodicity equal to the NTSC standard (i.e. about 59.4 Hz) and a horizontal periodicity equal to three times the NTSC standard (i.e. about 47.25 KHz). The data is in the form of a series stream of binary pixel values that have been transform coded in the frequency domain to develop discrete cosign transform coefficients. The transform coding process provides a series of clusters of spectral transform coefficients for each frame of video, with each cluster of coefficients corresponding to a different spatial region of the video image. Each cluster, for example, may comprise an 8×8 array of coefficients with 14,400 clusters representing an entire video frame. The coefficient clusters are serially applied to a perceptual modelling system which develops an output that reflects the perceptual nature of the corresponding portion of the video image. The video data is then compressed in accordance with a selected compression algorithm. One well-known compression technique does not send all of the transform coefficients, the coefficients whose omission will have the least noticeable effect on the received image being dropped. The remaining coefficients are variable length encoded and sent as a series of codewords of unequal bit length, with the shortest codewords being assigned to those values that are most probable.
As further discussed in U.S. Pat. No. 5,285,276, the data may be ranked by importance, i.e. control data may be sent in more robust initial data segments, followed by data of the next level of importance such as motion vectors, etc. It will be noted that the number of motion vectors and difference signals may vary from frame to frame depending upon the perceptual nature of the video information in the frame and its relationship to the previous frame. The compressed variable length encoded information is assembled into Blocks consisting of a fixed number of 8×8 coefficient arrays, from most of which some coefficients have been omitted. Included with each Block is a Block header referred to as a selector, that consists of a fixed number of variable length encoded codewords containing the selector information. The selector information identifies which coefficients have been omitted from the 8×8 arrays in the Block and the total number of coefficients in the Block. The Blocks are assembled into data frames, each frame comprising a preselected number of equal length data segments. Each data segment has an initial fixed length segment sync portion, a fixed length data segment header and Block data, i.e. selector and coefficient data. The data segment header has a pointer that indicates the location in the data segment where the first Block beginning, if any, in that data segment occurs. Thus the selector data and coefficient data may be recovered by counting codewords and coefficients.
It will be noted that since the size of a Block is variable and the size of a data segment is fixed, the number of Blocks in a data segment will vary in accordance with the amount of compression. Therefore, several Blocks may be contained in a single data segment, or a single Block of data may extend over several data segments. As to the variable length encoding of the Block data, any of a well known number of encoding systems may be used such that the data or codewords may be joined, i.e. sequentially transmitted without breaks therebetween. The receiving system can produce a state table for determining the boundaries or junctions between adjacent codewords. The encoding form known as Huffman encoding is presently preferred. This is all by way of background to the present invention which will be understood not to be restricted to any particular form of encoding or processing.
The problem solved by the present invention is caused by the fact that the variable signal groups of compressed data supplied to the buffers must be processed along with synchronizing or reset signals. Since the compressed data buffers are of the fifo type, an equal size auxiliary fifo buffer is required for the synchronizing signals to keep everything in synchronism. This is a very expensive solution, however, and the present invention is directed to a system for significantly reducing the size of the auxiliary buffer memory required for processing the sync signals.
OBJECTS OF THE INVENTION
A principal object of the invention is to provide a novel digital data processing system.
Another object of the invention is to provide a processing system for variable sized groups of compressed data that minimizes memory requirements.
A further object of the invention is to provide an improved method of maintaining synchronism between variable sized groups of compressed data and accompanying synchronizing signals.
BRIEF DESCRIPTION OF THE DRAWINGS
These and other objects and advantages of the invention will be apparent upon reading the following description in conjunction with the drawings, in which:
<figref idref="DRAWINGS">FIG. 1</figref> is a block diagram of a television transmission system utilizing the invention; and
<figref idref="DRAWINGS">FIG. 2</figref> is a block diagram illustrating operation of the invention.
DESCRIPTION OF THE PREFERRED EMBODIMENT
In <figref idref="DRAWINGS">FIG. 1</figref>, a transmitter <b>10</b> includes an encoder <b>12</b> for receiving video from a suitable source and processing it in any of a variety of ways, including the one specified in U.S. Pat. No. 5,285,276 by developing motion vectors and discrete cosign transform coefficients for the difference signals. The data is supplied to a variable length encoder <b>14</b> in which the data is compressed and formatted in the form of codewords of variable length. The output of variable length encoder <b>14</b> is at a fixed video frame rate resulting in a variable data rate which, in accordance with the preferred embodiment, averages about 17 megabits per second. The variable rate data is applied to a compressed data (CD) buffer <b>16</b> which outputs data at a fixed data rate of 17 megabits per second. The data is transmitted by any suitable means, e.g. over the air or by cable, to a receiver <b>11</b> which includes a compressed data buffer (CD) <b>18</b>, a variable length decoder (VLD) <b>20</b>, an uncompressed data buffer (UD) <b>22</b> and a selector <b>24</b>. The uncompressed data buffer <b>22</b> is shown in a dashed line block to simplify the operational description of the processing system.
The receiver requirements can best be understood by considering that selector <b>24</b> must provide pixel data in parallel form (at an assumed 8 bits per pixel), at a rate of about 75 megabytes per second. This 75 megabytes per second rate is referred to as the pixel clock (pclock). To achieve this rate, selector <b>24</b> requests data as needed (in parallel form) from VLD <b>20</b> via its request (req) line. The selector adds or fills in 0's for omitted coefficients in the transmitted Blocks of data. It therefore doesn't request as much data from VLD <b>20</b> for a Block that has omitted coefficients. The result is a relatively low data rate between VLD <b>20</b> and selector <b>24</b> when processing that Block. For Blocks of data with no coefficients dropped, selector <b>24</b> must receive all coefficients at the pclock rate. To supply selector <b>24</b> with data at the pclock rate, VLD <b>20</b> must request data from CD buffer <b>18</b> at the rate of one variable length codeword per pclock. For example, assume a time period in which all incoming variable length codewords are of maximum 8 bit length. Because VLD <b>20</b> receives data serially, the data rate is 8×pclock between CD buffer <b>18</b> and VLD <b>20</b>. This is a very high rate (8×75 MHz) at which to read data out of conventional memory. Hence, the CD buffer <b>18</b> in the receiver is placed before VLD <b>20</b> to keep the buffer size reasonable. (Buffering after VLD <b>20</b> would require a buffer of much larger size.)
A circuit modification that helps to reduce the buffer size includes another buffer UD <b>22</b> in the dashed line box. Since worst case situations (no significant compression of data) will persist for relatively short and infrequent time periods, UD <b>22</b> provides data to selector <b>24</b> at the pclock rate while reading data from VLD <b>20</b> at a somewhat lesser rate. The result is that the rate at which data is read from CD buffer <b>18</b> is somewhat reduced. However, UD buffer <b>22</b>, which stores expanded data, would need to be very large to effect a significant reduction in the data rate from CD buffer <b>18</b>. The problem remains in that the high data rate between the CD buffer and the VLD requires the use of a very expensive high speed memory for the compressed data buffer.
The invention claimed in U.S. Pat. No. 5,424,733, above significantly reduces the reading speed requirement for the compressed data buffer by splitting the data among a number of buffers that operate in parallel. Referring to <figref idref="DRAWINGS">FIG. 2</figref>, compressed data and data segment sync signals are applied to a first separator DS<b>1</b>. The data segment sync signals mark the boundaries between each of the fixed length data segments. DS<b>1</b> separates the data segment header from the Block data in the data segments and sends the Block data to a compressed data output. DS<b>1</b> determines the starting points in the compressed data stream for some of the Blocks, i.e. the first Block beginning, if any, in a data segment from the data segment header information. Specifically, a pointer in the data segment header points to the first Block beginning in the data segment. This information is used to create a partial Block boundary marker signal for synchronization of the subsequent circuitry. The compressed data and partial Block boundary marker signals are applied to a second data separator DS<b>2</b>.
DS<b>2</b> includes means for finding the separation points between each of the individual variables length codewords in the compressed data stream. Such means may conveniently take the form of separate variable length decoders that are dedicated primarily to the task of finding these codeword boundaries. A partial Block boundary marker signal from DS<b>1</b> identifies a known, fixed number of following codewords as selector data for the Block. A variable length decoder decodes the data counting this known, fixed number of codewords to identify the boundary in the compressed data stream between the selector data and the coefficient data. The compressed selector data is sent to the compressed selector data output of DS<b>2</b> and the subsequent coefficient data is sent to the compressed data output of DS<b>2</b>. The portion of the decoded selector data that identifies the number of coefficient codewords in the Block is saved and used to control the VLD which decodes the identified number of coefficient codewords before the next Block (and the new selector data) is encountered. DS<b>2</b> stops routing the compressed data stream to the compressed data output and switches back to the compressed selector data output at that point. The remainder of the decoded selector data and all of the decoded coefficient data is discarded in DS<b>2</b>. DS<b>2</b> also generates a group boundary marker signal that denotes the boundaries between groups (i.e. an integral number of codewords) in the compressed coefficient data stream at the compressed data output. The integral number is determined according to an algorithm to be discussed. In the event of errors in the received data, the variable length decoders in DS<b>2</b> will be quickly resynchronized by the partial Block boundary marker signal from DS<b>1</b>. The compressed data and group boundary marker signals are applied to a demultiplexer and grouper <b>30</b> for demultiplexing and assembling the codewords into groups (determined by the algorithm) consisting of an integral number of codewords, the boundaries between the groups being determined by the group boundary marker signal. The compressed selector data signal from DS<b>2</b> is supplied, along with a data clock signal, to a compressed data buffer <b>34</b>.
The clock signal is supplied to the WR (write) terminal of a CD buffer <b>34</b>, while the data signal is applied to its I (input) terminal. The output terminal O of buffer <b>34</b> supplies the compressed selector data to a selector data variable length decoder <b>39</b>. VLD <b>39</b> controls the rate of transmission of data from buffer <b>34</b> by means of a request line which is coupled to the R (read) terminal of buffer <b>34</b>. The partial Block boundary marker signal supplied from DS<b>1</b> to DS<b>2</b> is present for only the first-occurring Block beginning in a data segment as described above. DS<b>2</b> also develops a complete Block boundary marker signal that identifies each Block boundary when the separation points between the end of the compressed coefficient data and the beginning of the compressed selector data, as described above, are determined. An auxiliary buffer <b>35</b> is operated in parallel with buffer <b>34</b> for maintaining synchronism between the data (as it is processed) and the complete Block boundary marker signals. This arrangement for processing the marker signals constitutes the subject of the present invention and results in a significant reduction in the required size of the auxiliary buffer.
An input bit counter <b>32</b> and an output bit counter <b>37</b> flank the auxiliary buffer <b>35</b>. The data clock signal is applied to input bit counter <b>32</b>. The count value of input bit counter <b>32</b> is supplied to the data input of the auxiliary buffer <b>35</b>. The reset terminal of input bit counter <b>32</b> and the write terminal of auxiliary buffer <b>35</b> are supplied with the complete Block boundary marker signal from DS<b>2</b>. The output of auxiliary buffer <b>35</b> is applied via a parallel load bus to output bit counter <b>37</b> which is stepped by the request signal from VLD <b>39</b>. The count value of output bit counter <b>37</b> is supplied to an “all zero” detector <b>38</b> which develops a reset signal for VLD <b>39</b>, for counter <b>37</b> and a lead signal for auxiliary buffer <b>35</b>. The selector data is applied to a selector/multiplexer <b>41</b> for controlling operation thereof. VLD <b>39</b> also generates a complete Block boundary marker signal for selector/multiplexer <b>41</b>. As indicated, the buffers <b>34</b> and <b>35</b> are of the first-in, first-out (fifo) type that are well known in the art.
Returning to DS<b>2</b>, demultiplexer and grouper <b>30</b> accepts the incoming serial data and the group boundary marker signal from DS<b>2</b> and apportions the data into groups, each consisting of an integral number of codewords, among a plurality of parallelly connected compressed data buffers <b>50</b>-<b>57</b>. The dashed line joining the buffers <b>50</b>-<b>57</b> indicates that buffers, corresponding to output terminals <b>1</b>-<b>6</b> of the demultiplexer and grouper <b>30</b>, are omitted. It will be understood that the output terminals <b>0</b>-<b>7</b> are arbitrary in number and that each output terminal has the same processing structure, i.e. buffers and variable length decoders, connected thereto. It will therefore suffice to describe operations for one output, it being understood that data at the other outputs is processed in an identical manner.
The data from terminal O is applied to the input terminal of CD buffer <b>50</b>. The data clock signal is applied to the WR terminal of CD buffer <b>50</b> and to an input bit counter <b>40</b>. An auxiliary buffer <b>60</b>, an output bit counter <b>70</b> and a zero detector <b>80</b> are connected in a manner similar to the connection of auxiliary buffer <b>35</b>, output bit counter <b>37</b> and zero detector <b>38</b> described above. A variable length decoder <b>90</b> receives the serial data from CD buffer <b>50</b>, decodes it, and applies the decoded data in a parallel format to an uncompressed data buffer <b>100</b>. The output of uncompressed buffer <b>100</b> is supplied to the selector and multiplexer <b>41</b>, which also includes means for uncompressing the compressed data. It will be noted that the VLD by its nature converts compressed data to a fixed length output and broadly performs some expansion. In practice, the variable length encoded codewords are decoded to a fixed 8 bit length. This is distinct from the uncompressing of the compressed data that occurs after the VLD.
A similar arrangement of elements coupled to output terminal <b>7</b> of demultiplexer and grouper <b>30</b>, i.e. CD buffer <b>57</b>, auxiliary buffer <b>67</b>, bit counters <b>47</b> and <b>77</b>, VLD <b>97</b> and uncompressed buffer <b>107</b> function in the same way to develop a parallel output of a block of data, which is assembled into a single serial stream by selector/multiplexer <b>41</b>.
The parallel buffer arrangement will now be discussed. As mentioned, the incoming data is formatted such that the boundaries between codewords can be determined in the decoding process. Since the uncompressed data can reach extremely high rates, the plurality of parallel buffers <b>50</b>-<b>57</b> is employed to operate on sequential portions of the data stream. Since the required speed for each buffer is effectively divided by the number of buffers, relatively low cost fifo memories may therefore be used for the buffers. With the codewords being of variable length, the grouping of the codewords to load the parallel buffers substantially equally is very important. The sizes or bit lengths of the codeword groups are determined with an algorithm based upon selecting a nominal group bit length equal to the maximum codeword size and adding successive codewords until the nominal size is reached or exceeded. When this occurs, the nominal bit length is subtracted from the actual number of totalled bits and compared with another total developed from the difference between the totalled number of bits minus the last-added codeword. The codeword arrangement that provides the smallest difference is selected as the group and demultiplexer <b>30</b> supplies that group of data to buffer <b>50</b> and switches to its next output for the next group of data. The process proceeds in a cyclical manner with each of the outputs of demultiplexer and grouper <b>30</b> receiving a group of data for its associated buffer. With the arrangement, the loading of the buffers is substantially equalized so that no one buffer is loaded significantly faster or more fully than any other buffer. This contributes greatly to system economy and enables the smaller size buffers to process the information. It will be appreciated that the number of buffers need not be eight, but any number can be employed with equal effect. That invention is the subject matter of the U.S. Pat. No. 5,424,733.
The subject matter of the present invention is the provision of the input and output bit counters to enable the use of an auxiliary buffer of a significantly smaller size than the CD buffer while preserving synchronism between the data that is being supplied to the CD buffer and the complete Block boundary marker signal. Counter <b>40</b>, for example, counts up the bits written into CD buffer <b>50</b> until it is reset by the complete Block boundary marker signal. This signal is a pulse in which the trailing edge acts as a reset signal. The count total of counter <b>40</b> is transferred (as a parallel N bit word) to the auxiliary buffer <b>60</b> when its WR input is activated by leading edge of the complete Block boundary marker signal. Both CD buffer <b>50</b> and auxiliary buffer <b>60</b> are of the fifo variety, and as the data is serially transferred to buffer <b>50</b>, the N bit word, representing the number of bits in the Block of data, is clocked along. The Block of data supplied to buffer <b>50</b> may comprise a number of groups totalling many hundreds of bits in length whereas the corresponding word in auxiliary buffer <b>60</b> is only a few (N) bits long. When VLD <b>90</b> requests data from buffer <b>50</b>, the parallel data in auxiliary buffer <b>60</b> is loaded into the output counter <b>70</b> and the counter begins to count down in response to signals on the request line. When the counter counts down to all zeros, the zero detector <b>80</b> generates a reset signal, which is applied to VLD <b>90</b>, counter <b>70</b> and auxiliary buffer <b>60</b>. Thus the synchronization of the compressed data and the Block boundary marker signal is maintained without requiring a duplicate size buffer for handling the boundary signal.
N is readily determined by letting X equal the maximum number of expected coefficient bits in a Block. Since there are eight parallel paths and the X bits are approximately equally distributed to each of the parallel paths (CD buffers), any given buffer will hold a maximum of X/8 bits. Since the binary representation of N is log<sub>2</sub>(X/<sub>8</sub>), the input and output bit counters must be N bits wide.
As mentioned previously, selector VLD <b>39</b> reads data out of CD buffer <b>34</b> and provides decoded selector data to the selector/multiplexer <b>41</b>. In response to the reset signal from zero detector <b>38</b> which corresponds to the Block boundary points, VLD <b>39</b> sends a new complete Block boundary marker signal (corresponding to the original Block boundary marker signal) to the selector/multiplexer <b>41</b>.
The parallel VLD's (<b>90</b>-<b>97</b>) read data out of their corresponding CD buffers (<b>50</b>-<b>57</b>), decode the data and output it in parallel form to their corresponding UD buffers (<b>100</b>-<b>107</b>). VLD's <b>90</b>-<b>97</b> also keep track of codeword groups generated according to the previously described grouping algorithm and produce group boundary signals (bits) which are passed to the UD buffers along with the decoded codewords. The codeword data and group boundary signals pass through the UD buffers and are available to the selector/multiplexer <b>41</b>.
The selector/multiplexer <b>41</b> outputs expanded coefficient data at the pclock rate. In response to the reset (complete Block boundary marker signal) from selector VLD <b>39</b>, selector/multiplexer <b>41</b> reads the selector data for the current Block of data from selector VLD <b>39</b>. This information indicates which coefficients have been omitted from the Block of data and the total number of coefficients in the Block. Thus, the number of coefficients to be read from the parallel coefficient UD buffers is determined and the point at which selector data must be read for the next Block of data from selector VLD <b>39</b> is ascertained. The selector/multiplexer fills in O's for the omitted coefficients.
To maintain proper ordering of the data at the output of the selector/multiplexer, data must be read from the parallel UD buffers a group of codewords at a time. This grouping is determined by the previously described group boundary marker signals.
What has been described is a novel data processing system for decoding variable length encoded compressed data while maintaining synchronization that minimizes the need for fifo memories. It is recognized that numerous changes in the described embodiment of the invention will be apparent to those skilled in the art without departing from its true spirit and scope. The invention is to be limited only as defined in the claims.
Contents6
4 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4
Every citation, both waysCites: the store holds 18 of 19
| Document | Relation | Office | Cited during |
|---|---|---|---|
| EP0180345A2 | Cites | European Patent Office (EPO) | Search report |
| US3813485A | Cites | United States of America | Search report |
| US4520483A | Cites | United States of America | Search report |
| US4596026A | Cites | United States of America | Search report |
| US4796280A | Cites | United States of America | Search report |
| US5034914A | Cites | United States of America | Search report |
| US5038277A | Cites | United States of America | Search report |
| US5111485A | Cites | United States of America | Search report |
| US5163072A | Cites | United States of America | Search report |
| US5214642A | Cites | United States of America | Search report |
| US5237460A | Cites | United States of America | Search report |
| US5321521A | Cites | United States of America | Search report |
| US5361097A | Cites | United States of America | Search report |
| US5386212A | Cites | United States of America | Search report |
| US5394442A | Cites | United States of America | Search report |
| JPS53136450A | Cites | Japan | Search report |
| EP180345 | Cites | European Patent Office (EPO) | Search report |
| JP136450 | Cites | Japan | Search report |
| Yuichi Sato, "DPCM Coding Method Using Variable-Length Codes For Video Telephone Signals", Fig. 1. | Non-patent | – | Search report |
| Yuichi Sato, “DPCM Coding Method Using Variable-Length Codes For Video Telephone Signals”, Fig. 1. | Non-patent | – | Search report |
3 members in 1 office
Priority claims6
| Document | Office | Kind | Date |
|---|---|---|---|
| 1865893 | United States of America | A | |
| 1865893 | United States of America | A | |
| 33807 | United States of America | A | |
| 08018658 | – | – | – |
| US19930018658 | – | – | – |
| US20070000338 | – | – | – |
Members3
| Document | Office | Kind | |
|---|---|---|---|
| US5563920A | United States of America | A | |
| USRE41569EThis record | United States of America | E | |
| USRE42147E | United States of America | E |
52 transactions on the USPTO file
Allowed after 2 non-final rejections and 2 RCEs.
- Non-final rejections
- 2
- Final rejections
- 0
- RCEs
- 2
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Receipt into PubsR1021 | R1021 | |
| Receipt into PubsR1021 | R1021 | |
| Dispatch to FDCD1935 | D1935 | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Response to Reasons for AllowanceREAS | REAS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Affidavit(s) (Rule 131 or 132) or Exhibit(s) ReceivedAF/D | AF/D | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Mail Ex Parte Quayle Action (PTOL - 326)MCTEQ | MCTEQ | |
| Quayle actionCTEQ | CTEQ | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Mail-Record Petition Decision of Granted to Withdraw from IssueMP006 | MP006 | |
| Record Petition Decision of Granted to Withdraw from IssueP006 | P006 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Petition EnteredPET. | PET. | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Reverse Issue FeeVFEE | VFEE | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Mail Examiner's AmendmentMEX.A | MEX.A | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Examiner's Amendment CommunicationEX.A | EX.A | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Notice of Reissue Published in Official GazetteNRE. | NRE. | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Application Is Now CompleteCOMP | COMP | |
| Cleared by OIPE CSRL194 | L194 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
1 legal event, as the office reported them to INPADOC
Events
| Event | Code | |
|---|---|---|
| Fee payment procedurePAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP |
Numbers
- Publication
- RE041569
- Publication, DOCDB
- RE41569
- Publication, EPODOC
- USRE41569E
- Application
- 12000338
- Application, DOCDB
- 33807
- Application, EPODOC
- US20070000338
Titles
- English
- Method of processing variable size blocks of data by storing numbers representing size of data blocks in a fifo
Classification
- CPC, 6
- H04N19/436
- H04N19/13
- H04N19/423
- H04N19/44
- H04N19/46
- H04N19/91
- IPC, 3
- H04L7 00
- H04N7 26
- H04N7 30
- USPC, 6
- 375354000
- 375372000
- 375E07144
- 375E07201
- 375E07226
- 375E07231