Source: http://www.google.com/patents/US6104754?dq=7493558
Timestamp: 2015-04-28 11:58:06
Document Index: 462347204

Matched Legal Cases: ['art 110', 'art 22', 'art 22', 'art 21', 'art 104', 'art 22', 'art 703', 'art 110', 'art 121', 'art 106', 'art 110', 'art 121', 'art 106', 'art 106', 'art 110', 'art 22', 'art 703', 'art 21', 'art 23', 'art 21', 'art 22', 'art 703', 'art 701', 'art 703', 'art 707', 'art 703', 'art 707', 'art 803', 'art 803', 'art 803', 'art 703', 'art 703']

Patent US6104754 - Moving picture coding and/or decoding systems, and variable-length coding ... - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inAdvanced Patent SearchPatentsA coding and/or decoding system includes: a code-word table for storing therein a plurality of code words, which are capable of being decoded both in forward and backward directions and which are formed so that delimiters of the code words are capable of being identified by a predetermined weight of...http://www.google.com/patents/US6104754?utm_source=gb-gplus-sharePatent US6104754 - Moving picture coding and/or decoding systems, and variable-length coding and/or decoding systemAdvanced Patent SearchPublication numberUS6104754 APublication typeGrantApplication numberUS 08/924,387Publication dateAug 15, 2000Filing dateSep 5, 1997Priority dateMar 15, 1995Fee statusPaidAlso published asUS6256064, US6317461, US6501801, US7376187, US7388914, US20010053184, US20040071451, US20040101054, US20070160148, US20070160149, US20070160150, US20070188359, US20070188360, US20070205928Publication number08924387, 924387, US 6104754 A, US 6104754A, US-A-6104754, US6104754 A, US6104754AInventorsTakeshi Chujoh, Toshiaki Watanabe, Yoshihiro Kikuchi, Takeshi NagaiOriginal AssigneeKabushiki Kaisha ToshibaExport CitationBiBTeX, EndNote, RefManPatent Citations (16), Non-Patent Citations (6), Referenced by (150), Classifications (51), Legal Events (4) External Links: USPTO, USPTO Assignment, EspacenetMoving picture coding and/or decoding systems, and variable-length coding and/or decoding system
US 6104754 AAbstract
Images(62) Claims(23)
1. A variable length coding system, which assigns, to a plurality of source symbols, code words having a code length corresponding to the occurrence probability of the source symbols and which outputs code words corresponding to inputted source symbols as coded data, said variable length coding system comprising:a code-word table storing therein a plurality of code words including codes words, which are capable of being decoded both in forward and backward directions and which are formed so that delimiters of the code words are capable of being identified by a predetermined weight of the code words, so that said plurality of code words correspond to source symbols; code-word selecting means for selecting code words corresponding to inputted source symbols from the code-word table; and synchronization interval setting means for preparing coded data for each of predetermined synchronization intervals using code words selected by said code-word selecting means and for inserting stuffing codes capable of being decoded in the backward direction. 2. A variable length coding system as set forth in claim 1, wherein said code words, which are capable of being decoded both in the forward and backward directions and which are formed so that the delimiters of the code words are capable of being identified by a predetermined weight of the code words, have first and second code words, which are capable of being decoded both in the forward and backward directions, said second code word being added to at least one of the prefix and suffix of said first code word.
3. A variable length coding system as set forth in claim 1, wherein said code words, which are capable of being decoded both in the forward and backward directions and which are formed so that the delimiters of the code words are capable of being identified by a predetermined weight of the code words, have first and second code words, which are capable of being decoded both in the forward and backward directions, said second code word being added at least one of immediately before and after the respective bits of said first code word.
4. A variable length coding system as set forth in claim 1, wherein said code words, which are capable of being decoded both in the forward and backward directions and which are formed so that the delimiters of the code words are capable of being identified by a predetermined weight of the code words, have first code words, which are capable of being decoded both in the forward and backward directions and second code words of a fixed length code which are inserted between the respective bits of said first code words.
5. A variable length coding system as set forth in claim 1, wherein said code words, which are capable of being decoded both in the forward and backward directions and which are formed so that the delimiters of the code words are capable of being identified by a predetermined weight of the code words, have first and second code words, which are capable of being decoded both in forward and backward directions, said second code word being inserted between the respective bits of said first code word.
6. A variable length coding system as set forth in claim 1, wherein said predetermined synchronization intervals are set such that an interval between positions capable of an insertion of a synchronization code is defined to a distance being an integer times as long as a constant interval unit.
7. A variable length coding system as set forth in claim 6, wherein said constant interval unit is M bits (where M is an arbitrary integer), and said stuffing code to be inserted has any length from one-bit length to M-bit length.
8. A variable length coding system as set forth in claim 1, wherein said stuffing code to be inserted is constituted by a code in which an appearance of "0" is a delimiter while the code is decoded in the backward direction.
9. A variable length coding system as set forth in claim 7, wherein said stuffing code to be inserted is a code which is constituted by only "0" or "0" plus a continuous several "1"s from one to (M-1), and a total bit length of said stuffing code is M bits or less.
10. A variable length coding system as set forth in claim 1, wherein said stuffing code is attached next to the coded data.
11. A variable length coding system as set forth in claim 1, wherein said stuffing code is constituted by a code which is capable of being decoded in the backward and forward directions.
12. A variable length coding method, which assigns, to a plurality of source symbols, code words having a code length corresponding to the occurrence probability of the source symbols and which outputs code words corresponding to inputted source symbols as coded data, said variable length coding method comprising:storing in a code-word table a plurality of code words including code words which are capable of being decoded both in forward and backward directions and which are formed so that delimiters of the code words are capable of being identified by a predetermined weight of the code words, so that said plurality of code words correspond to said source symbols; selecting code words corresponding to inputted source symbols from the code-word table; and setting a synchronization interval by preparing coded data for each of predetermined synchronization intervals using code words selected by said code-word selecting step, and by inserting stuffing codes capable of being decoded in the backward direction. 13. A variable length coding method as set forth in claim 12, wherein said code words, which are capable of being decoded both in the forward and backward directions and which are formed so that the delimiters of the code words are capable of being identified by a predetermined weight of the code words, have first and second code words, which are capable of being decoded both in the forward and backward directions, said second both code word being added to at least one of the prefix and suffix of said first code word.
14. A variable length coding method as set forth in claim 12, wherein said code words, which are capable of being decoding both in the forward and backward directions and which are formed so that the delimiters of the code words are capable of being identified by a predetermined weight of the code words, have first and second code words, which are capable of being decoded both in the forward and backward directions, said second both code word being added to at least one of immediately before and after the respective bits of said first code word.
15. A variable length coding method as set forth in claim 12, wherein said code words, which are capable of being decoded both in the forward and backward directions and which are formed so that the delimiters of the code words are capable of being identified by a predetermined weight of the code words, have code words, which are capable of being decoded both in the forward and backward directions and between the respective bits of which code words of a fixed length code are inserted by predetermined bits.
16. A variable length coding method as set forth in claim 12, wherein said code words, which are capable of being decoded both in the forward and backward directions and which are formed so that the delimiters of the code words are capable of being identified by a predetermined weight of the code words, have first and second code words, which are capable of being decoded both in the forward and backward directions, said second both code word being inserted between the respective bits of said first code word.
17. A variable length coding method as set forth in claim 12, wherein said predetermined synchronization intervals are set such that an interval between positions capable of an insertion of a synchronization code is defined to a distance being an integer times as long as a constant interval unit.
18. A variable length coding method as set forth in claim 17, wherein said constant interval unit is M bits (where M is an arbitrary integer), and said stuffing code to be inserted has any length from one-bit length to M-bit length.
19. A variable length coding method as set forth in claim 18, wherein said stuffing code to be inserted is a code which is constituted by only "0" or "0" plus a continuous several "1"s from one to (M-1), and a total bit length of said stuffing code is M bits or less.
20. A variable length coding method as set forth in claim 12, wherein said stuffing code to be inserted is constituted by a code in which an appearance of "0" is a delimiter while the code is decoded in the backward direction.
21. A variable length coding method as set forth in claim 12, wherein said stuffing code is attached next to the coded data.
22. A variable length coding method as set forth in claim 12, wherein said stuffing code is constituted by a code which is capable of being decoded in the backward and forward directions.
23. A variable length coding system, which assigns, to a plurality of source symbols, code words having a code length corresponding to the occurrence probability of the source symbols and which outputs code words corresponding to inputted source symbols as coded data, said variable length coding system comprising:a code-word table storing therein a plurality of code words including codes words which are capable of being decoded both in forward and backward directions and which are formed so that delimiters of the code words are capable of being identified by a predetermined weight of the code words, so that said plurality of code words correspond to source symbols; an encoder for selecting code words corresponding to inputted source symbols from the code-word table; and a synchronization interval setting element for preparing coded data for each of predetermined synchronization intervals using code words selected by said encoder and for inserting stuffing codes capable of being decoded in the backward direction. Description
This application is a continuation-in-part of U.S. patent application Ser. No. 08/616,809 filed on Mar. 15, 1996, now U.S. Pat. No. 5,852,469.
Therefore, there is known a method for changing the variable length codes from the usual configurations shown in FIGS. 2A through 2C to the configurations shown in FIGS. 3A through 3C to form code words, which can be decoded in a usual forward direction as well as in a backward direction as shown in FIG. 1B. Since the coded data of such code words are also readable in the backward direction, the code words can be also used for reverse reproduction in a storage medium, such as a disc memory, for storing the coded data. This variable length code, which can be decoded in the forward direction as well as in the backward direction, will be hereinafter referred to as a "reversible code".
An example of the reversible code is disclosed in Japanese Patent Laid-Open No. 5-300027, entitled "Reversible Variable Length Coding System". This publicly-known reversible code is a variable length code, which can also be decoded in the backward direction by adding bits to the ends of code words of a Huffman code, which is a variable code capable of being decoded in the forward direction as shown in FIGS. 2A through 2C, so that the respective code words are not coincident with other code words having longer code lengths as shown in FIGS. 3A through 3C. However, this reversible code contains many useless bits to have a long average code length since the bits are added to the ends of the code words of the variable length code, which can be decoded only in the forward direction. Consequently, the coding efficiency is considerably deteriorated in comparison with the variable length code, which can be decoded only in the forward direction.
In order to accomplish the aforementioned and other objects, according to one aspect of the present invention, there is provided a first variable length coding system, which assigns, to a plurality of source symbols, code words having a code length corresponding to the occurrence probability of the source symbols and which outputs code words corresponding to inputted source symbols as coded data, the variable length coding system comprising: a code-word table for storing therein a plurality of code words including codes words, which are capable of being decoded both in forward and backward directions and which are formed so that delimiters of the code words are capable of being determined by a predetermined weight of the code words, so that the plurality of code words correspond to source symbols; code-word selecting means for selecting code words corresponding to inputted source symbols from the code-word table; and synchronization interval setting means for preparing coded data for each of predetermined synchronization intervals using code words selected by the code-word selecting means and for inserting stuffing codes, which are capable of being decoded in the backward direction.
The term "weight of code words" corresponds to a Hamming distance with respect to the minimum or maximum value of the code words. When the code words are binary codes, since all the minimum values of the code words are "0" and all the maximum values are "1", the weight of the code words corresponds to the number of "1"s or "0"s. The position, at which the weight of the code words is a predetermined value, is a delimiter of code words in a variable length code.
Alternatively, at least one of the forward and backward decoding means may detect as an error in the decoding processing when a decoded value obtained by decoding the coded data is inadequate.
In addition, since the code capable of being decoded in the backward direction is used as the stuffing code, even if the synchronization intervals are set every predetermined interval using the stuffing code, the reversible code can be decoded in the backward direction. According to still a further aspect of the present invention, a second variable length decoding system for decoding coded data, which are of variable length codes of code words containing code words capable of being decoded both in forward and backward directions and into which stuffing codes capable of being decoded in the backward direction are inserted every predetermined synchronization interval, comprises: synchronization interval detecting means for detecting a synchronization interval of the coded data; and bidirectional decoding means for decoding the decoded data in the synchronization interval detected by the synchronization interval detecting means, both in the forward and backward directions.
Moreover, a recording medium having recorded therein a program for use in a variable length decoding system for decoding coded data, which are of variable length codes of code words including code words capable of being decoded both in forward and backward directions and into which stuffing codes capable of being decoded in the backward direction are inserted every predetermined synchronization interval, includes at least the steps of:
detecting a synchronization interval of the coded data; decoding the coded data in the synchronization interval detected by the synchronization interval detecting step in the forward direction; and decoding the coded data in the synchronization interval detected by the synchronization interval detecting step in the backward direction.
FIG. 31 is a diagram of a bidirectional code-word table, which is common to a forward code-word table and a backward code word table;
The decoded-value determining part 110 determines a decoded value on the basis of a decoded result (hereinafter referred to as a "forward decoded result") obtained by the forward decoder 108 and a decoded result (hereinafter referred to as a "backward decoded result") obtained by the backward decoder 109, and outputs a final decoded result.
The code words formed by the code-word forming part 22 are code words of a variable length code (hereinafter referred to as a "reversible code"), which is formed so that the delimiters in the code can be indicated on the basis of a predetermined weight of code words and which can be decoded both in forward and backward directions. This code is disclosed, e.g., in Japanese Patent Laid-Open No. 7-89772 or 7-260383.
FIG. 8 shows a first method for forming code words of a reversible code in the code-word forming part 22. First, as shown on the left side of FIG. 8, two binary series, each of which has a constant weight (the weight is the number of "1" in this case) in the order of short code length and which have different weights (the weights are 0 and 1 in this case), are prepared. Then, as shown in the middle of FIG. 8, after "1"s are added to the prefix and suffix of the binary series to reverse the bits of the binary series, the two binary series are synthesized as shown on the right side of FIG. 8.
The code length of this variable length code can be determined by counting the number of symbols at the beginnings of the respective codes. In the example of FIG. 8, when the first is "0", the delimiter of the code (code length) can be identified if there "0"s in all appear, and when the first is "1", the delimiter of the code can be identified if two "1"s in all appear. The variable length code shown in FIG. 8 can be decoded both in forward and backward directions since the code words corresponding to all the source symbols A through J are assigned to leaves of a forward decoding tree shown FIG. 9A as well as leaves of a backward decoding tree shown in FIG. 9B.
FIG. 11 shows a third method for forming a reversible code in the code-word forming part 21. First, as shown on the left side of FIG. 11, variable-length reversible codes and fixed-length reversible codes are prepared. Then, as shown on the right side of FIG. 11, the fixed-length reversible codes are added immediately after the respective bits of the code words of the reversible codes. When K-bit fixed-length reversible codes are used by this forming method, H-bit code words can be changed to (K+1)H-bit code words to increase the number of code words by 2KH. In this embodiment, while the fixed length codes have been added immediately after the respective bits of the code words of the reversible codes, fixed length codes may be added immediately before the respective bits, or fixed length codes may be added both immediately before and after the respective bits.
Referring to FIGS. 12A and 12B, examples of methods for setting synchronization intervals of coded data in synchronization interval setting part 104 will be described below.
The stuffing codes used for the methods of FIGS. 12A and 12B can be decoded at least in the backward direction. FIG. 13 shows an example of such a stuffing code. This stuffing code can be decoded both in the forward and backward directions. This stuffing code is a variable length code, the delimiter of which can be identified if "1" appears in the case of 1 bit and if "0"s appear twice in the case of other bits, and which can be decoded both in the forward and backward directions. This stuffing code can be also decoded from the end of the synchronization interval in the backward direction, and the bit number of the coded data can be calculated. The calculated result of the bit number of the coded data is used for an error detection, which will be described later.
While the stuffing code has been inserted into the suffix of the coded data in this embodiment, the stuffing code may be inserted into the prefix or the internal portion of the coded data. The stuffing code may be inserted into a portion in the synchronization interval at any positions if there is no problem of syntax. Alternatively, the stuffing code may be a code capable of being decoded only in the backward direction as shown in FIG. 14. The delimiter of this code can be identified if "0" appears when being decoded in the backward direction.
On the other hand, in a moving picture 710, the coded data transmitted from the transmission or storage system 705 are stored in a receiving buffer 706. Then, the multiplexing separation and variable length decoding of the coded data are carried out by means of a moving picture multiplexing separator 707 to be transmitted to a source decoder 708, in which the moving picture information is finally decoded. To the moving picture multiplexer 703 and the moving picture multiplexing separator 707, the first preferred embodiment of a variable length coding and/or decoding system according to the present invention is applied.
FIGS. 19 through 21 and 22 through 23 show examples of code-word tables used for the lower-layer variable length encoder 902. The codes stored in these code tables are obtained by adding 2-bit fixed-length codes to the suffix of each of the codes prepared by the first forming method for the code words of the reversible code in the code-word forming part 22.
The lower-layer variable length encoder 902 in the moving picture multiplexing part 703 has a code-word table of non-LAST coefficients shown in FIGS. 19 through 21, wherein the code words of reversible codes (VLC-- CODE) correspond to the non-LAST coefficients, RUNs and LEVELs of the INTRA (intraframe coding) and INTER (interframe coding), and a code-word table of LAST coefficients shown in FIGS. 22 and 23, wherein the code words of the reversible codes (VLC-- CODE) correspond to the LAST coefficients, RUNs and LEVELs of the INTRA and INTER.
On the basis of the mode information, one of the code-word tables of the non-LAST coefficients and LAST coefficients of the INTRA is selected when the INTRA is carried out, and one of the code-word tables of the non-LAST coefficient and LAST coefficients of the INTER is selected when the INTER is carried out, so that coding is carried out. The last bit "s" of the code word denotes the sign of the LEVEL. When the "s" is "0", the sign of the LEVEL is positive, and when the "s" is "1", the sign of the LEVEL is negative.
With respect to coefficients, which do not exist in these code-word tables, 1 bit indicative of the LAST coefficient, the RUN and the absolute value of the LEVEL are fixed-length coded as shown in FIG. 25. In addition, the "00001" of two escape codes is added to the prefix of the fixed length code, and an escape code is also added to the suffix thereof. FIG. 24 shows a code-word table of escape codes. The last bit "s" of the VLC-- CODE used as an ESCAPE code denotes the sign of the LEVEL. When the "s" is "0", the LEVEL is positive, and when the "s" is "1", the LEVEL is negative.
FIG. 26 shows the case that the zero run is maximum when this code-word table is used. Usually, a bit pattern, wherein "1" is added after zero runs continue, is selected as a synchronization pattern. For example, in the case of ITU-T H.263, a bit pattern, wherein "1" is added after 16 "0"s, is selected as a synchronization pattern. In the variable-length coding of the DCT coefficients, the zero run is maximum when 15 "0"s continue in a case where the LEVEL is +64 in the coefficient using an escape code and the next code also uses an escape code. Therefore, if a bit pattern, in which 16 "0"s continue, is used as a synchronization pattern, there is no possibility that a pseudo synchronization pattern may be produced.
The decoded-value determining part 110 determines a decoded value on the basis of the decoded result (hereinafter referred to as a "forward decoded result") obtained by the forward decoder 108 and the decoded result (hereinafter referred to as a "backward decoded result") obtained by the backward decoder 109 to output a final decoded result. In the error determinations in the forward decoder 108 and the backward decoder 109, when a bit pattern, which does not exist as a code word, appears and when an error is detected by a check bit or the like, the position of the bit pattern or the error is used as the detected position, and when no error is not detected by the above determining method and when the decoded bit number is not coincident with the bit number of the coded data in the synchronization interval, the first position of decoding is used as the error detected position.
The decoding part 121 comprises a synchronization interval detecting part 106, a buffer 107, a coded data switch 122, a decoder 124, a code-word table switch 125, a decoded-value determining part 110, a forward decoding table 111 and a backward decoding table 112. The coded data switch 122 and the code-word table switch 125 are controlled by the decoder 124 to be switched. In the decoding part 121, while the synchronization interval detecting part 106 inspects the synchronization interval of the coded data inputted by the transmission or storage systems 105, the coded data are inputted to the decoder 124. At this time, the coded data are also stored in the buffer 107. The decoder 124 starts to decode the inputted coded data (hereinafter referred to as "forward decoding"). The decoder 124 determines that an error is detected, when a bit pattern, which does not exist in the forward code-word table 111, appears and when coded data having a bit number different from the bit number of the buffer 107 is decoded.
When it is determined that an error has been detected, the decoder 124 switches the code-word table in the code-word table switch 123 from the forward code-word table 111 to the backward code-word table 112. At this time, the input to the decoder 124 is switched to the buffer 107 by means of the coded data switch 122. When the synchronization interval detecting part 106 detects the next synchronization, the stored coded data are read out of the buffer 107 from the suffix to be outputted to the decoder 124. The decoder 124 starts to decode the inputted coded data (hereinafter referred to as "backward decoding"). Similar to the forward decoding, the decoder 124 determines that an error is detected, when a bit pattern, which does not exist in the backward code-word table 112, appears in the coded data or when coded data having a bit number different from the bit number of the buffer 107 are decoded. The decoded-value determining part 110 determines decoded values on the basis of a decoded result (hereinafter referred to as a "forward decoded results") obtained by the forward decoding and a decoded result (hereinafter referred to as a "backward decoded results") obtained by the backward decoding to output a final decoded result.
FIG. 29 shows a first method for forming code words of a reversible code in the code-word forming part 22. First, as shown on the left side of FIG. 29, a first reversible code is prepared. Then, as shown in the middle of FIG. 29, fixed length codes of (code length -1) bits surrounded by the broken line are prepared for the respective code words of the first reversible code, and as shown on the right side of FIG. 29, the code words of the fixed length codes are inserted between the respective bits of the code words of the first reversible code 1 bit by 1 bit so as to be surrounded by the broken line. It can be seen that the variable length codes of FIG. 29 can be decoded both in the forward and backward directions by decoding the fixed length codes every 1 bit while decoding the first reversible code. In the embodiment of FIG. 29, while the code words of the fixed length codes have been inserted between the respective bits of the code words of the first reversible code 1 bit by 1 bit, fixed length codes of (code length -1)�n bits may be prepared for the respective code words of the first reversible code, and the code words of the fixed length codes may be added between the respective bits of the code words of the first reversible code n bits by n bits.
In the decoded-value determining method shown in FIG. 34(b), even if an error is detected, decoding is continued to utilize all the usable decoded values. Variable length codes include a code, in which synchronization can be automatically recovered if the decoding process is continuously carried out even if the synchronization is not broken. This is called "self-synchronization-recovery. In the case of a code word having a high self-synchronization-recovery capability, it is possible to obtain a greater amount of correct decoded values by continuing the decoding process as shown in FIG. 34(b) without stopping the decoding process as shown in FIG. 34(a) after the error is detected. However, in this case, there is a possibility that the decoded values may include erroneously decoded values. In the system for allowing such a possibility of erroneous decoding, the decoded-value determining method of FIG. 34(b) may be used.
As shown in FIG. 40A, the upper layer includes a header information and a mode information, which is arranged on the side of the prefix and which includes coding modes for each of macro blocks, information on the need for coding the respective blocks, and values of INTRA DC. These informations are described by variable length codes capable of being decoded in the usual forward direction. In addition, motion vector informations are variable-length coded to reversible codes by means of coding tables shown in FIGS. 44 through 51 to be arranged after the header and mode informations. In the coding tables shown in FIGS. 44 through 51, "VECTOR DIFFERENCES" denotes predicted values (differential values) of motion vectors, "BIT NUMBER" denotes code lengths of variable length codes, and "VLC CODE" denotes variable length codes.
In the upper layer, the header information and the mode information are first decoded. When the header information and/or the mode information can not be completely decoded due to an error, all the decoded values of the macro blocks of a synchronization interval, in which the error occurs, are regarded as "Not Coded", and the last screen is directly displayed. If all the header information and the mode information can be decoded, the bidirectional decoding of the motion vector information is then carried out. A portion of the motion vector information, which can not decoded, is regarded as "Not Coded". In the lower layer, the DCT coefficient information of the lower layer is used for only macro blocks, which have been decoded to the motion vector. The macro blocks, in which the DCT coefficient information has been abandoned due to the error, are regarded as "Not Coded".
FIG. 54 shows a decoded-value determining method when the syntax of the moving picture coding system in the moving picture multiplexing part 703 is the syntax shown in FIG. 41. According to the syntax of FIG. 41, in the upper layer, the header information and the mode information 1 are first decoded. If the header information and/or the mode information 1 can not be completely decoded due to an error, all the decoded value of macro blocks in a synchronization interval, in which the error has occurred, are regarded as "Not Coded", and the last screen is directly displayed. If all the header information and the mode information 1 can be decoded, the bidirectional decoding of the motion vector information is then carried out. A portion of the motion vector information, which can not be decoded, is regarded as "Not Coded". In the lower layer, the DCT coefficient information of the lower layer is used for only macro blocks, which have been decoded to the motion vector. The macro blocks, in which the DCT coefficient information has been abandoned due to the error, are regarded as "Not Coded".
A designed stochastic model Q(X) is derived by weighting and averaging the frequency distribution obtained by the plurality of information source. ##EQU1## w(θi): Weighting Factor w(θ1)+ . . . +w(θn)=1
In this case, it is a problem how to derive the weighting factor w(θi). When the information source Oi is coded by Q(X), an ideal code length L(X|θi) is as follows. ##EQU2## In order to minimize the ideal code lengths L(X|θi) of the respective information sources on average, assuming that ##EQU3##
When U(X)=Q(X), this function is minimum as follows.
w(θ1)= . . . =w(θn)=1/n
As another method for designing a stochastic model Q(X), a method for designing a stochastic model Q(X) by supposing the worst information source will be described.
When the information source θi is coded by Q(X), redundancy R(X|θi) is as follows. ##EQU4## A weighting mean S(X) of these redundancy with respect to the respective information sources is a function indicative of a mutual information of event X and event θ as follows. ##EQU5## As a method for deriving the maximum value of this function, there is known Arimoto-Blahut's algorithm, which is disclosed in "An algorithm for computing the capacity of arbitrary discrete memoryless channels" (S. Arimoto, IEEE Trans. Inform. Theory, Vol. IT-18, pp.14-20, 1972), and "Computation of channel capacity and rate-distortion functions" (R. E. Blahut, IEEE Trans. Inform. Theory, Vol. IT-18, pp.460-473, 1972). By this algorithm or the like, it is possible to derive w(θi) (i=1, . . . , n) having the maximum S(X), i.e., the worst w(θi).
The code selecting part 21 shown in FIG. 55 prepares Q(Y), which is obtained by sorting the source symbols X in order of probability in the stochastic models Q(X) prepared by the stochastic model preparing part 23. The code selecting part 21 also prepares F(Z), which is obtained by sorting the code lengths of the reversible codes prepared by the code forming part 22 in order of i shorter length, to calculate ##EQU6## to select one of the minimum value to prepare a code-word table, in which source symbols correspond to code words.
FIG. 56 is a block diagram illustrating a conception of a moving picture coding and/or decoding system, which incorporates the seventh preferred embodiment of a variable length coding and/or decoding system according to the present invention. In a moving picture encoder 709, data coded by a source encoder 702 are variable-length coded and multiplexed by a moving picture multiplexing part 703 to smoothed by a transmission buffer 704 to be transmitted to a transmission or storage system 705 as coded data. A coding control part 701 controls the source encoder 702 and the moving picture multiplexing part 703 in view of the buffer capacity of the transmission buffer 704. In a moving picture decoder 710, the coded data transmitted from the transmission or storage system 705 are stored in a receiving buffer 706 to be multiplex-separated and variable-length decoded by a moving picture multiplexing separating part 707 to be transmitted to a source decoder 708, so that the moving picture is finally decoded.
The coding and decoding of the upper and lower layers shown in FIGS. 57A through 58B are carried out by means of a moving picture multiplexing part shown in FIG. 59. These constructions are the same as those of a coding and/or decoding system in the fifth preferred embodiment. That is, although the basic constructions of the moving picture multiplexing part 703 and the moving picture multiplexing separating part 707 of FIG. 56 are the same as those shown in FIGS. 57A through 58B, the constructions of an upper-layer variable length encoder 801, a lower-layer variable length encoder 803, an upper-layer variable length decoder 805 and a lower-layer variable length decoder 806 are different from those in the second preferred embodiment. That is, out of data coded by the source encoder 702, the upper layer data indicated by, e.g., the syntax of FIG. 57A or 58A, are variable-length coded by the upper-layer variable length encoder 801 to be transmitted to the multiplexing part 803. In addition, out of data coded by the source encoder 702, the lower layer data indicated by, e.g., the syntax of FIG. 57B or 58B, are variable-length coded by the variable length encoder 802 to be transmitted to the multiplexing part 803. The coded data of the upper and lower layers are multiplexed by the multiplexing part 803 to be transmitted to a transmission buffer 704.
In a mode determining circuit 504, to which the mode information is inputted, if the mode information is an INTRA, a mode selecting switch 505 is turned OFF, and the DCT coefficient information is inverse quantized by an inverse quantizer circuit 501 to be inverse discrete-cosine-transformed by an IDCT circuit 502 to produce a regenerative picture signal. This regenerative picture signal is stored in a frame memory 506 as a reference image and outputted as a regenerative picture signal. If the mode information is an INTER, the mode selecting switch 505 is turned OFF, and the DCT coefficient information is inverse quantized by the inverse quantizer circuit 501 to be inverse discrete-cosine transformed by the ICDT circuit 502. Then, the reference image is motion-compensated in the frame memory 504 on the basis of the motion vector information to be added in an adder 503 to produce a regenerative picture signal. This picture signal is stored in the frame memory 504 as a reference image and outputted as a regenerative picture signal.
While the present invention has been grasped as a hardware construction of a moving picture coding and/or decoding system in the first through ninth preferred embodiments, the invention may be grasped as a recording medium for recording data or programs for use in a coding and/or decoding system in the above preferred embodiments. The tenth preferred embodiment of a recording medium for recording data or programs will be described below.
A lower-layer variable length encoder 802 in the moving picture multiplexing part 703 has an INDEX table wherein INDEXs of code words (VLC-- CODE) of reversible codes correspond to RUNs and LEVELs of non-LAST coefficients of INTRA (intraframe coding) shown in FIG. 66, an INDEX table wherein INDEXs of code words (VLC-- CODE) of reversible codes correspond to RUNs and LEVELs of non-LAST coefficients of INTER (interframe coding) shown in FIG. 67, an INDEX table wherein INDEXs of code words (VLC-- CODE) of reversible codes correspond to RUNs and LEVELs of common LAST coefficients of INTRA and INTER shown in FIG. 68, and a code-word table wherein code words correspond to the INDEX values shown in FIGS. 69 and 70.
Referring to a flow chart of FIG. 63, the operation of the lower-layer variable length encoder 802 will be described. First, on the basis of the mode information, the code-word table of the non-LAST coefficients and the LAST coefficients of the INTRA is selected when the INTRA is carried out, and the INDEX table of the non-LAST coefficients and the LAST coefficients of the INTER when the INTER is carried out (S101). Then, in order to code using the code-word table, (RUN, LEVEL) is compared with the maximum value R-- max of the RUNs and the maximum value L-- max of the LEVELs in the INDEX table, so that it is verified whether (RUN, LEVEL) exists in the INDEX table (S102).
If it exists therein, the INDEX table of FIGS. 66 through 68 is used to check whether the value of the INDEX is 0 (S104). If it is not 0, the code words of the INDEX in the code-word table of FIG. 17 are outputted. The last bit "s" of the code words in the code-word table denotes the sign of the LEVEL. When "s" is "0", the sign of the LEVEL is positive, and when "s" is "1", the sign of the LEVEL is negative (S105). When the value of the INDEX is 0 or beyond the range, ESCAPE codes continue as shown in FIG. 73 by coefficients, which do not exist in the code-word table, and 1 bit indicating whether it is a LAST coefficient and the absolute values of the RUNs and LEVELs shown in FIGS. 71 and 72 are fixed-length coded. To the prefix of the fixed-length coding part, "00001" of two escapes is added, and to the suffix, an escape code is also added. The code words, wherein the INDEX values in FIGS. 69 and 70 are 0, are escape codes. The last bit "s" of the VLC-- CODE used as the ESCAPE code denotes the sign of the LEVEL. If the "s" is "0", the LEVEL is positive, and if the "s" is "1", the LEVEL is negative (S106).
FIG. 64 shows the decoding operation in the forward direction. First, variable length code are decoded in the forward direction (S201). Then, it is check whether the INDEX value obtained by decoding is 0 (S202). If it is not 0, the INTRA and INTER of the decoded-value table of FIG. 74 are selected on the basis of the mode information of the upper layer, to derive decoded values of the LAST, RUN and LEVEL (S203). Since it is an escape code when the INDEX value is 0, the subsequent fixed-length code is decoded to derive decoded values of the LAST, RUN and LEVEL (S204). Subsequently, the end ESCAPE code is decoded (S205). The sign of the LEVEL is positive when the last bit of the code word is "0", and negative when it is "1" (S206).
FIG. 65 shows the decoding operation in the backward direction. First, the sign of the LEVEL is determined by the first bit of the code word. If it is "0", the sign is positive, and if it is "1", the sign is negative (S301). Then, the variable length code is decoded in the backward direction (S302). Then, it is checked whether the INDEX value obtained by decoding in the backward direction is 0 (S303). When the INDEX value is not 0, the INTRA and INTER in the decoded-value table of FIG. 74 are selected on the basis of the mode information of the upper layer, to derive decoded values of the LAST, RUN and LEVEL (S304). When the INDEX value is 0, it is an escape code, so that the subsequent fixed-length code is decoded to derive decoded values of the LEVEL, RUN and LAST (S305). Subsequently, the first ESCAPE code is decoded (S306). As described above, if the decoded-value able is used, it is possible to save the memory capacity and to efficiently carry out the bidirectional decoding even if the ESCAPE code is used.
The supplementary explanation of the decoding process in the tenth preferred embodiment will be given. That is, a decoded-value determining method when the syntax of the moving picture coding system in the moving picture multiplexing part 703 is syntax shown in FIGS. 57A through 58A will be described. First, a mode information 1 and a INTRA DC of the upper layer are decoded. If an error is found and the mode information 1 and the INTRA DC are not completely decoded, all the decoded values of macro blocks of a synchronization interval, in which an error occurs, are regarded as "Not Coded". If the first frame is coded and the last frame does not exist, the macro blocks are colored in gray or a special color.
In the lower layer, when a mode information 2 can not be decoded due to an error, all the coded data of the lower layer are abandoned, and the decoded values of the upper layer are rewritten to be regarded as "Not Coded", or indicated by only the INTRA DC. When AC-DCT coefficients are predicted in some of macro blocks of the INTRA mode, variable length codes can be decoded. However, since the prediction is carried out on the basis of the surrounding macro blocks, when the variable length codes can not be decoded in the surrounding macro blocks, the decoded values are regarded as "Not Coded".
In the interframe coding frame, the mode information 1 and the motion vector of the upper layer are first decoded. If an error is founded and the mode information 1 and the motion vector can not be completely decoded, all the decoded values of the macro blocks of a synchronization interval, in which the error occurs, are regarded as "Not Coded". If all can be decoded, it is verified that the synchronization interval MM exists. If it does not exist, all the decoded values of the macro blocks of the synchronization interval are regarded as "Not Coded".
In the lower layer, when the mode information 2 and the INTRA DC can not be decoded due to an error, the coded data of the lower layer are abandoned, and the decoded values of the upper layer are rewritten by the indication of "Not Coded" or the indication (MC Not Coded) of only motion vectors from the last frame.
If the AC-DCT coefficients are predicted in some macro blocks of the INTRA mode, the variable length codes can be decoded. However, since the prediction is carried out on the basis of the surrounding macro blocks, when the variable length codes can not be decoded in the surrounding macro blocks, the decoded values are regarded as "Not Coded".
As shown in FIG. 76(c), when errors are detected in the same macro block both in the forward and backward decoded results, the decoded values in the macro block at the error detected position are abandoned and are not used for decoded values. In addition, the decoded results of the upper layer are rewritten on the basis of the decoded results of the mode information of the upper layer so that the INTRA macro block is directly indicated by the last frame and the INTER macro block is indicated by only the motion compensation using the last frame, and the backward decoded results are used for the decoded values after the macro block.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS4569050 *Jan 14, 1983Feb 4, 1986Honeywell Inc.Data communication system with fixed weight error correction and detection codeUS5168356 *Dec 20, 1991Dec 1, 1992General Electric CompanyApparatus for segmenting encoded video signal for transmissionUS5302949 *Oct 28, 1992Apr 12, 1994Sony CorporationSignal encoding with reverse run length and variable length codingUS5392037 *May 20, 1992Feb 21, 1995Matsushita Electric Industrial Co., Ltd.Method and apparatus for encoding and decodingUS5469273 *Jan 24, 1994Nov 21, 1995Kabushiki Kaisha ToshibaDecoding system having parallel-processing capability thereinUS5488616 *Apr 9, 1993Jan 30, 1996Kokusai Denshin Denwa Co., Ltd.System for providing reversible variable length codesUS5621466 *Jan 30, 1996Apr 15, 1997Seiko Epson CorporationMethod and apparatus for compressing and decompressing image data using two dimensional orthogonal transform with improved compression rateUS5761345 *Dec 23, 1996Jun 2, 1998Canon Kabushiki KaishaImage processing apparatus suitable for multistage compressionUS5781131 *Dec 12, 1995Jul 14, 1998Sony CorporationData encoding method and data decoding methodEP0267578A1 *Nov 10, 1987May 18, 1988Kokusai Denshin Denwa Co., LtdEncoding system capable of accomplishing a high efficiency by anterior and/or posterior processing to quantizationEP0453229A2 *Apr 16, 1991Oct 23, 1991Matsushita Electric Industrial Co., Ltd.Method for transmission of variable length codeEP0499303A2 *Jan 24, 1992Aug 19, 1992Ampex Systems CorporationMethod and apparatus for shuffling and deshuffling dataEP0554871A2 *Feb 4, 1993Aug 11, 1993Sony CorporationMethod and apparatus for encoding a digital image signalEP0595242A2 *Oct 26, 1993May 4, 1994Matsushita Electric Industrial Co., Ltd.Versatile escape run-level coder for digital video signal processing apparatusJPH05300027A * Title not availableWO1993018616A1 *Mar 10, 1993Sep 16, 1993Teledirektoratets ForskningsavPicture data encoding method* Cited by examinerNon-Patent CitationsReference1 *A Reversible Code Over; Kybernetika vol. 22, (1986), No. 1; Sunil Kumar Muttoo.2A Reversible Code Over; Kybernetika--vol. 22, (1986), No. 1; Sunil Kumar Muttoo.3 *Bidirectional Huffman Coding; The Computer Journal, vol. 33, No. 4, 1990; AS Fraenkel and T. Klein.4 *Enhancement of One Dimensional Variable Length DPCM Images Corrupted by Transmission Errors; I.E.E.E. Trans. On Communications 37 Apr., 1989, No. 4, New York, New York; Kenneth M. Rose.5Enhancement of One-Dimensional Variable-Length DPCM Images Corrupted by Transmission Errors; I.E.E.E. Trans. On Communications 37 Apr., 1989, No. 4, New York, New York; Kenneth M. Rose.6 *New Binary Encoding Schemes of Positive Integers, 2334 The Transactions of the Institute of Electronics, Information and Comm. Engineers E74; Sep., 1991, No. 9, Tokyo Japan; Yoko Miyakawa.* Cited by examinerReferenced byCiting PatentFiling datePublication dateApplicantTitleUS6683980 *Jul 28, 2000Jan 27, 2004Microsoft CorporationSystem and method for compressing dataUS6704494 *Jan 3, 2000Mar 9, 2004Kabushiki Kaisha ToshibaMoving picture coding and/or decoding systems, and variable-length coding and/or decoding systemUS6744928 *Mar 10, 1998Jun 1, 2004Matsushita Electric Industrial Co., Ltd.Variable-length decoding method and apparatus employing code length and a recording mediumUS6757441 *Aug 31, 2000Jun 29, 2004Canon Kabushiki KaishaImage data encoding/decoding method and apparatusUS6947602 *Dec 19, 2001Sep 20, 2005Canon Kabushiki KaishaImage processing method, apparatus, and storage mediumUS7050644Feb 26, 2004May 23, 2006Matsushita Electric Industrial Co., Ltd.Coding method and apparatus for input image data and a recording medium performing such methodUS7194137May 16, 2003Mar 20, 2007Cisco Technology, Inc.Variable length coding method and apparatus for video compressionUS7203372May 19, 2003Apr 10, 2007Cisco Technology, Inc.Extension of two-dimensional variable length coding for image compressionUS7212681Jan 15, 2003May 1, 2007Cisco Technology, Inc.Extension of two-dimensional variable length coding for image compressionUS7242328Feb 3, 2006Jul 10, 2007Cisco Technology, Inc.Variable length coding for sparse coefficientsUS7305035 *Apr 16, 2003Dec 4, 2007Matsushita Electric Industrial Co., Ltd.Variable length encoding method and variable length decoding methodUS7305174Oct 28, 2004Dec 4, 2007Microsoft CorporationSystem and method for compressing dataUS7324699Feb 15, 2007Jan 29, 2008Cisco Technology, Inc.Extension of two-dimensional variable length coding for image compressionUS7376187 *Mar 15, 2007May 20, 2008Kabushiki Kaisha ToshibaMoving picture coding and/or decoding systems, and variable-length coding and/or decoding systemUS7388914 *Mar 15, 2007Jun 17, 2008Kabushiki Kaisha ToshibaMoving picture coding and/or decoding systems, and variable-length coding and/or decoding systemUS7394942Jan 5, 2007Jul 1, 2008Cisco Technology, Inc.Variable length coding method and apparatus for video compressionUS7420993 *Aug 19, 2002Sep 2, 2008Mitsubishi Denki Kabushiki KaishaVariable length code multiplexer and variable length code demultiplexerUS7424730 *Sep 10, 2003Sep 9, 2008Microsoft CorporationMultimedia presentation latency minimizationUS7428684Oct 29, 2004Sep 23, 2008Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V.Device and method for concealing an errorUS7450643 *Jan 12, 2004Nov 11, 2008Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatusUS7454073Aug 3, 2004Nov 18, 2008Cisco Technology, Inc.Video compression using multiple variable length coding processes for multiple classes of transform coefficient blocksUS7454076Jun 15, 2004Nov 18, 2008Cisco Technology, Inc.Hybrid variable length coding method for low bit rate video codingUS7469364 *May 5, 2006Dec 23, 2008Kabushiki Kaisha ToshibaCoding apparatus and decoding apparatus for transmission/storage of information using synchronization codeUS7471840Aug 18, 2004Dec 30, 2008Cisco Technology, Inc.Two-dimensional variable length coding of runs of zero and non-zero transform coefficients for image compressionUS7471841Feb 28, 2005Dec 30, 2008Cisco Technology, Inc.Adaptive breakpoint for hybrid variable length codingUS7483584Jul 22, 2004Jan 27, 2009Cisco Technology, Inc.Extended hybrid variable length coding of transform coefficients for video compressionUS7486212Jun 11, 2007Feb 3, 2009Cisco Technology, Inc.Variable length coding for sparse coefficientsUS7492956Aug 18, 2004Feb 17, 2009Cisco Technology, Inc.Video coding using multi-dimensional amplitude coding and 2-D non-zero/zero cluster position codingUS7499595Feb 28, 2005Mar 3, 2009Cisco Technology, Inc.Joint amplitude and position coding for photographic image and video codingUS7499596Feb 28, 2005Mar 3, 2009Cisco Technology, Inc.Amplitude coding for clustered transform coefficientsUS7506221 *May 5, 2006Mar 17, 2009Kabushiki Kaisha ToshibaCoding apparatus and decoding apparatus for transmission/storage of information using synchronization codeUS7620258Nov 9, 2005Nov 17, 2009Cisco Technology, Inc.Extended amplitude coding for clustered transform coefficientsUS7649941May 15, 2009Jan 19, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatusUS7649942May 15, 2009Jan 19, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatusUS7656950May 28, 2003Feb 2, 2010Diego GarridoVideo interpolation codingUS7672375Nov 26, 2008Mar 2, 2010Kabuhsiki Kaisha ToshibaVideo encoding/decoding method and apparatusUS7675973Nov 26, 2008Mar 9, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatusUS7675975May 14, 2009Mar 9, 2010Kabuhsiki Kaisha ToshibaVideo encoding/decoding method and apparatusUS7680183Mar 19, 2007Mar 16, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatusUS7680184Nov 26, 2008Mar 16, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatusUS7680349Mar 20, 2006Mar 16, 2010Cisco Technology, Inc.Variable length coding for clustered transform coefficients in video compressionUS7684485May 15, 2009Mar 23, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatusUS7685305Jun 28, 2005Mar 23, 2010Microsoft CorporationMedia coding for loss recovery with remotely predicted data unitsUS7702018Nov 26, 2008Apr 20, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatusUS7715477 *May 28, 2003May 11, 2010Diego GarridoClassifying image areas of a video signalUS7734821 *Mar 22, 2005Jun 8, 2010Microsoft CorporationMedia coding for loss recovery with remotely predicted data unitsUS7738557May 15, 2009Jun 15, 2010Kabushiki Kaisha ToshibaVideo encoding apparatusUS7843996Jun 10, 2009Nov 30, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7848412Jul 28, 2009Dec 7, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7848413Jul 29, 2009Dec 7, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7848414Jul 29, 2009Dec 7, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7848415Jul 29, 2009Dec 7, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7848417Jun 10, 2009Dec 7, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7848418Jun 10, 2009Dec 7, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7848419Jun 10, 2009Dec 7, 2010Kabushiki Kaisha ToshibaVideo encoding/ decoding method and apparatus for motion compensation predictionUS7848420Jun 10, 2009Dec 7, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7848421Jun 10, 2009Dec 7, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7848422Jun 10, 2009Dec 7, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7848423Jun 10, 2009Dec 7, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7848431Jul 23, 2009Dec 7, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7852917Jul 29, 2009Dec 14, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7852918Jul 30, 2009Dec 14, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7852920Jun 9, 2009Dec 14, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7852921Jun 10, 2009Dec 14, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7852922Jun 10, 2009Dec 14, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7852923Jun 10, 2009Dec 14, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7852924Jun 10, 2009Dec 14, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7852925Jun 25, 2009Dec 14, 2010Kabushiki Kaisha ToshibaVideo encoding/ decoding method and apparatus for motion compensation predictionUS7852926Jun 25, 2009Dec 14, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7852927Jun 26, 2009Dec 14, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7852928Jun 26, 2009Dec 14, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7852929Jun 26, 2009Dec 14, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7852930Jun 29, 2009Dec 14, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7852931Jun 30, 2009Dec 14, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7852932Jun 30, 2009Dec 14, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7852933Jun 30, 2009Dec 14, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7852934Jun 30, 2009Dec 14, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7852935Jun 30, 2009Dec 14, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7852942Jun 29, 2009Dec 14, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7852943Jul 23, 2009Dec 14, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7852944Jul 28, 2009Dec 14, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7852945Jul 28, 2009Dec 14, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7852946Jul 28, 2009Dec 14, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7852947Jul 28, 2009Dec 14, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7856056Nov 26, 2008Dec 21, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7856057May 14, 2009Dec 21, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7856058Jun 30, 2009Dec 21, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7856061Jul 28, 2009Dec 21, 2010Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7860163Jul 30, 2009Dec 28, 2010Kabushiki Kaisha ToshibaVideo encoding/ decoding method and apparatus for motion compensation predictionUS7860164Jun 10, 2009Dec 28, 2010Kabushiki Kaisha ToshibaVideo encoding/ decoding method and apparatus for motion compensation predictionUS7860171Jun 10, 2009Dec 28, 2010Kabushiki Kaisha ToshibaVideo encoding/ decoding method and apparatus for motion compensation predictionUS7864844May 15, 2009Jan 4, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7864845May 15, 2009Jan 4, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7864846Jul 29, 2009Jan 4, 2011Kabushiki Kaisha ToshibaVideo encoding/ decoding method and apparatus for motion compensation predictionUS7864847Jul 30, 2009Jan 4, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7864848Jan 14, 2010Jan 4, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7864850Jun 10, 2009Jan 4, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7864851Jun 10, 2009Jan 4, 2011Kabushiki Kaisha ToshibaVideo encoding / decoding method and apparatus for motion compensation predictionUS7864852Jun 10, 2009Jan 4, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7864853Jun 26, 2009Jan 4, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7864854Jun 30, 2009Jan 4, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7864855Mar 19, 2007Jan 4, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7864856May 15, 2009Jan 4, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7864861Mar 19, 2007Jan 4, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7864862May 15, 2009Jan 4, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatusUS7869506Oct 15, 2009Jan 11, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7869507Jan 14, 2010Jan 11, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7869508Jan 14, 2010Jan 11, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7869509Jun 9, 2009Jan 11, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7869510Jun 10, 2009Jan 11, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7869511Jun 10, 2009Jan 11, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and for motion compensation predictionUS7869512Jun 10, 2009Jan 11, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7869513Jun 10, 2009Jan 11, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7869514Jun 30, 2009Jan 11, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7869515Jun 30, 2009Jan 11, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7869519Jul 27, 2009Jan 11, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7869520Jun 25, 2009Jan 11, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7869521Jun 25, 2009Jan 11, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7873108Nov 26, 2008Jan 18, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatusUS7873109Jun 10, 2009Jan 18, 2011Kabushiki Kaisha ToshibaVideo encoding/ decoding method and apparatus for motion compensation predictionUS7876817Mar 19, 2007Jan 25, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7876822May 8, 2009Jan 25, 2011Kabushiki Kaisha ToshibaVideo encoding/ decoding method and apparatus for motion compensation predictionUS7876823May 15, 2009Jan 25, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7876824Jun 10, 2009Jan 25, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7876825Jun 10, 2009Jan 25, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7876826Jun 25, 2009Jan 25, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7876827Jun 30, 2009Jan 25, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7876831Jan 13, 2010Jan 25, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7876834Mar 19, 2007Jan 25, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7881378Jun 10, 2009Feb 1, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7881379Nov 26, 2008Feb 1, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7881380Oct 13, 2009Feb 1, 2011Kabushiki Kaisha ToshibaVideo encoding/ decoding method and apparatus for motion compensation predictionUS7881381Oct 13, 2009Feb 1, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7881382Oct 13, 2009Feb 1, 2011Kabushiki Kaisha ToshibaVideo encoding/ decoding method and apparatus for motion compensation predictionUS7881383Oct 13, 2009Feb 1, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7885328Jan 13, 2010Feb 8, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7889796Jun 10, 2009Feb 15, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7889797Jun 10, 2009Feb 15, 2011Kabushiki Kaisha ToshibaVideo encoding/decoding method and apparatus for motion compensation predictionUS7912306Nov 25, 2009Mar 22, 2011Cisco Technology, Inc.Variable length coding for clustered transform coefficients in video compressionUS7929607Jan 30, 2009Apr 19, 2011Kabushiki Kaisha ToshibaVideo encoding/ decoding method and apparatus for motion compensation predictionUS8023561Jul 25, 2007Sep 20, 2011Innovation Management SciencesPredictive interpolation of a video signalUS8085844Nov 15, 2004Dec 27, 2011Microsoft CorporationSignaling reference frame distancesUS8111934Mar 21, 2007Feb 7, 2012Cisco Technology, Inc.Extension of two-dimensional variable length coding for image compressionUS8131096Mar 5, 2011Mar 6, 2012Cisco Technology, Inc.Variable length coding for clustered transform coefficients in video compressionUS8494295Feb 16, 2012Jul 23, 2013Cisco Technology, Inc.Variable length coding for clustered transform coefficients in video compressionUS8548051Feb 3, 2010Oct 1, 2013Microsoft CorporationMedia coding for loss recovery with remotely predicted data unitsUS8634413Dec 30, 2004Jan 21, 2014Microsoft CorporationUse of frame caching to improve packet loss recoveryDE10219133A1 *Apr 29, 2002Nov 13, 2003Fraunhofer Ges ForschungVorrichtung und Verfahren zum Verschleiern eines FehlersDE10219133B4 *Apr 29, 2002Feb 22, 2007Fraunhofer-Gesellschaft zur F�rderung der angewandten Forschung e.V.Vorrichtung und Verfahren zum Verschleiern eines FehlersWO2003094358A1 *Apr 7, 2003Nov 13, 2003Fraunhofer Ges ForschungDevice and method for masking a fault* Cited by examinerClassifications U.S. Classification375/240.23, 341/67, 348/464, 375/E07.279, 348/465, 375/E07.129, 375/E07.212, 375/E07.176, 375/E07.142, 375/E07.159, 341/61, 341/59, 375/E07.201, 375/E07.263, 375/E07.144, 375/E07.182International ClassificationH04N7/66, H04N7/36, H04N7/50, H04N7/64, G06T9/00Cooperative ClassificationH04N19/61, H04N19/176, H04N19/89, H04N19/69, H04N19/52, H04N19/187, H04N19/159, H04N19/46, H04N19/93, H04N19/152, H04N19/70, H04N19/65, H04N19/66, H04N19/37European ClassificationH04N7/26M6E2, H04N7/26A6S2, H04N7/50, H04N7/26Y, H04N7/26Z12, H04N7/26E4, H04N7/66, H04N19/00R, H04N19/00R4, H04N19/00R1, H04N7/26A8Y, H04N7/64, H04N7/26A6E6, H04N7/26A10S, H04N7/26A8B, H04N7/26A4VLegal EventsDateCodeEventDescriptionSep 21, 2011FPAYFee paymentYear of fee payment: 12Sep 24, 2007FPAYFee paymentYear of fee payment: 8Sep 26, 2003FPAYFee paymentYear of fee payment: 4May 4, 1998ASAssignmentOwner name: KABUSHIKI KAISHA TOSHIBA, JAPANFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHUJOH, TAKESHI;WATANABE, TOSHIAKI;KIKUCHI, YOSHIHIRO;AND OTHERS;REEL/FRAME:009166/0414Effective date: 19980417RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services