WO1999018674A1 - Variable length decoder and decoding method - Google Patents

Variable length decoder and decoding method Download PDF

Info

Publication number
WO1999018674A1
WO1999018674A1 PCT/JP1998/004460 JP9804460W WO9918674A1 WO 1999018674 A1 WO1999018674 A1 WO 1999018674A1 JP 9804460 W JP9804460 W JP 9804460W WO 9918674 A1 WO9918674 A1 WO 9918674A1
Authority
WO
WIPO (PCT)
Prior art keywords
decoding
error
encoded data
error detection
unit
Prior art date
Application number
PCT/JP1998/004460
Other languages
English (en)
French (fr)
Inventor
Takeshi Chujoh
Toshiaki Watanabe
Original Assignee
Kabushiki Kaisha Toshiba
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kabushiki Kaisha Toshiba filed Critical Kabushiki Kaisha Toshiba
Priority to US09/319,160 priority Critical patent/US6829299B1/en
Priority to CA 2273169 priority patent/CA2273169C/en
Priority to EP98945588A priority patent/EP0966107A4/en
Priority to BR9806295A priority patent/BR9806295A/pt
Priority to AU92826/98A priority patent/AU726301B2/en
Publication of WO1999018674A1 publication Critical patent/WO1999018674A1/ja
Priority to NO19992619A priority patent/NO992619L/no
Priority to US10/957,733 priority patent/US7236530B2/en
Priority to US10/974,704 priority patent/US7136416B2/en
Priority to US10/974,878 priority patent/US7203239B2/en
Priority to US11/730,495 priority patent/US20070183506A1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/69Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving reversible variable length codes [RVLC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Definitions

  • variable length code is used in a general standard method such as MPEG1, MPEG2, H.261, H.263.
  • variable-length coded Z-decoding device Even when such a variable-length coded Z-decoding device is used, an error in encoded data can be detected only when a bit pattern that is not used as a code word of a variable-length code appears. In some cases, the error may be found not at the position where the error is truly mixed but at a position much later than that. This is because, even at the position where the error is actually mixed, a bit pattern not used for the variable-length code word does not always appear there, but is used for the variable-length code word. This is because the decoding process is continuously performed as long as there is a corresponding bit pattern. Therefore, there arises a problem that a codeword that is originally incorrect is erroneously decoded as a correct codeword.
  • variable-length decoding device when decoding a variable-length code, there is a case where an originally correct code word is incorrectly decoded as a correct code word.
  • an error appears on the screen.
  • the present invention is directed to a variable length decoding device and a decoding method capable of reducing occurrence of a situation where a code word that is originally incorrect is erroneously decoded as a correct code word and realizing a sufficient error tolerance.
  • the purpose is to provide. Disclosure of the invention
  • the present invention provides an input unit that receives encoded data composed of a variable-length code composed of a codeword including a codeword that can be decoded in both forward and reverse directions, and an order in which the encoded data is decoded from the forward direction.
  • each of the forward decoding section and the backward decoding section has a section for detecting an error in the encoded data
  • the decoded value determination section comprises the forward decoding section.
  • An error detection position on a bit of the encoded data indicating an error position of the encoded data detected by the encoding unit, an error detection position on a syntax of the encoded data, and the reverse decoding unit.
  • Error position of the encoded data detected by And a variable length decoding device for determining decoding ⁇ S by using an error detection position on a bit of the encoded data and an error detection position on a syntax of the encoded data. I do.
  • the error detection position is determined by two types of positions: a bit position and a syntax position.
  • the position information is notified to the decoded value determination unit. Therefore, the true error position can be double-checked between the error detection position on the bit and the error detection position on the syntax, and only the decoding result corresponding to the correct codeword can be used with a strong probability. As a result, it is possible to reduce the possibility that an originally correct code word is erroneously decoded as a correct code word.
  • the decoding value determination method by the decoding value determination unit includes:
  • the forward decoding result is used as the decoded value for the codeword immediately before the error finding position on the syntax by the backward decoding unit, and the value immediately after the error finding position on the syntax by the forward decoding unit is used.
  • the decoding result of the forward direction is used as the decoded value for the codeword immediately before the error detection position on the bit by the backward decoding unit, and the decoding of the codeword immediately after the error position on the bit by the forward decoding unit is used.
  • the result of decoding in the reverse direction as the value, discarding the coded data where the bit error detection position intersects,
  • the forward decoding result is used as a decoded value for the codeword immediately before the error detection position by the backward decoding unit, and the decoded value for the codeword immediately after the error detection position in the forward decoding unit is used as the decoded value. It is preferable to discard the coded data at the part where the error positions intersect using the decoding result in the reverse direction.
  • the error detection position of the variable length code is much later than the position where the original error was entered, the error detection position does not cross in the forward or reverse direction.
  • the present invention provides a variable-length code generated by encoding a transform coefficient obtained by orthogonally transforming a moving image signal using a codeword that can be decoded in both the forward and reverse directions.
  • An input unit that receives encoded data of a moving image signal including the encoded data; a synchronous interval detecting unit that detects a synchronous interval of the encoded data; and encoded data of a predetermined synchronous interval detected by the synchronous interval detecting unit.
  • the decoding value determination method of the decoding value determination unit in this video decoding device includes: (a) the error detection position by the forward decoding unit and the reverse decoding unit is If the location does not intersect,
  • the forward decoding result is used as the decoded value for the macroblock immediately before the error detection position on the bit by the backward decoding unit, and the macroblock immediately after the error detection position on the bit by the forward decoding unit is used.
  • the decoding result in the reverse direction as the decoding value, discarding the coded data consisting of the conversion coefficient of the Mac mouth block where the error detection position on the bit crosses,
  • the intra-frame coding mode has a large effect on the screen when an error occurs. Specifically, a phenomenon occurs in which an incorrect coefficient is displayed and an unnatural color block appears on the screen. Therefore, if it is known that at least an error has occurred in the synchronization section, discarding the macroblock in the intra-frame coding mode can reduce the influence on the screen.
  • the decoded value determination unit displays the previous screen in the intra-frame encoding mode or processes the macro block in which the encoded data has been discarded in a mode in which no encoding is performed, and processes the macro block in the frame prediction. In the case of the coding mode, motion compensation is performed.
  • the previous screen is displayed or processed as a mode in which no coding is performed.
  • Has a motion vector of the upper layer and by using it to perform motion compensation, it is possible to create a very natural image without DCT coefficients. That is, the DCT coefficient is in the lower layer, and the motion vector is in the upper layer. Therefore, even if there is no lower DCT coefficient, if there is a higher motion vector, an image can be created.
  • FIG. 1 is a diagram for explaining a first method of forming a codeword of a reversible code.
  • 2A and 2B are diagrams illustrating a forward code tree and a backward code tree, respectively.
  • FIG. 3 is a diagram for explaining a second method of forming a codeword of a reversible code.
  • FIG. 4 is a diagram for explaining a third method of forming a codeword of a reversible code.
  • FIG. 5 is a block diagram showing a configuration of an encoded Z decoding system using the variable length decoding device according to the first embodiment of the present invention.
  • FIGS. 6A and 6B are diagrams illustrating examples of the syntax of encoded data used in the variable-length decoding device according to the first embodiment.
  • FIGS. 7A and 7B are diagrams for explaining the principle of a first decoded value determination method in the variable length decoding device according to the first embodiment.
  • FIGS. 8A and 8B are diagrams for explaining the principle of a second decoded value determination method in the variable length decoding device according to the first embodiment.
  • FIG. 9 is a flowchart illustrating a procedure of a decoding value determination method of the variable length decoding device according to the first embodiment.
  • FIG. 3 shows a second configuration method of the codeword of the reversible code.
  • a first reversible code and a second reversible code are prepared.
  • the first one codeword of the second reversible code is added to the end of all codewords of the first reversible code.
  • the rearrangement is performed as shown on the right side of FIG. To form a new reversible code.
  • variable-length decoder 12 the synchronization section of the coded data input from the transmission system or the storage system 13 is detected by the synchronization section detection unit 106, and the coded data is Is performed.
  • switch S is connected to the ⁇ side and forward-decoded by the forward demultiplexer 12 3. Normal forward decoding using the direction codeword table 124 is performed.
  • the encoded data decoded by the forward decoder 123 is sent to a decoded value determination unit 125.
  • switch S is connected to the B side, and all the encoded data in the synchronous section ⁇ is temporarily stored in the buffer 122.
  • the encoded data stored in the buffer 1 22 by the forward decoder 1 2 3 etc. By counting the number of bits, the total number of bits of coded data consisting of a variable-length code that can be decoded in both directions can be checked. Thereafter, the encoded data is read out from the buffer 122, and normal forward decoding using the forward codeword table 124 is started by the forward decoder 123. This forward decoding is performed while checking whether there is an error in the encoded data.
  • the error detection position on the bit and the error detection position on the syntax are sent to the decoded value determination unit 125.
  • the error detection position on the bit indicates the number of bits of the code detection data at which the error is detected from the start of synchronization.
  • the error detection position on the syntax indicates, for example, what code word is counted as the position where the same error is detected from the start of synchronization.
  • the coded data is divided into two layers, D information in the upper layer and G information in the lower layer. It is encoded so that there are m codewords. If the D information is composed of n code words, the G information following the D information will be composed of n X m code words.
  • a synchronization section is set in units of D information and subsequent G information, and a resynchronization marker (RM 1) is inserted therein.
  • RM 2 is also set between the D information and G information.
  • FIGS. 7 and 8 are diagrams showing the operation of the decoded value determination unit 304 when decoding encoded data of G information composed of a bidirectionally decodable variable length code. First, the following function is defined for G information.
  • FIG. 7B shows a case where error detection positions of the forward decoder 123 and the backward decoder 126 do not intersect at a bit position but intersect at a code word position, that is, L 1 + L2 ⁇ L, and Wl + W2 ⁇ W.
  • each codeword included in the coded data has a bit pattern with a bit number smaller than its true bit number. This occurs when, for example, it has been decrypted.
  • W-W2 code words from the forward direction and W-W1 code words from the reverse direction are used, and the remaining code words are discarded.
  • FIG. 7A shows the case where the error detection positions of the forward decoder 123 and the backward decoder 126 intersect at a bit position but do not intersect at a codeword position, that is, L1 + L2 ⁇ L and Wl + W2 ⁇ W.
  • each codeword included in the encoded data has a bit pattern codeword that has a larger number of bits than its true number of bits. This occurs when, for example, it has been decrypted.
  • variable length decoder 12 of the present embodiment Next, a procedure of a decoding processing method by the variable length decoder 12 of the present embodiment will be described.
  • this decoding processing method basically performs decoding in the forward direction until an error is detected in encoded data using a variable-length codeword that can be decoded in both directions.
  • the decoding process in the reverse direction is performed until an error is detected in the encoded data.
  • the decoding is started in the forward and reverse directions, the error detection position on the bit and the error detection position on the syntax of the coded data detected in the forward and reverse decoding are calculated. The decryption value is determined by using this.
  • FIG. 9 is a flowchart showing a procedure of a decoding processing method for variable-length encoded data composed of reversible codes.
  • step S101 the aforementioned functions L, W, Wl, W2, L l, L 2, f_ code (Ll), you define a b_ CO de (L2), the decoding of the forward from G information leading synchronization interval Start (step S101). If no error is found in the synchronization section in the forward decoding process, the decoding process ends (step S102). On the other hand, if an error is found in the forward decoding processing, decoding in the backward direction starts from the G information at the end of the synchronization section (step S103). If an error is found in the forward decoding process, the error is usually found in the reverse decoding process.
  • Step S 106 If the error detection position does not intersect at the bit position but does intersect at the codeword position, that is, if L1 + L2 ⁇ L and Wl + W2 ⁇ W, (Step S 106), W—W2 code words from the forward direction and W—W1 code words from the reverse direction are used, and the remaining code words are discarded (step S107).
  • the error detection position is other than that, specifically, if it crosses both the bit position and the code word position, that is, L1 + L2 ⁇ L and W1 + W2 W
  • FIG. 10 shows a configuration of a moving image signal variable-length encoding / decoding device according to the second embodiment.
  • This moving picture coding / decoding device includes a moving picture encoder (video encoder) 21, a moving picture decoding apparatus 22, and a transmission or storage system 23.
  • the data coded by the information source encoder 202 is divided into an upper layer and a lower layer by a video multiplexer 203, and is subjected to variable-length coding. Multiplexing of hierarchical data and lower hierarchical data, setting of a synchronization section, and the like are performed. After the data is smoothed by the transmission buffer 204, it is sent to the transmission system or the storage system 23 as encoded data.
  • the coding control unit 201 controls the information source coder 202 and the video multiplexing unit 203 in consideration of the buffer amount of the transmission buffer 204.
  • the encoded data from the transmission system or the storage system 23 is stored in the receiving buffer 205, and the encoded data is stored in the video demultiplexer 206. Multiplexing and demultiplexing of the upper layer and the lower layer and their variable length decoding are performed for each synchronization section of the data, and then sent to the information source decoder 207. Decoded.
  • the coded data received by the reception buffer 205 is sent to the demultiplexer 501, where a synchronization section is detected, and the coded data of the upper layer and the lower layer are separated for each synchronization section. Then, they are sent to the upper layer variable length decoder 502 and the lower layer variable length decoder 503, respectively, and are subjected to variable length decoding.
  • the encoded data is hierarchized into upper layers (Fig. 12A) and lower layers (Fig. 12B) for each video packet.
  • the synchronization section is set by the resynchronization force (RM) and the motion marker (MM), respectively.
  • the lower-layer ST is a stuffing code.
  • a part of the mode information and the motion vector information of the macroblock which is the unit of predictive coding of the video signal, are regarded as the upper layer, and a part of the mode information and the INT RADC (intra-frame coding And the DCT coefficient information in the lower layer.
  • a synchronization code indicating the delimiter is set between these pieces of information.
  • a reversible code is applied to the DCT coefficient information.
  • the coded data of the lower layer is the lower layer variable length. It is sent to the decoder 503.
  • the switch S is connected to the A side until the DCT coefficient information is obtained in the syntax, and the forward codeword table is output by the forward decoder 704. Normal forward decoding using 703 is performed.
  • the coded data decoded by the forward decoder 704 is sent to a decoded value determination unit 705, and if an error is detected, the upper layer variable length decoder 502 It is compared with the decryption result to determine the decryption result.
  • the switch S is connected to the B side, and all the DCT coefficient information in the synchronization section is stored in the buffer 702.
  • the forward decoder 704 By counting the number of bits of the coded data stored in the buffer 702 by the forward decoder 704, etc., the total number of bits of DCT coefficient information consisting of variable length codes that can be decoded bidirectionally Is examined.
  • the encoded data is read from the buffer 702, and normal forward decoding using the forward codeword table 703 is started by the forward decoder 704. This forward decoding is performed while checking whether there is an error in the encoded data.
  • the data to be decoded If there is no error, or if there is a possible syntax error or condition, it is detected that an error has occurred at the discovery position.
  • the state that is impossible in terms of syntax means, for example, a state in which the sum of the number of zero runs and the number of non-zero coefficients is larger than 64 in each block of 8 ⁇ 8 DCT coefficients.
  • the error detection position on the bit and the error detection position on the syntax are sent to the decoded value determination unit 705 as information indicating the position.
  • the error detection position on the bit indicates the bit number of the encoded data at which the error is detected from the start of the synchronization of the DCT coefficient information
  • the error detection position on the syntax is For example, it indicates the number of the macroblock counted from the start of synchronization when the same error is detected.
  • the switch T When an error is detected by the forward decoder 704, the switch T is turned on, and the encoded data stored in the buffer 122 is sent to the reverse decoder 708 this time. Therefore, decoding from the backward direction using the backward codeword table 707 is started. This reverse decoding is also performed while checking whether there is an error in the encoded data composed of the DCT coefficient information that can be decoded in both directions.
  • the conditions for error detection are the same as in the case of the forward decoder 704, and if an error is found in reverse decoding, the decoding is normally completed before the error is found.
  • the error detection position on the bit and the error detection position on the syntax are sent to the decoded value determination unit 705 as information indicating the position where the error is found.
  • the decoded value determination unit 705 compares the decoded result of the forward decoder 704 with the decoded result of the backward decoder 708 to determine the final decoded result. That is, based on both the bit and syntax error detection positions notified from the forward decoder 704 and the backward decoder 708, a correct macroblock is determined. The boundary between the macroblock and the macroblock is determined twice, and only the macroblock for which all codewords are deemed to be correct with a considerable probability as the decoded value of the decoded value from the forward direction and from the reverse direction. The decoding result is selectively used, and other macroblocks are discarded.
  • FIG. 14 shows an example of the configuration of the information source decoder 207.
  • the mode judgment circuit 804 to which the mode information is input selects the mode switching switch 805 off if the mode information is INTRA, and disconnects from the frame memory 806.
  • the DCT coefficient information is inversely quantized by the inverse quantization circuit 801 and the IDCT circuit At 802, inverse discrete cosine transform processing is performed. As a result, a reproduced image signal is generated.
  • the reproduced image signal is stored in the frame memory 806 as a reference image, and is output to the display device as a reproduced image signal.
  • the mode switching switch 805 is turned on, and the adder 803 is connected to the frame memory 806.
  • the DCT coefficient information is inversely quantized by the inverse quantization circuit 801, subjected to inverse discrete cosine transform processing by the IDCT circuit 802, and obtained by performing motion compensation on the reference image of the frame memory 806 based on the motion vector information.
  • the obtained information and the adder 803 are added to generate a reproduced image signal.
  • the reproduced image signal is stored as a reference image in the frame memory 806, and is output as a reproduced image signal.
  • FIGS. 15A to 16B are diagrams showing the operation of the decoded value determining unit 705 when decoding the encoded data of the DCT coefficient information composed of the bidirectionally decodable variable length code.
  • N2 Number of macroblocks decoded in the reverse direction
  • FIG. 15A shows that even if the error detection position by each of forward decoder 704 and backward decoder 708 is a bit position, This shows a case where no intersection occurs even at a position on the macroblock, that is, a case where L1 + L2 ⁇ L and N1 + N2 ⁇ N.
  • the bits up to the T-bit retroactive position are used, and the coefficient information of the f_mb (Ll-T) macroblock from the forward direction and the bm (L2-T) macroblock from the reverse direction are used. Discard the remaining coefficient information.
  • Figure 15 ⁇ shows the case where the error detection positions of the forward decoder 704 and the reverse decoder 708 do not intersect at the bit position, but intersect at the macroblock position. That is, the case where L1 + L2 ⁇ L and N1 + N2 ⁇ N is shown. In this case, from the forward direction, N—N2-1 macroblocks, from the reverse direction,
  • N _ N 1 Use the coefficient information of one macroblock and discard the remaining coefficient information.
  • FIG. 16A shows a case where the error detection positions of the forward decoder 704 and the reverse decoder 708 each intersect at a bit position but do not intersect at a macroblock position. This shows the case where 1 + L 2 ⁇ L and Nl + N2 ⁇ N. In this case, the coefficient information of the Nb_mb (L2) macroblock from the forward direction and the Nf_mb (Ll) macroblock from the backward direction are used, and the remaining coefficient information is discarded.
  • FIG. 16B shows a case where the error detection positions of the forward decoder 704 and the reverse decoder 708 intersect at either a bit position or a macroblock position, that is, L 1 + L
  • L 1 + L This shows the case where 2 ⁇ L and N 1 + N2 N.
  • the coefficient of the min ⁇ N-b_mb (L2), NN 2-1 ⁇ macroblock is calculated from the forward direction
  • the coefficient of the min ⁇ N-f_mb (Ll), N-Nl-1] macroblock is calculated from the reverse direction. Use and discard remaining coefficients.
  • the macroblock whose DCT coefficients have been discarded either displays the previous screen as it is or processes it as a mode in which no coding is performed.
  • the decoding value is determined so as to be displayed by motion compensation (MC).
  • the DCT coefficients of the macro block in the part or all the INTRA modes may be discarded, and the part may be processed as a mode in which the power code for displaying the previous screen is not performed.
  • the I NTRA mode when an error occurs, the effect on the screen is large. Specifically, a phenomenon occurs in which an unnatural color block appears on the screen when the wrong coefficient is displayed. Therefore, at least within the synchronization interval If you know that an error has occurred, discarding the macro block in the INTRA mode can reduce the effect on the screen.
  • the DCT coefficients may be discarded in units of macroblocks, and may be performed in units of power blocks.
  • this decoding method basically performs decoding in the forward direction until an error is detected in DCT coefficient information composed of variable-length codewords that can be decoded in both directions.
  • decoding is performed in the reverse direction until an error is detected in the DCT coefficient information.
  • the result of decoding in the forward and reverse directions, and the position of the detected error on the bit and the position of the error detected on the syntax detected in the decoding in the forward and reverse directions are respectively determined.
  • the decryption value is determined by using this.
  • the functions L, N, Nl, N2, Ll, L2, f_m (L), and b_mb (L) are defined, and then the decoding process in the forward direction is started (step S201). If no error is found in this forward decoding process, the decoding process ends (step S202). On the other hand, if an error is found in the decoding process in the forward direction, decoding in the backward direction is started (step S203). If an error is found in the forward decoding process, the error is usually found in the reverse decoding process.
  • the T bit The bits up to the retrospective position are used, and from the forward direction, the coefficient of the f-m (Ll-T) macroblock, from the reverse direction, the coefficient information of the bmb (L2-T) macroblock is used, and the remaining coefficients are used. The information is discarded (step S205).
  • step S 206 If the error detection positions do not intersect at the bit position but intersect at the macroblock position, that is, if L1 + L2 ⁇ L and N1 + N2N (step S 206), from the forward direction, N—N2—1 macroblock, reverse From the direction, the coefficient information of the N—N 1-1 macroblock is used, and the remaining coefficient information is discarded (step S207).
  • step S208 If the error detection positions intersect at a bit position but do not intersect at a macroblock position, that is, if L1 + L2 ⁇ L and N1 + N2 ⁇ N (step S208), using the coefficient information of the N-b-mb (L2) macroblock from the forward direction and the N-f_mb (L1) macroblock from the reverse direction, and discarding the remaining coefficient information (step S209) ).
  • step S210 From the macro block, from the reverse direction, use the coefficients of the min ⁇ N-f_mb (Ll), N-N 1-1 ⁇ macro block, and discard the remaining coefficients (step S210). If an error is found, the DCT coefficients of all INTRA mode macroblocks within the same period are discarded, and the previous screen is displayed as it is, or processing is performed as a mode in which encoding is not performed. Is performed (step S21 1).
  • the previous screen is displayed as it is in the INTRA mode, or the processing is performed as a mode without encoding.
  • the decoded value is determined to be displayed by motion compensation (MC) (step S212).
  • the source encoder 202 shown in FIG. 10 performs an intra-block scan for each block of the 8 ⁇ 8 DCT coefficient after quantization, and LAST (0: non-zero coefficient not at the end of the block, 1: 1: end of the block , RUN (the number of zero runs up to the non-zero coefficient) and L EVEL (the quantized value of the coefficient), and send them to the video multiplexing unit 203.
  • the video multiplexing unit 203 includes an upper layer variable length coding unit and a lower layer variable length coding unit, and includes a lower layer variable length coding unit that performs variable length coding using reversible codes.
  • the codeword table includes the four tables shown in Figs. 22 to 26. ing. FIG.
  • FIG. 22 is an I NDEX table for retrieving the I NDEX value of the codeword table of FIGS. 25 and 26 from the RUN and LEVEL of the non-LAST coefficient of the INTRA (frame encoding).
  • FIG. 23 is an I NDEX table for searching the NDEX value of the codeword table of FIGS. 25 and 26 from the RUN and LEVEL of the non-LAST coefficient of I NTER (interframe coding).
  • FIG. 24 is an I NDEX table for searching the NDEX value of the code word table in FIGS. 25 and 26 from the RUN and LEVEL of the LAST coefficient common to the INTRA and the I NTER.
  • VLC-CODE reversible variable length codeword
  • an INDEX table to be used is selected according to the prediction mode specified by the mode information of the upper layer (step S301).
  • the prediction mode is INTRA
  • the INDEX table of FIG. 22 and the I NDEX table of FIG. 24 are selected.
  • the prediction mode is INTER
  • the INDEX table of FIG. 23 is selected.
  • the table and the I NDEX table in Figure 24 are selected.
  • step S302 it is checked whether or not the RUN and LEVEL values of the DCT coefficients to be encoded are equal to or less than the maximum values of RUN and LEVE L defined in the INDEX table to be used. If it is less than the maximum value of RUN and LEVE L defined in the INDEX table, the NDEX table is searched using the values of RUN and LEVE L, and the code word table shown in FIGS. 25 and 26 is used. In order to search for I NDEX ⁇ humiliated (step S303). Next, it is determined whether the INDEX value obtained from the INDEX table is "0" or not (step S304). If it is not "0", the code word table shown in FIGS. 25 and 26 is used.
  • step S305 And outputs a reversible codeword corresponding to the INDEX value (step S305).
  • the last bit “s” of the reversible codeword in the codeword tables of FIG. 25 and FIG. 26 indicates the sign of the LEVEL, and when “s” is “0”, The sign of LEVEL is positive, and the sign of LEVEL is negative when "s" force S "1".
  • step S306 if the value of RUN and LEVEL to be encoded exceeds the maximum value of RUN and LEVEL defined in the I NDEX table to be used, or if the I NDEX value obtained from the I NDEX table is "0" , (LAST, RUN, L EVEL) are output with a fixed-length code and ESCAPE codes are added to both ends (step S306). That is, the values of RUN and LEVE L are converted into 6-bit and 7-bit fixed-length codes by the RUN fixed-length codeword table in FIG. 27 and the LEVE L fixed-length codeword table in FIG. 28, respectively. As shown in FIG. 29, one bit corresponding to the value of LAST is added to the head of the long code.
  • ESCAPE codes are added to both ends of the code string.
  • the first ESCAPE code is "00001”
  • the sign of the LEVEL is positive, and "s" force S "1"
  • the sign of LEVEL is negative.
  • the forward codeword table 703 and the backward codeword table 707 include the codeword table shown in FIGS. 25 and 26, the RUN fixed-length codeword table in FIG. 27, and the LEVEL in FIG. 28, respectively.
  • decoding direct tables as shown in FIGS. 30 and 31 are prepared in advance as codeword tables.
  • the decoded values of (LAST, RUN, LEVEL) corresponding to the I NDEX value are set for each of the I NTRA and I NT E R modes.
  • the encoded data is decoded, and the INDEX value corresponding to the reversible codeword is obtained using the codeword tables shown in FIGS. 25 and 26. Step S401).
  • it is checked whether or not the I NDEX direct is "0" (step S402). If it is not "0", the decoded value table of FIG. 30 and FIG. By searching, a decoded value of (LAST, RUN, LEVEL) corresponding to the prediction mode used and the INDEX value is obtained (step S403). If the I NDEX value is "0", it is an ESCAPE code, so the fixed-length code following (LAST, RUN, LEVEL) following the ESCAPE code is used using the fixed-length codeword table in Figs. 27 and 28. And decrypt it (step S404). Next, the last ESCAPE code is decoded (step S405). The positive / negative determination of LEVE L is performed using the last one bit of the codeword (step S406).
  • the first bit of the code word determines the sign of LEVEL (step S501).
  • an INDEX value corresponding to the reverse word is obtained using the code word tables shown in FIGS. 25 and 26 (step S502).
  • a decoded value of (LAST, RUN, LEVEL) corresponding to the used prediction mode and the INDEX value is obtained (step S504).
  • the fixed-length code of the following (LEVEL, RUN, LAST) is calculated using the fixed-length code word table shown in Figs. 27 and 28 because of the ESCAPE code.
  • Decryption is performed (step 505).
  • the first ESCAPE code is decoded (step S506). -Next, in the second embodiment! The following describes the procedure of the error detection processing performed in each of the forward and backward decoding processing.
  • FIG. 32 is a flowchart in a case where an error is found because a bit pattern that does not exist in the forward codeword table 124 appears in the encoded data.
  • the above-described decoding processing of the encoded data is performed. It is determined whether or not the INDEX value exists (step S601). If the INDEX value does not exist, it is determined that a nonexistent codeword pattern has appeared, and an error is found there (step S606).
  • step S602 it is first checked whether or not the INDEX value is "0" (step S602). E if the NDEX value is "0"
  • step S603 Since the encoding is performed using the CAPE code, it is checked whether or not the combination of (LAST, RUN, LEVEL) exists in the codeword table (step S603). If the combination exists in the codeword table, it is determined that a nonexistent codeword pattern has appeared, and an error is found there (step S606). If the combination of (LAST, RUN, LEVEL) does not exist in the codeword table, it is confirmed whether or not an ESC APE code exists after the fixed-length code (step S604). If the ESCAPE code does not exist, it is determined that it does not exist, that a codeword pattern has appeared, and an error is found there (step S).
  • step S605 if the ESCAPE code exists, it is determined that it is a correct and coded bit pattern, and a correct decoding process is performed (step S605).
  • step S605 if the INDEX value exists in the codeword table and the INDEX value is other than "0”, it is determined that the pattern is a correct code enable bit pattern, and a correct decoding process is performed (step S605). .
  • FIG. 33 is a flowchart in the case where an error is detected because an impossible state has occurred in the syntax.
  • a check is made to see if the sum of the number of zero runs and the number of non-zero non-zero coefficients is greater than 64 for each block of 8 ⁇ 8 DCT coefficients.
  • step S701 it is checked whether or not the DC component in the 8 ⁇ 8 DCT coefficient is included in the coded data of the DCT coefficient part of the AC component (step S701).
  • the variable SUM indicating the sum of the number of zero runs and the number of non-zero coefficients is set to "0" as an initial value (step S702). If not included, the initial value is set to the variable SUM. Is set to "1" (step S703).
  • the value of RUN indicating the number of zero runs up to the non-zero coefficient is increased by +
  • the value obtained by 1, that is, the value of RUN + 1 is added to the variable SUM (step S705).
  • the value of RUN is incremented by 1 because one even coefficient is decoded regardless of whether it is a zero coefficient or a non-zero coefficient.
  • FIG. 34 and FIG. 35 show another configuration in which ESCAPE codes are added to both ends.
  • the values of RUN and LEVE L are converted into 6-bit and 11-bit fixed-length codes by the RUN fixed-length codeword table in FIG. 23 and the LEVE fixed-length codeword table in FIG. 34, respectively.
  • “1” is set at both ends of LEVEL to limit the number of zero runs.
  • one bit corresponding to the value of LAST is added to the head of this code string.
  • ES CAPE codes are added to both ends of the code string.
  • the last bit “s” of this reversible code "0000 s” indicates the sign of LEVE L. When “s" is “0”, the sign of LEVEL is positive, “s” force; “1” When “”, the sign of LEVE L is negative.
  • FIG. 37 shows a variable-length coding processing procedure based on variable-length coding of a lower layer corresponding to FIG.
  • Steps S801 to S805 are the same as steps S301 to S305 in FIG. 19, respectively, and the difference from FIG. 19 is the step S806.
  • MarkerBit is set at both ends of LEVEL.
  • Steps S901, S902, S903, S905, and S906 in the forward decoding process of FIG. 38 are steps S401, S402, S403, S405, and S406 that constitute the forward decoding process of FIG. The same, and the difference from FIG. 20 is step S904.
  • step S904 not only the fixed-length code of (LAST, RUN, LEVEL) following the ESCAPE code, but also the fixed-length code of (LA ST, RUN, LEVEL) and MarkerBit following the ESCAPE code are decoded.
  • steps S1001, S1002, S1003, S1005, and S1006 in the backward decoding process of FIG. 39 are steps S501, S502, S503, and S503 constituting the backward decoding process of FIG. 505 and S506, and the difference from FIG. 21 is step S1005.
  • steps S1001, S1002, S1003, S1005, and S1006 in the backward decoding process of FIG. 39 are steps S501, S502, S503, and S503 constituting the backward decoding process of FIG. 505 and S506, and the difference from FIG. 21 is step S1005.
  • the fixed-length code of (LEVEL, RUN, LAST) not only the fixed-length code of (LEVEL, RUN, LAST) but also the fixed-length code of (LEVEL, RUN, LAST) and MarkerBit are decoded.
  • FIG. 36 shows another configuration in which ESCAPE codes are added to both ends.
  • a MarkerBit between fixed length codes of LEVEL as shown in FIG.
  • the code length of a synchronization code such as a resynchronization marker is 17 bits (16-bit zero run + 1; "00000000000000001"
  • the number of zero runs is limited to 15 bits or less.
  • Marker Bit is inserted between the fixed length codes of LEVEL as shown in Fig. 36. Is done. This makes it possible to avoid confusion with the synchronous code even when the fixed code length of LEVEL is long.
  • FIG. 40 is a flow chart showing a method for detecting a codeword pattern in which the AC-DCT section does not exist. This corresponds to FIG.
  • step S1101 in order to check whether a codeword exists in the codeword table, it is checked whether an INDEX value exists (step S1101). If the INDEX value does not exist, a nonexistent codeword pattern has occurred (step S1107). If the INDEX value exists, check whether the INDEX value is 0 (Step S1102), and if the INDEX value is 0, if it is encoded with the ES PACE code Then, the set of (LAST, RUN, LEVEL) is decoded to check whether it exists in the codeword table (step S1103). In the case of a combination that exists in the codeword tape, a nonexistent codeword pattern occurs (step S1107).
  • the MarkerBit confirms the correct force (step S1104). If MalkerBit is incorrect, a nonexistent codeword pattern has occurred (step S1107).
  • step S1105 If the combination does not exist in the codeword table and the Marker Bit force is correct, the force of the ESCAPE code after the fixed length code is confirmed (step S1105). If the ESCAPE code does not exist, a nonexistent codeword pattern has occurred (step S1107). If the ESCAPE code exists, decoding has been correctly performed (step S1106).
  • a process of determining whether or not MarkerBit is correct is added to the error detection processes performed in the forward and reverse decoding processes.
  • FIGS. 41 and 42 show still another configuration in which ESCAPE codes are attached to both ends.
  • the value of LEVEL is represented in two's complement notation as shown in FIG.
  • the sign is specified by the code word of LEVEL, the ESCAPE code at the end of the code string is "00001", and the code "s" indicating the sign of LEVEL is not used.
  • the RUN and LEVEL values are converted to fixed-length codes using the RUN fixed-length codeword table in Figure 27 and the LEVEL fixed-length codeword table in Figure 41, respectively. Is done. At this time, a Marker Bit of "1" is set up at both ends of LEVEL to limit the number of zero runs. As shown in FIG. 42, one bit corresponding to the value of LAST is added to the head of this code string. Further, ESC APE codes are added to both ends of the code string.
  • FIG. 43 shows a case where the fixed code length of LEVE L is 12 bits.
  • the number of LEVEL zero runs is 12 bits for the fixed code length of LEVEL, if the fixed code length of LEVE L is 13 bits or less, it is combined with the zero run of the last ES CAPE code of 4 bits. However, the total number of zero runs is smaller than the limit value (16 bits) when the synchronization code is 17 bits.
  • the limit of the number of zero runs is determined by the number of bits of the synchronization code. Therefore, when the code length of the synchronization code is set to be long, as shown in FIGS. Regardless of whether the absolute value or the two's complement representation is used as a word, insertion of the Marker Bit can be omitted.
  • Fig. 47 shows the forward decoding when two's complement representation is used as the codeword of LEVEL and MarkerB i is inserted, that is, when the encoded data sequence of Fig. 42, Fig. 43 or Fig. 46 is used. 2 shows the procedure of the conversion process.
  • step S906 is omitted.
  • the sign of LEVEL is also determined in the decoding process of (LAST, RUN, LEVEL) and the fixed-length code of Marker Bit in step S204. Will be determined.
  • Fig. 48 shows the reverse decoding when the two's complement representation is used as the codeword of LEVEL and the Marker Bit is inserted, that is, when the encoded data sequence shown in Fig. 42, Fig. 43 or Fig. 46 is used.
  • the procedure of processing is shown.
  • the difference from the backward decoding processing in FIG. 39 in which an absolute value is used as a code word of LEVEL is that the processing in step S1301 is omitted. That is, when the two's complement representation is used as the code word of LEVE L, the code of LEVEL is used in the decoding process of (LEVEL, RUN, LAST) and the fixed-length code of Marker Bit in step S1304. Is also determined.
  • Fig. 49 shows the case of using the two's complement representation as the code word of LEVEL and not using Marker Bit, that is, the forward decoding process in the case of using the encoded data sequence of Fig. 45. Is shown.
  • the difference from FIG. 47 is that in step S1204, decoding processing is performed only for the fixed-length code of (LAST, RUN, LEVEL).
  • Fig. 50 shows the procedure of the backward decoding process when the 2's complement representation is used as the LEVEL code word and the Marker Bit is not used, that is, when the encoded data sequence shown in Fig. 45 is used. ing.
  • the difference from FIG. 48 is that in step S1505, decoding processing is performed only on the fixed-length code of (LEVEL, RUN, LAST).
  • FIG. 51 is a block diagram showing a configuration of the variable-length decoder 109 according to the third embodiment of the present invention.
  • variable-length decoder 109 decodes coded data including a variable-length code for each synchronization section as in the first and second embodiments, and has the same basic configuration as the first and second embodiments. It is.
  • variable-length decoder 109 if the encoded data is a variable-length code that can be decoded only in the forward direction, the switch S is connected to A, and normal forward decoding is performed in the forward decoder 104. Done.
  • the encoded data decoded by the forward decoder 104 is sent to a decoded value determination unit 105.
  • switch S101 is connected to B, and the encoded data is stored in buffer 102, and the total of the encoded data is After the number of bits has been checked, it is decoded by the forward decoder 104.
  • the switch T105 When an error is found in the forward decoder 104, the switch T105 is turned on, and the code data stored in the buffer 102 is inverted by the reverse decoder 1 ⁇ 8. Decoding from the direction is performed.
  • Forward decoder 104 and backward decoder 108 determine that an error has occurred, for example, when a non-existent ray codeword appears.
  • the decoded value determining unit 105 determines the final decoded result by associating the decoded result of the forward decoder 104 with the decoded result of the backward decoder 108.
  • the error detection position of the coded data detected in the forward and backward decoding processing, the error rate of the transmission system or the storage system, the occurrence probability of each codeword, and the The final decoded value is determined by estimating the range in which an error exists from the bit pattern of each codeword. That is, as described above, in the first and second embodiments, the range of a certain amount (T codeword) from the position where the error is detected is fixedly specified as the error propagation range. In the third embodiment, an optimum value of T is obtained by estimating the error propagation range.
  • X is the code word of code X
  • 1 (X) is the code length of X.
  • a design is made so that the pattern does not collide with the pattern of the synchronization code (for example, 0 0 ⁇ 0 1).
  • a code is used that does not satisfy the inequality of Krait with an equal sign.
  • the probability P (y) of receiving the sequence y is Becomes Now, the sign ⁇ ⁇ of the sign X is finite, and for all X, ⁇ (X) ⁇ 0.
  • the received sequence y without error starts from the root of the code tree and always reaches the leaf.
  • the received sequence y may start or be received not only at the leaves of the code tree but also at the nodes, so the state transition diagram as shown in Fig. 55 Can be expressed as The transition probability t ⁇ for each state is. (6)
  • the probability that an error is detected after the i code word is the probability of being detected next in each state after the i-1 code word
  • the decoded value determination unit 105 calculates the forward codeword tape 1 13, the backward codeword table 108, the codeword occurrence probability P (X), the error rate ⁇ of the communication channel, and the estimated probability a range F 2 (a) which is present in the range a) and reverse error in the presence of errors in order direction calculates, from the relationship between the error detection position, determining a portion to be discarded.
  • a codeword that is originally incorrect is correct.
  • a variable-length decoding device and method capable of reducing the number of times of decoding and reducing the influence of errors in the transmission path.
  • a coded moving image signal may have many errors in a transmission path such as a wireless communication path. Even when transmitted via the environment, it is possible to reduce the effect on the display screen due to transmission path errors.
  • the probability that a codeword that is originally incorrect is correctly corrected and decoded is further reduced. Becomes possible. Industrial applicability

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Error Detection And Correction (AREA)

Description

明 細 書 可変長復号化装置および復号化方法 技術分野
本発明は、 例えば動画像信号などの圧縮符号ィヒに用いられる可変長符号から構 成される符号ィヒデータを復号する可変長復号化装置および復号ィヒ方法に関する。 背景技術
可変長符号は、 シンボルの発生頻度に基づいて、 頻繁に出現するシンボルに短 い符号長の符号を、 希にしか出現しないシンボルに長い符号長の符号をそれぞれ 割り当てることにより、 平均的に短い符号長の符号を生成する符号系である。 従 つて、 可変長符号を用いると、 符号化前のデータと比較して、 データ量を大幅に 圧縮することができる。 このような理由から、 可変長符号は広く情報圧縮のため の符号として用いられている。
動画像符号化方式においても、 M P E G l , M P E G 2 , H . 2 6 1 , H . 2 6 3といった一般的な標準方式で、 可変長符号が用いられている。
可変長符号の一般的な問題として、 符号化データに伝送路誤りやその他の理由 で誤りが混入した場合に、 誤りが混入した以後のデータにつレ、ては、 その影響が 伝搬することにより複号化装置で正しく復号することができなくなってしまうと いう点が挙げられる。 この問題を避けるため、 伝送路において誤りが生じる可能 性がある場合には、 ある間隔で同期符号をデータに挿入し、 誤りの伝搬を防止す る方法がとられるのが一般的である。 同期符号には、 可変長符号の組み合わせで は出現しないようなビットパターンが割り当てられる。 この方法によれば、 符号 化データに誤りが生じ、 復号できなくなったとしても、 次の同期符号を見つけて そこから復号を再開することにより、 誤りの伝搬を防止でき、 復号を,継続して行 うことが可能となる。
し力 し、 同期符号を用いた場合でも、 誤りが生じて正しく復号できなくなった 位置から、 次の同期符号が見つかる位置までの間の符号化データについては、 復 号を行うことができない。 そこで、 順方向及び逆方向の双方向に復号可能な可変長符号を用いて、 次の同 期符号から逆方向に復号することにより、 復号できない部分を減らすことのでき る可変長符号化 複号化装置が本出願人による特許出願 (特願平 7— 2 6 0 3 8 3号および特願平 9— 8 1 6 1 4号) で提案されている。
し力 し、 このような可変長符号化 Z復号ィ匕装置を用いた場合でも、 符号化デー タの誤りを検出できるのは、 可変長符号の符号語として使用してないビットパタ —ンが出現した場合等であるため、 本当に誤りが混入した位置ではなく、 それよ りもかなり後の位置で誤りが発見される場合がある。 これは、 実際に誤りが混入 した位置であっても、 そこに可変長符号の符号語に使用されてないビットパター ンが必ず出現するとは限らず、 可変長符号の符号語に使用されているビットパタ ーンの中に該当するものがある限り、 復号化処理は継続して行われてしまうから である。 したがって、 本来は正しくない符号語が誤って正しい符号語として復号 化されてしまうという問題が生じることになる。
一方、 これまで、 動画像符号ィヒ ·複号化装置の伝送路誤り対策としては、 様々 な方法が検討されている。 例えば、 文献 ( "画像符号化技術" 、 黒田英夫著、 昭 晃堂、 1 9 9 6 ) には、 伝送路誤り対策としていくつかの方法が開示されている。 その内、 復号化器側で行う技術としては、 エラ一コンシールメントが紹介されて いる。 エラーコンシールメントは、 符号化データに欠落があった場合、 画面上の 周囲の動きべクトルなどを使って、 誤りの影響ができるだけ画面に現れないよう にするテクニックである。
し力 し、 本来は正しくない符号語が正しいものとして復号されてしまった場合 には、 上述のエラーコンシールメン卜などのように誤りの影響ができるだけ現れ ないようにするテクニックを用いることはできず、 画面に誤りの影響が現れてし まうという問題が発生する。
特に、 フレーム内符号化 (I NT R A) モードでの誤りの影響はフレーム間予 測符号化 (I NT E R) モードの場合と比べて大きく、 不自然な色のブロックが 画面上に現れるなどの問題があった。
上述したように、 従来の可変長復号化装置では、 可変長符号を復号する際に、 本来は正しくなレ、符号語を誤つて正しレ、符号語として復号してしまうことがあり、 可変長符号化された動画像信号の復号に適用した場合には画面に誤りの影響が現 れてしまうなどの問題があつた。
本発明は、 本来は正しくない符号語が誤って正しい符号語として復号されてし まうという事態の発生を低減できるようにし、 十分な誤り耐十生を実現できる可変 長復号化装置および復号化方法を提供することを目的とする。 発明の開示
本発明は、 順方向にも逆方向にも復号可能な符号語を含む符号語で構成された 可変長符号からなる符号化データを受ける入力部と、 前記符号化データを順方向 から復号する順方向復号部と、 前記符号化データを逆方向から復号する逆方向復 号部と、 前記順方向復号化部および逆方向復号部の復号結果から最終的な復号結 果を出力する復号値決定部とを具備し、 前記順方向複号化部および逆方向復号部 の各々は前記符号化デ一タの誤りを検出する部を有し、 前記復号値決定部は、 前 記順方向複号化部によつて検出された前記符号化データの誤り位置を示す前記符 号化データのビット上の誤り発見位置および前記符号ィ匕データのシンタックス上 の誤り発見位置と、 前記逆方向復号化部によつて検出された前記符号化データの 誤り位置を示す前記符号化デ一タのビット上の誤り発見位置および前記符号化デ —タのシンタックス上の誤り発見位置とを利用して、 復号^ Sを決定する可変長復 号化装置を提供する。
この可変長復号化装置においては、 順方向複号化部および逆方向復号部の各々 によって誤りが発見された場合、 その誤り発見位置がビット上の位置とシンタツ クス上の位置との 2種類の位置情報として復号値決定部に通知される。 従って、 ビット上の誤り発見位置とシンタックス上の誤り発見位置とで 2重に本当の誤り 位置をチェックできるようになり、 力なりの確率で正しい符号語のみに対応する 復号結果だけを利用できるようになり、 本来は正しくなレ、符号語が誤つて正しい 符号語として復号されてしまうことを低減することが可能となる。
また、 復号値決定部による復号値決定方法としては、
( a ) 順方向複号化部および逆方向複号化部での誤り発見位置が、 ビット上の 位置でもシンタックス上の位置でも交差しなレ、場合、 順方向復号ィヒ部によるビット上またはシンタックス上の誤り発見位置の一定量 手前までの符号語に対する復号値として順方向の復号結果を使用し、 逆方向復号 部によるビット上またはシンタックス上の誤り発見位置の一定量後からの符号語 に対する復号値として逆方向の復号結果を使用し、 残りの符号化データを廃棄し、 ( b ) 順方向復号ィヒ部および逆方向複号化部による誤り発見位置が、 ビット上 の位置では交差しないが、 シンタックス上の位置で交差する場合、
逆方向復号化部によるシンタックス上の誤り発見位置の直前までの符号語に対 する復号値として順方向の復号結果を使用し、 順方向復号部によるシンタックス 上の誤り発見位置の直後からの符号語に対する復号値として逆方向の復号結果を 使用し、 シンタックス上の誤り発見位置が交差する部分の符号ィヒデータを廃棄し、 ( c ) 順方向複号化部および逆方向複号化部による誤り発見位置が、 ビット上 の位置で交差するが、 シンタックス上の位置では交差しなレ、場合、
逆方向復号化部によるビット上の誤り発見位置の直前までの符号語に対する復 号値として順方向の復号結果を使用し、 順方向復号部によるビット上の誤り位置 の直後からの符号語に対する復号値として逆方向の復号結果を使用し、 ビット上 誤り発見位置が交差する部分の符号化データを廃棄し、
( d ) 順方向複号化部および逆方向複号化部による誤り発見位置が、 ビット上 の位置でもシンタックス上の位置でも交差する場合、
交差する部分が最大となる位置を誤り発見位置と選択して、
逆方向復号ィヒ部による誤り発見位置の直前までの符号語に対する復号値として 順方向の復号結果を使用し、 前記順方向復号部での誤り発見位置の直後からの符 号語に対する復号値として逆方向の復号結果を使用し、 誤り位置が交差する部分 の符号化データを廃棄することが好ましい。
このように、 可変長符号の誤り発見位置が本来の誤りが入つた位置よりもかな り後になることを考慮して、 順方向にも逆方向にも誤り発見位置が交差しない
( a ) の場合は、 誤り発見位置よりも一定量さかのぼつた位置までの符号語を使 用し、 順方向か逆方向の誤り発見位置が何らかの形で交差する (b ) 〜 (d ) の 場合については、 交差範囲が広い部分を廃棄することにより、 本来は間違ってい る部分を正しいと判断してしまうということを、 効果的に防止することが可能と なる。
また、 本発明は、 動画像信号を直交変換することによって得られた変換係数を 順方向にも逆方向にも復号可能な符号語を用いて符号化することによって生成さ れた可変長符号を含む動画像信号の符号化データを受ける入力部と、 前記符号ィ匕 データの同期区間を検出する同期区間検出部部と、 前記同期区間検出部により検 出された所定の同期区間の符号化データを順方向から復号する順方向復号部と、 前記同期区間検出部により検出された所定の同期区間の符号化デ一タを逆方向か ら復号する逆方向復号部と、 順方向復号化部および逆方向復号部の復号結果から 最終的な復号結果を出力する復号値決定部とを有し、 前記順方向複号化部および 逆方向復号部の各々は前記符号ィヒデータの誤りを検出する誤り検出部を有し、 前 記復号値決定部は、 前記順方向復号ィ匕部によつて検出された前記符号化データの 誤り位置を示す前記符号化データのビット上の誤り発見位置および前記符号化デ —タのシンタックス上の誤り発見位置と、 前記逆方向復号化部によつて検出され た前記符号化データの誤り位置を示す前記符号化データのビット上の誤り発見位 置および前記符号化データのシンタックス上の誤り発見位置とを利用して、 復号 値を決定する動画像複号化装匱を提供する。
一般に、 動画像符号化方式の性質上、 本来正しい部分を廃棄してしまうことに よる影響よりも、 本来間違っている部分を正しいものと判断してしまうことによ る影響の方が表示画面に与える影響が大きい。 したがって、 ビット上の誤り発見 位置とシンタックス上の誤り発見位置とで 2重チェックを行うことにより、 本来 間違っている部分を正しいものと判断してしまうことによる表示画面への影響を 大幅に低減することが可能となる。
また、 この動画像復号化装置における復号値決定部の復号値決定方法としては、 ( a ) 順方向復号化部および逆方向複号化部による誤り発見位置が、 ビット上 の位置でもシンタックス上の位置でも交差しない場合、
順方向復号化部によるビット上またはシンタックス上の誤り発見位置の一定量 手前までのマク口プロックに対する復号値として順方向の復号結果を使用し、 逆 方向復号部によるビット上またはシンタックス上の誤り発見位置の一定量後から のマクロプロックに対する復号値として逆方向の復号結果を使用し、 残りのマク ロブロックの変換係数からなる符号化データを廃棄し、
( b ) 順方向複号化部および逆方向復号化部による誤り発見位置が、 ビッ ト上 の位置では交差しないが、 シンタックス上の位置で交差する場合、
逆方向復号化部によるシンタックス上の誤り発見位置の直前までのマクロプロ ックに対する復号値として順方向の復号結果を使用し、 順方向復号部によるシン タックス上の誤り発見位置の直後からのマク口プロックに対する復号値として逆 方向の復号結果を使用し、 シンタックス上の誤り発見位置が交差するマクロプロ ックの変換係数からなる符号化デ一タを廃棄し、
( c ) 順方向複号化部および逆方向復号ィヒ部での誤り発見位置が、 ビット上の 位置で交差するが、 シンタックス上の位置では交差しない場合、
逆方向復号化部によるビット上の誤り発見位置の直前までのマクロブロックに 対する復号値として順方向の復号結果を使用し、 順方向復号部によるビット上の 誤り発見位置の直後からのマクロプロックに対する復号値として逆方向の復号結 果を使用し、 ビット上の誤り発見位置が交差するマク口プロックの変換係数から なる符号化データを廃棄し、
( d ) 順方向復号ィヒ部および逆方向復号ィヒ部による誤り発見位置が、 ビット上 の位置でもシンタックス上の位置でも交差する場合、
交差する部分が最大となる位置を誤り発見位置と選択して、
逆方向復号化部による誤り発見位置の直前までのマク口プロックに対する復号 値として順方向の復号結果を使用し、 順方向復号部による誤り発見位置の直後か らのマクロブロックに対する復号値として逆方向の復号結果を使用し、 誤り発見 位置が交差するマクロプロックの変換係数からなる符号ィヒデータを廃棄すること が好ましい。
このように、 可変長符号の誤り発見位置が本来の誤りが入つた位置よりもかな り後になることを考慮して、 順方向にも逆方向にも誤り発見位置が交差しない ( a ) の場合は、 誤り発見位置よりも一定量さかのぼった位置までのマクロプロ ックを使用し、 順方向力逆方向の誤り発見位置が何らかの形で交差する (b ) 〜 ( d ) の場合については、 交差範囲が広い部分を廃棄することにより、 本来は間 違っている部分を正しいと判断してしまうということによる表示画面への影響を 防止することが可能となる。
さらに、 復号値決定部は、 同期区間内の符号化データに誤りが検出された場合、 誤りが検出されなかったマクロプロックの内で、 フレーム内符号化を行ったマク ロブ口ックの変換係数からなる符号化データを、 一部または全て廃棄する。
フレーム内符号化モードは、 誤りが生じた場合に画面に与える影響が大きい。 具体的には、 間違った係数が表示されることによって不自然な色のプロックが画 面内に現れるという現象が生じる。 従って、 同期区間内に少なくとも誤りが生じ ていることが分かっているのであれば、 フレーム内符号化モードのマクロブロッ クを廃棄しておく方が画面への影響を少なくすることができる。
また、 さらに、 復号値決定部は、 符号化データを廃棄したマクロブロックにつ いて、 フレーム内符号化モードの場合は前画面を表示するか、 符号化を行わない モードとして処理し、 フレーム問予測符号化モードの場合は動き補償を行う。
D C T係数を廃棄した場合、 フレーム内符号化モードの場合には、 動きべク ト ルがないので、 前画面を表示するか、 符号化を行わないモードとして処理し、 フ レーム間符号化の場合には、 上位階層(upper layer )の動きベクトルがあるの で、 それを利用して動き補償を行うことで、 D C T係数が無くともかなり自然な 画像を作成することが可能となる。 即ち、 D C T係数は下位階層 ( lower layer )であり、 動きべクトルは上位階層である。 従って、 下位の D C T係数が 無くても上位の動きべクトルがあれば、 画像を作成することができる。
また、 本究明は、 順方向にも逆方向にも復号可能な符号語を含む符号語で構成 された可変長符号からなる符号化データを入力部と、 符号ィヒデ一タを順方向から 復号する順方向復号部と、 符号化データを逆方向から復号する逆方向復号部と、 順方向復号部および逆方向復号部の復号結果から最終的な復号結果を出力する復 号値決定部とを具備し、 順方向復号化部および逆方向復号部の各々は符号化デ一 タの誤りを検出する誤り検出部を有し、 復号値決定部は、 順方向および逆方向復 号部で検出した符号化データの誤り検出位置と、 伝送系または蓄積系の誤り率と、 各々の符号語の生起確率と、 符号語テーブル中の各符号語のビットパタ一ンから、 誤りの存在する範囲を推定して、 最終的な復号値を決定する可変長復号化装置を 徹する。 この可変長複号化装置にぉレ、ては、 伝送系または蓄積系の誤り率と符号語の性 能に応じて、 誤り発見位置から、 実際の誤りが存在する位置を確率的に推定する ことで、 本来は正しくない符号語が誤って正しい符号語として復号されてしまう ことを一定確率以下に低減することが可能となる。 図面の簡単な説明
図 1は、 リバーシブル符号の符号語の第 1の構成方法を説明するための図。 図 2 Aおよび 2 Bは、 順方向の符号木および逆方向の符号木をそれぞれ示す図。 図 3は、 リバ一シブル符号の符号語の第 2の構成方法を説明するための図。 図 4は、 リバーシブル符号の符号語の第 3の構成方法を説明するための図。 図 5は、 本発明の第 1の実施形態に係る可変長複号化装置を用いた符号化 Z復 号ィ匕システムの構成を示すブロック図。
図 6 Aおよび 6 Bは、 第 1実施形態に係る可変長復号化装置で用いられる符号 化データのシンタックスの例を示す図。
図 7 Λおよび 7 Bは、 第 1実施形態に係る可変長復号ィ匕装置における第 1の復 号値判定方法の原理を説明するための図。
図 8 Aおよび 8 Bは、 第 1実施形態に係る可変長復号化装置における第 2の復 号値判定方法の原理を説明するための図。
図 9は、 第 1実施形態に係る可変長復号ィ匕装置の復号値判定方法の手順を説明 するフローチャート。
図 1 0は、 本発明の第 2実施形態に係る動画像復号化装置を用いた動画像符号化 Z複号化システムの構成を示すプロック図。
図 1 1は、 第 2実施形態に係る動画像複号化装置の動画像多重化分離器の構成を 示すブロック図。
図 1 2 Aおよび 1 2 Bは、 第 2実施形態に係る動画像復号化装置で用いられる符 号化データのシンタックスを示す図。
図 1 3は、 第 2実施形態に係る動画像複号化装置に設けられた下位階層可変長復 号化器の構成を示すプロック図。
図 1 4は、 第 2実施形態に係る動画像復号化装置に設けられた情報源復号化器の 構成を示すブロック図。
図 15 Aおよび 15Bは、 第 2実施形態に係る動画像復号化装置における第 1の 復号値判定方法の原理を説明するための図。
図 16 Aおよび 16 Bは、 第 2実施形態に係る動画像復号化装置における第 2の 復号値判定方法の原理を説明するための図。
図 17は、 第 2実施形態に係る動画像複号化装置における第 3の復号値判定方法 の原理を説明するための図。
図 18は、 第 2実施形態に係る動画像復号化装置の復号値判定方法の手順を説明 i一るフローチヤ一ト。
図 1 9は、 図 10の動画像符号化/復号化システムの符号化器がリバーシブル符 号を用いて動画像信号の D C T係数を可変長符号化する手順を説明するフローチ ヤート。
図 20は、 図 10の動画像符号化/複号化システムの順方向復号化器がリバーシ ブル符号を含む符号化データを可変長復号する手順を説明するフローチヤ一ト。 図 21は、 図 10の動画像符号化 復号化システムの逆方向復号化器がリバーシ ブル符号を含む符号ィヒデータを可変長復号する手順を説明するフローチヤ一ト。 図 22は、 図 10の動画像符号化/複号化システムの符号化器において、 I NT R Aモードにおける非 L A S T係数の R U Nおよび L E V E Lの値から符号語テ 一ブルの I NDEX値を検索するために用いられる I NDEXテーブルを示す図。 図 23は、 図 10の動画像符号化 復号化システムの符号化器において、 I NT E Rモードにおける非 L A S T係数の RUNおよび LEVELの値力 ら符号語テ —プルの I NDEX値を検索するために用いられる I NDEXテーブルを示す図。 図 24は、 図 10の動画像符号ィヒ /複号化システムの符号ィヒ器にぉレ、て、 LAS T係数の RUNおよび L EVE Lから符号語テーブルの I NDEX値を検索する ために用いられる I NDEXテーブルを示す図。
図 25は、 図 10の動画像符号化/復号化システムにおいて使用される符号語テ 一ブルの一部を示す図。
図 26は、 図 10の動画像符号化/複号化システムにおいて使用される符号語テ 一ブルの残りの部分を示す図。 図 2 7は、 図 1 0の動画像符号ィ匕 Z復号ィヒシステムにおいて使用される RU N用 固定長符号語テーブルを示す図。
図 2 8は、 図 1 0の動画像符号ィ匕ノ復号化システム使用される L E V E L用固定 長符号語テーブルを示す図。
図 2 9は、 図 1 0の動画像符号ィヒ 復号ィヒシステムにおいて用いられる固定長リ バーシブル符号のデータ形式を示す図。
図 3 0は、 図 1 0の動画像符号化ノ復号化システムの復号化器において使用され る符号語テーブルの一部を示す図。
図 3 1は、 図 1 0の動画像符号化ノ復号化システムの複号化器において使用され る符号語テーブルの残りの部分を示す図。
図 3 2は、 第 2実施形態に係る動画像復号化装置にぉレ、て、 符号語に使用されて ないビットパターンの出現によって誤りを検出する方法の手順を示すフローチヤ
―ト。
図 3 3は、 第 2実施形態に係る動画像復号化装置にぉレ、て、 シンタックス上あり 得ない状態の出現によって誤りを検出する方法の手順を示すフローチヤ一ト。 図 3 4は、 L E V E L固定長符号語テーブルの他の構成の一例を示す図。
図 3 5は、 両端に E S C A P E符号が付加された符号化データ列の他の構成例を 示す図。
図 3 6は、 両端に E S C A P E符号が付加された符号化データ列の別の構成例を 示す図。
図 3 7は、 図 3 5または図 3 6の符号ィ匕データ列を使用した場合における符号化 処理の手順を示すフローチヤ一ト。
図 3 8は、 図 3 5または図 3 6の符号化データ列を使用した場合における順方向 復号化処理の手順を示すフローチヤ一ト。
図 3 9は、 図 3 5または図 3 6の符号ィ匕デ一タ列を使用した場合における逆方向 復号化処理の手順を示すフローチヤ一ト。
図 4 0は、 図 3 5または図 3 6の符号化データ列を使用した場合に用いられる誤 り検出処理の手順を示すフローチヤ一ト。
図 4 1は、 2の補数表現を使用した場合の L E V E L固定長符号語テーブルの構 成例を示す図。
図 42は、 図 41の LEVEL固定長符号語テーブルを使用した場合における符 号化データ列の構成例を示す図。
図 43は、 図 41の LEVEL固定長符号語テーブルを使用した場合における符 号化データ列の他の構成例を示す図。
図 44は、 符号化データ列の他の構成例を示す図。
図 45は、 図 41の LEVEL固定長符号語テーブルを使用した場合における符 号ィ匕データ列のさらに他の構成例を示す図。
図 46は、 図 41の LEVEL固定長符号語テーブルを使用した場合における符 号化データ列の別の構成例を示す図。
図 47は、 図 42、 図 43または図 46の符号ィヒデータ列を使用した場合に用い られる順方向複号化処理の手順を示すフローチヤ一ト。
図 48は、 図 42、 図 43または図 46の符号化データ列を使用した場合に用い られる逆方向複号化処理の手順を示すフローチヤ一ト。
図 49は、 図 45の符号化データ列を使用した場合に用いられる順方向複号化処 理の手順を示すフローチヤ一ト。
図 50は、 図 45の符号化データ列を使用した場合に用いられる逆方向復号化処 理の手順を示すフロ一チヤ一ト。
図 51は、 本発明の第 3実施形態に係る可変長複号化装置の構成を示すブロック 図。
図 52は、 Kr a f tの不等式を等号で満足しない符号を示す図。
図 53は、 Kr a f tの不等式を等号で満足しない符号の符号木を示す図。 図 54は、 2元対称通信路を説明する図。
図 55は、 2元対称通信路上の符号語の状態遷移図の例。
図 56は、 2元対称通信路上の符号語の状態遷移表。
図 57 A、 57 Bおよび 57 Cは、 同第 3実施形態における復号値決定部の復号 動作を示した図。
図 58 A、 58 Bおよび 58 Cは、 同第 3実施形態における復号^ I決定部の別の 復号動作を示した図。 図 5 9は、 本発明による可変長複号化装置が組み込まれるシステムの一例を示す 図。 発明を実施するための最良の形態
以下、 図面を参照して本発明の実施形態を説明する。
本発明は、 可変長符号として順方向及び逆方向の双方向に復号可能なリバーシ ブル符号 (Reversible VLC) が用いられているので、 本発明の実施形態の説 明に先立ちリバ一シプル符号について図 1ないし図 4を参照して説明する。
図 1は、 リバ一シブル符号の符号語の第 1の構成方法を示している。 まず、 図 1の左側に示すように、 符号長が短い順にそれぞれの系列の重み (この場合、 "1" の数) が一定で異なる重みを持つ 2つの 2進系列 (この場合、 重みは 0個 と 1個) を作成する。 次に、 図 1の中央に示すように、 この 2進系列のそれぞ れ先頭と末尾に "1" を追加して重み 1の方の 2進系列のビットを反転させた後、 これら 2つの 2進系列を図 1の右側に示すように合成する。
この可変長符号では、 各符号の最初にあるシンボルの個数をカウントすること によって符号長が分かる。 図 1の例では、 最初が "0" ならば、 "0" が 3つ出 現したら符号の区切り (符号長) が分かり、 最初が " ならば、 "1" が 2つ 出現したら符号の区切りが分かる符号構成となっている。 また、 この図 1に示す 可変長符号は、 全ての情報シンボル A〜 Jに対応する符号語が図 2 Aに示す順方 向の復号木の葉にも、 図 2 Bの逆方向の復号木の葉にも割り当てられることから、 順方向にも逆方向にも復号可能であることが分かる。
図 3は、 リバ一シブル符号の符号語の第 2の構成方法を示している。 まず、 図 3の左側に示すように、 第 1のリバーシブル符号と第 2のリバーシブル符号 を用意する。 次に、 図 3の中央に示すように、 第 1のリバーシブル符号の全て の符号語の末尾に、 第 2のリバ一シブル符号の最初の 1つの符号語を追加する。 以下、 同様に第 1のリバーシブル符号の全ての符号語の末尾に、 第 2のリバ一 シブル符号の全ての符号語を 1つずつ追加した後、 図 3の右側に示すように並 ベ替えを行なって、 新たなリバーシブル符号を構成する。 このような構成方法に よって、 第 1のリバーシブル符号の符号語数 A (この例では A= 9) と第 2のリ バ一シブル符号の符号語数 B (この例では B= 3) を棄算した数 AXB個 (この例 では 27個) の新たなリバーシブル符号を構成することができる。
この構成方法によるリバーシブル符号の復号に当たっては、 順方向から復号す る時は、 まず第 1のリバーシブル符号を復号し、 次に第 2のリバーシブル符号 を復号するようにする。 逆方向から復号する時は、 まず第 2のリバーシブル符 号を復号し、 次に第 1のリバーシブル符号を復号する。 従って、 順方向にも逆 方向にも復号可能であることが分かる。
なお、 この例では第 1のリバーシブル符号の符号語の末尾に第 2のリバーシ ブル符号を追加したが、 第 1のリバーシブル符号の先頭に第 2のリバ一シブル 符号を追加してもよく、 また第 1のリバーシブル符号の末尾と先頭の両方に固 定長符号を追加しても構わなレ、。 また、 この例では第 1のリバ一シブノレ符号と 第 2のリバーシブル符号は異なるものを用いたが、 同一のものを使用しても構 わない。 さらに、 本実施形態では第 1のリバーシブル符号も第 2のリバーシブ ル符号も可変長符号を用いたが、 どちらかを固定長符号に変更しても構わない。 図 4は、 リバーシブル符号の第 3の符号横成方法を示している。 まず、 図 4 の左側に示すように、 可変長のリバーシブル符号と固定長のリバーシブル符号を 用意する。 次に、 図 4の右側に示すように、 リバーシブル符号の符号語の各ビッ トの直後に固定長のリバーシブル符号を追加する。 この構成方法により、 Kビッ 卜の塵定長のリバーシブル符号を用いた場合、 Hビット ·の符号語を (K十 1) Hビットにして符号語数を 2 K Hィ咅にすることができる。
なお、 この例ではリバ一シブゾレ符号の符号語の各ビット毎の直後に固定長符号 を追加したが、 各ビットの直前に固定長符号を追加してもよく、 また直前と直後 の両方に固定長符号を追加しても構わない。 - 次に、 本発明に従った実施形態の可変長符号化/復号化装置を説明する。 (第 1の実施形態)
図 5には、 本発明の第 1実施形態に係る可変長符号化ノ復号化装置の構成が示 されている。 この可変長符号化 Z複号化装置は、 可変長符号化データの生成およ びその復号を行う。 可変長符号化データには同期符号が定期的に挿入され、 また 可変長符号として上述したような順方向及び逆方向の双方向に復号可能なリバー シブル符号 (Reversible VLC) が用いられている。
可変長符号化装置 1 1は、 図 5に示すように、 符号化器 1 1 1、 符号語テープ ル 1 1 2、 および同期区間設定部 1 1 3から構成されている。 符号語テーブル 1 1 2には、 図 1ないし図 4を参照して説明したリバ一シブル符号語の構成方法に 従って、 各情報シンボルに対応して予め作成された可変長符号語が格納されてい る。 この符号語テーブル 1 1 2の中には、 順方向にも逆方向にも復号可能なリバ ーシブル符号も各情報シンボルに対応して格納されている。 符号化器 1 1 1は、 符号語テーブル 1 1 2を参照して情報シンボルを可変長符号語に符号ィ匕し、 符号 語テーブル 1 1 2に格納されている符号語の中から入力された情報シンボルに対 応した符号語を選択して出力する。 同期区間設定部 1 1 3では、 符号化器 1 1 1 が選択した符号語を同期区間毎にまとめ、 さらに順方向にも逆方向にも復号可能 なスタッフイング符号を挿入して、 同期区間毎に符号化データを出力する。 この 符号化データは、 伝送系または蓄積系 1 3を通して可変長復号化器 1 2に送られ る。
可変長復号化器 1 2は、 同期区間検出部 1 2 1、 ノくッファ 1 2 2、 2つのスィ ツチ S, T、 順方向複号化器 1 2 3、 順方向符号語テーブル 1 2 4、 復号値決定 部 1 2 5、 逆方向複号化器 1 2 6、 および逆方向符号語テーブル 1 2 7から構成 されている。
可変長複号化器 1 2においては、 同期区間検出部 1 0 6によって、 伝送系また は蓄積系 1 3より入力された符号化データの同期区間が検出され、 その同期区間 毎に符号化データの復号処理が行われる。
伝送系または蓄積系 1 3より入力された符号化データが順方向のみ復号可能な 可変長符号の場合は、 スィッチ Sは Α側に接続され、 順方向複号化器 1 2 3によ つて順方向符号語テーブル 1 2 4を用いた通常の順方向復号が行われる。 順方向 復号化器 1 2 3によって復号された符号ィヒデータは復号値決定部 1 2 5に送られ る。
符号化データが双方向に復号可能な可変長符号の場合は、 スィッチ Sは B側に 接続され、 同期区間內の全ての符号化データはバッファ 1 2 2に一旦蓄えられる。 順方向複号化器 1 2 3等によってバッファ 1 2 2に蓄えられた符号化データのビ ット数をカウントすることなどにより、 双方向に復号可能な可変長符号からなる 符号ィヒデータの総ビット数が調べられる。 この後、 バッファ 1 2 2から符号ィ匕デ —タが読み出され、 順方向複号化器 1 2 3によって順方向符号語テーブル 1 2 4 を用いた通常の順方向復号が開始される。 この順方向復号は、 符号化データに誤 りがあるか否かを調べながら行われる。
具体的には、 I噴方向符号語テーブル 1 2 4に存在しないビットパターンが出現 した場合や、 復号ィヒした符号ィヒデータのビット長の合計が前述の総ビット数に達 しないまま復号化すべきデータが無くなった場合、 あるいは、 シンタックス (符 号化データの文法上の規則) 上あり得ない状態が生じた場合などに、 その事態の 発見位置で誤りが生じていることが検出する。 シンタックス上あり得ない状態と は、 例えば、 上位階層の符号化データによつて下位階層の対応する各符号化デー タに含まれる符号語数が指定されている場合に、 その指定された符号語数と、 各 符号ィ匕データに含まれる符号語数とがー致しない状態などを意味する。
どのような条件で符号化データの誤りが発見された場合であっても、 誤り発見 以前に復号化が正常に完了している順方向の復号結果と共に、 その誤りを発見し た位置を示す情報として、 ビット上の誤り発見位置とシンタックス上の誤り発見 位置とが復号値判定部 1 2 5に送られる。 ここで、 ビット上の誤り発見位置は、 同期開始から数えて誤りが検出された位置が何ビット目の符号ィヒデータであるか を示す。 またシンタックス上の誤り発見位置は、 例えば、 同じ誤が検出された位 置が同期開始から数えて何符号語目の符号化データであるかなど示す。
I頓方向復号化器 1 2 3によって誤りが発見された場合には、 スィッチ Tがオン され、 バッファ 1 2 2に蓄えられた符号化データが今度は逆方向複号化器 1 2 6 に送られ、 そこで逆方向符号語テ一ブル 1 2 7を用いた逆方向からの復号が開始 される。 この逆方向復号も、 符号化データに誤りがある力否かを調べながら行わ れる。 誤り検出の条件は順方向複号化器 1 2 3の場合と同一であり、 逆方向復号 において誤りが発見された場合には、 誤り発見以前に復号化が正常に完了してい る逆方向の復号結果と共に、 その誤りを発見した位置を示す情報として、 ビット 上の誤り発見位置とシンタックス上の誤り発見位置が復号値判定部 1 2 5に送ら れる。 復号値決定部 1 2 5では、 順方向復号化器 1 2 3の復号結果と逆方向復号化器 1 2 6の復号結果をつきあわせて最終的な復号結果を決定する。 すなわち、 順方 向復号化器 1 2 3および逆方向複号化器 1 2 6それぞれから通知されるビット上 とシンタックス上の双方の誤り発見位置に基づレ、て正しレ、符号語と正しくなレヽ符 号語との境界が 2重に判定され、 かなりの確率で正しい符号語と想定される符号 語にっレヽてのみその復号値として順方向からの復号結果と逆方向からの復号結果 が選択的に用いられ、 それ以外の符号語は廃棄される。
図 6 Aおよび 6 Bは、 本実施形態の符号化データのシンタックスの一例を示し た図である。
図 6 Aに示されているように、 符号化デ一タは上位階層の D情報と下位階層の G情報との 2つの階層に分かれており、 1つの Dの符号語に対して、 Gの符号語 が m個づっ存在するように符号化されている。 D情報が n個の符号語から構成さ れる場合には、 その D情報に続く G情報は n X m個の符号語から構成されること になる。 ここでは、 D情報とそれに続く G情報とを単位として同期区間が設定さ れており、 そこには再同期マーカ (RM 1 ) が挿入されている。 また、 D情報と G情報の間にも再同期マーカ (RM 2 ) が設定されている。
また、 D情報は、 通常の順方向のみ復号可能な可変長符号で符号化されており、 G情報は双方向に復号可能な可変長符号で復号されている。 従って、 このシンタ ックスでは、 G情報の総符号語数は、 D情報を復号した時点で判明し、 n X m個 あることがわかる。 この G情報の総符号語数の値は、 誤り発見位置をシンタック ス上の位置で示すため、 つまり同期開始位置から終了位置までに属する符号語の 中の何番目の符号語にて発生したかを判定するため等に用いられる。
図 7および図 8は、 双方向復号可能な可変長符号から構成される G情報の符号 化データを復号する場合における復号値決定部 3 0 4の動作を示した図である。 はじめに、 G情報について次のような関数を定義する。
L …総ビット数
W …総符号語数 (= n X m)
W 1 · · '順方向に復号した符号語数
W 2 · · ·逆方向に復号した符号語数 L 1 …順方向に復号したビット数
し 2 …逆方向に復号したビット数
f _code(Ll) …順方向に L 1ビット復号した時の符号語数
b code(L2) …逆方向に L 2復号した時の符号 ¾
図 7 Αは、 順方向複号化器 123および逆方向複号化器 126それぞれによる 誤り発見位置が、 ビット上の位置でも符号語上の位置でも交差しない (擦れ違わ ない) 場合、 つまり、 L 1+L2くし、 かつ Wl +W2く Wとなる場合を示して いる。 この場合は、 T符号語さかのぼつた位置までの符号化データを使うことに し、 順方向から、 Wl— T個、 逆方向から、 W 2— T個の符号語が使用され、 残 りの符号語が廃棄される。
ここでは、 T符号語さかのぼることにしたが、 G情報を Tビットあるいは Tブ 口ックさかのぼることにしてもよレ、。
図 7Bは、 順方向復号化器 123および逆方向復号化器 126それぞれによる 誤り発見位置が、 ビット上の位置では交差しないが、 符号語上の位置で交差する 場合、 つまり、 L 1 + L2<L、 かつ Wl +W2≥Wとなる場合を示している。 このような状況は、 例えば実際に誤りが混入している位置から少しの間は、 符号 化データに含まれる各符号語が、 その本当のビット数よりも少ないビット数のビ ットパターンを持つ符号語として複号化されてしまった場合などに発生する。 この場合は、 順方向から、 W— W2個、 逆方向から、 W— W1個の符号語が使 用され、 残りの符号語は廃棄される。
図 7 Aは、 順方向復号化器 123および逆方向復号化器 126それぞれによる 誤り発見位置が、 ビット上の位置で交差するが、 符号語上の位置では交差しない 場合、 つまり、 L1+L2≥L、 かつ Wl +W2<Wとなる場合を示している。 このような状況は、 例えば実際に誤りが混入している位置から少しの間は、 符号 化データに含まれる各符号語が、 その本当のビット数よりも多いビット数を持つ ビットパターンの符号語として複号化されてしまった場合などに発生する。
この場合には、 順方向から、 W— b_code(L2) マクロブロック、 逆方向から、 W— f— code(Ll) マクロブロックの符号語が使用され、 残りの符号語は廃棄さ れる。 図 7Bは、 順方向復号化器 123および逆方向復号化器 126それぞれによる 誤り発見位置が、 ビット上の位置でも符号語上の位置でも交差する場合、 つまり、 L 1 +L2≥Lかつ Wl +W2≥Wとなる場合を示している。 この場合は、 順方 向から、 min {W- b_code(L2) , W-W2} 個、 逆方向から、 min {W- f _code(Ll) , W-Wl } 個の符号語が使用され、 残りの符号語は廃棄される。 なお、 ここでは、 図 2のシンタックスを用いることにより、 G情報の総符号語 数が判明することを利用して、 シンタックス上の位置として符号語の位置を用い たが、 その他、 シンタックスを利用した論理的な位置を用いるのであれば、 どの ようなものでも適用は可能である。
次に、 本実施形態の可変長復号化器 12による復号化処理方法の手順について 説明する。
本復号化処理方法は、 図 5で説明したように、 基本的には、 双方向から復号可 能な可変長符号語を用いた符号化データに誤りが検出されるまでは順方向からの 復号化処理を行レ、、 この順方向からの復号化処理にぉレ、て誤りが検出されたとき、 今度は、 その符号化データに誤りが検出されるまで逆方向からの復号ィヒ処理を開 始し、 順方向および逆方向からの復号結果と、 順方向および逆方向からの復号に おいてそれぞれ検出された符号化データのビット上の誤り発見位置とシンタック ス上の誤り発見位置とを利用して復号値を決定する。
図 9は、 リバ一シブル符号からなる可変長符号化データの復号化処理方法の手 順を示すフローチャートである。
まず、 前述の関数 L, W, Wl, W2, L l, L 2, f_ code(Ll), b_ COde(L2)を定義してから、 同期区間の先頭の G情報から順方向の復号を開始す る (ステップ S 101) 。 もしこの順方向の復号処理で同期区間内に何ら誤りが 発見されなければ、 復号処理を終了する (ステップ S 102) 。 一方、 もし順方 向の復号処理で誤りが発見された場合には、 同期区間の末尾の G情報から逆方向 の復号を開始する (ステップ S 103) 。 順方向の復号処理で誤りが発見された 場合には、 通常、 逆方向の復号処理でも誤りが発見されることになる。
もし、 誤り発見位置がビット上の位置でも符号語上の位置でも交差しない場合、 つまり、 L1+L2<L、 かつ Wl +W2く Wとなる場合は (ステップ S 10 4) 、 T符号語さかのぼった位置までの符号化データを使うこととし、 順方向か ら、 Wl— Τ個、 逆方向から、 W 2— Τ個の符号語を使用し、 残りの符号語を廃 棄する (ステップ S 1 05) 。
もし、 誤り発見位置が、 ビット上の位置では交差しないが、 符号語上の位置で 交差する場合、 つまり、 L 1 +L 2<L、 かつ Wl +W2≥Wとなる場合は (ス テツプ S 106) 、 順方向から、 W— W2個、 逆方向から、 W— W1個の符号語 を使用し、 残りの符号語を廃棄する (ステップ S 1 07) 。
もし、 誤り発見位置が、 ビット上の位置で交差するが、 符号語上の位置では交 差しない場合、 つまり、 L 1 +L 2≥L、 かつ Wl +W2<Wとなる場合には (ステップ S 1 08) 、 順方向から、 W— b— code(L2) マクロブロック、 逆方 向から、 W— f— code(Ll) マクロブロックの符号語を使用し、 残りの符号語を 廃棄する (ステップ S 1 09) 。
もし、 誤り発見位置が、 それ以外の場合、 具体的には、 ビット上の位置でも符 号語上の位置でも交差する場合、 つまり、 L 1 +L 2≥L、 かつ W1 +W2 W となる場合には、 順方向から、 min (W— b_code(L2) , W-W2} 個、 逆 方向から、 min {W— f— code(Ll) , W— W 1 } 個の符号語を使用し、 残りの 符号語を廃棄する (ステップ S 1 1 0) 。
(第 2の実施形態)
図 1 0には、 本第 2実施形態に係る動画像信号の可変長符号化/復号化装置の 構成が示されている。
この動画像符号化/複号化装置は、 動画像符号化器 (video encoder) 21 , 動画像複号化器 22、 およ 云送系または蓄積系 23から構成されている。 動画像符号化器 21においては、 情報源符号化器 202で符号ィヒされたデータ は動画像多重化器 203にて上位階層と下位階層とに分けられてそれぞれ可変長 符号化され、 それら上位階層データと下位階層データの多重ィ匕および同期区間の 設定等が行われる。 同データは送信バッファ 204で平滑ィヒされた後、 符号化デ ータとして伝送系または蓄積系 23に送り出される。 符号化制御部 20 1は、 送 信バッファ 204のバッファ量を考慮して、 情報源符号化器 202と動画像多重 化器 203の制御を行う。 一方、 動画像複号化器 2 2においては、 伝送系または蓄積系 2 3からの符号ィ匕 データが受信バッファ 2 0 5に溜められ、 動画像多重化分離器 2 0 6で符号化デ ータの同期区間毎に上位階層と下位階層との多重化分離とそれらの可変長復号ィ匕 が行われた後、 情報源複号化器 2 0 7に送られ、 最終的に動画像情報が復号化さ れる。
ここで、 動画像多重化器 2 0 3および動画像多重化分離器 2 0 6には、 第 1実 施形態で説明した可変長符号化/複号化装置が適用されている。
図 1 1は、 本第 2実施形態における動画像多重ィヒ分離器 2 0 6のプロック図で ある。
受信バッファ 2 0 5で受信された符号化データは、 多重化分離器 5 0 1に送ら れ、 そこで同期区間が検出されて、 同期区間毎に上位階層と下位階層の符号化デ ータが分離され、 それぞれ上位階層可変長複号化器 5 0 2、 下位階層可変長復号 化器 5 0 3に送られ、 可変長復号ィ匕される。
図 1 2 Aおよび 1 2 Bは、 本第 2実施形態で用レヽられる動画像符号化データの シンタックスを示している。
符号化データは、 ビデオパケット毎に上位階層 (図 1 2 A) と下位階層 (図 1 2 B ) に階層化されている。 上位階層データと下位階層データには、 それぞれ再 同期マ一力 (RM) とモーションマーカ (MM) によって同期区間が設定されて レ、る。 また、 下位階層の S Tはスタッフイング符号である。
このシンタックスでは、 動画像信号の予測符号化の単位となるマクロブロック のモード情報の一部と動きべクトル情報が上位階層とされ、 モード情報の一部と、 I NT R A D C (フレーム内符号化における D C T係数の D C値) と、 D C T 係数情報が下位階層とされている。 これら各情報間にもその区切りを示す同期符 号が設定されている。 また、 D C T係数情報には、 リバーシブル符号が適用され ている。
通常、 ビデオパケットは複数のマクロブロックを含んでおり、 上位階層のへッ ダ情報にはそのビデオバケツトに含まれる先頭のマクロプロック番号が設定され ている。 また、 上位階層におけるモード情報 1と動きべクトル情報はマクロプロ ック毎に設定されており、 モード情報 1と動きべクトル情報とのループの数は、 そのビデオパケットに含まれるマク口ブロックの個数だけ存在する。
図 1 3は、 本第 2実施形態における下位階層可変長複号化器 5 0 3の構成を示 すプロック図である。
前述したように図 1 1の多重化分離器 5 0 1で同期区間毎に上位階層と下位階 層の符号化データに分離されたデータのうち下位階層の符号化データは、 下位階 層可変長復号化器 5 0 3に送られる。
この下位階層可変長符号化器 5 0 3では、 シンタックス上で、 D C T係数情報 になるまでは、 スィッチ Sは A側に接続され、 順方向複号化器 7 0 4によって順 方向符号語テーブル 7 0 3を用いた通常の順方向復号が行われる。 順方向復号ィ匕 器 7 0 4で復号された符号化データは、 復号値決定部 7 0 5に送られ、 誤りが発 見された場合には、 上位階層可変長復号化器 5 0 2の復号結果と比較され復号結 果を決定する。
符号化データが D C T係数情報の場合は、 スィッチ Sは B側につながれ、 同期 区間内の全ての D C T係数情報はバッファ 7 0 2に蓄えられる。 順方向復号化器 7 0 4等によってバッファ 7 0 2に蓄えられた符号化データのビット数をカウン トすることなどにより、 双方向に復号可能な可変長符号からなる D C T係数情報 の総ビット数が調べられる。 この後、 バッファ 7 0 2から符号化データが読み出 され、 順方向復号化器 7 0 4によって順方向符号語テーブル 7 0 3を用いた通常 の順方向復号が開始される。 この順方向復号は、 符号化データに誤りがあるか否 かを調べながら行われる。
具体的には、 順方向符号語テーブル 7 0 3に存在しないビットパターンが出現 した場合や、 復号化した符号化データのビット長の合計が前述の総ビット数に達 しないまま複号化すべきデータが無くなった場合、 あるいは、 シンタックス上あ り得なレ、状態が生じた場合などに、 その発見位置で誤りが生じていると検出する。 シンタックス上あり得ない状態とは、 例えば、 8 X 8の D C T係数の各ブロック において零ランの数と非零係数の個数との合計が 6 4個よりも大きい状態などを 意味する。
どのような条件で符号ィヒデ一タの誤りが発見された場合であっても、 誤り発見 以前に復号化が正常に完了している順方向の復号結果と共に、 その誤りを発見し た位置を示す情報として、 ビット上の誤り発見位置とシンタックス上の誤り発見 位置とが復号値決定部 7 0 5に送られる。 ここで、 ビット上の誤り発見位置は、 D C T係数情報の同期開始から数えて誤りが検出された位置が何ビット目の符号 化データであるかを示し、 またシンタックス上の誤り発見位置は、 例えば、 その 同じ誤りにつレ、てそれが検出された位置が同期開始から数えて何番目のマクロブ 口ックであるかなど示す。
順方向復号化器 7 0 4によって誤りが発見された場合には、 スィツチ Tがオン され、 バッファ 1 2 2に蓄えられた符号化データが今度は逆方向複号化器 7 0 8 に送られ、 そこで逆方向符号語テーブル 7 0 7を用いた逆方向からの復号が開始 される。 この逆方向復号も、 双方向に復号可能な D C T係数情報からなる符号ィ匕 データに誤りがあるか否かを調べながら行われる。 誤り検出の条件は順方向復号 化器 7 0 4の場合と同一であり、 逆方向復号にぉレ、て誤りが発見された場合には、 誤り発見以前に復号ィ匕が正常に完了している逆方向の復号結果と共に、 その誤り を発見した位置を示す情報として、 ビット上の誤り発見位置とシンタックス上の 誤り発見位置が復号値決定部 7 0 5に送られる。
復号値決定部 7 0 5では、 順方向複号化器 7 0 4の復号結果と逆方向復号化器 7 0 8の復号結果とが比較され最終的な復号結果が決定される。 すなわち、 順方 向複号化器 7 0 4および逆方向復号化器 7 0 8それぞれから通知されるビット上 とシンタックス上の双方の誤り発見位置に基づレ、て正しいマクロブロックと正し くなレ、マクロブロックとの境界が 2重に判定され、 かなりの確率で全ての符号語 が正しいと思われるマクロブロックに対してのみその復号値として順方向からの 復号結果と逆方向からの復号結果が選択的に用いられ、 それ以外の他のマクロブ ロックは廃棄される。
図 1 4は、 情報源複号化器 2 0 7の構成の一例を示している。
情報源復号化器 2 0 7には、 動画像多重化分離器 2 0 6で分離および可変長復 号ィ匕されたモ一ド情報、 動きべク トル情報、 D C T係数情報等が入力される。 モード情報が入力されるモ一ド判定回路 8 0 4は、 モ一ド情報が I NT R Aな らば、 モ一ド切替スィツチ 8 0 5をオフに選択してフレ一ムメモリ 8 0 6から切 り離され、 D C T係数情報が逆量子化回路 8 0 1で逆量子ィヒされ、 I D C T回路 802で逆離散コサイン変換処理される。 これにより、 再生画像信号が生成され る。 この再生画像信号は、 フレームメモリ 806に参照画像として蓄積される一 方、 再生画像信号として表示装置に出力される。
モード情報が I NT E Rならば、 モ一ド切替スィツチ 805がオンにされ加算 器 803がフレームメモリ 806に接続される。 これにより、 DCT係数情報が 逆量子化回路 801で逆量子化され、 I DCT回路 802で逆離散コサイン変換 処理され、 動きべク トル情報に基づいてフレームメモリ 806の参照画像を動き 補償して得られた情報と加算器 803で足しあわされ、 再生画像信号が生成され る。 この再生画像信号は、 フレームメモリ 806に参照画像として蓄積される一 方、 再生画像信号として出力される。
図 15Λないし図 16Bは、 双方向復号可能な可変長符号から構成される DC T係数情報の符号化データを復号する場合における復号値決定部 705の動作を 示した図である。
はじめに、 DCT係数情報について次のような関数を定義する。
L …総ビット数
N …総マクロブロック数
N 1 ·· ·順方向に復号したマクロブロック数
N2 …逆方向に復号したマクロブロック数
L 1 …順方向に復号したビット数
L 2 …逆方向に復号したビッ ト数
f _mb(L) …順方向に Lビット復号した時のマクロブロック数
b_mb(L) …逆方向に Lビット復号した時のマクロブロック数 図 15 Aは、 順方向複号化器 704および逆方向復号化器 708それぞれによ る誤り発見位置が、 ビット上の位置でもマクロブロック上の位置でも交差しない 場合、 つまり、 L1+L2<L、 かつ N1+N2く Nとなる場合を示している。 この場合は、 Tビットさかのぼつた位置までのビットを使うことにし、 順方向か ら、 f_mb(Ll-T) マクロブロック、 逆方向から、 b m (L2-T) マクロブロッ クの係数情報を使用し、 残りの係数情報を廃棄する。
ここでは、 Tビットさかのぼることにしたが、 T符号語、 あるいは、 Tブロッ ク、 あるいは、 Tマクロブロックさかのぼることにしてもよレ、。
図 1 5 Βは、 順方向復号化器 704および逆方向複号化器 708それぞれによ る誤り発見位置が、 ビット上の位置では交差しなレ、が、 マクロブロック上の位置 で交差する場合、 つまり、 L 1 +L 2<L、 かつ N 1 +N2≥Nとなる場合を示 している。 この場合は、 順方向から、 N— N2— 1マクロブロック、 逆方向から、
N _ N 1— 1マクロブロックの係数情報を使用し、 残りの係数情報を廃棄する。 図 1 6 Aは、 順方向復号化器 704および逆方向復号化器 708それぞれによ る誤り発見位置が、 ビット上の位置で交差するが、 マクロブロック上の位置では 交差しない場合、 つまり、 L 1 +L 2≥L、 かつ Nl +N2<Nとなる場合を示 している。 この場合は、 順方向から、 N— b— mb(L2) マクロブロック、 逆方向 力 ら、 N- f_mb(Ll) マクロブロックの係数情報を使用し、 残りの係数情報を 廃棄する。
図 1 6 Bは、 順方向復号化器 704および逆方向復号化器 708それぞれによ る誤り発見位置が、 ビット上の位置でもマクロブロック上の位置でも交差する場 合、 つまり、 L 1 +L 2≥L、 かつ N 1 +N2 Nとなる場合を示している。 こ の場合、 順方向から、 min {N- b_mb(L2) , N-N 2 - 1 } マクロブロック、 逆方向から、 min {N— f _mb(Ll) , N— Nl— 1 } マクロブロックの係数を 使用し、 残りの係数を廃棄する。
ここで、 DCT係数廃棄したマクロブロックについては、 I NTRAモードの 場合、 前画面をそのまま表示するか、 あるいは符号化を行わないモードとして処 理し、 I NTERモードの場合は、 上位階層の動きベクトル (MV) を利用して、 動き補償 (MC) で表示するように復号値を決定する。
また、 図 1 5A, 1 5B、 1 6 A, 1 6 Bのいずれかの状態になった場合は、 図 1 7に示すように、 誤りが発見されていない場合にも、 同期区間内の一部また は全ての I NTRAモードのマクロブロックの DCT係数を廃棄し、 その部分に ついては、 前画面をそのまま表示する力 符号ィヒを行わないモードとして処理す るようにしても良い。 I NTRAモードは、 誤りが生じた場合に画面に与える影 響が大きい。 具体的には、 問違った係数が表示されることによって不自然な色の ブロックが画面内に現れるという現象が生じる。 従って、 同期区間内に少なくと も誤りが生じていることが分かっているのであれば、 I NTRAモ一ドのマクロ プロックを廃棄しておく方が画面への影響を少なくすることができる。
また、 本第 2実施形態では、 マクロプロック単位に D C T係数の廃棄を行つた 力 ブロック単位で行ってもよいことはいうまでもない。
次に、 本第 2実施形態の下位階層可変長複号化器 503による複号化処理方法 の手順について説明する。
本復号化処理方法は、 図 13で説明したように、 基本的には、 双方向から復号 可能な可変長符号語から構成される D C T係数情報に誤りが検出されるまでは順 方向からの復号化処理を行レ、、 この順方向からの復号ィヒ処理にぉレ、て誤りが検出 されたとき、 今度は、 その DC T係数情報に誤りが検出されるまで逆方向からの 複号化処理を開始し、 順方向および逆方向からの復号結果と、 順方向および逆方 向からの復号におレ、てそれぞれ検出されたビット上の誤り発見位置とシンタック ス上の誤り発見位置とを利用して復号値を決定する。
以下、 図 18のフローチャートを参照して、 A C成分の DC T係数部に対する 復号処理の手順を説明する。
まず、 前述の関数 L, N, Nl, N2, L l, L2, f _m (L) , b_mb(L) を定義してから、 順方向の復号処理を開台する (ステップ S 201) 。 もし、 こ の順方向復号処理で誤りが発見されなければ、 復号処理は終了する (ステップ S 202) 。 一方、 もし順方向の復号処理で誤りが発見された場合には、 逆方向の 復号を開始する (ステップ S 203) 。 順方向の復号処理で誤りが発見された場 合には、 通常、 逆方向の復号処理でも誤りが発見されることになる。
もし、 誤り発見位置がビット上の位置でもマクロブロック上の位置でも交差し ない場合、 つまり、 L1+L2<L、 かつ N 1 +N2く Nとなる場合は (ステツ プ S 204 ) 、 Tビットさかのぼつた位置までのビットを使うこととし、 順方向 から、 f一 m (Ll-T) マクロブロック、 逆方向から、 b mb(L2-T) マクロブロ ックの係数情報を使用し、 残りの係数情報を廃棄する (ステップ S 205) 。 もし、 誤り発見位置が、 ビット上の位置では交差しないが、 マクロブロック上 の位置で交差する場合、 つまり、 L 1+L2<L、 かつ N 1 +N2 Nとなる場 合には (ステップ S 206) 、 順方向から、 N— N2— 1マクロブロック、 逆方 向から、 N— N 1— 1マクロブロックの係数情報を使用し、 残りの係数情報を廃 棄する (ステップ S 207) 。
もし、 誤り発見位置が、 ビット上の位置で交差するが、 マクロブロック上の位 置では交差しない場合、 つまり、 L1+L2≥L、 かつ N 1 +N2<Nとなる場 合には (ステップ S 208) 、 順方向から、 N— b— mb(L2) マクロブロック、 逆方向から、 N— f _mb ( L1 ) マクロブロックの係数情報を使用し、 残りの係数 情報を廃棄する (ステップ S 209) 。
もし、 誤り発見位置が、 それ以外の場合、 具体的には、 ビット上の位置でもマ クロブロック上の位置でも交差する場合、 つまり、 L 1+L2≥L、 かつ N1+ N 2 Nとなる場合には、 順方向から、 min {N-b_mb(L2) , N— N2—
1 } マクロブロック、 逆方向から、 min {N- f _mb(Ll) , N-N 1 - 1 } マ クロブロックの係数を使用し、 残りの係数を廃棄する (ステップ S 210) 。 誤りが発見されている場合、 その同区期間内の全ての I NTRAモ一ドのマク ロブロックの DCT係数が廃棄され、 前画面をそのまま表示するか、 符号化を行 わないモードとしての処理が行われる (ステップ S 21 1) 。
DCT係数を廃棄したマクロブロックについては、 I NT R Aモードの場合、 前画面がそのまま表示されるか、 符号化を行わないモ一ドとしての処理が行われ、 I NT ERモードの場合は、 上位階層の動きべク トル (MV) を利用して、 動き 補償 (MC) で表示するように復号値が決定される (ステップ S 212) 。
次に、 本第 2実施形態の動画像符号化/復号化装置で用いられる符号語テープ ルの具体的な構成例とそれを用いたリバ一シブル符号の符号化 z復号化動作につ いて説明する。
図 10の情報源符号化器 202では、 量子化後の 8 X 8の D C T係数のプロッ ク毎にブロック内スキャンを行って、 LAST (0 :ブロックの最後でない非零 係数、 1 :ブロックの最後の非零係数) 、 RUN (非零係数までの零ランの数) および L EVEL (係数の量子化値) を求め、 動画像多重化部 203に送る。 動画像多重化部 203は上位階層可変長符号化部と下位階層可変長符号化部と を含んでおり、 リバ一シブル符号を用いた可変長符号化を行う下位階層可変長符 号化部の符号語テーブルには、 図 22乃至図 26に示す 4個のテーブルが含まれ ている。 図 22は、 I NTRA (フレ一ム內符号化) の非 LAST係数の RUN および LEVELから図 25, 26の符号語テ一ブルの I NDEX値を検索する ための I NDEXテーブルである。 図 23は、 I NTER (フレーム間符号化) の非 LAST係数の RUNおよび LEVELから図 25, 26の符号語テーブル の I NDEX値を検索するための I NDEXテーブルである。 図 24は、 I NT RAおよび I NTER共通の LAST係数の RUNおよび LEVELから図 25, 26の符号語テーブルの I NDEX値を検索するための I NDEXテーブルであ る。 図 25および図 26は、 I N D E X値とリバ一シブル可変長符号語 (VLC -CODE) とを対応づけた符号語テーブルである。 また、 固定長のリバ一シブ ル符号語に変換するためのテーブルとして、 図 27の RUN固定長符号語テ一ブ ノレ、 および図 28の L EVE L固定長符号語テーブルも用いられる。
以下、 図 1 9のフローチャートを参照して、 これらテ一ブルを用いた下位階層 可変長符号化部による可変長符号化処理の手順を説明する。
まず、 上位階層のモ一ド情報で指定された予測モードに応じて使用する I ND EXテーブルが選択される (ステップ S 301) 。 この場合、 予測モ一ドが I N T R Aであれば図 22の I N D E Xテ一ブルと図 24の I NDEXテ一ブルが選 択され、 予測モ一ドが I NT E Rであれば図 23の I ND E Xテーブルと図 24 の I NDEXテーブルが選択される。
次に、 符号化すべき DCT係数の RUNおよび LEVELの値力 使用する I NDEXテーブルに定義された RUNおよび L EVE Lの最大値以下であるか否 かが調べられる (ステップ S 302) 。 I NDEXテーブルに定義された RUN および LEVE Lの最大値以下であれば、 その RUNおよび LEVE Lの値を用 レ、て I ND E Xテーブルを検索し、 図 25および図 26の符号語テ一ブルを検索 するための I NDEXィ直をネ辱る (ステップ S 303) 。 次に、 I NDEXテープ ルから得られた I NDEX値が "0" である力否かが判断され (ステップ S 30 4 ) 、 " 0 " 以外であれば、 図 25および図 26の符号語テーブルを検索して I NDEX値に対応するリバーシブル符号語を出力する (ステップ S 305) 。 こ こで、 図 25および図 26の符号語テーブルにおけるリバーシブル符号語の最終 ビット "s" は LEVELの正負の符号を示しており、 "s" "0" のときは LEVELの符号は正、 "s" 力 S "1" のときは LEVELの符号は負である。 一方、 符号化すべき RUNおよび LEVELの値が、 使用する I NDEXテー ブルに定義された RUNおよび LEVELの最大値を越える場合、 または I ND EXテーブルから得た I NDEX値が " 0" であれば、 (LAST, RUN, L EVEL) を固定長符号ィヒし、 その両端に ESCAPE符号を付けたものを出力 する (ステップ S 306) 。 すなわち、 RUNおよび LE VE Lの値はそれぞれ 図 27の RUN固定長符号語テーブルおよび図 28の LEVE L固定長符号語テ —ブルによって 6ビッ卜と 7ビットの固定長符号に変換され、 これら固定長符号 の先頭には、 図 29に示されているように、 LASTの値に対応する 1ビットが 付加される。 さらに、 その符号列の両端に、 ESCAPE符号が付加される。 先 頭の E S C A P E符号は "00001" であり、 末尾の E S C A P E符号は図 2 5および図 26の符号語テーブルにおける I NDEX値= "0" によって検索さ れるリバーシブル符号 "0000 s" である。 このリバーシブル符号 "0000 s " の最終ビットの " s " は L E V E Lの正負の符号を示しており、 " s " "0" のときは LEVELの符号は正、 "s" 力 S "1" のときは LEVELの符 号は負である。
次に、 順方向復号化器 704および逆方向複号化器 708それぞれによるリバ ーシブル符号の復号処理方法を説明する。
順方向符号語テーブル 703および逆方向符号語テーブル 707には、 それぞ れ前述の図 25および図 26に示した符号語テ一ブル、 図 27の RUN固定長符 号語テーブル、 図 28の LEVEL固定長符号語テーブルに加え、 図 30および 図 31に示すような復号ィ直テーブルが符号語テーブルとして予め用意されている。 図 30および図 31の復号値テーブルには、 I NTRAと I NTE Rのそれぞれ のモードについて I NDEX値に対応する (LAST、 RUN, LEVEL) の 復号値が設定されている。
まず、 図 20のフローチャートを参照して、 順方向の復号処理について説明す る。
まず、 符号化データの復号処理が行われ、 図 25および図 26に示した符号語 テーブルを用いてリバーシプル符号語に対応する I ND E X値が求められる (ス テツプ S 401) 。 次いで、 その I NDEX直が "0" である力否かがチェック され (ステップ S 402) 、 "0" 以外の場合には、 図 30および図 31の復号 値テーブルを I NDEX値とモードとによって検索することにより、 使用されて レヽる予測モードと I NDEX値に対応する (LAST、 RUN, LEVEL) の 復号値を得る (ステップ S 403) 。 I NDEX値が "0" の場合は、 ESCA PE符号であるから、 その ES CAPE符号に続く (LAST, RUN, LEV E L) の固定長符号を図 27および図 28の固定長符号語テーブルを用いて復号 する (ステップ S 404) 。 次いで、 末尾の ESCAPE符号を復号する (ステ ップ S 405) 。 符号語の最後の 1ビットを用いて L EVE Lの正負の判定が行 われる (ステップ S 406) 。
次に、 図 21のフローチャートを参照して、 逆方向の復号処理について説明す る。
まず、 符号語の最初の 1ビットで、 LEVELの正負が決定される (ステップ S 501 ) 。 次いで、 図 25および図 26に示した符号語テーブルを用いてリバ 一シブゾ ?ί-号語に対応する I NDEX値が求められる (ステップ S 502) 。 次 いで、 その I NDEX値が "0" である力否かがチェックされ (ステップ S 50 3) 、 "0" 以外の場合には、 図 30および図 31の復号値テ一ブルを、 I ND E X値と予測モードとによつて検索することにより、 使用されている予測モード と I NDEX値とに対応する (LAST、 RUN, LEVEL) の復号値を得る (ステップ S 504) 。 I NDEX値が "0" の場合は、 ESCAPE符号であ る力 ら、 次に続く (LEVEL, RUN, LAST) の固定長符号を図 27およ び図 28の固定長符号語テーブルを用いて復号する (ステップ 505) 。 次いで、 先頭の ESCAPE符号を復号する (ステップ S 506) 。 - 次に、 本第 2実施形態にお!/、て順方向および逆方向の各復号処理で行われる誤 り発見処理の手順について説明する。
図 32は、 順方向符号語テーブル 124に存在しないビットパターンが符号ィ匕 データに出現したことを理由に誤りを発見する場合のフローチヤ一トである。 まず、 順方向または逆方向の復号処理で用いられる符号語テ一ブルに該当する 符号語が存在するカゝ否かを確認するために、 前述の符号化データの復号処理で得 た I ND EX値が存在するか否かを確認する (ステップ S 601) 。 もし I ND EX値が存在しなければ、 存在しない符号語パターンが出現したと判定され、 そ こで誤りが発見される (ステップ S 606) 。
一方、 I NDEX値が存在する場合には、 まず、 その I NDEX値が "0" で あるか否かを調べる (ステップ S 602) 。 I NDEX値が "0" の場合は、 E
5 CAPE符号で符号化している場合であるので、 (LAST, RUN, LEV EL) の組み合わせが符号語テーブルに存在する力否かを調べる (ステップ S 6 03) 。 符号語テーブルに存在する組み合わせの場合には、 存在しない符号語パ ターンが出現したと判定され、 そこで誤りが発見される (ステップ S 606) 。 また、 (LAST, RUN, LEVEL) の組み合わせが符号語テーブルに存在 しなかった場合には、 固定長符号の後に E S C A P E符号が存在するか否かを確 認する (ステップ S 604) 。 もし ESCAPE符号が存在しなければ、 存在し なレ、符号語パターンが出現したと判定されてそこで誤りが発見され (ステップ S
606) 、 また ESCAPE符号が存在すれば、 正しレ、符号化ビットパターンで あると判定され、 正しい復号化処理が行われる (ステップ S 605) 。
一方、 I N D E X値が符号語テーブルに存在し、 且つ I N D E X値が " 0 " 以 外の場合は、 正しい符号ィヒビットパターンであると判定され、 正しい複号化処理 が行われる (ステップ S 605) 。
図 33は、 シンタックス上あり得ない状態が生じていることを理由に誤りを発 見する場合のフローチャートである。 この例では、 8 X 8の DCT係数のブロッ ク毎に零ランの数とゼロ以外の非零係数の個数との合計が 64個よりも大きいか 否かのチェックを行っている。
すなわち、 まず、 8 X 8の DC T係数の中の直流成分が AC成分の DC T係数 部の符号化データに含まれている力否かを調べ (ステップ S 701) 、 含まれて いるならば、 零ランの数と非零係数の個数との合計を示す変数 SUMに、 初期値 として "0" をセットし (ステップ S 702) 、 含まれてない場合には、 変数 S UMに初期ィ直として "1" をセッ卜する (ステップ S 703) 。
次に、 (LAST, RUN, LEVEL) によって与えられる各 D C T係数の 符号化データの可変長復号が LAS Τ= "1" になるまで繰り返し実行される (ステップ S 704〜S 707) 、 この処理においては、 ステップ S 704で (LAST, RUN, LEVEL) の可変長復号が行われる度、 非零係数までの 零ランの数を示す RUNの値に + 1したもの、 つまり RUN+1の値が、 変数 S UMに足し込まれる (ステップ S 705) 。 ここで、 RUNの値に + 1するのは、 零係数および非零係数のどちらであっても一偶分の係数が復号処理されたことに なるためである。 変数 SUMの値が 64よりも大きいか否かをチェックし (ステ ップ S 706) 、 もし変数 SUMの値が 64よりも大きければ、 そのときにシン タックスエラーの発生が検出される (ステップ S 709) 。
LAST係数が "1" になるまでの間にシンタックスエラ一が発見されなけれ ば、 そのブロックの復号処理が正常終了される (ステップ S 708) 。
(両端に E SCAP E符号をつける場合の別の構成例)
図 34と図 35は、 両端に ESCAPE符号をつける場合の別の構成である。 RUNおよび L EVE Lの値は、 それぞれ図 23の RU N固定長符号語テ一ブル および図 34の LEVE L固定長符号語テーブルによって 6ビットと 11ビット の固定長符号に変換される。 この時、 LEVELの両端には、 零ランの個数を制 限するために、 "1" の Ma r k e r B i tを立てる。 この符号列の先頭には、 図 35に示されるように、 LASTの値に対応する 1ビットが付加される。 さら に、 その符号列の両端に、 ES CAPE符号が付加される。 先頭の ESCAPE 符号は、 "00001 " であり、 末尾の ES CAPE符号は図 25及び図 26の 符号語テ一ブルにおける I NDEX値 = "0" によって検索されるリバーシブル 符号 "0000 s,, である。 このリバーシブル符号 "0000 s" の最終ビット "s" は LEVE Lの正負の符号を示しており、 "s" カ "0" のときは LEV ELの符号は正、 "s" 力; "1" のときは LEVE Lの符号は負である。
図 37は、 図 19に対応する下位階層の可変長符号化による可変長符号化処理 手順を示している。
ステップ S 801〜S 805はそれぞれ図 19のステップ S 301〜S 305 と同じであり、 図 19との違いは、 ステップ S 806の部分である。 ここでは、 LEVELの両端に Ma r k e r B i tが立てられる。
図 38および図 39は、 順方向復号器 704および逆方向復号器 708それぞ れによるリバーシブル符号の復号処理方法を示している。
図 38の順方向復号処理におけるステップ S 901, S 902, S 903, S 905, S 906は図 20の順方向復号処理を構成するステップ S401, S 4 02, S 403, S 405, S 406と同じであり、 図 20との違いは、 ステツ プ S 904である。 ステップ S 904では、 ESCAPE符号に続く (LAST, RUN, LEVEL) の固定長符号のみならず、 ESCAPE符号に続く (LA ST, RUN, LEVEL) および Ma r k e r B i tの固定長符号が復号さ れる。
同様に、 図 39の逆方向復号処理におけるステップ S 1001, S 1002, S 1003, S 1005, S 1006は図 21の逆方向復号処理を構成するステ ップ S 501, S 502, S 503 , S 505, S 506と同じであり、 図 21 との違いは、 ステップ S 1005である。 ここでは、 (LEVEL, RUN, L AST) の固定長符号のみならず、 (LEVEL, RUN, LAST) および M a r k e r B i tの固定長符号が復号される。
なお、 本例では、 両端に ESCAPE符号をつける場合の構成として、 RUN が 6ビットで、 L E V E Lの固定符号長が 7ビットの場合と、 11ビットの場合 を示したが、 その他のビット数であっても構わない。
図 36は、 両端に E SCAP E符号をつける場合の他の構成である。 例えば、 LEVELの固定符号長が長く、 零ランの個数制限を越える場合には、 図 36の ように、 LEVE Lの固定長符号の間に Ma r k e r B i tを挿入することが 好ましい。 例えば再同期マ一カーなどの同期符号の符号長が 17ビット (16ビ ットの零ラン + 1 ; "00000000000000001" ) の場合には、 同 期符号と他の符号語との混同を避けるために、 零ランの個数は 15ビット以下に 制限される。 この場合、 LEVELの固定長符号が長く、 その零ランの個数が 1 6ビットを越える可能性がある場合には、 図 36のように LEVELの固定長符 号の間に Ma r k e r B i tが挿入される。 これにより、 LEVELの固定符 号長が長レヽ場合でも同期符号との混同を避けることが可能となる。
図 40は、 AC— DC T部の存在しない符号語パタ一ンの検出方法を示したフ 口一チャートである。 これは、 図 32に対応するものである。 まず、 符号語テーブルに符号語が存在するかどうカゝ確認するために、 I NDE X値が存在するか確認する (ステップ S 1 101) 。 もし、 I NDEX値が存在 しなければ、 存在しない符号語パターンが生じている (ステップ S 1 107) 。 もし、 I N D E X値が存在した場合は、 I N D E X値が 0力 どうか確認、し (ス テツプ S 1 102) 、 もし、 I NDEX値が 0の場合は、 ES PACE符号で符 号ィ匕してある場合で、 (LAST, RUN, LEVEL) の組を復号して、 符号 語テーブルの方に存在するかどう力調べる (ステップ S 1 103) 。 符号語テー プルに存在する組合せの場合は、 存在しない符号語パターンが生じている (ステ ップ S 1 107) 。
また、 Ma r k e r B i tが正しい力確認する (ステップ S 1 104) 。 も し、 Ma r k e r B i tが正しくない場合、 存在しない符号語パターンが生じ ている (ステップ S 1107) 。
もし、 I NDEX値が 0以外の場合は、 正しく復号化が行われている (S 1 1 06) 。
もし、 符号語テーブルに存在しない組合せの場合で、 Ma r k e r B i t力 正しい場合、 固定長符号の後に ESCAPE符号が存在する力確認する (ステツ プ S 1 105) 。 もし、 ESCAPE符号が存在しない場合、 存在しない符号語 パターンが生じている (ステップ S 1 107) 。 もし、 ESCAPE符号が存在 した場合、 正しく復号が行われている (ステップ S 1 106) 。
このように、 本例では、 順方向および逆方向の各復号処理で行われる誤り検出 処理の中に、 Ma r k e r B i tが正しいか否かの判定処理が加えられている。
(両端に E S CAP E符号をつける場合のさらに他の構成例)
図 41と図 42は、 両端に ESCAPE符号をつける場合のさらに他の構成で ある。 ここでは、 LEVELの値が図 41のように 2の補数表現で表される場合 を想定している。 この場合、 LEVELの符号語によってその正負が特定される ので、 符号列の末尾の ESCAPE符号は "00001" となり、 LEVELの 正負を示す符号 " s " は使用されなレ、。
RUNおよび LEVELの値は、 それぞれ図 27の RUN固定長符号語テープ ルおよび図 41の L E V E L固定長符号語テーブルによって、 固定長符号に変換 される。 この時、 LEVELの両端には、 零ランの個数を制限するために、 "1" の Ma r k e r B i tを立てる。 この符号列の先頭には、 図 42に示さ れるように、 LAS Tの値に対応する 1ビットが付カ卩される。 さらに、 その符号 列の両端に、 E S C AP E符号が付加される。
また、 LEVE Lの固定符号長によっては、 LEVELと末尾の ESCAPE 符号との間の Ma r k e r B i tの挿入は省略できる。 この例を図 43に示す。 図 43では、 L EVE Lの固定符号長が 12ビットの場合が示されている。
LEVELの零ランの個数は、 LEVELの固定符号長一 2ビッ卜になるので、 L EVE Lの固定符号長が 13ビット以下であれば、 末尾の E S CAP E符号の 4ビットの零ランと合わせても、 合計の零ラン個数は、 同期符号が 17ビッ トの 場合の制限値 ( 16ビット) よりも小さくなる。
また、 前述したように零ランの個数制限は同期符号のビット数で決まるので、 同期符号の符号長を長く設定した場合には、 図 44および図 45に示されている ように、 LEVELの符号語として絶対値と 2の補数表現のどちらを用いた場合 でも Ma r k e r B i tの挿入を省略することができる。
逆に、 LEVELの符号語として 2の補数表現を使用した場合でも、 図 36と 同様にして、 零ランの個数制限を越えないように、 L EVE Lの符号語内にも M a r k e r B i tを挿入しても良い。 図 46はこの例である。
図 47は、 LEVELの符号語として 2の補数表現を使用し、 且つ M a r k e r B i を挿入した場合、 つまり図 42、 図 43または図 46の符号化データ 列を使用した場合における順方向複号化処理の手順を示している。
L EVE Lの符号語として絶対値を使用する図 38の順方向復号ィヒ処理との違 いは、 ステップ S 906の処理が省略されている点である。 つまり、 LEVEL の符号語として 2の補数表現を使用した場合には、 ステップ S 204における (LAST, RUN, L E V E L) および M a r k e r B i tの固定長符号の 復号処理にて、 LEVELの符号の正負も判定されることになる。
図 48は、 LEVELの符号語として 2の補数表現を使用し、 且つ M a r k e r B i tを挿入した場合、 つまり図 42、 図 43または図 46の符号化データ 列を使用した場合における逆方向復号化処理の手順を示している。 LEVELの符号語として絶対値を使用する図 39の逆方向復号化処理との違 いは、 ステップ S 1301の処理が省略されている点である。 つまり、 LEVE Lの符号語として 2の補数表現を使用した場合には、 ステップ S 1304におけ る (LEVEL, RUN, L A S T) および M a r k e r B i tの固定長符号 の復号処理にて、 LEVELの符号の正負も判定されることになる。
図 49は、 LEVELの符号語として 2の補数表現を使用し、 且つ M a r k e r B i tを使用しなレ、場合、 つまり図 45の符号化データ列を使用した場合に における順方向複号化処理の手順を示している。 図 47との違いは、 ステップ S 1204にて、 (LAST, RUN, L E V E L) の固定長符号についてのみの 復号処理が行われる点である。
図 50は、 LEVELの符号語として 2の補数表現を使用し、 且つ M a r k e r B i tを使用しない場合、 つまり図 45の符号化データ列を使用した場合に おける逆方向復号化処理の手順を示している。 図 48との違いは、 ステップ S 1 505にて、 (LEVEL, RUN, LAST) の固定長符号についてのみの復 号処理が行われる点である。
(第 3の実施形態)
次に、 第 1および第 2実施形態の復号値決定処理に適用可能な誤り範囲の推定 方法を、 本発明の第 3実施形態として説明する。
図 51は、 本発明の第 3実施形態に係る可変長複号化器 109の構成を示すブ ロック図である。
可変長復号化器 109は第 1および第 2実施形態と同様に可変長符号を含む符 号化データを同期区間毎に復号するものであり、 その基本構成は第 1および第 2 実施形態と同じである。
すなわち、 可変長復号化器 109では、 符号化データが順方向のみ復号可能な 可変長符号の場合は、 スィッチ Sは Aにつながれて、 順方向複号化器 104にて 通常の順方向復号が行われる。 順方向復号化器 104で復号された符号化データ は、 復号値決定部 105に送られる。
符号化データが双方向に復号可能な可変長符号の場合は、 スィッチ S 101は Bにつながれ、 符号化データは、 バッファ 102に蓄えられ、 符号化データの総 ビット数が調べられた後に、 順方向複号化器 1 0 4で復号される。
順方向復号化器 1 0 4で誤りが発見された場合には、 スィツチ T 1 0 5がオン されて、 バッフ 1 0 2に蓄えられた符号ィヒデータを逆方向復号化器 1◦ 8で逆方 向からの復号が行われる。
順方向復号化器 1 0 4および逆方向複号化器 1 0 8では、 存在しなレヽ符号語が 出現した場合などに、 誤りが生じたと判断する。
復号値決定部 1 0 5では、 順方向複号化器 1 0 4の復号結果と逆方向復号化器 1 0 8の復号結果をつきあわせて最終的な復号結果を決定する。
以下、 双方向復号可能な可変長符号の符号化データの場合の復号値決定部 1 0 5の動作について説明する。 一 本第 3実施形態では、 順方向および逆方向復号処理で検出した符号化データの 誤り検出位置と、 伝送系または蓄積系の誤り率と、 各々の符号語の生起確率と、 符号語テーブル中の各符号語のビットパターンから、 誤りの存在する範囲を推定 することにより、 最終的な復号値が決定される。 つまり、 前述したように、 第 1 および第 2実施形態では、 誤りが検出された位置からある一定量 (T符号語) の 範囲を固定的に誤り伝搬範囲として特定するようにしたが、 本第 3実施形態では、 誤り伝搬範囲の推定によって最適な Tの値が求められる。
ところで、 無記憶情報源の最適符号化である H u f f m a n符号の符号長は、 2元の場合、 次のような K r a f tの不等式を等号で満たすことが知られている。 ∑2
xeX ここで、 Xは、 符号 Xの符号語、 1 ( X )は、 Xの符号長とする。
し力 し、 本発明のように同期区間が設定されて、 同期符号が挿入される場合、 同期符号のパターン (例えば、 0 0 0 · · · 0 1 ) とぶつからないような設計がなさ れるため、 K r a i tの不等式を等号で満足していない符号が用いられている。
./(X)
∑2- < 1 - (2) xeX 例えば、 図 56および図 57 A、 57B、 57Cのような符号の場合、 同期符 号とぶっからないように "0000" を禁止符号語としている。 この様な符号で は、 誤りが混入して可変長符号が正しく復号できなくなった時に、 出現しなレ、パ ターン "0000" が生じると、 誤りであることを検出することができる。
符号化デ一タが伝送または蓄積される伝送系または蓄積系の通信路モデルとし ては、 図 58のような誤り率 ε、 (0< ε < 1) の 2元対称通信路を仮定すると、 符号語 Xを送信し、 受信系列 yを受信する条件付き確率 P(y | p (y I χ)χ) は、 ビットの挿入、 欠落は考慮しないので、
Figure imgf000039_0001
となる。 ここで、 d(x,y) は、 系列 Xと系列 yのハミング距離である c
その結果、 系列 yを受信する確率 P(y) は、
Figure imgf000039_0002
となる。 今、 符号 Xの符号^ ¾は有限、 全ての Xに対して、 Ρ (X) 〉0とす る。
ただし、 ビットストリームに誤りが入った状態から、 誤りが検出されるまでの 状態を するためには、 まず、 少なくとも 1ビットは誤りが入った状態 (初期 状態 I) を考える必要がある。
今、 符号語 Xが 1ビットも誤らなレ、確率は、 ( 1一 ε ) 1 ( X)なので、 少なく とも各符号語に 1ビットは誤りが入るような条件付き確率を考えると、
d(x,y)≠ 0
尸' Gズ = 1— (1一ど
d{x =0
(5)
P'(y) =∑P(x)P'{y\x となる。
今、 対象としている瞬時復号可能な符号の場合、 誤りがない場合の受信系列 y は、 符号木の根の部分からスタートして、 必ず葉の部分に到 る。
し力 ^し、 誤りがある場合には、 受信系列 yは、 符号木の葉の部分だけでなく節 点の状態でスタートまたは、 受信される可能性があるので、 図 5 5のような状態 遷移図で表現することができる。 各状態への遷移確率 t ± は、 . (6)
Figure imgf000040_0001
によって、 状態 iから状態 jに遷移する時の状態遷移確率 t yを求めることが できる。 ここで、 関数 V ( y , i→j ) は、 状態 iの時、 受信系列 yで、 状態) に遷移するならば、 値 1、 そうでないならば、 値 0をとる。
ここで、 各状態を次のように定義する。
I 初期状態
s 同期状態
U i 非同期状態 i = l, …, N- 2
E 誤り検出状態
図 5 5は、 符号語の状態遷移図の例であり、 図 5 6は、 符号語の状態遷移表で ある。
行列 Tは、 状態遷移表のうち、 各状態から誤り検出される確率を除いた部分で
Figure imgf000040_0002
と定義し、 一方、 べクトル Dは、 各状態から、 誤り検出状態 Eに遷移する確率と する。 γ
D = (t NN+W … ) 初期状態 Iからスタートするので誤り検出状態 Eを除く各状態の確率の初期確 率は、 β(ο) = (ΐΑ...ο) … と置けるので、 i符号語後の誤り検出状態 Eを除く各状態の確率は、
2(0 = Q(0)T'-1 -do) で、 計算できる。
従って、 i符号語後に誤りが検出される確率は、 i― 1符号語後に各状態にい て、 その次に検出される確率だから、
R( = Q(i一 1) 二 0(0)7"^ I = 1,2, (11) となる。 ただし、 T O は、 単位行列 Iとする。
推定確率 aを設定して、 その確率で誤りが検出できる符号 を計算できる c
Figure imgf000041_0001
となる最小の jを求めて F( a )とすることで、 誤りの存在範囲を確率的に推定 できる。 この F( a )は、 前述したように第 1および第 2実施形態における丁に 相当する。
つまり、 誤りを検出できた位置から、 F( a ) 符号語分さかのぼった範囲に確 率 aで誤りが存在するということである。 また、 復号処理の立場から考えると、 この値によって、 誤りを検出できた位置から、 F( a )符号語分さかのぼること W
40 により、 誤りの伝搬してレヽる可能性のある箇所を確率 aで排除することが可能に なる。
復号値決定部 1 0 5は、 順方向符号語テープノレ 1◦ 3と逆方向符号語テーブル 1 0 8と符号語の生起確率 P ( X )と通信路の誤り率 εと推定確率 a力 ら、 順方 向の誤りの存在する範囲 a )と逆方向の誤りの存在する範囲 F 2 ( a )を計算 し、 誤り検出位置との関係から、 廃棄する部分を決定する。
もし、 図 5 7 Aのように、 順方向の誤り検出位置と逆方向の誤り検出位置が交 差しない場合は、 それぞれの検出位匱から、 誤りの存在する範囲 a )、 F 2 ( a )の分だけさかのぼって廃棄する範囲を増やす。
もし、 図 5 7 Bのように、 順方向の誤り検出位置と逆方向の誤り検出位置が交 差し、 つ、 交差する範囲が誤りの存在する範囲より大きい場合、 交差する範囲 を廃棄する範囲とする。
もし、 図 5 7 Cのように、 順方向の誤り検出位置と逆方向の誤り検出位置が交 差し、 つ、 交差する範囲が誤りの存在する範囲より小さい場合、 誤りが存在す る範囲を廃棄する範囲とする。
また、 F ( a ) に平均符号長をかけることで、 ビット数で推定することも可能 である。
Β(α) = Ρ(α) ^ Ρ(χ)1(χ) - 03)
-te"
この場合は、 復^直決定部 1 0 5は、 図 5 8 Aないし 5 8 Cのような動作をと る。 図 5 7 Aないし 5 7 Cの場合と同様に、 もし、 図 5 8 Aのように、 順方向の 誤り検出位置と逆方向の誤り検出位置が交差しなレ、場合は、 それぞれの検出位置 力 ら、 誤りの存在する範囲 a ), B 2 ( a )の分だけさかのぼって廃棄する範 囲を増やす。
もし、 図 5 8 Bのように、 順方向の誤り検出位置と逆方向の誤り検出位置が交 差し、 力つ、 交差する範囲が誤りの存在する範囲より大きい場合、 交差する範囲 を廃棄する範囲とする。
もし、 図 5 8 Cのように、 順方向の誤り検出位置と逆方向の誤り検出位置が交 差し、 かつ、 交差する範囲が誤りの存在する範囲より小さい場合、 誤りが存在す る範囲を廃棄する範囲とする。
なお、 本第 3の実施形態においては、 双方向に復号可能な可変長復号化器の場 合の例を示したが、 通常の順方向のみに復号可能な可変長復号化器の場合にも適 用可能である。
以上、 説明したように本第 3実施形態の可変長複号化装置においては、 1 ) 符 号化データをその符号ィヒデータに誤りが検出されるまで順方向から復号し、 2 ) 順方向からの復号にぉレ、て符号化データに誤りが検出されたとき、 符号化デ一タ を逆方向から復号し、 3 ) 順方向および逆方向からの復号結果と、 順方向および 逆方向からの復号にぉレ、てそれぞれ検出された符号化データの誤り検出位置と、 伝送系または蓄積系の誤り率と、 各々の符号語の生起確率と、 符号語テーブル中 の各符号語のビットパターンから、 誤りの存在する範囲を推定して、 最終的な復 号値を決定する、 という手順にて復号処理が行われる。
このように伝送系または蓄積系の誤り率と符号語の性能に応じて、 誤り発見位 置から、 実際の誤りが存在する位置を確率的に推定することで、 本来は正しくな い符号語が誤って正しい符号語として復号されてしまうことを一定確率以下に低 減することが可能となる。
なお、 以上説明した第 1乃至第 3実施形態の可変長復号化装置の複号化処理の 手順は、 コンピュータ読み取り可能な C D— R OMや D V D— ROM、 D V D— R AMなどの記録媒体に格納されたコンピュータプログラムによつて実現するこ ともできる。 これにより、 可変長復号のための専用のハ一ドウヱァを持たないコ ンピュータなどにおいても、 符号化データに含まれる誤りによる影響が少ない復 号処理を行うことができる。 また、 第 1乃至第 3実施形態の可変長復号化装置の 一部または全てのハードウエアを搭載し、 その動作制御をコンピュータプロダラ ムによって行うようにすることもできる。
(第 4実施形態)
次に、 本発明の応用例として、 本発明の実施形態 1〜3の可変長符号化 Z復号 ィ匕装置が組み込まれた動画像符号化 Z復号化システムの例を図 5 9を用いて説明 する。 パーソナルコンピュータ (P C) 1 0 0 1に備え付けられたカメラ 1 0 0 2より入力された画像信号は、 P C 1 0 0 1に組み込まれた動画像符号化器また は動画像符号ィ匕ソフトウェアによって符号化される。 符号ィヒされたデータは、 他 の音声やデータの情報と多重化された後、 無線機 1 0 0 3より無線で送信され、 他の無線機 1 0 0 4によって受信される。 無線機 1 0 0 4で受信された信号は、 画像信号の符号ィヒデータおよび音声データに分解される。 これらのうち、 画像信 号の符号化データはワークステーション (EWS ) 1 0 0 5に組み込まれた動画 像復号ィ匕器または動画像復号化ソフトウェアによって復号され、 EWS 1 0 0 5 のディスプレイに表示される。
一方、 EW S 1 0 0 5に備え付けられたカメラ 1 0 0 6より入力された画像信 号は、 EWS 1 0 0 5に組み込まれた動画像符号化器または符号ィヒソフトウエア を用いて上記と同様に符号化される。 符号ィヒデータは、 他の音声やデータの情報 と多重化され、 無線機 1 0 0 4により無線で送信され、 無線機 1 0 0 3によって 受信される。 無線機 1 0 0 3によつて受信された信号は、 画像信号の符号化デー タおよび音声やデータの情報に分解される。 これらのうち、 画像信号の符号化デ —タは P C 1 0 0 1に組み込まれた動画像復号化器または動画像復号化ソフトゥ エアによって復号され、 P C 1 0 0 1のディスプレイに表示される。
なお、 動画像複号化ソフトウェアは、 前述の各実施形態で説明した可変長復号 化処理の手順をコンピュータに実行させるためのプログラムにより実現される。 また、 以上説明した各実施形態 1〜 3の構成および符号化データ列の構造は適 組み合わせて用いることが可能である。
以上説明したように、 本発明によれば、 符号化データのビット上での誤り発見 位置と符号化データのシンタックス上の誤り発見位置とを利用することにより、 本来は正しくない符号語が正しいと復号される場合を減らすことができ、 伝送路 の誤りによる影響を抑えることのできる可変長復号化装置および方法を実現する ことができる。 また、 特に、 本発明の可変長複号化装置および方法を動画像の復 号化処理に適用することで、 符号ィヒされた動画像信号が無線通信路などの伝送路 誤りの多レ、環境を介して送信される場合であっても、 伝送路誤りによる表示画面 への影響を低減することが可能となる。 さらに、 誤りの伝搬範囲を推定すること により、 本来は正しくない符号語が正しレ、と復号される確率をより低減すること が可能となる。 産業上の利用可能性
上述した本発明の動画像復号化装置は、 双方向に復号可能な可変長符号に符号 化されて記録媒体に記録され、 または伝送された動画像等の可変長符号化情報を 復号化するのに適している。

Claims

請 求 の 範 囲
1 . 順方向にも逆方向にも復号可能な符号語で構成された可変長符号からなる 符号化デ一タを受ける入力部と、
前記符号化データを所定区間毎に順方向から復号する順方向復号部と、 前記符号ィ匕データを所定区間毎に逆方向から復号する逆方向復号部と、 前記順方向復号化部および逆方向復号部の復号結果から最終的な復号結果を出 力する復号値決定部と、
で構成され、
前記順方向復号化部および逆方向復号部の各々は前記符号化データの誤りを検 出する検出部を有し、
前記復号値決定部は、 前記順方向復号化部によつて検出された前記符号化デー タの誤り位置を示す前記符号化データのビット上の誤り発見位置および前記符号 化データのシンタックス上の誤り発見位置と、 前記逆方向復号化部によつて検出 された前記符号化データの誤り位置を示す前記符号化データのビット上の誤り発 見位置および前記符号化デ一タのシンタックス上の誤り発見位置とを利用して、 復号値を決定する可変長複号化装置。
2 . 前記復号値決定部は、 前記符号化データのシンタックス上の誤り発見位置 として、 前記同期区問内の何番目の符号語に誤りが生じたかを示す符号語上の誤 り発見位置を使用する請求項 1記載の可変長複号化装置。
3 . 前記復号値決定部は、 前記順方向復号ィヒ部および逆方向複号化部による誤 り発見位置が、 前記ビット上および前記シンタックス上のいずれか一方において 交差する場合、 より交差量の多レ、誤り発見位置間に属する符号化データを廃棄し、 その廃棄データ領域の直前までの符号語に対する復号ィ直として順方向の復号結果 を使用し、 廃棄データ領域の直後からの符号語に対する復号値として逆方向の復 号結果を使用する請求項 1記載の可変長複号化装置。
4 . 前記復号値決定部は、
( a ) 前記順方向復号ィヒ部および逆方向復号ィヒ部による誤り発見位置が、 ビッ ト上でもシンタックス上でも交差しない場合、 前記順方向復号化部による前記ビット上またはシンタックス上の誤り発見位置 の一定量手前までの符号語に対する復号値として順方向の復号結果を使用し、 前 記逆方向復号部による前記ビット上またはシンタックス上の誤り発見位置の一定 量後からの符号語に対する復号値として逆方向の復号結果を使用し、 残りの符号 化データを廃棄し、
( b ) 前記順方向複号化部および逆方向復号化部による誤り発見位置が、 ビッ ト上では交差しないが、 シンタックス上で交差する場合、
前記逆方向復号化部によるシンタックス上の誤り発見位置の直前までの符号語 に対する復号値として順方向の復号結果を使用し、 前記順方向復号部によるシン タックス上の誤り発見位置の直後からの符号語に対する復号値として逆方向の復 号結果を使用し、 シンタックス上の誤り発見位置が交差する部分の符号化データ を廃棄し、
( c ) 前記順方向複号化部おょぴ逆方向復号化部による誤り発見位置が、 ビッ ト上で交差するが、 シンタックス上では交差しない場合、
前記逆方向復号化部によるビット上の誤り発見位置の直前までの符号語に対す る復号値として順方向の復号結果を使用し、 前記順方向復号部によるビット上の 誤り位置の直後からの符号語に対する復号値として逆方向の復号結果を使用し、 ビット上誤り発見位置が交差する部分の符号化データを廃棄し、
( d ) 前記順方向複号化部および逆方向復号化部による誤り発見位置が、 ビッ ト上でもシンタックス上でも交差する場合、
交差する部分が最大となる位置を誤り発見位置として選択して、
前記逆方向複号化部による誤り発見位置の直前までの符号語に対する復号値と して順方向の復号結果を使用し、 前記順方向復号部での誤り発見位置の直後から の符号語に対する復号値として逆方向の復号結果を使用し、 誤り位置が交差する 部分の符号化データを廃棄する請求項 1記載の可変長復号化装置。
5 . 動画像信号を直交変換することによって得られた変換係数を順方向にも逆 方向にも復号可能な符号語を用レ、て符号化することによつて生成された可変長符 号を含む前記動画像信号の符号化データを受ける入力部と、
前記符号化データの同期区間を検出する同期区間検出部と、 前記同期区間検出部により検出された所定の同期区間の符号化データを順方向 から復号する順方向復号部と、
前記同期区間検出部により検出された所定の同期区間の符号ィヒデータを逆方向 から復号する逆方向復号部と、
前記順方向復号ィ匕部および逆方向復号部の復号結果から最終的な復号結果を出 力する復号値決定部とを有し、
前記順方向復号化部および逆方向復号部の各々は前記符号ィ匕データの誤りを検 出する誤り検出部を有し、
前記復号値决定部は、 前記順方向複号化部によつて検出された前記符号化デー タの誤り位置を示す前記符号ィヒデータのビット上の誤り発見位置および前記符号 化データのシンタックス上の誤り発見位置と、 前記逆方向復号ィヒ部によって検出 された前記符号化デ一タの誤り位置を示す前記符号化データのビット上の誤り発 見位置および前記符号化データのシンタックス上の誤り発見位置とを利用して、 復号値を決定する動画像復号化装置。
6 . 前記復号値決定部は、 前記同期区間内の符号ィヒデータに誤りが検出された 場合、 誤りが検出されなかったマクロブロックの内で、 フレーム内符号化を行つ たマクロプロックの変換係数からなる符号化データを、 一部または全て廃棄する 請求項 5記載の動画像復号化装置。
7 · 前記復号値決定部は、 符号化データを廃棄したマク口プロックにつレ、て、 フレーム内符号化モードの場合は前画面を表示するか、 符号化を行わないモ一ド として処理し、 フレーム間予測符号化モードの場合は動き補償を行う請求項 5記 載の動画像複号化装置。
8 . 前記同期区間内の符号化データはそれぞれ動画像信号の予測符号化の単位 となる複数のマク口ブロックの変換係数を含み、
前記復号ィ直決定部は、 前記符号化データのシンタックス上の誤り発見位置とし て、 前記同期区間内の何番目のマクロブロックに誤りが生じたかを示すマク口ブ ロック上の誤り発見位置を使用する請求項 5記載の動画像復号化装置。
9 . 前記同期区間内の符号化デ一タはそれぞれ動画像信号の予測符号ィ匕の単位 となる複数のマク口ブロックの変換係数を含み、 前記復号値決定部は、
( a ) 前記順方向複号化部および逆方向復号化部による誤り発見位置が、 ビッ ト上の位置でもシンタックス上の位置でも交差しなレ、場合、
前記順方向復号ィ匕部によるビット上またはシンタックス上の誤り発見位置の一 定量手前までのマク口プロックに対する復号値として順方向の復号結果を使用し、 前記逆方向復号部によるビット上またはシンタックス上の誤り発見位置の一定量 後からのマクロプロックに対する復号値として逆方向の復号結果を使用し、 残り のマクロブロックの変換係数からなる符号化データを廃棄し、
( b ) 前記順方向複号化部および逆方向復号ィ匕部による誤り発見位置が、 ビッ ト上の位置では交差しないが、 シンタックス上の位置で交差する場合、
前記逆方向復号化部によるシンタックス上の誤り発見位置の直前までのマク口 プロックに対する復号値として順方向の復号結果を使用し、 前記順方向復号部に よるシンタックス上の誤り発見位置の直後からのマク口プロックに対する復号値 として逆方向の復号結果を使用し、 シンタックス上の誤り発見位置が交差するマ クロプロックの変換係数からなる符号化データを廃棄し、
( c ) 前記順方向複号化部および逆方向復号化部での誤り発見位置が、 ビット 上の位置で交差するが、 シンタックス上の位置では交差しなレ、場合、
前記逆方向複号化部によるビット上の誤り発見位置の直前までのマクロプロッ クに対する復号 として順方向の復号結果を使用し、 前記順方向復号部によるビ ット上の誤り発見位置の直後からのマクロプロックに対する復号値として逆方向 の復号結果を使用し、 ビット上の誤り発見位置が交差するマクロブロックの変換 係数からなる符号化データを廃棄し、
( d ) 前記順方向複号化部および逆方向復号化部による誤り発見位置が、 ビッ ト上の位置でもシンタックス上の位置でも交差する場合、
交差する部分が最大となる位置を誤り発見位置として選択して、
逆方向復号ィヒ部による誤り発見位置の直前までのマクロプロックに対 ~Τる復号 値として順方向の復号結果を使用し、 前記順方向復号手による誤り発見位置の直 後からのマクロプロックに対する復号値として逆方向の復号結果を使用し、 誤り 発見位置が交差するマクロブロックの変換係数からなる符号化データを廃棄する 請求項 5記載の動画像複号化装置。
1 0 . 前記復号値決定部は、 前記同期区間内の符号化データに誤りが検出された 場合、 誤りが検出されなかったマクロブロックの内で、 フレーム内符号化を行つ たマクロプロックの変換係数からなる符号化データを、 一部または全て廃棄する 請求項 9記載の動画像複号化装置。
1 1 . 前記復号値決定部は、 符号化データを廃棄したマク口プロックにつレ、て、 フレーム内符号化モードの場合は前画面を表示するか、 符号化を行わなレ、モ一ド として処理し、 フレーム間予測符号化モードの場合は動き補償を行う請求項 9記 載の動画像複号化装置。
1 2 . 順方向にも逆方向にも復号可能な符号語を含む符号語で構成された可変長 符号からなる符号化データを所定の同期区間毎にその符号ィヒデータに誤りが検出 されるまで順方向から復号し、
前記順方向からの復号にぉレ、て前記符号化データに誤りが検出されたとき、 前 記符号化データを所定区間毎に逆方向から復号し、
前記順方向および逆方向からの復号結果と、 前記順方向および逆方向からの復 号にぉレ、てそれぞれ検出された前記符号化データのビット上の誤り発見位置と前 記符号化データのシンタックス上の誤り発見位置とを利用して、 復号値を決定す る可変長符号化データの復号化方法。
1 3 . 前記順方向からの復号および逆方向からの復号における誤り発見位置が、 前記ビット上の誤り発見位置および前記シンタックス上の誤り発見位置のいずれ 力一方において交差する場合、 より交差量の多い誤り発見位置間に属する符号ィ匕 データを廃棄し、 その廃棄データ領域の直前までの符号語に対する復号値として 順方向の復号結果を使用し、 廃棄データ領域の直後からの符号語に対する復号値 として逆方向の復号結果を使用する請求項 1 2記載の復号化方法。
1 4 . 順方向にも逆方向にも復号可能な符号語を含む符号語で構成された可変長 符号からなる符号化データを所定期間毎にその符号ィ匕データに誤りが検出される まで順方向から復号する手順と、
前記順方向からの復号におレ、て前記符号化データに誤りが検出されたとき、 前 記符号化データを逆方向から復号する手順と、 前記順方向および逆方向からの復号結果と、 前記順方向および逆方向からの復 号にぉレヽてそれぞれ検出された前記符号化データのビット上の誤り発見位置と前 記符号化データのシンタックス上の誤り発見位置とを利用して、 復号値を決定す る手順とを含むコンピュータプログラムを記録する記録媒体。
1 5 . 順方向にも逆方向にも復号可能な符号語を含む符号語で構成された可変長 符号からなる符号化データを受ける入力部と、
前記符号化データを所定同期区間毎に順方向から復号する順方向復号部と、 前記符号ィ匕データを所定同期区間毎に逆方向から復号する逆方向復号部と、 前記順方向復号部および逆方向複号化部の復号結果から最終的な復号結果を出 力する復号値決定部とを具備し、
前記順方向復号化部および逆方向復号部の各々は前記符号化データの誤りを検 出する誤り検出部を有し、
前記復号値決定部は、 前記順方向および逆方向復号部で検出した符号ィヒデータ の誤り検出位置と、 伝送系または蓄積系の誤り率と、 各々の符号語の生起確率と、 符号語テーブル中の各符号語のビットパターンから、 誤りの存在する範囲を推定 して、 最終的な復号値を決定する可変長復号化装置。
1 6 . 順方向にも逆方向にも復号可能な符号語を含む符号語で構成された可変長 符号からなる符号化データをその符号化データに誤りが検出されるまで所定同期 区間毎に順方向から復号し、
前記順方向からの復号において前記符号化データに誤りを検出したとき、 前記 符号化データを所定同期区間毎に逆方向から復号し、
前記順方向および逆方向からの復号においてそれぞれ検出された前記符号化デ 一タの誤り検出位置と、 伝送系または蓄積系の誤り率と、 各々の符号語の生起確 率と、 符号語テ一ブル中の各符号語のビットパターンから、 誤りの存在する範囲 を推定して、 最終的な復号値を決定する可変長複号化方法。
1 7 . 順方向にも逆方向にも復号可能な符号語を含む符号語で構成された可変長 符号からなる符号ィ匕データをその符号化データに誤りが検出されるまで所定同期 区間毎に順方向から復号する手順と、
前記順方向からの復号にぉレ、て前記符号化データに誤りが検出されたとき、 前 記符号化データを所定同期区間毎に逆方向から復号する手順と、 前記順方向および逆方向からの復号結果と、 前記順方向おょぴ逆方向からの復号 におレ、てそれぞれ検出された前記符号化デ一タの誤り検出位置と、 伝送系または 蓄積系の誤り率と、 各々の符号語の生起確率と、 符号語テーブル中の各符号語の ビットパターンから、 誤りの存在する範囲を推定して、 最終的な復号値を決定す る手順とを含むコンピュータプログラムを記憶する記憶媒体。
補正書の請求の範囲
[ 1 9 9 9年 2月 1 5日 (1 5 . 0 2 . 9 9 ) 国際事務局受理:出願当初の請求の範囲 1, 4 , 5 , 9及び 1 5は補正された;新しい請求の範囲 1 8が加えられた;他の請求 の範囲は変更なし。 (7頁) ]
1 . (補正後) 順方向にも逆方向にも復号可能な符号語で構成された可変長符 号からなる符号化データを受ける入力部と、
前記符号化データを所定区間毎に順方向から復号する順方向復号化部と、 前記符号化データを所定区間毎に逆方向から復号する逆方向復号化部と、 前記順方向復号化部および逆方向復号化部の復号結果から最終的な復号結果を 出力する復号値決定部と、
で構成され、
前記順方向復号化部および逆方向復号化部の各々は前記符号化データの誤りを 検出する検出部を有し、
前記復号値決定部は、 前記順方向復号化部によって検出された前記符号化デー タの誤り位置を示す前記符号化データのシンタックス上の誤り発見位置と、 前記 逆方向復号化部によって検出された前記符号化データの誤り位置を示す前記符号 化データのシンタックス上の誤り発見位置とを利用して復号値を決定する可変長 復号化装置。
2 . 前記復号値決定部は、 前記符号化データのシンタックス上の誤り発見位置 として、 前記同期区間内の何番目の符号語に誤りが生じたかを示す符号語上の誤 り発見位置を使用する請求項 1記載の可変長復号化装置。
3 . 前記復号値決定部は、 前記順方向復号化部および逆方向復号化部による誤 り発見位置が、 前記ビット上および前記シンタックス上のいずれか一方において 交差する場合、 より交差量の多い誤り発見位置間に属する符号化データを廃棄し、 その廃棄デ一タ領域の直前までの符号語に対する復号値として順方向の復号結果 を使用し、 廃棄データ領域の直後からの符号語に対する復号値として逆方向の復 号結杲を使用する請求項 1記載の可変長復号化装置。
4 . (補正後) 前記復号値決定部は、
( a ) 前記順方向復号化部および逆方向復号化部;こよる誤り発見位置が、 ビッ ト上でもシンタックス上でも交差しない場合、
襦正きれた用紙 (条約第 19条) 前記順方向復号化部;こよる前記ビット上またはシンタックス上の誤り発見位置 の一定量手前までの符号語に対する復号値として順方向の復号結果を使用し、 前 記逆方向復号化部による前記ビット上またはシンタックス上の誤り発見位置の一 定量後からの符号語に対する復号値として逆方向の復号結杲を使用し、 残りの符 δ 号化データを廃棄し、
( b ) 前記 ill頁方向復号化部および逆方向復号化部による誤り癸見位置が、 ビッ ト上では交差しないが、 シンタックス上で交差する場合、
前記逆方向復号化部によるシンタックス上の誤り発見位置の直前までの符号語 に対する復号値として順方向の復号結果を使用し、 前記順方向復号化部によるシ0 ンタックス上の誤り発見位置の直後からの符号語に対する復号値として逆方向の 復号結果を使^し、 シンタックス上の誤り発見位置が交差する部分の符号化デー タを廃棄し、
( c ) 前記順方向復号化部および逆方向復号化部による誤り癸見位置が、 ビッ ト上で交差するが、 シンタックス上では交差しない場合、
5 前記逆方向復号化部によるビッ 卜上の誤り発見位置の直前までの符号語に対す る復号値として順方向の復号詰杲を使用し、 前記順方向復号化部によるビッ ト上 の誤り位置の直後からの符号語に対する復号値として逆方向の復号結果を使用し、 ビッ ト上誤り発見位置が交差する都分の符号化データを廃棄し、
( d ) 前記順方向復号化部および逆方向復号化き [ ;こよる誤り発見位置が、 ビッ0 ト上でもシンタックス上でも交差する場合、
交差する部分が最大となる位置を誤り発見位置として選択して、
前記逆方向復号化部による誤り発見位置の直前までの符号語に対する復号値と して順方向の復号結杲を使用し、 前記順方向復号化部での誤り発見位置の直後か らの符号語に対する復号値として逆方向の復号結果を使用し、 誤り位置が交差す 5 る部分の符号化データを廃棄する請求項 1記載の可変長復号化装置。
5 . (補正後) 動画像信号を直交変換することによって得られた変換係数を順 方向にも逆方向にも復号可能な符号語を用いて符号化することによって生成され た可変長符号を含む前記動画像信号の符号化データを受ける入力部と、
前記符号化データの同期区間を検出する同期区間検出部と、
補正された用紙 (条約第 19条) 前記同期区間検出部により検出された所定の同期区間の符号化データを順方向 から復号する順方向復号化部と、
前記同期区間検出部により検出された所定の同期区間の符号化データを逆方向 から復号する逆方向復号化部と、
δ 前記順方向復号化部および逆方向復号化部の復号結果から最終的な復号結果を 出力する復号値決定部とを有し、
前記順方向復号化部および逆方向復号化部の各々は前記符号化データの誤りを 検出する誤り検出部を有し、
前記復号値決定部は、 前記順方向復号化部によって検出された前記符号化デ一0 タの誤り位置を示す前記符号化データのビット上の誤り発見位置および前記符号 化データのシンタックス上の誤り発見位置と、 前記逆方向復号化部によって検出 された前記符号化データの誤り位置を示す前記符号化データのビット上の誤り発 見位置および前記符号化デ一タのシンタックス上の誤り発見位置とを利用して、 復号値を決定する動画像復号化装置。
5 6 . 前記復号値決定部は、 前記同期区間内の符号化データに誤りが検出された 場合, 誤りが検出されなかったマクロブロックの内で、 フレーム内符号化を行つ たマクロプロックの変換係数からなる符号化データを、 一部または全て廃棄する 請求項 5記載の動画像復号化装置。
7 . 前記復号値決定部は、 符号化データを廃棄したマクロブロックについて、0 フレーム内符号化モードの場合は前画面を表示する力 符号化を行わないモード として処理し、 フレーム間予測符号化モー ドの場合は動き補償を行う請求項 5記 載の動画像復号化装置。
8 . 前記同期区間内の符号化データはそれぞれ動画像信号の予測符号化の単位 となる複数のマクロプロックの変換係数を含み、
5 前記復号値決定部は、 前記符号化データのシンタックス上の誤り発見位置とし て、 前記同期区間内の何番目のマクロプロックに誤りが生じたかを示すマクロブ 口ック上の誤り発見位置を使用する請求項 5記載の動画像復号化装置-
9 . (補正後) 前記同期区間内の符号化データはそれぞれ動画像信号の予測符 号化の単位となる複数のマクロプロックの変換係数を含み、
補正 Ϊれた (条約第 19条) 前記復号値決定部は、
( a ) 前記順方向復号化部および逆方向復号化部による誤り発見位置が、 ビッ ト上の位置でもシンタックス上の位置でも交差しない場合、
前記順方向復号化部によるビット上またはシンタックス上の誤り発見位置の一 定量手前までのマクロプロックに対する復号値として順方向の復号結果を使用し、 前記逆方向復号化部によるビット上またはシンタックス上の誤り発見位置の一定 量後からのマクロプロックに対する復号値として逆方向の復号結果を使用し、 残 りのマクロプロックの変換係数からなる符号化データを廃棄し、
( b ) 前記順方向復号化部および逆方向復号化部による誤り発見位置が、 ビッ ト上の位置では交差しないが、 シンタックス上の位置で交差する場合、
前記逆方向復号化部;こよるシンタックス上の誤り発見位置の直前までのマクロ プロックに対する復号値として順方向の復号結果を使用し、 前記順方向復号化部 によるシンタックス上の誤り発見位置の直後からのマクロプロックに対する復号 値として逆方向の復号結果を使用し、 シンタックス上の誤り発見位置が交差する マクロプロックの変換係数からなる符号化データを廃棄し、
( c ) 前記順方向復号化部および逆方向復号化部での誤り発見位置が、 ビット 上の位置で交差するが、 シンタックス上の位置では交差しない場合、
前記逆方向復号化部によるビッ ト上の誤り発見位置の直前までのマクロブコッ クに対する復号値として順方向の復号結杲を使用し、 前記順方向復号化部による ビッ ト上の誤り発見位置の直後からのマクロブロックに対する復号値として逆方 向の復号結果を使用し、 ビット上の誤り発見位置が交差するマクロブロックの変 換係数からなる符号化データを廃棄し、
( d ) 前記順方向復号化部および逆方向復号化部による誤り発見位置が、 ビッ ト上の位置でもシンタックス上の位置でも交差する場合、
交差する部分が最大となる位置を誤り発見位置として選択して、
逆方向復号化部による誤り発見位置の直前までのマクロプロックに対する復号 値として順方向の復号詰果を使用し、 前記順方向復号手による誤り発見位置の直 後からのマクロプロックに対する復号値として逆方向の復号結果を使用し、 誤り 発見位置が交差するマクロブコックの変換係数からなる符号化デ一タを廃棄する
補正された用 ¾ (条約第 19条) 請求項 5記載の動画像復号化装置。
1 0 . 前記復号値決定部は、 前記同期区間内の符号化データに誤りが検出された 場合、 誤りが検出されなかったマクロブロックの内で、 フレーム内符号化を行つ たマクロプロックの変換係数からなる符号化データを、 一部または全て廃棄する δ 請求項 9記載の動画像復号化装置。
1 1 . 前記復号値決定部は、 符号化データを廃棄したマクロブロックについて、 フレーム内符号化モードの場合は前画面を表示するか、 符号化を行わないモード として処理し、 フレーム間予測符号化モードの場合は動き補償を行う請求項 9記 載の動画像復号化装置。
0 1 2 . 順方向にも逆方向にも復号可能な符号語を含む符号語で構成された可変長 符号からなる符号化データを所定の同期区間毎にその符号化データに誤りが検出 されるまで順方向から復号し、
前記順方向からの復号において前記符号化データに誤りが検出されたとき、 前 記符号化データを所定区間毎に逆方向から復号し、
5 前記順方向および逆方向からの復号結果と、 前記順方向および逆方向からの復 号においてそれぞれ検出された前記符号化データのビッ 卜上の誤り発見位置と前 記符号化データのシンタックス上の誤り発見位置とを利用して、 復号値を決定す る可変長符号化データの復号化方法。
1 3 . 前記順方向からの復号および逆方向からの復号における誤り発見位置が、0 前記ビット上の誤り発見位置および前記シンタックス上の誤り発見位置のいずれ か一方において交差する場合、 より交差量の多い誤り発見位置間に属する符号化 データを廃棄し、 その廃棄データ領域の直前までの符号語に対する復号値として 順方向の復号結果を使用し、 廃棄データ領域の直後からの符号語に対する復号値 として逆方向の復号結果を使用する請求項 1 2記載の復号化方法。
5 1 4 . 順方向にも逆方向にも復号可能な符号語を含む符号語で構成された可変長 符号からなる符号化データを所定期間毎にその符号化データに誤りが検出される まで順方向力 ら復号する手順と、
前記順方向からの復号において前記符号化データに誤りが検出されたとき、 前 記符号化データを逆方向から復号する手順と、
補正きれた用紙 (条約第 19条) 前記順方向および逆方向からの復号結果と、 前記順方向および逆方向からの復 号にぉレ、てそれぞれ検出された前記符号化データのビット上の誤り発見位置と前 記符号化データのシンタックス上の誤り発見位置とを利用して、 復号値を決定す る手順とを含むコンピュータプログラムを記録する記録媒体。
δ 1 5 . (補正後) 順方向にも逆方向にも復号可能な符号語を含む符号語で構成さ れた可変長符—号からなる符号化デ一タを受ける入力部と、
前記符号化データを所定同期区間毎に順方向から復号する順方向復号化部と、 前記符号化データを所定同期区間毎に逆方向から復号する逆方向復号化部と、 前記順方向複号化部および逆方向復号化部の復号結果から最終的な復号結果を0 出力する復号値決定部とを具備し、
前記順方向復号化部および逆方向復号化部の各々は前記符号化データの誤りを 検出する誤り検出部を有し、
前記復号値決定部は、 前記順方向および逆方向複号化部で検出した符号化デー タの誤り検出位置と、 伝送系または蓄積系の誤り率と、 各々の符号語の生起確率5 と、 符号語テーブル中の各符号語のビッ トパターンから、 誤りの存在する範囲を 推定して、 最終的な復号値を決定する可変長復号化装置:
1 6 . 順方向にも逆方向;こも復号可能な符号語を含む符号語で構成された可変長 符号からなる符号化データをその符号化データに誤りが検出されるまで所定同期 区間毎に順方向から復号し、
0 前記順方向からの復号において前記符号化データに誤りを検出したとき、 前記 符号化データを所定同期区間毎に逆方向から復号し、
前記順方向および逆方向からの復号においてそれぞれ検出された前記符号化デ —タの誤り検出位置と、 伝送系または蓄積系の誤り率と、 各々の符号語の生起確 率と、 符号語テーブル中の各符号語のビッ トパターンから、 誤りの存在する範囲 5 を推定して、 最終的な復号値を決定する可変長復号化方法。
1 7 . 順方向にも逆方向にも復号可能な符号語を含む符号語で構成された可変長 符号からなる符号化データをその符号化データに誤りが検出されるまで所定同期 区間毎に順方向から復号する手順と、
前記順方向からの復号;こおいて前記符号化データに誤りが検出されたとき、 前
鍵された用牴 (条約第19条) 記符号化データを所定同期区間毎に逆方向から復号する手順と、 前記順方向および逆方向からの復号結果と、 前記順方向および逆方向からの復号 においてそれぞれ検出された前記符号化データの誤り検出位置と、 伝送系または 蓄積系の誤り率と、 各々の符号語の生起確率と、 符号語テーブル中の各符号語の ビットパターンから、 誤りの存在する範囲を推定して、 最終的な復号値を決定す る手順とを含むコンピュータプログラムを記憶する記憶媒体 c
1 8 . (追加) 前記復号値決定部は、 前記順方向復号化部によって検出された前 記符号化データの誤り位置を示す前記符号化データのシンタックス上の誤り発見 位置と前記逆方向復号化部によって検出された前記符号化データの誤り位置を示 す前記符号化データのシンタックス上の誤り発見位置に加えて、 前記順方向復号 化部;こよって検出された前記符号化データのビット上の誤り発見位置と、 前記逆 方向復号化部によって検出された前記符号化デ一タのビット上の誤り発見位置と を利用して復号値を決定する請求項 1記載の可変長復号化装置。
補正きれた用紙 (条約 19条)
PCT/JP1998/004460 1997-10-02 1998-10-02 Variable length decoder and decoding method WO1999018674A1 (en)

Priority Applications (10)

Application Number Priority Date Filing Date Title
US09/319,160 US6829299B1 (en) 1997-10-02 1998-10-02 Variable length decoder and decoding method
CA 2273169 CA2273169C (en) 1997-10-02 1998-10-02 Variable length decoder and decoding method
EP98945588A EP0966107A4 (en) 1997-10-02 1998-10-02 ENCODER FOR VARIABLE LENGTH WORDS AND DECODING METHOD
BR9806295A BR9806295A (pt) 1997-10-02 1998-10-02 Aparelho de decodificação e método de decodificação de comprimento variável
AU92826/98A AU726301B2 (en) 1997-10-02 1998-10-02 Variable-length decoding apparatus and decoding method
NO19992619A NO992619L (no) 1997-10-02 1999-06-01 Variabellengde-dekoder og fremgangsmate ved dekoding
US10/957,733 US7236530B2 (en) 1997-10-02 2004-10-05 Variable-length decoding apparatus and decoding method
US10/974,704 US7136416B2 (en) 1997-10-02 2004-10-28 Variable-length decoding apparatus and decoding method
US10/974,878 US7203239B2 (en) 1997-10-02 2004-10-28 Variable-length decoding apparatus and decoding method
US11/730,495 US20070183506A1 (en) 1997-10-02 2007-04-02 Variable-length decoding apparatus and decoding method

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP9/269916 1997-10-02
JP26991697 1997-10-02
JP10/189317 1998-07-03
JP18931798A JP3884172B2 (ja) 1997-10-02 1998-07-03 可変長復号化装置および復号化方法

Related Child Applications (4)

Application Number Title Priority Date Filing Date
US09319160 A-371-Of-International 1998-10-02
US10/957,733 Continuation US7236530B2 (en) 1997-10-02 2004-10-05 Variable-length decoding apparatus and decoding method
US10/974,704 Continuation US7136416B2 (en) 1997-10-02 2004-10-28 Variable-length decoding apparatus and decoding method
US10/974,878 Continuation US7203239B2 (en) 1997-10-02 2004-10-28 Variable-length decoding apparatus and decoding method

Publications (1)

Publication Number Publication Date
WO1999018674A1 true WO1999018674A1 (en) 1999-04-15

Family

ID=26505412

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1998/004460 WO1999018674A1 (en) 1997-10-02 1998-10-02 Variable length decoder and decoding method

Country Status (10)

Country Link
US (5) US6829299B1 (ja)
EP (1) EP0966107A4 (ja)
JP (1) JP3884172B2 (ja)
KR (1) KR100334690B1 (ja)
CN (1) CN1153353C (ja)
AU (1) AU726301B2 (ja)
BR (1) BR9806295A (ja)
CA (1) CA2273169C (ja)
NO (1) NO992619L (ja)
WO (1) WO1999018674A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19937456A1 (de) * 1999-08-07 2001-02-15 Bosch Gmbh Robert Rechner zur Datenverarbeitung und Verfahren zur Datenverarbeitung in einem Rechner

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3884172B2 (ja) * 1997-10-02 2007-02-21 株式会社東芝 可変長復号化装置および復号化方法
TW533738B (en) * 2000-10-31 2003-05-21 Matsushita Electric Ind Co Ltd Received information record/regenerate method and received information record/regenerate device
US7215360B2 (en) * 2001-04-06 2007-05-08 Triveni Digital, Inc. Error propagation tree technology
JP3931595B2 (ja) * 2001-07-10 2007-06-20 株式会社日立製作所 データ修正装置及びデータ修正方法
JP2004537911A (ja) * 2001-07-27 2004-12-16 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 信号の符号化
JP3775265B2 (ja) * 2001-08-16 2006-05-17 ソニー株式会社 信号処理装置および方法、記録再生装置および方法、ならびに、再生装置および方法
WO2003032497A1 (fr) * 2001-10-03 2003-04-17 Sony Corporation Procede de codage et de decodage
DE10219133B4 (de) * 2002-04-29 2007-02-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Verschleiern eines Fehlers
US7428684B2 (en) 2002-04-29 2008-09-23 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Device and method for concealing an error
KR100585710B1 (ko) * 2002-08-24 2006-06-02 엘지전자 주식회사 가변길이 동영상 부호화 방법
ATE543179T1 (de) * 2002-09-04 2012-02-15 Microsoft Corp Entropische kodierung mittels anpassung des kodierungsmodus zwischen niveau- und lauflängenniveau-modus
US7433824B2 (en) * 2002-09-04 2008-10-07 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
US7602850B2 (en) * 2003-12-19 2009-10-13 Intel Corporation Content adaptive variable length coding (CAVLC) decoding
US20060218459A1 (en) * 2004-08-13 2006-09-28 David Hedberg Coding systems and methods
US7698623B2 (en) * 2004-08-13 2010-04-13 David Hedberg Systems and methods for decreasing latency in a digital transmission system
US20060059411A1 (en) * 2004-09-16 2006-03-16 Sony Corporation And Sony Electronics, Inc. Method and system for increasing channel coding gain
PT1797697T (pt) * 2004-10-05 2021-04-30 Vectormax Corp Método e sistema para difusão de dados multimédia
US7650031B2 (en) * 2004-11-23 2010-01-19 Microsoft Corporation Method and system for detecting black frames in a sequence of frames
US7684981B2 (en) 2005-07-15 2010-03-23 Microsoft Corporation Prediction of spectral coefficients in waveform coding and decoding
US7693709B2 (en) * 2005-07-15 2010-04-06 Microsoft Corporation Reordering coefficients for waveform coding or decoding
US7933337B2 (en) 2005-08-12 2011-04-26 Microsoft Corporation Prediction of transform coefficients for image compression
EP1972154A4 (en) 2006-01-09 2014-11-19 Lg Electronics Inc INTERLAYER PREDICTION METHOD FOR VIDEO SIGNAL
US8848789B2 (en) * 2006-03-27 2014-09-30 Qualcomm Incorporated Method and system for coding and decoding information associated with video compression
US8184710B2 (en) 2007-02-21 2012-05-22 Microsoft Corporation Adaptive truncation of transform coefficient data in a transform-based digital media codec
BRPI0808489A2 (pt) * 2007-03-14 2014-07-15 Nippon Telegraph & Telephone Método e aparelho de controle de quantização, programa para os mesmos, e meio de armazenamento que armazena o programa
CN101632308B (zh) * 2007-03-14 2011-08-03 日本电信电话株式会社 编码比特率控制方法和装置
CN101682775B (zh) * 2007-03-14 2015-04-01 日本电信电话株式会社 运动矢量搜索方法和装置
EP2120461B1 (en) * 2007-03-14 2011-07-06 Nippon Telegraph and Telephone Corporation Code quantity estimating method and device, their program, and recording medium
US8233537B2 (en) * 2007-03-19 2012-07-31 Texas Instruments Incorporated Efficient implementation of H.264 4 by 4 intra prediction on a VLIW processor
KR101086435B1 (ko) * 2007-03-29 2011-11-25 삼성전자주식회사 영상 데이터 스트림의 에러 검출 방법 및 그 장치
US7908463B2 (en) * 2007-06-26 2011-03-15 Globalfoundries Inc. Immediate and displacement extraction and decode mechanism
US7818542B2 (en) * 2007-07-10 2010-10-19 Globalfoundries Inc. Method and apparatus for length decoding variable length instructions
US8013765B1 (en) * 2008-05-01 2011-09-06 Cavium, Inc. Modular scaleable processing engine for accelerating variable length coding
US8179974B2 (en) 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
US8406307B2 (en) 2008-08-22 2013-03-26 Microsoft Corporation Entropy coding/decoding of hierarchically organized data
FR2951896A1 (fr) * 2009-10-23 2011-04-29 France Telecom Procede d'encapsulation de sous-flux de donnees, procede de desencapsulation et programmes d'ordinateur correspondants
WO2012030262A1 (en) * 2010-09-03 2012-03-08 Telefonaktiebolaget Lm Ericsson (Publ) Co-compression and co-decompression of data values
KR20140084294A (ko) * 2011-10-27 2014-07-04 엘에스아이 코포레이션 복소 지수 비선형 함수와 함께 명령어를 갖는 디지털 처리
CN105323583B (zh) 2014-06-13 2019-11-15 财团法人工业技术研究院 编码方法、解码方法、编解码系统、编码器与解码器
CN109257136A (zh) * 2017-07-12 2019-01-22 中国科学院大学 联合信源信道与安全的jpeg2000算术码的双向编译码方法
JP2019165365A (ja) * 2018-03-20 2019-09-26 株式会社東芝 信号処理装置
US11152953B2 (en) * 2020-02-28 2021-10-19 Qualcomm Incorporated Error detection for a wireless channel
CN112422984B (zh) * 2020-10-26 2023-02-28 眸芯科技(上海)有限公司 多核解码系统的码流预处理装置、系统及方法
WO2023147860A1 (en) * 2022-02-03 2023-08-10 Dream Chip Technologies Gmbh Gradient based pixel by pixel image spatial prediction

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05252055A (ja) * 1992-03-06 1993-09-28 Mitsubishi Electric Corp 符号化装置および復号化装置
JPH05300027A (ja) * 1992-04-17 1993-11-12 Kokusai Denshin Denwa Co Ltd <Kdd> 可逆可変長符号化方式
JPH08340258A (ja) * 1995-04-14 1996-12-24 Toshiba Corp 可変長符号化/復号化装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02301280A (ja) 1989-05-15 1990-12-13 Nec Corp 動画像信号の符号化・復号化方式
US5488418A (en) 1991-04-10 1996-01-30 Mitsubishi Denki Kabushiki Kaisha Encoder and decoder
US5226082A (en) * 1992-07-02 1993-07-06 At&T Bell Laboratories Variable length decoder
KR100396971B1 (ko) * 1994-11-29 2003-11-03 산요덴키가부시키가이샤 인코드된비디오데이터의에러검출및처리기능을구비한비디오디코더
EP1802139A2 (en) 1995-03-15 2007-06-27 Kabushiki Kaisha Toshiba Moving picture coding and/or decoding systems
US6104754A (en) * 1995-03-15 2000-08-15 Kabushiki Kaisha Toshiba Moving picture coding and/or decoding systems, and variable-length coding and/or decoding system
US6415398B1 (en) * 1995-09-29 2002-07-02 Kabushiki Kaisha Toshiba Coding system and decoding system
US5778191A (en) * 1995-10-26 1998-07-07 Motorola, Inc. Method and device for error control of a macroblock-based video compression technique
EP0861001B1 (en) 1997-02-07 2012-05-23 Texas Instruments Incorporated Error resilient video encoding
JP3884172B2 (ja) * 1997-10-02 2007-02-21 株式会社東芝 可変長復号化装置および復号化方法
JP2000032393A (ja) * 1998-07-09 2000-01-28 Sony Corp 画像情報処理装置および方法、並びに提供媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05252055A (ja) * 1992-03-06 1993-09-28 Mitsubishi Electric Corp 符号化装置および復号化装置
JPH05300027A (ja) * 1992-04-17 1993-11-12 Kokusai Denshin Denwa Co Ltd <Kdd> 可逆可変長符号化方式
JPH08340258A (ja) * 1995-04-14 1996-12-24 Toshiba Corp 可変長符号化/復号化装置

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CHUJOH T., ET AL.: "REVERSIBLE CODE AND ITS APPLICATION TO ERROR-TOLERANT VIDEO CODING", THE TRANSACTIONS OF THE IEICE, NEW YORK, NY, US, vol. J80A., no. 03., 1 March 1997 (1997-03-01), US, pages 532 - 541., XP002920230 *
FRAENKEL A. S., KLEIN S. T.: "BIDIRECTIONAL HUFFMAN CODING.", COMPUTER JOURNAL., OXFORD UNIVERSITY PRESS, SURREY., GB, vol. 33., no. 04., 1 August 1990 (1990-08-01), GB, pages 296 - 307., XP000159500, ISSN: 0010-4620, DOI: 10.1093/comjnl/33.4.296 *
KIKUCHI Y., ET AL.: "ERROR RESILIENT MOTION PICTURE CODING FOR MOBILE VIDEO COMMUNICATION.", EIZO JOHO MEDIA GAKKAISHI - THE JOURNAL OF THE INSTITUTE OF IMAGE INFORMATION AND TELEVISION ENGINEERS, EIZO JOHO MEDIA GAKKA, JP, vol. 51., no. 10., 1 January 1997 (1997-01-01), JP, pages 1722 - 1729., XP002920231, ISSN: 1342-6907 *
See also references of EP0966107A4 *
TAKISHIMA T., WADA M., MURAKAMI H.: "REVERSIBLE VARIABLE LENGTH CODES.", IEEE TRANSACTIONS ON COMMUNICATIONS., IEEE SERVICE CENTER, PISCATAWAY, NJ. USA., vol. 43., no. 02/04, PART 01., 1 February 1995 (1995-02-01), PISCATAWAY, NJ. USA., pages 158 - 162., XP000506544, ISSN: 0090-6778, DOI: 10.1109/26.380026 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19937456A1 (de) * 1999-08-07 2001-02-15 Bosch Gmbh Robert Rechner zur Datenverarbeitung und Verfahren zur Datenverarbeitung in einem Rechner
DE19937456C2 (de) * 1999-08-07 2001-06-13 Bosch Gmbh Robert Rechner zur Datenverarbeitung und Verfahren zur Datenverarbeitung in einem Rechner

Also Published As

Publication number Publication date
US20070183506A1 (en) 2007-08-09
NO992619D0 (no) 1999-06-01
CN1246990A (zh) 2000-03-08
US7236530B2 (en) 2007-06-26
CA2273169C (en) 2004-06-08
US6829299B1 (en) 2004-12-07
KR100334690B1 (ko) 2002-04-27
AU9282698A (en) 1999-04-27
US20050084019A1 (en) 2005-04-21
CA2273169A1 (en) 1999-04-15
US20050041741A1 (en) 2005-02-24
NO992619L (no) 1999-08-02
KR20000069256A (ko) 2000-11-25
US7203239B2 (en) 2007-04-10
JPH11168393A (ja) 1999-06-22
EP0966107A4 (en) 2000-12-13
AU726301B2 (en) 2000-11-02
CN1153353C (zh) 2004-06-09
JP3884172B2 (ja) 2007-02-21
EP0966107A1 (en) 1999-12-22
US7136416B2 (en) 2006-11-14
US20050066318A1 (en) 2005-03-24
BR9806295A (pt) 2000-04-11

Similar Documents

Publication Publication Date Title
WO1999018674A1 (en) Variable length decoder and decoding method
JP3657971B2 (ja) 復号化方法及び装置
JP3612314B2 (ja) 可変長符号化方法及び装置
JP3869342B2 (ja) 可変長復号化方法及び装置
JP2006217613A (ja) 可変長復号化装置
JP2001308717A (ja) 可変長復号化方法及び装置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 98802246.X

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AU BR CA CN KR MX NO SG US VN

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): CH DE ES FR GB IT NL SE

WWE Wipo information: entry into national phase

Ref document number: 92826/98

Country of ref document: AU

ENP Entry into the national phase

Ref document number: 2273169

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: PA/a/1999/005051

Country of ref document: MX

WWE Wipo information: entry into national phase

Ref document number: 09319160

Country of ref document: US

Ref document number: 1019997004860

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 1998945588

Country of ref document: EP

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1199900543

Country of ref document: VN

WWP Wipo information: published in national office

Ref document number: 1998945588

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1019997004860

Country of ref document: KR

WWG Wipo information: grant in national office

Ref document number: 92826/98

Country of ref document: AU

WWG Wipo information: grant in national office

Ref document number: 1019997004860

Country of ref document: KR