WO2003044964A1 - Variable length coding method and variable length decoding method - Google Patents

Variable length coding method and variable length decoding method Download PDF

Info

Publication number
WO2003044964A1
WO2003044964A1 PCT/JP2002/012232 JP0212232W WO03044964A1 WO 2003044964 A1 WO2003044964 A1 WO 2003044964A1 JP 0212232 W JP0212232 W JP 0212232W WO 03044964 A1 WO03044964 A1 WO 03044964A1
Authority
WO
WIPO (PCT)
Prior art keywords
code
run
code table
value
variable
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2002/012232
Other languages
English (en)
French (fr)
Inventor
Shinya Kadono
Satoshi Kondo
Makoto Hagai
Kiyofumi Abe
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to BR0206628-9A priority Critical patent/BR0206628A/pt
Priority to AU2002366142A priority patent/AU2002366142A1/en
Priority to KR10-2004-7007783A priority patent/KR20040054794A/ko
Priority to US10/494,753 priority patent/US20050015248A1/en
Priority to MXPA04004770A priority patent/MXPA04004770A/es
Priority to CA 2467266 priority patent/CA2467266A1/en
Priority to EP20020790698 priority patent/EP1453208A1/en
Publication of WO2003044964A1 publication Critical patent/WO2003044964A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/14Digital recording or reproducing using self-clocking codes
    • G11B20/1403Digital recording or reproducing using self-clocking codes characterised by the use of two levels
    • G11B20/1423Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code
    • G11B20/1426Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/04Conversion to or from representation by pulses the pulses having two levels
    • H03M5/14Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code
    • H03M5/145Conversion to or from block codes or representations thereof
    • 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
    • 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/46Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/162User input
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • 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/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/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/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/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/93Run-length coding

Definitions

  • the present invention relates to a variable-length coding method and a variable-length decoding method, and more particularly, to a method for processing a plurality of coefficients (quantized coefficients) obtained by quantizing frequency components of image data by a variable-length coding method.
  • the present invention relates to a method for converting into coded data, and a method for restoring the coded data into a plurality of coefficients by a variable length decoding process.
  • multimedia in which voice, images, and other information are handled in an integrated manner, has entered the era of traditional information media. It has been taken up as a target.
  • multimedia refers to not only characters but also figures, sounds, and especially images, etc., which are associated with each other at the same time. It is an indispensable condition that it be expressed as
  • the amount of information per character is 1-2 bytes per character, whereas 64 kbits per second (second) for voice.
  • Telephone quality) and moving images require more than lOOMbits (current television reception quality) per second, and it is not realistic to handle the vast amount of information in digital form with the above information media.
  • a videophone uses the output image of a video camera with a large amount of information that has already been put into practical use by the Integrated Services Digital Network (ISDN) with a transmission speed of 64 kbps to 1.5 Mbps. It is impossible to send it by mail.
  • ISDN Integrated Services Digital Network
  • MPEG Motion Picture Experts Group
  • MPEG-1 is capable of transferring moving picture signals up to 1.5 Mbps, that is, about 100 minutes of TV signal information. This is a standard that compresses to 1.
  • MPEG-2 since the transmission speed for the MPEG-1 standard is mainly limited to about 1.5 Mbps, MPEG-2, which has been standardized to meet the demand for higher image quality, requires a moving image signal of 2 to Compressed to 15 Mbps.
  • MPEG-4 which has a higher compression ratio
  • MPEG-4 has been standardized by the working group (IS0 / IEC JTC1 / SC29 / WG11), which has been working on the standardization of MPEG-1 and MPEG-2.
  • MPEG-4 initially introduced powerful error resilience technology that not only enables efficient coding at low bit rates, but also reduces subjective image quality degradation even if a transmission line error occurs.
  • the ITU-T is also working on the standardization of H.26L as the next-generation image coding method, and at present the coding method called Test Model 8 (TML8) is the latest.
  • FIG. 30 is a block diagram showing a conventional image coding apparatus.
  • the image coding apparatus 201a blocks an input image signal Vin into blocks each corresponding to a unit area (block) composed of a fixed number of pixels, and outputs a blocked image signal BlkS to a block converter Blk. And a frequency converter Trans that frequency-converts the output BlkS and outputs a frequency component TransS corresponding to each block.
  • the block is a unit of the encoding process of the image signal.
  • the image signal Vin corresponds to a moving image including a plurality of pictures.
  • the image coding apparatus 201a quantizes the output (frequency component) TransS of the frequency converter and outputs a quantized component (quantized coefficient) QS corresponding to each block.
  • a coder RLEOa for performing a variable length coding process on an output (quantized component) QS of the quantizer.
  • the block converter Blk divides the input image signal Vin into image signals in units of blocks, and generates image signals ( BlkS is generated.
  • the frequency transform Trans converts the block image signal BlkS into a frequency component TransS using DCT (discrete cosine transform), wavelet transform or the like.
  • the quantizer Q quantizes the frequency component TransS at a predetermined quantization step based on the quantization parameter QP, outputs a quantized component QS, and outputs the quantization parameter QP.
  • the encoder RLEOa performs a variable-length encoding process on the quantized component QS, and outputs an encoded stream StrOa.
  • FIG. 31 is a block diagram for explaining an encoder RLEOa included in the image encoding device 201a.
  • the encoder RLEOa converts the output (quantization component) QS of the quantizer Q having a two-dimensional array into a quantization component Coef having a one-dimensional array (that is, a predetermined order). And a variable-length encoder VLC that performs a variable-length encoding process on the quantization component Coef output from the zigzag scanner Scan.
  • the quantizer component QS output from the quantizer Q is input to such an encoder RLEOa, the zigzag scanner Scan has the two-dimensional array of the quantizer Q and the like.
  • the quantized component QS is converted to a quantized component Coef having a one-dimensional array (predetermined order) and output.
  • FIG. 43 is a diagram for specifically explaining the conversion process of the quantization component QS in the zigzag scanner Scan.
  • the quantized component QS output from the quantizer Q is a two-dimensional array, that is, each quantized component QS has its horizontal direction on the two-dimensional frequency domain Fr. It has an array arranged in a matrix according to the height of the frequency in the vertical direction and the height of the frequency in the vertical direction.
  • the zigzag scanner Scan performs a process of zigzag scanning the quantized components QS having a two-dimensional array as shown by arrows Y1 to Y7, and performs a quantization process having a one-dimensional array. Convert to component Coef. In other words, by this scanning process, a plurality of quantization components QS having a two-dimensional array A predetermined order is set.
  • variable-length encoder VLC uses the code table indicating the correspondence between the numerical value indicating the size of the quantized component and the code (codeword) to generate the quantized component output from the zigzag scanner Scan.
  • a code is assigned to Coef, and the quantization component is converted into a coded stream StrOa for each block.
  • FIG. 32 is a block diagram for explaining an image decoding device 202a corresponding to the image coding device 201a shown in FIG.
  • the image decoding device 202a decodes the code stream StrOa output from the conventional image coding device 201a shown in FIG.
  • the image decoding device 202a includes a decoder RLDOa that performs a decoding process on the coded stream StrOa output from the image coding device 201a, and an output of the decoding device RLDOa.
  • An inverse quantizer IQ that performs an inverse quantization process on the DQS.
  • the image decoding device 202 a includes an inverse frequency transformer ITrans that performs an inverse frequency transform process on the output (decoded frequency component) ITransS of the inverse quantizer IQ, and the inverse frequency converter IT Output of rans ( Decoded block image signal)
  • An inverse blocker DeBlk that generates a decoded image signal Vout corresponding to each picture based on DBlkS.
  • the decoder RLDOa When the encoded stream StrOa from the image encoding apparatus 201 is input to the image decoding apparatus 202a, the decoder RLDOa performs a decoding process on the encoded stream StrOa. And outputs the decoded quantization component DQS.
  • the operation of the decoder RLDOa is the reverse of the operation of the encoder RLEOa.
  • the inverse quantizer IQ performs an operation opposite to that of the quantizer Q, that is, an operation of inversely quantizing the decoded quantization component DQS with reference to the quantization parameter QP, and outputs a decoded frequency component ITransS.
  • the inverse frequency transformer ITrans performs an inverse operation of the frequency transformer Trans, that is, an operation of restoring the decoded frequency component ITransS into a decoded image signal DBlkS corresponding to each block using an inverse DCT or an inverse wavelet transform.
  • the inverse blocker DeBlk integrates the decoded image signal DBlkS of each block and outputs a decoded image signal Vout corresponding to each picture.
  • FIG. 33 is a block diagram for explaining a decoder RLDOa included in the image decoding device 202a.
  • This decoder RLDOa performs a variable-length decoding process on the coded stream StrOa, and decodes a quantized component Coef corresponding to each code included in the coded stream StrOa.
  • an inverse zigzag scanner IScan for restoring the decoded quantized component DQS having a two-dimensional array from the decoded quantized component Coef having a one-dimensional array output from the variable length decoder VLD. ing.
  • variable-length decoder VLD responds to a code (codeword) by decoding the encoded stream StrOa in the reverse operation of the variable-length encoder VLC. Outputs the quantized component Coef.
  • the inverse zigzag scanner IScan performs a reverse operation of the zigzag scanner Scan to convert the quantized component Coef having a one-dimensional array output from the variable-length decoder VLD into a decoded quantum having a two-dimensional array. The compound is restored to DQS and output to the inverse quantizer IQ.
  • Japanese Patent Application Laid-Open No. 6-311534 discloses a method in which an image signal is divided into a luminance signal and a chrominance signal and subjected to variable-length coding.
  • a plurality of quantized coefficients corresponding to each of the above blocks which are arranged in a fixed order, have a coefficient (zero coefficient) having a value of 0 followed by a coefficient (zero coefficient) having a non-zero value. It is highly redundant data that is continuous. Therefore, such a coding of the quantized coefficient has conventionally been performed by a method of coding without redundant information, for example, a run value indicating the number of consecutive 0 coefficients and a non- A run-length encoding method that encodes a quantization coefficient using a level value indicating a value of a 0 coefficient is used.
  • FIG. 34 is a block diagram showing a conventional image coding apparatus that performs run-length coding.
  • This image coding device 201b is different from the coding device RLEOa in the image coding device 201a shown in FIG. 30 in that the output (quantized component) QS of the quantizer Q is Output the encoded stream StrOb with run-length encoding
  • the other components are the same as those of the above-mentioned image encoding device 201a.
  • the operation of the image encoding device 201b differs from that of the image encoding device 201a only in the operation of the encoder RLEOb.
  • FIG. 35 is a block diagram showing a specific configuration of the encoder RLEOb of the image encoding device 201b.
  • the run-length encoder RLEOb has a one-dimensional array (that is, a predetermined order) of the output (quantization component) QS of the quantizer Q having a two-dimensional array, similarly to the encoder RLEOa. It has a zigzag scanner Scan that converts it into a quantum component Coef.
  • the run-length encoder RLEOb measures the number of continuous quantized components (0 coefficients) Coef whose value is 0, and outputs a run value Run indicating the number of the continuous 0 coefficients.
  • LevCal With LevCal.
  • the run-length encoder RLEOb performs a variable-length encoding process on the level value Lev output from the level measuring device LevCal, and outputs a code sequence (level value code sequence) LStr.
  • a variable-length encoder RunVLC that performs a variable-length encoding process on the run value Rim output from the run measuring instrument RunCal to output a code string (run-value code string) RStr, and the level-value code string LStr.
  • a multiplexer MUX that multiplexes the run value code string RStr with each block and outputs a multiplexed coded stream StrOb.
  • the zigzag scanner Scan converts the quantized component QS having a two-dimensional array output from the quantizer Q into a quantized component Coef having a one-dimensional array (predetermined order) and outputs the result.
  • the conversion processing of the quantized component QS in the zigzag scanner Scan is performed in the same manner as that of the encoder RLEOa of the image encoding device 201a.
  • the run measuring device RunCal measures the number of consecutive 0 coefficients based on the quantized component Coef output from the zigzag scanning device Scan, and indicates the number.
  • Run value Run is output.
  • the level measuring device LevCal measures the value of the non-zero coefficient following the continuous zero coefficient based on the quantized component Coef output from the zigzag scanning device Scan, and obtains a level value Lev indicating this value. Is output.
  • run measuring instrument RunCal detects the highest frequency component (last non-zero coefficient) in the target block to be processed, a special E0B (last block) is detected. After generating a value, subsequent higher frequency components signal that the value is all zeros.
  • variable-length encoder RunVLC performs a variable-length encoding process of assigning a code (codeword) to the run value, which is an output of the run measuring device RunCal, by a code table or arithmetic calculation. And outputs a code string RStr.
  • the variable-length encoder LevVLC codes the level value Lev output from the level measuring device LevCal by a code table or arithmetic calculation to the level value (code word).
  • the variable length code is assigned and the code string LStr is output.
  • the multiplexer MUX multiplexes the code string LStr and the code string RStr for each block and outputs a multiplexed coded stream StrOb.
  • the multiplexing process of the code string LStr and the code string RStr is performed, for example, for each block, after the code string RStr for all the run values corresponding to the target block, all the level values corresponding to the target block Or the code string LStr for all the level values corresponding to the target block, followed by the code string RStr for all the run values corresponding to the target block.
  • a plurality of quantized coefficients having a predetermined order are quantized components (0 coefficients) whose value is 0, a run value Run indicating the number of Coefs, and a value that is not 0 following the 0 coefficient.
  • a plurality of quantized coefficients are encoded with high encoding efficiency by eliminating redundant information.
  • FIG. 36 is a block diagram for explaining an image decoding device 202b corresponding to the image coding device 201b shown in FIG.
  • the image decoding device 202b decodes the encoded stream StrOb output from the conventional image encoding device 201b shown in FIG.
  • This image decoding apparatus 202 b is a code output from the image encoding apparatus 201 b instead of the decoding supply RLDOa in the image decoding apparatus 202 a shown in FIG. It is provided with a run-length decoder RLDOb that performs run-length decoding on the video stream StrOb, and the other configuration is the same as that of the image decoding device 202a. is there.
  • the operation of the image decoding device 202b differs from that of the image decoding device 202a only in the operation of the decoder RLDOb.
  • FIG. 37 is a block diagram showing a specific configuration of the run-length decoder RLDOb of the image decoding device 202b.
  • the run-length decoder RLDOb converts a coded stream StrOb output from the image coding apparatus 201 b into a code string LStr corresponding to a level value and a code string RStr corresponding to a run immediately.
  • a separator DMUX for separation, a variable-length decoder LevVLD for performing variable-length decoding on the code string LStr to restore the level value Lev, and performing a variable-length decoding on the code string RStr.
  • variable-length decoder RunVLD for restoring the run value Run and the decoded quantized component having a one-dimensional array represented by the level value Lev and the run value Run, a decoded quantized component DQS having a two-dimensional array And an inverse zigzag scanner IScan.
  • the run-length decoder RLDOb performs the reverse operation of the run-length encoder RLEOb. That is, the run-length decoder RLDOb separates the code string LStr corresponding to the level value and the code string RStr corresponding to the run value from the multiplexed coded stream StrOb.
  • variable length decoder LevVLD decodes the code string LStr corresponding to the level value and outputs the level value Lev by the operation opposite to that of the variable length encoder LevVLC.
  • variable-length decoder RunVLD decodes the code string RStr corresponding to the run value and outputs a run value Run by the reverse operation of the variable-length encoder RunVLC.
  • Inverse zigzag scanning device IScan operates in a manner opposite to that of zigzag scanning device Scan to decode quantum components having a two-dimensional array from quantized components having a one-dimensional array expressed by the above-mentioned level value Lev and run value Run.
  • the DQS is restored and output to the inverse quantizer IQ.
  • the input of this inverse zigzag scanner IScan is a level value Lev and a run value Run.
  • the illustrated inverse zigzag scanner IScan has a function of converting a coefficient represented by a level value Lev and a run value Run into a quantized component Coef.
  • the decoding process for decoding a plurality of quantized coefficients having a predetermined order is performed by a run value Run indicating the number of quantized components (0 coefficients) Coef whose value is 0, and the 0 coefficient.
  • the image decoding apparatus which uses the level value Lev indicating the value of the quantized component Coef (non-zero coefficient) whose value is not 0, the plurality of quantized coefficients are subjected to the run-length coding to obtain redundant information.
  • the encoded data obtained by performing encoding with high encoding efficiency can be decoded well.
  • FIG. 38 is a block diagram showing another example of an image encoding device using a conventional run-length encoder. Almost all conventional image encoding devices that conform to the standards such as MPEG and ITU H.261 and H.263 and the currently drafted H.26L standard (TML8) have the configuration shown in Fig. 38. ing.
  • This image encoding device 201c encodes the quantized coefficients using the run value and the level value, as in the image encoding device 201b shown in FIG. 34.
  • the image encoding device 201c does not separately encode the run value and the level value as in the image encoding device 201b, but instead executes a pair of the run value and the level value.
  • the variable pair is subjected to a variable length encoding process.
  • the image encoding device 201c includes a block converter Blk to which the image signal Vin is input, and a frequency conversion transformer for frequency-converting the output BlkS. And a quantizer Q for quantizing the output (frequency component) TransS of the variable i. Then, the image coding apparatus 201c converts a run-level pair consisting of a run value and a level value into a variable-length code with respect to the output (quantized component) QS of the quantizer. And a run-length encoder RLEOc for performing the dagger.
  • the block generator Blk divides the image signal Vin into image signals in units of blocks to generate a pixel value component (blocked image signal) BlkS.
  • the frequency converter Trans converts the pixel value component BlkS into a frequency component TransS using DCT (discrete cosine transform), wavelet transform, or the like.
  • the quantizer Q quantizes the frequency component TransS based on the quantization parameter QP, outputs a quantization component QS, and outputs the quantization parameter Q.
  • the run-length encoder RLEOc performs run-length encoding on the quantized component QS and outputs an encoded stream StrOc.
  • the block is an area of a predetermined size in the picture, which is a unit of the encoding process of the image signal, and is composed of a fixed number of pixels.
  • the run-length encoding is performed by: a run value indicating the number of continuous quantized components (0 coefficients) having a value of 0; a quantized component having a non-zero value following the 0 coefficient; A process of converting a pair with a level value indicating a value of (non-zero coefficient) into a variable-length code, in other words, one variable-length code (codeword ) Is assigned.
  • FIG. 39 is a block diagram showing a conventional run render encoder RLEOc.
  • the run-renders encoder RLEOc converts the output (quantization component) QS of the quantizer Q having a two-dimensional array into a one-dimensional array (that is, A zigzag scan unit Scan that converts to a quantized component Coef having a predetermined order), and the number of continuous quantized components (0 coefficients) Coef whose value is 0 is measured, and a run value Run is output.
  • a run measuring instrument, RunCal, and a level measuring instrument, LevCal which follows the 0 coefficient, measures the value of the quantized component Coef (non-zero coefficient), and outputs a level value Lev, when the value is 0. Have.
  • the run-length encoder RLEOc calculates the code number Code corresponding to the pair of the level value Lev and the run value Run based on the outputs of the run measurement device RunCal and the level measurement device LevCal by using a code table or arithmetic calculation. It has a run-level code converter RunLevEnc to be calculated, and a variable-length encoder VLC that assigns a code word to a code number Code and generates a coded stream StrOc corresponding to the image signal Vin.
  • the run-renders encoder RLEOc like the run-renders encoder RLEOb, the zigzag scanner Scan converts the quantized component QS having a two-dimensional array output from the quantizer Q into a one-dimensional array (predetermined). Is converted to a quantized component Coef having
  • FIG. 43 is a diagram for specifically explaining the conversion process of the quantization component QS in the zigzag scanner Scan.
  • the quantized component QS output from the quantizer Q is a two-dimensional array, that is, each quantized component QS has its horizontal direction on the two-dimensional frequency domain Fr. It has an array arranged in a matrix according to the magnitude of the frequency component in the vertical direction and the magnitude of the frequency component in the vertical direction.
  • the zigzag scanner Scan performs a process of zigzag scanning the quantized components QS having a two-dimensional array as shown by arrows Y1 to Y7, and performs a quantization process having a one-dimensional array. Convert to component Coef. That is, by this scan processing, a predetermined order along the scan path is set for a plurality of quantized components QS having a two-dimensional array.
  • the run measuring device RunCal measures the number of consecutive 0 coefficients based on the quantized component Coef output from the zigzag scanning device Scan, and outputs a run value Run indicating the number.
  • the level measuring device LevCal measures the value of the non-zero coefficient following the continuous zero coefficient based on the quantized component Coef output from the zigzag scanning device Scan, and obtains a level value indicating this value.
  • Output Lev Here, when the run measuring instrument RunCal detects the highest frequency component (last non-zero coefficient) in the target block to be processed, a special E0B (end of block) is returned. After generating a value, subsequent higher frequency components signal that the value is all zeros.
  • RunLevEnc is a code table or arithmetic calculation of the code number Code corresponding to the pair of the level value Lev and the run value Run based on the outputs of the run measurement device RunCal and the level measurement device LevCal.
  • VLC encodes the code number Code obtained by the converter RunLevEnc, that is, assigns a codeword (bit string) to the code number Code, and converts the encoded stream StrO. Generate.
  • FIG. 42 shows an example of a code table used in the run-length encoder RLEOc.
  • Code table shown in Fig. 42 (first coding table) T1 shows the code table of the DC component of the color difference signal in accordance with the draft H.26L standard (TML8).
  • the code table T1 has a regular build VLC that can calculate the code number corresponding to the pair of the level value and the run value by arithmetic operation from the level value and the run value, and the level value in the arithmetic operation. It consists of an irregular part (table look up VLC) where the code number corresponding to the run value pair cannot be calculated. Also, a bit string (not shown) as a code word corresponding to one-to-one is assigned to each code number Code, but a short code word is assigned to a code number Code having a small value.
  • FIG. 40 is a block diagram showing a conventional image decoding device 202c using a run-length decoder RLDOc.
  • This image decoding device 202c decodes the coded stream StrOc output from the conventional image coding device 201c shown in FIG.
  • the image decoding device 202c decodes the quantized coefficients using the run value and the level value, similarly to the image decoding device 202b shown in FIG.
  • the image decoding device 202c performs variable-length decoding of the run value and the level value separately for the run value and the level value like the image decoding device 202b. Instead, it performs variable-length decoding on a pair consisting of run values and level values (run-level pairs).
  • the image decoding device 202c uses a run level pair consisting of a run value and a level value with respect to the encoded stream StrOc output from the image encoding device 201c, And a run-length decoder RLDOc for performing the run-length decoding process. Further, the image decoding device 202c performs an inverse quantization process on the output (decoded quantization component) DQS of the run-length decoder RLDOc, similarly to the image decoding device 202b.
  • Inverse quantizer IQ that performs inverse frequency conversion, and an output (decoding frequency component) of the inverse quantizer IQ
  • An inverse frequency converter ITrans that performs inverse frequency conversion processing on ITransS, and an output of the inverse frequency converter ITrans (decoded pixel Value component) For each picture based on DBlkS And a deblocking unit DeBlk for generating a corresponding decoded image signal Vout. Next, the operation will be described.
  • the run-length decoder RLDOc performs the reverse operation of the run-length encoder RLEOc. That is, the run-length decoder RLDOc performs a run-length decoding process on the encoded stream StrOc and outputs a decoded quantized component DQS.
  • the inverse quantizer IQ performs an operation opposite to that of the quantizer Q, that is, an operation of inversely quantizing the decoded quantization component DQS with reference to the quantization parameter QP, and outputs a decoded frequency component ITransS.
  • the inverse frequency transformer ITrans operates in the opposite manner to the frequency transformer Trans, that is, a decoded pixel value signal (decoded block image signal) DBlkS corresponding to each block using the inverse DCT or inverse wavelet transform of the decoded frequency component ITransS. Perform the operation of restoring.
  • the inverse blocker DeBlk integrates the decoded pixel value component DBlkS of each block and outputs a decoded image signal Vout corresponding to each picture.
  • the run-length decoder RLDOc will be described in detail.
  • FIG. 41 is a block diagram for explaining a specific configuration of the run-length decoder RLDOc.
  • the run-length decoder RLDOc performs a variable-length decoding process on the encoded stream StrOc, and obtains a variable-length code for a code number Code corresponding to each code (codeword) included in the encoded stream StrOc.
  • the run level acquisition unit RunLevDec that acquires a pair of the level value Lev and the run value Run corresponding to the code number Code, and the paired level value Lev and the run value Run! /
  • variable-length decoder VLD decodes the coded stream StrOc by the operation opposite to that of the variable-length coder VLC to correspond to the codeword (bit string). Outputs the code number Code.
  • the run-level acquisition unit RunLevDec operates in the opposite manner to the run-level record converter RunLevEnc, and refers to a code table or performs an arithmetic operation to form a paired level Lev value and run value corresponding to the code number Code.
  • Reverse zigzag scanner IScan is a zigzag scanner What is Scan?
  • the inverse operation restores the decoded quantized component DQS having a two-dimensional array from the quantized component having a one-dimensional array represented by the pair of the level value Lev and the run value Run by the reverse operation. Output to IQ.
  • a plurality of coefficients having a fixed order are assigned a run value Run indicating the number of quantized components (0 coefficients) Coef having a value of 0, and a run value following the 0 coefficient.
  • a run-rendering coding method is disclosed in which a level value Lev indicating a value of a quantized component Coef (non-zero coefficient) whose value is not 0 is used.
  • JP-A-8-79088 discloses a method for predictive encoding of digital video data, in which a differential motion vector value is encoded using a variable length encoding table. At this time, a method of switching a variable length code table (VLC table) according to the magnitude of the difference motion vector value is disclosed.
  • VLC table variable length code table
  • an arithmetic coding that performs variable-length coding by an arithmetic operation using a probability that a pixel value takes a predetermined value.
  • a probability table in which probabilities corresponding to individual events are described corresponds to the VLC table.
  • the pixel values of the pixels to be encoded are described in P69-P73 of MP EG-4 published by the Industrial Conference (published on September 30, 1998, the first edition of the first edition) It describes a method of performing arithmetic coding by switching stochastic tapes based on a prediction method (context) of a pixel to be coded predicted from the pixel values of its surrounding pixels.
  • the encoder RLEOa of the above-described conventional image encoding device 201a varies a plurality of quantization coefficients obtained by quantizing the frequency components of image data for each predetermined processing unit (block).
  • a long code is used, and a predetermined code table indicating a plurality of correspondences between numerical information indicating the size of each quantized coefficient and a code (code word) is used.
  • code word a code
  • variable-length coding of a plurality of quantization coefficients is performed by a quantization component whose value is 0. (0 coefficient)
  • the decoder RLD0a of the conventional image decoding device 202a or the run-length decoding devices RLDOb and RLDOc of the conventional image decoding devices 202b and 202c are used for the quantization coefficient.
  • the variable-length encoding process it corresponds to a Ray encoder which cannot sufficiently remove redundant information existing in the quantization coefficient.
  • variable length encoding when encoding the differential motion vector value using the variable length encoding table, the variable length encoding is performed according to the magnitude of the differential motion vector value.
  • the method of switching the table is effective in variable-length coding for data having characteristics such that a plurality of 0 coefficients are continuous, such as a quantized coefficient obtained by quantizing the frequency component of an image signal. Switching of the encoding table was not known.
  • the present invention has been made to solve the above-described problem, and it is intended to reduce the redundancy of information existing in data (quantization coefficient) to be subjected to variable-length coding processing by using the characteristics of the quantization coefficient and the quantization.
  • Variable-length coding method and variable-length decoding which can more effectively remove the coding coefficient according to the situation of the coding process, thereby further improving the compression ratio of an image signal or the like.
  • the aim is to get the method. Disclosure of the invention
  • a variable-length coding method is a variable-length coding method for coding coefficient data including a plurality of coefficients, and includes, for each of the above-described coefficients, numerical information indicating a magnitude of the coefficient and a code.
  • the coding step of performing an encoding process of converting the coefficient data into encoded data including a plurality of codes.
  • a code table selection step for selecting according to at least one of the information on the processed coefficients on which the above-described coding processing has been performed, and the parameter regarding the generation of the above-mentioned coefficients, and the above-mentioned coding processing has not been performed.
  • the coefficient is obtained by quantizing a frequency component of image data based on a quantization step according to the image data.
  • the code table selecting step is to select a code table used in the code allocating step according to the size of the quantization step.
  • the code-enhancing process for the coefficient includes a run value indicating the number of consecutive 0 coefficients whose value is 0, and a non-zero coefficient value following the 0 coefficient. Are converted into codes, respectively.
  • the code table selecting step is based on a plurality of code tables indicating the correspondence between the run values and the codes, according to the size of the quantization step.
  • One code table is selected according to the size of the quantization step from a first selection process of selecting one code table and a plurality of code tables indicating the correspondence between the level values and the codes.
  • the code assignment step is based on the selected code table, wherein the coding process has not been performed, and the uncoded coefficient Run and level values corresponding to It is characterized in that is also intended to assign a code to one.
  • the encoding process for the coefficient includes a run value indicating the number of consecutive 0 coefficients whose value is 0, and a non-zero coefficient value following the 0 coefficient.
  • the code table selecting step indicates the correspondence between the run level pair and the code according to the size of the quantization step.
  • One code table is selected from a plurality of code tables, and the code assignment step is based on the selected code table, and the run corresponding to the uncoded coefficient not subjected to the code conversion processing is performed. It is characterized in that codes are assigned to level pairs.
  • the code table selecting step includes the step of selecting a code table used in the code allocation step according to information on the processed coefficient subjected to the coding processing. It is a feature that is selected.
  • the encoding process for the coefficient includes a run value indicating the number of consecutive 0 coefficients whose value is 0, and a non-zero coefficient value following the 0 coefficient. Are converted into codes, respectively.
  • the selecting step is a step of selecting one code table from a plurality of code tables indicating the correspondence between the run values and the codes in accordance with information on the run values corresponding to the processed coefficients subjected to the encoding process.
  • the code allocation step is characterized in that, based on the selected code table, a run corresponding to an uncoded coefficient not subjected to the above-described coding process is performed. A code is assigned to at least one of the value and the level value.
  • the code table selecting step is performed according to the number of processed run values to which codes are assigned, from a plurality of code tables indicating the correspondence between the run values and the codes.
  • the code assignment step is to assign a code to an uncoded run value to which no code is assigned, based on the selected code table. It is a feature.
  • the encoding process for the coefficient includes a run value indicating the number of consecutive 0 coefficients whose value is 0, and a non-zero coefficient value following the 0 coefficient.
  • the code level selecting step converts the run level pair consisting of the indicated level value into a code, and performs the code table selecting step according to the information on the run level pair corresponding to the processed coefficient subjected to the coding process.
  • One code table is selected from a plurality of code tables indicating the correspondence between the run-level pair and the code, and the code assignment step is based on the selected code table and performs the coding process.
  • the code is assigned to the run-level pair corresponding to the uncoded coefficient that has not been subjected to the coding.
  • the coefficient may be obtained by quantizing a frequency component of image data based on a quantization step according to the image data. Is characterized in that a coding process for the coefficient is performed such that a code is assigned to a plurality of coefficients constituting the coefficient data in an order of higher frequency components of corresponding image data. .
  • a variable length encoding method is a variable length encoding method for encoding coefficient data including a plurality of coefficients and converting the encoded data into encoded data including a plurality of codes.
  • a plurality of pieces of information indicating the correspondence between the numerical information indicating the magnitude of the coefficient and the code.
  • a run level pair consisting of a run value indicating the number of consecutive 0 coefficients whose value is 0 and a level value indicating the value of a non-zero coefficient following the 0 coefficient is converted into a code.
  • the encoding step includes an encoding step of performing an encoding process, and the encoding step includes adding the code table to at least one of information on the processed coefficient on which the encoding process has been performed and a parameter on generation of the coefficient.
  • a code table selecting step of selecting the code table in accordance with the code table, and a code allocating step of allocating a code to the uncoded coefficient that has not been subjected to the coding process using the selected code table It is characterized by
  • the encoding process for the coefficient is performed for each block consisting of a fixed number of coefficients by converting the code into a code of a run-level pair. Is the number of processed coefficients that have been subjected to the encoding process in the target block to be subjected to the above encoding process, and the number of unencoded non-zero coefficients in the target block that has not been subjected to the encoding process.
  • One code table is selected from a plurality of code tables indicating the correspondence between the run-level pair and the code according to the sum of the number of code tables, and the code assignment step is based on the selected code table.
  • a feature is that a code is assigned to a run-level pair corresponding to an uncoded coefficient in the target block.
  • the encoding step may include associating the run level pair with a code corresponding to the run level pair with a combination of a run value and a level value forming the run level pair.
  • the correspondence between the run-level pairs and the codes in the first code table is regularly changed based on the first code table shown in FIG.
  • the present invention provides the variable-length encoding method, wherein the first and second code tables associate each run-level pair with a short code and a code as the level value forming the run-level pair is smaller.
  • the level value of the run level pair to which a short code can be associated is smaller than that of the first code table on average. This is a special feature.
  • the first and second code tables are arranged such that a shorter code is associated with each run level pair as the run value forming the run level pair is smaller.
  • the second code table is characterized in that, compared to the first code table, the run value of a run level pair to which a short code is associated on average is smaller than that of the first code table. It is.
  • the code conversion processing for the coefficient is performed for each block including a fixed number of coefficients by converting the code into a code of a run-level pair.
  • the second code table is created in accordance with the number of processed coefficients subjected to the encoding process in the target block to be subjected to the encoding process. Is what you do.
  • the code allocation step is to perform code allocation to the run-level pairs in order from a run-level pair corresponding to a coefficient having a high frequency component of image data. It is a feature.
  • the second code table is regularly calculated among a plurality of correspondences between run level pairs and codes included in the first code table. It is characterized in that only possible measures are changed.
  • the coefficient constituting the coefficient data is obtained by quantizing a frequency component of the image data based on a quantization step corresponding to the image data.
  • the code table selecting step is a code table switching step of performing switching between the first code table and the second code table based on the size of the quantization step.
  • the code table switching step performs switching between the first code table and the second code table based on a switching instruction signal.
  • the encoding step performs encoding processing of the switching instruction signal.
  • the coding process for the coefficient is performed for each block of a fixed coefficient by converting the code into a code of a pair of run-of-runnerettes.
  • the second code table is subjected to an encoding process. Created according to the sum of the number of processed coefficients in the target block that have been subjected to encoding processing and the number of uncoded non-coded coefficients that have not been subjected to encoding processing in the target block. It is characterized by doing.
  • a variable-length coding device is a variable-length coding device that codes coefficient data including a plurality of coefficients. Using a plurality of code tables indicating the correspondence with the coding table, the coding section performing an encoding process for converting the coefficient data into coded data including a plurality of codes.
  • a code table selecting unit that selects at least one of the information on the processed coefficients on which the encoding process has been performed, and the parameter on the generation of the coefficients, and an unsigned code on which the encoding process has not been performed.
  • a code allocating unit that allocates a code using the selected code table to the coding coefficient.
  • the coefficient is obtained by quantizing a frequency component of the image data based on a quantization step according to the image data.
  • a code table used in the code allocating unit is selected according to the size of the quantization step.
  • the code table selecting unit selects a code table used in the code allocating unit according to information on a processed coefficient subjected to the code Fich processing. It is characterized by having.
  • the code-enhancing process for the coefficient includes a run value indicating the number of consecutive 0 coefficients whose value is 0, and a non-zero coefficient value following the 0 coefficient. Are converted into codes, respectively.
  • the code table selecting unit performs the processed run values to which the codes are assigned from a plurality of code tables indicating the correspondence between the run values and the codes.
  • the code allocating unit allocates a code to the unassigned or uncoded run value based on the selected code table based on the selected code table. It is characterized by being.
  • the coefficient is obtained by quantizing a frequency component of image data based on a quantization step according to the image data. Is a code conversion process for the coefficient, and the coefficient data Are performed in such a manner that codes are assigned to the plurality of coefficients constituting the order of the frequency components of the corresponding image data in order of high! / ⁇ .
  • a program storage medium is a storage medium storing a program for performing a variable length encoding process for encoding coefficient data composed of a plurality of coefficients by a computer, wherein the program stores A plurality of code tables indicating the correspondence between the numerical information indicating the magnitude of the coefficient and the code are used! And / or an encoding step of performing an encoding process of converting the coefficient data into encoded data composed of a plurality of codes.
  • the encoding step includes performing the encoding process on the code table.
  • a code table selection step to be selected according to at least one of the information on the processed coefficients and the parameters related to the generation of the coefficients, and And a code allocating step of allocating codes using the selected code table.
  • a variable-length decoding method is a variable-length decoding method for decoding code data consisting of a plurality of codes, obtained by performing variable-length coding on coefficient data consisting of a plurality of coefficients, For each code, decoding that restores the encoded data to coefficient data composed of the plurality of coefficients using a plurality of code tables indicating the correspondence between the numerical information indicating the magnitude of the coefficient and the code.
  • a decoding step of performing a decoding process wherein the decoding is performed in accordance with at least one of information on the processed coefficient on which the decoding process has been performed, and a parameter on generation of the coefficient.
  • the coefficient is obtained by quantizing a frequency component of image data based on a quantization step according to the image data.
  • the code table selecting step the code table used in the numerical value acquiring step is selected according to the size of the quantization step.
  • the code in the decoding process for the code, may include: a run value indicating a number of consecutive 0 coefficients whose value is 0; And a level value indicating a value of a non-zero coefficient subsequent to the above.
  • the code table selection step is based on a plurality of code tables indicating the correspondence between the run values and the codes. From a first selection process of selecting one code table according to the size and a plurality of code tables indicating the correspondence between the level value and the code, one code table is selected according to the size of the quantization step.
  • the numerical value acquisition step is based on the selected code table and has not been subjected to the above-described decryption process. It is characterized in that at least one of a run value and a level value corresponding to a decoded code is obtained.
  • the decoding process for the code is performed by changing the code to a run value indicating the number of consecutive 0 coefficients whose value is 0,
  • the code table selecting step restores a run level pair including a level value indicating a coefficient value.
  • the code table selecting step includes a plurality of steps indicating a correspondence between the run level pair and a code according to the size of the quantization step.
  • One of the code tables is selected from the code table, and the numerical value acquisition step corresponds to an undecoded code that has not been subjected to the above-described decoding processing based on the selected code table. It is characterized by acquiring runlevel pairs.
  • the code table selecting step selects a code table used in the numerical value acquiring step according to information on a processed coefficient obtained by the decoding processing. It is characterized by being.
  • the decoding of the code is performed by changing the code to a run value indicating the number of consecutive 0 coefficients whose value is 0,
  • the code table selection step is a process obtained by performing a decoding process from a plurality of code tables indicating the correspondence between the run values and the codes.
  • Performing at least one of a second selection process of selecting one code table in accordance with the information on the value, and the numerical value obtaining step includes: Undeleted without decryption processing At least one of a run value and a level value corresponding to the It is characterized by the following.
  • the code table selecting step may include, from a plurality of code tables indicating the correspondence between the run values and the codes, the number of processed run values obtained by a decoding process.
  • the numerical value acquiring step is a step of, based on the selected code table, performing a run value corresponding to an undecoded code that has not been subjected to the decoding processing. It is characterized by acquiring
  • the decoding process for the code includes a code, a run value indicating the number of consecutive 0 coefficients whose value is 0, and a non-zero value following the 0 coefficient.
  • the code table selecting step is to restore the run level pair according to the information on the run level pair obtained by the decoding process.
  • One code table is selected from a plurality of code tables indicating correspondence with codes, and the numerical value acquisition step is based on the selected code table and the decoding process is not performed. It is characterized in that a run level pair corresponding to a decoded code is obtained.
  • the coefficient is obtained by quantizing a frequency component of image data based on a quantization step according to the image data.
  • the decoding step is characterized in that the decoding process for the code is performed in such a manner that numerical information corresponding to the code is obtained in order from the highest frequency component of the corresponding image data. is there.
  • a variable-length decoding method is a variable-length decoding method for decoding coded data including a plurality of codes and converting the coded data into coefficient data including a plurality of coefficients.
  • the code constituting the encoded data is converted to the number of consecutive 0 coefficients whose value is 0. And a level value indicating a value of a non-zero coefficient following the zero coefficient.
  • a code table selection step for selecting a table in accordance with at least one of the information on the processed coefficients subjected to the decoding processing and the parameters relating to the generation of the coefficients; and the decoding processing not being performed. ⁇ , to undecoded code
  • the code in the decoding method for the code, the code is restored to a run level pair for each block consisting of a fixed number of coefficients constituting the coefficient data.
  • the code table selecting step includes: in the target block to be subjected to the decoding process, the number of processed coefficients obtained by the decoding process of the block; and decoding of the block in the target block.
  • One code table is selected from a plurality of code tables indicating the correspondence between the run-level pairs and the codes according to the sum of the number of undecoded non-zero coefficients that have not yet been obtained in the decoding process.
  • the numerical value obtaining step obtains a run-level pair corresponding to an undecoded coefficient in the target block based on the selected code table. Than it is.
  • the decoding step includes a step of determining a correspondence between the run level pair and a code corresponding thereto by combining a run value and a level value forming the run level pair.
  • the correspondence between the run-level pairs and the codes in the first code table is regularly changed based on the first code table, and the first code table is A code table processing step of creating a second code table in which the correspondence between the run-level pair and the code is different, wherein the code table selecting step includes the processing of one of the first and second code tables by The selection is made in accordance with at least one of the information on the coefficient and the parameter on the generation of the coefficient.
  • the first and second code tables associate each run level pair with a shorter code as the level value forming the run level pair is smaller.
  • the second code table is characterized in that, compared to the first code table, the level value of the run level pair to which the short code and the code are associated is smaller on average. Is what you do.
  • the first and second code tables are arranged such that a shorter code is associated with each run level pair as the run value forming the run level pair is smaller.
  • the run value of the run level pair to which the short code and the code are associated is smaller than the first code table on average.
  • the decoding of the code is performed by restoring the code into a run-level pair for each block composed of a fixed number of coefficients constituting the coefficient data.
  • the second code table is created in accordance with the number of processed coefficients obtained by the decoding processing in the target block to be subjected to the decoding processing. It is a special thing that it is.
  • the numerical value acquiring step acquires the run-level pair corresponding to the code in order from the run-level pair having a higher frequency component of the corresponding image data. It is a feature.
  • the second code table includes a plurality of correspondences between run level pairs and codes included in the first code table. It is characterized in that only possible measures are changed.
  • the present invention provides the variable-length decoding method, wherein the coefficients constituting the coefficient data are obtained by quantizing a frequency component of the image data based on a quantization step according to the image data.
  • the code table selecting step is characterized in that switching between the first code table and the second code table is performed based on the size of the quantization step.
  • the present invention provides the variable length decoding method, wherein the code table selecting step includes a code table switching step of performing switching between the first code table and the second code table based on a switching instruction signal. Wherein the decoding step performs a decoding process on the switching instruction signal.
  • the decoding processing for the code is performed by restoring the code into a run-level pair for each block composed of certain coefficients constituting the coefficient data.
  • the code table processing step comprises: converting the second code table into the number of processed coefficients obtained by decoding the block in a target block to be decoded, and the number of processed coefficients in the target block; It is characterized in that the decoding is performed in accordance with the sum of the number of undecoded non-zero coefficients that have not yet been obtained in the decoding process for the block.
  • a variable-length decoding device is a variable-length decoding device that decodes encoded data composed of a plurality of codes, obtained by performing variable-length encoding on coefficient data composed of a plurality of coefficients. For each code, decoding that restores the encoded data to coefficient data composed of the plurality of coefficients using a plurality of code tables indicating the correspondence between the numerical information indicating the magnitude of the coefficient and the code.
  • a decoding unit for performing a decoding process wherein the decoding unit stores the code table in accordance with at least one of information on processed coefficients on which the decoding process has been performed, and parameters relating to generation of the coefficient.
  • a numerical value obtaining unit that obtains, using the selected code table, numerical information corresponding to an undecoded code not subjected to the decoding processing. It is characterized by That is.
  • the coefficient is obtained by quantizing a frequency component of image data based on a quantization step according to the image data.
  • the selector is characterized in that a code table used in the numerical value acquiring unit is selected in accordance with the size of the quantization step.
  • the code table selecting unit selects a code table used in the numerical value acquiring unit according to information on processed coefficients obtained by the decoding process. It is characterized by having.
  • the decoding process for the code is performed by converting the code into a run value indicating the number of continuous 0 coefficients whose value is 0, and a non-zero coefficient following the 0 coefficient.
  • the code table selecting unit calculates the number of processed run values obtained by decoding from a plurality of code tables indicating the correspondence between the run values and the codes.
  • the numerical value obtaining unit selects a run value corresponding to an undecoded code that has not been subjected to the decoding process based on the selected code table. It is specially designed to acquire
  • the coefficient is obtained by quantizing a frequency component of image data based on a quantization step corresponding to the image data.
  • the decoding unit performs decoding processing on the code such that numerical information corresponding to the code is obtained in ascending order of frequency components of corresponding image data. is there.
  • a program storage medium stores a program for performing, by a computer, a variable-length decoding process for decoding encoded data including a plurality of codes, which is obtained by performing variable-length encoding on coefficient data including a plurality of coefficients.
  • a storage medium storing the code, for each of the codes, using a plurality of code tables indicating the correspondence between the numerical information indicating the magnitude of the coefficient and the code, and converting the code data to the code
  • variable-length encoding method for encoding coefficient data including a plurality of coefficients.
  • a variable-length encoding method for encoding coefficient data including a plurality of coefficients.
  • a code table selecting step of selecting the code table according to at least one of information on the processed coefficients subjected to the coding processing, and parameters related to the generation of the coefficients, and the coding processing is performed.
  • the coefficient is obtained by quantizing a frequency component of image data based on a quantization step according to the image data.
  • the table selection step is characterized in that the code table used in the code allocation step is selected according to the size of the quantum step, so that it is always suitable for the size of the quantum step. Code with maximum coding efficiency There is an effect that the number table can be used.
  • the encoding process on the coefficient includes a run value indicating the number of consecutive 0 coefficients whose value is 0, and a non-zero coefficient following the 0 coefficient.
  • the level value indicating the value is converted into a code
  • the code table selecting step is based on the size of the quantum step from a plurality of code tables indicating the correspondence between the run value and the code.
  • the code assignment step is performed based on the selected code table based on the uncoded coefficients that have not been subjected to the code conversion process.
  • Corresponding run and level values Since it is characterized in that at least one of the codes is assigned, the assignment of the code to at least one of the run value and the level value is always the total number of bits of the assigned code suitable for the size of the quantization step. There is an effect that it can be performed using a code table with the minimum number.
  • the encoding process on the coefficient includes a run value indicating the number of consecutive 0 coefficients whose value is 0, and a non-zero coefficient following the 0 coefficient.
  • the code table selecting step indicates the correspondence between the run level pair and the code according to the size of the quantization step.
  • One code table is selected from a plurality of code tables, and the code assignment step includes a run level corresponding to an uncoded coefficient that has not been subjected to the coding processing, based on the selected code table.
  • codes are assigned to pairs, so that codes are always assigned to run-level pairs with codes that minimize the total number of bits of codes to be assigned and that are suitable for the size of the quantization step. There is an effect that can be performed using a table.
  • the code table selecting step includes the step of storing the code table used in the code allocation step as information on the processed coefficient subjected to the coding processing.
  • the coding process for the quantized coefficients is always performed using a code table that maximizes the coding efficiency and is suitable for the number of uncoded coefficients. There is an effect that can be.
  • the encoding process on the coefficient includes a run value indicating the number of consecutive 0 coefficients whose value is 0, and a non-zero coefficient following the 0 coefficient.
  • the code table selection step converts the level values indicating the values into codes
  • the code table selecting step is a process in which coding processing is performed from a plurality of code tables indicating the correspondence between the run values and the codes. An encoding process was performed from a first selection process of selecting one code table according to the information on the run value corresponding to the coefficient, and a plurality of code tables indicating the correspondence between the level values and the codes.
  • the code assignment step includes: Based on the table above Since the code is assigned to at least one of the run value and the level value corresponding to the uncoded coefficient not subjected to the signal processing, the run value and the level value are assigned. There is an effect s that the code can be assigned to at least one of them using a code table that maximizes the coding efficiency and is always suitable for the number of uncoded coefficients.
  • the code table selection step includes, from a plurality of code tables indicating the correspondence between the run values and the codes, the number of processed run values to which codes are assigned.
  • the code assignment step is to assign a code to the unassigned V and the uncoded run value based on the selected code table.
  • the encoding process for the coefficient includes a run value indicating the number of consecutive 0 coefficients whose value is 0, and a non-zero coefficient following the 0 coefficient.
  • the code table selecting step converts the run level pair consisting of a level value indicating the value of the run level pair into a code according to the information on the run level pair corresponding to the processed coefficient subjected to the coding process. And selecting one code table from a plurality of code tables indicating the correspondence between the run-level pair and the code.
  • the code allocation step includes: selecting the code table based on the selected code table.
  • codes are assigned to run-level pairs corresponding to uncoded coefficients that have not been subjected to encoding processing, There is an effect that codes can be assigned to run-level pairs using a code table that maximizes coding efficiency and is always suitable for the number of uncoded coefficients.
  • the coefficient is obtained by quantizing a frequency component of image data based on a quantization step corresponding to the image data
  • the encoding step is characterized in that the encoding step is performed on the coefficients such that a code is assigned to a plurality of coefficients constituting the coefficient data in descending order of frequency components of corresponding image data. Therefore, there is an effect that the total number of bits of the code assigned to the coefficient can be further reduced.
  • variable-length encoding method for encoding coefficient data composed of a plurality of coefficients and converting the encoded data into encoded data composed of a plurality of codes.
  • a run value indicating the number of consecutive 0 coefficients whose value is 0;
  • the coding process includes: A code table selecting step of selecting according to at least one of the information on the processed coefficients subjected to the above, and the parameter regarding the generation of the coefficients; and selecting the uncoded coefficients which have not been subjected to the above encoding processing.
  • a code table selecting step of selecting according to at least one of the information on the processed coefficients subjected to the above, and the parameter regarding the generation of the coefficients and selecting the uncoded coefficients which have not been subjected to the above encoding processing.
  • the redundant information included in the coefficient data to be subjected to the variable length code processing is characterized by the characteristic of the coefficient constituting the coefficient data ⁇ the coefficient Is effectively removed by selecting a code table in accordance with the situation of the code processing on the image signal, thereby greatly improving the coding efficiency of the variable length coding processing on image signals and the like.
  • the coding process for the coefficient is performed by performing conversion to a code of a run-level pair for each block including a fixed number of coefficients.
  • the selection step includes the number of processed coefficients subjected to the encoding process in the target block to be subjected to the encoding process, and the number of unprocessed coefficients in the target block to which the encoding process has not been performed.
  • One code table is selected from a plurality of code tables indicating the correspondence between the run-level pair and the code according to the sum of the number of non-zero coefficients.
  • the code assignment step is characterized in that a code is assigned to a run-level pair corresponding to an uncoded coefficient in the target block based on the selected code table. It is possible to use a code table in which pairs of run values and level values that are unlikely to be excluded can be used, and this has the effect of improving variable-length coding efficiency.
  • the encoding step includes: determining a correspondence between the run level pair and a code corresponding to the run level pair by determining a run value and a level value forming the run level pair.
  • the correspondence between the run-level pair and the code in the first code table is regularly changed based on the first code table shown according to the combination, and the first code table is A code table processing step of creating a second code table in which the correspondence between the level pair and the code is different, wherein the code table selecting step includes the step of storing one of the first and second code tables in the ,, And at least one of the parameters related to the above-mentioned coefficient generation, so that a code table used when assigning a code to a pair of a run value and a level value is: Of the first and second code tables The most suitable one is selected, and the redundancy of information existing in the data to be processed can be more effectively eliminated.
  • the first and second code tables are arranged such that a shorter code is associated with each run level pair as the level value forming the run level pair is smaller.
  • the second code table is characterized in that, compared to the first code table, the level value of the run level pair to which a short code can be associated on average is smaller than that of the first code table. This is effective when the quantization parameter of the coefficient constituting the data to be processed is large.
  • the first and second code tables are arranged such that a shorter code is associated with each run level pair as the run value forming the run level pair is smaller.
  • the second code table is characterized in that, compared to the first code table, the run values of the run level pairs to which short codes and codes are associated on average are smaller than those of the first code table. Therefore, it is effective when the quantization parameter of the coefficient constituting the processing target data is small.
  • the encoding process for the coefficient performs conversion to a code of a run-level pair for each block composed of a fixed number of coefficients.
  • the processing step is characterized in that the second code table is created in accordance with the number of processed coefficients subjected to the encoding process in a target block to be subjected to the encoding process. Therefore, the second code table can eliminate run-level and level-value pairs that are unlikely to appear, and this has the effect of further improving variable-length coding efficiency. is there.
  • the code assignment step is to assign a code to the run level pair in order from a run level pair corresponding to a coefficient having a high frequency component of image data. Since the second code table excludes pairs of run values and level values that are unlikely to appear, the improvement in variable-length coding efficiency is There is an effect that can be made.
  • the second code table is regularly calculated among a plurality of correspondences between run-level pairs and codes included in the first code table. Since the feature is that only possible measures are changed, there is an effect that the arithmetic processing required for creating the second code table can be reduced.
  • the coefficients constituting the coefficient data are obtained by quantizing a frequency component of the image data based on a quantization step according to the image data.
  • the code table selecting step is characterized by being a code table switching step of performing switching between the first code table and the second code table based on the size of the quantization step.
  • a code table suitable for the quantization step can be used as a code table used for the variable length coding processing of the coefficients constituting the processing target data.
  • the code table selecting step includes switching between the first code table and the second code table based on a switching instruction signal.
  • the encoding step is characterized in that the encoding processing of the switching instruction signal is performed. Therefore, the variable length encoding processing of the coefficient is performed in accordance with the characteristics of the data to be processed. Can switch the code table used for is there.
  • the coding process for the coefficient is performed by converting a code of a run-level pair into a block composed of a fixed coefficient.
  • the above-mentioned second code table is obtained by, in a target block to be subjected to the encoding process, the number of processed coefficients subjected to the encoding process, and performing the encoding process in the target block. Since the second code table is created according to the sum of the number of uncoded non-zero coefficients and the number of uncoded non-zero coefficients, the second code table The pair can be excluded, and this has the effect that the variable-length coding efficiency can be further improved.
  • variable length coding apparatus for coding coefficient data composed of a plurality of coefficients.
  • An encoding unit for performing an encoding process for converting the coefficient data into encoded data composed of a plurality of codes by using a plurality of code tables indicating correspondences between the numerical information to be represented and the codes; Is a code table selecting unit that selects the code table in accordance with at least one of information on the processed coefficients on which the encoding process has been performed, and a parameter on generation of the coefficients, and the code conversion process is performed.
  • a code allocating unit for allocating codes using the selected code table to the uncoded coefficients that have not been encoded.
  • Redundant information included The information is effectively removed by selecting the code table according to the characteristics of the coefficients constituting the coefficient data ⁇ the coding process for the coefficients according to the situation of the coding process. Thus, there is an effect that the coding efficiency of the above can be greatly improved.
  • the coefficient is obtained by quantizing a frequency component of image data based on a quantization step according to the image data.
  • the code table selecting unit is characterized in that the code table used in the code allocating unit is selected according to the size of the quantization step, so that it is always suitable for the size of the quantization step. Also, there is an effect that a code table that maximizes the coding efficiency can be used.
  • the code table selecting unit includes: Since the code table used in the code allocating unit is selected according to the information on the processed coefficients subjected to the above-described coding processing, the coding processing for the quantized coefficients is There is an effect that the coding can be performed using a code table suitable for the number of coding coefficients and having the highest coding efficiency.
  • the encoding process for the coefficient includes a run value indicating the number of consecutive 0 coefficients whose value is 0, and a non-zero coefficient following the 0 coefficient. And a level value indicating the value of the code is converted into a code, and the code table selecting unit assigns a code from a plurality of code tables indicating the correspondence between the run value and the code.
  • One code table is selected in accordance with the number of completed run values, and the above code harm is determined based on the selected code table. Since codes are assigned to run values, the codes are assigned to the run values using a code table that maximizes the coding efficiency and is always suitable for the number of uncoded run values. There is an effect that can be performed.
  • the coefficient is obtained by quantizing a frequency component of image data based on a quantization step according to the image data.
  • the encoding unit performs the encoding process on the coefficients so that a plurality of coefficients constituting the coefficient data are assigned codes in the order of higher frequency components of the corresponding image data. Therefore, there is an effect that the total number of bits of the code assigned to the coefficient can be further reduced.
  • a storage medium storing a program for performing variable length encoding processing for encoding coefficient data including a plurality of coefficients by a computer, wherein the program stores On the other hand, using a plurality of code tables indicating the correspondence between the numerical information indicating the magnitude of the coefficient and the code, a code conversion process for converting the coefficient data into code data including a plurality of codes is performed.
  • An encoding step wherein the encoding step selects the code table according to at least one of information relating to the processed coefficient subjected to the encoding processing and a parameter relating to generation of the coefficient.
  • the characteristic of the coefficients constituting the coefficient data can be used to effectively remove the redundant information contained in the data by selecting a code table according to the encoding process for the coefficients. There is an effect that the long code processing can be realized by software.
  • variable-length decoding method for decoding encoded data composed of a plurality of codes, obtained by performing variable-length encoding on coefficient data composed of a plurality of coefficients. For each of the codes, using a plurality of code tables indicating the correspondence between the code and the numerical information indicating the magnitude of the coefficient, the encoded data is converted into coefficient data including the plurality of coefficients.
  • a decoding step of performing a decoding process for restoring wherein the decoding step includes at least one of information relating to the processed coefficient subjected to the encoding process, and parameters relating to generation of the coefficient.
  • the coefficient data can be coded by switching the code table to effectively remove redundant information contained in the coefficient data. High-efficient variable-length coding processing with high coding efficiency There is an effect that a variable length decoding process corresponding to the above can be performed.
  • the coefficient is obtained by quantizing a frequency component of image data based on a quantization step according to the image data, and the code
  • the table selection step is characterized in that the code table used in the numerical value acquisition step is selected in accordance with the size of the quantization step.
  • the decoding process for the code is performed by following the code with a run value indicating the number of consecutive 0 coefficients whose value is 0,
  • the code table selecting step is based on a plurality of code tables indicating the correspondence between the run values and the codes in accordance with the size of the quantization step.
  • a first selection process for selecting one code table It performs at least one of the second selection processing of selecting one code table according to the size of the quantization step from a plurality of code tables indicating the correspondence between the bell value and the code.
  • the numerical value acquiring step is for acquiring at least one of a run value and a level value corresponding to an undecoded code not subjected to the decoding processing based on the selected code table.
  • the assignment of codes to at least one of the run value and the level value is always performed using a code table that is suitable for the size of the quantization step and minimizes the total number of bits of the assigned codes.
  • the decoding process for the code is performed by following the code with a run value indicating the number of consecutive 0 coefficients whose value is 0, and the 0 coefficient.
  • the code table selecting step is a step of restoring to a run level pair consisting of a level value indicating a value of a non-zero coefficient, and the code table selecting step is performed in accordance with the size of the quantizing step.
  • One code table is selected from a plurality of code tables indicating the correspondence, and the numerical value acquisition step is based on the selected code table, and the undecrypted code that has not been subjected to the decryption processing. Since the feature is that the run-level pair corresponding to the run-level pair is obtained, the code assignment to the run-level pair is always performed with the minimum number of bits of the assigned code suitable for the size of the quantization step. Sign There is an effect that a variable length decoding process corresponding to a variable length coding process performed using a table can be performed.
  • the code table selection step selects a code table used in the numerical value acquiring step according to information on a processed coefficient obtained by the decoding processing. Therefore, the quantization coefficient is always changed using a code table that is suitable for the number of undecoded coefficients and that maximizes the coding efficiency. There is an effect that a variable length decoding process corresponding to the dangling process can be performed.
  • the decoding process for the code is performed by following the code with a run value indicating the number of consecutive 0 coefficients whose value is 0, and the 0 coefficient.
  • the decoding process is performed from a plurality of code tables indicating the correspondence between the run values and the codes. 12232
  • the code table selecting step includes the step of: obtaining a processed run value obtained by a decoding process from a plurality of code tables indicating the correspondence between the run values and codes.
  • One code table is selected in accordance with the number of the code tables. Since the feature is to acquire the run value corresponding to the code, the code is always assigned to the run value by a code table that maximizes the coding efficiency and is suitable for the number of undecoded run values.
  • the decoding process for the code includes: converting the code into a run value indicating the number of consecutive 0 coefficients whose value is 0;
  • the code table selecting step restores a run level pair consisting of a level value indicating the value of a non-zero coefficient that follows.
  • One code table is selected from a plurality of code tables indicating the correspondence between the level pair and the code.
  • the decoding processing is performed based on the selected code table. It is characterized by acquiring run-level pairs corresponding to undecoded codes that have not been decoded, so that the code allocation to the run-level pairs is always performed with the coding efficiency suitable for the number of undecoded coefficients.
  • the coefficient is obtained by quantizing a frequency component of the image data based on a quantization step according to the image data.
  • the decoding step is characterized in that the decoding process for the code is performed so that numerical information corresponding to the code is obtained in ascending order of frequency components of the corresponding image data.
  • a variable length decoding process corresponding to a variable length coding process capable of further reducing the total number of bits of codes assigned to the coefficients can be performed.
  • variable length decoding method for decoding code data composed of a plurality of codes and converting the decoded data into coefficient data composed of a plurality of coefficients,
  • code constituting the encoded data is represented by a continuous 0 whose value is 0.
  • Nadey undecoded code And a numerical value acquisition step of acquiring the numerical information corresponding to the coefficient data by using the selected code table. Therefore, the coefficient data is changed to the redundancy included in the coefficient data by switching the code table.
  • the decoding process for the code includes restoring the code into a run-level pair for each block including a fixed number of coefficients constituting the coefficient data.
  • the code table selecting step includes: in the target block to be subjected to the decoding process, the number of processed coefficients obtained by the decoding process of the block; and the number of processed blocks in the target block.
  • one code table is selected from a plurality of code tables indicating the correspondence between the run-level pair and the code according to the sum of the number of undecoded non-zero coefficients that have not yet been obtained.
  • the numerical value acquiring step is based on the selected code table, and the target block In this method, run-level pairs corresponding to the undecrypted coefficients are obtained, so that a code table that eliminates run-level and level-value pairs that are unlikely to appear is used. This has the effect of realizing variable-length decoding processing corresponding to variable-length coding processing with high performance.
  • the decoding step includes a step of determining a correspondence between the run level pair and a code corresponding to the run level pair by determining a run value and a level value forming the run level pair.
  • the correspondence between the run-level pair and the code in the first code table is regularly changed based on the first code table shown according to the combination, and the first code table is A code table processing step of creating a second code table in which the correspondence between the level pair and the code is different, wherein the code table selecting step includes the step of storing one of the first and second code tables in the , And the coefficient is selected in accordance with at least one of the parameters relating to the generation of the coefficient.
  • the code table used when converting the code into a pair of a run value and a level value is the first code table. And of the second code table Will be selected.
  • the variable length decoding process corresponding to the variable length coding process which more effectively eliminates the redundancy of the information existing in the data to be processed, can be performed favorably, and its practical value is high. is there.
  • the first and second code tables correspond to a shorter code for each run level pair as the level value forming the run level pair is smaller.
  • the second code table is characterized in that, on average, the level value of a run level pair to which a short code can be associated is smaller than that of the first code table. Therefore, it is effective when the quantization parameter related to the coefficient constituting the data to be processed is large.
  • the first and second code tables are arranged such that a shorter code is associated with each run level pair as the run value forming the run level pair is smaller.
  • the second code table is characterized in that, compared to the first code table, the run value of the run level pair to which the code This is effective when the quantum parameters of the coefficients constituting the data to be processed are small.
  • a decoding process for the code In other words, the code is restored to a run-level pair for each block composed of a fixed number of coefficients constituting the coefficient data.
  • the code table processing step includes the steps of: Since it is created according to the number of processed coefficients obtained by the decoding process in the target block to be subjected to the above-described decoding process, the second code table It is possible to eliminate the pair of the run value and the level value that is unlikely to be performed, thereby achieving the effect that the variable length decoding process corresponding to the more efficient variable length decoding process can be realized. is there.
  • variable length decoding method in the numerical value acquiring step, the run level pair corresponding to the code is acquired in order from a run level pair having a higher frequency component of the corresponding image data.
  • Variable-length code with improved compression ratio more effectively by eliminating the pairs of run values and level values that are unlikely to appear in the second code table.
  • the second code table is regularly calculated among a plurality of correspondences between run-level pairs and codes included in the first code table. Since only the possible correspondences are changed, there is an effect that the arithmetic processing required for creating the second code table can be reduced.
  • the coefficients constituting the coefficient data are obtained by quantizing frequency components of image data based on a quantization step according to the image data.
  • the code table selecting step is characterized by performing the switching between the first code table and the second code table based on the size of the quantization step.
  • the code table selecting step includes a code table switching step of switching between the first code table and the second code table based on a switching instruction signal, and the decoding step includes: Since the switching instruction signal is decoded, the code table used for the variable-length decoding can be switched in accordance with the characteristics of the data to be processed. But is there.
  • the decoding process for the code includes restoring the code to a run-level pair for each block composed of constant coefficients constituting the coefficient data.
  • the code table processing step is to convert the second code table into the number of processed coefficients obtained by the decoding process for the block in the target block to be decoded, and It is characterized by being created in accordance with the sum of the number of undecoded non-zero coefficients not yet obtained in the decoding process for the block in the target block.
  • variable length decoding device decodes coded data composed of a plurality of codes, obtained by performing variable length encoding on coefficient data composed of a plurality of coefficients. For each of the codes, the coded data is restored to coefficient data including the plurality of coefficients by using a plurality of code tables indicating the correspondence between the code and the numerical information indicating the magnitude of the coefficient.
  • a decoding unit for performing a decoding process wherein the decoding unit determines the code table according to at least one of information on the processed coefficient subjected to the decoding process, and a parameter related to generation of the coefficient.
  • a numerical value acquisition unit that acquires, using the selected code table, numerical information corresponding to a non-decoded code that has not been decoded.
  • the coefficient data can be coded by switching the code table to effectively remove the redundancy of the information of the coefficient data and encode the coefficient data. There is an effect that long decoding processing can be performed.
  • the coefficient is obtained by quantizing a frequency component of image data based on a quantization step corresponding to the image data
  • the code table selecting unit is characterized in that the code table used in the numerical value acquiring unit is selected according to the size of the quantization step.
  • the code table selecting unit includes: Since the code table used in the numerical value acquisition unit is selected according to the information on the processed coefficient obtained by the decoding processing, the quantization coefficient is always undecoded.
  • variable-length decoding process corresponding to a variable-length encoding process of encoding using a code table that maximizes encoding efficiency and is suitable for the number of coefficients can be performed.
  • the decoding process on the code is performed by following the code with a run value indicating the number of consecutive 0 coefficients whose value is 0,
  • the code table selecting unit restores the non-zero coefficient value to a level value indicating the value of the non-zero coefficient.
  • One code table is selected in accordance with the number of run values, and the numerical value acquisition unit is configured to, based on the selected code table, generate an undecoded code that has not been subjected to the decoding process.
  • variable-length decoding corresponding to variable-length encoding performed by using There is an effect that can be performed.
  • the coefficient is obtained by quantizing a frequency component of image data based on a quantization step according to the image data.
  • the decoding unit performs the decoding process on the code such that numerical information corresponding to the code is obtained in ascending order of frequency components of the corresponding image data.
  • a program for performing, by a computer, a variable length decoding process for decoding encoded data composed of a plurality of codes which is obtained by performing variable length encoding on coefficient data composed of a plurality of coefficients.
  • the program stores the encoded data using a plurality of code tables indicating the correspondence between the numerical information indicating the magnitude of the coefficient and the above-described code for each of the codes.
  • the decoding step includes: Information and / or parameters related to the generation of the above coefficients.
  • the coefficient data can be coded by switching the code table to effectively remove redundant information contained in the coefficient data and encode the coefficient data with high coding efficiency. There is an effect that the corresponding variable length decoding processing can be realized by software.
  • FIG. 1 is a block diagram for explaining an image coding apparatus 101 according to Embodiment 1 of the present invention.
  • FIG. 2 is a block diagram showing a run-length encoder RLE1 included in the image encoding device 101 of the first embodiment.
  • FIG. 3 shows the zigzag scan (Figs. 3 (a) to 3 (d)) of the run-length encoder RLE1 and the sorting of run values and level values (Figs. 3 (e) and 3 (e)). (f) FIG.
  • FIG. 4 is a diagram for explaining the processing in the variable-length encoder LVLC of the run-length encoder RLE1, and FIG. 4 (a) is a flowchart of the variable-length encoding processing of the level value, and FIG. b) The figure shows a code table used in the variable-length encoding of the level value.
  • FIG. 5 is a diagram for explaining the processing of the run-length encoder RLE1 in the variable-length encoder RVLC, the flow of the variable-length encoding of run values (FIG. 5 (a)), and A code table (FIG. 5 (b)) used in the variable-length encoding of the run value is shown.
  • Fig. 6 shows the case where the total number of bits of the code assigned to the level value (the quantization parameter is relatively small) in the variable length encoder LVLC is based on the code table L2 (Fig. 6 (a)). And FIG. 6 (b) showing a case where code table L1 is used.
  • Fig. 7 shows the total number of bits of codes assigned to level values (quantization parameters are relatively large) in the variable length encoder LVLC, using the code table L2 (Fig. 7 (a)). And FIG. 7 (b) showing a case where code table L1 is used.
  • FIG. 8 shows the case where the total number of bits of codes assigned to run values in the variable length encoder RVLC is determined by using a specific code table (Fig. 8 ( a )).
  • Run value FIG. 8 is a diagram showing a case where rearrangement is performed (FIG. 8 (b)) and a case where only code table switching is performed (FIG. 8 (c)).
  • FIG. 9 is a block diagram for explaining image decoding apparatus 102 according to Embodiment 2 of the present invention.
  • FIG. 10 is a block diagram showing a run-length decoder RLD1 included in the image decoding apparatus 102 according to the second embodiment.
  • FIG. 11 is a diagram for explaining the variable-length decoding process of the variable-length decoder LVLD, and shows a flow of a variable-length decoding process for restoring a level value (FIG. 11 ( a )); A code table (FIG. 11 (b)) used in the variable length decoding process is shown.
  • FIG. 12 is a diagram for explaining the variable-length decoding process of the variable-length decoder RVLD.
  • a code table (FIG. 12 (b)) used in the variable length decoding process is shown.
  • FIG. 13 is a block diagram for explaining an image coding apparatus 103 according to Embodiment 3 of the present invention.
  • FIG. 14 is a block diagram showing a run-length encoder RLE2 included in the image encoding device 103 according to the third embodiment.
  • FIG. 15 shows examples of a code table (second code table) T2a (FIG. 15 (a)) and T2b (15th code table) created by the run renderer encoder RLE2 of the third embodiment. It is a figure which shows (b) figure).
  • FIG. 16 shows other examples of the code table (second code table) T2c (FIG. 16 (a)) and T2d (FIG. 16) generated by the run-length encoder RLE2 of the third embodiment.
  • FIG. 17 is a diagram illustrating an example of an encoding order of quantization components in the run-length encoder RLE2 according to the third embodiment.
  • FIG. 18 is a block diagram for explaining an image decoding apparatus 104 according to Embodiment 4 of the present invention.
  • FIG. 19 is a block diagram showing a run-length decoder RLD2 included in the image decoding device 104 according to the fourth embodiment.
  • FIG. 20 illustrates an image encoding apparatus 105 according to Embodiment 5 of the present invention.
  • FIG. 20 illustrates an image encoding apparatus 105 according to Embodiment 5 of the present invention.
  • FIG. 21 is a block diagram showing a run-length encoder LE3 included in the image encoding device 105 according to the fifth embodiment.
  • FIG. 22 is a block diagram for explaining an image decoding apparatus 106 according to Embodiment 6 of the present invention.
  • FIG. 23 is a block diagram showing a run-length decoder RLD3 included in the image decoding device 106 of the sixth embodiment.
  • FIG. 24 is an example of a variable-length code table Ta (FIG. 24 (a)) used in the run-length encoder RLE3 of the fifth embodiment and the run-length decoder RLD3 of the sixth embodiment. It is a figure which shows Tb (FIG. 24 (b)) and Tc (FIG. 24 (c)).
  • FIG. 25 is a data storage medium storing a program for performing the variable-length encoding process or the variable-length decoding process of each of the above embodiments by a computer system.
  • FIG. 25 (a), FIG. 25 (b) and a diagram for explaining the computer system (FIG. 25 (c)).
  • FIG. 26 is a diagram illustrating an application example of the image encoding method and the image decoding method according to each of the above-described embodiments, and illustrates a content supply system that implements a content distribution service.
  • FIG. 27 is a diagram illustrating a mobile phone using the image encoding method and the image decoding method of each of the above embodiments.
  • FIG. 28 is a block diagram showing a detailed configuration of the mobile phone shown in FIG.
  • FIG. 29 is a conceptual diagram showing a digital broadcasting system using the image encoding device or the image decoding device of each of the above embodiments.
  • FIG. 30 is a block diagram showing a conventional image encoding device 201a.
  • FIG. 31 is a block diagram for explaining an encoder RLEOa included in the conventional image encoding device 201a.
  • FIG. 32 is a block diagram for explaining a conventional image decoding device 202a corresponding to the conventional image coding device 201a.
  • FIG. 33 is a block diagram for explaining a decryption device RLDOa constituting the conventional image decryption device 202a.
  • FIG. 34 is a block diagram showing a conventional image coding apparatus 201b that performs run-length coding.
  • FIG. 35 is a block diagram for explaining a run-length encoder RLEOb included in the conventional image encoding device 201b.
  • FIG. 36 is a block diagram for explaining a conventional image decoding device 202b corresponding to the conventional image encoding device 201b.
  • FIG. 37 is a block diagram for explaining a run-length decoder RLDOb included in the conventional image encoding device 202b.
  • FIG. 38 is a block diagram for explaining another image encoding device 201c that performs conventional run-length encoding.
  • FIG. 39 is a block diagram showing a run-length encoder RLEOc included in the conventional image encoding device 201c.
  • FIG. 40 is a block diagram for explaining a conventional image decoding device 202c corresponding to the conventional image encoding device 201c.
  • FIG. 41 is a block diagram for explaining a run-length decoder RLDOc included in a conventional image decoding device 202c.
  • FIG. 42 is a diagram illustrating an example of a code table used in the run-length encoder RLEOc included in the conventional image encoding device 201c.
  • FIG. 43 is a diagram showing an example of a coding order of quantization components in a conventional run-length encoder RLE0a, RLEOb, RLEOc.
  • the quantization step when the quantization step is coarse, the absolute value of the quantization component becomes small, so that the run (the length of the 0 coefficient) becomes long, and the absolute value of the level value (the value of the non-zero coefficient) becomes small. Become. Conversely, when the quantization step is dense, the absolute value of the quantization component increases, so that the run becomes shorter and the absolute value of the level value increases.
  • variable-length coding of many quantized components has already been completed in the processing target block, and the number of uncoded quantized components is small, if the number of uncoded quantized components is small, Run values above the number cannot occur. Therefore, if the pair of the run value and the level value is removed from the code table, the coding efficiency is improved.
  • the present invention provides a method for performing variable-length coding or variable-length decoding on a quantized coefficient and a parameter (quantization parameter) related to the generation of a quantized coefficient. It switches the code table indicating the correspondence between the numerical information indicating the size of the quantization coefficient and the code, and thereby, the redundant information existing in the data (quantization coefficient) to be subjected to the variable-length coding processing. Can be more effectively removed.
  • the above code table switching is performed by using a code table (first code table) used in the conventional variable-length coding or decoding processing and data to be processed created based on the first code table. This is performed by selecting one of the second code tables that has been optimized in accordance with the processing status of the quantized coefficients.
  • the code table that is a guide for selection is a code table suitable for the data to be processed.
  • FIG. 1 is a block diagram for explaining an image coding apparatus according to Embodiment 1 of the present invention.
  • the image coding apparatus 101 has a variable length with respect to the output (quantization component) QS of the quantizer Q in the conventional image coding apparatus 201 b shown in FIG.
  • the output QS of the quantizer Q is variable based on the quantization parameter QP and the VLC selection signal VlcSel. It is provided with a run-length encoder RLE1 that performs a long-code processing and outputs a coding stream Strl.
  • the quantization parameter QP is a parameter representing the size of the quantum step, and the quantization step is almost proportional to the quantization parameter QP.
  • the quantization parameter QP when the quantization parameter QP is large, the absolute value of the Qidari component becomes smaller, so that the zero run of the Qidari component (the length in which components whose values are 0 are continuously arranged) becomes longer.
  • the absolute value of the level value decreases.
  • FIG. 2 is a block diagram for explaining a specific configuration of the run-length encoder RLE1. It is a lock figure.
  • the run-length encoder RLE1 is similar to the conventional run-length encoder RLEOb shown in FIG. 35 in that the output (quantization component) QS of a quantizer Q having a two-dimensional array is a one-dimensional array ( In other words, a zigzag scanner Scan that converts into a quantized component Coef having a predetermined order) and the number of continuous quantized components (0 coefficients) Coef whose value is 0 are measured, and the continuous 0 coefficient is measured.
  • a run measuring instrument RunCal that outputs a run value Run indicating the number of, and a value of a quantized component Coef (non-zero coefficient) having a non-zero value following the zero coefficient is measured to indicate the value of the non-zero coefficient It has a level measuring device LevCal that outputs a level value Lev.
  • FIG. 3 (a) shows a two-dimensional array of quantized components Q :! to Q16 corresponding to one block
  • FIG. 3 (b) shows the quantized components Q 1 to The scan path of Q16 is indicated by arrows A1 to A15.
  • the quantization component Q1 is obtained by quantizing the DC component of the frequency component of the image signal
  • the quantization components Q2 to Q16 are obtained by quantizing the AC component of the frequency component of the image signal. Things.
  • FIG. 3 (c) shows a one-dimensional array of quantized components Q1 to Q16 obtained by the zigzag scan by the zigzag scan unit Scan (the order of the codes).
  • the figure shows a one-dimensional array of specific numerical values indicating the sizes of the quantum components Q1 to Q16.
  • the run-length encoder RLE1 includes an order rearranger Lreodr that rearranges the level value Lev output from the level measuring device LevCal, and an order rearranger rearranges the run value Run output from the run measuring device RunCal. It has a changer Rreodr and a counting device NumClc that measures and outputs the number Cnura of unsigned Eich coefficients in the target block based on the output of the run measuring device RunCal.
  • Fig. 3 (e) shows the order of the run values and level values obtained from the numerical values of the quantized components having the arrangement shown in Figs. 3 (c) and 3 (d), and Fig. 3 (f) Indicates the order of the run values and the level values after the rearrangement.
  • the run-length encoder RLE1 performs a variable-length encoding process on the output ROLev of the reordering unit Lreodr based on the quantization parameter QP and the switching signal VldSel to perform a code sequence (level value encoding).
  • variable-length encoder LVLC that outputs LStr and the output RORun of the reordering unit Rreodr are subjected to variable-length encoding based on the number Cnum of uncoded coefficients, and a code string ( Run value code string) Variable length that outputs RStr It has an encoder RVLC and a multiplexer MUX that multiplexes the above-mentioned code string LStr and code string RStr for each block and outputs a multiple coded stream Strl.
  • FIG. 4 is a diagram for explaining the variable-length encoding process of the variable-length encoder LVLC, and FIG. 4 (a) is an explanatory diagram of a flow of a variable-length encoding process of a level value; b) is an explanatory diagram of a code table used in the variable-length encoding of the level value.
  • Fig. 4 (b) shows an array Alev of level values (Level), an array Cal of codes (codewords) when the quantization parameter QP is smaller than the threshold value, and an array Cal of quantization values QP equal to or larger than the threshold value. It shows an array of codes (codewords) Ca2.
  • the code table L 1 is composed of an array Alev of level values (Level) and an array C al of codes (codewords) when the quantization parameter QP is smaller than the threshold, and the quantization parameter When QP is smaller than the threshold value! / ⁇ , multiple correspondences between the level value (Level) and the sign are shown.
  • the code table L2 includes an array Alev of level values (Level) and an array Ca2 of codes (codewords) when the quantization parameter QP is equal to or larger than the threshold, and the quantization parameter QP is equal to the threshold. In the above case, the correspondence between the level value (Level) and the code is shown plurally.
  • FIG. 5 is a diagram for explaining the variable-length encoding process of the variable-length encoder RVLC.
  • FIG. 5 (a) is an explanatory diagram of a flow of the run-length variable-length encoding process
  • FIG. FIG. 4 is an explanatory diagram of a code table used in the variable-length coding of the run value.
  • Fig. 5 (b) shows an array Arun of run values (Run), an array Cbl of codes (codewords) when the number of uncoded 0 coefficients is 1, and the number of uncoded 0 coefficients.
  • the array of codes (codewords) Cb2 when is 2 the array of codes (codewords) Cb3 when the number of unsigned 0 coefficients is 3, and the number of unsigned 0 coefficients
  • An array of codes (codewords) Cb8 is shown.
  • the code table R 1 includes an array Arun of run values (Run) and an array Cbl of codes (codewords) when the number of uncoded 0 coefficients is 1, and When the number of conversion 0 coefficients is 1, multiple correspondences between run values (Run) and codes are shown.
  • the code tables R 2, R 3, R 4, R 5, R 6, and R 7 are each an array Arun of run values (Run) and the number of uncoded 0 coefficients is 2, 3, 4, 5 , 6, and 7, the array of codes (codewords) Cb2, Cb3, Cb4, Cb5, Cb6, and Cb7, and the number of uncoded 0 coefficients is 2, 3, 4, 5, 5,
  • the code table R 8 includes an array Arun of run values (R m) and an array C b8 of codes (code words) when the number of uncoded 0 coefficients is 8 or more. A plurality of correspondences between the run value (Run) and the code when the number of the code 0 coefficients is 8 or more are shown.
  • the block encoder Blk, the frequency transformer Trans, and the quantizer Q are provided by a conventional image encoding device 201a (see FIG. 30).
  • a conventional image encoding device 201a see FIG. 30.
  • One of them operates in the same way as that of the image coding device 201b (see FIG. 34).
  • the blocky shading device Blk divides the input image signal Vin into blocks, and generates an image signal ( Pixel value component) Generates BlkS.
  • the frequency transform Trans converts the pixel value component BlkS into a frequency component TransS using DCT (discrete cosine transform), wavelet transform, or the like.
  • DCT discrete cosine transform
  • the quantizer Q quantizes the frequency component TransS in a predetermined quantization step based on the quantization parameter QP, outputs a quantization component QS, and outputs the quantization parameter QP. .
  • the run-length encoder RLE1 performs a variable-length encoding process on the quantization component QS and outputs an encoded stream Strl.
  • the zigzag scan unit Scan performs a zigzag scan of the quantized components QS output from the quantizer Q (that is, a plurality of quantized coefficients Q1 to Q16 having a two-dimensional array shown in FIG. 3A). Then, the quantization component QS is converted into a quantization component Coef and output.
  • the above-described zigzag scan of the quantized component QS calculates a plurality of quantized coefficients Q 1 to Q 16 having a two-dimensional rota-sequence shown in FIG. Scanning is performed along a path indicated by A15 to convert an array of a plurality of quantization coefficients Q1 to Q16 into a one-dimensional array (processing order) shown in FIG. 3 (c).
  • Fig. 3 (d) shows the jig An array of specific numerical values (20, -10, 5, 0, 2, 0, 0, 0, 1, 0, 0, 0, —1) of a plurality of quantized coefficients Q 1 to Q 16 subjected to Zadascan , 0, 0, 1).
  • the run measuring instrument RunCal measures the number of continuous 0 coefficients based on the quantized component Coef output from the zigzag scanning device Scan, and outputs a run value Run indicating the number.
  • the specific run values sequentially output from the run measuring instrument RunCal are shown in the output order (0, 0, 0, 1, 3, 3, 2).
  • the level measurement device LevCal measures the value of the non-zero coefficient following the continuous zero coefficient based on the quantized component Coef output from the zigzag scanner Scan, and calculates a level value Lev indicating this value. Output.
  • the specific level values sequentially output from the level meter LevCal are shown in the output order (20, -10, 5, 2, 1, -1, 1). I have.
  • the order rearranger Rreodr rearranges the order of the run values sequentially output from the run measuring instrument RunCal card in the reverse order of the output order.
  • FIG. 3 (f) shows a specific order (2, 3, 3, 1, 0, 0, 0) of the run values rearranged by the order rearranger Rreodr.
  • the counting device NumClc measures the number of uncoded coefficients based on the run value Run output from the run measuring device RunCal, and counts the number of the uncoded coefficients (the number of uncoded coefficients) Cnum Is output.
  • the order rearranger Lreodr rearranges the order of the level values sequentially output from the level measuring device LevCal in the order of j which is the reverse of the output order.
  • Figure 3 (f) shows the specific order of the level values (1, -1, 1, 2, 5, -10, 20) rearranged by the rearranger Lreodr.
  • variable-length encoder RVLC Based on the uncoded 0 coefficient Cnum output from the counting device NumClc, the variable-length encoder RVLC calculates the rearranged run values RORun output from the reordering device Rreodr.
  • a variable-length encoding process for assigning a code (codeword) to the run value RORun is performed using a plurality of code tables indicating the correspondence between the run values and codes (codewords), and a run-value code string RStr is output. .
  • the variable-length encoder LVLC Based on the quantization parameter QP from the quantizer Q and a selection signal VlcSel from the outside, which instructs the selection of the variable-length coding, the variable-length encoder LVLC outputs the output of the order rearranger Lreodr.
  • a variable-length encoding process in which a code (codeword) is assigned to the level value ROLev using a plurality of code tables indicating the correspondence between the level value and the code (codeword) is performed. And outputs a level value code string LStr. Then, the multiplexer MUX multiplexes the level value code string LStr and the run value code string RStr for each block and outputs a multiplexed coded stream Strl.
  • the multiplexing process of the level value code string LStr and the run value code string RStr corresponds to the target block after the code string RStr for all the run values corresponding to the target block for each block, for example.
  • the code sequence LStr for all level values follows, or the code sequence LStr for all level values corresponding to the target block is followed by the code sequence RStr for all run values corresponding to the target block.
  • variable length encoder LVLC the operation of the variable length encoder LVLC will be described in detail with reference to FIG.
  • the variable length encoder LVLC obtains the quantization parameter QP from the quantizer Q (Step Sal), and the obtained value of the quantization parameter QP is stored in the variable length encoder LVLC. It is determined whether or not the quantization parameter QP is equal to or greater than the threshold value (step Sa2).
  • a code table L1 (4th) consisting of an array of level values Alev and an array of codes (codewords) Cal (See Figure (b))) (Step Sa3). If the obtained value of the quantization parameter QP is equal to or greater than the threshold value of the quantization parameter QP, an array of level values Alev and an array of codes (codewords)
  • the code table L2 composed of Ca2 and L2 (see Fig. 4 (b)) is selected (step Sa4).
  • variable length coder LVLC determines whether or not the power has the uncoded level value Lev in the target block (step Sa5), and if the uncoded level value Lev is present in the target block, Using the selected code table, the encoding process of the level value Lev, that is, the process of assigning the corresponding code to the level value is performed (step Sa6), and then the above-described step Sa5 process is performed. On the other hand, as a result of the determination in step Sa5, if the target block has no uncoded level value Lev, the variable length coding process for the level value Lev ends.
  • variable-length encoder LVLC specifies a variable-length encoding process using a specific code table in advance by the VLC selection signal VlcSel, regardless of the size of the quantization parameter QP, Using the code table of Perform processing.
  • variable length encoder RVLC will be described in detail with reference to FIG.
  • variable-length encoder RVLC determines whether or not the uncoded non-zero coefficient exists in the target block based on the output (number of uncoded coefficients) Cnum of the counting device NumClc (step S bl), If the result of this determination is that there are uncoded non-zero coefficients, the number of uncoded zero coefficients in the target block is measured based on the output Cnum from the number counter NumClc (step Sb2).
  • variable-length encoder RVLC selects a code table according to the measured number of uncoded coefficients 0 (step Sb3). Specifically, if the number of uncoded 0 coefficients is 1, the run value array Arun and the code (codeword) array C b 1 and the code table R 1 (the fifth (b) Select (see figure). Similarly, if the number of uncoded 0 coefficients is 2, code table R 2 is used, if the number is 3, code table R 3 is used, and if the number is 4, code table R 4 is used. Select If the number of unsigned 0 coefficients is 5, code table R 5 is selected, if the number is 6, code table R 6 is selected, and if the number is 7, code table R 7 is selected. . If the number of unsigned 0 coefficients is 8 or more, the code table R8 is selected.
  • variable-length encoder RVLC performs a run value Run coding process, that is, a process of assigning a corresponding code to the run value (step S b4).
  • the determination processing in step Sbl is performed.
  • step Sbl If the result of the determination in step Sbl indicates that there is no uncoded non-zero coefficient! /, The variable length coding process for the run value is terminated.
  • Fig. 6 shows the output (level value) of the reordered level meter LevCal output from the reorderer Lreodr when the quantum parameter QP is relatively small.
  • Fig. 3 (f) When 1, 1, 1, 2, 5, -10, and 20, the total number of bits of the code assigned to these level values is shown.
  • a code is assigned to each level value, and the total number of bits of the assigned code is 75 bits.
  • the frequency of occurrence of the quantization coefficient having a large value increases, so that the level value whose absolute value is relatively large as compared with the code table L2.
  • it is effective to select a code table L1 associated with an average short code in order to improve the coding efficiency.
  • Fig. 7 shows the output (level value) of the reordered level meter LevCal output from the reordering unit Lreodr when the quantization parameter QP is relatively large, as shown in Fig. 3 (f).
  • 1, -1, 1, 1, 1, -2, 3 indicate the total number of bits of codes assigned to these level values.
  • the frequency of occurrence of the quantization coefficient having a large value is low, and therefore, the level value whose absolute value is relatively small compared to the code table L1.
  • it is effective to select a code table L2 in which short codes are intensively associated with each other in order to improve coding efficiency.
  • Fig. 8 shows that when the run values output from the run measuring instrument RunCal are 0, 0, 0, 1, 3, 3, 2 as shown in Fig. 3 (e), It indicates the total number of bits of the assigned code.
  • the code table R8 shown in Fig. 5 is always used without rearranging the run values and switching the code table as in the run-length encoder RLE1, the a) Codes (codewords) are allocated as shown in the figure, and the total number of allocated codes The number of bits is 21 bits.
  • each run value includes the values shown in Fig. 8 (b).
  • a code codeword
  • the total number of bits of the allocated code is 13 bits.
  • the number of uncoded coefficients decreases by one plus the run value that was just coded. This is because there is always one non-zero coefficient after a single or consecutive zero coefficients.
  • the uncoded 0 coefficient obtained from the rearranged plural run values corresponding to one block output from the order rearranger Rreodr is 15. This is because there is always one non-zero coefficient in the block to be processed.
  • each run value includes the eighth ( C).
  • Codes are allocated as shown in the figure, and the total number of bits of the allocated codes is 20 bits.
  • the quantized coefficient obtained by quantizing the frequency component of the image signal is a continuous quantized component (0 Coefficient) Run-length encoding that encodes using a run value Run indicating the number of Coefs, and a level value Lev indicating a value of a quantized component Coef (non-zero coefficient) whose value is not 0 following the 0 coefficient.
  • the quantization coefficient can be coded with high coding efficiency without redundant information.
  • the run-length encoder RLE1 of the first embodiment selects a code table according to the size of the quantization parameter QP, and performs variable-length coding of the level value using the selected code table. Since the variable length encoder LVLC is provided, the total number of bits of the code assigned to the level value can be reduced. In addition, the run-length encoder RLE1 reorders a plurality of run values measured from quantized coefficients to which a certain processing order is assigned, in order from the one corresponding to the quantized coefficient having a higher frequency component.
  • Variable length coding that selects a code table according to the number of uncoded coefficients in the target block and the unreduced zero coefficient in the target block, and performs variable length coding of the rearranged run values using the selected code table.
  • the total number of bits of the code assigned to the run value Can be effectively reduced and coding efficiency can be improved.
  • variable length encoder RVLC selects a code table according to the number of uncoded zero coefficients in the target block (that is, the output Cnum of the number counter NimiClc).
  • the variable length encoder RVLC is based on not only the output Cnum of the counting device NumClc but also the VLC selection signal VlcSel! /
  • the code table may be selected. For example, if the variable length coder RVLC specifies variable length coding processing using a specific code table in advance by the VLC selection signal VlcSel, the number of unsigned zero coefficients in the target block Regardless of this, the specific code table may be used to perform the variable length code conversion processing on the run value.
  • FIG. 9 is a block diagram for explaining an image decoding apparatus according to Embodiment 2 of the present invention.
  • the image decoding apparatus 102 is for decoding, for example, the encoding stream Strl output from the image coding apparatus 101 according to the first embodiment. Then, the image decoding apparatus 102 is a run-length that performs variable length decoding processing on the input coded stream StrOb in the conventional image decoding apparatus 202 b shown in FIG. Instead of the decoder RLDOb, a run-length that performs variable length decoding on the input coded stream Strl based on the quantization parameter QP and VLD selection signal VldSel to restore the quantized coefficients It has a decoder RLD1, and the other configuration is the same as that of the image decoding device 202b shown in FIG.
  • FIG. 10 is a block diagram for explaining a specific configuration of the run-length decoder RLD1.
  • This run-length decoder RLD1 corresponds to the level value from the multiplexed coding stream Strl output from the image coding device 101, like the conventional run-length decoder RLDOb shown in FIG. 37. And a code string RStr corresponding to the run value.
  • the run-length decoder RLD1 applies the quantization parameters QP and VLD to the level value code string LStr separated from the multiplexed coded stream Strl.
  • the variable length decoder LVLD that performs variable length decoding based on the selection signal VldSel to restore the level value ROLev and the run value code string RStr separated from the multiplexed coded stream Strl have not been decoded yet.
  • a variable-length decoder RVLD that performs a variable-length decoding process based on the number of coding coefficients to restore the run value RORun.
  • the run-renders decoder RLD1 performs a reordering process on the level value ROLev, which is the output of the variable-length decoder LVLD, in the reverse order of the order rearranger Lreodr on the encoding side to perform encoding.
  • the order reordering unit LIreodr that restores the output Lev of the level measuring instrument on the side and the run value RORun that is the output of the variable length decoder RVLD are the reverse of the order reordering unit Rreodr on the encoding side.
  • a reordering unit Rlreodr that performs rearrangement processing to restore the output Run of the encoding-side run measuring device, and an undecoded coefficient in the target block based on the output Run of the reordering unit Rlreodr.
  • a number counter NumClc that measures and outputs the number Cmim.
  • the run-length decoder RLD1 restores the decoded quantized component DQS having a two-dimensional array from the decoded quantized component having a one-dimensional array represented by the level value Lev and the run value Run. It has an inverted zigzag scanner IScan.
  • FIG. 11 is a diagram for explaining the variable length decoding process of the variable length decoder LVLD.
  • FIG. 11 (a) is a diagram for explaining the flow of the variable length decoding process for restoring the level value.
  • FIG. 11 (b) is an explanatory diagram of a code table used in the variable length decoding process.
  • the code tables L1 and L2 used in the variable length decoding process of the Levenore value are the codes used in the level value coding process in the run-length encoder RLE1 of the first embodiment. It is the same as Tables L1 and L2.
  • FIG. 12 is a diagram for explaining the variable length decoding process of the variable length decoder RVLD.
  • FIG. 12 (a) is an explanatory diagram of the flow of the variable length decoding process for restoring the run value.
  • FIG. 12 (b) is an explanatory diagram of a code table used in the variable length decoding process.
  • the code tables R 1 to R 8 used in the variable-length decoding of the run value are the codes used in the run value encoding process in the run-length encoder RLE 1 of the first embodiment. These are the same as Tables R1 to R8.
  • the image decoding device 102 may be added to the image decoding device 102.
  • the run-length decoder RLD1 performs a decoding process on the coded stream Strl and outputs a decoded quantization component DQS.
  • the operation of the run-length decoder RLD1 is the reverse of the operation of the run-length encoder RLE1.
  • the demultiplexer DMUX converts the input multiplexed coding stream Strl into a level value code string LStr corresponding to the level value and a run value code string RStr corresponding to the run value. They are separated and output to the variable length decoder LVLD and variable length decoder RVLD, respectively.
  • variable length decoder LVLD is based on the quantization parameter QP from the quantizer Q and a VLD selection signal VldSel externally instructing selection of variable length decoding, and the level value code string from the separator DMUX is used.
  • VldSel externally instructing selection of variable length decoding
  • For LStr using a plurality of code tables indicating the correspondence between the level values and the codes (codewords), obtain the level value ROLev corresponding to each code (codeword) and send it to the reordering unit LIreodr. Output.
  • variable-length decoder RVLD performs the run-time code sequence RStr from the separator MUX on Using a plurality of code tables indicating the correspondence between values and codes (codewords), the run value ROLev corresponding to each code (codeword) is obtained and output to the jl-order reverse translator Rlreodr.
  • the reordering unit LIreodr performs the reverse of the ordering unit Lreodr on the encoding side on the level value ROLev output from the variable-length decoder LVLD, The output Lev of the level meter is restored.
  • the order reordering unit Rlreodr performs a reordering process on the run value RORun, which is the output of the variable-length decoding unit RVLD, in the reverse order of the order reordering unit Rreodr on the encoding side. Restores the output Run of the run-side instrument.
  • the number counting device NumClc measures the number Cnum of undecoded coefficients in the target block based on the output Run of the order reordering device Rlreodr, and outputs it to the variable length decoder RVLD.
  • the inverse zigzag scanner IScan has a two-dimensional array from the quantized component having the one-dimensional array expressed by the level value Lev and the run value Run by an operation opposite to that of the zigzag scan device Scan.
  • the decoded quantized component DQS is restored and output to the inverse quantizer IQ.
  • variable-length decoder LVLD the operation of the variable-length decoder LVLD will be described in detail with reference to FIG.
  • variable-length decoder LVLD obtains the quantization parameter QP from the quantizer Q of the image encoding device 101 (step S cl), and obtains the value of the obtained quantization parameter QP. It is determined whether or not the force is equal to or more than the threshold value of the quantum parameter QP held in the variable length decoder LVLD (step Sc2).
  • the code table L1 (the first table) includes an array Alev of level values and an array Cal of codes (codewords). (See Figure 1 (b))) (Step Sc3). If the obtained value of the quantization parameter QP is equal to or greater than the threshold value of the quantization parameter QP, an array of level values Alev and a sign ( A code table L2 (see FIG. 11 (b)) composed of an array Ca2 of codewords) is selected (step Sc4).
  • variable-length decoder LVLD determines whether the unblocked level value Lev is present in the target block or not (Step Sc5), and if the unblocked level value Lev is present in the target block, Using the selected code table, decoding processing for restoring the level value Lev, that is, processing for acquiring a level value corresponding to the code is performed (step Sc6), and then the above-described step sc5 processing is performed. On the other hand, as a result of the determination in step Sc5, if the target block has no undecoded level value Lev, the variable length decoding process for restoring the level value Lev ends.
  • variable-length decoder LVLD specifies variable-length decoding using a specific code table in advance by the VLD selection signal VldSel, regardless of the size of the quantization parameter QP, Using the specific code table, a variable length decoding process for restoring the level value is performed.
  • variable length decoder RVLD will be described in detail with reference to FIG.
  • the variable-length decoder RVLD determines whether or not there is any undecoded non-zero coefficient in the target block based on the output (number of undecoded coefficients) Cnum of the counting device NuraClc (Step S). dl), if the result of this determination is that there are non-decoded non-zero coefficients, the number of undecoded zero coefficients in the target block is measured based on the above-mentioned number Cnum of non-decoded coefficients. Step S d2).
  • the variable-length decoder RVLD encodes the code according to the number of measured un-decoded 0 coefficients.
  • Select a table (Step Sd3). Specifically, if the number of undecoded 0 coefficients is 1, the code table R 1 (the 1 2 (b) ) See figure). Similarly, if the number of undecoded 0 coefficients is 2, code table R 2 is used, if the number is 3, code table R 3 is used, and if the number is 4, code table R 4 is used. Select Further, when the number of undecoded 0 coefficients is 5, code table R 5 is selected, when the number is 6, code table R 6 is selected, and when the number is 7, code table R 7 is selected. . Then, when the number of undecoded Z0 coefficients is 8 or more, the code table R8 is selected.
  • variable length decoder RVLD performs a decoding process of restoring the run value Run using the selected code table, that is, a process of obtaining a run value corresponding to each code (step S d4). ), And thereafter, the determination processing of the above step Sdl is performed.
  • variable-length decoding process for restoring the run value ends.
  • the inverse quantizer IQ, the inverse frequency converter ITrans, and the inverse block decoder DeBlk are the same as the conventional image decoding apparatus 202.
  • the operation is the same as that of 2a (see FIG. 32) or the image decoding device 202b (see FIG. 36).
  • the inverse quantizer IQ performs the inverse operation of the quantizer Q, that is, performs the inverse quantization of the decoded quantization component DQS with reference to the quantization parameter QP, and outputs the decoded frequency component ITransS.
  • the inverse frequency transformer ITrans performs the inverse operation of the frequency transformer Trans, that is, decodes the decoded frequency component ITransS corresponding to each block using inverse DCT or inverse wavelet transform, and converts the decoded frequency component ITransS corresponding to each block to the corresponding block.
  • An operation of restoring to the pixel value signal DBlkS is performed.
  • the inverse block converter DeBlk integrates the decoded pixel value component DBlkS of each block and outputs a decoded image signal Vout corresponding to each picture.
  • the run code string RStr and the level code string LStr constituting the coded data are each assigned a run value Run indicating the number of consecutive 0 coefficient Coefs. And a run length for converting a non-zero coefficient value following the zero coefficient into a level value Lev, and restoring a quantized coefficient based on the run value and the level value. Since the decoder RLD1 is provided, the quantization coefficient can be coded with high coding efficiency by eliminating redundant information, and decoding processing corresponding to variable-length coding can be performed satisfactorily. it can.
  • the run-length decoder RLD1 of the second embodiment performs variable-length decoding in which a code table is selected according to the magnitude of the quantization parameter QP and the level value is restored using the selected code table. Since the variable length decoder LVLD is provided, it is possible to satisfactorily decode a level value code string in which the total number of bits of codes assigned to level values is reduced. ⁇
  • run-length decoder RLD1 a code table is selected according to the number of undecoded 0 coefficients in the target block, and a code string corresponding to the rearranged run values is selected using the selected code table.
  • Variable-length decoder RVLD that decodes the data, and the run values obtained by the decoding are rearranged in the reverse order of the run value rearrangement processing performed by the run-length encoder RLD1. Since it is provided with a changer Rlreodr, it is possible to satisfactorily decode a run value encoded sequence in which the total number of bits of codes assigned to run values is effectively reduced.
  • variable-length decoder RVLD selects a code table according to the number of undecoded 0 coefficients in the target block (that is, the output Cmira of the counting device NumClc).
  • the variable-length decoder RVLD may select the code table based on not only the output Cnura of the counting device NumClc but also the VLD selection signal VldSel.
  • the variable-length decoder RVLD determines the number of undecoded 0 coefficients in the target block when the variable-length decoding process using a specific code table is specified in advance by the VLD selection signal dSel. Regardless, variable length decoding processing for restoring run values may be performed using the specific code table.
  • FIG. 13 is a block diagram for explaining an image coding apparatus according to Embodiment 3 of the present invention.
  • the image coding apparatus 103 has a variable length with respect to the output (quantization component) QS of the quantizer Q in the conventional image coding apparatus 201 c shown in FIG.
  • Run-length encoder that performs encoding and outputs encoded stream StrOc Instead of RLEOc, a run that performs variable-length encoding processing on the output QS of the quantizer Q based on the quantization parameter QP or the VLC selection signal VlcSel and outputs the encoded stream Str2 It has a length encoder RLE2.
  • the other devices in the image encoding device 103 of the third embodiment are the same as those in the conventional image encoding device 201c.
  • the run-renders encoder RLE2 is, like the conventional run-length encoder RLEOe, a correspondence between a pair of a run value and a level value (hereinafter referred to as a run-level pair) and a code corresponding thereto. In accordance with a combination of the run value and the level value. Then, based on the first code table, the run-length encoder RLE2 regularly changes the correspondence between the pair of run value and level value and the code in the first code table.
  • a second code table having a different relationship from the first code table is created, and the first and second code tables are combined with a quantization parameter QP output from the quantizer Q, or One of them is selected based on a VLC selection signal VlcSel from outside, and a code is assigned to a pair of a run value and a level value related to a coefficient in the data to be processed, based on the selected code table. Things.
  • the quantization parameter QP is a parameter indicating the size of the quantization step, and the quantization step is substantially proportional to the quantization parameter QP.
  • the QD parameter QP when the QD parameter QP is large, the absolute value of the quantized component becomes small, so that the zero run of the quantized component (the length of the continuous sequence of components whose values are 0) becomes long, and the level The absolute value of the value decreases. Therefore, the coding efficiency can be improved by selecting a code table to which a code is assigned to a run level pair having a large run value and a small level value and a small run level pair. Conversely, when the QD parameter is small, the absolute value of the QD component is large, so the run value is small, the level value is large, and a small code is assigned to the run level pair. By selecting a code table, coding efficiency can be improved.
  • the run-length encoder RLE2 selects a code table used in the encoding process by using the selection signal VlcSel. Things. Therefore, the image characteristics (movement of image Depending on the magnitude of the amount, the complexity of the movement, or the fineness of the picture, etc.), an appropriate code table can be selected from the outside, or only one code table can be selected on the side of the image coding device 103.
  • the image encoding device 103 should always use a predetermined code table with the VLC selection signal VlcSel. Can be. That is, the variable-length coding process can be performed using only one code table without switching the code table.
  • FIG. 14 is a block diagram for explaining a specific configuration of the run-length encoder RLE2.
  • the run-renders encoder RLE2 like the conventional run-renders encoder RLEOc (see FIG. 39), converts the output (quantization component) QS of the quantizer Q having a two-dimensional array into a one-dimensional array (that is, , A predetermined order), and a zigzag scanner Scan that converts it into a quantized component Coef, and the number of continuous quantum components (0 coefficients) Coef whose value is 0 is measured, and the run value Run is calculated. It has a run measuring instrument RunCal that outputs, and a level measuring instrument LevCal that follows the 0 coefficient, measures the value of the quantized component Coef (non-zero coefficient) whose value is not 0, and outputs a level value Lev. I have.
  • the run-length encoding device RLE2 converts the output (run value) Run of the run measuring device RunCal into a run value Runl representing the upper digit of the run value Run;
  • a run converter RunConv that performs a conversion process for separating into a run value Run2 representing the lower digit of the above based on the quantization parameter QP or the VLC selection signal VlcSel, and an output (level value) Lev of the level meter LevCal.
  • the run-length encoder RLE2 calculates a code number Code corresponding to a pair of a run value Runl and a level value Levi (hereinafter, referred to as a run-level upper digit pair) by using a code table or arithmetic calculation.
  • Run level code change l Based on the correspondence between RunLevEnc and the obtained run level upper digit pair and code number Code, a higher level corresponding to the target block to be processed is obtained. And the order of the run-level upper digit pairs so that the lower code numbers correspond to the run-level upper digit pairs corresponding to the frequency components.
  • a reordering unit ReOdr that outputs a code number ReOdrCode corresponding to the sorted run-level upper-order digit pair by performing a process of rearranging according to the quantization parameter QP or the VLC selection signal VlcSel. .
  • the run-length encoder RLE2 calculates the number of encoded quantized components (encoded coefficients) from the run value Run, and outputs the number of encoded coefficients Pos to a position calculator PosClc. Based on the correspondence between the upper-level pair of run levels and the code number ReOdrCode, the code number ExtCode corresponding to the run-level pair shown in the second code table is obtained from the level value Lev2 and the run value Run2. It has a number converter CodeTrans to be output, and a variable-length encoder VLC that assigns a bit string (codeword) to the code number ExtCode to generate a code stream Str.
  • the run-length encoder RLE2 the zigzag scanner Scan, the run measuring instrument RunCal, the level measuring instrument LevCal, and the variable-length encoder VLC are the same as those of the conventional run-length encoder RLEOc shown in Fig. 39. It is the same as the one. Next, the operation and effect will be described.
  • the zigzag scanner Scan converts the quantized component QS having a two-dimensional array into a quantized component Coef having a one-dimensional array, that is, an ordered quantized component.
  • the run measuring instrument RunCal measures the number of continuous 0 components (quantized components whose values are 0) Coef and outputs a run value Run indicating the number.
  • the level measuring device LevCal measures the value of the non-zero component (the zero component, which is a non-zero quantized component) Coef, and outputs a levelless direct Lev indicating the value of the non-zero component.
  • the run converter RunConv performs a conversion process of separating the run value Run into a run value Runl representing the upper digit of the run value Run and a run value Run2 representing the lower digit of the run value Run.
  • the Levnore converter LevConv performs a conversion process of separating the level value Lev into a level value Levi representing the upper digit of the level value Lev and a level value Lev2 representing the lower digit of the level value Lev.
  • the run-level code variable ⁇ RunLevEnc calculates the code number Code corresponding to the pair of the level value Levi and the run value Runl (the upper run-level pair) using the code table (first code table) shown in FIG. Calculate by calculation.
  • the order rearranger ReOdr performs the process of rearranging the order of the upper digit pair of the run level by the quantization parameter QP or VLC. A row number based on the selection signal VlcSel, and a code number ReOdrCode corresponding to the sorted run level upper digit pair is output.
  • the correspondence between the run-level upper digit pair and the code number Code obtained by the run-level code converter RunLevEnc is compared with the target block to be processed.
  • a smaller code number is converted to a correspondence corresponding to the run-level upper digit pair corresponding to the higher frequency component.
  • the position calculator PosClc calculates the number of encoded components from the run value Run, and outputs the encoded coefficient number Pos.
  • the code change CodeTrans outputs a code number ExtCode corresponding to the run level pair from the level value Lev2 and the run value Run2 based on the correspondence between the run level upper digit pair and the code number ReOdrCode.
  • the number of coded coefficients Pos output from the position calculator PosClc is used to calculate the number of uncoded components.
  • the code number ExtCode corresponding to the run-level pair output from the number converter CodeTrans is stored in a second code table in which the correspondence between the run-level pair and the code number is different from that of the first code table. It was obtained on the basis of:
  • the second code table creates a code table in which the correspondence between the run-level pair and the code number is different from that of the first code table by the reordering process in the reordering unit ReOdr.
  • the code table created by the reordering unit ReOdr is converted into a run value corresponding to a run value Run exceeding the number of uncoded components based on the number of coded coefficients Pos by the number change CodeTrans. It was created by not including the correspondence between level pairs and code numbers.
  • variable length encoder VLC assigns a bit string (codeword) to the code number ExtCode to generate an encoded stream Str2.
  • FIG. 15 shows an example of a second code table created by the run-length encoder RLE2 based on the first code table.
  • the first code table is the same as the code table shown in FIG. 42 and used by the conventional run-length encoder RLEOc.
  • a bit string (code word) corresponding to the code number Code on a one-to-one basis is assigned, but a short code word is assigned to the code number Code having a small value.
  • FIG. 15 (a) shows, as an example of the second code table, a second code table T2a suitable when the quantization parameter QP is small.
  • This second code table T2a is created as follows.
  • the level value Lev is an odd number
  • a value obtained by dividing an even number whose absolute value is one greater than the level value Lev by 2 is set as the level value Levi. That is, when the level value Lev is positive, the level value Levi is assigned a value of 1/2 of (Lev + 1), and when the level value Lev is negative, the level value Levi is (Lev-1) Is assigned a value of 1/2. Then, the code number Code corresponding to the pair of the level value Levi and the run value Run is obtained from the first code table (see FIG. 42) according to the combination of the level value Levi and the run value Run.
  • the code number Code is converted.
  • the second code table T 2a shows the correspondence between code numbers obtained as a result of this conversion and runlevel pairs.
  • the code number code corresponding to this runlevel pair is as shown in FIG. Is converted from the value “10” shown in the first code table T1 shown in FIG. 15 to “12” shown in the second code table T2a in FIG. 15 (a).
  • the code table shown in Fig. 15 (a) has a smaller run value and a larger level value than the code table (first code table) shown in Fig. 42. It is characterized by a small code number (that is, a short code word), and is suitable when the quantization parameter QP is small.
  • FIG. 15 (b) shows, as another example of the second code table, a second code table T 2b suitable for a case where the quantization parameter QP is large.
  • This second code table T 2 b is created as follows.
  • a value of 1/2 of the run value Run is assigned as the run value Runl, and the absolute value of Runl X 2-Run is assigned to the run value Run2.
  • the run value Runl is assigned the integer part of half the value of (Run + 1).
  • the code number Code corresponding to the pair of the level value Lev and the run value Runl is obtained from the first code table (see FIG. 42) according to the combination of the level value Lev and the run value Runl.
  • the code number Code corresponding to the pair of the level value Lev and the run value Runl is determined based on the following equation (3), and when the Lev value is negative, based on the following equation (4). Converted.
  • the second code table T 2 b indicates the correspondence between the code numbers obtained as a result of this conversion and the run-level pairs.
  • the code number code corresponding to this runlevel pair is as shown in FIG. Is converted from the value "12" shown in the first code table T1 shown in FIG. 15 to "10" shown in the second code table T2b in FIG. 15 (b).
  • Runl and Run2 are calculated as follows.
  • the second code table T 2 b shown in FIG. 15 (b) has a larger run value and a smaller Revelon value than the code table (first code table) T 1 shown in FIG.
  • the feature is that smaller code numbers (ie shorter codewords) are assigned to the runlevel pairs, which is suitable when the quantization parameter QP is large.
  • FIG. 16 shows another example of the second code table created by the run-length encoder RLE2 based on the first code table.
  • the first code table is the same as the code table T1 shown in FIG. 42 and used in the conventional run-length encoder RLEOc.
  • FIG. 16 (a) shows a second code table T2c created when the number of uncoded components is three or more.
  • FIG. 16 (b) shows a second code table T2d created when the number of uncoded components is two.
  • FIG. 16 (c) shows a second code table T2e created when the number of uncoded components is one.
  • a short codeword is allocated even for the same runlevel pair.
  • a code number [7] corresponds to a run level pair having a run value [0] and a level value [4].
  • the run value [0] corresponds to the run level pair having the value [4].
  • the run value [0] corresponds to the run-level pair with the value [4].
  • FIG. 17 shows an example of an encoding order in the run-length encoder RLE2 in the image encoding device 103 according to the third embodiment.
  • the absolute value of the level value corresponding to the low frequency component is large, and in the code table, the code number code having a large value corresponds to the run level pair corresponding to the low frequency component.
  • the absolute value of the level value corresponding to the high frequency component is small, and in the code table, the code number with the small value corresponds to the run level pair corresponding to the high frequency component.
  • the improvement in compression efficiency obtained by deleting the code number (codeword) corresponding to the run level pair including the run value equal to or more than the number of uncoded components from the code table is the The larger the number of coded components is, the larger the absolute value of the level value is. .
  • the run-length encoder RLE2 encodes the quantized component
  • the absolute value of the level value is large, and the low-frequency component is encoded.
  • the quantized component is reduced from the run-level pair of the quantized component corresponding to the final non-zero high-frequency component to the low-frequency component, as indicated by the arrow XIX7 in FIG.
  • Components are rearranged in the order of the run-level pairs of the quantized components, and the frequency component with the lowest frequency is next to the codeword corresponding to the run-level pair of the quantized components. Add E0B to indicate the last component. Thereby, compression efficiency can be improved.
  • the quantization parameter QP and the VLC selection signal VlcSel are supplied to the power level change LevConv, the run change RunConv, the order rearranger ReOdr, and the number converter CodeTrans.
  • the code table can be switched according to the QP, and the content of the image (the amount of motion in the image, the complexity of the motion, and the fineness of the pattern) can be changed. Thus, an appropriate code table can be externally selected.
  • the image encoding device by switching the code table used for the encoding process according to a VLC selection signal VlcSel from the outside of the image encoding device, the image encoding device has a single encoding table and has no decoding capability. It creates a stream that can be decrypted by the device.
  • a variable length code is encoded using a code table for the quantization coefficient.
  • a run-length encoder RLE2 to be assigned the run-length encoder RLE2 creates a second code table optimized for data to be processed based on the first code table, and Based on the parameter QP or VLC selection signal VlcSel, one of the first and second code tables is selected as the code table used for allocating variable-length codes, so that redundant information existing in the data to be processed is selected. Can be removed more effectively, which can further improve the compression ratio of image signals and the like.
  • Embodiment 3 as shown in FIG. 14, various devices for improving the compression ratio, that is, the run converter RunConv, the level converter LevConv, and the order converter are used as the run-length encoder RLE2, as shown in FIG.
  • the above-described run-length encoder RLE1 may include only some of the devices for improving the compression ratio. In this case, the implementation of the run-length encoder RLE2 is simple.
  • the second code table constitutes the first code table, a part that can be regularly generated by arithmetic operation (regularly build VLC), and cannot be generated regularly. It is assumed that the correspondence between run-level pairs and code numbers in both parts (table look up VLC) has been changed, but the first code table is a part that can be regularly generated by arithmetic operation. (Regularly build VLC) and a part that cannot be generated regularly (table look up VLC), the second code table is a part of the first code table. Only the part that can be regularly generated by arithmetic operation may be converted. In this case, the implementation of the run-length encoder RLE2 becomes simpler.
  • the quantized components are variable-length encoded in order from the one corresponding to the higher frequency component.
  • the run length encoding device has been described, the run-length encoding device according to the first embodiment performs the run length and level values separately corresponding to the quantizing component of the target block by variable length encoding, as in the first embodiment. It goes without saying that in the length encoder, the run value and the level value corresponding to the quantization component of the target block may be subjected to variable-length encoding in order from the higher value and the frequency component.
  • FIG. 18 is a block diagram for explaining an image decoding apparatus according to Embodiment 4 of the present invention.
  • the image decoding device 104 of the fourth embodiment performs variable-length decoding on the coded stream StrOc in the conventional image decoding device 202 c shown in FIG. Based on the quantization parameter QP or the variable length decoding selection signal (VLD selection signal) VldSel for the encoded stream Str2 instead of the run-length decoder RLDOc that outputs the quantized quantization component DQS! It has a run-length decoder RLD2 that performs variable-length decoding and outputs a decoded quantized component DQS.
  • Other devices in the image decoding device 104 according to the fourth embodiment are the same as those in the conventional image decoding device 202c.
  • the run-length decoder RLD2 is, like the conventional run-length decoder RLDOc, a pair of a run value and a level value (hereinafter, referred to as a run-level pair) and a code corresponding thereto.
  • a run-level pair a pair of a run value and a level value (hereinafter, referred to as a run-level pair) and a code corresponding thereto.
  • Has a first code table T 1 showing the correspondence between the run values and the level values. Then, based on the first code table, the run-length decoder RLD2 regularly changes the correspondence between the pair of the run value and the level value and the code in the first code table.
  • a second code table having a different relationship from the first code table is created, and the first and second code tables are combined with a quantization parameter QP output from the quantizer Q, or One of them is selected based on a VLD selection signal VldSel from outside, and the codeword (bit string) constituting the coded stream Str2 is related to the coefficient in the data to be processed based on the selected code table.
  • VLD selection signal VldSel VLD selection signal
  • the quantization parameter QP is a parameter representing the size of the quantization step, and the quantization step is substantially proportional to the quantization parameter QP.
  • the quantization parameter QP when the quantization parameter QP is large, the absolute value of the quantized component becomes small, so that the zero run of the quantized component (the length in which the components whose values are 0 are continuously arranged) becomes long, and the level value Becomes smaller. Therefore, the coding efficiency can be improved by selecting a code table to which a code is assigned to a run level pair having a large run value and a small level value.
  • the quantization parameter QP is small, the absolute value of the quantized component becomes large, so a code table in which a small code is assigned to a run level pair with a small run value and a large level value. The selection can improve the encoding efficiency.
  • FIG. 19 is a block diagram showing a specific configuration of the run-length decoder RLD2.
  • the run-length decoder RLD2 has a variable-length decoder VLD like the conventional run-length decoder RLDOc, and the decoder VLD is a video codec of the third embodiment. It decodes the encoded stream Str2 output from the device 103 and outputs the code number ExtCode.
  • the run-length decoder RLD2 calculates a code number PrmCode corresponding to a run-level upper digit pair consisting of a level value Levi and a run value Runl from the code number ExtCode, and a level value Number inversion, ICodeTrans, which performs the number inversion processing to separate Lev2 and run value Run2 based on the above-mentioned quantization parameter QP or VLD selection signal VldSel, and a plurality of code numbers PrmCode corresponding to the processing target block And a sequence reordering unit IReOdr that outputs a plurality of code numbers Code corresponding to the blocks, having the sorted order, ing.
  • run-length decoder RLD2 obtains a run-level pair corresponding to the code number Code by a code table or arithmetic calculation, and outputs a level value Levi and a run value Runl constituting the run-level pair.
  • Run level acquisition unit RunLevDec run value Runl representing the upper digit of run value Run, and run value representing the lower digit of run value Run Run inversion for restoring Run value from Run2 value »IRunConv
  • Level value Levi indicating the upper digit of level value Lev
  • Level value Lev2 indicating the lower digit of level value Lev and level value from force Level inversion to restore Lev »Has ILevConv.
  • the run-length decoder RLD2 has an inverse zigzag scanner IScan, like the conventional run-length decoder RLDOc, and the scanner IScan is represented by a level value Lev and a run value. It converts a quantized component having a one-dimensional array into a decoded quantized component DQS having a two-dimensional array and outputs it.
  • variable-length decoder VLD the variable-length decoder VLD, run-level acquirer RunLevDec, and inverse zigzag scanner IScan are the same as those of the conventional run-length decoder RLDOc shown in Fig. 41. Is the same as
  • variable-length decoder VLD performs an operation opposite to that of the variable-length encoder VLC. That is, the variable-length decoder VLD decodes the coded stream Str2 and outputs a code number ExtCode corresponding to a codeword (bit string) constituting the stream. Inverse number change »ICodeTrans performs the opposite operation to number change» CodeTrans based on the above-mentioned quantum parameter QP or VLD selection signal VldSel, and from the code number ExtCode, the level value Levi and the run value The code number PrmCode corresponding to the run-level upper digit pair consisting of Runl is separated from the level value Lev2 and the run value Run2.
  • the order reordering device IReOdr performs the reverse operation of the order reordering device ReOdr based on the quantization parameter QP or the VLD selection signal VldSel.
  • the process of rearranging the plurality of code numbers PrmCode corresponding to the block to be processed in order from the one corresponding to the low-frequency runlevel pair is performed, and the plurality of code numbers PrmCode having the rearranged order are Is output.
  • the run level acquisition unit RunLevDec acquires a run level pair corresponding to the code number Code by a code table or arithmetic calculation, and outputs a level value Levi and a run value Runl constituting the acquired run level pair.
  • Run reverse change IRunConv performs the reverse operation of the run converter RunConv based on the quantization parameter QP. Or VLD selection signal VldSel.
  • the run value Run is restored from the run value Runl representing the digit of the run value and the run value Run2 representing the lower digit of the run value Run.
  • the level inversion ILevCorw performs an operation opposite to the level variation LevConv, and a level value Levi representing the upper digit of the level value Lev, and The level value Lev is restored from the level value Lev2 representing the lower digit of the level value Lev.
  • the number inverse transformer ICodeTrans the I-inverted reverse translator IReOdr, the run inverse transformer IRunConv, and the level inverse change »In ILevConv
  • the first parameter is determined by the quantization parameter QP or the VLD selection signal VldSel.
  • the second code table is selected, and an operation is performed based on the selected code table.
  • the inverse zigzag scanner IScan performs the reverse operation of the above zigzag scanner Scan based on the level value Lev and the run value Run, and performs a quantization having a one-dimensional array represented by the level value Lev and the run value.
  • the component is converted to a decoded quantized component DQS having a two-dimensional array and output.
  • the quantization parameter QP and the VLD selection signal VldSel are supplied to the number inverse transformer ICodeTrans, the order inverse reorderer IReOdr, the run inverse »IRunConv, and the level inverse ILevConv,
  • the code table is switched according to the quantization parameter QP, and an appropriate code table is provided from outside the image decoding device according to the characteristics of the image, that is, the amount of motion of the image, the complexity of the motion, and the fineness of the picture. You can choose.
  • the variable-length coding is performed using the code table.
  • a run-length decoder RLD2 for converting the data into quantization coefficients. The run-length decoder RLD2 converts the second best-fit data to the processing target data based on the first code table.
  • a code table is created, and based on the quantization parameter QP or VLD selection signal VldSel, a code table used for converting a variable-length code into a quantized coefficient is Since either one of the first and second code tables is selected, the decoding process corresponding to the variable-length coding process that can more effectively remove the redundancy of the information existing in the data to be processed is satisfactorily performed. be able to.
  • a run-length decoder RLD2 various devices for improving the compression ratio, that is, a number reverse converter ICodeTrans, a sequence reverse reorderer, IReOdr, run inverse change »IRunConv, and reverse level change « The one with ILevConv is shown, but the run-length decoder RLD2 has only some of the devices for improving the compression ratio It may be. In this case, the implementation of the run-length decoding device RLD2 is simple.
  • the second code table constitutes the first code table, a part that can be regularly generated by arithmetic operation (regularly build VLC), and cannot be generated regularly. It is assumed that the correspondence between run-level pairs and code numbers in both parts (table look up VLC) has been changed, but the first code table is a part that can be regularly generated by arithmetic operations. (Regularly build VLC) and a part that cannot be generated regularly (table look up VLC), the second code table is a part of the first code table. It may be one in which only the parts that can be generated by arithmetic operations are converted regularly, and in that case, the implementation of the run-length decoder RLD2 becomes simpler.
  • the encoded data of the quantized component is converted to a higher frequency component.
  • the run-length decoder performs the coding of the run value and the level value corresponding to the quantization component of the target block as in the second embodiment.
  • Run-length decoder that separately decodes the encoded data into variable-length data, the run value and level value coded data corresponding to the quantized component of the target block are variable in order from the one corresponding to the higher frequency component. Long decoding may be used.
  • FIG. 20 is a block diagram for explaining an image coding apparatus according to Embodiment 5 of the present invention.
  • the image encoding device 105 of the fifth embodiment is different from the image encoding device 103 of the third embodiment shown in FIG. 13 in that the run-length encoder RLE2 is replaced with the run-length encoder. Similar to RLE2, it is provided with a run-length encoder RLE3 that encodes run-level pairs and encodes the number of non-zero components.
  • the other devices in the image encoding device 105 of the fifth embodiment are the same as those in the image encoding device 103 of the third embodiment.
  • FIG. 21 shows a specific configuration of the run-length encoder RLE3 in the image encoding device 105.
  • the run-length encoder RLE3 of the fifth embodiment is based on an input quantization component instead of the position calculator PosClc in the run-length encoder RLE2 of the third embodiment shown in FIG. Based on the non-zero coefficient measuring device NZcount that measures the number NZnum of non-zero coefficients, and the measured number NZnum of non-zero coefficients and the run value Run measured by the run measuring device RunCal, the encoded coefficient is calculated. It has a position calculator PosClc2 for calculating the number Pos2.
  • the run-length encoder RLE3 of the fifth embodiment is different from the variable-length encoder VLC of the run-length encoder RLE2 of the third embodiment in that the output (code number) ExtCode of the number translator CodeTrans And the number NZnum of non-zero components.
  • the other configuration of the run-length encoder RLE3 is the same as that of the run-length encoder RLE2 of the third embodiment.
  • the operations of the block encoder Blk, the frequency converter Trans, and the quantizer Q of the image encoding device 105 of the fifth embodiment are the same as those of the image encoding device 103 of the third embodiment.
  • the operation of ReOdr is the run length of the third embodiment. Since it is exactly the same as that of the encoder RLE2, the following mainly describes the non-zero coefficient measuring device NZcount, the position measuring device PosCl C 2, The operation of the number converter CodeTrans and the variable length encoder VLC2 will be described.
  • the non-zero coefficient measuring device Zcount uses each block based on the quantized component QS.
  • the number NZnura of the non-zero components in the plurality of quantized components corresponding to is measured, and the number NZnum of the non-zero components is output to the position calculator PosClc2 and the variable-length encoder VLC2.
  • the position calculator PosClc2 calculates the number of coded 0 components in the target block based on the number of non-zero components NZnum from the non-zero coefficient measurement device NZcount and the run value Run from the run measurement device RunCal. Calculates the sum of the number of non-zero components and outputs the calculated value Pos2.
  • the code change CodeTrans outputs the code number ExtCode corresponding to the run level pair from the level value Lev2 and the run value Run2 based on the correspondence relationship between the run level upper digit pair and the code number ReOdrCode. At this time, the number change m3 ⁇ 4CodeTrans is used to calculate the number of uncoded components in the target block Pos2 output value calculated from the position calculator PosClc2.
  • the code number ExtCode corresponding to the run-level pair output from the number converter CodeTrans is stored in a second code table in which the correspondence between the run-level pair and the code number is different from that of the first code table. It was obtained on the basis of:
  • the second code table creates a code table in which the correspondence between the run-level pair and the code number is different from that of the first code table by the reordering process in the reordering unit ReOdr. Based on the calculated value Pos2, the code table created by the reordering unit ReOdr and the run level pairs whose run values exceed the maximum run value Run are not assigned codes based on the calculated value Pos2. Number Created by associating with ExtCode.
  • variable-length encoder VLC2 encodes the number NZnum of non-zero components and allocates a bit string (codeword) to the code number ExtCode to generate a coded stream Str3. The sign is performed.
  • variable length encoder VLC2 will be described in detail.
  • variable-length encoder VLC2 of the fifth embodiment encodes a code number ExtCode corresponding to the run-level pair of the target block.
  • the number NZnum of non-zero components of the target block is encoded before encoding the code number ExtCode of the block.
  • the number NZnum of non-zero components is encoded before encoding the code number ExtCode of the block, the number NZnura of non-zero components of the target block can be decoded first at the time of decoding.
  • the number of run level pairs corresponding to the number NZnum of 0 components is restored, it is possible to determine that the restoration of the last run level pair of the target block has been completed.
  • a special value E0B (a value transmitted after the last non-zero component) to be coded at the end of the target block required by the variable length coder VLC of the third embodiment is used. It is not required for VLC2.
  • the maximum run length (the maximum number of consecutive zero coefficients) is NBlock—from the number NZnum of non-zero coefficients of the target block. NZnum.
  • the maximum run value (maximum number of consecutive 0-coefficients) MaxRun (1) at the time the encoding of the first runlevel pair is completed is calculated using the run value FRun of the first runlevel pair of the target block. It is represented by the following equation (5).
  • MaxRun (1) NBlock— NZnum— FRun ⁇ ⁇ ⁇ (5)
  • MaxRun (i) at the time when the code of the i-th run-level pair in a block is completed is represented by the following equation (6).
  • MaxRun (i) NBlock -NZnum
  • the position calculator PosClc2 outputs the calculated value Pos2 shown by the following equation (7), and the number changes ⁇ 3 ⁇ 4 Instruct CodeTrans that the maximum run value MaxRun (i) is the value shown in equation (8).
  • Pos2 NZnum + ⁇ sum of run values from 1st to (i) th ⁇ ' ⁇ ⁇ (7)
  • MaxRun (i) NBlock-Pos2
  • the code converter CodeTrans associates the second code table with the run-level pairs whose run values exceed the maximum run value MaxRun with the code number ExtCode to which no code is assigned. Shall be. As a result, it is possible to reduce the redundancy of the coding process by assigning codes to run-level pairs that should not occur, and to improve the compression ratio.
  • a first part (regularly build VLC) that can be generated by an arithmetic operation and a regular operation
  • the second code table sets the two parts to the maximum run value with respect to the first code table.
  • the first part that can be generated by an arithmetic operation that is easy to calculate is changed to the maximum run value with respect to the first code table. It may be changed accordingly.
  • the code table is changed to the run value Run.
  • a code is assigned directly to the run-level pair whose run value Run exceeds the maximum run value MaxRun (i). You may make it switch to a thing which does not have it.
  • FIG. 24 is a diagram showing an example of a variable length code table.
  • the code table T a (FIG. 24 (a)) is a code in which the codes assigned to the smaller run values are shorter than the code table T b (FIG. 24 (b)).
  • the codes assigned to the small run values are shorter than those in the code table Tc (FIG. 24 (c)).
  • the code table T c (FIG. 24 (c)) has a shorter code than the code table T b (FIG. 24 (b)).
  • the code table T b (Fig. 24 (b)) has a shorter code length than the code table T a (Fig. 24 (a)).
  • the code table Ta in FIG. 24 (a) is used, and when the maximum run value MaxRun is large, the code table Tc in FIG. 24 (c) is used. If the value is an intermediate value, it is better to select and use the code table Tb in Fig. 24 (b).
  • the variable length is obtained by using a code table for the quantized coefficient.
  • a run length encoder RLE3 for allocating codes In the target block to be subjected to the encoding process, the number of processed coefficients subjected to the encoding process and the number of the uncoded non-zero coefficients not subjected to the encoding process in the target block. In other words, according to the sum of the number of non-zero coefficients of the target block and the number of processed run values of the target block, a code table excluding run-level pairs that are unlikely to appear is selected. Therefore, there is an effect that the variable-length coding efficiency can be improved.
  • the number of non-zero components in a target block is determined in an encoder that performs variable-length encoding on a quantized component of each block using a run-level pair.
  • the run-length encoder separately performs variable-length encoding of the run value and the level value for the quantized component of each block as in the first embodiment.
  • the encoder may encode the number NZnum of non-zero components of the target block. In this case, the maximum run value in the target block can be obtained by subtracting the number NZnum of the non-zero components from the number of all components in the target block.
  • FIG. 22 is a block diagram for explaining an image decoding apparatus according to Embodiment 6 of the present invention.
  • the image decoding apparatus 106 of the sixth embodiment is different from the image decoding apparatus 104 of the fourth embodiment shown in FIG.
  • a run-length decoder RLD3 for restoring the number of run-level pairs and non-zero components for each block by data decoding processing.
  • Other devices in the image decoding device 106 of the sixth embodiment are the same as those in the image decoding device 104 of the fourth embodiment.
  • FIG. 23 shows a specific configuration of the run-length decoder RLD3 in the image decoding device 106.
  • the run-length decoder RLD3 of the sixth embodiment is different from the run-length decoder RLD2 of the fourth embodiment shown in FIG. 19 in that the position calculator PosClc is used instead of the position calculator PosClc. Based on the number of run values that have been processed and the number NZnum of non-zero coefficients in the target block, the sum of the numbers Pos2 is calculated. It is equipped with a computer P 0S Clc2.
  • variable-length decoder VLD2 of the run-length decoder RLDS of the sixth embodiment differs from the variable-length code decoder VLD of the run-length decoder RLD2 of the fourth embodiment in that the code number ExtCode In addition to the decoding process for restoring the number NZnum, the decoding process for restoring the number NZnum of encoded non-zero components is performed.
  • the operations of the inverse quantizer IQ, the inverse frequency converter ITrans, and the inverse blocker DeBlk of the image decoding device 106 of the sixth embodiment are the same as those of the image decoding device 104 of the fourth embodiment.
  • devices other than the variable length decoder VLD2, the position measuring device PosClc2, and the number reverse converter ICodeTrans of the run-length decoder RLD3 of the sixth embodiment that is, the order reordering device IReOdr
  • the operation of the run level acquisition unit RmiLevDec, level inverse converter ILevConv, run inverse converter IRunConv, and inverse zigzag scan unit IScan is exactly the same as that of the run-length decoder RLD2 of the fourth embodiment.
  • the variable length decoder VLD2, the position measuring instrument Po S Clc2 and the operation of the number inverse variable «ICodeTrans will be described.
  • the variable length decoder VLD2 decodes the coded stream Str3 and outputs a code number ExtCode corresponding to a codeword (bit string) constituting the stream.
  • the number inverse transformer ICodeTrans converts the number based on at least one of the quantization parameter QP and the VLD selection signal VldSel, and the sum Pos2 of the number of decoded coefficients and the number of undecoded non-zero coefficients.
  • Performs the reverse operation of CodeTrans to separate the code number ExtCode from the code number PrmCode corresponding to the run-level upper digit pair consisting of the level value Levi and the run value Runl, and the level value Lev2 and the run value Run2.
  • the order reverse translator]: Re0dr, the run level acquisition unit RunLevDec, the run inverse transformer IRunConv, the level inverse transformer ILevConv, and the inverse zigzag scanner IScan perform the same operations as those in the fourth embodiment.
  • variable length decoder VLD2 will be described in detail.
  • variable-length decoder VLD2 of the sixth embodiment not only decodes the code number ExtCode corresponding to the run-level pair but also decodes the target block.
  • the number NZnum of encoded non-zero components is decoded. If the number NZnum of non-zero components can be obtained by decoding, it is determined that the NZnum runlevel pair is the last runlevel pair of the target block when the NZnum runlevel pairs are decoded. it can. As a result, the value E0B to be coded at the end of the target block, which is necessary for the variable length decoder VLD, is not required for the variable length decoder VLD2.
  • the maximum run value (maximum continuous number of zero coefficients) is calculated from the number NZnum of non-zero coefficients of the target block. NBlock — NZnum. Also, the maximum run value (maximum number of consecutive 0 coefficients) MaxRun (l) at the time when decoding to restore the first run-level pair is performed is calculated as (NBlock-NZnum — FRun). In general, the maximum run value MaxRun (i) at the time when decoding is performed to restore the i-th run-level pair in a block is as follows:
  • MaxRun (i) NBlock-NZnum- ⁇ sum of run values from 1st to (i) th ⁇ .
  • Inversion of number »ICodeTrans obtains the code number ExtCode corresponding to the code by using a code table in which the code is not assigned to the code number corresponding to the run level pair whose run value exceeds the maximum run value Run. Codes assigned to code numbers can be decoded by code assignment that avoids code assignment to run-level pairs that should not occur.
  • the first and second code tables can be regularly generated as a first part (regularly build VLC) that can be generated by arithmetic operation. If a variable length code table composed of a second part (table look up VLC) is not used, the second code table is used in accordance with the maximum run value for both parts with respect to the first code table. Although the second code table may be changed, only the first part that can be generated by an arithmetic operation that is easy to operate is changed with respect to the first code table according to the maximum run value. It may be a thing.
  • variable-length code table may be replaced by, for example, a code table T a shown in FIG. 24 (a), a code table T b shown in FIG. 24 (b), Alternatively, it may be directly switched to the code table Tc shown in FIG. 24 (c).
  • the code table Ta in Fig. 24 (a) is used. If the maximum run value MaxRun is large, the code table Tc in Fig. 24 (c) is used. If MaxRun is an intermediate value, it is better to select and use the code table Tb in Fig. 24 (b).
  • the variable length A run-length decoder RLD3 that obtains a quantized coefficient corresponding to the code using a code table, and the run-length decoder RLD3 performs a processed coefficient of the target block, which has been subjected to a decoding process. Is selected according to the sum of the number of non-decoding non-decoded non-decoded coefficients in the target block and the undecoded non-zero coefficients. Therefore, decoding processing corresponding to variable-length coding processing that can more effectively remove redundant information existing in quantization coefficients to be processed can be performed well.
  • the run-length decoder performs variable-length decoding on the quantized component of each block using a run-level pair.
  • the run-length decoder uses, for example, the run value and level corresponding to the quantized component of each block as in the second embodiment.
  • the number NZnum of encoded non-zero components of the target block may be decoded.
  • NZnum level values are decoded At this point, it can be determined that the NZnum-th level value is the last level value of the target block.
  • a method using a VLC table is used as a method for performing variable length coding (decoding) of a coefficient such as a quantized component, and the process in which the coding (decoding) process is performed.
  • the VLC table is switched in accordance with at least one of the information on the used coefficient and the parameter on the generation of the coefficient, the variable length coding (decoding) of the coefficient such as the quantized component of the present invention is performed.
  • the method is not limited to using the VLC table.
  • the method of performing variable length coding on the quantization component according to the first, third, and fifth embodiments is a variable length coding method that does not use the VLC table, and includes information on the processed coefficient and the coefficient.
  • the code table corresponding to the VLC table may be switched according to at least one of the parameters relating to the generation of the VLC. Also, the method of Embodiments 2, 4, and 6 for performing variable-length decoding on the encoded data of the quantized component is a variable-length decoding method that does not use the VLC table. The code table corresponding to the VLC table may be switched according to at least one of the information and the parameter related to the generation of the coefficient.
  • the image encoding device that performs the variable length encoding process or the image decoding device that performs the variable length decoding process is realized by hardware. May be realized by software.
  • the program for performing the variable-length encoding process or the variable-length decoding process described in each of the above embodiments is recorded on a data storage medium such as a flexible disk, so that the image encoding is performed.
  • the device or the image decoding device can be easily realized in an independent computer system.
  • FIG. 25 is a diagram for explaining a computer system that performs the variable-length encoding processing in the first, third, and fifth embodiments or the variable-length decoding processing in the second, fourth, and sixth embodiments.
  • Fig. 25 (a) shows the front view of the flexible disk, which is the storage medium for the program used in the computer system, the cross-sectional structure, and the main body of the flexible disk. An example of the physical format of the flexible disk body is shown.
  • the flexi-nople disk FD has the above-mentioned disk body D built in a case F, and a plurality of tracks Tr are formed concentrically from the outer circumference to the inner circumference on the surface of the disk body D. Each track is angularly divided into 16 sectors Se. Therefore, in the flexible disk FD storing the above-described program, a program for performing the above-described variable-length encoding process or variable-length decoding process is recorded in a storage area allocated on the disk body D.
  • FIG. 25 (c) shows a configuration for recording and reproducing the program on a flexible disk FD.
  • the program is written from the computer system Cs to the flexible disk FD via the flexible disk drive.
  • the program is read from the flexible disk by a flexible disk drive and transferred to the computer system. I do.
  • a flexible disk is shown as a recording medium for recording a program for performing the variable-length encoding process or the variable-length decoding process.
  • the variable length coding process or the variable length decoding process by software can be performed.
  • the recording medium is not limited to these, and any recording medium such as a CD-R0M, a memory card, a ROM cassette, or the like can be used as long as the program can be recorded.
  • the computer system can perform variable-length coding or variable-length decoding.
  • FIG. 26 is a block diagram showing an overall configuration of a content supply system 110 that realizes a content distribution service.
  • the communication service providing area is divided into areas (cells) of a desired size, and base stations 1101 to 110, which are fixed wireless stations, are installed in each cell.
  • a computer 1 1 1 1 is connected to the Internet 110 1 via an Internet service provider 1 102, a telephone network 1 104, and base stations 1 107 to 1 110.
  • Each device is connected, such as a personal digital assistant (PDA) 111, a camera 111, a mobile phone 111, and a mobile phone 200 with a camera.
  • PDA personal digital assistant
  • the content supply system 1100 is not limited to a system including all of the plurality of devices illustrated in FIG. 26, and may include a part of the plurality of devices illustrated in FIG. . Further, each device may be directly connected to the telephone network 1104 without passing through the base stations 1107-1110, which are fixed wireless stations.
  • the camera 111 is a device such as a digital video camera capable of shooting moving images.
  • mobile phones use PDC (Personal Digital Communications), CDMA (Code Division Multiple Access), W-CDMA (Wideband-Code Division Multiple Access), or GSM (Global System for Mobile Communications). It is a speech machine, a PHS (Personal Handyphone System), or the like, and any type may be used.
  • PDC Personal Digital Communications
  • CDMA Code Division Multiple Access
  • W-CDMA Wideband-Code Division Multiple Access
  • GSM Global System for Mobile Communications
  • PHS Personal Handyphone System
  • the streaming server 1103 is connected to the camera 111 via the base station 110 and the telephone network 1104.
  • the user transmits using the camera 111 Live distribution, etc., based on encoded data is possible.
  • the encoding process of the photographed data may be performed by the camera 111 or the server that performs the data transmission process.
  • moving image data obtained by capturing a moving image with the camera 111 may be transmitted to the streaming server 113 via the computer 111.
  • the camera 111 is a device such as a digital camera that can shoot still images and moving images.
  • the encoding of the moving image data can be performed by either the camera 1 1 1 1 6 or the computer 1 1 1 1 1.
  • the encoding process is performed by the LS 1 1 1 1 7 of the computer 1 1 1 1 and the camera 1 1 1 6 Will be.
  • the software for image coding and decoding should be stored on a storage medium (CD-ROM, flexible disk, hard disk, etc.) that is a recording medium that can be read by a computer, etc. It may be. Further, the moving image data may be transmitted by a camera-equipped mobile phone 1200. This moving image data is data that has been subjected to encoding by the LSI included in the mobile phone 1200.
  • the content (for example, a video image of a live music) taken by the user with the camera 1113, camera 1116, or the like is transmitted from the camera in the same manner as in the above embodiment.
  • the content data is transmitted to the streaming server 1103, and the streaming server 1103 distributes the content data to the requested client in a stream.
  • Examples of the client include a computer 111, a PDA 111, a camera 111, a mobile phone 111, and the like, which can decode the encoded data.
  • the encoded data can be received and reproduced on the client side, and further, received and decrypted in real time on the client side and reproduced. By doing so, personal broadcasting can be realized.
  • the encoding and decoding of each device constituting this system may be performed using the image encoding device or the image decoding device described in each of the above embodiments.
  • a mobile phone will be described as an example.
  • FIG. 27 is a diagram showing a mobile phone 1200 using the image encoding method and the image decoding method described in the above embodiment.
  • the mobile phone 1200 has an antenna 1201 for transmitting and receiving radio waves to and from the base station 111, and a camera unit 1200 capable of photographing images and still images of a CCD camera or the like. 3 and a display unit 122 such as a liquid crystal display for displaying data such as a video taken by the camera unit 123 and a video received by the antenna 122.
  • a display unit 122 such as a liquid crystal display for displaying data such as a video taken by the camera unit 123 and a video received by the antenna 122.
  • the mobile phone 1200 has a main body section 204 to which a plurality of operation keys are attached, an audio output section 128 such as a speaker for outputting audio, and an audio input section. Audio input unit such as a microphone, etc. Data, received mail data, video data or still image data, etc., a recording medium for storing encoded data or decoded data, and a mobile phone.
  • a slot section 1206 is provided so that the recording medium 1207 can be mounted in the 12000.
  • the recording medium 127 is a type of flash memory that is a kind of EEPROM (Electrically Erasable and Programmable Read Only Memory) that is a nonvolatile memory that can be electrically rewritten and erased in a plastic case such as an SD card. It is a storage of elements.
  • EEPROM Electrically Erasable and Programmable Read Only Memory
  • the mobile phone 1200 has a main control unit 1241 that integrally controls each unit of the main unit including the display unit 122 and the operation keys 122.
  • the mobile phone 1200 has a power supply circuit section 124, an operation input control section 123, an image encoding section 122, a camera interface section 123, an LCD (Liquid (Crystal Display) control unit 1 2 3 2, image decoding unit 1 2 3 9, demultiplexing unit 1 2 3 8, recording / reproducing unit 1 2 3 7, modulation / demodulation circuit unit 1 2 3 6, and audio processing unit 1 2 3 It has five.
  • Each unit of the mobile phone 1200 is connected to each other via a synchronous bus 125.
  • the power supply circuit unit 1204 supplies the power of the battery pack to each unit when the call end and the power key are turned on by a user operation, so that the digital mobile phone with camera 12 00 Is activated.
  • the operation of each unit is performed under the control of the main control unit 1241, which includes a CPU, a ROM, a RAM, and the like. That is, in the cellular phone 1200, a voice signal obtained by voice input to the voice input unit 125 in the voice call mode is converted into digital voice data by the voice processing unit 125.
  • the digital voice data is subjected to spectrum spread processing in the modulation and demodulation circuit section 123, further subjected to digital-to-analog conversion processing and frequency conversion processing in the transmission and reception circuit section 1231, and the antenna 1221 is processed. Sent through.
  • the received signal received by the antenna 121 in the voice communication mode is amplified and subjected to frequency conversion processing and analog-to-digital conversion processing. Is done.
  • the received signal is further subjected to spectrum despreading processing in a modulation / demodulation circuit section 123, converted into an analog audio signal by an audio processing section 125, and this signal is transmitted through an audio output section 128. Output.
  • the text data of the e-mail input by operating the operation keys 122 of the main body of the cellular phone 1200 is transmitted to the operation input control unit 123. It is sent to the main controller 1 2 4 1 via 4.
  • the main control unit 1241 performs the spectrum spreading process on the text data in the modulation and demodulation circuit unit 123, and performs the digital-analog conversion process and the frequency conversion process on the transmission and reception circuit unit 123. After that, each unit is controlled so that the signal is transmitted to the base station 111 via the antenna 121.
  • the image data picked up by the camera unit 123 is transmitted to the image coding unit 124 via the camera interface unit 123. Supplied to 2. If the mobile phone 1200 does not transmit image data! In such a case, the image data obtained by the image capturing by the camera unit 123 is transferred to the camera interface unit 123 and LCD control. It is also possible to directly display on the display section 122 via the section 123.
  • the image encoding unit 1242 includes the image encoding device described in each of the above embodiments.
  • the image encoding unit 1242 converts the image data supplied from the camera unit 123 into encoded image data by performing compression encoding according to the image encoding method of the above embodiment. Then, it is sent to the demultiplexing unit 123. Also, at the same time, the mobile phone 1200 converts the audio input to the audio input unit 1205 into a digital audio via the audio processing unit 1235 while the camera unit 1203 captures the image. The data is sent to the demultiplexer 123 as data.
  • the demultiplexer 1 2 3 8 multiplexes the coded image data supplied from the image encoder 1 242 and the audio data supplied from the audio processor 1 235 by a predetermined method. .
  • the resulting multiplexed data is subjected to spread spectrum processing in the modulation and demodulation circuit section 123, further subjected to digital analog conversion processing and frequency conversion processing in the transmission and reception circuit section 123, Sent over 1 2 0 1.
  • the mobile phone 12000 links to a homepage etc. in data communication mode.
  • the received signal received from the base station 111 through the antenna 121 is subjected to spectrum inverse spread processing by the modem circuit part 12636.
  • the multiplexed data obtained as a result is sent to the demultiplexing unit 128.
  • the multiplex separation unit 12838 separates the multiplexed data to form a coded bit stream of the image data. And an encoded bit stream of audio data.
  • the encoded image data is supplied to an image decoding unit 123 via a synchronous bus 125 and the audio data is sent to an audio processing unit 123.
  • the image decoding unit 12239 is provided with the image decoding device according to the embodiment of the present invention.
  • the image decoding unit 1 239 can reproduce the moving image data by decoding the encoded bit stream of the image data by the decoding method corresponding to the encoding method according to the embodiment of the present invention described above. Is generated and supplied to the display unit 122 via the LCD control unit 123. Thereby, for example, moving image data included in a moving image file linked to a homepage is displayed.
  • the audio processing unit 1235 also converts the audio data into an analog audio signal, and then supplies the analog audio signal to the audio output unit 1208.
  • audio data included in a moving image file linked to a homepage is reproduced.
  • the system to which the image encoding method and the image decoding method according to each of the embodiments of the present invention described above can be applied is not limited to the example of the content supply system.
  • the image encoding device or the image decoding device according to the above embodiment can be applied to a digital broadcasting system as shown in FIG. It is possible.
  • a broadcast station 1409 transmits a coded bit stream of video information to a satellite 14010 such as a communication satellite or a broadcast satellite by wireless communication.
  • a satellite 14010 such as a communication satellite or a broadcast satellite by wireless communication.
  • the broadcasting satellite 1410 receives the above-mentioned (the coded information bit stream of the elephant information)
  • a radio wave for broadcasting is output, and this radio wave is received by a home antenna 1446 having satellite broadcasting receiving equipment.
  • TV (receiver) 1441 or set-top box (S In a device such as TB) 147 the coded bit stream is decoded and the video information is reproduced.
  • the playback device 1443 that reads an encoded bit stream recorded on a storage medium 144 such as a CD or a DVD, which is a recording medium, and decodes the encoded bit stream is also provided with the image decoding described in the above embodiment. It is possible to implement the device.
  • the reproduced video signal is displayed on the monitor 144.
  • an image decoding device is mounted in a set-top box 144 connected to a cable for cable TV or an antenna for satellite / terrestrial broadcasting, and the image decoding is performed.
  • the image decoding device may be incorporated in the TV instead of the set-top box.
  • the vehicle 14 12 having the antenna 14 11 receives a signal from the satellite 14 11 or the base station 11 07, etc., and receives a signal from the car navigation system 14 mounted on the vehicle 14 12. It is also possible to reproduce a moving image on a display device such as 13.
  • an image signal can be encoded by the image encoding device described in the above embodiment and recorded on a recording medium.
  • the recording device examples include a DVD recorder that records an image signal on a DVD disk 1442 and a recorder 144 such as a disk recorder that records an image signal on a hard disk. Further, the image signal can be recorded on the SD card 144 2. Further, if the recorder 144 is equipped with the image decoding device shown in the above embodiment, the image recorded on the DVD disk 144 or the SD card 144 by the recorder 140 is also possible. The signal can be reproduced and displayed on the monitor 144.
  • the configuration of the car navigation system 14 13 includes, for example, the camera unit 120 3, the camera interface unit 123, and the image encoding unit 122 in the configuration of the mobile phone shown in FIG. It is conceivable that there is a part other than 42, and the same is conceivable for the combination of the computer 111 and the television (receiver) 1441.
  • terminals such as the above-mentioned mobile phones 111 and 114 include, in addition to a transmitting / receiving terminal having both an encoder and a decoder, a transmitting terminal having only an encoder and a receiving terminal having only a decoder.
  • a transmitting terminal having only an encoder and a receiving terminal having only a decoder.
  • the image encoding method or the image decoding method shown in the above embodiment Can be used for any of the devices and systems described above, and by doing so, the effects described in the above embodiments can be obtained.
  • the redundant information included in the coefficient data to be subjected to the variable length coding Characteristic The coefficient is effectively removed by selecting a code table according to the situation of the encoding process for the coefficient, thereby greatly improving the encoding efficiency of the variable-length encoding process for an image signal or the like. This is useful in data processing for transmitting or storing moving image data.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)

Description

明 細 書 可変長符号化方法および可変長復号化方法 技術分野
本発明は、 可変長符号ィ匕方法及び可変長復号ィ匕方法に関し、 特に、 画像データ の周波数成分を量子化して得られた複数の係数 (量子化係数) を可変長符号ィ匕処 理により符号化データに変換する方法、 及び該符号化データを可変長復号ィ匕処理 により複数の係数に復元する方法に関するものである。 背景技術
近年、 音声, 画像, その他の情報を統合的に扱うマルチメディア時代を迎え、 従来からの情報メディア, つまり新聞, 雑誌, テレビ, ラジオ, 電話等の情報を 人に伝達する手段が、 マルチメディアの対象として取り上げられるようになって きた。 一般に、 マルチメディアとは、 文字だけでなく、 図形、 音声、 特に画像等 を同時に関連付けて表すことをいうが、 上記従来の情報メディアをマルチメディ ァの対象とするには、 その情報をディジタル形式にして表すことが必須条件とな る。
ところが、 上記各情報メディァで极う情報量をディジタル情報量として見積も つてみると、 文字の場合 1文字当たりの情報量は 1〜 2バイトであるのに対し、 音声の場合 1秒当たり 64kbits (電話品質) 、 さらに動画については 1秒当たり lOOMbits (現行テレビ受信品質) 以上の情報量が必要となり、 上記情報メディア でその膨大な情報をディジタル形式でそのまま扱うことは現実的では無い。 例え ば、 テレビ電話は、 64kbps〜l. 5Mbps の伝送速度を持つサービス総合ディジタル 網 (ISDN: Integrated Services Digital Network) によってすでに実用化されて いる力 大きな情報量を有するテレビカメラの出力映像をそのまま ISDNで送るこ とは不可能である。
そこで、 必要となってくるのが情報の圧縮技術であり、 例えば、 テレビ電話の 場合、 ITU-T (国際電気通信連合 電気通信標準化部門)で国際標準化された H. 261 や H. 263規格の動画圧縮技術が用いられている。 また、 MPEG-1規格の情報圧縮技 術によると、 通常の音楽用 C D (コンパクトディスク) に音声情報とともに画像 情報を入れることも可能となる。
ここで、 MPEG (Moving Picture Experts Group) とは、 動画像信号のデジタノレ 圧縮に関する国際規格であり、 MPEG-1は、動画像信号を 1. 5Mbpsまで、つまりテ レビ信号の情報を約 100分の 1にまで圧縮する規格である。 また、 MPEG- 1規格を 対象とする伝送速度が主として約 1. 5Mbpsに制限されていることから、 さらなる 高画質化の要求をみたすべく規格化された MPEG-2 では、 動画像信号が 2〜1 5 Mbpsに圧縮される。
さらに現状では、 MPEG- 1, MPEG-2と標準化を進めてきた作業グループ(IS0/IEC JTC1/SC29/WG11) によって、 より圧縮率が高い MPEG - 4が規格化された。 MPEG - 4 では、 当初、 低ビットレートで効率の高い符号化が可能になるだけでなく、 伝送 路誤りが発生しても主観的な画質劣ィ匕を小さくできる強力な誤り耐性技術も導入 されている。また、 ITU-Tでは次世代画像符号化方式として、 H. 26Lの標準化活動 が進んでおり、 現時点ではテストモデル 8 (TML8) と呼ばれる符号化方式が最新 である。
第 3 0図は従来の画像符号化装置を示すプロック図である。
この画像符号化装置 2 0 1 aは、 入力された画像信号 Vinを一定数の画素から なる単位領域 (ブロック) に対応するようブロック化し、 ブロック化された画像 信号 BlkSを出力するプロック化器 Blkと、 その出力 BlkSを周波数変換して、 各 プロックに対応する周波数成分 TransSを出力する周波数変換器 Transとを有して いる。 ここで、 上記プロックは、 画像信号の符号ィ匕処理の単位となる、 ピクチャ
(画像空間) 内の所定サイズの領域であり、 一定数の画素から構成されている。 ここで、 画像信号 V inは、複数のピクチャからなる動画像に対応するものである。 また、 上記画像符号化装置 2 0 1 aは、 該周波数変換器の出力 (周波数成分) TransSを量子ィ匕して、各ブロックに対応する量子化成分(量子化係数) QSを出力 する量子化器 Qと、 該量子化器の出力 (量子化成分) QSに対して可変長符号化処 理を施す符号化器 RLEOaとを有している。
次に動作について説明する。 上記画像符号化装置 2 0 1 aに画像信号 Vinが入力されると、ブロック化器 Blk は、 入力された画像信号 Vinをプロック単位の画像信号に分割して、 各プロック に対応する画像信号(プロック化画像信号) BlkSを生成する。周波数変 Trans は該ブロック化画像信号 BlkSを DCT (離散コサイン変換)やウエーブレツト変換 などを用いて周波数成分 TransSに変換する。 量子化器 Qは該周波数成分 TransS を量子ィ匕パラメータ QPに基づいて、所定の量子化ステップでもって量子化して量 子化成分 QSを出力するとともに、 該量子ィヒパラメータ QPを出力する。 そして、 符号化器 RLEOaは上記量子化成分 QSに対して可変長符号化処理を施して符号化ス トリーム StrOaを出力する。
第 3 1図は上記画像符号化装置 2 0 1 aを構成する符号化器 RLEOaを説明する ためのプロック図である。
この符号化器 RLEOaは、 2次元の配列を有する量子化器 Qの出力(量子化成分) QSを 1次元の配列 (つまり、 所定の順序) を有する量子化成分 Coef に変換する ジグザグスキャン器 Scanと、 該ジグザグスキャン器 Scanから出力される量子化 成分 Coef に対して可変長符号化処理を施す可変長符号化器 VLCとを有して ヽる。 このような符号化器 RLEOaに量子化器 Qから出力された量子ィ匕成分 QSが入力さ れると、ジグザグスキャン器 Scanは、上記量子化器 Q力、らの 2次元の配列を有す る量子化成分 QSを 1次元の配列 (所定の順序) を有する量子化成分 Coefに変換 して出力する。
第 4 3図は上記ジグザグスキャン器 Scanでの量子化成分 QSの変換処理を具体 的に説明するための図である。
量子化器 Qから出力された量子化成分 QSは、第 4 3図に示すように、 2次元の 配列、 つまり、 各量子化成分 QSが、 2次元の周波数領域 Fr上にて、 その水平方 向の周波数の高さ及び垂直方向の周波数の高さに応じてマトリクス状に並ぶ配列 を有している。
ジグザグスキャン器 Scanは、 このように 2次元の配列を有する量子化成分 QS を、 矢印 Y 1〜Y 7で示すように、 ジグザグにスキャンする処理を行って、 1次 元の配列を有する量子化成分 Coefに変換する。つまりこのスキャン処理により、 2次元の配列を有する複数の量子化成分 QSに対して、上記スキヤン経路に沿った 所定の順序が設定される。
そして、 上記可変長符号化器 VLCは、 上記量子化成分の大きさを示す数値と符 号(符号語) との対応を示す符号表を用いて、ジグザグスキャン器 Scanから出力 された量子化成分 Coef に符号を割り当て、 各プロック毎に量子化成分を符号化 ストリーム StrOaに変換する。
第 3 2図は、 第 3 0図に示す画像符号化装置 2 0 1 aに対応する画像複号化装 置 2 0 2 aを説明するためのプロック図である。
この画像復号化装置 2 0 2 aは、 第 3 0図に示す従来の画像符号化装置 2 0 1 aから出力された符号ィヒストリーム StrOaを復号化するものである。
この画像復号化装置 2 0 2 aは、 上記画像符号化装置 2 0 1 aから出力された 符号化ストリーム StrOaに対して復号化処理を施す復号化器 RLDOaと、 該復号ィ匕 器 RLDOaの出力 (復号量子化成分) DQSに対して逆量子化処理を施す逆量子化器 IQとを有している。
また、該画像複号化装置 2 0 2 aは、該逆量子化器 IQの出力(復号周波数成分) ITransSに対して逆周波数変換処理を施す逆周波数変 « ITransと、該逆周波数 変換器 ITransの出力 (復号ブロック化画像信号) DBlkSに基づいて、各ピクチャ に対応する復号画像信号 Voutを生成する逆プロック化器 DeBlkとを有している。 次に動作について説明する。
上記画像復号化装置 2 0 2 aに上記画像符号化装置 2 0 1 aからの符号化スト リーム StrOaが入力されると、 上記復号化器 RLDOaは、 符号化ストリーム StrOa に対して複号化処理を施して復号量子化成分 DQSを出力する。この複号化器 RLDOa の動作は、 上記符号化器 RLEOaの動作とは逆の動作である。
さらに、 逆量子化器 IQは、 量子化器 Qの逆の動作、 つまり復号量子化成分 DQS を量子化パラメータ QP を参照して逆量子化する動作を行って、 復号周波数成分 ITransSを出力する。 また、 逆周波数変換器 ITransは、 周波数変換器 Transの逆 動作、 つまり復号周波数成分 ITransSを逆 DCTや逆ウェーブレツト変換などを用 いて各プロックに対応する復号画像信号 DBlkSに復元する動作を行う。 そして、 逆ブロックィ匕器 DeBlkは、 上記各プロックの復号画像信号 DBlkSを統合して各ピ クチャに対応する復号画像信号 Voutを出力する。 第 3 3図は上記画像復号ィ匕装置 2 0 2 aを構成する複号化器 RLDOaを説明する ためのブロック図である。
この復号化器 RLDOaは、 符号化ストリーム StrOaに対して可変長復号化処理を 施して、 符号化ストリーム StrOa に含まれる個々の符号に対応する量子化成分 Coef を復号化する可変長復号化器 VLDと、該可変長復号化器 VLDから出力された、 1次元の配列を有する復号量子化成分 Coefから、 2次元の配列を有する復号量子 化成分 DQSを復元する逆ジグザグスキャン器 IScanとを有している。
このような復号化器 RLDOaでは、 可変長復号化器 VLDは可変長符号化器 VLCと は逆の動作により、 符号ィ匕ストリーム StrOaを復号ィ匕して、 符号 (符号語) に対 応する量子化成分 Coef を出力する。そして、逆ジグザグスキャン器 IScanはジグ ザダスキャン器 Scanとは逆の動作により、上記可変長復号化器 VLDから出力され た 1次元の配列を有する量子化成分 Coef を、 2次元の配列を有する復号量子化成 分 DQSに復元し、 上記逆量子化器 IQに出力する。
なお、特開平 6- 311534号公報には、画像信号を輝度信号と色差信号に分けて可 変長符号化処理を施す方法が開示されている。
ところで、 上記各ブロックに対応する、 一定の順序が設定された複数の量子化 係数は、 その値が 0でない係数 (非 0係数) の後に、 その値が 0である係数 (0 係数) が複数連続するといった冗長性の高いデータである。 そこで、 このような 量子化係数の符号化には、従来から、その冗長な情報を排除して符号化する方法、 例えば、 連続する 0係数の個数を示すラン値と、 0係数の後に続く非 0係数の値 を示すレベル値を用いて量子化係数を符号化するランレングス符号ィ匕方法が用い られている。
以下、 ランレングス符号化方法を用いた従来の画像符号ィ匕装置について説明す る。
第 3 4図はランレングス符号ィ匕を行う従来の画像符号化装置を示すブロック図 である。
この画像符号化装置 2 0 1 bは、 第 3 0図に示す画像符号化装置 2 0 1 aにお ける符号化器 RLEOaに代えて、 量子化器 Qの出力 (量子化成分) QSに対してラン レングス符号化を施して符号化ストリーム StrObを出力- 器 RLEObを備えたものであり、 その他の構成は、 上記画像符号化装置 2 0 1 aと 同一である。
また、 画像符号化装置 2 0 1 bの動作は、 上記符号化器 RLEObの動作のみ、 上 記画像符号化装置 2 0 1 aのものと異なる。
第 3 5図は上記画像符号化装置 2 0 1 bの符号化器 RLEObの具体的な構成を示 すブロック図である。
このランレングス符号化器 RLEObは、 上記符号化器 RLEOaと同様、 2次元の配 列を有する量子化器 Qの出力 (量子化成分) QSを 1次元の配列 (つまり、所定の 順序) を有する量子ィヒ成分 Coefに変換するジグザグスキャン器 Scanを有してい る。
そして、 このランレングス符号化器 RLEObは、 連続する、 その値が 0である量 子化成分 (0係数) Coef の個数を計測して、該連続する 0係数の個数を示すラン 値 Runを出力するラン計測器 RimCalと、該 0係数に続く、その値が 0でない量子 化成分 Coef (非 0係数) の値を計測して、該非 0係数の値を示すレベル値 Levを 出力するレベル計測器 LevCalとを有している。
さらに、このランレングス符号化器 RLEObは、上記レベル計測器 LevCalの出力 であるレベル値 Levに可変長符号化処理を施して符号列 (レベル値符号列) LStr を出力する可変長符号化器 LevVLCと、 上記ラン計測器 RunCalの出力であるラン 値 Rimに可変長符号化処理を施して符号列 (ラン値符号列) RStrを出力する可変 長符号化器 RunVLCと、上記レベル値符号列 LStrとラン値符号列 RStrとをブロッ ク毎に多重化して多重符号化ストリーム StrObを出力する多重化器 MUXとを有し ている。
次に動作について説明する。
ジグザグスキャン器 Scanは、上記量子化器 Qから出力された 2次元の配列を有 する量子化成分 QSを 1次元の配列 (所定の順序) を有する量子化成分 Coefに変 換して出力する。上記ジグザグスキャン器 Scanでの量子化成分 QSの変換処理は、 上記画像符号化装置 2 0 1 aの符号化器 RLEOaのものと同様に行われる。
そして、 上記ラン計測器 RunCalは、 上記ジグザグスキャン器 Scanから出力さ れた量子化成分 Coefに基づいて、連続する 0係数の個数を計測し、該個数を示す P T/JP02/12232
7 ラン値 Runを出力する。また、上記レベル計測器 LevCalは、上記ジグザダスキヤ ン器 Scanから出力された量子化成分 Coef に基づいて、 上記連続する 0係数に続 く非 0係数の値を計測し、 この値を示すレベル値 Levを出力する。
ここで、上記ラン計測器 RunCalは、処理対象となっている対象ブロックにおけ る最高周波数成分(非 0係数のうちで最後のもの) を検出したとき、 E0B (プロッ クの最後) という特別な値を発生して、 それ以降のより高い周波数成分はその値 が全て 0であることを通知する。
さらに、 上記可変長符号化器 RunVLCは、 上記ラン計測器 RunCalの出力である ラン値 Runに対して、符号表もしくは算術計算によって該ラン値に符号(符号語) を割り当てる可変長符号化処理を施して符号列 RStrを出力し、また、上記可変長 符号化器 LevVLCは、 上記レベル計測器 LevCalの出力であるレベル値 Levに対し て符号表もしくは算術計算によって該レベル値に符号 (符号語) を割り当てる可 変長符号ィヒ処理を施して符号列 LStrを出力する。
そして、 多重化器 MUXは、 上記符号列 LStrと符号列 RStrとをブロック毎に多 重化して多重符号化ストリーム StrObを出力する。
ここで、 上記符号列 LStrと符号列 RStrとの多重ィ匕処理は、 例えば、 ブロック 毎に、対象プロックに対応するすべてのラン値に対する符号列 RStrの後に該対象 プロックに対応するすべてのレベル値に対する符号列 LStrが続くよう、あるいは 対象ブロックに対応するすべてのレベル値に対する符号列 LStr の後に該対象ブ 口ックに対応するすべてのラン値に対する符号列 RStrが続くよう行われる。 このように一定の順序を有する複数の量子化係数を、 その値が 0である量子ィ匕 成分 (0係数) Coefの個数を示すラン値 Run、 及び該 0係数に続く、 その値が 0 でない量子化成分 Coef (非 0係数) の値を示すレベル値 Levを用いて符号化する 画像符号ィ匕装置では、 複数の量子化係数をその冗長な情報を排除して高い符号ィ匕 効率で符号化することができる。
第 3 6図は、 第 3 4図に示す画像符号化装置 2 0 1 bに対応する画像復号ィ匕装 置 2 0 2 bを説明するためのブロック図である。
この画像復号化装置 2 0 2 bは、 第 3 4図に示す従来の画像符号化装置 2 0 1 bから出力された符号ィヒストリーム StrObを復号化するものである。 この画像復号化装置 2 0 2 bは、 第 3 2図に示す画像復号化装置 2 0 2 aにお ける復号化供給 RLDOaに代えて、 上記画像符号化装置 2 0 1 bから出力された符 号ィ匕ストリーム StrObに対して、 ランレングス復号ィ匕処理を施すランレングス復 号化器 RLDObを備えたものであり、 その他の構成は、 上記画像復号化装置 2 0 2 aのものと同一である。
また、 画像復号化装置 2 0 2 bの動作は、 上記復号化器 RLDObの動作のみ、 上 記画像復号化装置 2 0 2 aのものと異なる。
第 3 7図は上記画像復号化装置 2 0 2 bのランレングス復号化器 RLDObの具体 的な構成を示すプロック図である。
このランレングス復号化器 RLDObは、 上記画像符号化装置 2 0 1 bから出力さ れた多重符号化ストリーム StrObから、レベル値に対応する符号列 LStrとラン ί直 に対応する符号列 RStrとを分離する分離器 DMUXと、符号列 LStrに対して可変長 復号ィヒ処理を施してレベル値 Levを復元する可変長復号化器 LevVLDと、 符号列 RStr に対して可変長復号ィ匕処理を施してラン値 Run を復元する可変長復号化器 RunVLDと、該レベル値 Levとラン値 Runにより表される 1次元の配列を有する復 号量子化成分から、 2次元の配列を有する復号量子化成分 DQSを復元する逆ジグ ザグスキャン器 IScanとを有している。
次に動作について説明する。
上記画像復号化装置 2 0 2 bでは、 ランレングス復号化器 RLDObは、 ランレン グス符号化器 RLEObとは逆の動作を行う。 つまり、 ランレングス複号化器 RLDOb は、多重符号化ストリーム StrObから、レベル値に対応する符号列 LStrとラン値 に対応する符号列 RStrとを分離する。
すると、 可変長復号化器 LevVLDは、 可変長符号化器 LevVLCとは逆の動作によ り、 レベル値に対応する符号列 LStrを復号化して、 レベル値 Levを出力する。 ま た、 可変長復号化器 RunVLDは、 可変長符号化器 RunVLCとは逆の動作により、 ラ ン値に対応する符号列 RStrを復号化して、 ラン値 Runを出力する。
逆ジグザグスキヤン器 IScanは、ジグザグスキャン器 Scanとは逆の動作により、 上記レベル値 Levとラン値 Runで表現される 1次元の配列を有する量子化成分か ら、 2次元の配列を有する復号量子化成分 DQSを復元し、上記逆量子化器 IQに出 PC蘭 2/12232
9 力する。 ただし、 この逆ジグザグスキャン器 IScan (第 3 7図参照) は、 第 3 3 図に示す逆ジグザグスキャン器 IScanと異なり、 その入力はレベル値 Levとラン 値 Runであるから、第 3 7図に示す逆ジグザグスキャン器 IScanは、レベル値 Lev とラン値 Runで表される係数を量子化成分 Coefに変換する機能を有している。 このように一定の順序を有する複数の量子化係数を復号ィ匕する復号ィ匕処理を、 その値が 0である量子化成分 (0係数) Coef の個数を示すラン値 Run、 及び該 0 係数に続く、 その値が 0でない量子化成分 Coef (非 0係数) の値を示すレベル値 Lev を用いて行う画像復号化装置では、 複数の量子化係数をランレングス符号ィ匕 によりその冗長な情報を排除して高い符号ィ匕効率で符号ィ匕して得られた符号ィ匕デ ータを、 良好に復号ィ匕することができる。
以下、 ランレングス符号化方法を用いた従来の画像符号化装置の他の例につい て説明する。
第 3 8図は従来のランレングス符号化器を用いた画像符号化装置の他の例を示 すブロック図である。 MPEGや ITU H. 261、 H. 263などの規格および現在策定中の H. 26L規格案 (TML8) に準拠した従来の画像符号化装置は殆ど全てが第 3 8図に 示すような構成になっている。
この画像符号化装置 2 0 1 cは、 第 3 4図に示す画像符号化装置 2 0 1 bと同 様、 ラン値及びレベル値を用いて量子化係数の符号化を行うものであるが、 この 画像符号ィ匕装置 2 0 1 cは、 画像符号化装置 2 0 1 bのようにラン値及びレベル 値を別々に可変長符号化するのではなく、 ラン値とレベル値からなる対 (ランレ ベル対) に対して可変長符号化処理を施すものである。
すなわち、 この画像符号化装置 2 0 1 cは、 上記画像符号化装置 2 0 1 bと同 様、画像信号 Vinが入力されるプロック化器 Blkと、その出力 BlkSを周波数変換 する周波数変» Transと、該変 iの出力 (周波数成分) TransSを量子化する 量子化器 Qとを有している。 そして、 この画像符号化装置 2 0 1 cは、 該量子化 器の出力 (量子化成分) QSに対して、 ラン値及びレベル値からなるランレベル対 を可変長符号に変換するランレングス符号ィ匕を施すランレングス符号化器 RLEOc とを有してレ、る。
次に動作について説明する。 プロック化器 Blkは画像信号 Vinをプロック単位の画像信号に分割して画素値 成分 (プロック化画像信号) BlkSを生成する。 周波数変換器 Transは該画素値成 分 BlkSを DCT (離散コサイン変換)やウェーブレツト変換などを用いて周波数成 分 TransSに変換する。量子化器 Qは該周波数成分 TransSを量子化パラメータ QP に基づいて量子化して量子化成分 QSを出力するとともに、該量子化パラメータ Q を出力する。ランレングス符号化器 RLEOcは上記量子化成分 QSに対してランレン ダス符号化を施して符号化ストリーム StrOcを出力する。
ここで、 上記ブロックは、 画像信号の符号化処理の単位となる、 ピクチャ内の 所定サイズの領域であり、 一定数の画素から構成されている。 また、 ここでは、 上記ランレングス符号化は、 連続する、 その値が 0である量子化成分 (0係数) の個数を示すラン値と、 該 0係数に続く、 その値が 0でない量子化成分 (非 0係 数) の値を示すレベル値との対を可変長符号に変換する処理、 言い換えると、 上 記ラン値とレベル値の対 (ランレベル対) に 1つの可変長符号 (符号語) を割り 当てる処理である。
次に上記ランレングス符号化器 RLEOcについて詳しく説明する。
第 3 9図は従来のランレンダス符号化器 RLEOcを示すブロック図である。
このランレンダス符号化器 RLEOc は、 第 3 5図に示すランレングス符号化器 RLEObと同様、 2次元の配列を有する量子化器 Qの出力 (量子化成分) QSを 1次 元の配列(つまり、所定の順序) を有する量子化成分 Coefに変換するジグザグス キャン器 Scanと、 連続する、 その値が 0である量子化成分 ( 0係数) Coef の個 数を計測して、 ラン値 Runを出力するラン計測器 RunCalと、該 0係数に続く、そ の値が 0でなレ、量子化成分 Coef (非 0係数) の値を計測して、 レベル値 Levを出 力するレベル計測器 LevCalとを有している。
そして、 このランレングス符号化器 RLEOcは、ラン計測器 RunCal及びレベル計 測器 LevCalの出力に基づいて、レベル値 Levとラン値 Runの対に対応する符号番 号 Code を符号表もしくは算術計算によって算出するランレベルコード変換器 RunLevEncと、符号番号 Codeに符号語を割り当て、 上記画像信号 Vinに対応する 符号化ストリーム StrOcを生成する可変長符号化器 VLCとを有している。
次に動作について説明する。 このランレンダス符号化器 RLEOcでは、 ランレンダス符号化器 RLEObと同様、 ジグザグスキャン器 Scanは、上記量子化器 Qから出力された 2次元の配列を有す る量子化成分 QSを 1次元の配列 (所定の順序) を有する量子化成分 Coef に変換 して出力する。
第 4 3図は上記ジグザグスキャン器 Scanでの量子化成分 QSの変換処理を具体 的に説明するための図である。
量子化器 Qから出力された量子化成分 QSは、第 4 3図に示すように、 2次元の 配列、 つまり、 各量子化成分 QSが、 2次元の周波数領域 Fr上にて、 その水平方 向の周波数成分の大きさ及ぴ垂直方向の周波数成分の大きさに応じてマトリクス 状に並ぶ配列を有している。
ジグザグスキャン器 Scanは、 このように 2次元の配列を有する量子化成分 QS を、 矢印 Y 1〜Y 7で示すように、 ジグザグにスキャンする処理を行って、 1次 元の配列を有する量子化成分 Coefに変換する。つまりこのスキャン処理により、 2次元の配列を有する複数の量子化成分 QSに対して、上記スキヤン経路に沿った 所定の順序が設定される。
そして、 上記ラン計測器 RunCalは、 上記ジグザグスキャン器 Scanから出力さ れた量子化成分 Coefに基づいて、連続する 0係数の個数を計測し、該個数を示す ラン値 Runを出力する。また、上記レベル計測器 LevCalは、上記ジグザグスキヤ ン器 Scanから出力された量子化成分 Coef に基づいて、 上記連続する 0係数に続 く非 0係数の値を計測し、 この値を示すレベル値 Levを出力する。 ここで、 上記 ラン計測器 RunCalは、処理対象となっている対象ブロックにおける最高周波数成 分(非 0係数のうちで最後のもの) を検出したとき、 E0B (ブロックの最後) とレヽ う特別な値を発生して、 それ以降のより高い周波数成分はその値が全て 0である ことを通知する。
さらに、 上記ランレベルコード変難 RunLevEnc は、 上記ラン計測器 RunCal 及びレベル計測器 LevCalの出力に基づいて、レベル値 Levとラン値 Runの対に対 応する符号番号 Codeを、符号表もしくは算術計算によって計算する。上記可変長 符号化器 VLCは、変換器 RunLevEncにて得られた符号番号 Codeを符号ィ匕し、つま り、 符号番号 Codeに符号語 (ビット列) を割り当て、 符号化ストリーム StrOを 生成する。
第 4 2図は上記ランレングス符号化器 RLEOcで用いられる符号表の例を示して レ、る。 第 4 2図に示す符号表 (第 1の符号化表) T 1は、 策定中の H. 26L規格案 (TML8) に準拠した色差信号の DC成分の符号表を示している。
この符号表 T 1は、 レベル値とラン値から算術演算によって、 レベル値とラン 値の対に対応する符号番号を計算できる規則的生成可能部分 (regularly build VLC) と、算術演算ではレベル値とラン値の対に対応する符号番号を計算できない 非規則的部分 (table look up VLC) とから構成されている。 また、 各符号番号 Codeに対しては 1対 1に対応する符号語としてのビット列 (図示せず) が割り当 てられるが、 値の小さい符号番号 Codeには短い符号語が割り当てられる。
次に上記画像符号ィ匕装置 2 0 1 cに対応する従来の画像復号化装置について説 明する。
第 4 0図は従来のランレングス復号化器 RLDOcを用いた画像復号ィ匕装置 2 0 2 cを示すブロック図である。
この画像復号化装置 2 0 2 cは、 第 3 9図に示す従来の画像符号化装置 2 0 1 cから出力された符号化ストリーム StrOcを復号化するものである。
この画像復号化装置 2 0 2 cは、 第 3 6図に示す画像複号化装置 2 0 2 bと同 様、 ラン値及びレベル値を用いて量子化係数の復号を行うものであるが、 この画 像復号ィ匕装置 2 0 2 cは、 上記画像復号化装置 2 0 2 bのようにラン値及びレべ ル値の可変長復号化を、 ラン値とレベル値とで別々に行うのではなく、 ラン値と レベル値からなる対 (ランレベル対) の可変長復号ィ匕を行うものである。
すなわち、 この画像復号化装置 2 0 2 cは、 上記画像符号化装置 2 0 1 cから 出力された符号ィ匕ストリーム StrOcに対して、 ラン値及ぴレベル値からなるラン レベル対を用レ、たランレングス復号化処理を施すランレングス復号化器 RLDOcを 有している。 さらに、 上記画像復号化装置 2 0 2 cは、 上記画像復号化装置 2 0 2 bと同様、 該ランレングス複号化器 RLDOcの出力 (復号量子化成分) DQSに対 して逆量子化処理を施す逆量子化器 IQと、 該逆量子化器 IQの出力 (復号周波数 成分) ITransSに対して逆周波数変換処理を施す逆周波数変換器 ITransと、該逆 周波数変換器 ITransの出力 (復号画素値成分) DBlkSに基づいて、各ピクチャに 対応する復号画像信号 Voutを生成する逆ブロック化器 DeBlkとを有している。 次に動作について説明する。
上記画像復号化装置 2 0 2 cでは、 ランレングス復号化器 RLDOcは、 ランレン ダス符号化器 RLEOcとは逆の動作を行う。 つまり、 ランレングス復号化器 RLDOc は、 符号^ f匕ストリーム StrOcに対してランレングス復号化処理を施して復号量子 化成分 DQSを出力する。逆量子化器 IQは、量子化器 Qとは逆の動作、つまり復号 量子化成分 DQSを量子化パラメータ QPを参照して逆量子化する動作を行って、復 号周波数成分 ITransSを出力する。逆周波数変換器 ITransは、周波数変換器 Trans とは逆の動作、 つまり復号周波数成分 ITransSを逆 DCTや逆ウェーブレット変換 などを用いて各プロックに対応する復号画素値信号 (復号プロック化画像信号) DBlkSに復元する動作を行う。 逆プロックイ匕器 DeBlkは、 上記各プロックの復号 画素値成分 DBlkSを統合して各ピクチャに対応する復号画像信号 Voutを出力する。 次に上記ランレングス復号化器 RLDOcについて詳しく説明する。
第 4 1図は上記ランレングス復号化器 RLDOcの具体的な構成を説明するための プロック図である。
このランレングス復号化器 RLDOcは、 符号化ストリーム StrOcに対して可変長 復号化処理を施して、 符号ィ匕ストリーム StrOcに含まれる個々の符号 (符号語) に対応する符号番号 Codeを求める可変長復号化器 VLDと、 該符号番号 Codeに対 応する、 レベル値 Levとラン値 Runの対を取得するランレベル取得器 RunLevDec と、対をなすレベル値 Levとラン値 Runに基づ!/、て、該レベル値 Levとラン値 Run により表される 1次元の配列を有する復号量子化成分から、 2次元の配列を有す る復号量子化成分 DQSを復元する逆ジグザグスキャン器 IScanとを有している。 次に動作について説明する。
このランレングス復号化器 RLDOcでは、 可変長復号化器 VLDは可変長符号化器 VLCとは逆の動作により、 符号化ストリーム StrOcを復号ィ匕して、 符号語 (ビッ ト列) に対応する符号番号 Codeを出力する。 ランレベル取得器 RunLevDecは、 ラ ンレべノレコード変換器 RunLevEncとは逆の動作により、 符号表を参照するかもし くは算術演算によって、符号番号 Codeに対応する、対をなすレベル Lev値とラン 値 Runを出力する。逆ジグザグスキャン器 IScanはジグザグスキャン器 Scanとは 逆の動作により、 上記対をなすレベル値 Levとラン値 Runで表現される 1次元の 配列を有する量子化成分から、 2次元の配列を有する復号量子化成分 DQSを復元 し、 上記逆量子化器 IQに出力する。
なお、特開平 6- 237184号公報には、一定順序を有する複数の係数を、その値が 0である量子化成分 (0係数) Coef の個数を示すラン値 Run、 及び該 0係数に続 く、 その値が 0でない量子化成分 Coef (非 0係数) の値を示すレベル値 Levを用 V、て符号ィ匕するランレンダス符号ィ匕方法が開示されている。
また、 特許第 3144456号公報 (特開平 8- 79088号公報) には、 デジタル映像デ ータを予測符号化する方法において、 差分動きべクトル値を可変長符号化テープ ルを用いて符号化する際、 差分動きべクトル値の大きさに応じて、 可変長符号ィ匕 テーブル (V L Cテーブル) を切り換える方法が開示されている。
また、 画素値を可変長符号化する他の方法として、 画素値が所定の値を取る確 率を用いて算術演算で可変長符号化を行う算術符号化が知られている。 算術符号 化では、 確率から符号が導出できることから、 個々の事象に対応する確率が記載 された確率テーブルが上記 V L Cテーブルに相当する。 なお、 工業調查会発行 (1998年 9月 30日 初版第 1刷発行)の MP E G— 4のすベて(三木弼ー 編著) の P69- P73には、 符号化対象の画素の画素値を、 その周辺画素の画素値から予測 した符号化対象画素の予測方法 (コンテクスト) に基づいて確率テープノレを切り 替えて算術符号化する方法が記載されている。
上述した従来の画像符号化装置 2 0 1 aの符号化器 RLEOaは、 画像データの周 波数成分を量子ィ匕して得られる複数の量子化係数を、一定の処理単位(プロック) 毎に可変長符号化するものであるが、 該各量子化係数の大きさを示す数値情報と 符号 (符号語) との対応を複数示す、 決められた符号表を用いるものであって、 この符号化器による可変長符号化処理では、 処理対象となるデータである量子化 係数に存在する冗長性な情報を十分除去できておらず、 圧縮率向上の余地が残つ ているという課題があった。
また、従来の画像符号化装置 2 0 1 b , 2 0 1 cの符号化器 RLEOb, RLEOcのよ うに、 複数の量子化係数の可変長符号ィ匕を、 その値が 0である量子化成分 (0係 数) Coef の個数を示すラン値や、 該 0係数に続く、 その値が 0でない量子化成分 Coef (非 0係数) の値を示すレベル値を用いて行うランレングス符号化器におい ても、 可変長符号ィ匕処理の際の量子化係数に存在する冗長な情報の除去は、 十分 なものではなかった。
また、 従来の画像復号化装置 2 0 2 aの復号化器 RLD0a、 あるいは従来の画像 復号化装置 2 0 2 b , 2 0 2 cのランレングス復号ィ匕器 RLDOb, RLDOcは、量子化 係数に対する可変長符号化処理の際、 該量子化係数に存在する冗長性な情報を十 分除去できなレヽ符号化器に対応するものであった。
また、 デジタル映像データを予測符号ィ匕する方法において、 差分動きベクトル 値を可変長符号ィ匕テーブルを用いて符号ィ匕する際、 差分動きべクトル値の大きさ に応じて、 可変長符号化テーブル (V L Cテーブル) を切り換える方法について は、 画像信号の周波数成分を量子化してなる量子化係数のように、 複数の 0係数 が連続するような特性を有するデータに対する可変長符号化処理における効果的 な符号化テーブルの切替は分かっていなかった。
本発明は上記のような課題を解決するためになされたもので、 可変長符号化処 理の対象となるデータ (量子化係数) に存在する情報の冗長性を、 量子化係数の 特性や量子化係数に対する符号ィ匕処理の状況に応じて、 より効果的に除去するこ とができ、 これにより画像信号などの圧縮率のさらなる向上を図ることができる 可変長符号化方法及び可変長復号化方法を得ることを目的とする。 発明の開示
この発明に係る可変長符号化方法は、 複数の係数からなる係数データを符号化 する可変長符号化方法であって、 上記各係数に対して、 該係数の大きさを表す数 値情報と符号との対応を示す複数の符号表を用いて、 上記係数データを複数の符 号からなる符号化データに変換する符号化処理を施す符号化ステップを含み、 該 符号化ステップは、 上記符号表を、 上記符号化処理が施された処理済係数に関す る情報、 及ぴ上記係数の生成に関するパラメータの少なくとも一方に応じて^!択 する符号表選択ステツプと、 上記符号化処理が施されていなレヽ未符号化係数に対 して、 上記選択された符号表を用いて符号を割り当てる符号割当ステップとを含 むものであることを特徴とするものである。 この発明は、 上記可変長符号ィ匕方法において、 上記係数は、 画像データの周波 数成分を、 該画像データに応じた量子化ステップに基づレ、て量子化して得られた ものであり、 上記符号表選択ステップは、 上記符号割当ステップで用いる符号表 を、 上記量子化ステップの大きさに応じて選択するものであることを特徴とする ものである。
この発明は、上記可変長符号化方法において、上記係数に対する符号ィヒ処理は、 その値が 0である連続する 0係数の個数を示すラン値と、 該 0係数に続く非 0係 数の値を示すレベル値とを、 それぞれ符号に変換するものであり、 上記符号表選 択ステップは、 上記ラン値と符号との対応を示す複数の符号表から、 上記量子化 ステップの大きさに応じて 1つの符号表を選択する第 1の選択処理と、 上記レべ ル値と符号との対応を示す複数の符号表から、 上記量子化ステップの大きさに応 じて 1つの符号表を選択する第 2の選択処理のうちの少なくとも一方の選択処理 を行うものであり、上記符号割当ステップは、上記選択された符号表に基づいて、 上記符号化処理が施されていなレ、未符号化係数に対応するラン値及びレベル値の 少なくとも一方に符号を割り当てるものであることを特徴とするものである。 この発明は、上記可変長符号ィヒ方法において、上記係数に対する符号化処理は、 その値が 0である連続する 0係数の個数を示すラン値と、 該 0係数に続く非 0係 数の値を示すレベル値とからなるランレベル対を符号に変換するものであり、 上 記符号表選択ステップは、 上記量子化ステップの大きさに応じて、 上記ランレべ ル対と符号との対応を示す複数の符号表から 1つの符号表を選択するものであり、 上記符号割当ステップは、 上記選択された符号表に基づいて、 上記符号ィ匕処理が 施されていない未符号化係数に対応するランレベル対に符号を割り当てるもので あることを特徴とするものである。
この発明は、 上記可変長符号化方法において、 上記符号表選択ステップは、 上 記符号割当ステツプで用レ、る符号表を、 上記符号化処理が施された処理済係数に 関する情報に応じて選択するものであることを特徴とするものである。
この発明は、上記可変長符号化方法において、上記係数に対する符号化処理は、 その値が 0である連続する 0係数の個数を示すラン値と、 該 0係数に続く非 0係 数の値を示すレベル値とを、 それぞれ符号に変換するものであり、 上記符号表選 択ステップは、 上記ラン値と符号との対応を示す複数の符号表から、 符号化処理 が施された処理済み係数に対応するラン値に関する情報に応じて 1つの符号表を 選択する第 1の選択処理と、 上記レベル値と符号との対応を示す複数の符号表か ら、 符号化処理が施された処理済み係数に対応するレベル値に関する情報に応じ て 1つの符号表を選択する第 2の選択処理のうちの少なくとも一方の選択処理を 行うものであり、 上記符号割当ステップは、 上記選択された符号表に基づいて、 上記符号化処理が施されていない未符号化係数に対応するラン値及びレベル値の 少なくとも一方に符号を割り当てるものであることを特徴とするものである。 この発明は、 上記可変長符号化方法において、 上記符号表選択ステップは、 上 記ラン値と符号との対応を示す複数の符号表から、 符号が割当てられている処理 済みラン値の個数に応じて 1つの符号表を選択するものであり、 上記符号割当ス テツプは、 上記選択された符号表に基づいて、 上記符号の割り当てられていない 未符号化ラン値に符号を割り当てるものであることを特徴とするものである。 この発明は、上記可変長符号化方法において、上記係数に対する符号化処理は、 その値が 0である連続する 0係数の個数を示すラン値と、 該 0係数に続く非 0係 数の値を示すレベル値とからなるランレベル対を符号に変換するものであり、 上 記符号表選択ステップは、 符号ィ匕処理が施された処理済み係数に対応するランレ ベル対に関する情報に応じて、 上記ランレベル対と符号との対応を示す複数の符 号表から 1つの符号表を選択するものであり、 上記符号割当ステップは、 上記選 択された符号表に基づレヽて、 上記符号化処理が施されていなレヽ未符号化係数に対 応するランレベル対に符号を割り当てるものであることを特徴とするものである。 この発明は、 上記可変長符号化方法において、 上記係数は、 画像データの周波 数成分を、 該画像データに応じた量子化ステップに基づいて量子化して得られた ものであり、 上記符号化ステップは、 上記係数に対する符号化処理を、 上記係数 データを構成する複数の係数に対して、 対応する画像データの周波数成分の高い 順に符号が割当られるよう行うものであることを特徴とするものである。
この発明に係る可変長符号化方法は、 複数の係数からなる係数デ一タを符号化 して、 複数の符号からなる符号化データに変換する可変長符号ィ匕方法であって、 上記係数に対して、 該係数の大きさを表す数値情報と符号との対応を示す複数の 符号表を用いて、 その値が 0である連続する 0係数の個数を示すラン値と、 該 0 係数に続く非 0係数の値を示すレベル値とからなるランレベル対を符号に変換す る符号ィ匕処理を施す符号化ステップを含み、該符号化ステップは、上記符号表を、 上記符号化処理が施された処理済係数に関する情報、 及び上記係数の生成に関す るパラメータの少なくとも一方に応じて選択する符号表選択ステップと、 上記符 号ィ匕処理が施されていなレヽ未符号化係数に対して、 上記選択された符号表を用い て符号を割り当てる符号割当ステップとを含むものであることを特徴とするもの である。
この発明は、上記可変長符号ィ匕方法において、上記係数に対する符号化処理は、 ランレベル対の符号への変換を、 一定数の係数からなるプロック毎に行うもので あり、 上記符号表選択ステップは、 上記符号化処理の対象となる対象ブロックに おける、 符号化処理の施された処理済係数の個数と、 該対象ブロックにおける、 符号化処理の施されていなレ、未符号化非 0係数の個数との和に応じて、 上記ラン レベル対と符号との対応を示す複数の符号表から 1つの符号表を選択するもので あり、 上記符号割当ステップは、 上記選択された符号表に基づいて、 上記対象ブ ロックにおける未符号化係数に対応するランレベル対に符号を割り当てるもので あることを特^ [とするものである。
この発明は、 上記可変長符号ィヒ方法において、 上記符号化ステップは、 上記ラ ンレベル対と、 これに対応する符号との対応を、 該ランレベル対を形成するラン 値とレベル値の組み合わせに応じて示す第 1の符号表に基づ!/、て、 該第 1の符号 表における、 ランレベル対と符号との対応を規則的に変更して、 該第 1の符号表 とは、 該ランレベル対と符号との対応が異なる第 2の符号表を作成する符号表処 理ステップを含み、 上記符号表選択ステップは、 上記第 1及び第 2の符号表の一 方を、 上記処理済係数に関する情報、 及び上記係数の生成に関するパラメータの 少なくとも一方に応じて選択するものであることを特徴とするものである。
この発明は、 上記可変長符号化方法において、 上記第 1及び第 2の符号表は、 各ランレベル対に、 該ランレベル対を形成するレベル値が小さいほど、 短レ、符号 を対応付けたものであり、 上記第 2の符号表は、 上記第 1の符号表と比べて、 平 均的に、 短い符号を対応付けられるランレベル対のレベル値が小さいものである ことを特 ί敷とするものである。
この発明は、 上記可変長符号ィ匕方法において、 上記第 1及び第 2の符号表は、 各ランレベル対に、 該ランレベル対を形成するラン値が小さいほど、 短い符号を 対応付けたものであり、 上記第 2の符号表は、 上記第 1の符号表と比べて、 平均 的に、 短い符号を対応付けられるランレベル対のラン値が小さいものであること を特 ί敷とするものである。
この発明は、上記可変長符号化方法において、上記係数に対する符号ィ匕処理は、 ランレベル対の符号への変換を、 一定数の係数からなるブロック毎に行うもので あり、 上記符号表処理ステップは、 上記第 2の符号表を、 上記符号化処理の対象 となる対象プロックにおける、 該符号ィ匕処理が施された処理済係数の数に応じて 作成するものであることを特^ [とするものである。
この発明は、 上記可変長符号化方法において、 上記符号割当ステップは、 上記 ランレベル対に対する符号の割当を、 画像データの周波数成分の高い係数に対応 するランレベル対から順に行うものであることを特徴とするものである。
この発明は、 上記可変長符号ィ匕方法において、 上記第 2の符号表は、 上記第 1 の符号表に含まれる、 ランレベル対と符号との複数の対応のうちの、 規則的に算 出可能な対応のみを変更したものであることを特徴とするものである。
この発明は、 上記可変長符号化方法において、 上記係数データを構成する係数 は、 画像データの周波数成分を、 画像データに応じた量子化ステップに基づいて 量子化して得られたものであり、 上記符号表選択ステップは、 上記第 1の符号表 と第 2の符号表の切替えを、 上記量子化ステップの大きさに基づいて行う符号表 切替ステップであることを特徴とするものである。
この発明は、 上記可変長符号ィヒ方法において、 上記符号表選択ステップは、 上 記第 1の符号表と第 2の符号表の切替を、 切替え指示信号に基づレ、て行う符号表 切替ステップであり、 上記符号化ステップは、 上記切替え指示信号の符号化処理 を行うものであることを特徴とするものである。
この発明は、上記可変長符号ィ匕方法において、上記係数に対する符号化処理は、 ランレべノレ対の符号への変換を、 一定の係数からなるプロック毎に行うものであ り、 上記符号表処理ステップは、 上記第 2の符号表を、 符号化処理の対象となる 対象ブロックにおける、 符号化処理が施された処理済係数の個数と、 該対象プロ ックにおける、 符号化処理が施されていない未符号ィ匕非 0係数の個数との和に応 じて作成するものであることを特徴とするものである。
この発明に係る可変長符号化装置は、 複数の係数からなる係数データを符号化 する可変長符号化装置であって、 上記各係数に対して、 該係数の大きさを表す数 値情報と符号との対応を示す複数の符号表を用いて、 上記係数データを複数の符 号からなる符号化データに変換する符号化処理を施す符号化部を含み、 該符号ィ匕 部は、 上記符号表を、 上記符号ィ匕処理が施された処理済係数に関する情報、 及び 上記係数の生成に関するパラメータの少なくとも一方に応じて選択する符号表選 択部と、 上記符号化処理が施されていない未符号化係数に対して、 上記選択され た符号表を用いて符号を割り当てる符号割当部とを有するものであることを特 i とするものである。
この発明は、 上記可変長符号化装置において、 上記係数は、 画像データの周波 数成分を、 該画像データに応じた量子ィヒステップに基づいて量子化して得られた ものであり、 上記符号表選択部は、 上記符号割当部で用いる符号表を、 上記量子 化ステップの大きさに応じて選択するものであることを特徴とするものである。 この発明は、 上記可変長符号化装置において、 上記符号表選択部は、 上記符号 割当部で用いる符号表を、 上記符号ィヒ処理が施された処理済係数に関する情報に 応じて選択するものであることを特徴とするものである。
この発明は、上記可変長符号化装置において、上記係数に対する符号ィヒ処理は、 その値が 0である連続する 0係数の個数を示すラン値と、 該 0係数に続く非 0係 数の値を示すレベル値とを、 それぞれ符号に変換するものであり、 上記符号表選 択部は、 上記ラン値と符号との対応を示す複数の符号表から、 符号が割当てられ ている処理済みラン値の個数に応じて 1つの符号表を選択するものであり、 上記 符号割当部は、 上記選択された符号表に基づいて、 上記符号の割り当てられてい なレ、未符号化ラン値に符号を割り当てるものであることを特徴とするものである。 この発明は、 上記可変長符号化装置において、 上記係数は、 画像データの周波 数成分を、 該画像データに応じた量子化ステップに基づいて量子化して得られた ものであり、 上記符号化部は、 上記係数に対する符号ィ匕処理を、 上記係数データ を構成する複数の係数に対して、 対応する画像データの周波数成分の高!/ヽ順に符 号が割当られるよう行うものであることを特徴とするものである。
この発明に係るプログラム記憶媒体は、 複数の係数からなる係数データを符号 ィ匕する可変長符号化処理をコンピュータにより行うプログラムを格納した記憶媒 体であって、 上記プログラムは、 上記各係数に対して、 該係数の大きさを表す数 値情報と符号との対応を示す複数の符号表を用!/、て、 上記係数データを複数の符 号からなる符号ィ匕データに変換する符号化処理を施す符号化ステップを含み、 該 符号化ステップは、 上記符号表を、 上記符号ィ匕処理が施された処理済係数に関す る情報、 及び上記係数の生成に関するパラメータの少なくとも一方に応じて選択 する符号表選択ステツプと、 上記符号化処理が施されていなレ、未符号化係数に対 して、 上記選択された符号表を用いて符号を割り当てる符号割当ステップとを含 むものであることを特徴とするものである。
この発明に係る可変長復号化方法は、 複数の係数からなる係数データを可変長 符号化して得られた、 複数の符号からなる符号ィヒデータを復号化する可変長復号 ィ匕方法であって、 上記各符号に対して、 上記係数の大きさを表す数値情報と上記 符号との対応を示す複数の符号表を用いて、 上記符号化データを上記複数の係数 カゝらなる係数データに復元する復号化処理を施す復号化ステップを含み、 該復号 ィ匕ステップは、 上記符号表を、 上記復号化処理が施された処理済係数に関する情 報、 及ぴ上記係数の生成に関するパラメータの少なくとも一方に応じて選択する 符号表選択ステップと、 上記復号ィ匕処理が施されていない未復号ィヒ符号に対応す る数値情報を、 上記選択された符号表を用いて取得する数値取得ステップとを含 むものであることを特敷とするものである。
この発明は、 上記可変長複号化方法において、 上記係数は、 画像データの周波 数成分を、 該画像データに応じた量子化ステップに基づレヽて量子化して得られた ものであり、 上記符号表選択ステップは、 上記数値取得ステップで用いる符号表 を、 上記量子ィ匕ステツプの大きさに応じて選択するものであることを特徴とする ものである。
この発明は、上記可変長復号ィ匕方法において、上記符号に対する復号化処理は、 上記符号を、 その値が 0である連続する 0係数の個数を示すラン値と、 該 0係数 に続く非 0係数の値を示すレベル値とに復元するものであり、 上記符号表選択ス テツプは、 上記ラン値と符号との対応を示す複数の符号表から、 上記量子化ステ ップの大きさに応じて 1つの符号表を選択する第 1の選択処理と、 上記レベル値 と符号との対応を示す複数の符号表から、 上記量子化ステップの大きさに応じて 1つの符号表を選択する第 2の選択処理のうちの少なくとも一方の選択処理を行 うものであり、 上記数値取得ステップは、 上記選択された符号表に基づいて、 上 記複号化処理が施されていない未復号化符号に対応するラン値及びレベル値の少 なくとも一方を取得するものであることを特徴とするものである。
この発明は、上記可変長復号化方法において、上記符号に対する復号ィ匕処理は、 該符号を、 その値が 0である連続する 0係数の個数を示すラン値と、 該 0係数に 続く非 0係数の値を示すレベル値とからなるランレベル対に復元するものであり、 上記符号表選択ステップは、 上記量子化ステップの大きさに応じて、 上記ランレ ベル対と符号との対応を示す複数の符号表から 1つの符号表を選択するものであ り、 上記数値取得ステップは、 上記選択された符号表に基づいて、 上記複号化処 理が施されていない未復号化符号に対応するランレベル対を取得するものである ことを特徴とするものである。
この発明は、 上記可変長複号化方法において、 上記符号表選択ステップは、 上 記数値取得ステップで用いる符号表を、 上記復号化処理により得られた処理済係 数に関する情報に応じて選択するものであることを特徴とするものである。
この発明は、上記可変長復号ィ匕方法において、上記符号に対する復号ィ匕処理は、 該符号を、 その値が 0である連続する 0係数の個数を示すラン値と、 該 0係数に 続く非 0係数の値を示すレベル値とに復元するものであり、 上記符号表選択ステ ップは、 上記ラン値と符号との対応を示す複数の符号表から、 複号化処理により 得られた処理済みラン値に関する情報に応じて 1つの符号表を選択する第 1の選 択処理と、 上記レベル値と符号との対応を示す複数の符号表から、 復号化処理に より得られた処理済みレベル値に関する情報に応じて 1つの符号表を選択する第 2の選択処理のうちの少なくとも一方の選択処理を行うものであり、 上記数値取 得ステップは、 上記選択された符号表に基づいて、 上記復号化処理が施されてい ない未復号化符号に対応するラン値及びレベル値の少なくとも一方を取得するも のであることを特徴とするものである。
この発明は、 上記可変長復号化方法において、 上記符号表選択ステップは、 上 記ラン値と符号との対応を示す複数の符号表から、 復号化処理により得られた処 理済みラン値の個数に応じて 1つの符号表を選択するものであり、 上記数値取得 ステップは、 上記選択された符号表に基づいて、 上記復号化処理が施されていな い未復号ィ匕符号に対応するラン値を取得するものであることを特徴とするもので ある。
この発明は、上記可変長復号化方法において、上記符号に対する復号ィ匕処理は、 符号を、 その値が 0である連続する 0係数の個数を示すラン値と、 該 0係数に続 く非 0係数の値を示すレベル値とからなるランレベル対に復元するものであり、 上記符号表選択ステップは、 復号ィ匕処理により得られたランレベル対に関する情 報に応じて、 上記ランレベル対と符号との対応を示す複数の符号表から 1つの符 号表を選択するものであり、 上記数値取得ステップは、 上記選択された符号表に 基づいて、 上記復号ィ匕処理が施されていない未復号化符号に対応するランレベル 対を取得するものであることを特徴とするものである。
この発明は、 上記可変長復号化方法において、 上記係数は、 画像データの周波 数成分を、 該画像データに応じた量子化ステップに基づレ、て量子化して得られた ものであり、 上記復号ィヒステップは、 上記符号に対する復号化処理を、 上記符号 に対応する数値情報が、 対応する画像データの周波数成分の高レヽものから順に取 得されるよう行うものであることを特徴とするものである。
この発明に係る可変長復号化方法は、 複数の符号からなる符号化デ一タを復号 化して、 複数の係数からなる係数データに変換する可変長複号化方法であって、 上記符号に対して、 上記係数の大きさを表す数値情報と上記符号との対応を示す 複数の符号表を用いて、 該符号化データを構成する符号を、 その値が 0である連 続する 0係数の個数を示すラン値と、 該 0係数に続く非 0係数の値を示すレベル 値とからなるランレべノレ対に復元する復号化処理を施す復号化ステップを含み、 該復号ィ匕ステップは、 上記符号表を、 上記復号化処理が施された処理済係数に関 する情報、 及び上記係数の生成に関するパラメータの少なくとも一方に応じて選 択する符号表選択ステツプと、 上記復号化処理が施されていなレ、未復号化符号に 対応する数値情報を、 上記選択された符号表を用いて取得する数値取得ステップ とを含むものであることを特徴とするものである。
この発明は、上記可変長復号ィ匕方法において、上記符号に対する復号ィ匕処理は、 該符号のランレベル対への復元を、 上記係数データを構成する一定数の係数から なるブロック毎に行うものであり、 上記符号表選択ステップは、 上記復号化処理 の対象となる対象ブロックにおける、 該ブロックの複号化処理により得られた処 理済係数の個数と、 該対象プロックにおける、 該プロックの復号化処理では未だ 得られていなレ、未複号化非 0係数の個数との和に応じて、 上記ランレベル対と符 号との対応を示す複数の符号表から 1つの符号表を選択するものであり、 上記数 値取得ステップは、 上記選択された符号表に基づいて、 上記対象ブロックにおけ る未復号化係数に対応するランレベル対を取得するものであることを特徴とする ものである。
この発明は、 上記可変長複号化方法において、 上記復号ィ匕ステップは、 上記ラ ンレベル対と、 これに対応する符号との対応を、 該ランレベル対を形成するラン 値とレベル値の組み合わせに応じて示す第 1の符号表に基づレ、て、 該第 1の符号 表における、 ランレベル対と符号との対応を規則的に変更して、 該第 1の符号表 とは、 該ランレベル対と符号との対応が異なる第 2の符号表を作成する符号表処 理ステップを含み、 上記符号表選択ステップは、 上記第 1及び第 2の符号表の一 方を、 上記処理済係数に関する情報、 及び上記係数の生成に関するパラメータの 少なくとも一方に応じて選択するものであることを特 ¾とするものである。
この発明は、 上記可変長復号ィ匕方法において、 上記第 1及び第 2の符号表は、 各ランレベル対に、 該ランレベル対を形成するレベル値が小さレヽほど、 短い符号 を対応付けたものであり、 上記第 2の符号表は、 上記第 1の符号表と比べて、 平 均的に、 短レ、符号を対応付けられるランレベル対のレベル値が小さいものである ことを特徴とするものである。
この発明は、 上記可変長復号ィ匕方法において、 上記第 1及び第 2の符号表は、 各ランレベル対に、 該ランレベル対を形成するラン値が小さいほど、 短い符号を 対応付けたものであり、 上記第 2の符号表は、 上記第 1の符号表と比べて、 平均 的に、 短レ、符号を対応付けられるランレベル対のラン値が小さいものであること を特^:とするものである。
この発明は、上記可変長復号ィ匕方法において、上記符号に対する復号化処理は、 該符号のランレベル対への復元を、 上記係数データを構成する一定数の係数から なるブロック毎に行うものであり、 上記符号表処理ステップは、 上記第 2の符号 表を、 上記復号ィヒ処理の対象となる対象プロックにおける、 該復号ィ匕処理により 得られた処理済係数の数に応じて作成する'ものであることを特 ί敷とするものであ る。
この発明は、 上記可変長復号化方法において、 上記数値取得ステップは、 上記 符号に対応するランレベル対の取得を、 対応する画像データの周波数成分の高い ランレベル対から順に行うものであることを特徴とするものである。
この発明は、 上記可変長復号ィ匕方法において、 上記第 2の符号表は、 上記第 1 の符号表に含まれる、 ランレベル対と符号との複数の対応のうちの、 規則的に算 出可能な対応のみを変更したものであることを特徴とするものである。
この発明は、 上記可変長復号化方法において、 上記係数データを構成する係数 は、 画像データの周波数成分を、 画像データに応じた量子化ステップに基づいて 量子化して得られたものであり、 上記符号表選択ステップは、 上記第 1の符号表 と第 2の符号表の切替えを、 上記量子化ステップの大きさに基づいて行うもので あることを特徴とするものである。
この発明は、 上記可変長復号ィ匕方法において、 上記符号表選択ステップは、 上 記第 1の符号表と第 2の符号表の切替を、 切替え指示信号に基づいて行う符号表 切替ステップを含むものであり、 上記復号化ステツプは、 上記切替え指示信号の 復号化処理を行うものであることを特徴とするものである。
この発明は、上記可変長復号ィ匕方法において、上記符号に対する復号ィ匕処理は、 符号のランレベル対への復元を、 上記係数データを構成する一定の係数からなる ブロック毎に行うものであり、上記符号表処理ステツプは、上記第 2の符号表を、 復号化処理の対象となる対象ブロックにおける、 該プロックに対する復号化処理 により得られた処理済係数の個数と、 該対象プロックにおける、 該プロックに対 する復号ィ匕処理では未だ得られていなレヽ未複号化非 0係数の個数との和に応じて 作成するものであることを特 ί敫とするものである。 この発明に係る可変長復号化装置は、 複数の係数からなる係数データを可変長 符号化して得られた、 複数の符号からなる符号化データを復号化する可変長復号 化装置であって、 上記各符号に対して、 上記係数の大きさを表す数値情報と上記 符号との対応を示す複数の符号表を用いて、 上記符号化データを上記複数の係数 カゝらなる係数データに復元する復号化処理を施す復号ィ匕部を備え、該復号化部は、 上記符号表を、 上記復号ィ匕処理が施された処理済係数に関する情報、 及び上記係 数の生成に関するパラメータの少なくとも一方に応じて選択する符号表選択部と、 上記復号ィ匕処理が施されていない未復号化符号に対応する数値情報を、 上記選択 された符号表を用いて取得する数値取得部とを有するものであることを特徴とす るものである。
この発明は、 上記可変長復号ィ匕装置において、 上記係数は、 画像データの周波 数成分を、 該画像データに応じた量子化ステップに基づいて量子化して得られた ものであり、 上記符号表選択部は、 上記数値取得部で用いる符号表を、 上記量子 ィ匕ステップの大きさに応じて選択するものであることを特徴とするものである。 この発明は、 上記可変長復号化装置において、 上記符号表選択部は、 上記数値 取得部で用いる符号表を、 上記復号化処理により得られた処理済係数に関する情 報に応じて選択するものであることを特徴とするものである。
この発明は、上記可変長復号化装置において、上記符号に対する復号化処理は、 該符号を、 その値が 0である連続する 0係数の個数を示すラン値と、 該 0係数に 続く非 0係数の値を示すレベル値とに復元するものであり、上記符号表選択部は、 上記ラン値と符号との対応を示す複数の符号表から、 復号化処理により得られた 処理済みラン値の個数に応じて 1つの符号表を選択するものであり、 上記数値取 得部は、 上記選択された符号表に基づいて、 上記復号ィ匕処理が施されていない未 復号化符号に対応するラン値を取得するものであることを特 ί敷とするものである。 この発明は、 上記可変長復号化装置において、 上記係数は、 画像データの周波 数成分を、 該画像データに応じた量子化ステツプに基づレ、て量子化して得られた ものであり、 上記復号化部は、 上記符号に対する復号ィ匕処理を、 上記符号に対応 する数値情報が、 対応する画像データの周波数成分の高いものから順に取得され るよう行うものであることを特徴とするものである。 この発明に係るプログラム記憶媒体は、 複数の係数からなる係数データを可変 長符号化して得られた、 複数の符号からなる符号化データを復号化する可変長復 号化処理をコンピュータにより行うプログラムを格納した記憶媒体であって、 上 記プログラムは、 上記各符号に対して、 上記係数の大きさを表す数値情報と上記 符号との対応を示す複数の符号表を用いて、 上記符号ィヒデータを上記複数の係数 からなる係数データに復元する復号化処理を施す復号ィ匕ステップを含み、 該復号 化ステップは、 上記符号表を、 上記復号化処理が施された処理済係数に関する情 報、 及び上記係数の生成に関するパラメータの少なくとも一方に応じて選択する 符号表選択ステップと、 上記復号化処理が施されていない未復号化符号に対応す る数値情報を、 上記選択された符号表を用いて取得する数値取得ステップとを含 むものであることを特徴とするものである。
以上のように本発明に係る可変長符号化方法によれば、 複数の係数からなる係 数データを符号化する可変長符号化方法であって、 上記各係数に対して、 該係数 の大きさを表す数値情報と符号との対応を示す複数の符号表を用いて、 上記係数 データを複数の符号からなる符号化データに変換する符号化処理を施す符号化ス テツプを含み、 該符号化ステップは、 上記符号表を、 上記符号化処理が施された 処理済係数に関する情報、 及び上記係数の生成に関するパラメータの少なくとも 一方に応じて選択する符号表選択ステツプと、 上記符号化処理が施されていない 未符号化係数に対して、 上記選択された符号表を用いて符号を割り当てる符号割 当ステップとを含むものであることを特徴とするので、 可変長符号化処理の対象 となる係数データに含まれる冗長な情報が、 該係数データを構成する係数の特性 ゃ該係数に対する符号ィヒ処理の状況に応じた符号表の選択により効果的に除去さ れることとなり、 これにより画像信号などに対する可変長符号化処理の符号化効 率を大きく向上することができる効果がある。
本発明によれば、 上記可変長符号化方法において、 上記係数は、 画像データの 周波数成分を、 該画像データに応じた量子化ステップに基づいて量子化して得ら れたものであり、 上記符号表選択ステップは、 上記符号割当ステツプで用いる符 号表を、 上記量子ィ匕ステツプの大きさに応じて選択するものであることを特徴と するので、 常に、 量子ィヒステップの大きさに適した、 符号化効率が最大となる符 号表を用いることができる効果がある。
本発明によれば、 上記可変長符号化方法において、 上記係数に対する符号化処 理は、 その値が 0である連続する 0係数の個数を示すラン値と、 該 0係数に続く 非 0係数の値を示すレベル値とを、 それぞれ符号に変換するものであり、 上記符 号表選択ステップは、 上記ラン値と符号との対応を示す複数の符号表から、 上記 量子ィヒステップの大きさに応じて 1つの符号表を選択する第 1の選択処理と、 上 記レベル値と符号との対応を示す複数の符号表から、 上記量子化ステップの大き さに応じて 1つの符号表を選択する第 2の選択処理のうちの少なくとも一方の選 択処理を行うものであり、 上記符号割当ステップは、 上記選択された符号表に基 づいて、 上記符号ィ匕処理が施されていない未符号化係数に対応するラン値及びレ ベル値の少なくとも一方に符号を割り当てるものであることを特徴とするので、 ラン値及びレベル値の少なくとも一方に対する符号の割当を、 常に、 量子化ステ ップの大きさに適した、 割り当てられる符号の合計ビット数が最小となる符号表 を用いて行うことができる効果がある。
本発明によれば、 上記可変長符号化方法において、 上記係数に対する符号化処 理は、 その値が 0である連続する 0係数の個数を示すラン値と、 該 0係数に続く 非 0係数の値を示すレベル値とからなるランレベル対を符号に変換するものであ り、 上記符号表選択ステップは、 上記量子化ステップの大きさに応じて、 上記ラ ンレベル対と符号との対応を示す複数の符号表から 1つの符号表を選択するもの であり、 上記符号割当ステップは、 上記選択された符号表に基づいて、 上記符号 化処理が施されていない未符号化係数に対応するランレベル対に符号を割り当て るものであることを特徴とするので、 ランレベル対に対する符号の割当を、常に、 量子化ステップの大きさに適した、 割り当てられる符号の合計ビット数が最小と なる符号表を用いて行うことができる効果がある。
本発明によれば、上記可変長符号化方法にぉレ、て、上記符号表選択ステップは、 上記符号割当ステツプで用レヽる符号表を、 上記符号化処理が施された処理済係数 に関する情報に応じて選択するものであることを特徴とするので、 量子化係数に 対する符号化処理を、 常に、 未符号化係数の個数に適した、 符号化効率が最大と なる符号表を用いて行うことができる効果がある。 本発明によれば、 上記可変長符号化方法において、 上記係数に対する符号化処 理は、 その値が 0である連続する 0係数の個数を示すラン値と、 該 0係数に続く 非 0係数の値を示すレベル値とを、 それぞれ符号に変換するものであり、 上記符 号表選択ステップは、 上記ラン値と符号との対応を示す複数の符号表から、 符号 化処理が施された処理済み係数に対応するラン値に関する情報に応じて 1つの符 号表を選択する第 1の選択処理と、 上記レベル値と符号との対応を示す複数の符 号表から、 符号化処理が施された処理済み係数に対応するレベル値に関する情報 に応じて 1つの符号表を選択する第 2の選択処理のうちの少なくとも一方の選択 処理を行うものであり、 上記符号割当ステップは、 上記選択された符号表に基づ いて、 上記符号ィ匕処理が施されていない未符号化係数に対応するラン値及ぴレべ ル値の少なくとも一方に符号を割り当てるものであることを特 ί敷とするので、 ラ ン値及びレベル値の少なくとも一方に対する符号の割当を、 常に、 未符号化係数 の個数に適した、 符号化効率が最大となる符号表を用いて行うことができる効果 力 sある。
本発明によれば、上記可変長符号化方法において、上記符号表選択ステツプは、 上記ラン値と符号との対応を示す複数の符号表から、 符号が割当てられている処 理済みラン値の個数に応じて 1つの符号表を選択するものであり、 上記符号割当 ステップは、 上記選択された符号表に基づいて、 上記符号の割り当てられていな V、未符号化ラン値に符号を割り当てるものであることを特徴とするので、 ラン値 に対する符号の割当を、 常に、 未符号化ラン値の個数に適した、 符号ィヒ効率が最 大となる符号表を用いて行うことができる効果がある。
本発明によれば、 上記可変長符号化方法において、 上記係数に対する符号ィ匕処 理は、 その値が 0である連続する 0係数の個数を示すラン値と、 該 0係数に続く 非 0係数の値を示すレベル値とからなるランレベル対を符号に変換するものであ り、 上記符号表選択ステップは、 符号ィ匕処理が施された処理済み係数に対応する ランレベル対に関する情報に応じて、 上記ランレベル対と符号との対応を示す複 数の符号表から 1つの符号表を選択するものであり、 上記符号割当ステップは、 上記選択された符号表に基づレヽて、 上記符号化処理が施されていなレヽ未符号化係 数に対応するランレベル対に符号を割り当てるものであることを特徴とするので、 ランレベル対に対する符号の割当を、 常に、 未符号化係数の個数に適した、 符号 化効率が最大となる符号表を用いて行うことができる効果がある。
本発明によれば、 上記可変長符号化方法において、 上記係数は、 画像データの 周波数成分を、 該画像データに応じた量子化ステップに基づレヽて量子化して得ら れたものであり、 上記符号化ステップは、 上記係数に対する符号ィ匕処理を、 上記 係数データを構成する複数の係数に対して、 対応する画像データの周波数成分の 高い順に符号が割当られるよう行うものであることを特徴とするので、 上記係数 に割り当てられる符号の合計ビット数をより一層削減することができる効果があ る。
本発明に係る可変長符号化方法によれば、 複数の係数からなる係数データを符 号ィ匕して、 複数の符号からなる符号化データに変換する可変長符号化方法であつ て、 上記係数に対して、 該係数の大きさを表す数値情報と符号との対応を示す複 数の符号表を用いて、 その値が 0である連続する 0係数の個数を示すラン値と、 該 0係数に続く非 0係数の値を示すレベル値とからなるランレベル対を符号に変 換する符号化処理を施す符号化ステップを含み、 該符号ィ匕ステップは、 上記符号 表を、 上記符号化処理が施された処理済係数に関する情報、 及び上記係数の生成 に関するパラメータの少なくとも一方に応じて選択する符号表選択ステップと、 上記符号化処理が施されていない未符号化係数に対して、 上記選択された符号表 を用いて符号を割り当てる符号割当ステップとを含むものであることを特徴とす るので、 可変長符号ィヒ処理の対象となる係数データに含まれる冗長な情報が、 該 係数データを構成する係数の特性ゃ該係数に対する符号ィヒ処理の状況に応じた符 号表の選択により効果的に除去されることとなり、 これにより画像信号などに対 する可変長符号化処理の符号化効率を大きく向上することができる効果がある。 本発明によれば、 上記可変長符号化方法において、 上記係数に対する符号化処 理は、 ランレベル対の符号への変換を、 一定数の係数からなるブロック毎に行う ものであり、 上記符号表選択ステップは、 上記符号化処理の対象となる対象ブ口 ックにおける、 符号化処理の施された処理済係数の個数と、 該対象ブロックにお ける、 符号ィ匕処理の施されていない未符号ィ匕非 0係数の個数との和に応じて、 上 記ランレベル対と符号との対応を示す複数の符号表から 1つの符号表を選択する ものであり、 上記符号割当ステップは、 上記選択された符号表に基づいて、 上記 対象プロックにおける未符号化係数に対応するランレベル対に符号を割り当てる ものであることを特徴とするので、 出現する可能性のないラン値とレベル値の対 を排除した符号表を用いることができ、 これにより可変長符号化効率を向上する ことができる効果がある。
本発明によれば、 上記可変長符号化方法において、 上記符号化ステップは、 上 記ランレベル対と、 これに対応する符号との対応を、 該ランレベル対を形成する ラン値とレベル値の組み合わせに応じて示す第 1の符号表に基づいて、 該第 1の 符号表における、 ランレベル対と符号との対応を規則的に変更して、 該第 1の符 号表とは、 該ランレベル対と符号との対応が異なる第 2の符号表を作成する符号 表処理ステップを含み、 上記符号表選択ステップは、 上記第 1及び第 2の符号表 の一方を、 上記処理済係数に関する情報、 及び上記係数の生成に関するパラメ一 タの少なくとも一方に応じて選択するものであることを特徴とするので、 ラン値 とレベル値との対に符号を割り当てる際に用レ、る符号表として、 第 1及び第 2の 符号表のうちの最適なものが選択されることとなり、 処理対象データに存在する 情報の冗長性をより効果的に排除することができる。 これにより、 画像信号など の圧縮率のさらなる向上を図ることができ、 その実用的価値は高いものである。 本発明によれば、 上記可変長符号化方法において、 上記第 1及び第 2の符号表 は、 各ランレベル対に、 該ランレベル対を形成するレベル値が小さいほど、 短い 符号を対応付けたものであり、上記第 2の符号表は、上記第 1の符号表と比べて、 平均的に、 短い符号を対応付けられるランレベル対のレベル値が小さいものであ ることを特徴とするので、 上記処理対象データを構成する係数の量子化パラメ一 タが大きい場合に有効であるという効果がある。
本発明によれば、 上記可変長符号化方法において、 上記第 1及び第 2の符号表 は、 各ランレベル対に、 該ランレベル対を形成するラン値が小さいほど、 短い符 号を対応付けたものであり、 上記第 2の符号表は、 上記第 1の符号表と比べて、 平均的に、 短レ、符号を対応付けられるランレベル対のラン値が小さいものである ことを特徴とするので、 上記処理対象データを構成する係数の量子ィ匕パラメータ が小さい場合に有効である。 本発明によれば、 上記可変長符号化方法において、 上記係数に対する符号化処 理は、 ランレベル対の符号への変換を、 一定数の係数からなるプロック毎に行う ものであり、 上記符号表処理ステップは、 上記第 2の符号表を、 上記符号化処理 の対象となる対象プロックにおける、 該符号ィ匕処理が施された処理済係数の数に 応じて作成するものであることを特徴とするので、 第 2の符号表を、 出現する可 能性のないラン値とレベル値の対を排除したものとすることができ、 これにより 可変長符号化効率を一層向上することができる効果がある。
本発明によれば、 上記可変長符号化方法において、 上記符号割当ステップは、 上記ランレベル対に対する符号の割当を、 画像データの周波数成分の高い係数に 対応するランレベル対から順に行うものであることを特 #5 [とするので、 第 2の符 号表を、 出現する可能性のないラン値とレベル値の対を排除したものとすること による可変長符号化効率の向上を、 より大きなものとすることができる効果があ る。
本発明によれば、 上記可変長符号化方法において、 上記第 2の符号表は、 上記 第 1の符号表に含まれる、 ランレベル対と符号との複数の対応のうちの、 規則的 に算出可能な対応のみを変更したものであることを特 とするので、 第 2の符号 表の作成に要する演算処理を削減することができる効果がある。
本発明によれば、 上記可変長符号化方法において、 上記係数データを構成する 係数は、 画像データの周波数成分を、 画像データに応じた量子化ステップに基づ いて量子化して得られたものであり、 上記符号表選択ステップは、 上記第 1の符 号表と第 2の符号表の切替えを、 上記量子化ステップの大きさに基づいて行う符 号表切替ステツプであることを特徴とするので、 上記処理対象データを構成する 係数の可変長符号化処理に用いる符号表として、 量子化ステップに適したものを 用いることができる効果がある。
本発明によれば、上記可変長符号化方法にぉレヽて、上記符号表選択ステップは、 上記第 1の符号表と第 2の符号表の切替を、 切替え指示信号に基づいて行う符号 表切替ステップであり、 上記符号化ステップは、 上記切替え指示信号の符号化処 理を行うものであることを特徴とするので、 処理対象データの特性などに合わせ て、 上記係数の可変長符号ィ匕処理に用いる符号表を切替えることができる効果が ある。
本発明によれば、 上記可変長符号化方法において、 上記係数に対する符号化処 理は、 ランレベル対の符号への変換を、 一定の係数からなるブロック毎に行うも のであり、 上記符号表処理ステップは、 上記第 2の符号表を、 符号ィ匕処理の対象 となる対象ブロックにおける、 符号化処理が施された処理済係数の個数と、 該対 象プロックにおける、 符号化処理が施されていなレ、未符号化非 0係数の個数との 和に応じて作成するものであることを特徴とするので、 第 2の符号表を、 出現す る可能†生のないラン値とレベル値の対を排除したものとすることができ、 これに より可変長符号化効率を一層向上することができる効果がある。
本発明に係る可変長符号ィヒ装置によれば、 複数の係数からなる係数データを符 号ィ匕する可変長符号ィヒ装置であって、 上記各係数に対して、 該係数の大きさを表 す数値情報と符号との対応を示す複数の符号表を用いて、 上記係数データを複数 の符号からなる符号化データに変換する符号化処理を施す符号化部を含み、 該符 号化部は、 上記符号表を、 上記符号化処理が施された処理済係数に関する情報、 及び上記係数の生成に関するパラメータの少なくとも一方に応じて選択する符号 表選択部と、 上記符号ィ匕処理が施されていない未符号化係数に対して、 上記選択 された符号表を用いて符号を割り当てる符号割当部とを有するものであることを 特徴とするので、 可変長符号化処理の対象となる係数データに含まれる冗長な情 報が、 該係数データを構成する係数の特性ゃ該係数に対する符号ィ匕処理の状況に 応じた符号表の選択により効果的に除去されることとなり、 これにより画像信号 などに対する可変長符号化処理の符号ィ匕効率を大きく向上することができる効果 がある。
本発明によれば、 上記可変長符号化装置において、 上記係数は、 画像データの 周波数成分を、 該画像データに応じた量子ィ匕ステップに基づいて量子化して得ら れたものであり、 上記符号表選択部は、 上記符号割当部で用いる符号表を、 上記 量子ィ匕ステップの大きさに応じて選択するものであることを特徴とするので、 常 に、 量子化ステップの大きさに適した、 符号化効率が最大となる符号表を用いる ことができる効果がある。
本発明によれば、 上記可変長符号化装置において、 上記符号表選択部は、 上記 符号割当部で用いる符号表を、 上記符号化処理が施された処理済係数に関する情 報に応じて選択するものであることを特徴とするので、 量子化係数に対する符号 化処理を、 常に、 未符号化係数の個数に適した、 符号化効率が最大となる符号表 を用いて行うことができる効果がある。
本発明によれば、 上記可変長符号化装置において、 上記係数に対する符号ィ匕処 理は、 その値が 0である連続する 0係数の個数を示すラン値と、 該 0係数に続く 非 0係数の値を示すレベル値とを、 それぞれ符号に変換するものであり、 上記符 号表選択部は、 上記ラン値と符号との対応を示す複数の符号表から、 符号が割当 てられている処理済みラン値の個数に応じて 1つの符号表を選択するものであり、 上記符号害【j当部は、 上記選択された符号表に基づいて、 上記符号の割り当てられ ていなレ、未符号化ラン値に符号を割り当てるものであることを特徴とするので、 ラン値に対する符号の割当を、 常に、 未符号ィ匕ラン値の個数に適した、 符号化効 率が最大となる符号表を用いて行うことができる効果がある。
本発明によれば、 上記可変長符号化装置において、 上記係数は、 画像データの 周波数成分を、 該画像データに応じた量子ィ匕ステツプに基づレヽて量子化して得ら れたものであり、 上記符号化部は、 上記係数に対する符号化処理を、 上記係数デ ータを構成する複数の係数に対して、 対応する画像データの周波数成分の高い順 に符号が割当られるよう行うものであることを特徴とするので、 上記係数に割り 当てられる符号の合計ビット数をより一層削減することができる効果がある。 本発明に係るプログラム記憶媒体によれば、 複数の係数からなる係数データを 符号化する可変長符号化処理をコンピュータにより行うプログラムを格納した記 憶媒体であって、 上記プログラムは、 上記各係数に対して、 該係数の大きさを表 す数値情報と符号との対応を示す複数の符号表を用いて、 上記係数データを複数 の符号からなる符号ィ匕データに変換する符号ィ匕処理を施す符号化ステップを含み、 該符号ィ匕ステップは、 上記符号表を、 上記符号化処理が施された処理済係数に関 する情報、 及び上記係数の生成に関するパラメータの少なくとも一方に応じて選 択する符号表選択ステップと、 上記符号ィ匕処理が施されていない未符号化係数に 対して、 上記選択された符号表を用いて符号を割り当てる符号割当ステップとを 含むものであることを特徴とするので、 可変長符号化処理の対象となる係数デー 02 12232
35 タに含まれる冗長な情報を、 該係数データを構成する係数の特性ゃ該係数に対す る符号化処理の状況に応じた符号表の選択により効果的に除去できる符号ィヒ効率 の高い可変長符号ィ匕処理を、 ソフトウェアにより実現することができる効果があ る。
本発明に係る可変長復号ィ匕方法によれば、 複数の係数からなる係数データを可 変長符号化して得られた、 複数の符号からなる符号化データを複号化する可変長 復号化方法であって、 上記各符号に対して、 上記係数の大きさを表す数値情報と 上記符号との対応を示す複数の符号表を用いて、 上記符号化データを上記複数の 係数からなる係数データに復元する復号化処理を施す復号化ステップを含み、 該 複号化ステップは、 上記符号表を、 上記符号化処理が施された処理済係数に関す る情報、 及び上記係数の生成に関するパラメータの少なくとも一方に応じて選択 する符号表選択ステツプと、 上記復号化処理が施されていなレヽ未復号化符号に対 応する数値情報を、 上記選択された符号表を用いて取得する数値取得ステップと を含むものであることを特徴とするので、 係数データを、 符号表の切替えにより 該係数データに含まれる冗長な情報を効果的に除去して符号化することができる 符号化効率の高レヽ可変長符号化処理に対応した可変長復号化処理を行うことがで きる効果がある。
本発明によれば、 上記可変長復号化方法において、 上記係数は、 画像データの 周波数成分を、 該画像データに応じた量子化ステップに基づいて量子化して得ら れたものであり、 上記符号表選択ステップは、 上記数値取得ステップで用いる符 号表を、 上記量子ィ匕ステップの大きさに応じて選択するものであることを特 ί敷と するので、 常に、 量子化ステップの大きさに適した、 符号化効率が最大となる符 号表を用いる可変長符号化処理に対応した可変長復号化処理を行うことができる 効果がある。
本発明によれば、 上記可変長復号化方法において、 上記符号に対する復号化処 理は、 上記符号を、 その値が 0である連続する 0係数の個数を示すラン値と、 該 0係数に続く非 0係数の値を示すレベル値とに復元するものであり、 上記符号表 選択ステップは、 上記ラン値と符号との対応を示す複数の符号表から、 上記量子 化ステップの大きさに応じて 1つの符号表を選択する第 1の選択処理と、 上記レ ベル値と符号との対応を示す複数の符号表から、 上記量子化ステップの大きさに 応じて 1つの符号表を選択する第 2の選択処理のうちの少なくとも一方の選択処 理を行うものであり、 上記数値取得ステップは、 上記選択された符号表に基づい て、 上記復号ィ匕処理が施されていない未復号ィ匕符号に対応するラン値及びレベル 値の少なくとも一方を取得するものであることを特徴とするので、 ラン値及びレ ベル値の少なくとも一方に対する符号の割当を、 常に、 量子化ステップの大きさ に適した、 割り当てられる符号の合計ビット数が最小となる符号表を用いて行う 可変長符号化処理に対応した可変長復号化処理を行うことができる効果がある。 本発明によれば、 上記可変長復号化方法において、 上記符号に対する復号化処 理は、 該符号を、 その値が 0である連続する 0係数の個数を示すラン値と、 該 0 係数に続く非 0係数の値を示すレベル値とからなるランレベル対に復元するもの であり、 上記符号表選択ステップは、 上記量子ィ匕ステップの大きさに応じて、 上 記ランレベル対と符号との対応を示す複数の符号表から 1つの符号表を選択する ものであり、 上記数値取得ステップは、 上記選択された符号表に基づいて、 上記 複号化処理が施されていない未複号化符号に対応するランレベル対を取得するも のであることを特徴とするので、 ランレベル対に対する符号の割当を、 常に、 量 子化ステップの大きさに適した、 割り当てられる符号の合計ビット数が最小とな る符号表を用いて行う可変長符号ィ匕処理に対応した可変長復号化処理を行うこと ができる効果がある。
本発明によれば、上記可変長複号化方法において、上記符号表選択ステツプは、 上記数値取得ステップで用いる符号表を、 上記複号化処理により得られた処理済 係数に関する情報に応じて選択するものであることを特徴とするので、 量子化係 数を、 常に、 未複号化係数の個数に適した、 符号化効率が最大となる符号表を用 いて符号ィ匕する可変長符号ィ匕処理に対応した可変長復号化処理を行うことができ る効果がある。
本発明によれば、 上記可変長復号化方法において、 上記符号に対する復号化処 理は、 該符号を、 その値が 0である連続する 0係数の個数を示すラン値と、 該 0 係数に続く非 0係数の値を示すレベル値とに復元するものであり、 上記符号表選 択ステップは、 上記ラン値と符号との対応を示す複数の符号表から、 復号化処理 12232
37 により得られた処理済みラン値に関する情報に応じて 1つの符号表を選択する第 1の選択処理と、 上記レベル値と符号との対応を示す複数の符号表から、 復号化 処理により得られた処理済みレベル値に関する情報に応じて 1つの符^ ¾を選択 する第 2の選択処理のうちの少なくとも一方の選択処理を行うものであり、 上記 数値取得ステップは、 上記選択された符号表に基づいて、 上記復号化処理が施さ れていない未復号化符号に対応するラン値及びレベル値の少なくとも一方を取得 するものであることを特徴とするので、 ラン値及びレベル値の少なくとも一方に 対する符号の割当を、 常に、 未復号化係数の個数に適した、 符号化効率が最大と なる符号表を用いて行う可変長符号化処理に対応した可変長復号化処理を行うこ とができる効果がある。
本発明によれば、上記可変長複号化方法において、上記符号表選択ステップは、 上記ラン値と符号との対応を示す複数の符号表から、 復号ィヒ処理により得られた 処理済みラン値の個数に応じて 1つの符号表を選択するものであり、 上記数値取 得ステップは、 上記選択された符号表に基づレ、て、 上記復号ィ匕処理が施されてい ない未複号化符号に対応するラン値を取得するものであることを特徴とするので、 ラン値に対する符号の割当を、 常に、 未復号化ラン値の個数に適した、 符号化効 率が最大となる符号表を用いて行う可変長符号化処理に対応した可変長復号ィ匕処 理を行うことができる効果がある。
本発明によれば、 上記可変長復号化方法において、 上記符号に対する復号ィ匕処 理は、 符号を、 その値が 0である連続する 0係数の個数を示すラン値と、 該 0係 数に続く非 0係数の値を示すレベル値とからなるランレベル対に復元するもので あり、 上記符号表選択ステップは、 復号化処理により得られたランレベル対に関 する情報に応じて、 上記ランレベル対と符号との対応を示す複数の符号表から 1 つの符号表を選択するものであり、 上記数値取得ステップは、 上記選択された符 号表に基づいて、 上記復号ィ匕処理が施されていない未復号化符号に対応するラン レベル対を取得するものであることを特徴とするので、 ランレベル対に対する符 号の割当を、 常に、 未復号化係数の個数に適した、 符号化効率が最大となる符号 表を用いて行う可変長符号化処理に対応した可変長複号化処理を行うことができ る効果がある。 本発明によれば、 上記可変長復号化方法において、 上記係数は、 画像データの 周波数成分を、 該画像データに応じた量子化ステップに基づレ、て量子化して得ら れたものであり、 上記復号ィヒステップは、 上記符号に対する復号化処理を、 上記 符号に対応する数値情報が、 対応する画像データの周波数成分の高いものから順 に取得されるよう行うものであることを特徴とするので、 上記係数に割り当てら れる符号の合計ビット数をより一層削減可能な可変長符号化処理に対応した可変 長復号ィ匕処理を行うことができる効果がある。
本発明に係る可変長復号ィ匕方法によれば、 複数の符号からなる符号ィ匕データを 復号ィ匕して、 複数の係数からなる係数データに変換する可変長復号化方法であつ て、 上記符号に対して、 上記係数の大きさを表す数値情報と上記符号との対応を 示す複数の符号表を用いて、 該符号化データを構成する符号を、 その値が 0であ る連続する 0係数の個数を示すラン値と、 該 0係数に続く非 0係数の値を示すレ ベル値とからなるランレベル対に復元する複号化処理を施す復号化ステツプを含 み、 該復号化ステップは、 上記符号表を、 上記復号化処理が施された処理済係数 に関する情報、 及び上記係数の生成に関するパラメータの少なくとも一方に応じ て選択する符号表選択ステツプと、 上記復号化処理が施されていなレヽ未復号化符 号に対応する数値情報を、 上記選択された符号表を用いて取得する数値取得ステ ップとを含むものであることを特徴とするので、 係数データを、 符号表の切替え により該係数データに含まれる冗長な情報を効果的に除去して符号ィ匕することが できる符号化効率の高い可変長符号化処理に対応した可変長復号化処理を行うこ とができる効果がある。
本発明によれば、 上記可変長復号化方法において、 上記符号に対する復号化処 理は、 該符号のランレベル対への復元を、 上記係数データを構成する一定数の係 数からなるブロック毎に行うものであり、 上記符号表選択ステップは、 上記復号 化処理の対象となる対象ブロックにおける、 該ブロックの復号化処理により得ら れた処理済係数の個数と、 該対象プロックにおける、 該プロックの復号化処理で は未だ得られていなレ、未復号化非 0係数の個数との和に応じて、 上記ランレベル 対と符号との対応を示す複数の符号表から 1つの符号表を選択するものであり、 上記数値取得ステップは、 上記選択された符号表に基づいて、 上記対象プロック における未複号化係数に対応するランレベル対を取得するものであることを特徴 とするので、 出現する可能性のないラン値とレベル値の対を排除した符号表を用 レ、て、 効率の高い可変長符号化処理に対応した可変長複号化処理を実現できる効 果がある。
本発明によれば、 上記可変長復号化方法において、 上記復号化ステップは、 上 記ランレベル対と、 これに対応する符号との対応を、 該ランレベル対を形成する ラン値とレベル値の組み合わせに応じて示す第 1の符号表に基づいて、 該第 1の 符号表における、 ランレベル対と符号との対応を規則的に変更して、 該第 1の符 号表とは、 該ランレベル対と符号との対応が異なる第 2の符号表を作成する符号 表処理ステップを含み、 上記符号表選択ステップは、 上記第 1及び第 2の符号表 の一方を、 上記処理済係数に関する情報、 及び上記係数の生成に関するパラメ一 タの少なくとも一方に応じて選択するものであることを特徴とするので、 符号を ラン値とレベル値との対に変換する際に用いる符号表として、 第 1及び第 2の符 号表のうちの最適なものが選択されることとなる。 これにより処理対象データに 存在する情報の冗長性をより効果的に排除する可変長符号ィヒ処理に対応した可変 長復号ィ匕処理を良好に行うことができ、 その実用的価値は高いものである。
本発明によれば、 上記可変長復号化方法において、 上記第 1及び第 2の符号表 は、 各ランレベル対に、 該ランレベル対を形成するレベル値が小さレ、ほど、 短い 符号を対応付けたものであり、上記第 2の符号表は、上記第 1の符号表と比べて、 平均的に、 短い符号を対応付けられるランレベル対のレベル値が小さいものであ ることを特徴とするので、 上記処理対象データを構成する係数に関する量子化パ ラメータが大きレ、場合に有効である。
本発明によれば、 上記可変長復号化方法において、 上記第 1及び第 2の符号表 は、 各ランレベル対に、 該ランレベル対を形成するラン値が小さいほど、 短い符 号を対応付けたものであり、 上記第 2の符号表は、 上記第 1の符号表と比べて、 平均的に、 短!/、符号を対応付けられるランレベル対のラン値が小さいものである ことを特 ί敷とするので、 上記処理対象データを構成する係数の量子ィヒパラメータ が小さい場合に有効である。
本発明によれば、 上記可変長復号化方法において、 上記符号に対する復号化処 理は、 該符号のランレベル対への復元を、 上記係数データを構成する一定数の係 数からなるブロック毎に行うものであり、 上記符号表処理ステップは、 上記第 2 の符号表を、 上記複号化処理の対象となる対象ブロックにおける、 該復号化処理 により得られた処理済係数の数に応じて作成するものであることを特徴とするの で、 第 2の符号表を、 出現する可能性のないラン値とレベル値の対を排除したも のとすることができ、 これにより、 より効率の高い可変長符号ィ匕処理に対応した 可変長復号ィ匕処理を実現できる効果がある。
本発明によれば、 上記可変長復号化方法において、 上記数値取得ステップは、 上記符号に対応するランレベル対の取得を、 対応する画像データの周波数成分の 高いランレべノレ対から順に行うものであることを特徴とするので、 第 2の符号表 を、 出現する可能性のないラン値とレベル値の対を排除したものとすることによ りさらに効果的に圧縮率を向上した可変長符号ィヒ処理に対応する可変長復号ィ匕処 理を実現できる効果がある。
本発明によれば、 上記可変長復号化方法において、 上記第 2の符号表は、 上記 第 1の符号表に含まれる、 ランレベル対と符号との複数の対応のうちの、 規則的 に算出可能な対応のみを変更したものであることを特徴とするので、 第 2の符号 表の作成に要する演算処理を削減することができる効果がある。
本発明によれば、 上記可変長復号化方法において、 上記係数データを構成する 係数は、 画像データの周波数成分を、 画像データに応じた量子ィ匕ステップに基づ いて量子化して得られたものであり、 上記符号表選択ステップは、 上記第 1の符 号表と第 2の符号表の切替えを、 上記量子ィ匕ステップの大きさに基づいて行うも のであることを特徴とするので、 上記処理対象データを構成する係数の可変長復 号化処理に用いる符号表として、 量子化ステップに適したものを用いることがで きる効果がある。
本発明によれば、上記可変長復号化方法にお!/、て、上記符号表選択ステップは、 上記第 1の符号表と第 2の符号表の切替を、 切替え指示信号に基づいて行う符号 表切替ステップを含むものであり、 上記復号化ステツプは、 上記切替え指示信号 の復号ィ匕処理を行うものであることを特徴とするので、 処理対象データの特个生な どに合わせて、 可変長復号ィ匕処理に用いる符号表を切替えることができる効果が ある。
本発明によれば、 上記可変長復号化方法において、 上記符号に対する復号化処 理は、 符号のランレベル対への復元を、 上記係数データを構成する一定の係数か らなるプロック毎に行うものであり、 上記符号表処理ステツプは、 上記第 2の符 号表を、 復号化処理の対象となる対象プロックにおける、 該プロックに対する復 号ィ匕処理により得られた処理済係数の個数と、 該対象プロックにおける、 該ブロ ックに対する復号化処理では未だ得られていない未復号化非 0係数の個数との和 に応じて作成するものであることを特徴とするので、 第 2の符号表として、 出現 する可能性のないラン値とレベル値の対を排除したものを用いて、 より効率の高 い可変長符号化処理に対応した可変長復号化処理を実現できる効果がある。
本発明に係る可変長復号化装置によれば、 複数の係数からなる係数データを可 変長符号化して得られた、 複数の符号からなる符号化データを復号化する可変長 復号化装置であって、 上記各符号に対して、 上記係数の大きさを表す数値情報と 上記符号との対応を示す複数の符号表を用いて、 上記符号化データを上記複数の 係数からなる係数データに復元する復号化処理を施す複号化部を備え、 該復号ィ匕 部は、 上記符号表を、 上記復号化処理が施された処理済係数に関する情報、 及び 上記係数の生成に関するパラメータの少なくとも一方に応じて選択する符号表選 択部と、 上記復号化処理が施されていなレヽ未復号化符号に対応する数値情報を、 上記選択された符号表を用いて取得する数値取得部とを有するものであることを 特徴とするので、 係数データを、 符号表の切替えにより該係数データの情報の冗 長性を効果的に除去して符号化することができる符号化効率の高い可変長符号ィ匕 処理に対応した可変長複号化処理を行うことができる効果がある。
本発明によれば、 上記可変長復号化装置において、 上記係数は、 画像データの 周波数成分を、 該画像データに応じた量子化ステツプに基づいて量子ィ匕して得ら れたものであり、 上記符号表選択部は、 上記数値取得部で用いる符号表を、 上記 量子化ステップの大きさに応じて選択するものであることを特徴とするので、 常 に、 量子ィ匕ステップの大きさに適した、 符号化効率が最大となる符号表を用いる 可変長符号化処理に対応した可変長複号化処理を行うことができる効果がある。 本発明によれば、 上記可変長復号化装置において、 上記符号表選択部は、 上記 数値取得部で用いる符号表を、 上記復号ィ匕処理により得られた処理済係数に関す る情報に応じて選択するものであることを特徴とするので、量子化係数を、常に、 未復号化係数の個数に適した、 符号化効率が最大となる符号表を用いて符号化す る可変長符号化処理に対応した可変長復号化処理を行うことができる効果がある。 本発明によれば、 上記可変長復号化装置において、 上記符号に対する復号化処 理は、 該符号を、 その値が 0である連続する 0係数の個数を示すラン値と、 該 0 係数に続く非 0係数の値を示すレベル値とに復元するものであり、 上記符号表選 択部は、 上記ラン値と符号との対応を示す複数の符号表から、 復号化処理により 得られた処理済みラン値の個数に応じて 1つの符号表を選択するものであり、 上 記数値取得部は、 上記選択された符号表に基づいて、 上記復号化処理が施されて いない未復号ィ匕符号に対応するラン値を取得するものであることを特 ί散とするの で、 ラン値に対する符号の割当を、 常に、 未復号化ラン値の個数に適した、 符号 化効率が最大となる符号表を用いて行う可変長符号化処理に対応した可変長復号 化処理を行うことができる効果がある。
本発明は、 上記可変長複号化装置において、 上記係数は、 画像データの周波数 成分を、 該画像データに応じた量子化ステップに基づいて量子ィ匕して得られたも のであり、 上記復号化部は、 上記符号に対する複号化処理を、 上記符号に対応す る数値情報が、 対応する画像データの周波数成分の高いものから順に取得される よう行うものであることを特徴とするので、 上記係数に割り当てられる符号の合 計ビット数をより一層削減可能な可変長符号ィヒ処理に対応した可変長復号ィ匕処理 を行うことができる効果がある。
本発明に係るプログラム記憶媒体によれば、 複数の係数からなる係数データを 可変長符号化して得られた、 複数の符号からなる符号化データを復号化する可変 長復号化処理をコンピュータにより行うプログラムを格納した記憶媒体であって、 上記プログラムは、 上記各符号に対して、 上記係数の大きさを表す数値情報と上 記符号との対応を示す複数の符号表を用いて、 上記符号化データを上記複数の係 数からなる係数データに復元する復号化処理を施す復号化ステツプを含み、 該復 号ィ匕ステップは、 上記符号表を、 上記符号ィ匕処理が施された処理済係数に関する 情報、 及ぴ上記係数の生成に関するパラメータの少なくとも一方に応じて選択す る符号表選択ステツプと、 上記復号ィ匕処理が施されていな!/ヽ未復号ィ匕符号に対応 する数値情報を、 上記選択された符号表を用いて取得する数値取得ステップとを 含むものであることを特徴とするので、 係数データを、 符号表の切替えにより該 係数データに含まれる冗長な情報を効果的に除去して符号化することができる符 号化効率の高い可変長符号化処理に対応した可変長復号化処理を、 ソフトウェア により実現することができる効果がある。 図面の簡単な説明
第 1図は、 本発明の実施の形態 1による画像符号化装置 1 0 1を説明するため のブロック図である。
第 2図は、 上記実施の形態 1の画像符号化装置 1 0 1を構成するランレングス 符号化器 RLE1を示すプロック図である。
第 3図は、 上記ランレングス符号化器 RLE1でのジグザグスキャン (第 3 (a)図 〜第 3 (d)図) 及びラン値, レベル値の並べ替え (第 3 (e)図, 第 3 (f)図) を説明 するための図である。
第 4図は、 上記ランレングス符号化器 RLE1の可変長符号化器 LVLCでの処理を 説明する図であり、 第 4 (a)図はレベル値の可変長符号化処理のフロー、 第 4 (b) 図は該レベル値の可変長符号化処理で用レ、る符号表を示している。
第 5図は、 上記ランレングス符号化器 RLE1の可変長符号化器 RVLCでの処理を 説明する図であり、 ラン値の可変長符号ィ匕処理のフロー (第 5 (a)図) 、及び該ラ ン値の可変長符号化処理で用いる符号表 (第 5 (b)図) を示している。
第 6図は、上記可変長符号化器 LVLCにてレベル値 (量子化パラメータ比較的小) に割り当てられる符号の合計ビット数を、 符号表 L 2を用いた場合 (第 6 (a)図) と符号表 L 1を用いた場合 (第 6 (b)図) とに分けて示す図である。
第 7図は、上記可変長符号化器 LVLCにてレベル値 (量子化パラメータ比較的大) に割り当てられる符号の合計ビット数を、 符号表 L 2を用いた場合 (第 7 (a)図) と符号表 L 1を用いた場合 (第 7 (b)図) とに分けて示す図である。
第 8図は、上記可変長符号化器 RVLCにてラン値に割り当てられる符号の合計ビ ット数を、特定の符号表を用いた場合 (第 8 (a)図) 、符号表の切替及びラン値の 並替を行った場合 (第 8 (b)図) 、 符号表の切替のみ行った場合 (第 8 (c)図) に 分けて示す図である。
第 9図は、 本発明の実施の形態 2による画像復号化装置 1 0 2を説明するため のプロック図である。
第 1 0図は、 上記実施の形態 2の画像復号化装置 1 0 2を構成するランレング ス復号化器 RLD1を示すブロック図である。
第 1 1図は、上記可変長復号化器 LVLDの可変長復号化処理を説明する図であり、 レベル値を復元する可変長復号ィ匕処理のフロー(第 1 1 (a)図)、及び該可変長復 号ィ匕処理で用いる符号表 (第 1 1 (b)図) を示している。
第 1 2図は、上記可変長復号化器 RVLDの可変長復号ィ匕処理を説明する図であり、 ラン値を復元する可変長復号化処理のフロー(第 1 2 (a)図)、及び該可変長復号 化処理で用いる符号表 (第 1 2 (b)図) を示している。
第 1 3図は、 本発明の実施の形態 3による画像符号化装置 1 0 3を説明するた めのプロック図である。
第 1 4図は、 上記実施の形態 3の画像符号化装置 1 0 3を構成するランレング ス符号化器 RLE2を示すプロック図である。
第 1 5図は、上記実施の形態 3のランレンダス符号化器 RLE2にて作成される符 号表 (第 2の符号表) の例 T2a (第 1 5 (a)図) , T2b (第 1 5 (b)図) を示す図 である。
第 1 6図は、上記実施の形態 3のランレングス符号化器 RLE2にて作成される符 号表 (第 2の符号表) のその他の例 T2c (第 1 6 (a)図) , T2d (第 1 6 (b)図) , T2e (第 1 6 (c)図) を示す図である。
第 1 7図は、上記実施の形態 3のランレングス符号化器 RLE2における量子化成 分の符号化順序の例を示す図である。
第 1 8図は、 本発明の実施の形態 4による画像復号化装置 1 0 4を説明するた めのブロック図である。
第 1 9図は、 上記実施の形態 4の画像復号化装置 1 0 4を構成するランレング ス復号化器 RLD2を示すプロック図である。
第 2 0図は、 本発明の実施の形態 5による画像符号化装置 1 0 5を説明するた めのプロック図である。
第 2 1図は、 上記実施の形態 5の画像符号化装置 1 0 5を構成するランレング ス符号化器 LE3を示すプロック図である。
第 2 2図は、 本発明の実施の形態 6による画像復号ィ匕装置 1 0 6を説明するた めのプロック図である。
第 2 3図は、 上記実施の形態 6の画像復号化装置 1 0 6を構成するランレング ス復号化器 RLD3を示すプロック図である。
第 2 4図は、上記実施の形態 5のランレングス符号化器 RLE3、及び実施の形態 6のランレングス復号化器 RLD3で用いる可変長符号表の例 Ta (第 2 4 (a)図), Tb (第 2 4 (b)図) , Tc (第 2 4 (c)図) を示す図である。
第 2 5図は、 上記各実施の形態の可変長符号化処理あるいは可変長復号化処理 をコンピュータシステムにより行うためのプログラムを格納したデータ記憶媒体
(第 2 5 (a)図, 第 2 5 (b)図) 、 及び上記コンピュータシステム (第 2 5 (c)図) を説明するための図である。
第 2 6図は、 上記各実施の形態の画像符号化方法及び画像複号化方法の応用例 を説明する図であり、 コンテンッ配信サービスを実現するコンテンッ供給システ ムを示す。
第 2 7図は、 上記各実施の形態の画像符号化方法と画像復号化方法を利用した 携帯電話を説明する図である。
第 2 8図は、 第 2 7図に示す携帯電話の詳細な構成を示すプロック図である。 第 2 9図は、 上記各実施の形態の画像符号化装置または画像復号化装置を利用 したディジタル放送用システムを示す概念図である。
第 3 0図は、 従来の画像符号化装置 2 0 1 aを示すブロック図である。
第 3 1図は、 従来の画像符号化装置 2 0 1 aを構成する符号化器 RLEOaを説明 するためのプロック図である。
第 3 2図は、 従来の画像符号化装置 2 0 1 aに対応する従来の画像復号化装置 2 0 2 aを説明するためのプロック図である。
第 3 3図は、 従来の画像複号化装置 2 0 2 aを構成する複号化器 RLDOaを説明 するためのブロック図である。 第 3 4図は、 従来のランレングス符号ィヒを行う画像符号化装置 2 0 1 bを示す プロック図である。
第 3 5図は、 従来の画像符号化装置 2 0 1 bを構成するランレングス符号化器 RLEObを説明するためのプロック図である。
第 3 6図は、 従来の画像符号化装置 2 0 1 bに対応する従来の画像復号化装置 2 0 2 bを説明するためのブロック図である。
第 3 7図は、 従来の画像符号化装置 2 0 2 bを構成するランレングス復号化器 RLDObを説明するためのブロック図である。
第 3 8図は、 従来のランレングス符号化を行う他の画像符号ィ匕装置 2 0 1 cを 説明するためのブロック図である。
第 3 9図は、 従来の画像符号化装置 2 0 1 cを構成するランレングス符号化器 RLEOcを示すブロック図である。
第 4 0図は、 従来の画像符号化装置 2 0 1 cに対応する従来の画像復号化装置 2 0 2 cを説明するためのブロック図である。
第 4 1図は、 従来の画像復号化装置 2 0 2 cを構成するランレングス復号化器 RLDOcを説明するためのプロック図である。
第 4 2図は、 従来の画像符号化装置 2 0 1 cを構成するランレングス符号化器 RLEOcにて用いられる符号表の例を示す図である。
第 4 3図は、 従来のランレングス符号化器 RLE0a, RLEOb, RLEOcにおける量子 化成分の符号化順序の例を示す図である。 発明を実施するための最良の形態
まず、 本発明の基本原理について説明する。
一般に、量子ィ匕ステップが粗い場合は量子化成分の絶対値が小さくなるために、 ラン (0係数が続く長さ) が長くなり、 レベル値 (非 0係数の値) の絶対値が小 さくなる。 逆に、 量子化ステップが密な場合は量子ィ匕成分の絶対値が大きくなる ために、 ランが短くなりレベル値の絶対値が大きくなる。
また、 処理対象プロックにて既に多くの量子化成分の可変長符号ィ匕が完了して おり、 未符号化の量子化成分の数が少ない場合は、 その未符号ィ匕の量子化成分の 数を上回るラン値は発生し得ない。 このため、 そのラン値とレベル値との対を符 号表から除去すれば、 符号化効率が向上する。
このような観点力ゝら、 本発明は、 量子化係数に対する可変長符号ィ匕処理あるい は可変長復号化処理の状況や量子化係数の生成に関するパラメータ (量子化パラ メータ) に応じて、 量子化係数の大きさを示す数値情報と符号との対応を示す符 号表を切替えるものであり、 これにより、 可変長符号化処理の対象となるデータ (量子化係数) に存在する冗長な情報をより効果的に除去できるものである。 例えば、 上記符号表の切替えは、 従来の可変長符号化あるいは復号化処理で用 いられる符号表 (第 1の符号表) と、 該第 1の符号表に基づいて作成した、 処理 対象データに対して最適ィ匕された第 2の符号表との一方を、 量子化係数に対する 処理状況に応じて選択することにより行われる。 但し、 必ずしも第 1の符号表に 基づいて第 2の符号表を作成する必要はなく、 選択の候捕となる符号表は、 処理 対象データに適した符号表であればょレ、。
以下、 本発明の実施の形態について、 第 1図から第 2 5図を用いて説明する。 (実施の形態 1 )
第 1図は本発明の実施の形態 1による画像符号化装置を説明するためのプロッ ク図である。
この実施の形態 1の画像符号化装置 1 0 1は、 第 3 4図に示す従来の画像符号 化装置 2 0 1 bにおける、 量子化器 Qの出力 (量子化成分) QSに対して可変長符 号化処理を施して符号化ストリーム StrOb を出力するランレングス符号化器 RLEObに代えて、 上記量子化器 Qの出力 QSに対して、 量子化パラメータ QP及び V L C選択信号 VlcSelに基づいて、可変長符号ィ匕処理を施して符号ィ匕ストリーム Strlを出力するランレングス符号化器 RLE1を備えたものである。
ここで、上記量子化パラメータ QPは量子ィヒステツプの大きさを表すパラメータ であり、 量子化ステップは量子化パラメータ QPにほぼ比例する。つまり、量子化 パラメータ QPが大きい場合は、量子ィ匕成分の絶対値が小さくなるために、量子ィ匕 成分の 0ラン (その値が 0の成分が連続して並ぶ長さ) が長くなり、 レベル値の 絶対値が小さくなる。
第 2図は上記ランレングス符号化器 RLE1 の具体的な構成を説明するためのブ ロック図である。
このランレングス符号化器 RLE1は、第 3 5図に示す従来のランレングス符号化 器 RLEObと同様、 2次元の配列を有する量子化器 Qの出力 (量子化成分) QSを 1 次元の配列(つまり、所定の順序) を有する量子化成分 Coefに変換するジグザグ スキャン器 Scanと、 連続する、 その値が 0である量子化成分 ( 0係数) Coef の 個数を計測して、 該連続する 0係数の個数を示すラン値 Runを出力するラン計測 器 RunCal と、 該 0係数に続く、 その値が 0でない量子化成分 Coef (非 0係数) の値を計測して、 該非 0係数の値を示すレベル値 Lev を出力するレベル計測器 LevCalとを有している。
第 3 (a)図は、 1ブロックに対応する量子化成分 Q:!〜 Q 1 6の 2次元の配列を 示し、 第 3 (b)図は、 ジグザダスキヤン器 Scanによる上記量子化成分 Q 1〜 Q 1 6のスキャン経路を矢印 A 1〜A 1 5で示している。 ここで量子化成分 Q 1は、 画像信号の周波数成分の D C成分を量子ィ匕したものであり、 量子化成分 Q 2〜Q 1 6は、 面像信号の周波数成分の A C成分を量子化したものである。 また、 第 3 (c)図は、 ジグザグスキヤン器 Scanによるジグザグスキャンにより得られた量子 化成分 Q 1〜Q 1 6の 1次元の配列(符号ィ匕の順序) を示し、第 3 (d)図は、量子 ィ匕成分 Q 1〜Q 1 6の大きさを示す具体的な数値の 1次元の配列を示している。 そして、 上記ランレングス符号化器 RLE1は、 上記レベル計測器 LevCalの出力 であるレベル値 Levを並べ替える順序並替器 Lreodrと、 上記ラン計測器 RunCal の出力であるラン値 Run を並べ替える順序並替器 Rreodr と、 上記ラン計測器 RunCalの出力に基づいて、 対象プロックにおける未符号ィヒ係数の個数 Cnuraを計 測して出力する個数計測器 NumClcとを有している。第 3 (e)図は、第 3 (c)図、第 3 (d)図に示す配列を有する量子化成分の数値から得られるラン値及びレベル値 の順序を示し、第 3 (f)図は、並替え後のラン値及びレベル値の順序を示している。 また、 ランレングス符号化器 RLE1は、 順序並替器 Lreodrの出力 ROLevに対し て、 上記量子ィ匕パラメータ QP及び切替え信号 VldSelに基づいて、 可変長符号化 処理を施して符号列 (レベル値符号列) LStrを出力する可変長符号化器 LVLCと、 順序並替器 Rreodrの出力 RORunに対して、 上記未符号化係数の個数 Cnumに基づ いて、 可変長符号化処理を施して符号列 (ラン値符号列) RStrを出力する可変長 符号化器 RVLCと、上記符号列 LStrと符号列 RStrとをプロック毎に多重ィヒして多 重符号化ストリーム Strlを出力する多重化器 MUXとを有している。
第 4図は、上記可変長符号化器 LVLCの可変長符号化処理を説明する図であり、 第 4 (a)図はレベル値の可変長符号ィ匕処理のフローの説明図、 第 4 (b)図は該レべ ル値の可変長符号化処理で用レ、る符号表の説明図である。
第 4 (b)図は、 レベル値 (Level) の配列 Alev と、 量子化パラメータ Q Pが闘 値より小さい場合の符号 (符号語) の配列 Calと、 量子化パラメータ Q Pが閾値 以上である^の符号 (符号語) の配列 Ca2とを示している。
ここで、 符号表 L 1は、 レベル値 (Level) の配列 Alevと、 量子化パラメータ Q Pが閾値より小さレ、場合の符号(符号語) の配列 C alとから構成されており、 量子化パラメータ Q Pが閾値より小さ!/ヽ場合の、 レベル値 (Level) と符号との対 応を複数示している。 符号表 L 2は、 レベル値 (Level) の配列 Alevと、 量子化 ノ ラメータ Q Pが閾値以上である場合の符号 (符号語) の配列 Ca2とから構成さ れており、 量子化パラメータ Q Pが閾値以上である場合の、 レベル値 (Level) と 符号との対応を複数示している。
第 5図は、上記可変長符号化器 RVLCの可変長符号化処理を説明する図であり、 第 5 (a)図はラン値の可変長符号化処理のフローの説明図、 第 5 (b)図は該ラン値 の可変長符号化処理で用レヽる符号表の説明図である。
第 5 (b)図は、 ラン値 (Run) の配列 Arun と、 未符号化 0係数の個数が 1であ る場合の符号 (符号語) の配列 Cblと、未符号ィ匕 0係数の個数が 2である場合の 符号 (符号語) の配列 Cb2と、 未符号ィヒ 0係数の個数が 3である場合の符号 (符 号語) の配列 Cb3と、 未符号ィヒ 0係数の個数が 4である場合の符号 (符号語) の 配列 Cb4と、 未符号化 0係数の個数が 5である場合の符号 (符号語) の配列 Cb5 と、 未符号ィ匕 0係数の個数が 6である の符号 (符号語) の配列 Cb6と、 未符 号化 0係数の個数が 7である場合の符号 (符号語) の配列 Cb7と、 未符号化 0係 数の個数が 8以上である場合の符号 (符号語) の配列 Cb8とを示している。 ここで、 符号表 R 1は、 ラン値 (Run) の配列 Arunと、 未符号ィ匕 0係数の個数 が 1である場合の符号 (符号語) の配列 Cblとから構成されており、未符号化 0 係数の個数が 1である場合の、 ラン値(Run) と符号との対応を複数示している。 同様に、 符号表 R 2, R 3 , R 4 , R 5 , R 6, R 7はそれぞれ、 ラン値 (Run) の配列 Arun と、 未符号化 0係数の個数が 2, 3, 4 , 5, 6, 7である場合の 符号 (符号語) の配列 Cb2, Cb3, Cb4, Cb5, Cb6, Cb7とから構成されてお り、未符号化 0係数の個数が 2 , 3 , 4 , 5 , 6 , 7である場合の、 ラン値 (Run) と符号との対応を複数示している。 さらに、 符号表 R 8は、 ラン値(R m) の配列 Arun と、 未符号化 0係数の個数が 8以上である場合の符号 (符号語) の配列 C b8とから構成されており、未符号ィ匕 0係数の個数が 8以上である場合の、 ラン値 (Run) と符号との対応を複数示している。
次に動作について説明する。
この実施の形態 1の画像符号化装置 1 0 1では、 プロック化器 Blk, 周波数変 換器 Trans, 及び量子化器 Qは、従来の画像符号化装置 2 0 1 a (第 3 0図参照) あるレ、は画像符号化装置 2 0 1 b (第 3 4図参照) のものと同様に動作する。 つまり、 画像符号化装置 1 0 1 aに画像信号 Vinが入力されると、 ブロックィ匕 器 Blkは、 入力された画像信号 Vinをプロック単位に分割して、 各プロックに対 応する画像信号 (画素値成分) BlkSを生成する。 周波数変 « Transは、 該画素 値成分 BlkSを DCT (離散コサイン変換)やウエーブレット変換などを用いて周波 数成分 TransSに変換する。 量子化器 Qは該周波数成分 TransSを量子ィ匕パラメ一 タ QPに基づいて、 所定の量子ィ匕ステップでもって量子化して量子化成分 QSを出 力するとともに、該量子化パラメータ QPを出力する。ランレングス符号化器 RLE1 は上記量子化成分 QSに対して可変長符号化処理を施して符号化ストリーム Strl を出力する。
以下、 上記ランレングス符号化器 RLE1の動作について詳しく説明する。
ジグザグスキャン器 Scanは、上記量子化器 Qから出力された量子化成分 QS (つ まり第 3 (a)図に示す 2次元の配列を有する複数の量子化係数 Q 1〜Q16) のジグ ザグスキャンを行って、該量子化成分 QSを量子化成分 Coef に変換して出力する。 ここで、 上記量子化成分 QSのジグザグスキャンは、 第 3 (a)図に示す 2次元の酉己 列を有する複数の量子化係数 Q 1〜Q 16を、 第 3 (b)図の矢印 A1〜A15で示す経 路に沿ってスキャンして、複数の量子化係数 Q 1〜Q 16の配列を第 3 (c)図に示す 1次元の配列 (処理順序) に変換するものである。 なお、 第 3 (d)図は、 上記ジグ ザダスキャンが施された複数の量子化係数 Q 1〜 Q 16 の具体的な数値の配列 (20, -10, 5, 0, 2, 0, 0, 0, 1, 0, 0, 0,—1, 0, 0, 1) を示している。
ラン計測器 RunCalは、 上記ジグザグスキヤン器 Scanから出力された量子化成 分 Coef に基づいて、 連続する 0係数の個数を計測し、 該個数を示すラン値 Run を出力する。 第 3 (e)図には、 ラン計測器 RunCalから順次出力される具体的なラ ン値がその出力される順(0, 0, 0, 1, 3, 3, 2) で示されている。 一方、 レベル計測器 LevCalは、上記ジグザグスキャン器 Scanから出力された量子化成分 Coefに基づ いて、 上記連続する 0係数に続く非 0係数の値を計測し、 この値を示すレベル値 Levを出力する。 第 3 (e)図には、 レベル計測器 LevCalから順次出力される具体 的なレベル値がその出力される順 (20, -10, 5, 2, 1, - 1, 1) で示されている。
順序並替器 Rreodrは、 上記ラン計測器 RunCalカゝら順次出力されたラン値の順 序を、 出力順とは逆の順序に並べ替える。 第 3 (f)図には、 順序並替器 Rreodrに より並べ替えられた具体的なラン値の順序(2, 3, 3, 1, 0, 0, 0) が示されている。ま た、 個数計測器 NumClcは、 ラン計測器 RunCalから出力されるラン値 Runに基 づいて、未符号化係数の個数を計測し、該未符号化係数の個数(未符号化係数数) Cnumを出力する。 一方、 順序並替器 Lreodrは、 上記レベル計測器 LevCalから順 次出力されたレベル値の順序を、出力順とは逆の j頃序に並べ替える。第 3 (f)図に は、 順序並替器 Lreodr により並べ替えられた具体的なレベル値の順序 (1,- 1, 1, 2, 5, - 10, 20) で示されている。
可変長符号化器 RVLCは、 上記個数計測器 NumClcから出力された未符号化 0係 数数 Cnumに基づいて、 上記順序並替器 Rreodrの出力である並べ替えられたラン 値 RORunに対して、 該ラン値と符号 (符号語) との対応を示す複数の符号表を用 いてラン値 RORunに符号 (符号語) を割り当てる可変長符号化処理を施して、 ラ ン値符号列 RStrを出力する。 一方、 可変長符号化器 LVLCは、 量子化器 Qからの 量子化パラメータ QP及び外部からの、 可変長符号化の選択を指示する選択信号 VlcSelに基づいて、 上記順序並替器 Lreodrの出力である並べ替えられたレベル 値 ROLevに対して、 該レベル値と符号 (符号語) との対応を示す複数の符号表を 用いてレベル値 ROLevに符号(符号語)を割り当てる可変長符号化処理を施して、 レベル値符号列 LStrを出力する。 そして、 多重化器 MUXは、 上記レベル値符号列 LStrとラン値符号列 RStrとを プロック毎に多重化して多重符号化ストリーム Strlを出力する。
ここで、 上記レベル値符号列 LStrとラン値符号列 RStrとの多重化処理は、 例 えば、 プロック毎に、 対象ブロックに対応するすべてのラン値に対する符号列 RStrの後に該対象ブロックに対応するすべてのレベル値に対する符号列 LStrが 続くよう、 あるいは対象ブロックに対応するすべてのレベル値に対する符号列 LStrの後に該対象プロックに対応するすべてのラン値に対する符号列 RStrが続 くよう行われる。
以下、 可変長符号化器 LVLCの動作について第 4図を用いて詳述する。
可変長符号化器 LVLCは、 量子化器 Qからの量子化パラメータ QPを取得し (ス テツプ S al) 、 該取得した量子化パラメータ QPの値が、 該可変長符号化器 LVLC に保持されている量子化パラメータ QPの閾値以上であるか否かの判定を行う(ス テツプ S a2) 。
この判定の結果、 取得した量子化パラメータ QPの値が、 量子化パラメータ QP の閾値より小さい場合は、 レベル値の配列 Alevと符号 (符号語) の配列 Calと からなる符号表 L 1 (第 4 (b)図参照) を選択し (ステップ S a3) 、 取得した量子 化パラメータ QPの値が、 量子化パラメータ QPの閾値以上である場合は、 レベル 値の配列 Alevと符号(符号語) の配列 Ca2とからなる符号表 L 2 (第 4 (b)図参 照) を選択する (ステップ S a4) 。
その後、可変長符号化器 LVLCは、対象ブロック内に未符号ィ匕レベル値 Levがあ る力否かを判定し (ステップ S a5) 、 対象ブロック内に未符号ィ匕レベル値 Levが あれば、 選択した符号表を用いて、 レベル値 Levの符号化処理、 つまり、 該レべ ル値に、 対応する符号を割り当てる処理を行い (ステップ S a6) 、 その後上記ス テツプ S a5処理を行う。一方、上記ステップ S a5での判定の結果、対象ブロック に未符号ィ匕レベル値 Levがなレ、場合は、 上記レベル値 Levに対する可変長符号ィ匕 処理を終了する。
なお、 可変長符号化器 LVLCは、 上記 V L C選択信号 VlcSelにより予め特定の 符号表を用いた可変長符号化処理が指定されている場合は、量子化パラメータ QP の大きさに拘わらず、 該特定の符号表を用いて、 レベル値に対する可変長符号ィ匕 処理を行う。
次に、 可変長符号化器 RVLCの動作について第 5図を用いて詳述する。
可変長符号化器 RVLCは、個数計測器 NumClcの出力(未符号化係数の個数) Cnum に基づいて対象プロック内に未符号化非 0係数がある力否かを判定し (ステップ S bl) 、 この判定の結果、 未符号化非 0係数がある場合は、 個数計測器 NumClc からの出力 Cnum に基づいて対象ブロック内の未符号化 0係数の個数を計測する (ステップ Sb2) 。
そして、可変長符号化器 RVLCは、計測した未符号ィ匕 0係数の個数に応じて、符 号表を選択する (ステップ S b 3 ) 。 具体的には、 未符号化 0係数の個数が 1で ある場合は、 ラン値の配列 Arunと符号 (符号語) の配列 C b 1とカゝらなる符号表 R 1 (第 5 (b)図参照) を選択する。 同様に、未符号化 0係数の個数が 2である場 合は符号表 R 2を、 該個数が 3である場合は符号表 R 3を、 該個数が 4である場 合は符号表 R 4を選択する。 さらに未符号ィヒ 0係数の個数が 5である場合は符号 表 R 5を、 該個数が 6である場合は符号表 R 6を、 該個数が 7である場合は符号 表 R 7を選択する。 そして、 未符号ィヒ 0係数の個数が 8以上である場合は符号表 R 8を選択する。
次に、可変長符号化器 RVLCは、選択した符号表を用いて、 ラン値 Runの符号化 処理、 つまり、 該ラン値に、 対応する符号を割り当てる処理を行い (ステップ S b4) 、 その後、 上記ステップ S blの判定処理を行う。
なお、 上記ステツプ S blの判定の結果、 未符号化非 0係数がな!/、場合は、 上記 ラン値に対する可変長符号化処理を終了する。
続いて、 上記のようにレベル値の可変長符号化の際に量子化パラメータに基づ いて符号表を選択することにより、 符号化効率が向上する点につき、 具体的な例 を挙げて説明する。
第 6図は、量子ィヒパラメータ QPが比較的小さい場合、つまり、順序並替器 Lreodr 力 ら出力される、 並べ替えられたレベル計測器 LevCalの出力 (レベル値) 力 第 3 (f)図に示すように 1, -1, 1, 2, 5,- 10, 20である場合に、これらのレべノレ値に割り 当てられる符号の合計ビット数を示している。
量子ィ匕パラメータ QP が閾値以上であると判断して符号表 L 2を用いた場合に は、 各レベル値には、 第 6 (a)図に示すように符号 (符号語) が割り当てられ、割 り当てられる符号の合計ビット数は、 7 5ビットとなる。
一方、量子化パラメータ QPが閾値より小さいと判断して符号表 L 1を用いた場 合には、 各レベル値には、 第 6 (b)図に示すように符号(符号語) が割り当てられ、 割り当てられる符号の合計ビット数は、 4 7ビットとなる。
このように、量子化パラメータ QPの値が比較的小さい場合には、値が大きい量 子化係数の出現頻度が高くなるので、 符号表 L 2に比べて、 絶対値が比較的大き いレベル値にも、 平均的に短い符号が対応付けられている符号表 L 1を選択する ことが、 符号化効率を向上する上で有効である。
第 7図は、量子化パラメータ QPが比較的大きい場合、つまり、順序並替器 Lreodr から出力される、 並べ替えられたレベル計測器 LevCalの出力 (レベル値) 、 第 3 (f)図に示すものとは異なり、 1,- 1, 1, 1, 1, -2, 3である場合に、 これらのレベル 値に割り当てられる符号の合計ビット数を示している。
量子化パラメータ QPが閾値以上であると判断して符号表 L 2を用いた場合に は、 各レベル値には、 第 7 (a)図に示すように符号 (符号語) が割り当てられ、 害 IJ り当てられる符号の合計ビット数は、 1 5ビットとなる。
一方、量子化パラメータ QPが閾値より小さいと判断して符号表 L 1を用いた場 合には、各レベル値には、 第 7 (b)図に示すように符号(符号語) が割り当てられ、 割り当てられる符号の合計ビット数は、 1 7ビットとなる。
このように、量子化パラメータ QPの値が比較的大きい場合には、値が大きい量 子化係数の出現頻度が低くなるので、 符号表 L 1に比べて、 絶対値が比較的小さ いレベル値に、 集中的に短い符号が対応付けられている符号表 L 2を選択するこ とが、 符号化効率を向上する上で有効である。
第 8図は、 ラン計測器 RunCalから出力されるラン値が、 第 3 (e)図に示すよう に 0, 0, 0, 1, 3, 3, 2である場合に、 これらのラン値に割り当てられる符号の合計ビ ット数を示している。
上記ランレングス符号化器 RLE1のようなラン値の並替、及び符号表の切り替え を行わないで、 常に第 5図に示す符号表 R 8を用いる場合は、 各ラン値には、 第 8 (a)図に示すように符号(符号語) が割り当てられ、割り当てられる符号の合計 ビット数は、 2 1ビットとなる。
上記ランレングス符号化器 RLE1のようにラン値の並替、及び未符号化 0係数数 に応じた符号表の切り替えを行う場合は、各ラン値には、第 8 (b)図に示すように 符号 (符号語) が割り当てられ、 割り当てられる符号の合計ビット数は、 1 3ビ ットとなる。 ここで、 1つのラン値に符号を割当てる度に、 未符号化係数数は、 直前に符号ィ匕したラン値に 1加えた値だけ減少している。 これは、 単独のあるい は連続する 0係数の後には非 0係数が必ず 1つあるからである。 また、 順序並替 器 Rreodrから出力される、 1つのブロックに対応する並べ替えられた複数のラン 値から得られる未符号化 0係数は 1 5である。 これは、 処理対象となるブロック では、 非 0係数が必ず 1つはあるためである。
上記ランレングス符号化器 RLE1のようなラン値の並替は行わず、未符号ィヒ 0係 数数に応じた符号表の切り替えのみを行う場合は、各ラン値には、第 8 (C)図に示 すように符号(符号語) が割り当てられ、割り当てられる符号の合計ビット数は、 2 0ビットとなる。
このように本実施の形態 1の画像符号化装置 1 0 1では、 画像信号の周波数成 分を量子化して得られた量子化係数を、 連続する、 その値が 0である量子化成分 ( 0係数) Coef の個数を示すラン値 Runと、 該 0係数に続く、その値が 0でない 量子化成分 Coef (非 0係数) の値を示すレベル値 Levとを用いて符号化するラン レングス符号化器 RLE1を備えたので、量子化係数をその冗長な情報を排除して高 い符号化効率で符号化することができる。
また、本実施の形態 1のランレングス符号化器 RLE1では、上記量子化パラメ一 タ QPの大きさに応じて符号表を選択し、選択した符号表を用いてレベル値の可変 長符号化を行う可変長符号化器 LVLCを備えたので、レベル値に割り当てられる符 号の合計ビット数を削減することができる。 また、 上記ランレングス符号化器 RLE1では、一定の処理順序が付与された量子化係数から計測された複数のラン値 を、 周波数成分の高い量子化係数に対応するものから順に並べ替える順序並替器 Rreodrと、対象ブロックにおける未符号ィ匕 0係数の個数に応じて符号表を選択し、 選択した符号表を用いて、 該並べ替えられたラン値の可変長符号化を行う可変長 符号化器 RVLCとを備えているので、ラン値に割り当てられる符号の合計ビット数 を効果的に削減して、 符号化効率の向上を図ることができる。
なお、上記実施の形態 1では、可変長符号化器 RVLCは、対象プロックにおける 未符号ィ匕 0係数の個数 (つまり個数計測器 NimiClcの出力 Cnum) に応じて符号表 を選択するものとしているが、 可変長符号化器 RVLCは、 個数計測器 NumClcの出 力 Cnumだけでなく、 上記 V L C選択信号 VlcSelに基づ!/ヽて符号表を選択するも のとしてもよい。 例えば、 可変長符号化器 RVLCは、 V L C選択信号 VlcSelによ り予め特定の符号表を用いた可変長符号化処理が指定されている場合は、 対象ブ ロックにおける未符号ィ匕 0係数の個数に拘わらず、 該特定の符号表を用いて、 ラ ン値に対する可変長符号ィ匕処理を行うものとしてもよい。
(実施の形態 2 )
第 9図は本発明の実施の形態 2による画像復号化装置を説明するためのプロッ ク図である。
この実施の形態 2の画像復号ィ匕装置 1 0 2は、 例えば、 実施の形態 1の画像符 号化装置 1 0 1から出力された符号ィ匕ストリーム Strlを復号化するものである。 そして、 この画像復号化装置 1 0 2は、 第 3 6図に示す従来の画像復号化装置 2 0 2 bにおける、 入力された符号化ストリーム StrObに対して可変長復号化処 理を施すランレングス復号化器 RLDOb に代えて、 入力された符号化ストリーム Strlに対して、量子化パラメータ QP及び V L D選択信号 VldSelに基づいて、可 変長復号ィヒ処理を施して量子化係数を復元するランレングス復号化器 RLD1 を備 えたものであり、 その他の構成は、 第 3 6図に示す画像復号^ ί匕装置 2 0 2 bと同 一である。
第 1 0図は上記ランレングス復号化器 RLD1 の具体的な構成を説明するための ブロック図である。
このランレングス復号化器 RLD1は、第 3 7図に示す従来のランレングス復号化 器 RLDObと同様、 上記画像符号化装置 1 0 1から出力された多重符号化ストリー ム Strlから、 レベル値に対応する符号列 LStr とラン値に対応する符号列 RStr とを分離する分離器 MUXを有している。
そして、 上記ランレングス復号化器 RLD1は、 多重符号化ストリーム Strlから 分離されたレベル値符号列 LStrに対して、 上記量子化パラメータ QP及び V L D 選択信号 VldSelに基づいて、可変長復号化処理を施して、 レベル値 ROLevを復元 する可変長復号化器 LVLDと、 多重符号化ストリーム Strlから分離されたラン値 符号列 RStrに対して、未復号化係数の個数に基づいて、可変長復号化処理を施し てラン値 RORunを復元する可変長復号化器 RVLDとを有している。
上記ランレンダス復号化器 RLD1は、 上記可変長復号化器 LVLDの出力であるレ ベル値 ROLevに対して、符号化側の順序並替器 Lreodrとは逆の並べ替え処理を施 して、 符号化側のレベル計測器の出力 Levを復元する順序逆並替器 LIreodrと、 上記可変長復号化器 RVLDの出力であるラン値 RORunに対して、符号化側の順序並 替器 Rreodr とは逆の並べ替え処理を施して、 符号化側のラン計測器の出力 Run を復元する順序逆並替器 Rlreodrと、 該順序逆並替器 Rlreodrの出力 Runに基づ いて、対象プロックにおける未復号化係数の個数 Cmimを計測して出力する個数計 測器 NumClcとを有している。
さらに、 上記ランレングス復号化器 RLD1は、 上記レベル値 Lev とラン値 Run により表される 1次元の配列を有する復号量子化成分から、 2次元の配列を有す る復号量子化成分 DQSを復元する逆ジグザグスキャン器 IScanとを有している。 第 1 1図は、上記可変長復号化器 LVLDの可変長復号ィ匕処理を説明する図であり、 第 1 1 (a)図はレベル値を復元する可変長復号ィ匕処理のフローの説明図、 第 1 1 (b)図は該可変長復号化処理で用 V、る符号表の説明図である。なお、 レべノレ値の可 変長復号ィ匕処理で用いる符号表 L 1及び L 2はそれぞれ、 上記実施の形態 1のラ ンレングス符号化器 RLE1 でのレベル値の符号化処理で用いた符号表 L 1及び L 2と同一のものである。
第 1 2図は、上記可変長復号化器 RVLDの可変長復号ィ匕処理を説明する図であり、 第 1 2 (a)図はラン値を復元する可変長復号化処理のフローの説明図、 第 1 2 (b) 図は該可変長復号化処理で用いる符号表の説明図である。 なお、 ラン値の可変長 複号化処理で用レ、る符号表 R 1〜 R 8はそれぞれ、 上記実施の形態 1のランレン グス符号化器 RLE1 でのラン値の符号化処理で用いた符号表 R 1〜R 8と同一の ものである。
次に動作について説明する。
上記画像複号化装置 1 0 2に、 例えば、 実施の形態 1の画像符号化装置 1 0 1 からの多重符号化ストリーム Strl が入力されると、 上記ランレングス復号化器 RLD1は、符号化ストリーム Strlに対して復号ィヒ処理を施して復号量子ィ匕成分 DQS を出力する。このランレングス復号化器 RLD1の動作は、上記ランレングス符号化 器 RLE1の動作とは逆の動作である。
つまり、 ランレングス復号化器 RLD1では、 分離器 DMUXは、 入力された多重符 号ィ匕ストリーム Strlから、 レベル値に対応するレベル値符号列 LStrとラン値に 対応するラン値符号列 RStrとを分離して、 それぞれ可変長復号化器 LVLDと可変 長復号化器 RVLDに出力する。
可変長復号化器 LVLDは、 量子化器 Qからの量子化パラメータ QP及び外部から の、可変長復号化の選択を指示する V L D選択信号 VldSelに基づいて、上記分離 器 DMUXからのレベル値符号列 LStrに対して、 該レベル値と符号 (符号語) との 対応を示す複数の符号表を用いて、 各符号 (符号語) に対応するレベル値 ROLev を取得して順序逆並替器 LIreodrに出力する。一方、可変長複号化器 RVLDは、上 記個数計測器 NuraClcから出力された未復号化係数数 Cnumに基づレヽて、 上記分離 器 MUXからのラン値符号列 RStrに対して、 該ラン値と符号 (符号語) との対応 を示す複数の符号表を用いて、 各符号 (符号語) に対応するラン値 ROLevを取得 して jl頃序逆並替器 Rlreodrに出力する。
順序逆並替器 LIreodr は、 上記可変長複号化器 LVLD の出力であるレベル値 ROLevに対して、符号化側の順序並替器 Lreodrとは逆の並べ替え処理を施して、 符号化側のレベル計測器の出力 Levを復元する。一方、順序逆並替器 Rlreodrは、 上記可変長複号化器 RVLDの出力であるラン値 RORunに対して、符号化側の順序並 替器 Rreodr とは逆の並べ替え処理を施して、 符号化側のラン計測器の出力 Run を復元する。 また、 個数計測器 NumClcは、 該順序逆並替器 Rlreodrの出力 Run に基づいて、対象プロックにおける未復号化係数の個数 Cnumを計測して上記可変 長復号化器 RVLDに出力する。
そして、逆ジグザグスキャン器 IScanは、ジグザグスキヤン器 Scanとは逆の動 作により、 上記レベル値 Levとラン値 Runで表現される 1次元の配列を有する量 子化成分から、 2次元の配列を有する復号量子化成分 DQSを復元し、 上記逆量子 ィ匕器 IQに出力する。 W
59 以下、 可変長復号化器 LVLDの動作について第 1 1図を用いて詳述する。
可変長複号化器 LVLDは、画像符号化装置 1 0 1の量子化器 Qからの量子化パラ メータ QPを取得し (ステップ S cl) 、 該敢得した量子化パラメータ QPの値が、 該可変長復号化器 LVLDに保持されている量子ィヒパラメータ QPの閾値以上である 力否かの判定を行う (ステップ S c2) 。
この判定の結果、 取得した量子化パラメータ QPの値が、 量子ィ匕パラメータ QP の閾値より小さい場合は、 レベル値の配列 Alevと符号 (符号語) の配列 Calと からなる符号表 L 1 (第 1 1 (b)図参照) を選択し (ステップ S c3) 、取得した量 子化パラメータ QPの値が、 量子化パラメータ QPの閾値以上である場合は、 レべ ル値の配列 Alevと符号(符号語) の配列 Ca2とからなる符号表 L 2 (第 1 1 (b) 図参照) を選択する (ステップ S c4) 。
その後、可変長復号化器 LVLDは、対象プロック内に未復号化レベル値 Levがあ る力、否かを判定し (ステップ S c5) 、 対象ブロック内に未復号ィ匕レベル値 Levが あれば、選択した符号表を用いて、 レベル値 Levを復元する復号化処理、つまり、 符号に対応するレベル値を取得する処理を行い (ステップ S c6) 、 その後上記ス テツプ S c5処理を行う。一方、上記ステツプ S c5での判定の結果、対象プロック に未復号ィ匕レベル値 Levがなレ、場合は、 上記レベル値 Levを復元する可変長復号 化処理を終了する。
なお、 可変長複号化器 LVLDは、 上記 V L D選択信号 VldSelにより予め特定の 符号表を用いた可変長復号ィ匕処理が指定されている場合は、量子化パラメータ QP の大きさに拘わらず、 該特定の符号表を用いて、 レベル値を復元する可変長復号 化処理を行う。
次に、 可変長復号化器 RVLDの動作について第 1 2図を用いて詳述する。
可変長復号化器 RVLDは、個数計測器 NuraClcの出力(未復号化係数の個数) Cnum に基づいて、 対象ブロック内に未複号化非 0係数がある力否かを判定し (ステツ プ S dl) 、 この判定の結果、 未複号化非 0係数がある場合は、 上記未複号化係数 の個数 Cnumに基づいて、対象プロック内の未復号ィヒ 0係数の個数を計測する (ス テツプ S d2) 。
そして、可変長複号化器 RVLDは、計測した未複号化 0係数の個数に応じて、符 号表を選択する (ステップ S d3) 。 具体的には、 未復号ィ匕 0係数の個数が 1であ る場合は、 ラン値の配列 Arunと符号 (符号語) の配列 C blと力 らなる符号表 R 1 (第 1 2 (b)図参照) を選択する。 同様に、未復号化 0係数の個数が 2である場 合は符号表 R 2を、 該個数が 3である場合は符号表 R 3を、 該個数が 4である場 合は符号表 R 4を選択する。 さらに未復号ィ匕 0係数の個数が 5である場合は符号 表 R 5を、 該個数が 6である場合は符号表 R 6を、 該個数が 7である場合は符号 表 R 7を選択する。 そして、 未復号ィ匕 0係数の個数が 8以上である場合は符号表 R 8を選択する。
次に、可変長復号化器 RVLDは、選択した符号表を用いて、 ラン値 Runを復元す る復号化処理、 つまり、 各符号に対応するラン値を取得する処理を行い (ステツ プ S d4) 、 その後、 上記ステップ S dlの判定処理を行う。
また、 上記ステップ S dlの判定の結果、未復号化非 0係数がない場合は、 上記 ラン値を復元する可変長複号化処理を終了する。
なお、 この実施の形態 2の画像復号化装置 1 0 2では、 逆量子化器 IQ, 逆周波 数変換器 ITrans, 及ぴ逆ブ口ック化器 DeBlkは、従来の画像復号化装置 2 0 2 a (第 3 2図参照) あるいは画像復号化装置 2 0 2 b (第 3 6図参照) とのものと 同様に動作する。
つまり、 逆量子化器 IQは、 量子化器 Qの逆の動作、 つまり復号量子化成分 DQS を量子化パラメータ QP を参照して逆量子ィ匕する動作を行って、 復号周波数成分 ITransSを出力する。 また、 逆周波数変換器 ITransは、 周波数変換器 Transの逆 動作、 つまり復号周波数成分 ITransSを逆 DCTや逆ゥェーブレット変換などを用 いて、 各プロックに対応する復号周波数成分 ITransSを各プロックに対応する復 号画素値信号 DBlkSに復元する動作を行う。 そして、 逆プロック化器 DeBlkは、 上記各プロックの復号画素値成分 DBlkSを統合して各ピクチャに対応する復号画 像信号 Voutを出力する。
このように本実施の形態 2の画像複号化装置 1 0 2では、 符号化データを構成 するラン符号列 RStr及びレベル符号列 LStrをそれぞれ、 連続する 0係数 Coef の個数を示すラン値 Run、 及び該 0係数に続く非 0係数の値を示すレベル値 Lev に変換し、 該ラン値及びレベル値に基づいて量子化係数を復元するランレングス 復号化器 RLD1を備えたので、量子化係数をその冗長な情報を排除して高い符号ィ匕 効率で符号化することができる可変長符号化 理に対応した復号化処理を良好に 行うことができる。
また、 本実施の形態 2のランレングス復号化器 RLD1 では、 量子化パラメータ QPの大きさに応じて符号表を選択し、選択した符号表を用いてレベル値を復元す る可変長復号化を行う可変長復号化器 LVLDを備えたので、レベル値に割り当てら れる符号の合計ビット数を削減したレベル値符号列を良好に復号化することがで きる。 ·
また、上記ランレングス復号化器 RLD1では、対象プロックにおける未復号ィ匕 0 係数の個数に応じて符号表を選択し、 選択した符号表を用いて、 並べ替えられた ラン値に対応する符号列を複号化する可変長復号化器 RVLDと、該復号化により得 られたラン値を、ランレングス符号化器 RLD1でのラン値の並替え処理とは逆の順 序で並べ替える順序逆並替器 Rlreodrとを備えたので、 ラン値に割り当てられる 符号の合計ビット数を効果的に削減したラン値符号化列を良好に復号化すること ができる。
なお、上記実施の形態 2では、可変長複号化器 RVLDは、対象プロックにおける 未複号化 0係数の個数 (つまり個数計測器 NumClcの出力 Cmira) に応じて符号表 を選択するものとしているが、 可変長複号化器 RVLDは、 個数計測器 NumClcの出 力 Cnuraだけでなく、 上記 V L D選択信号 VldSelに基づレヽて符号表を選択するも のとしてもよい。 例えば、 可変長復号化器 RVLDは、 V L D選択信号 dSelによ り予め特定の符号表を用いた可変長復号化処理が指定されている場合は、 対象ブ ロックにおける未復号化 0係数の個数に拘わらず、 該特定の符号表を用いて、 ラ ン値を復元する可変長復号ィ匕処理を行うものとしてもよい。
(実施の形態 3 )
第 1 3図は本発明の実施の形態 3による画像符号化装置を説明するためのプロ ック図である。
この実施の形態 3の画像符号化装置 1 0 3は、 第 3 8図に示す従来の画像符号 化装置 2 0 1 cにおける、 量子化器 Qの出力 (量子化成分) QSに対して可変長符 号化処理を施して符号化ストリーム StrOc を出力するランレングス符号化器 RLEOcに代えて、 上記量子化器 Qの出力 QSに対して、 量子化パラメータ QPある いは V L C選択信号 VlcSelに基づいて、可変長符号化処理を施して符号化ストリ ーム Str2を出力するランレングス符号化器 RLE2を備えたものである。 この実施 の形態 3の画像符号化装置 1 0 3におけるその他の機器は、 従来の画像符号化装 置 2 0 1 cにおけるものと同一である。
すなわち、上記ランレンダス符号化器 RLE2は、従来の上記ランレングス符号化 器 RLEOeと同様、 ラン値とレベル値との対 (以下、 ランレベル対という。 ) と、 これに対応する符号との対応関係を、 該ラン値とレベル値の組み合わせに応じて 示す第 1の符号表 T 1 (第 4 2図参照) を有している。 そして、 このランレング ス符号化器 RLE2は、上記第 1の符号表に基づいて、該第 1の符号表における、 ラ ン値とレベル値の対と符号との対応関係を規則的に変更して、 該第 1の符号表と は該対応関係が異なる第 2の符号表を作成し、 上記第 1及び第 2の符号表を、 上 記量子化器 Qから出力される量子化パラメータ QP、あるいは外部からの V L C選 択信号 VlcSelに基づいてその一方を選択するとともに、上記処理対象データにお ける係数に関連するラン値及びレベル値の対に、 選択された符号表に基づいて符 号を割り当てるものである。
ここで、上記量子化パラメータ QPは量子化ステツプの大きさを表すパラメータ であり、量子ィ匕ステップは量子ィ匕パラメータ QPにほぼ比例する。 つまり、量子ィ匕 パラメータ QPが大きい場合は、量子化成分の絶対値が小さくなるために、量子化 成分の 0ラン (その値が 0の成分が連続して並ぶ長さ) が長くなり、 レベル値の 絶対値が小さくなる。 従ってこの^は、 ラン値が大きくレベル値が小さいラン レベル対に小さレ、符号が割り当てられている符号表を選択することにより符号化 効率を向上することができる。逆に、量子ィ匕パラメータ QPが小さい場合は、量子 ィ匕成分の絶対値が大きくなるために、 ラン値が小さくレベル値が大きレ、ランレべ ル対に対して小さい符号が割り当てられている符号表を選択することにより、 符 号化効率を向上することができる。
また、上記ランレングス符号化器 RLE2は、画像符号化装置 1 0 3の外部からの V L C選択信号 VlcSelが入力されたとき、 該選択信号 VlcSelにより、 符号化処 理で用いられる符号表を選択するものである。 このため、 画像特性 (画像の動き 量の大きさ, その動きの複杂集さ、 あるいは絵柄の細かさなど) によって適切な符 号表を外部から選択したり、 この画像符号化装置 1 0 3側で、 符号表を 1つしか 備えていない画像復号ィヒ装置にて復号ィ匕可能なストリームを作成する場合には、 画像符号化装置 1 0 3では、 V L C選択信号 VlcSelにより、常に所定の符号表が 用いられるようにすることができる。 つまり、 符号表の切替えを行わずに、 1つ の符号表のみを用いて可変長符号化処理を行うこともできる。
第 1 4図は上記ランレングス符号化器 RLE2 の具体的な構成を説明するための プロック図である。
上記ランレンダス符号化器 RLE2は、従来のランレンダス符号化器 RLEOc (第 3 9図参照) と同様、 2次元の配列を有する量子化器 Qの出力 (量子化成分) QSを 1次元の配列(つまり、所定の順序) を有する量子ィ匕成分 Coef に変換するジグザ グスキャン器 Scan と、 連続する、 その値が 0である量子ィヒ成分 (0係数) Coef の個数を計測して、ラン値 Runを出力するラン計測器 RunCalと、該 0係数に続く、 その値が 0でない量子化成分 Coef (非 0係数) の値を計測して、 レベル値 Levを 出力するレベル計測器 LevCalとを有している。
そして、 この実施の形態 3では、 ランレングス符号ィ匕器 RLE2は、上記ラン計測 器 RunCalの出力 (ラン値) Runを、 ラン値 Runの上位の桁を表すラン値 Runlと、 該ラン値 Runの下位の桁を表すラン値 Run2とに分離する変換処理を、上記量子ィ匕 パラメータ QP あるいは V L C選択信号 VlcSel に基づいて行うラン変換器 RunConvと、 上記レベル計測器 LevCalの出力 (レベル値) Levを、 レベル値 Lev の上位の桁を表すレベル値 Leviと、該レベル Levの下位の桁を表すレベル値 Lev2 とに分離する変換処理を、 上記量子化パラメータ QP あるいは V L C選択信号 VlcSelに基づいて行うレベル変^^ LevConvとを有している。
また、上記ランレングス符号化器 RLE2は、ラン値 Runlとレベル値 Leviの対(以 下、 ランレベル上位桁対という。 ) に対応する符号番号 Codeを符号表もしくは算 術計算によつて計算するランレベルコ一ド変 l RunLevEnc と、 このようにして 得られた、ランレベル上位桁対と符号番号 Codeとの対応関係に基づレ、て、処理対 象となる対象ブロックに対応する、 より高レ、周波数成分に対応するランレベル上 位桁対に、 より小さい符号番号が対応するよう、 上記ランレベル上位桁対の順序 を並べ替える処理を、 上記量子化パラメータ QPあるいは V L C選択信号 VlcSel に応じて行い、 並べ替えられたランレベル上位桁対に対応する符号番号 ReOdrCodeを出力する順序並替器 ReOdrとを有している。
さらに、上記ランレングス符号化器 RLE2は、上記ラン値 Runから符号化済量子 化成分 (符号化済係数) の個数を計算して、 符号化済係数個数 Posを出力する位 置計算器 PosClcと、上記ランレベル上位桁対と符号番号 ReOdrCodeとの対応関係 に基づレヽて、 レベル値 Lev2およびラン値 Run2から、 第 2の符号表により示され る、 ランレベル対に対応する符号番号 ExtCodeを出力する番号変換器 CodeTrans と、該符号番号 ExtCodeにビット列(符号語)を割り当てて符号ィ匕ストリーム Str を生成する可変長符号化器 VLCとを有している。
なお、 上記ランレングス符号化器 RLE2における、 ジグザグスキャン器 Scan, ラン計測器 RunCal, レベル計測器 LevCal,及び可変長符号化器 VLCは、第 3 9図 に示す従来のランレングス符号化器 RLEOcにおけるものと同一のものである。 次に作用効果について説明する。
ジグザグスキャン器 Scanは、 2次元の配列を有する量子化成分 QSを、 1次元 の配列を有する、つまり順番が設定された量子化成分 Coefに変換して出力する。 ラン計測器 RunCalは、 連続する 0成分 (その値が 0である量子化成分) Coef の 個数を計測し、 該個数を示すラン値 Runを出力する。 また、 レベル計測器 LevCal は非 0成分 (0成分に続く、 その値が 0でない量子ィ匕成分) Coef の値を計測し、 該非 0成分の値を示すレべノレィ直 Levを出力する。
ラン変換器 RunConvは上記ラン値 Runを、 ラン値 Runの上位の桁を表すラン値 Runl と、 ラン値 Runの下位の桁を表すラン値 Run2に分離する変換処理を行う。 レべノレ変換器 LevConvはレベル値 Levを、 レベル値 Levの上位の桁を表すレベル 値 Leviと、 レベル値 Levの下位の桁を表すレベル値 Lev2とに分離する変換処理 を行う。
ランレベルコード変^^ RunLevEncは、 レベル値 Leviとラン値 Runlの対 (ラ ンレベル上位対) に対応する符号番号 Codeを、第 4 2図に示す符号表(第 1の符 号表) もしくは算術計算によって計算する。 順序並替器 ReOdrは、 上記ランレべ ル上位桁対の順序を並べ替える処理を、上記量子化パラメータ QPあるいは V L C 選択信号 VlcSelに基づいて行レヽ、並べ替えられたランレベル上位桁対に対応する 符号番号 ReOdrCodeを出力する。 上記ランレベル上位桁対の順序を並べ替える処 理により、 ランレベルコ一ド変換器 RunLevEncにて得られた、 ランレベル上位桁 対と符号番号 Codeとの対応関係が、処理対象となる対象プロックにおけるより高 い周波数成分に対応するランレベル上位桁対に、 より小さい符号番号が対応する 対応関係に変換される。
位置計算器 PosClcは、ラン値 Runから符号ィ匕済成分の個数を計算し、該符号化 済係数個数 Posを出力する。 番号変 CodeTransは、 上記ランレベル上位桁対 と符号番号 ReOdrCodeとの対応関係に基づレ、て、レベル値 Lev2およびラン値 Run2 から、 ランレベル対に対応する符号番号 ExtCodeを出力する。 このとき、 番号変 ff CodeTrans では、 位置計算器 PosClc力 ら出力された符号化済係数個数 Pos が、 未符号化成分がいくつあるかを計算するために使用される。
ここで、 番号変換器 CodeTransから出力される、 ランレベル対に対応する符号 番号 ExtCodeは、 ランレベル対と符号番号との対応関係が第 1の符号表のものと は異なる第 2の符号表に基づいて得られたものである。 また、 この第 2の符号表 は、 上記順序並替器 ReOdrでの並替え処理により、 ランレベル対と符号番号の対 応関係が第 1の符号表とは異なる符号表を作成し、さらに、上記順序並替器 ReOdr にて作成された符号表を、 番号変 CodeTransにて、 符号化済係数個数 Posに 基づレ、て、 未符号化成分の個数を超えるラン値 Runに相当する、 ランレベル対と 符号番号との対応関係が含まれないものとすることにより、 作成されたものであ る。
そして、 可変長符号化器 VLCは該符号番号 ExtCodeにビット列 (符号語) を割 り当てて符号化ストリーム Str2を生成する。
第 1 5図は上記ランレングス符号化器 RLE2にて、第 1の符号表に基づいて作成 される第 2の符号表の例を示している。 ここで、 第 1の符号表は、 従来のランレ ングス符号化器 RLEOcで利用される、第 4 2図に示す符号表と同一のものである。 なお、第 1及び第 2の符号表では、符号番号 Codeに対して 1対 1に対応するビッ ト列(符号語) が割り当てられるが、値が小さい符号番号 Codeには短い符号語が 割り当てられることは言うまでもなレ、。 第 1 5 (a)図は、 第 2の符号表の一例として、 量子ィ匕パラメータ QPが小さい場 合に適した第 2の符号表 T 2 aを示している。
この第 2の符号表 T 2 aは以下のようにして作成される。
まず、 レベル値 Leviとしてレベル値 Levの 1/2の値が割り当てられ、 レベル値 Lev2には Levi X 2—Levの絶対値が割り当てられる。
ここで、 レベル値 Levが奇数である場合は、 レベル値 Levよりその絶対値が 1 大きい偶数を 2で除算した値がレベル値 Levi とされる。 つまり、 レベル値 Lev が正であるとき、 レベル値 Leviには (Lev+1)の 1/2の値が割り当てられ、 レベル 値 Levが負であるとき、レベル値 Leviには(Lev- 1)の 1/2の値が割り当てられる。 そして、 レベル値 Leviとラン値 Runの組み合わせに応じて、第 1の符号表(第 4 2図参照) から、 レベル値 Leviとラン値 Runの対に対応する符号番号 Codeが 取得される。
さらに、 Lev値が正の場合は次式( 1 )に基づ!/、て、 Lev値が負の場合は次式 ( 2 ) に基づいて、 レベル値 Leviとラン値 Runの対に対応する符号番号 Codeが変換さ れる。 第 2の符号表 T 2 aは、 この変換の結果得られる符号番号とランレベル対 との対応関係を示すものである。
2 X (Code- Lev2) ― 1 · · · ( 1 )
2 X (Code- Lev2) · · · ( 2 )
例えば、第 4 2図の符号表(第 1の符号表) のランレベル対 (level=-2, run=l) に着目すると、このランレベル対に対応する符号番号 codeは、第 4 2図に示す第 1の符号表 T 1で示される値「10」から第 1 5 (a)図の第 2の符号表 T 2 aで示さ れる 「12」 に変換される。
すなわち、 この場合、 ランレベル対(Lev , Run) は、 (-2,1)であるため、 Levi 及ぴ Lev2は、 以下のように算出される。
Levi = Lev · (1/2) = -1
Lev2 = I Levi · 2 - Lev i = 1 -1 - 2 -(-2) | = 0
従って、 (Levi , Run)は、 (-1,1)となり、 このランレベル対は、 第 1の符号表 (第 4 2図) では、 符号番号 (code = 6 )に対応する。
そこで、 式 ( 2 ) を用いて、 ランレベル対 (Lev ,Run) = (-2 ,1)に対応する符 号番号を計算すると、
2 X (Code-Lev2)=2 X (6-0)=12
となる。
第 1 5 (a)図の符号表は、 第 4 2図に示す符号表 (第 1の符号表) に比べて、 ラ ン値が小さくレベル値が大きレ、ランレベル対に対して、 より小さレ、符号番号 (即 ち短い符号語)が割り当てられるのが特徴であり、量子化パラメータ QPが小さい 場合に適している。
第 1 5 (b)図は、 第 2の符号表の他の例として、 量子化パラメータ QPが大きい 場合に適した第 2の符号表 T 2 bを示している。
この第 2の符号表 T 2 bは以下のようにして作成される。
まず、 ラン値 Runlとしてラン値 Runの 1/2の値が割り当てられ、 ラン値 Run2 には Runl X 2-Runの絶対値が割り当てられる。 ここで、 ラン値 Runが奇数であ る場合は、 ラン値 Runlには、 (Run+1)の 1/2の値の整数部分が割り当てられる。 そして、 レベル値 Levとラン値 Runlの組み合わせに応じて、第 1の符号表 (第 4 2図参照) から、 レベル値 Levとラン値 Runlの対に対応する符号番号 Codeを 取得される。
さらに、 Lev値が正の場合は次式( 3 )に基づいて、 Lev値が負の場合は次式( 4 ) に基づいて、 レベル値 Levとラン値 Runlの対に対応する符号番号 Codeが変換さ れる。 第 2の符号表 T 2 bは、 この変換の結果得られる符号番号とランレベル対 との対応関係を示すものとなる。
2 X (Code+Run2) ― 1 · · · ( 3 )
2 X (Code+Run2) —2 · · · ( 4 )
例えば、 第 4 2図の符号表 (第 1の符号表) のランレベル対 (level=-l, run=2) に着目すると、 このランレベル対に対応する符号番号 codeは、第 4 2図に示す第 1の符号表 T 1で示される値「12」 から第 1 5 (b)図の第 2の符号表 T 2 bで示さ れる 「10」 に変換される。
すなわち、 この場合、 ランレベル対 (Lev , Run) は、 (-1,2)であるため、 Runl 及び; Run2は、 以下のように算出される。
Runl = Run · (1/2) = 1 Run2 = I Runl · 2 -Run | = 1 1■ 2 -21 = 0
従って、(Lev,Runl)は、(-1,1)となり、 このランレベル対は、第 1の符号表(第 4 2図) では、 符号番号 (code = 6 )に対応する。
そこで、 式 (4 ) を用いて、 ランレベル対 (Lev , Run) = (-1 ,2)に対応する符 号番号を計算すると、
2 X (Code+Run2) = 2 X (6-0)-2=10
となる。
第 1 5 (b)図に示す第 2の符号表 T 2 bは、第 4 2図に示す符号表(第 1の符号 表) T 1に比べて、 ラン値が大きくレべノレ値が小さいランレベル対に対して、 よ り小さい符号番号 (即ち短い符号語) が割り当てられるのが特徴であり、 量子化 パラメータ QPが大きい場合に適している。
第 1 6図は上記ランレングス符号化器 RLE2にて、第 1の符号表に基づいて作成 される第 2の符号表の他の例を示している。 ここで、 第 1の符号表は、 従来のラ ンレングス符号化器 RLEOcで利用される、 第 4 2図に示す符号表 T 1と同一のも のである
番号変 « CodeTransでは、位置計算器 PosClcから出力された符号化済係数個 数 Posに基づレ、て処理対象プロックに存在する未符号化成分数 (符号ィ匕処理が施 されていない係数の個数) が計算される。 そして、 第 1の符号表から作成される 第 2の符号表を、 未符号化成分数以上のラン値を含むランレベル対に対応する符 号語を含まないものとする。 これにより圧縮効率の良い符号ィ匕が可能になる。 第 1 6 (a)図は未符号ィ匕成分数が 3以上である場合に作成される第 2の符号表 T 2 cを示している。第 1 6 (b)図は未符号化成分数が 2である場合に作成される 第 2の符号表 T 2 dを示している。第 1 6 (c)図は未符号化成分数が 1の場合であ る場合に作成される第 2の符号表 T 2 eを示している。
このように、 使用されないラン値を含むランレベル対と符号との対応関係を符 号表から削除することにより、 同じランレベル対であっても、 短い符号語が割り 当てられることとなる。例えば、第 1 6 (c)図に示す第 2の符号表 T 2 eでは、 ラ ン値 〔0〕 , レベル値 〔4〕 であるランレベル対に対して符号番号 〔7〕 が対応 しており、 第 1 6 (b)図 に示す第 2の符号表 T 2 dでは、 ラン値 〔0〕 , レべノレ 値 〔4〕 であるランレベル対に対して符号番号 〔1 1〕 が対応しており、 第 1 6 (a)図 に示す第 2の符号表 T 2 cでは、 ラン値 〔0〕 , レベル値 〔4〕 であるラ ンレベル対に対しては、 値がさらに大きい符号番号 (図示せず) が対応すること となる。
第 1 7図は、 この実施の形態 3の画像符号化装置 1 0 3におけるランレングス 符号化器 RLE2での符号化順序の例を示している。
一般に、 低周波数成分に対応するレベル値の絶対値は大きく、 符号表では、 低 周波数成分に相当するランレベル対には、値が大きい符号番号 codeが対応する。 逆に高周波数成分に相当するレベル値の絶対値は小さく、 符号表では、 高周波数 成分に相当するランレベル対には、 値が小さい符号番号が対応する。
第 1 6図で説明したように、 未符号化成分数以上のラン値を含むランレベル対 に対応する符号番号 (符号語) を、 符号表から削除することにより得られる圧縮 効率向上は、 未符号化成分数が小さいほど大きく、 また、 レベル値の絶対値が大 きいほど、 上記のような符号番号の削減前と比べて割り当てられる符号番号の大 きさが小さくなる比率が大きいことから、 大きくなる。
そこで、 上記実施の形態 3の画像符号化装置 1 0 3のように、 上記ランレング ス符号化器 RLE2にて、量子化成分を符号化する際に、 レベル値の絶対値が大きい、 低周波数成分に対応する量子化成分を、 より後で符号化することにより、 圧縮効 率を更に高めることができる。
すなわち、 順序並替器 ReOdrでは、 量子化成分を、 第 1 7図に示す矢印 X I X 7のように、 最終の非 0成分である高周波数成分に対応する量子化成分のラン レベル対から低周波数成分に対応する量子化成分のランレベル対の順番に並べ替 えて、最も周波数成分が低 Vヽ量子化成分のランレベル対に対応する符号語の次に、 処理対象プロックでの符号化された最後の成分であることを示す E0Bを付加する。 これにより、 圧縮効率を向上することができる。
また、 上記実施の形態 3では、 量子化パラメータ QPと V L C選択信号 VlcSel 力 レベル変觸 LevConv, ラン変觀 RunConv,順序並替器 ReOdrおよび番号変 換器 CodeTransに供給されるので、量子ィ匕パラメータ QPに応じて符号表を切り替 えたり、 画像の内容 (画像の動き量の大きさ, 動きの複雑さ, 絵柄の細かさ) に よつて適切な符号表を外部から選択したりすることができる。
例えば、画像符号ィ匕装置の外部からの V L C選択信号 VlcSelにより、符号化処 理に用いられる符号表を切り替えることにより、 画像符号化装置では、 符号表を 1つし力備えていない複号化装置で複号化可能なストリームを作成することがで さる。
このように本実施の形態 3では、 画像信号の量子化係数を処理対象データとし て符号ィ匕する画像符号ィ匕装置 1 0 3において、 上記量子化係数に符号表を用いて 可変長符号を割り当てるランレングス符号化器 RLE2を備え、該ランレングス符号 化器 RLE2では、第 1の符号表に基づいて、処理対象データに対して最適化された 第 2の符号表を作成し、 量子ィヒパラメータ QPあるいは V L C選択信号 VlcSelに 基づレ、て、 可変長符号の割り当てに用いる符号表として、 第 1及び第 2の符号表 のいずれかを選択するので、 処理対象データに存在する冗長な情報をより効果的 に除去することができ、 これにより画像信号などの圧縮率のさらなる向上を図る ことができる。
なお、本実施の形態 3では、 ランレングス符号化器 RLE2として、第 1 4図に示 すように、 様々な圧縮率向上のための機器、 つまりラン変換器 RunConv, レベル 変換器 LevConv,順序並替器 ReOdr,番号変換器 CodeTransを有するものを示した 力 上記ランレングス符号化器 RLE1は、圧縮率向上のための機器の一部のものの みを有するものであってもよレヽ。 この場合、ランレングス符号化器 RLE2の実装は 簡単なものとなる。
また、 上記実施の形態 3では、 第 2の符号表は、 第 1の符号表を構成する、 規 則的に算術演算で生成可能な部分 (regularly build VLC) 、 及び規則的に生成で きない部分 (table look up VLC) の両方の部分における、 ランレベル対と符号番 号との対応関係を変更したものとしているが、 第 1の符号表が、 規則的に算術演 算で生成可能な部分(regularly build VLC) と規則的に生成できない部分(table look up VLC) とを有するものである場合は、 上記第 2の符号表は、 第 1の符号表 の一部である、 演算が容易な規則的に算術演算で生成可能な部分のみを変換した ものであってもよく、その場合は、ランレングス符号化器 RLE2の実装がより簡単 なものとなる。 また、 この実施の形態 3では、 量子化成分の可変長符号化を、 ランレベル対を 用いて行うランレングス符号化器において、 量子化成分を、 より高い周波数成分 に対応するものから順に可変長符号ィ匕するものを示したが、 ランレングス符号ィ匕 器は、 実施の形態 1のように、 対象プロックの量子ィ匕成分に対応するラン値及び レベル値を別々に可変長符号化するランレングス符号化器において、 対象プロッ クの量子化成分に対応するラン値及びレベル値を、 より高レ、周波数成分に対応す るものから順に可変長符号化するものであってもよいことは言うまでもない。 (実施の形態 4 )
第 1 8図は本発明の実施の形態 4による画像複号化装置を説明するためのプロ ック図である。
この実施の形態 4の画像復号ィ匕装置 1 0 4は、 第 4 0図に示す従来の画像復号 化装置 2 0 2 cにおける、 符号化ストリーム StrOcに対して可変長復号化処理を 施して復号化量子化成分 DQSを出力するランレングス復号化器 RLDOcに代えて、 符号化ストリーム Str2に対して、 量子化パラメータ QPあるいは可変長復号ィ匕選 択信号(V L D選択信号) VldSelに基づ!/ヽて可変長復号化処理を施して復号化量 子化成分 DQSを出力するランレングス復号化器 RLD2を備えたものである。この実 施の形態 4の画像復号化装置 1 0 4におけるその他の機器は、 従来の画像復号ィ匕 装置 2 0 2 cにおけるものと同一である。
すなわち、上記ランレングス複号化器 RLD2は、従来の上記ランレングス復号ィ匕 器 RLDOcと同様、 ラン値とレベル値との対 (以下、 ランレベル対という。 ) と、 これに対応する符号との対応関係を、 該ラン値とレベル値の組み合わせに応じて 示す第 1の符号表 T 1 (第 4 2図参照) を有している。 そして、 このランレング ス復号化器 RLD2は、上記第 1の符号表に基づいて、該第 1の符号表における、 ラ ン値とレベル値の対と符号との対応関係を規則的に変更して、 該第 1の符号表と は該対応関係が異なる第 2の符号表を作成し、 上記第 1及び第 2の符号表を、 上 記量子化器 Qから出力される量子化パラメータ QP、あるいは外部からの V L D選 択信号 VldSel に基づいてその一方を選択するとともに、 上記符号化ストリーム Str2を構成する符号語 (ビット列) を、 選択された符号表に基づいて、 上記処理 対象データにおける係数に関連するラン値及びレベル値の対に変換するものであ 232
72 る。
なお、 上述したように、上記量子化パラメータ QPは、量子化ステップの大きさ を表すパラメータであり、量子ィ匕ステップは量子化パラメータ QPにほぼ比例する。 つまり、量子化パラメータ QPが大きい場合は量子化成分の絶対値が小さくなるた めに、量子化成分の 0ラン(その値が 0の成分が連続して並ぶ長さ) が長くなり、 レベル値の絶対値が小さくなる。 従ってこの は、 ラン値が大きくレベル値が 小さいランレベル対に小さレ、符号が割り当てられている符号表を選択することに より符号ィ匕効率を向上することができる。逆に、量子化パラメータ QPが小さい場 合は、 量子化成分の絶対値が大きくなるために、 ラン値が小さくレベル値が大き いランレベル対に対して小さい符号が割り当てられている符号表を選択すること により、 符号ィ匕効率を向上することができる。
第 1 9図は上記ランレングス複号化器 RLD2 の具体的な構成を示すブロック図 である。
上記ランレングス復号化器 RLD2は、従来のランレングス復号化器 RLDOcと同様、 可変長復号化器 VLDを有しており、 この復号化器 VLDは、 上記実施の形態 3の画 像符号ィ匕装置 1 0 3から出力された符号化ストリーム Str2を復号化して、符号番 号 ExtCodeを出力するものである。
そして、 この実施の形態 4では、 ランレングス複号化器 RLD2は、上記符号番号 ExtCodeから、 レベル値 Leviおよぴラン値 Runlからなるランレベル上位桁対に 対応する符号番号 PrmCodeと、 レベル値 Lev2およびラン値 Run2とを分離する番 号逆変換処理を、 上記量子ィ匕パラメータ QPあるいは V L D選択信号 VldSelに基 づいて行う番号逆変, ICodeTransと、処理対象ブロックに対応する複数の符号 番号 PrmCodeを、低い周波数のランレべノレ対に対応するものから順に並べ替えて、 並べ替えられた順序を有する、該プロックに対応する複数の符号番号 Codeを出力 する順序逆並替器 IReOdrとを有している。
さらに、上記ランレングス複号化器 RLD2は、符号表もしくは算術計算によって、 符号番号 Codeに対応するランレベル対を取得して、該ランレベル対を構成するレ ベル値 Leviおよびラン値 Runlを出力するランレベル取得器 RunLevDecと、 ラン 値 Runの上位の桁を表すラン値 Runl と、 該ラン値 Runの下位の桁を表すラン値 Run2値とから、 ラン値 Runを復元するラン逆変 » IRunConvと、 レベル値 Lev の上位の桁を表すレベル値 Leviと、レベル値 Levの下位の桁を表すレベル値 Lev2 と力 ら、 レベル値 Levを復元するレベル逆変 » ILevConvとを有している。 また、上記ランレングス復号化器 RLD2は、従来のランレングス復号化器 RLDOc と同様、 逆ジグザグスキャン器 IScanを有しており、 このスキャン器 IScanは、 レベル値 Levとラン Run値で表現される 1次元配列を有する量子化成分を、 2次 元の配列を有する復号量子化成分 DQSに変換して出力するものである。
なお、 上記ランレングス復号化器 RLD2における、可変長複号化器 VLD, ランレ ベル取得器 RunLevDec, 及び逆ジグザグスキャン器 IScanは、 第 4 1図に示す従 来のランレングス復号化器 RLDOcにおけるものと同一のものである。
次に作用効果について説明する。
上記ランレングス復号化器 RLD2では、可変長復号化器 VLDは、可変長符号化器 VLCとは逆の動作を行う。つまり、可変長複号化器 VLDは、符号化ストリーム Str2 を復号化して、 該ストリームを構成する符号語 (ビット列) に対応する符号番号 ExtCodeを出力する。 番号逆変 » ICodeTransは、 上記量子ィヒパラメータ QPあ るいは V L D選択信号 VldSelに基づいて、番号変 » CodeTransとは逆の動作を 行って、 符号番号 ExtCodeから、 レベル値 Leviおよぴラン値 Runlからなるラン レベル上位桁対に対応する符号番号 PrmCodeと、レベル値 Lev2およびラン値 Run2 とを分離する。
順序逆並替器 IReOdrは、 上記量子化パラメータ QP あるいは V L D選択信号 VldSelに基づいて、 順序並替器 ReOdrとは逆の動作を行う。 これにより、 処理対 象ブロックに対応する複数の符号番号 PrmCodeを、 低い周波数のランレベル対に 対応するものから順に並べ替える処理が行われ、 並べ替えられた順序を有する、 該ブロックに対応する複数の符号番号 Code が出力される。 ランレベル取得器 RunLevDecは、符号表もしくは算術計算によって、符号番号 Codeに対応するラン レベル対を取得して、取得したランレベル対を構成するレベル値 Leviおよびラン 値 Runlを出力する。
ラン逆変攝 IRunConvは、 上記量子化パラメータ QP.あるいは V L D選択信号 VldSelに基づレ、て、 ラン変換器 RunConvとは逆の動作を行レ、、 ラン値 Runの上位 の桁を表すラン値 Runlと、 ラン値 Runの下位の桁を表すラン値 Run2とから、 ラ ン値 Runを復元する。 また、 レベル逆変 ILevCorwは、上記量子化パラメータ QPあるいは V L D選択信号 VldSelに基づレ、て、 レベル変 LevConvとは逆の 動作を行い、 レベル値 Levの上位の桁を表すレベル値 Leviと、 レベル値 Levの下 位の桁を表すレべノレ値 Lev2とから、 レベル値 Levを復元する。
ここで、 上記番号逆変換器 ICodeTrans, I噴序逆並替器 IReOdr, ラン逆変換器 IRunConv, 及びレベル逆変 » ILevConvでは、 上記量子化パラメータ QPあるい は V L D選択信号 VldSelにより、上記第 1及び第 2の符号表の選択が行われ、選 択された符号表に基づ!/、た動作が行われる。
そして、 逆ジグザグスキャン器 IScanは、 レベル値 Levとラン値 Runに基づい て上記ジグザグスキャン器 Scan とは逆の動作を行い、 レベル値 Lev とラン Run 値で表現される 1次元配列を有する量子化成分を、 2次元の配列を有する復号量 子化成分 DQSに変換して出力する。
また、 このランレングス復号化器 RLD2では、 外部から V L D選択信号 VldSel が入力されると、 V L D選択信号 VldSelにより示される、画像の内容(画像の動 き量の大きさ, 動きの複雑さ, 絵柄の細かさ) に応じた適切な符号表が選択され る。
また、 上記実施の形態 4では、 量子化パラメータ QP と V L D選択信号 VldSel 力 上記番号逆変換器 ICodeTrans,順序逆並替器 IReOdr, ラン逆変 » IRunConv, 及びレベル逆変 ILevConvに供給されるので、 量子化パラメータ QPに応じて 符号表を切り替えたり、 画像の特性、 つまり画像の動き量の大きさ, 動きの複雑 さ, 絵柄の細かさなどによって、 適切な符号表を画像復号化装置の外部から選択 したりすることができる。
このように本実施の形態 4では、 画像信号の量子化係数を可変長符号化してな る符号化データを復号化する画像複号化装置 1 0 4において、 符号表を用いて、 可変長符号を量子化係数に変換するランレングス復号化器 RLD2を備え、該ランレ ングス復号化器 RLD2では、第 1の符号表に基づいて、 .処理対象データに対して最 適ィ匕された第 2の符号表を作成し、量子化パラメータ QPあるいは V L D選択信号 VldSelに基づいて、可変長符号の量子化係数への変換に用いる符号表として、 第 1及び第 2の符号表のいずれかを選択するので、 処理対象データに存在する情報 の冗長性をより効果的に除去することができる可変長符号化処理に対応した復号 化処理を良好に行うことができる。
なお、本実施の形態 4では、 ランレングス復号化器 RLD2として、第 1 9図に示 すように、様々な圧縮率向上のための機器、 つまり番号逆変換器 ICodeTrans, 順 序逆並替器 IReOdr, ラン逆変 » IRunConv, 及ぴレベル逆変 « ILevConvを有 するものを示したが、上記ランレングス復号化器 RLD2は、圧縮率向上のための機 器の一部のもののみを有するものであってもよい。 この場合、 ランレングス復号 ィ匕器 RLD2の実装は簡単なものとなる。
また、 上記実施の形態 4では、 第 2の符号表は、 第 1の符号表を構成する、 規 則的に算術演算で生成可能な部分 (regularly build VLC) 、 及び規則的に生成で きない部分 (table look up VLC) の両方の部分における、 ランレベル対と符号番 号との対応関係を変更したものとしているが、 第 1の符号表が、 規則的に算術演 算で生成可能な部分(regularly build VLC) と規則的に生成できない部分(table look up VLC) とを有するものである場合は、 上記第 2の符号表は、 第 1の符号表 の一部である、 演算が容易な規則的に算術演算で生成可能な部分のみを変換した ものであってもよく、その場合は、 ランレングス復号化器 RLD2の実装がより簡単 なものとなる。
また、 この実施の形態 4では、 量子化成分の符号化データの可変長復号化を、 ランレベル対を用いて行うランレングス復号化器において、 量子化成分の符号化 データを、 より高い周波数成分に対応するものから順に可変長復号ィ匕するものを 示したが、 ランレングス復号化器は、 実施の形態 2のように、 対象ブロックの量 子化成分に対応するラン値及びレベル値の符号化データを別々に可変長複号化す るランレングス復号化器において、 対象プロックの量子化成分に対応するラン値 及びレベル値の符号化データを、 より高い周波数成分に対応するものから順に可 変長復号化するものであってもよい。
(実施の形態 5 )
第 2 0図は本発明の実施の形態 5による画像符号化装置を説明するためのプロ ック図である。 この実施の形態 5の画像符号化装置 1 0 5は、 第 1 3図に示す実施の形態 3の 画像符号化装置 1 0 3におけるランレングス符号化器 RLE2に代えて、該ランレン ダス符号化器 RLE2と同様ランレベル対の符号化を行うとともに、非 0成分の個数 を符号化するランレングス符号化器 RLE3を備えたものである。この実施の形態 5 の画像符号ィ匕装置 1 0 5におけるその他の機器は、 実施の形態 3の画像符号化装 置 1 0 3におけるものと同一である。
第 2 1図は上記画像符号化装置 1 0 5におけるランレングス符号化器 RLE3 の 具体的な構成を示している。
この実施の形態 5のランレングス符号化器 RLE3は、第 1 4図に示す実施の形態 3のランレングス符号化器 RLE2における位置計算器 PosClcに代えて、 入力され る量子化成分に基づいて、 非 0係数の個数 NZnum を計測する非 0係数計測器 NZcountと、該計測された非 0係数の個数 NZnum及びラン計測器 RunCalにより計 測されたラン値 Runに基づいて、符号ィ匕済み係数の個数 Pos2を計算する位置計算 器 PosClc2とを備えたものである。
また、この実施の形態 5のランレングス符号化器 RLE3は、上記実施の形態 3の ランレングス符号化器 RLE2 の可変長符号化器 VLC とは異なり、 番号変換器 CodeTrans の出力 (符号番号) ExtCode を符号化するとともに、 非 0成分の個数 NZnumを符号化するものである。
そして、該ランレングス符号化器 RLE3におけるその他の構成は、実施の形態 3 のランレングス符号化器 RLE2におけるものと同一である。
次に作用効果について説明する。
この実施の形態 5の画像符号化装置 1 0 5のプロック化器 Blk, 周波数変換器 Trans,量子化器 Qの動作は、実施の形態 3の画像符号化装置 1 0 3におけるもの と同一であり、 また、 この実施の形態 5のランレングス符号化器 RLE3の、非 0係 数計測器 NZcount, 位置計測器 P0SClc2, 番号変^ i CodeTrans, 可変長符号化器 VLC2以外の機器、つまりスキャン器 Scan,ラン計測器 RunCal,レベル計測器 LevCal, ラン変^^ RunConv, レベル変^^ LevConv, ランレべノレコ一ド変換器 RunLevEnc, 順序並替器 ReOdrの動作は、実施の形態 3のランレングス符号化器 RLE2のものと 全く同一であるので、以下、主に、非 0係数計測器 NZcount, 位置計測器 PosClC2, 番号変換器 CodeTrans及び可変長符号化器 VLC2の動作について説明する。
量子化器 Qから出力された量子化成分 QSがランレングス符号化器 RLE3に入力 されると、ランレングス符号化器 RLE3では、非 0係数計測器 Zcountは量子化成 分 QSに基づいて、各ブロックに対応する複数の量子化成分の中の非 0成分の個数 NZnuraを計測し、 該非 0成分の個数 NZnumを位置計算器 PosClc2と可変長符号化 器 VLC2に出力する。
位置計算器 PosClc2 は、 上記非 0係数計測器 NZcount からの非 0成分の個 NZnum, 及ぴラン計測器 RunCalからのラン値 Runに基づいて、 対象ブロックにお ける符号化済 0成分の個数と非 0成分の個数の和を計算し、該計算値 Pos2を出力 する。
番号変 CodeTransは、 上記ランレベル上位桁対と符号番号 ReOdrCodeとの 対応関係に基づいて、 レベル値 Lev2およびラン値 Run2から、 ランレベル対に対 応する符号番号 ExtCodeを出力する。 このとき、 番号変 m¾ CodeTransでは、 位 置計算器 PosClc2から出力された計算値 Pos2力 対象プロックにおける未符号化 成分の個数を計算するために使用される。
ここで、 番号変換器 CodeTransから出力される、 ランレベル対に対応する符号 番号 ExtCodeは、 ランレベル対と符号番号との対応関係が第 1の符号表のものと は異なる第 2の符号表に基づいて得られたものである。 また、 この第 2の符号表 は、 上記順序並替器 ReOdrでの並替え処理により、 ランレベル対と符号番号の対 応関係が第 1の符号表とは異なる符号表を作成し、さらに、上記順序並替器 ReOdr にて作成された符号表を、番号変換器 CodeTransにて、上記計算値 Pos2に基づい て、 そのラン値が最大ラン値 Runを超えるランレベル対を、 符号を割り当てない 符号番号 ExtCodeに対応付けることにより、 作成されたものである。
そして、可変長符号化器 VLC2は、非 0成分の個数 NZnumの符号化を行うととも に、該符号番号 ExtCodeにビット列(符号語)を割り当てて符号化ストリーム Str3 を生成する、 符号番号 ExtCodeに対する符号ィ匕を行う。
以下、 可変長符号化器 VLC2の動作について詳しく説明する。
この実施の形態 5の可変長符号化器 VLC2 は、 実施の形態 3の可変長符号化器 VLCとは異なり、 対象ブロックのランレベル対に対応する符号番号 ExtCodeを符 号化するだけでなく、 対象ブロックの非 0成分の個数 NZnumを該ブロックの符号 番号 ExtCodeの符号化以前に符号化する。
このように非 0成分の個数 NZnumをプロックの符号番号 ExtCodeの符号化以前 に符号ィ匕すれば、 復号ィヒの際に対象プロックの非 0成分の個数 NZnuraを最初に復 号化でき、 非 0成分の個数 NZnumに相当する個数のランレベル対を復元した時点 で、対象ブロックの最後のランレベル対の復元が完了したことを判別可能となる。 この結果、 実施の形態 3の可変長符号化器 VLCで必要であつた対象ブロックの最 後に符号ィ匕する特別の値 E0B (最後の非 0成分の後に伝送される値) 力 可変長 符号化器 VLC2では不要となる。
次に、 位置計算器 PosClc2及び番号変換器 CodeTransの動作につ!/、て詳しく説 明する。
対象プロックの量子化成分 QS は、 0成分および非 0成分を合わせて、 NBlock 個存在するとすると、対象プロックの非 0係数の個数 NZnumから、最大ラン長( 0 係数の最大連続数) は NBlock—NZnum個になる。 また、 最初のランレベル対の符 号化が完了した時点での最大ラン値( 0係数の最大連続数) MaxRun (1)は、対象ブ ロックの最初のランレベル対のラン値 FRunを用いて以下の式(5 )により表され る。
MaxRun (1) = NBlock— NZnum— FRun · · · ( 5 )
一般には、 ブロックにおける i番目のランレべノレ対の符号ィヒが完了した時点で の最大ラン値 MaxRun (i)は、 下記の式 (6 ) により表される。
MaxRun (i) = NBlock -NZnum
- {1番目から (i) 番目までのラン値の和 } · · · ( 6 ) 従って、位置計算器 PosClc2は、 以下の (7 ) 式で示す計算値 Pos2を出力する ことで、 番号変 ^¾ CodeTransに最大ラン値 MaxRun (i)が ( 8 ) 式で示される値 であることを指示する。
Pos2 = NZnum+ {1番目から (i) 番目までのラン値の和 } ' · · ( 7 )
MaxRun (i) = NBlock-Pos2 · · · ( 8 )
番号変換器 CodeTrans は、 第 2の符号表を、 そのラン値が最大ラン値 MaxRun を超えるランレベル対には、 符号を割り当てない符号番号 ExtCodeを対応付けた ものとする。 これにより、 発生するはずの無いランレベル対への符号の割り当て による符号ィ匕処理の冗長を削減して、 圧縮率を向上することができる。
なお、 上記量子ィ匕成分に対する可変長符号ィ匕処理を行う際、 上記第 1及び第 2 の符号表として、 算術演算で生成可能な第 1の部分 (regularly build VLC) と、 規則的な演算より生成できない第 2の部分 (table look up VLC) とから構成され る可変長符号表を用いる場合は、 第 2の符号表は、 第 1の符号表に対して、 該両 部分を最大ラン値に応じて変更したものとしてもよレ、が、 第 2の符号表は、 演算 が容易な算術演算で生成可能な第 1の部分のみを、 第 1の符号表に対して、 最大 ラン値に応じて変更したものとしても良い。
また、 i番目のランレベル対の符号化が完了した時点での最大ラン値 MaxRun (i)に応じて、 可変長符号表を変更する場合に、符号表を、 ラン値 Runが最 大ラン値 MaxRun(i)を超えるランレベル対に符号を割り当てないものとする代わ りに、 可変長符号表を直接、 ラン値 Runが最大ラン値 MaxRun (i)を超えるランレ ベル対に符号が割り当てられていないものに切り替えるようにしても良い。
第 2 4図は可変長符号表の例を示す図である。符号表 T a (第 2 4 (a)図) は、 符号表 T b (第 2 4 (b)図) に比べて、小さいラン値に割り当てられる符号をより 短い符号としたものであり、 該符号表 T b (第 2 4 (b)図) は、 符号表 T c (第 2 4 (c)図)に比べて、小さいラン値に割り当てられる符号をより短い符号としたも のである。
また、 符号表 T c (第 2 4 (c)図) は、 符号表 T b (第 2 4 (b)図) に比べて、 絶対値が小さい Level値に割り当てられる符号をより短い符号としたものであり、 符号表 T b (第 2 4 (b)図) は、 符号表 T a (第 2 4 (a)図) に比べて、 絶対値が 小さい Level値に割り当てられる符号をより短レ、符号としたものである。
従って、 最大ラン値 MaxRunが小さい場合は第 2 4 (a)図の符号表 T a、 最大ラ ン値 MaxRunが大きい場合は第 2 4 (c)図の符号表 T c、最大ラン値 MaxRunがその 中間の値である場合は第 2 4 (b)図の符号表 T bを選択して使用するのがよい。 このように本実施の形態 5では、 画像信号の周波数成分を量子化して得られた 量子化係数を符号化する画像符号化装置 1 0 5において、 上記量子化係数に符号 表を用いて可変長符号を割り当てるランレングス符号化器 RLE3を備え、該ランレ ングス符号化器 RLE3では、符号化処理の対象プロックにおける、符号化処理の施 された処理済係数の個数と、 該対象プロックにおける、 符号化処理の施されてい ない未符号化非 0係数の個数との和、 言いかえると、 対象ブロックの非 0係数の 個数と対象プロックの処理済みラン値の個数の和に応じて、 出現する可能性のな いランレベル対を排除した符号表を選択するので、 可変長符号化効率を向上する ことができる効果がある。
なお、 上記実施の形態 5では、 ランレングス符号化器として、 各プロックの量 子化成分に対する可変長符号化を、ランレベル対を用いて行う符号化器において、 対象ブロックの非 0成分の個数 NZnumを符号化するものを示したが、 ランレング ス符号化器は、 例えば、 上記実施の形態 1のように、 各ブロックの量子化成分に 対するラン値とレベル値を別々に可変長符号化する符号化器において、 対象プロ ックの非 0成分の個数 NZnumの符号化を行うものであってもよい。 この場合、 対 象プロックにおける最大ラン値を、 対象ブロックにおけるすべての成分の個数か ら該非 0成分の個数 NZnumを減算したものとできる。
(実施の形態 6 )
第 2 2図は、 本発明の実施の形態 6による画像復号ィ匕装置を説明するためのブ 口ック図である。
この実施の形態 6の画像復号化装置 1 0 6は、 第 1 8図に示す実施の形態 4の 画像復号化装置 1 0 4におけるランレングス複号化器 RLD2に代えて、符号ィ匕デ一 タの復号化処理により、 各プロック毎にランレベル対及び非 0成分の個数を復元 するランレングス復号化器 RLD3を備えたものである。この実施の形態 6の画像復 号化装置 1 0 6におけるその他の機器は、 実施の形態 4の画像復号化装置 1 0 4 におけるものと同一である。
第 2 3図は上記画像復号化装置 1 0 6におけるランレングス復号化器 RLD3 の 具体的な構成を示している。
この実施の形態 6のランレングス復号化器 RLD3は、第 1 9図に示す実施の形態 4のランレングス復号化器 RLD2における位置計算機 PosClcに代えて、 複号化処 理の対象ブロックにおける、 復号化処理済みラン値の個数と、 該対象ブロックに おける非 0係数の個数 NZnumとに基づいて、これらの個数の和 Pos2を計算する位 置計算機 P0SClc2を備えたものである。
また、 この実施の形態 6のランレングス復号化器 RLDSの可変長復号化器 VLD2 は、上記実施の形態 4のランレングス復号化器 RLD2の可変長符復号化器 VLDとは 異なり、 符号番号 ExtCodeを復元する復号ィヒ処理とともに、 符号化された非 0成 分の個数 NZnumを復元する復号ィ匕処理を行うものである。
次に作用効果について説明する。
この実施の形態 6の画像復号ィ匕装置 1 0 6の逆量子化器 IQ, 逆周波数変換器 ITrans, 逆プロック化器 DeBlkの動作は、 実施の形態 4の画像復号化装置 1 0 4 におけるものと同一であり、 また、 この実施の形態 6のランレングス復号化器 RLD3 の、 可変長復号化器 VLD2, 位置計測器 PosClc2, 番号逆変換器 ICodeTrans 以外の機器、 つまり順序逆並替器 IReOdr, ランレベル取得器 RmiLevDec, レベル 逆変換器 ILevConv, ラン逆変換器 IRunConv,逆ジグザグスキャン器 IScanの動作 は、実施の形態 4のランレングス複号化器 RLD2のものと全く同一であるので、以 下、主に、可変長復号化器 VLD2,位置計測器 PoSClc2,及び番号逆変 « ICodeTrans の動作について説明する。
可変長復号化器 VLD2は、 符号化ストリーム Str3を複号化して、 該ストリーム を構成する符号語 (ビット列) に対応する符号番号 ExtCodeを出力する。 番号逆 変換器 ICodeTransは、上記量子化パラメータ QP及び V L D選択信号 VldSelの少 なくとも一方と、 復号化済み係数個数と未復号化非 0係数の個数の加算値 Pos2 とに基づいて、 番号変^^ CodeTransとは逆の動作を行って、 符号番号 ExtCode から、 レベル値 Leviおよびラン値 Runlからなるランレベル上位桁対に対応する 符号番号 PrmCodeと、 レベル値 Lev2およびラン値 Run2とを分離する。
そして、 順序逆並替器 ]: Re0dr、 ランレベル取得器 RunLevDec、 ラン逆変換器 IRunConv, レベル逆変換器 ILevConv、 逆ジグザグスキャン器 IScanは、 上記実施 の形態 4におけるものと同じ動作を行う。
ここで、 上記番号逆変 « ICodeTrans, 順序逆並替器 IReOdr, ラン逆変換器 IRunConv, 及びレベル逆変 ILevConvでは、 上記量子化パラメータ QP及び V L D選択信号 VldSelの少なくとも一方と、 上記係 ロ算値 Pos2に基づレ、て、 上 記第 1及び第 2の符号表の選択が行われ、 選択された符号表に基づいた動作が行 われる。
以下、 可変長復号化器 VLD2の動作について詳しく説明する。
この実施の形態 6の可変長復号化器 VLD2 は、 実施の形態 4の可変長復号化器 VLDとは異なりランレベル対に対応する符号番号 ExtCodeを復号ィヒするだけでな く、 対象ブロックの、 符号化された非 0成分の個数 NZnumを復号化する。 非 0成 分の個数 NZnumを復号化により取得できれば、 NZnum個のランレベル対を復号ィ匕 した時点で、 該 NZnum個目のランレベル対が対象プロックの最後のランレベル対 であることが判別できる。 この結果、 可変長復号化器 VLDで必要であつた対象ブ ロックの最後に符号化する値 E0Bが、 可変長復号化器 VLD2では不要となる。 例えば、 対象ブロックの量子化成分 QS は、 0成分および非 0成分を合わせて NBlock個存在するとすると、対象プロックの非 0係数の個数 NZnum個から、最大 ラン値 (0係数の最大連続数) は NBlock— NZnum個になる。 また、 最初のランレ ベル対を復元する復号ィ匕が行われた時点での最大ラン値 ( 0係数の最大連続数) MaxRun (l)は、実施の形態 5で説明したように(NBlock— NZnum— FRun)個になる。 一般には、 ブロックにおける i番目のランレベル対を復元する復号ィ匕が行われ た時点での最大ラン値 MaxRun (i)は、 以下に示すように、
MaxRun (i) =NBlock-NZnum- {1番目から (i) 番目までのラン値の和 } となる。
従って、位置計算器 PosClc2は、係勸ロ算値 Pos2 C=NZnum+ { 1番目から (i) 番目までのラン値の和 } 〕 を出力することで、 番号変換器 CodeTransに、 i番目 のランレベル対を復元する復号化が行われた時点での最大ラン値が (NBlock— Pos2) 個であることを指示する。
番号逆変 » ICodeTransでは、ラン値が最大ラン値 Runを超えるランレベル対 に対応する符号番号に符号が割り当てられていない符号表を用いて、 符号に対応 する符号番号 ExtCodeを取得することにより、 発生するはずの無いランレベル対 への符号の割り当てを回避した符号割当により符号番号に割り当てられた符号を 復号化できる。
なお、 上記可変長複号化処理を行う際、 上記第 1及び第 2の符号表として、 算 術演算で生成可能な第 1の部分 (regularly build VLC) 、 及び規則的に生成でき ない第 2の部分 (table look up VLC) とにより構成される可変長符号表を用いる 場合は、 第 2の符号表は、 第 1の符号表に対して、 両部分を最大ラン値に応じて 変更したものとしてもよいが、 第 2の符号表は、 演算が容易な算術演算で生成可 能な第 1の部分のみを、 第 1の符号表に対して、 最大ラン値に応じて変更したも のとしてもよい。
また、 i番目のランレベル対を復元する復号化が完了した時点での最大ラン値 MaxRunに応じて、 可変長符号表を変更する場合に、 符号表を、 ラン値が最大ラン 値 MaxRunを超えるランレベル対に符号を割り当てないものとする代わりに、可変 長符号表を、 例えば、 第 2 4 (a)図に示す符号表 T a , 第 2 4 (b)図に示す符号表 T b , あるいは第 2 4 (c)図に示す符号表 T cに直接切替えててもよい。
例えば、 最大ラン値 MaxRunが小さレ、場合は第 2 4 (a)図の符号表 T a、 最大ラ ン値 MaxRunが大きい場合は第 2 4 (c)図の符号表 T c、最大ラン値 MaxRunがその 中間の値である場合は第 2 4 (b)図の符号表 T bを選択して使用するのがよい。 このように本実施の形態 6では、 符号化データの複号化処理により、 画像信号 の周波数成分を量子化して得られた量子化係数を復元する画像復号ィヒ装置 1 0 6 において、 可変長符号に対応する量子化係数を、 符号表を用いて取得するランレ ングス復号化器 RLD3を備え、 該ランレングス複号化器 RLD3では、 対象プロック における、復号ィ匕処理の施された処理済係数の個数と、該対象プロックにおける、 復号化処理の施されていなレヽ未復号化非 0係数の個数との和に応じて、 出現する 可能性のないランレベル対を排除した符号表を選択するので、 処理対象となる量 子化係数に存在する冗長性な情報をより効果的に除去することができる可変長符 号化処理に対応した復号化処理を良好に行うことができる。
なお、 上記実施の形態 6では、 ランレングス復号化器として、 各プロックの量 子化成分に対する可変長復号化を、ランレベル対を用いて行う復号化器において、 対象プロックの、 符号化されている非 0成分の個数 NZnumを復号化するものを示 したが、 ランレングス復号化器は、 例えば、 上記実施の形態 2のように、 各プロ ックの量子化成分に対応するラン値とレベル値とを別々に可変長復号化するラン レングス復号化器において、 対象ブロックの、 符号化されている非 0成分の個数 NZnumを復号化するものであってもよい。 この場合、 NZnum個のレベル値を復号化 した時点で、 該 NZnum個目のレベル値が対象ブロックの最後のレベル値であるこ とを判別できる。
また、上記各実施の形態では、量子化パラメータ QPで符号表を切り替える例を 説明したが、量子化パラメータ QPでなく、他のパラメータでもよい。例えば、新 たなパラメータを導入し、 プロック毎に明示的に切り替えてもよい。
また、上記各実施の形態では、量子化成分などの係数を可変長符号化(復号化) する方法として、 V L Cテーブルを用いる方法であって、 上記符号化 (復号化) 処理が施された処理済係数に関する情報、 及び上記係数の生成に関するパラメ一 タの少なくとも一方に応じて、 V L Cテーブルを切り替えるものを示したが、 本 発明の量子化成分などの係数の可変長符号ィ匕 (復号化) '方法は、 V L Cテーブル を用いるものに限るものではない。 例えば、 実施の形態 1, 3, 5の、 量子化成 分を可変長符号ィ匕する方法は、 上記 V L Cテーブルを用いない可変長符号化方法 であって、 上記処理済係数に関する情報、 及び上記係数の生成に関するパラメ一 タの少なくとも一方に応じて、 上記 V L Cテーブルに相当する符号表を切り替え るものとしてもよい。 また、 実施の形態 2 , 4 , 6の、 量子ィ匕成分の符号化デー タを可変長復号化する方法は、 上記 V L Cテーブルを用いない可変長復号化方法 であって、 上記処理済係数に関する情報、 及び上記係数の生成に関するパラメ一 タの少なくとも一方に応じて、 上記 V L Cテーブルに相当する符号表を切り替え るものとしてもよい。
また、 上記各実施の形態では、 可変長符号化処理を行う画像符号化装置あるい は可変長復号ィ匕処理を行う画像複号化装置を、ハードウエアにより実現したもの を示したが、 これらの装置はソフトウェアにより実現してもよい。 この場合、 上 記各実施の形態で示した可変長符号化処理あるいは可変長復号化処理を行うため のプログラムをフレキシブルディスク等のデータ記憶媒体に記録しておくことに より、 上記画像符号ィ匕装置あるいは画像復号化装置を、 独立したコンピュータシ ステムにおいて簡単に実現することが可能となる。
第 2 5図は、 上記実施の形態 1, 3、 5の可変長符号化処理または実施の形態 2 , 4, 6の可変長復号化処理を行うコンピュータシステムを説明するための図 である。 第 2 5 (a)図 は、 コンピュータシステムにて用いるプログラムの記憶媒体であ るフレキシブルディスクの、 正面からみた外観、 断面構造、 及びフレキシブルデ イスク本体を示し、 第 2 5 (b)図 は、 フレキシブルディスク本体の物理フォーマ ットの例を示している。 フレキシプノレディスク F Dは、 上記ディスク本体 Dをケ ース F内に内蔵したものであり、 該ディスク本体 Dの表面には、 同心円状に外周 から内周に向かって複数のトラック T rが形成され、 各トラックは角度方向に 1 6のセクタ S eに分割されている。 従って、 上記プログラムを格納したフレキシ ブルディスク F Dでは、 上記ディスク本体 D上に割り当てられた記憶領域に、 上 記可変長符号化処理または可変長復号化処理を行うためのプログラムが記録され ている。
また、 第 2 5 (c)図 は、 フレキシプルディスク F Dに上記プログラムの記録再 生を行うための構成を示す。 上記プログラムをフレキシブノレディスク F Dに記録 する場合は、 コンピュータシステム C sから上記プログラムをフレキシブルディ スク ドライブを介してフレキシブノレディスク F Dに書き込む。 また、 フレキシプ ルデイスク F D内に記録されているプログラムにより上記画像符号化装置または 画像復号化装置をコンピュータシステム中に構築する場合は、 フレキシブルディ スクドライブによりプログラムをフレキシブノレディスクから読み出し、 コンビュ ータシステムに転送する。
なお、 上記説明では、 可変長符号化処理あるいは可変長復号化処理を行うため のプログラムを記録する記録媒体としてフレキシブルディスクを示したが、 この 記録媒体には光ディスクを用いても、 上記フレキシブルディスクを用いる場合と 同様に、 ソフトウェアによる可変長符号ィ匕処理あるいは可変長復号ィヒ処理を行う ことができる。 また、 上記記録媒体はこれらに限らず、 CD-R0M、 メモリカード、 R OMカセット等、 プログラムを記録できるものであればどのようなものでもよ く、 これらの記録媒体を用いる場合でも、 上記フレキシブルディスク等を用いる 場合と同様に、 コンピュータシステムにより可変長符号ィ匕処理あるいは可変長復 号化処理を行うことができる。
さらに以下、 上記実施の形態で示した画像符号ィ匕方法や画像復号ィ匕方法の応用 例とそれを用いたシステムにつ!/ヽて説明する。 第 26図は、 コンテンツ配信サービスを実現するコンテンツ供給システム 1 1 00の全体構成を示すブロック図である。
通信サービスの提供エリアは所望の大きさの領域 (セル) に分割され、 各セル 内にそれぞれ固定無線局である基地局 1 1 07〜1 1 10が設置されている。 このコンテンツ供給システム 1 1 00では、 例えば、 インターネット 1 10 1 にィンターネットサービスプロバイダ 1 1 02, 電話網 1 1 04, および基地局 1 1 07〜 1 1 10を介して、コンピュータ 1 1 1 1、 PDA (personal digital assistant) 1 1 1 2、カメラ 1 1 1 3、携帯電話 1 1 14、 カメラ付きの携帯電 話 1 200などの各機器が接続されている。
但し、 コンテンッ供給システム 1 1 00は、 第 26図に示す複数の機器をすベ て含むものに限定されず、 第 26図に示す複数の機器の一部のものを含むもので あってもよい。 また、 各機器は、 固定無線局である基地局 1 1 07〜1 1 10を 介さずに、 電話網 1 1 04に直接接続されていてもよレ、。
ここで、 カメラ 1 1 1 3はデジタルビデオカメラ等の動画撮影が可能な機器で ある。 また、 携帯電話は、 PDC (Personal Digital Communications) 方式、 C DMA (Code Division Multiple Access) 方式、 W— CDMA (Wideband-Code Division Multiple Access) 方式、 若しくは GSM (Global System for Mobile Communications)方式の携 電言舌機、または P H S (Personal Handyphone System) 等であり、 いずれの方式のものでもよい。
また、ストリーミングサーバ 1 103は、カメラ 1 1 1 3とは基地局 1 1 09、 電話網 1 1 04を介して接続されており、 このシステムでは、 カメラ 1 1 1 3を 用いてユーザが送信する符号化処理されたデータに基づいたライプ配信等が可能 となっている。 撮影したデータの符号化処理はカメラ 1 1 1 3で行っても、 デー タの送信処理をするサーバ等で行ってもよい。 また、 カメラ 1 1 1 6で動画像を 撮影して得られた動画データはコンピュータ 1 1 1 1を介してストリーミングサ ーバ 1 1 0 3に送信されてもよい。カメラ 1 1 1 6はデジタルカメラ等の静止画、 動画が撮影可能な機器である。 この場合、 動画データの符号化はカメラ 1 1 1 6 で行ってもコンピュータ 1 1 1 1で行ってもどちらでもよレ、。 また、 符号化処理 はコンピュータ 1 1 1 1やカメラ 1 1 1 6が有する L S 1 1 1 1 7にて行われる ことになる。
なお、 画像符号ィ匕 ·複号化用のソフトウェアは、 コンピュータ 1 1 1 1等で読 み取り可能な記録媒体である蓄積メディア (C D— R OM、 フレキシブルデイス ク、 ハードディスクなど) に格納するようにしてもよい。 さらに、動画データは、 カメラ付きの携帯電話 1 2 0 0により送信してもよい。 この動画データは携帯電 話 1 2 0 0が有する L S Iで符号ィ匕処理されたデータである。
このコンテンツ供給システム 1 1 0 0では、 ユーザがカメラ 1 1 1 3、 カメラ 1 1 1 6等で撮影しているコンテンツ (例えば、 音楽ライブを撮影した映像等) は、 カメラから上記実施の形態同様に符号ィ匕処理してストリーミングサーバ 1 1 0 3に送信され、 一方で、 ストリーミングサーバ 1 1 0 3からは、 要求のあった クライアントに対して上記コンテンツデータがストリ一ム配信される。
クライアントとしては、 上記符号化処理されたデータを復号化することが可能 な、 コンピュータ 1 1 1 1、 P DA 1 1 1 2、 カメラ 1 1 1 3、 携帯電話 1 1 1 4等がある。
このようなコンテンッ供給システム 1 1 0 0では、 符号化されたデ一タをクラ イアント側にて受信して再生することができ、 さらにクライアント側にてリアル タイムで受信して複号化し、再生することにより、個人放送をも実現可能である。 このシステムを構成する各機器の符号化、 復号ィ匕には上記各実施の形態で示し た画像符号ィ匕装置あるいは画像復号ィヒ装置を用いるようにすればよレ、。
その一例として携帯電話について説明する。
第 2 7図は、 上記実施の形態で説明した画像符号ィ匕方法と画像復号化方法を用 いた携帯電話 1 2 0 0を示す図である。
この携帯電話 1 2 0 0は、 基地局 1 1 1 0との間で電波を送受信するためのァ ンテナ 1 2 0 1と、 C C Dカメラ等の映像, 静止画を撮影可能なカメラ部 1 2 0 3と、 カメラ部 1 2 0 3で撮影した映像、 ァンテナ 1 2 0 1で受信した映像等の データを表示する液晶ディスプレイ等の表示部 1 2 0 2とを有している。
また、 携帯電話 1 2 0 0は、 複数の操作キーが取り付けられている本体部 1 2 0 4と、 音声出力を行うためのスピーカ等の音声出力部 1 2 0 8と、 音声入力を 行うためのマイク等の音声入力部 1 2 0 5と、 撮影した動画もしくは静止画のデ ータ、 受信したメールのデータ、 動画のデータもしくは静止画のデータ等、 符号 化されたデ一タまたは復号ィ匕されたデ一タを保存するための記録メディア 1 2 0 7と、 携帯電話 1 2 0 0に記録メディア 1 2 0 7を装着可能とするためのスロッ ト部 1 2 0 6を有している。
ここで、 記録メディア 1 2 0 7は S Dカード等のプラスチックケース内に電気 的に書換えや消去が可能な不揮発性メモリである E E P R OM (Electrically Erasable and Programmable Read Only Memory) の一種でめるフフッシュメモリ 素子を格納したものである。
さらに、 携帯電話 1 2 0 0について第 2 8図を用いて詳細に説明する。
携帯電話 1 2 0 0は、 表示部 1 2 0 2及ぴ操作キー 1 2 0 4を備えた本体部の 各部を統括的に制御する主制御部 1 2 4 1を有している。
また携帯電話 1 2 0 0は、 電源回路部 1 2 4 0、 操作入力制御部 1 2 3 4、 画 像符号化部 1 2 4 2、 カメラインターフェ一ス部 1 2 3 3、 L C D (Liquid Crystal Display) 制御部 1 2 3 2、画像複号化部 1 2 3 9、 多重分離部 1 2 3 8、 記録再生部 1 2 3 7、 変復調回路部 1 2 3 6及び音声処理部 1 2 3 5を有してい る。 携帯電話 1 2 0 0の各部は、 同期バス 1 2 5 0を介して互いに接続されてい る。
電源回路部 1 2 4 0は、 ユーザの操作により、 終話及び電源キーがオン状態に されると、 バッテリパックの電力を各部に対して供給することによりカメラ付デ ィジタル携帯電話 1 2 0 0を動作可能な状態に起動する。
携帯電話 1 2 0 0では、 C P U、 R OM及び RAM等でなる主制御部 1 2 4 1 の制御により各部の動作が行われる。 つまり、 携帯電話 1 2 0 0では、 音声通話 モード時に音声入力部 1 2 0 5への音声入力により得られた音声信号は音声処理 部 1 2 3 5によってディジタル音声データに変換される。 ディジタル音声データ は変復調回路部 1 2 3 6でスぺクトラム拡散処理が施され、 さらに、 送受信回路 部 1 2 3 1でディジタルアナログ変換処理及び周波数変換処理が施され、 アンテ ナ 1 2 0 1を介して送信される。
また携帯電話機 1 2 0 0では、 音声通話モード時にアンテナ 1 2 0 1で受信さ れた受信信号は増幅されて周波数変換処理及びアナ口グディジタル変換処理が施 される。 受信信号はさらに、 変復調回路部 1 2 3 6でスぺクトラム逆拡散処理が 施され、 音声処理部 1 2 3 5によってアナログ音声信号に変換され、 この信号が 音声出力部 1 2 0 8を介して出力される。
さらに、 携帯電話 1 2 0 0では、 データ通信モード時に電子メールを送信する 場合、 本体部の操作キー 1 2 0 4の操作によって入力された電子メールのテキス トデータは、 操作入力制御部 1 2 3 4を介して主制御部 1 2 4 1に送出される。 主制御部 1 2 4 1は、 テキストデータを変復調回路部 1 2 3 6でスぺクトラム拡 散処理が施され、 送受信回路部 1 2 3 1でディジタルアナログ変換処理及び周波 数変換処理が施された後にアンテナ 1 2 0 1を介して基地局 1 1 1 0へ送信され るよう、 各部を制御する。
携帯電話 1 2 0 0では、 データ通信モード時に画像データを送信する場合、 力 メラ部 1 2 0 3で撮像された画像データはカメラインターフェース部 1 2 3 3を 介して画像符号化部 1 2 4 2に供給される。 また、 携帯電話 1 2 0 0では、 画像 データを送信しな!、場合には、 カメラ部 1 2 0 3での撮像により得られた画像デ ータをカメラインターフェース部 1 2 3 3及び L C D制御部 1 2 3 2を介して表 示部 1 2 0 2に直接表示することも可能である。
画像符号化部 1 2 4 2は、 上記各実施の形態で説明した画像符号化装置を備え たものである。 この画像符号化部 1 2 4 2は、 カメラ部 1 2 0 3から供給された 画像データを上記実施の形態の画像符号化方法によって圧縮符号ィヒすることによ り符号化画像データに変換して、 多重分離部 1 2 3 8に送出する。 また、 このと き同時に携帯電話機 1 2 0 0は、 カメラ部 1 2 0 3で撮像中に音声入力部 1 2 0 5に入力された音声を音声処理部 1 2 3 5を介してディジタルの音声データとし て多重分離部 1 2 3 8に送出する。
多重分離部 1 2 3 8は、 画像符号化部 1 2 4 2から供給された符号化画像デー タと音声処理部 1 2 3 5力 ら供給された音声データとを所定の方式で多重化する。 その結果得られる多重化データは変復調回路部 1 2 3 6でスぺクトラム拡散処理 が施され、 さらに送受信回路部 1 2 3 1でディジタルアナ口グ変換処理及び周波 数変換処理が施され、 アンテナ 1 2 0 1を介して送信される。
また、 携帯電話 1 2 0 0では、 データ通信モード時にホームページ等にリンク された動画像ファイルのデータを受信する場合、 アンテナ 1 2 0 1を介して基地 局 1 1 1 0から受信した受信信号は、 変復調回路部 1 2 3 6でスぺクトラム逆拡 散処理が施され、 その結果得られた多重ィ匕データが多重分離部 1 2 3 8に送出さ れる。
また、 アンテナ 1 2 0 1を介して受信された多重化データを復号ィヒする際、 多 重分離部 1 2 3 8は、 多重化データを分離することにより画像データの符号化ビ ッ トス トリームと音声データの符号化ビットストリームとに分け、 同期バス 1 2 5 0を介して該符号化画像データを画像復号化部 1 2 3 9に供給すると共に該音 声データを音声処理部 1 2 3 5に供給する。
次に、 画像複号化部 1 2 3 9は、 本発明の実施の形態による画像複号化装置を 備えたものである。 画像複号化部 1 2 3 9は、 画像データの符号ィ匕ビットストリ ームを、 上述した本発明の実施の形態の符号化方法に対応した復号化方法で復号 することにより再生動画像データを生成し、 これを L C D制御部 1 2 3 2を介し て表示部 1 2 0 2に供給する。 これにより、 例えばホームページにリンクされた 動画像ファイルに含まれる動画データの表示が行われる。 このとき同時に音声処 理部 1 2 3 5は、 音声データをアナログ音声信号に変換した後、 これを音声出力 部 1 2 0 8に供給する。 これにより、 例えばホームページにリンクされた動画像 フアイノレに含まる音声データの再生が行われる。
なお、 上述した本発明の各実施の形態の画像符号化方法及び画像複号化方法を 適用可能なシステムは、 上記コンテンツ供給システムの例に限られるものではな い。
例えば、 最近は衛星、 地上波によるディジタル放送が話題となっており、 上記 実施の形態の画像符号化装置または画像復号化装置は、 第 2 9図に示すようにデ ィジタル放送用システムにも適用可能である。
具体的には、 放送局 1 4 0 9からは映像情報の符号ィ匕ビットストリームが無線 通信により、 通信衛星または放送衛星などの衛星 1 4 1 0に伝送される。 放送衛 星 1 4 1 0では、 上記 (象情報の符号ィ匕ビットストリームを受けると、 放送用の 電波が出力され、 この電波が衛星放送受信設備をもつ家庭のアンテナ 1 4 0 6で 受信される。例えば、テレビ(受信機) 1 4 0 1またはセットトップボックス (S T B ) 1 4 0 7などの装置では、 符号化ビットストリ一ムが復号化され、 映像情 報が再生される。
また、記録媒体である CDや DVD等の蓄積メディア 1 4 0 2に記録した符号化ビ ットストリームを読み取り、 複号化する再生装置 1 4 0 3にも、 上記実施の形態 で示した画像復号化装置を実装することが可能である。
この場合、 再生された映像信号はモニタ 1 4 0 4に表示される。 また、 ケープ ルテレビ用のケーブル 1 4 0 5または衛星/地上波放送のァンテナ 1 4◦ 6に接 続されたセットトップボックス 1 4 0 7内に画像復号ィ匕装置を実装し、 該画像復 号化装置の出力をテレビのモニタ 1 4 0 8で再生する構成も考えられる。 この場 合、 画像復号化装置は、 セットトツプボックスではなく、 テレビ内に組み込んで もよレ、。 また、 アンテナ 1 4 1 1を有する車両 1 4 1 2では、 衛星 1 4 1 0また は基地局 1 1 0 7等から信号を受信し、 車両 1 4 1 2に搭載されているカーナビ ゲーシヨン 1 4 1 3等の表示装置に動画を再生することも可能である。
更に、 画像信号を上記実施の形態で示した画像符号ィ匕装置で符号ィ匕し、 記録媒 体に記録することもできる。
具体例な記録装置には、 DVDディスク 1 4 2 1に画像信号を記録する DVDレコ ーダや、 ハードディスクに画像信号を記録するディスクレコーダなどのレコーダ 1 4 2 0がある。更に画像信号は、 SDカード 1 4 2 2に記録することもできる。 また、 レコーダ 1 4 2 0が上記実施の形態で示した画像復号ィ匕装置を備えていれ ば、 レコーダ 1 4 2 0により、 DVDディスク 1 4 2 1や SDカード 1 4 2 2に記録 した画像信号を再生し、 モニタ 1 4 0 8で表示することができる。
なお、 カーナビゲーシヨン 1 4 1 3の構成としては、 例えば第 2 8図に示す携 帯電話の構成のうち、 カメラ部 1 2 0 3 , カメラインターフェース部 1 2 3 3, 画像符号化部 1 2 4 2以外の部分を有するものが考えられ、 同様なことがコンビ ユータ 1 1 1 1やテレビ (受信機) 1 4 0 1等については考えられる。
また、 上記携帯電話 1 1 1 4等の端末には、 符号化器'復号化器を両方持つ送 受信型端末の他に、 符号化器のみを有する送信端末、 復号化器のみ有する受信端 末の 3通りの実装形式が考えられる。
このように、 上記実施の形態で示した画像符号化方法あるいは画像復号化方法 を上述したいずれの機器 ·システムにも用いることが可能であり、 そうすること で、 上記実施の形態で説明した効果を得ることができる。
さらには、 本発明の各実施の形態及びその応用例は、 本明細書で示したものに 限られるものではないことは、 言うまでもない。 産業上の利用可能性
以上のように本発明に係る可変長符号化方法及び可変長復号化方法は、 可変長 符号ィ匕処理の対象となる係数データに含まれる冗長な情報が、 該係数データを構 成する係数の特性ゃ該係数に対する符号化処理の状況に応じた符号表の選択によ り効果的に除去されることとなり、 これにより画像信号などに対する可変長符号 化処理の符号化効率を大きく向上することができるものであり、 動画像データを 伝送あるいは記憶するデータ処理では有用なものである。

Claims

請 求 の 範 囲
1 . 複数の係数からなる係数データを符号ィ匕して、 複数の符号からなる符号ィ匕 データに変換する可変長符号化方法であって、
上記係数に対して、 該係数の大きさを表す数値情報と符号との対応を示す複数 の符号表を用いて、 その値が 0である連続する 0係数の個数を示すラン値と、 該 0係数に続く非 0係数の値を示すレベル値とからなるランレベル対を符号に変換 する符号ィ匕処理を施す符号ィヒステップを含み、
該符号化ステップは、
上記符号表を、 上記符号ィ匕処理が施された処理済係数に関する情報、 及び上記 係数の生成に関するパラメータの少なくとも一方に応じて選択する符号表選択ス 上記符号化処理が施されていなレヽ未符号化係数に対して、 上記選択された符号 表を用いて符号を割り当てる符号割当ステップとを含むものであることを特^[敷と する可変長符号化方法。
2 . 請求の範囲第 1項記載の可変長符号ィヒ方法において、
上記係数に対する符号化処理は、 ランレベル対の符号への変換を、 一定数の係 数からなるプロック毎に行うものであり、
上記符号表選択ステップは、 上記符号化処理の対象となる対象ブロックにおけ る、 符号化処理の施された処理済係数の個数と、 該対象ブロックにおける、 符号 化処理の施されていなレ、未符号ィ匕非 0係数の個数との和に応じて、 上記ランレべ ル対と符号との対応を示す複数の符号表から 1つの符号表を選択するものであり、 上記符号割当ステップは、 上記選択された符号表に基づいて、 上記対象ブロッ クにおける未符号化係数に対応するランレベル対に符号を割り当てるものである ことを特 ί敷とする可変長符号化方法。
3 . 請求の範囲第 1項記載の可変長符号化方法にぉレ、て、
上記符号化ステツプは、 上記ランレベル対と、 これに対応する符号との対応を、 該ランレベル対を形成するラン値とレベル値の組み合わせに応じて示す第 1の符 号表に基づいて、 該第 1の符号表における、 ランレベル対と符号との対応を規則 的に変更して、 該第 1の符号表とは、 該ランレベル対と符号との対応が異なる第 2の符号表を作成する符号表処理ステップを含み、
上記符号表選択ステップは、
上記第 1及び第 2の符号表の一方を、 上記処理済係数に関する情報、 及び上記 係数の生成に関するパラメータの少なくとも一方に応じて選択するものであるこ とを特教とする可変長符号化方法。
4 . 請求の範囲第 3項記載の可変長符号化方法において、
上記第 1及び第 2の符号表は、 各ランレベル対に、 該ランレベル対を形成する レベル値が小さいほど、 短い符号を対応付けたものであり、
上記第 2の符号表は、 上記第 1の符号表と比べて、 平均的に、 短い符号を対応 付けられるランレベル対のレベル値が小さいものであることを特徴とする可変長 符号化方法。
5 . 請求の範囲第 3項記載の可変長符号化方法において、
上記第 1及び第 2の符号表は、 各ランレベル対に、 該ランレベル対を形成する ラン値が小さいほど、 短い符号を対応付けたものであり、
上記第 2の符号表は、 上記第 1の符号表と比べて、 平均的に、 短い符号を対応 付けられるランレベル対のラン値が小さいものであることを特徴とする可変長符 号化方法。
6 . 請求の範囲第 3項記載の可変長符号化方法において、
上記係数に対する符号化処理は、 ランレベル対の符号への変換を、 一定数の係 数からなるプロック毎に行うものであり、
上記符号表処理ステップは、 上記第 2の符号表を、 上記符号化処理の対象とな る対象ブロックにおける、 該符号化処理が施された処理済係数の数に応じて作成 するものであることを特徴とする可変長符号化方法。
7 . 請求の範囲第 6項記載の可変長符号化方法にぉレ、て、
上記符号割当ステツプは、 上記ランレベル対に対する符号の割当を、 画像デー タの周波数成分の高い係数に対応するランレベル対から順に行うものであること を特徴とする可変長符号化方法。
8 . 請求の範囲第 3項記載の可変長符号化方法にお!/ヽて、 上記第 2の符号表は、 上記第 1の符号表に含まれる、 ランレベル対と符号との 複数の対応のうちの、 規則的に算出可能な対応のみを変更したものであることを 特徴とする可変長符号化方法。
9 . 請求の範囲第 3項記載の可変長符号ィ匕方法において、
上記係数データを構成する係数は、 画像データの周波数成分を、 画像データに 応じた量子化ステップに基づレ、て量子化して得られたものであり、
上記符号表選択ステップは、 上記第 1の符号表と第 2の符号表の切替えを、 上 記量子化ステップの大きさに基づレ、て行う符号表切替ステツプであることを特徴 とする可変長符号化方法。
1 0 . 請求の範囲第 3項記載の可変長符号化方法にお!/、て、
上記符号表選択ステップは、 上記第 1の符号表と第 2の符号表の切替を、 切替 え指示信号に基づいて行う符号表切替ステップであり、
上記符号化ステップは、 上記切替え指示信号の符号ィ匕処理を行うものであるこ とを特徴とする可変長符号化方法。
1 1 . 請求の範囲第 3項記載の可変長符号ィヒ方法において、
上記係数に対する符号化処理は、 ランレベル対の符号への変換を、 一定の係数 からなるブロック毎に行うものであり、
上記符号表処理ステップは、 上記第 2の符号表を、 符号化処理の対象となる対 象プロックにおける、 符号ィ匕処理が施された処理済係数の個数と、 該対象プ口ッ クにおける、 符号化処理が施されていない未符号ィ匕非 0係数の個数との和に応じ て作成するものであることを特徴とする可変長符号化方法。
1 2 . 複数の符号からなる符号ィ匕データを復号化して、 複数の係数からなる係 数データに変換する可変長復号化方法であって、
上記符号に対して、 上記係数の大きさを表す数値情報と上記符号との対応を示 す複数の符号表を用いて、 該符号化データを構成する符号を、 その値が 0である 連続する 0係数の個数を示すラン値と、 該 0係数に続く非 0係数の値を示すレべ ル値とからなるランレベル対に復元する復号ィ匕処理を施す復号化ステップを含み、 該複号化ステップは、
上記符号表を、 上記復号化処理が施された処理済係数に関する情報、 及び上記 係数の生成に関するパラメータの少なくとも一方に応じて選択する符号表選択ス テツプと、
上記復号化処理が施されていない未復号化符号に対応する数値情報を、 上記選 択された符号表を用レ、て取得する数値取得ステツプとを含むものであることを特 徴とする可変長復号化方法。
1 3 . 請求の範囲第 1 2項記載の可変長復号化方法において、
上記符号に対する復号化処理は、 該符号のランレベル対への復元を、 上記係数 データを構成する一定数の係数からなるプロック毎に行うものであり、
上記符号表選択ステップは、 上記複号化処理の対象となる対象ブロックにおけ る、 該ブロックの復号ィ匕処理により得られた処理済係数の個数と、 該対象ブロッ クにおける、 該プロックの復号ィ匕処理では未だ得られていない未複号化非 0係数 の個数との和に応じて、 上記ランレベル対と符号との対応を示す複数の符号表か ら 1つの符号表を選択するものであり、
上記数値取得ステップは、 上記選択された符号表に基づいて、 上記対象プロッ クにおける未複号化係数に対応するランレベル対を取得するものであることを特 ί敷とする可変長復号化方法。
1 4 . 請求の範囲第 1 2項記載の可変長復号化方法において、
上記復号化ステップは、 上記ランレベル対と、 これに対応する符号との対応を、 該ランレベル対を形成するラン値とレベル値の組み合わせに応じて示す第 1の符 号表に基づいて、 該第 1の符号表における、 ランレベル対と符号との対応を規則 的に変更して、 該第 1の符号表とは、 該ランレベル対と符号との対応が異なる第 2の符号表を作成する符号表処理ステップを含み、
上記符号表選択ステップは、
上記第 1及び第 2の符号表の一方を、 上記処理済係数に関する情報、 及び上記 係数の生成に関するパラメータの少なくとも一方に応じて選択するものであるこ とを特徴とする可変長復号化方法。
1 5 . 請求の範囲第 1 4項記載の可変長復号化方法において、
上記第 1及び第 2の符号表は、 各ランレベル対に、 該ランレベル対を形成する レベル値が小さいほど、 短い符号を対応付けたものであり、 上記第 2の符号表は、 上記第 1の符号表と比べて、 平均的に、 短い符号を対応 付けられるランレベル対のレベル値が小さいものであることを特徴とする可変長 復号化方法。
1 6 . 請求の範囲第 1 4項記載の可変長復号化方法において、
上記第 1及び第 2の符号表は、 各ランレベル対に、 該ランレベル対を形成する ラン値が/ J、さいほど、 短い符号を対応付けたものであり、
上記第 2の符号表は、 上記第 1の符号表と比べて、 平均的に、 短い符号を対応 付けられるランレベル対のラン値が小さいものであることを特徴とする可変長復 号化方法。
1 7 . 請求の範囲第 1 4項記載の可変長復号化方法において、
上記符号に対する復号化処理は、 該符号のランレベル対への復元を、 上記係数 データを構成する一定数の係数からなるブロック毎に行うものであり、
上記符号表処理ステップは、 上記第 2の符号表を、 上記復号化処理の対象とな る対象ブロックにおける、 該復号化処理により得られた処理済係数の数に応じて 作成するものであることを特徴とする可変長復号化方法。
1 8 . ff青求の範囲第 1 7項記載の可変長復号化方法において、
上記数値取得ステップは、 上記符号に対応するランレベル対の取得を、 対応す る画像データの周波数成分の高レヽランレベル対から順に行うものであることを特 敫とする可変長複号化方法。
1 9 . 請求の範囲第 1 4項記載の可変長復号化方法において、
上記第 2の符号表は、 上記第 1の符号表に含まれる、 ランレベル対と符号との 複数の対応のうちの、 規則的に算出可能な対応のみを変更したものであることを 特徴とする可変長復号化方法。
2 0 . 請求の範囲第 1 4項記載の可変長復号化方法において、
上記係数データを構成する係数は、 画像データの周波数成分を、 画像データに 応じた量子化ステップに基づ!/ヽて量子化して得られたものであり、
上記符号表選択ステップは、 上記第 1の符号表と第 2の符号表の切替えを、 上 記量子化ステップの大きさに基づレ、て行うものであることを特徴とする可変長復 号化方法。
2 1 . 請求の範囲第 1 4項記載の可変長復号化方法において、 上記符号表選択ステップは、 上記第 1の符号表と第 2の符号表の切替を、 切替 え指示信号に基づいて行う符号表切替ステップを含むものであり、
上記復号ィ匕ステップは、 上記切替え指示信号の復号ィ匕処理を行うものであるこ とを特敷とする可変長復号化方法。
2 2. 請求の範囲第 1 4項記載の可変長復号ィヒ方法にぉレヽて、
上記符号に対する複号化処理は、 符号のランレベル対への復元を、 上記係数デ 一タを構成する一定の係数からなるブロック毎に行うものであり、
上記符号表処理ステップは、 上記第 2の符号表を、 復号化処理の対象となる対 象プロックにおける、 該ブロックに対する復号ィ匕処理により得られた処理済係数 の個数と、 該対象ブロックにおける、 該ブロックに対する復号ィ匕処理では未だ得 られていなレ、未復号化非 0係数の個数との和に応じて作成するものであることを 特徴とする可変長複号化方法。
PCT/JP2002/012232 2001-11-22 2002-11-22 Variable length coding method and variable length decoding method Ceased WO2003044964A1 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
BR0206628-9A BR0206628A (pt) 2001-11-22 2002-11-22 Método de codificação de comprimento variável e método de decodificação de comprimento variável
AU2002366142A AU2002366142A1 (en) 2001-11-22 2002-11-22 Variable length coding method and variable length decoding method
KR10-2004-7007783A KR20040054794A (ko) 2001-11-22 2002-11-22 가변 길이 부호화 방법 및 가변 길이 복호화 방법
US10/494,753 US20050015248A1 (en) 2001-11-22 2002-11-22 Variable length coding method and variable length decoding method
MXPA04004770A MXPA04004770A (es) 2001-11-22 2002-11-22 Metodo de codificacion de longitud variable y metodo de descodificacion de longitud variable.
CA 2467266 CA2467266A1 (en) 2001-11-22 2002-11-22 Variable length coding method and variable length decoding method
EP20020790698 EP1453208A1 (en) 2001-11-22 2002-11-22 Variable length coding method and variable length decoding method

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2001-358197 2001-11-22
JP2001358197 2001-11-22
JP2002-099227 2002-04-01
JP2002099227 2002-04-01

Publications (1)

Publication Number Publication Date
WO2003044964A1 true WO2003044964A1 (en) 2003-05-30

Family

ID=26624666

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/JP2002/012232 Ceased WO2003044964A1 (en) 2001-11-22 2002-11-22 Variable length coding method and variable length decoding method
PCT/JP2002/012230 Ceased WO2003045065A2 (en) 2001-11-22 2002-11-22 Variable length coding method and variable length decoding method

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/JP2002/012230 Ceased WO2003045065A2 (en) 2001-11-22 2002-11-22 Variable length coding method and variable length decoding method

Country Status (14)

Country Link
US (16) US20050015248A1 (ja)
EP (7) EP1413139B1 (ja)
JP (7) JP4158996B2 (ja)
KR (16) KR101030862B1 (ja)
CN (3) CN1301014C (ja)
AT (1) ATE528924T1 (ja)
AU (5) AU2002357584B2 (ja)
BR (3) BR0206628A (ja)
CA (2) CA2450360C (ja)
DK (3) DK2268033T3 (ja)
ES (6) ES2587022T3 (ja)
MX (2) MXPA04000912A (ja)
PT (3) PT2268033T (ja)
WO (2) WO2003044964A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101044687B (zh) * 2004-07-14 2012-09-19 喷流数据有限公司 用于数据压缩优化的方法和系统
US10547862B2 (en) 2012-03-26 2020-01-28 JVC Kenwood Corporation Picture coding device, picture coding method, and picture coding program, and picture decoding device, picture decoding method, and picture decoding program

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1413139B1 (en) * 2001-11-22 2011-10-12 Panasonic Corporation Variable length coding method and variable length decoding method
JP4368575B2 (ja) 2002-04-19 2009-11-18 パナソニック株式会社 可変長復号化方法、可変長復号化装置およびプログラム
ATE543178T1 (de) 2002-09-04 2012-02-15 Microsoft Corp Entropische kodierung mittels anpassung des kodierungsmodus zwischen niveau- und lauflängenniveau-modus
US7133523B2 (en) * 2002-12-20 2006-11-07 Pitney Bowes Inc. Method and system for solving the word problem in braid group cryptosystems
CN1214649C (zh) * 2003-09-18 2005-08-10 中国科学院计算技术研究所 用于视频预测残差系数编码的熵编码方法
US7522774B2 (en) * 2004-03-10 2009-04-21 Sindhara Supermedia, Inc. Methods and apparatuses for compressing digital image data
US7519229B2 (en) * 2004-03-30 2009-04-14 Apple, Inc. Video coding system providing separate coding chains for dynamically selected small-size or full-size playback
JP2005333609A (ja) * 2004-04-22 2005-12-02 Sanyo Electric Co Ltd 符号化制御回路及び符号化回路
ATE532270T1 (de) 2004-07-14 2011-11-15 Slipstream Data Inc Verfahren, system und computerprogramm für die optimierung von datenkomprimierung
US7570827B2 (en) 2004-07-14 2009-08-04 Slipstream Data Inc. Method, system and computer program product for optimization of data compression with cost function
JP3990392B2 (ja) * 2004-08-31 2007-10-10 松下電器産業株式会社 可変長復号化装置、可変長復号化方法および撮像システム
US7209059B2 (en) * 2004-12-06 2007-04-24 Matsushita Electric Industrial Co., Ltd. Decoding method and encoding method
NO322043B1 (no) * 2004-12-30 2006-08-07 Tandberg Telecom As Fremgangsmate for forenklet entropikoding
US8599925B2 (en) 2005-08-12 2013-12-03 Microsoft Corporation Efficient coding and decoding of transform blocks
JP4682102B2 (ja) 2005-09-02 2011-05-11 キヤノン株式会社 画像符号化装置及び画像符号化方法
JP4548348B2 (ja) * 2006-01-18 2010-09-22 カシオ計算機株式会社 音声符号化装置及び音声符号化方法
US8599841B1 (en) 2006-03-28 2013-12-03 Nvidia Corporation Multi-format bitstream decoding engine
JP4749195B2 (ja) 2006-03-28 2011-08-17 京セラ株式会社 通信制御装置、無線通信装置、通信制御方法及び無線通信方法
US8593469B2 (en) * 2006-03-29 2013-11-26 Nvidia Corporation Method and circuit for efficient caching of reference video data
JP2007329903A (ja) * 2006-05-11 2007-12-20 Matsushita Electric Ind Co Ltd 可変長復号化装置、可変長復号化方法および撮像システム
US7324026B2 (en) * 2006-05-19 2008-01-29 Nvidia Corporation Optimization of decoder memory usage for VLC tables
US7884742B2 (en) 2006-06-08 2011-02-08 Nvidia Corporation System and method for efficient compression of digital data
CN101513068B (zh) * 2006-09-28 2013-10-09 汤姆森许可贸易公司 一种冗余编码方法、产生编码的设备和方法及接收编码的方法
US7796825B2 (en) * 2007-02-16 2010-09-14 Cisco Technology, Inc. Losslessly improving compression of compressed image data
US7774205B2 (en) * 2007-06-15 2010-08-10 Microsoft Corporation Coding of sparse digital media spectral data
CN101106715B (zh) * 2007-07-26 2012-08-29 昊迪移通(北京)技术有限公司 一种视频带宽适配方法及装置
NO326724B1 (no) * 2007-09-03 2009-02-02 Tandberg Telecom As Metode for entropikoding av transformasjonskoeffisienter i videokomprimeringssystemer
US8031959B2 (en) * 2008-02-22 2011-10-04 Himax Technologies Limited Compression system for a bit-plane
US8902972B2 (en) * 2008-04-11 2014-12-02 Qualcomm Incorporated Rate-distortion quantization for context-adaptive variable length coding (CAVLC)
US8179974B2 (en) * 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
US20090304073A1 (en) * 2008-06-06 2009-12-10 Mohammad Usman Systems and Methods for the Bandwidth Efficient Processing of Data
CN101785318B (zh) * 2008-06-27 2012-12-12 索尼公司 图像处理装置和图像处理方法
KR101501568B1 (ko) * 2008-07-04 2015-03-12 에스케이 텔레콤주식회사 영상 부호화 및 복호화 장치 및, 방법
US7791509B2 (en) * 2008-07-15 2010-09-07 International Business Machines Corporation Preprocessing variable-length code (VLC) bitstream information
US7777653B2 (en) * 2008-07-15 2010-08-17 International Business Machines Corporation Decoding variable-length code (VLC) bitstream information
US8406307B2 (en) 2008-08-22 2013-03-26 Microsoft Corporation Entropy coding/decoding of hierarchically organized data
TWI482499B (zh) * 2008-10-03 2015-04-21 Ind Tech Res Inst 影像訊號處理裝置和方法
RU2487473C2 (ru) * 2008-12-03 2013-07-10 Нокиа Корпорейшн Переключение между режимами кодирования коэффициентов дискретного косинусного преобразования
US8676775B2 (en) * 2008-12-12 2014-03-18 At&T Intellectual Property I, L.P. Support 3-screen user experience in the context of a services marketplace
JP5490404B2 (ja) * 2008-12-25 2014-05-14 シャープ株式会社 画像復号装置
US9300972B2 (en) 2009-02-09 2016-03-29 Samsung Electronics Co., Ltd. Video encoding method and apparatus using low-complexity frequency transformation, and video decoding method and apparatus
CN102460976B (zh) 2009-05-19 2016-02-10 诺基亚技术有限公司 用于可变长度编码的方法和设备
WO2011013192A1 (ja) 2009-07-27 2011-02-03 株式会社東芝 画像符号化方法および画像復号方法
US20110158310A1 (en) * 2009-12-30 2011-06-30 Nvidia Corporation Decoding data using lookup tables
TWI415397B (zh) * 2010-05-19 2013-11-11 Mstar Semiconductor Inc 媒體編碼系統、量化係數編碼裝置及量化係數編碼方法
JP2012010263A (ja) * 2010-06-28 2012-01-12 Sony Corp 符号化装置、撮像装置、符号化伝送システムおよび符号化方法
US20120147970A1 (en) * 2010-12-08 2012-06-14 Qualcomm Incorporated Codeword adaptation for variable length coding
US10397577B2 (en) 2011-03-08 2019-08-27 Velos Media, Llc Inverse scan order for significance map coding of transform coefficients in video coding
JP2012253420A (ja) * 2011-05-31 2012-12-20 Toshiba Corp 可変長符号復号装置、復号システムおよび可変長符号復号方法
KR101943425B1 (ko) * 2011-06-30 2019-01-30 에스케이 텔레콤주식회사 비균등 양자화를 이용한 효과적인 부호화/복호화 방법 및 장치
JP5685683B2 (ja) * 2011-10-28 2015-03-18 株式会社Gnzo バイトアラインメント装置及びバイトアラインメント方法
US20130114687A1 (en) * 2011-11-07 2013-05-09 Sharp Laboratories Of America, Inc. Fixed intra run-level mode for cavlc in hevc
US10015915B2 (en) * 2011-11-24 2018-07-03 Tatsuta Electric Wire & Cable Co., Ltd. Shield film, shielded printed wiring board, and method for manufacturing shield film
US9860527B2 (en) 2012-01-19 2018-01-02 Huawei Technologies Co., Ltd. High throughput residual coding for a transform skipped block for CABAC in HEVC
US9743116B2 (en) 2012-01-19 2017-08-22 Huawei Technologies Co., Ltd. High throughput coding for CABAC in HEVC
US20130188736A1 (en) * 2012-01-19 2013-07-25 Sharp Laboratories Of America, Inc. High throughput significance map processing for cabac in hevc
US9654139B2 (en) 2012-01-19 2017-05-16 Huawei Technologies Co., Ltd. High throughput binarization (HTB) method for CABAC in HEVC
US10616581B2 (en) 2012-01-19 2020-04-07 Huawei Technologies Co., Ltd. Modified coding for a transform skipped block for CABAC in HEVC
US9386326B2 (en) 2012-10-05 2016-07-05 Nvidia Corporation Video decoding error concealment techniques
EP2933797B1 (en) * 2012-12-17 2016-09-07 Panasonic Intellectual Property Management Co., Ltd. Information processing device and control method
CN108259901B (zh) * 2013-01-16 2020-09-15 黑莓有限公司 用于对游长编码变换系数进行熵编码的上下文确定
US9160363B2 (en) * 2014-02-27 2015-10-13 Samsung Display Co., Ltd. Run length encoding with non-sequential input
US10264285B2 (en) * 2014-05-22 2019-04-16 Qualcomm Incorporated Coding runs in palette-based video coding
US10750198B2 (en) 2014-05-22 2020-08-18 Qualcomm Incorporated Maximum palette parameters in palette-based video coding
JP6502739B2 (ja) 2015-04-28 2019-04-17 キヤノン株式会社 画像符号化装置、画像処理装置、画像符号化方法
JP6512928B2 (ja) * 2015-04-28 2019-05-15 キヤノン株式会社 画像符号化装置、画像処理装置、画像符号化方法
US10171810B2 (en) 2015-06-22 2019-01-01 Cisco Technology, Inc. Transform coefficient coding using level-mode and run-mode
KR101746799B1 (ko) 2015-11-04 2017-06-14 주식회사 쏠리드 분산 안테나 시스템
US10063892B2 (en) * 2015-12-10 2018-08-28 Adobe Systems Incorporated Residual entropy compression for cloud-based video applications
US10264262B2 (en) 2016-02-29 2019-04-16 Adobe Inc. Codebook generation for cloud-based video applications
WO2018173862A1 (ja) * 2017-03-21 2018-09-27 シャープ株式会社 画像復号装置及び画像符号化装置
JP6787231B2 (ja) * 2017-04-04 2020-11-18 富士通株式会社 データ処理プログラム、データ処理方法およびデータ処理装置
CN106941610B (zh) * 2017-04-25 2019-12-24 西安电子科技大学 基于改进方块编码的二值roi掩模编码方法
US11120363B2 (en) 2017-10-19 2021-09-14 Adobe Inc. Latency mitigation for encoding data
US10942914B2 (en) 2017-10-19 2021-03-09 Adobe Inc. Latency optimization for digital asset compression
US11086843B2 (en) 2017-10-19 2021-08-10 Adobe Inc. Embedding codebooks for resource optimization
US11044495B1 (en) 2018-02-13 2021-06-22 Cyborg Inc. Systems and methods for variable length codeword based data encoding and decoding using dynamic memory allocation
BR112021010602A2 (pt) 2018-12-26 2021-08-24 Panasonic Intellectual Property Corporation Of America Método de codificação de dados tridimensionais, método de decodificação de dados tridimensionais, dispositivo de codificação de dados tridimensionais, e dispositivo de decodificação de dados tridimensionais
US10491240B1 (en) * 2019-01-17 2019-11-26 Cyborg Inc. Systems and methods for variable length codeword based, hybrid data encoding and decoding using dynamic memory allocation
KR101997599B1 (ko) * 2019-01-22 2019-07-08 에스케이 텔레콤주식회사 비균등 양자화를 이용한 효과적인 부호화/복호화 방법 및 장치
CN110545437B (zh) * 2019-08-30 2021-07-20 北京大学 系数编码、解码方法、电子设备及介质
US10931303B1 (en) * 2020-03-04 2021-02-23 Arm Limited Data processing system
JP7739039B2 (ja) * 2020-05-07 2025-09-16 ブラックマジック デザイン ピーティーワイ リミテッド 変換係数処理方法
NO348846B1 (no) * 2023-03-24 2025-06-16 Sustaintech Marine As Fremgangsmåte og apparat for å hindre marin begroing i sjøkasser og interne sjøvannsystemer på skip og i sjøvannsinntak i bygg- og industrianlegg
CN117097906B (zh) * 2023-10-20 2023-12-26 河北天英软件科技有限公司 一种区域医疗资源高效利用的方法及系统
US20250175636A1 (en) * 2023-11-28 2025-05-29 Tencent America LLC Systems and methods for end of block coding for 2d coefficients block with 1d transforms

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0621830A (ja) * 1992-06-30 1994-01-28 Sony Corp 2次元ハフマン符号化方法
JPH06237184A (ja) * 1993-02-10 1994-08-23 Fujitsu Ltd 可変長符号化回路
JPH0879088A (ja) * 1994-05-11 1996-03-22 Samsung Electron Co Ltd 改善された差分動き符号テーブルを用いた差分動きベクトル値の可変長符号化方法及びその装置

Family Cites Families (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
LU42775A1 (ja) * 1962-11-28 1964-05-28
JPH03285460A (ja) 1990-04-02 1991-12-16 Fuji Facom Corp 画像データ圧縮符号化方式
ES2143136T3 (es) * 1990-12-28 2000-05-01 Canon Kk Aparato para el proceso de imagenes.
US5230938A (en) * 1991-03-11 1993-07-27 Moore Business Forms, Inc. Protected fold and seal label for demand printing
US5838834A (en) * 1991-11-07 1998-11-17 Canon Kabushiki Kaisha Image processing apparatus and method for quantizing image data and quantization errors using single quantizing unit and pluralities of quantization tables
US5233348A (en) * 1992-03-26 1993-08-03 General Instrument Corporation Variable length code word decoder for use in digital communication systems
KR0162197B1 (ko) 1992-05-30 1998-12-15 강진구 영상데이타의 가변장부호와/복호화방법 및 장치
GB2268667B (en) 1992-06-24 1995-11-08 Sony Broadcast & Communication Serial data decoding
US5325092A (en) * 1992-07-07 1994-06-28 Ricoh Company, Ltd. Huffman decoder architecture for high speed operation and reduced memory
KR950010913B1 (ko) * 1992-07-23 1995-09-25 삼성전자주식회사 가변장부호화 및 복호화시스템
KR940017747A (ko) * 1992-12-29 1994-07-27 에프. 제이. 스미트 영상 처리 디바이스
US5400075A (en) * 1993-01-13 1995-03-21 Thomson Consumer Electronics, Inc. Adaptive variable length encoder/decoder
US5583500A (en) * 1993-02-10 1996-12-10 Ricoh Corporation Method and apparatus for parallel encoding and decoding of data
US5381145A (en) * 1993-02-10 1995-01-10 Ricoh Corporation Method and apparatus for parallel decoding and encoding of data
US5717394A (en) * 1993-02-10 1998-02-10 Ricoh Company Ltd. Method and apparatus for encoding and decoding data
EP1006731B1 (en) 1993-03-29 2007-06-13 Canon Kabushiki Kaisha Code amount control method and encoding apparatus for carrying it out
JPH0766982A (ja) 1993-08-26 1995-03-10 Canon Inc 符号量制御装置
JP3382292B2 (ja) 1993-04-22 2003-03-04 キヤノン株式会社 画像符号化装置及びその方法
JPH079088A (ja) 1993-06-28 1995-01-13 Sumitomo Heavy Ind Ltd 小ロット生産用連続鋳造設備による鋳片の製造法
JP3210996B2 (ja) * 1993-07-30 2001-09-25 三菱電機株式会社 高能率符号化装置及び高能率復号化装置
JPH0766882A (ja) 1993-08-23 1995-03-10 Matsushita Electric Works Ltd インターホンシステム
JPH07143488A (ja) * 1993-11-19 1995-06-02 Fujitsu Ltd 画像データ復号化方法および装置
US5479527A (en) * 1993-12-08 1995-12-26 Industrial Technology Research Inst. Variable length coding system
KR0155784B1 (ko) 1993-12-16 1998-12-15 김광호 영상데이타의 적응형 가변장 부호화/복호화방법
KR970009408B1 (ko) 1994-01-18 1997-06-13 대우전자 주식회사 인터/인트라 테이블 선택 회로
US5703793A (en) * 1994-07-29 1997-12-30 Discovision Associates Video decompression
JP3220598B2 (ja) 1994-08-31 2001-10-22 三菱電機株式会社 可変長符号テーブルおよび可変長符号化装置
KR0147948B1 (ko) * 1994-09-15 1998-09-15 배순훈 영상 부호화장치
US6549666B1 (en) * 1994-09-21 2003-04-15 Ricoh Company, Ltd Reversible embedded wavelet system implementation
US6141446A (en) * 1994-09-21 2000-10-31 Ricoh Company, Ltd. Compression and decompression system with reversible wavelets and lossy reconstruction
CA2156889C (en) 1994-09-30 1999-11-02 Edward L. Schwartz Method and apparatus for encoding and decoding data
JP3144456B2 (ja) 1995-01-20 2001-03-12 三菱自動車工業株式会社 助手席エアバッグモジュールのリアクションカン構造
JP3285460B2 (ja) 1995-01-31 2002-05-27 株式会社ケット科学研究所 近赤外成分分析器の光源装置
KR100209410B1 (ko) * 1995-03-28 1999-07-15 전주범 영상 신호 부호화 장치
US5740283A (en) * 1995-07-06 1998-04-14 Rubin, Bednarek & Associates, Inc. Digital video compression utilizing mixed vector and scalar outputs
US5812788A (en) 1995-07-21 1998-09-22 Intel Corporation Encoding/decoding video signals using quantization tables based on explicitly encoded base and scale matrices
JP3883618B2 (ja) * 1995-10-26 2007-02-21 株式会社ハイニックスセミコンダクター データ圧縮方法
US5835145A (en) * 1996-01-19 1998-11-10 Lsi Logic Corporation Conversion system using programmable tables for compressing transform coefficients
JP3141149B2 (ja) 1996-04-26 2001-03-05 株式会社日立製作所 画像符号化装置
DE69718687T2 (de) 1996-05-28 2003-05-22 Matsushita Electric Industrial Co., Ltd. Vorrichtung und verfahren zur bildvorhersage und -codierung/ -decodierung.
US5825312A (en) * 1996-11-25 1998-10-20 Xerox Corporation DX JPEG Huffman decoder
US5995148A (en) * 1997-02-14 1999-11-30 At&T Corp Video coder having scalar dependent variable length coder
JPH10271017A (ja) 1997-03-27 1998-10-09 Kawasaki Steel Corp 符号量制御装置
JP3189876B2 (ja) * 1997-06-09 2001-07-16 日本電気株式会社 可変長符号復号化回路
US6151075A (en) * 1997-06-11 2000-11-21 Lg Electronics Inc. Device and method for converting frame rate
FI107496B (fi) * 1997-07-18 2001-08-15 Nokia Mobile Phones Ltd Kuvan kompressointi
US6016111A (en) * 1997-07-31 2000-01-18 Samsung Electronics Co., Ltd. Digital data coding/decoding method and apparatus
KR19990036476A (ko) * 1998-04-28 1999-05-25 백정한 가변양자의 부호화를 이용한 화상압축방법및 그 장치
US6477280B1 (en) * 1999-03-26 2002-11-05 Microsoft Corporation Lossless adaptive encoding of finite alphabet data
US6241778B1 (en) * 1999-06-18 2001-06-05 Lucent Technologies Inc. Methods and apparatus for implementing run-length limited and maximum transition run codes
JP2001025053A (ja) * 1999-07-09 2001-01-26 Mitsubishi Electric Corp 携帯電話のメモリシステム
AU769072B2 (en) 2000-04-04 2004-01-15 Canon Kabushiki Kaisha Accessing items of information
AUPQ668500A0 (en) * 2000-04-04 2000-05-04 Canon Kabushiki Kaisha Accessing items of information
JP4109404B2 (ja) * 2000-04-26 2008-07-02 松下電器産業株式会社 符号化装置および符号化方法
US6731814B2 (en) * 2000-05-01 2004-05-04 Xerox Corporation Method for compressing digital documents with control of image quality and compression rate
US6912070B1 (en) * 2000-08-08 2005-06-28 Qualcomm, Inc. Sub-optimal variable length coding
US6661355B2 (en) * 2000-12-27 2003-12-09 Apple Computer, Inc. Methods and apparatus for constant-weight encoding & decoding
US6757429B2 (en) 2001-02-21 2004-06-29 Boly Media Communications Inc. Method of compressing digital images
EP1374429A4 (en) * 2001-03-05 2009-11-11 Intervideo Inc SYSTEMS AND METHOD FOR CODING AND DECODING REDUNDANT MOTION VECTORS IN COMPRESSED VIDEO BITSTRAMS
US6763070B1 (en) * 2001-05-29 2004-07-13 Cisco Technology, Inc. Methods and apparatus for selecting a cut-off index
US7046852B2 (en) * 2001-09-13 2006-05-16 Sharp Laboratories Of America, Inc. Fast image decompression via look up table
US6856701B2 (en) * 2001-09-14 2005-02-15 Nokia Corporation Method and system for context-based adaptive binary arithmetic coding
EP1413139B1 (en) * 2001-11-22 2011-10-12 Panasonic Corporation Variable length coding method and variable length decoding method
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
US6690307B2 (en) * 2002-01-22 2004-02-10 Nokia Corporation Adaptive variable length coding of digital video
US6823015B2 (en) * 2002-01-23 2004-11-23 International Business Machines Corporation Macroblock coding using luminance date in analyzing temporal redundancy of picture, biased by chrominance data
US7206448B2 (en) * 2002-02-28 2007-04-17 At&T Corp. System and method for using pattern vectors for video and image coding and decoding
US6717394B2 (en) * 2002-03-21 2004-04-06 Eaton Corporation Method and apparatus for determining frequency of an alternating current signal of an electric power system
US7099387B2 (en) 2002-03-22 2006-08-29 Realnetorks, Inc. Context-adaptive VLC video transform coefficients encoding/decoding methods and apparatuses
JP4130780B2 (ja) * 2002-04-15 2008-08-06 松下電器産業株式会社 画像符号化方法および画像復号化方法
US7596279B2 (en) * 2002-04-26 2009-09-29 Ntt Docomo, Inc. Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, and image decoding program
ES2277174T3 (es) * 2002-05-02 2007-07-01 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Codificacion aritmetica de coeficientes de transformacion.
US6731841B1 (en) * 2002-05-24 2004-05-04 Alliance Fiber Optic Products, Inc. Folded waveguide optical devices
JP3707456B2 (ja) * 2002-08-12 2005-10-19 ヤマハ株式会社 画像データ圧縮方法および画像データ伸張装置並びに伸張プログラム
JP3679083B2 (ja) * 2002-10-08 2005-08-03 株式会社エヌ・ティ・ティ・ドコモ 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム
US6646578B1 (en) * 2002-11-22 2003-11-11 Ub Video Inc. Context adaptive variable length decoding system and method
EP1494413A1 (en) * 2003-07-02 2005-01-05 CoreOptics, Inc., c/o The Corporation Trust Center Channel estimation and sequence estimation for the reception of optical signal
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
JP4484630B2 (ja) * 2004-01-29 2010-06-16 パナソニック株式会社 可変長復号化装置および可変長復号化方法および再生システム
US7450775B2 (en) * 2004-03-12 2008-11-11 Kabushiki Kaisha Toshiba Image processing apparatus for efficient storage of variable block length data
US7132963B2 (en) * 2004-09-13 2006-11-07 Ati Technologies Inc. Methods and apparatus for processing variable length coded data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0621830A (ja) * 1992-06-30 1994-01-28 Sony Corp 2次元ハフマン符号化方法
JPH06237184A (ja) * 1993-02-10 1994-08-23 Fujitsu Ltd 可変長符号化回路
JPH0879088A (ja) * 1994-05-11 1996-03-22 Samsung Electron Co Ltd 改善された差分動き符号テーブルを用いた差分動きベクトル値の可変長符号化方法及びその装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101044687B (zh) * 2004-07-14 2012-09-19 喷流数据有限公司 用于数据压缩优化的方法和系统
US10547862B2 (en) 2012-03-26 2020-01-28 JVC Kenwood Corporation Picture coding device, picture coding method, and picture coding program, and picture decoding device, picture decoding method, and picture decoding program
US10880567B2 (en) 2012-03-26 2020-12-29 Jvckenwood Corporation Picture coding device, picture coding method, and picture coding program, and picture decoding device, picture decoding method, and picture decoding program
US11122284B2 (en) 2012-03-26 2021-09-14 Jvckenwood Corporation Picture coding device, picture coding method, and picture coding program, and picture decoding device, picture decoding method, and picture decoding program

Also Published As

Publication number Publication date
KR100921030B1 (ko) 2009-10-08
KR20080044353A (ko) 2008-05-20
KR20090122311A (ko) 2009-11-26
KR20100042667A (ko) 2010-04-26
ES2741563T3 (es) 2020-02-11
US20050190085A1 (en) 2005-09-01
US20060273940A1 (en) 2006-12-07
KR100921031B1 (ko) 2009-10-08
PT2268033T (pt) 2016-07-19
US7956774B2 (en) 2011-06-07
US20100141485A1 (en) 2010-06-10
EP3099068A1 (en) 2016-11-30
US7714752B2 (en) 2010-05-11
JP4158996B2 (ja) 2008-10-01
KR101022091B1 (ko) 2011-03-17
KR20090098924A (ko) 2009-09-17
KR100947399B1 (ko) 2010-03-12
DK2268033T3 (en) 2016-09-19
US20050015248A1 (en) 2005-01-20
KR20040054794A (ko) 2004-06-25
US7312730B2 (en) 2007-12-25
JP4158999B1 (ja) 2008-10-01
US20070024474A1 (en) 2007-02-01
JP4158993B1 (ja) 2008-10-01
US20070030183A1 (en) 2007-02-08
EP3099068B1 (en) 2019-06-05
EP1453208A1 (en) 2004-09-01
AU2002357584B2 (en) 2007-06-21
KR100921032B1 (ko) 2009-10-08
CA2450360C (en) 2010-01-19
EP1413139B1 (en) 2011-10-12
KR20080041752A (ko) 2008-05-13
JP4158994B1 (ja) 2008-10-01
PT1413139E (pt) 2011-12-15
CA2467266A1 (en) 2003-05-30
US7312731B2 (en) 2007-12-25
AU2002366142A1 (en) 2003-06-10
EP2268034A3 (en) 2012-04-18
ES2752804T3 (es) 2020-04-06
DK1413139T3 (da) 2011-11-21
JP2008206188A (ja) 2008-09-04
JP4158997B1 (ja) 2008-10-01
KR101030850B1 (ko) 2011-04-22
JP2008252904A (ja) 2008-10-16
JP4158995B1 (ja) 2008-10-01
PT2268034T (pt) 2016-11-18
MXPA04004770A (es) 2004-07-30
AU2002357584A2 (en) 2003-06-10
US20070024475A1 (en) 2007-02-01
AU2010200907B2 (en) 2011-12-08
US20050185853A1 (en) 2005-08-25
US8941514B2 (en) 2015-01-27
DK2268034T3 (en) 2016-11-21
CN1524384A (zh) 2004-08-25
ES2373944T3 (es) 2012-02-10
AU2010200906B2 (en) 2012-01-19
MXPA04000912A (es) 2004-04-02
EP2268033A3 (en) 2012-02-01
US6967600B2 (en) 2005-11-22
US20050185854A1 (en) 2005-08-25
AU2007202509B2 (en) 2009-12-10
BR0206628A (pt) 2004-02-25
JP2008259218A (ja) 2008-10-23
AU2007202509A1 (en) 2007-06-21
KR100992336B1 (ko) 2010-11-05
KR20080044351A (ko) 2008-05-20
CN1586042A (zh) 2005-02-23
KR20080044350A (ko) 2008-05-20
US6954157B2 (en) 2005-10-11
CA2450360A1 (en) 2003-05-30
JP4158998B1 (ja) 2008-10-01
EP2268033B1 (en) 2016-06-15
AU2010200906A1 (en) 2010-04-01
KR100913633B1 (ko) 2009-08-24
KR101030908B1 (ko) 2011-04-22
KR100992246B1 (ko) 2010-11-05
KR20080044352A (ko) 2008-05-20
EP2268034A2 (en) 2010-12-29
US20080074296A1 (en) 2008-03-27
KR20100042666A (ko) 2010-04-26
KR100921033B1 (ko) 2009-10-08
BRPI0206629B1 (pt) 2017-09-26
US20140112592A1 (en) 2014-04-24
US7109898B2 (en) 2006-09-19
EP3099067A1 (en) 2016-11-30
KR100993443B1 (ko) 2010-11-09
EP3099067B1 (en) 2019-06-05
BR0206629A (pt) 2004-02-25
KR20100042670A (ko) 2010-04-26
JP2008252903A (ja) 2008-10-16
JP2008259219A (ja) 2008-10-23
US7161508B2 (en) 2007-01-09
US8604947B2 (en) 2013-12-10
WO2003045065A3 (en) 2004-02-19
US6992605B2 (en) 2006-01-31
KR20090120016A (ko) 2009-11-23
KR20080044354A (ko) 2008-05-20
AU2002357584A1 (en) 2003-06-10
US7339506B2 (en) 2008-03-04
US7541948B2 (en) 2009-06-02
KR101030903B1 (ko) 2011-04-22
EP2268033A2 (en) 2010-12-29
JP2008259217A (ja) 2008-10-23
US20060261987A1 (en) 2006-11-23
US20060262987A1 (en) 2006-11-23
KR100921034B1 (ko) 2009-10-08
EP3099066A1 (en) 2016-11-30
US20110193728A1 (en) 2011-08-11
CN101001385A (zh) 2007-07-18
ES2741562T3 (es) 2020-02-11
US7411526B2 (en) 2008-08-12
ES2587022T3 (es) 2016-10-20
CN1301014C (zh) 2007-02-14
WO2003045065A2 (en) 2003-05-30
KR20100042668A (ko) 2010-04-26
EP1413139A2 (en) 2004-04-28
JP2008252902A (ja) 2008-10-16
EP3099066B1 (en) 2019-08-14
ES2599624T3 (es) 2017-02-02
KR20100042669A (ko) 2010-04-26
US20060071831A1 (en) 2006-04-06
CN101001385B (zh) 2011-06-08
KR101030862B1 (ko) 2011-04-22
ATE528924T1 (de) 2011-10-15
US20040174278A1 (en) 2004-09-09
KR20040054621A (ko) 2004-06-25
AU2010200907A1 (en) 2010-04-01
EP2268034B1 (en) 2016-08-17
US7283071B2 (en) 2007-10-16

Similar Documents

Publication Publication Date Title
JP4158994B1 (ja) 復号化方法、及び復号化装置
JP4100552B2 (ja) 復号化方法
JP4158985B2 (ja) 符号化方法、及び符号化装置
JP4158986B2 (ja) 復号化方法、及び復号化装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SC SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

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: 2002366142

Country of ref document: AU

WWE Wipo information: entry into national phase

Ref document number: 2002790698

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 10494753

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 20028224728

Country of ref document: CN

Ref document number: 2467266

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: PA/a/2004/004770

Country of ref document: MX

Ref document number: 654/KOLNP/2004

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 1020047007783

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2002790698

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 2002790698

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 2002366142

Country of ref document: AU