WO2003090472A1 - Procede de codage de longueur variable et procede de decodage de longueur variable - Google Patents

Procede de codage de longueur variable et procede de decodage de longueur variable Download PDF

Info

Publication number
WO2003090472A1
WO2003090472A1 PCT/JP2003/004803 JP0304803W WO03090472A1 WO 2003090472 A1 WO2003090472 A1 WO 2003090472A1 JP 0304803 W JP0304803 W JP 0304803W WO 03090472 A1 WO03090472 A1 WO 03090472A1
Authority
WO
WIPO (PCT)
Prior art keywords
coefficient
encoding
variable
variable length
code
Prior art date
Application number
PCT/JP2003/004803
Other languages
English (en)
French (fr)
Inventor
Satoshi Kondo
Shinya Kadono
Makoto Hagai
Kiyofumi Abe
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=29255105&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=WO2003090472(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority to BRPI0304543A priority Critical patent/BRPI0304543B8/pt
Priority to MXPA03011198A priority patent/MXPA03011198A/es
Priority to EP03720905A priority patent/EP1424856B1/en
Priority to AU2003235171A priority patent/AU2003235171C1/en
Priority to DK06123093T priority patent/DK1742484T3/da
Priority to CA2448771A priority patent/CA2448771C/en
Priority to KR1020037011694A priority patent/KR101001411B1/ko
Priority to CNB038005948A priority patent/CN1319385C/zh
Priority to EP15161640.6A priority patent/EP2919390B1/en
Priority to US10/478,185 priority patent/US7305035B2/en
Priority to EP19156149.7A priority patent/EP3515072B1/en
Priority to DK06123090T priority patent/DK1742483T3/da
Priority to BR0304543-9A priority patent/BR0304543A/pt
Priority to DE60311734T priority patent/DE60311734T2/de
Priority to EP19156147.1A priority patent/EP3515071B1/en
Application filed by Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Publication of WO2003090472A1 publication Critical patent/WO2003090472A1/ja
Priority to US11/907,772 priority patent/US9025671B2/en
Priority to US11/907,771 priority patent/US9054734B2/en
Priority to US11/907,777 priority patent/US9020041B2/en
Priority to US11/907,776 priority patent/US9020040B2/en
Priority to US11/907,775 priority patent/US9031133B2/en
Priority to US14/674,613 priority patent/US9661353B2/en
Priority to US15/293,707 priority patent/US10063890B2/en
Priority to US15/293,735 priority patent/US10057602B2/en
Priority to US15/293,663 priority patent/US10034025B2/en
Priority to US15/293,687 priority patent/US10027990B2/en
Priority to US16/043,862 priority patent/US10623781B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • 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
    • 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/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/124Quantisation
    • 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
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/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/182Methods 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 pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • 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/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
    • 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/172Methods 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 picture, frame or field

Definitions

  • the present invention relates to a variable-length encoding and variable-length decoding method for encoding coefficient values in each block obtained by frequency-converting image data in a moving image in units of blocks having a predetermined size.
  • the amount of information is generally compressed using redundancy in the spatial direction and the temporal direction of a moving image.
  • redundancy in the spatial direction conversion to the frequency domain is used
  • temporal direction inter-picture predictive coding processing is used. It is done.
  • the video coding system currently being standardized is set to a size of 4 X 4 pixels. After frequency conversion is performed in units of blocks, quantization is performed to generate coefficient values. Then, scanning from the DC component toward the high frequency component, the number of coefficients whose continuous value is 0 J (R un , hereinafter also simply referred to as “Rj”) and the subsequent coefficient value L (L e V e I, hereinafter simply referred to as “shi”.) Create a combination with (R, L).
  • this (R, L) is converted into a code number using a predetermined code table, and then the code number is changed using another variable length code (VLC) table.
  • VLC variable length code
  • the code table is generally assigned a smaller code number as the frequency of occurrence is higher. For example, a small code number is assigned because a small combination of R and L has a high occurrence frequency.
  • some VLC tables allow a small code number to be assigned a VLC code with a short code length (IS0 / IEG 14496— 2: "Information technology-Coding of audi ov i sua I objects-Part 2: V i sua I "7.4.1, pp.119-120, 1999.12).
  • the present invention has been made in view of such a problem, and provides a variable-length encoding method and a variable-length decoding method capable of improving the encoding efficiency when the coefficient value L is encoded.
  • the purpose is to do. Disclosure of the invention
  • a variable length encoding method encodes coefficient values in each block obtained by frequency-converting image data in a moving image in units of blocks having a predetermined size.
  • a coefficient value scanning step for scanning coefficient values in the block in a predetermined order;
  • variable length code having a code length corresponding to the coefficient value can be adapted to each table, so that the coding efficiency can be improved.
  • the coefficient value is small in one table: In other words, it is encoded to a variable length code with a shorter code length than the other table, and in some other table when the coefficient value is larger than the other table.
  • the code length can be drastically shortened by coding the variable length code with a short code length and switching the table according to the coefficient value.
  • the switching direction of each table may be one direction.
  • the coefficient value prevents the table from being changed frequently and reduces the number of table changes. Therefore, encoding efficiency can be improved. For example, since the work area of memory is limited, it is common to place only the next table to be used in the work area. In this case, every time the table is switched, it takes time to read the next table from ROM and expand it in the work area, so it takes time to encode the next coefficient value. For this reason, the effect of reducing the number of table switching times and shortening the total time to encoding the next coefficient value is achieved by using one direction.
  • the encoding step may be configured such that encoding is performed by switching the plurality of tables in a block, and the coefficient value is a factor other than one-dimensionalized “0”.
  • a configuration characterized by a numerical value may be adopted.
  • the encoding is non-arithmetic encoding.
  • the table used for encoding is determined, It can be encoded into a variable-length code simply by referring to it.
  • each table the code length at the minimum value of the coefficient value is long in the order of the numbers assigned to the tables, and the code length at the maximum value of the coefficient value is long in the order of the numbers. It is preferable that the rate of change of the code length with respect to the coefficient value is made different so that it does not occur. In addition, it is preferable that each table is configured such that the rate of increase in code length with respect to the increase in coefficient value decreases in the order of numbers assigned to each table. As a result, a range in which the code length is shortened can be assigned to each table, so that it is possible to surely improve the coding efficiency.
  • the tables are preferably switched based on a threshold value for a preset absolute value of the coefficient value. As a result, it is possible to easily determine the switching timing of the table and to improve the coding efficiency.
  • the coefficient value scanning step scans the coefficient values in order from a high frequency component to a low frequency component. This makes it easier to determine the table used to encode the first coefficient value in the block because the absolute value of the coefficient tends to increase gradually from around 1 J. It can be easily determined and the threshold value can be easily determined.
  • the encoding step when the absolute value of the coefficient to be encoded exceeds the threshold value, the number larger than the number assigned to the table from the table used for encoding the coefficient to be encoded. It is preferable to switch to the table and encode the next coefficient value. As a result, when the next coefficient value is encoded, the code length can be shortened, so that the encoding efficiency can be improved.
  • variable length decoding method provides image data in a moving image.
  • a variable-length decoding method for decoding a variable-length code generated by encoding a coefficient value in each block obtained by performing frequency conversion on a block unit having a predetermined size, and a plurality of tables used for decoding And a decoding step for decoding variable-length codes in each block into coefficient values in a predetermined order, and a relationship in the block based on the coefficient values generated by the decoding step. And a coefficient generation step for generating a numerical value. This makes it possible to correctly decode a highly compressed code.
  • the switching direction of each table may be one direction.
  • the decoding step may be characterized by switching and coding the plurality of tables in a block.
  • the coefficient value may be a coefficient value other than one-dimensionalized “0”.
  • the decoding may be non-arithmetic decoding.
  • the code length at the minimum value of the coefficient value becomes longer in the order of the numbers assigned to each table, and the code length at the maximum value of the coefficient value does not become longer in the order of the numbers.
  • the code length may be varied with respect to the coefficient value.
  • Each of the tables may be characterized in that the rate of increase in code length with respect to an increase in coefficient value decreases in the order of numbers assigned to the tables.
  • the decoding step may switch each table based on a threshold value for a predetermined absolute value of the coefficient value.
  • the coefficient value is changed from a high frequency component to a low frequency. It may be characterized by scanning in the order toward the components.
  • the encoding step when the absolute value of the decoded coefficient exceeds the threshold, the number larger than the number assigned to the table from the table used for decoding the variable-length code to be decoded. It may be characterized by switching to a table and decoding the next variable length code into coefficient values.
  • the present invention can be realized not only as such a variable length encoding method and a variable length decoding method, but also includes such a variable length encoding method and a variable length decoding method. It can be realized as a variable-length encoding device or variable-length decoding device that uses a specific step as a means, or it can be used for variable-length encoding methods or variable-length decoding methods. It can be realized as an encoding method or a decoding method, or as a program for causing a computer to execute these steps. Needless to say, such a program can be distributed via a recording medium such as CD ROM and a transmission medium such as the Internet.
  • FIG. 1 is a block diagram showing a functional configuration of an encoding apparatus using the variable length encoding method and the moving image encoding method according to Embodiment 1 of the present invention.
  • FIG. 2 is a block diagram showing a detailed functional configuration of the variable length coding unit shown in FIG.
  • ⁇ 3 is a schematic diagram for explaining the processing executed by the RL sequence generation unit shown in FIG.
  • FIG. 4 is a schematic diagram for explaining the RL sequence generated by the RL sequence generation unit and the rearrangement process executed by the rearrangement unit shown in FIG.
  • FIG. 5 is a diagram showing an example of a code table held by the table storage unit shown in FIG.
  • FIG. 6 is a diagram showing an example of a variable length code table held by the table storage unit shown in FIG.
  • FIG. 7 is a schematic diagram for explaining another example of the RL sequence generated by the RL sequence generation unit and the rearrangement process executed by the rearrangement unit.
  • FIG. 8 is a block diagram showing a functional configuration of a decoding apparatus using the variable length decoding method and the moving image decoding method according to Embodiment 2 of the present invention.
  • FIG. 9 is a block diagram showing a detailed functional configuration of the variable length decoding unit shown in FIG.
  • FIG. 10 is a schematic diagram for explaining the RL sequence generated by the code conversion unit shown in FIG. 9 and the rearrangement process executed by the rearrangement unit.
  • FIG. 11 is a schematic diagram for explaining the processing executed by the coefficient generation unit shown in FIG.
  • FIG. 12 is a schematic diagram for explaining another example of the RL sequence generated by the code conversion unit and the rearrangement process executed by the rearrangement unit.
  • FIG. 13 is a block diagram showing a configuration of an encoding apparatus according to the third embodiment of the present invention.
  • FIG. 14 is a block diagram showing the internal configuration of the variable-length encoding unit described above.
  • Fig. 15 is a schematic diagram schematically showing the coefficient block output from the quantization unit.
  • FIG. 16 is a schematic diagram schematically showing the RL sequence output from the RL sequence generation unit.
  • Fig. 17 is a transition diagram showing the switching method of the probability table.
  • Figure 18 is a probability table contents display diagram showing the contents of the probability table.
  • FIG. 19 is a block diagram showing the configuration of the image decoding apparatus according to the fourth embodiment of the present invention.
  • FIG. 20 is a block diagram showing the internal configuration of the variable length decoding unit.
  • FIG. 21 is a table showing an example of the binarization table.
  • FIG. 22 is a block diagram showing a functional configuration of an encoding apparatus to which the variable length encoding method and the moving image encoding method according to Embodiment 5 of the present invention are applied.
  • FIG. 23 is a block diagram showing a detailed functional configuration of the variable length coding unit shown in FIG.
  • FIG. 24 is a diagram illustrating an example of the L column and the R column generated by the R column and L column generation unit shown in ⁇ 23.
  • FIG. 25 is a diagram showing a configuration example of each variable-length code table held by the storage unit shown in FIG.
  • FIG. 26 is a diagram showing a configuration example of the threshold value table held by the storage unit shown in FIG.
  • FIG. 27 is a flowchart showing variable-length code allocation processing executed by the code allocation unit shown in FIG.
  • Figure 28 shows the relationship between the variable-length code table used for encoding and the threshold value.
  • FIG. 29 is a schematic diagram showing a state of the encoding process of the code assigning unit.
  • FIG. 30 is a block diagram showing a functional configuration of a decoding apparatus using the variable length decoding method and the moving image decoding method according to the sixth embodiment of the present invention.
  • FIG. 31 is a block diagram showing a detailed functional configuration of the variable length decoding unit shown in FIG.
  • FIG. 32 shows the use of a flexible disk storing a program for executing the moving picture encoding method of the first, third, and fifth embodiments or the moving picture decoding method of the second, fourth, and sixth embodiments. It is explanatory drawing in the case of implementing by a computer system.
  • FIG. 33 is a block diagram showing the overall configuration of the content supply system that implements the content distribution service.
  • FIG. 34 is a diagram showing a mobile phone using the moving picture prediction method, the moving picture encoding apparatus, and the moving picture decoding apparatus according to the present invention.
  • FIG. 35 is a block diagram showing the configuration of the mobile phone according to the present invention.
  • FIG. 36 is a block diagram showing the overall configuration of the digital broadcasting system according to the present invention.
  • FIG. 1 is a block diagram showing a functional configuration of an encoding apparatus to which the moving picture encoding method of the present invention is applied.
  • a functional configuration in the case where an input image is subjected to intraframe encoding processing by the moving image encoding method of the present invention is illustrated.
  • the encoding device 1 0 0 a includes a block conversion unit 1 1 0, a frequency conversion unit 1 2 0, a quantization unit 1 3 0, and a variable length encoding unit 1 4 0 Consists of It should be noted that each unit constituting such an encoding device 100 a includes a CPU, a ROM that stores programs and data executed by the CPU in advance, a work area when executing the program, an input image, etc. This is realized by a memory or the like that temporarily stores.
  • the block converter 1 1 0 divides the input image into blocks each having a size of 4 horizontal pixels and 4 vertical pixels, and outputs the blocks to the frequency converter 1 2 0 for each pixel block.
  • the frequency converter 1 2 0 performs frequency conversion on the input pixel block and converts it to a frequency coefficient. And the frequency converter 1 2 0 The obtained frequency coefficient is output to the quantization unit 1 3 0.
  • the quantization unit 1 3 0 performs a quantization process on the input frequency coefficient.
  • the quantization process means a process corresponding to a process of dividing a frequency coefficient value by a predetermined quantization value. This quantization value is generally different for each block and frequency band.
  • the quantized frequency coefficient is input to the variable length coding unit 140.
  • the variable length encoding unit 140 encodes the frequency coefficient value of a block of a predetermined size (horizontal 4 pixels, vertical 4 pixels) in a variable length manner.
  • FIG. 2 is a block diagram showing a detailed functional configuration of the variable length coding unit 140.
  • variable length encoding unit 14 0 includes an RL sequence generation unit 1 4 1, a rearrangement unit 1 4 2, a code allocation unit 1 4 3, and a table storage unit 1 4 4. .
  • the quantized frequency coefficient output from the quantization unit 1 3 0 is input to the RL sequence generation unit 1 4 1.
  • the RL sequence generation unit 14 1 first makes the quantized frequency coefficient value one-dimensional by a predetermined scanning method. Then, the RL sequence generation unit 14 1 1 combines the number R of consecutive coefficient values “0” with a coefficient value other than “0” following the one-dimensional coefficient values (hereinafter, “0”). A sequence of RL values (hereinafter referred to as an RL sequence) is generated. Examples of this will be described with reference to FIGS.
  • FIG. 3 (a) is a diagram showing the frequency coefficient in the quantized block output from the quantizer 1 30.
  • the coefficient at the upper left indicates the DC component
  • the frequency component in the horizontal direction increases as it goes to the right
  • the frequency component in the vertical direction increases as it goes down.
  • Fig. 3 (b) is a diagram showing a scanning method for making the quantized frequency coefficient value one-dimensional.
  • the RL sequence generator 1 4 1 scans from the low frequency region to the high frequency region. Re-dimensionalize.
  • EOB EndBofBiocc
  • Rearranger 1 4 2 rearranges the input R L columns in the reverse direction. However, E O B is excluded from the sorting target. The rearranged state is as shown in Fig. 4 (b). The RL columns rearranged in this way are input to the code allocation unit 1 4 3.
  • the table storage unit 14 4 associates a table (code table, see FIG. 5) that associates an RL value with a code number assigned to the RL value, and associates a code number with a variable-length code. Multiple types of tables (variable length code table, Fig. 6), etc. are stored in advance.
  • the code allocation unit 1 4 3 assigns a variable length code to each set of R L columns using the table held in the table storage unit 1 4 4.
  • the code assignment unit 1 4 3 first assigns a code number to the RL value. At this time, conversion into a code number is performed using a predetermined code table (see FIG. 5) held in the table storage unit 14 4.
  • FIG. 5 is a diagram illustrating an example of a code table.
  • the code assigning unit 14 3 subsequently converts the code number into a variable length code.
  • conversion to the variable length code is performed using a plurality of variable length code tables (see FIG. 6) held in the table storage unit 144.
  • FIG. 6 is a diagram illustrating an example of a variable-length code table.
  • variable length code tables In the first embodiment, two types of variable length code tables are held.
  • the first variable length code table 1 and the second variable length code table 2 are configured such that the variable length code length increases as the code number increases, while the variable length code table 1 includes the variable length code
  • the variable length code length is configured to be short.Variable length code table 2 is compared with variable length code table 1 when the code number is large.
  • the variable length code length is configured to be shorter. In other words, a variable code table 1 is assigned a shorter code with a smaller code number, and a variable code table 2 is assigned a shorter code with a larger code number.
  • Variable length code table 1 is used for the first RL value. In this case, since the code number of the first RL value is “2”, the variable length code at this time is “0 1 1”. Then, conversion to variable length codes is performed in sequence, and when the absolute value of L exceeds the threshold, variable length code table 2 is used after the next RL value. If the threshold value for the absolute value of L is 2 J, the threshold value will be exceeded at the 4th RL value (0, 3). become. Therefore, the 1st to 4th RL values are converted using the variable length code table 1, and the 5th and subsequent RL values are converted using the variable length code table 2. It will be.
  • variable length code table 1 the absolute value of the 7th RL value (1, 2) again falls below the threshold value, but switching to variable length code table 1 is not performed, and variable length code table 2 is used. Convert.
  • the table switching direction is one-way.
  • one-way means that a table that has been used once is not reused.
  • the coefficient value prevents the table from being switched frequently and reduces the number of table switching.
  • the absolute value of the general trend tends to increase. Therefore, once the absolute value of L exceeds the threshold value, it is often the case that only the coefficient falls below the threshold value, even if the subsequent absolute value of L falls below the threshold value again.
  • the RL sequence generator 1 4 1 scans the coefficient values in the coefficient value sequence in the order from the low frequency component to the high frequency component, and the code allocation unit 1 4 3 starts from the back of the coefficient value sequence. Since the absolute value of the coefficient tends to gradually increase from around “1”, the variable length code is encoded in the block. This makes it easy to determine the table used to encode the first coefficient value in the network, to easily determine the configuration of each table, and to determine the threshold value. Because it can.
  • variable length coding method scans the frequency coefficient value in the block from the low frequency region to the high frequency region to make it one-dimensional. For a numerical value, generate a string of RL values that is a combination of the number R of consecutive coefficient values “0” followed by a coefficient value L other than “0”. The RL value is converted into a variable length code in the reverse order of the scanning order. That is, the RL value may be directly converted to a variable length code.
  • converting to variable length codes prepare multiple variable length code tables. First, conversion is performed using the first variable-length code table, and when the absolute value of L exceeds the threshold value, subsequent RL values are converted using the second variable-length code table. Do. In this case, the first variable length code table is configured such that the variable length code length is shorter when the code number is smaller than the second variable length code table. Compared to the first variable-length code table, the variable-length code length is shortened when the code number is large.
  • the absolute value of the low-frequency component increases, so if the RL value is converted into a variable-length code in the reverse order of scanning from the low-frequency region to the high-frequency region, The absolute value of increases.
  • the code number is large after the absolute value of L exceeds the threshold value, that is, when the absolute value of L is large, by using a variable length code table that shortens the variable length code length
  • the total code amount can be reduced. That is, by encoding L separately from R and using a plurality of variable length code tables, the total code amount for L can be reduced.
  • the case where an image is encoded by intra-frame encoding has been described. This is a case where inter-frame encoding is performed using motion compensation or the like for moving image input. The same effect can be obtained by the method of the present embodiment.
  • the size of the block may be other sizes.
  • the scanning method in the block has been described with reference to FIG. 3 (b). However, this is another scanning order for scanning from a low frequency region to a high frequency region. May be.
  • Embodiment 1 has been described with reference to FIG. 6 as an example of the variable-length code table, this may be another table.
  • variable length code tables In addition, the case where two variable length code tables are used has been described. This uses three or more variable length code tables and uses a plurality of threshold values. The code table may be switched.
  • variable length code table is switched when the absolute value of L exceeds the threshold value.
  • this is variable when the code number exceeds the threshold value. The same effect can be obtained by switching the long code table.
  • FIG. 8 is a block diagram showing a functional configuration of a decoding apparatus to which the variable length decoding method according to the embodiment of the present invention is applied. Here, it is assumed that the code string generated by the variable length coding method of the present invention described in the first embodiment is input.
  • the decoding device 5 O 0 a includes a variable length decoding unit 5 1 0, an inverse quantization unit 5 2 0, an inverse frequency conversion unit 5 3 0, and a frame memory 5 4 It is composed of 0.
  • each unit constituting such a decoding apparatus 500 a is similar to the encoding apparatus 100 a a CPU, a ROM that stores programs executed by the CPU and data stored in advance, and a work piece during program execution. This is realized by memory that provides an area or temporarily stores the input coded sequence.
  • the code string is input to the variable length decoding unit 5 10.
  • the variable length decoding unit 5 1 0 decodes the variable length encoded code string.
  • this code string divides the image data into blocks each having a predetermined size, makes the frequency coefficient values of the blocks one-dimensional in a predetermined scanning order, and the continuous coefficient value is 0. It is generated by encoding a sequence of combinations (RL values) of the number of consecutive coefficients R followed by the coefficient values.
  • FIG. 9 is a block diagram showing a detailed functional configuration of the variable length decoding unit 5 10.
  • variable length decoding unit 5 1 0 includes a code conversion unit 5 1 1, a table storage unit 5 1 2, a rearrangement unit 5 1 3, and a coefficient generation unit 5 1 4. Is done.
  • the table storage unit 5 1 2 is configured in the same manner as the table storage unit 1 4 4, and a plurality of types of tables in which code numbers and variable-length codes are associated (possible A variable code table (Fig. 6) and a table (Code table, Fig. 6) configured in the same manner as in the case of the table storage unit 14 4 and associating RL values with code numbers assigned to these RL values. (Refer to 5).
  • the code conversion unit 5 1 1 uses a table (a plurality of variable length code tables) held in the table storage unit 5 1 2 to code the variable length code from the variable length code for the input code string first. Convert to number. Conversion to code numbers is performed using multiple variable-length code tables.
  • This variable-length code table is held in the table storage unit 51 2, and is converted into a record number by referring to the table storage unit 51 2.
  • variable length code table 1 is assigned a shorter code
  • variable length code table VLC is assigned a shorter code
  • the code at the head of the input code string is “0 1 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 0 0 0 1 0 0 1 1 J. 1
  • variable-length code table 1 is used.Now, referring to variable-length code table 1 in Fig. 6, it is the variable-length code “0 1” that matches the input code string. 1 J. In this case, the code number is “2”.
  • the code conversion unit 5 1 1 converts the obtained code number into an R L value.
  • a predetermined code table is used.
  • the code table is held in the table storage unit 5 1 2, and conversion to the R L value is performed by referring to the table storage unit 5 1 2.
  • Figure 5 shows an example of the code table. In this case, the code number is “2 J, so the R L value is (0,-1).
  • variable-length code “0 0 1 0 0” is converted to code number using variable-length code table 1.
  • variable length code ⁇ 00 0 1 0 0 1 j is converted to code number“ 8 J
  • variable length code “00 0 1 1 1 OJ is converted to code number“ 1 3 J
  • each The code number is converted to RL values (1, 1), (0, -2), (0, 3).
  • the code converting unit 5 1 1 uses the variable length code table 2 in the subsequent variable length code conversion.
  • the threshold value for the absolute value here is ⁇ 2 J
  • the threshold value is exceeded by the fourth R L value (0, 3). Therefore, the variable length code table 2 is used to convert RL values thereafter. Therefore, the next variable length code “0 0 1 00 1 1 J” is converted to code number 15 and further converted to R L value (0, 4).
  • variable length code table 1 In addition, even if the absolute value of L among the RL values obtained in the subsequent decoding falls below the threshold value again, switching to variable length code table 1 is not performed and variable length code table 2 is used. To convert. As described above, when RL values for one block are generated (when EOB is detected), they are input to the rearrangement unit 5 1 3. Here, it is assumed that the RL sequence in Fig. 10 (a) is generated.
  • the rearrangement unit 5 1 3 rearranges the input R L columns in the reverse direction. However, E O B is excluded from the sorting target. The state after rearrangement is shown in Fig. 10 (b). The RL sequence rearranged in this way is input to the coefficient generator 5 14.
  • the coefficient generation unit 5 14 converts the input RL sequence into coefficient values, and two-dimensionalizes them into coefficient blocks by a predetermined scanning method.
  • the coefficient value ⁇ 0 J is generated by the value indicated by R, and then the coefficient value of the value indicated below is generated.
  • conversion from RL sequence to coefficient value is performed.
  • the RL sequence in Fig. 10 (b) is converted to the coefficient block shown in Fig. 11.
  • the generated coefficient block is input to the inverse quantization unit 5 20.
  • the inverse quantization unit 5 2 0 performs an inverse quantization process on the input coefficient block.
  • the inverse quantization process means a process corresponding to a process of adding a predetermined quantized value to a coefficient value.
  • the quantized value generally differs for each block and frequency band, and is obtained from the code string or uses a predetermined value.
  • the inversely quantized coefficient block is input to the inverse frequency converter 5 30.
  • the inverse frequency converter 5 30 performs inverse frequency conversion on the inversely quantized coefficient block and converts it into a pixel block.
  • the converted pixel block is input to the frame memory 540.
  • the decoded pixel block is stored in order, and when a pixel block for one screen is stored, it is output as an output image.
  • the input code string is first decoded using the first variable-length code table, and the number R of consecutive coefficient values 0 and the coefficient value L other than 0 following it are determined.
  • a sequence of RL values that is a combination of and is generated.
  • the second variable length code table is used for subsequent decoding of the variable length code.
  • the RL values are converted into coefficient values based on a predetermined scanning order within the block.
  • variable length decoding method of the present invention it is possible to correctly decode a code string encoded using the variable length coding method of the present invention.
  • a code generated by intraframe coding is used.
  • this may be a case where a code sequence generated by performing interframe coding using motion compensation or the like for moving image input is decoded. Similar effects can be obtained by the method of the embodiment.
  • the input image is encoded by being divided into blocks of 4 horizontal pixels and 4 vertical pixels has been described.
  • the size of the blocks is other sizes. Also good.
  • the scanning method in the block has been described using FIG. 11. However, if this is the same as the scanning method used for encoding, the scanning order is other scanning order. May be.
  • the example of the code table has been described with reference to FIG. 5. However, if this is the same as the code table used for encoding, other code tables may be used. Good.
  • FIG. 6 is used as an example of a variable length code table. However, if this is the same as the variable length code table used for encoding, another table is used. There may be. In addition, the case where two variable length code tables are used has been described. This is because three or more variable length code tables are used, and multiple threshold values are used. The number table may be switched. However, the structure of the variable-length code table and the threshold value at this time must be the same as those used for encoding.
  • variable-length code table is switched when the absolute value of L exceeds the threshold value. This is because the code number exceeds the threshold value. The same effect can be obtained by switching the variable length code table.
  • Embodiment 2 EOB is added to the end of the RL sequence and the code is added.
  • the encoded code string is decoded.
  • the encoded code string may be decoded by adding the number of RL values to the beginning of the RL string.
  • the number of RL values obtained by decoding and the RL sequence corresponding to Fig. 10 in this case are as shown in Fig. 12 (a) and Fig. 12 (b).
  • Fig. 12 (a) and Fig. 12 (b) the code table shown in Fig. 5
  • variable length coding method of the present invention the frequency coefficient value in the block is scanned from the low frequency region to the high frequency region to make it one-dimensional. Then, for a dimensionalized coefficient value, a sequence of RL values that is a combination of the number R of consecutive coefficient values 0 followed by a coefficient value other than 0 is generated. Then, the R L value is converted into a variable length code in the reverse order of the scanning order.
  • variable length code tables prepare multiple variable length code tables. First, conversion is performed using the first variable-length code table, and when the absolute value or code number of L exceeds the threshold, the second variable-length code table is used for subsequent RL values. Perform conversion using.
  • the first variable length code table is configured so that the variable length code length becomes shorter when the code number is smaller than the second variable length code table.
  • the table is configured so that the variable-length code length becomes shorter when the code number is larger than the first variable-length code table.
  • the lower the frequency component the larger the code number of the absolute value of L. Therefore, if the RL value is converted into a variable-length code in the reverse order of generating the RL value by scanning from the low frequency region to the high frequency region
  • the absolute value of L increases. Accordingly, after the absolute value of L exceeds the threshold value, the total code amount can be reduced by using a variable length code table in which the variable length code length is shortened when the code number is large.
  • the input code string is first converted into the first variable length. Decodes using the code table to generate a sequence of RL values that is a combination of the number R of consecutive coefficient values 0 followed by a coefficient value other than ⁇ 0. When the absolute value or code number of L exceeds the threshold, the second variable length code table is used for subsequent decoding of variable length codes. Then, after rearranging the RL values in reverse order, the RL values are converted into coefficient values based on a predetermined scanning order within the block.
  • variable length decoding method of the present invention it is possible to correctly decode a code string encoded using the variable length coding method of the present invention.
  • FIG. 13 is a block diagram showing the configuration of the encoding device 1 O Ob according to the third embodiment of the present invention.
  • the encoding device 1OOb performs intra-picture encoding processing with improved encoding efficiency for an input image (image data).
  • a quantization unit 10 3 and a variable length encoding unit 1 5 0 are provided.
  • the block converter 1 0 1 divides the input image into pixel blocks each having a size of horizontal 4 ⁇ vertical 4 pixels and outputs the result to the frequency converter 1 0 2.
  • the frequency conversion unit 102 generates a frequency coefficient by performing frequency conversion on each of the divided pixel blocks. Then, the frequency converter 1 0 2 outputs the generated frequency coefficient to the quantizer 1 0 3.
  • the quantization unit 103 performs quantization processing on the frequency coefficient output from the frequency conversion unit 102.
  • the quantization process means a process corresponding to dividing a frequency coefficient by a predetermined quantization value. Quantum The digitization value generally differs for each pixel block and for each frequency band. Then, the quantization unit 10 3 outputs the quantized frequency coefficient to the variable length encoding unit 1 5 0.
  • variable length coding unit 1510 performs variable length coding on the frequency coefficient quantized by the quantization unit 103.
  • FIG. 14 is a block diagram showing an internal configuration of the variable length coding unit 1 5 0.
  • the variable-length encoding unit 1 5 0 includes an RL sequence generation unit 2 0 1, a rearrangement unit 2 0 2, a binarization unit 2 0 3, a table storage unit 2 0 4, and And an arithmetic coding unit 205.
  • the RL sequence generation unit 201 converts the quantized frequency coefficient output from the quantization unit 103 (hereinafter abbreviated as “coefficient j”) into a one-dimensional pattern using a predetermined scanning method.
  • Coefficient j is a combination of the number of consecutive coefficient values “0” R followed by the values of coefficients other than ⁇ for the one-dimensional coefficients (hereinafter referred to as “RL values”). J)) (hereinafter referred to as "RL sequence"). Examples of this will be described with reference to FIGS. 15 and 16.
  • (A) in FIG. 15 shows a coefficient block composed of a plurality of coefficients output from the quantization unit 103.
  • the frequency coefficient at the upper left in the coefficient block indicates a DC component
  • the frequency component in the horizontal direction increases as it goes to the right
  • the frequency component in the vertical direction increases as it goes down.
  • FIG. 15 is an explanatory diagram for explaining a scanning method when one-dimensionalizing a plurality of coefficients in the coefficient block.
  • the RL sequence generation unit 20 1 performs one-dimensionalization of the coefficients by scanning the coefficient block from the low frequency region to the high frequency region, as indicated by the arrow in (b) of FIG. Figure 1-6
  • (a) shows an RL sequence outputted from the RL sequence generation unit 20 "I.
  • the first number indicates the number of coefficients.
  • the coefficient value tends to be “0 J in the high frequency region
  • the low frequency region By scanning from 1 to the high frequency region, the amount of information in the RL sequence (the amount of information in the number R) can be reduced.
  • the generated RL sequence is input to the reordering unit 202.
  • the rearrangement unit 2 0 2 rearranges the input R L columns in the reverse direction. However, the number of coefficients is excluded from the sorting target.
  • (B) in FIG. 16 shows the RL sequence rearranged by the rearrangement unit 20 2.
  • the binarization unit 2 0 3 binarizes the number of coefficients and each RL value, that is, converts it into binarized data consisting of “0” and “1”.
  • the number R and the coefficient value are binarized separately.
  • (C) in Fig. 16 shows only the coefficient value L of the RL sequence rearranged by the rearrangement unit 202.
  • the binarization unit 203 performs binarization on the absolute value of the number R and the coefficient value L using, for example, a predetermined binarization table as shown in FIG.
  • the binarization unit 20 3 outputs the binarized data obtained by binarizing the binarized data to the arithmetic encoding unit 205.
  • the arithmetic coding unit 2 0 5 performs binary arithmetic coding on the number R values represented as binary data and the absolute value of the coefficient value, and also encodes the sign of the coefficient value. Do.
  • the arithmetic encoding unit 205 switches between a plurality of probability tables when performing arithmetic encoding on the absolute value of the coefficient value represented as binarized data.
  • the plurality of probability tables are stored in the table storage unit 204.
  • Figure 17 is a transition diagram showing the probability table switching method.
  • the arithmetic encoding unit 205 uses four probability tables, and the absolute value of the first coefficient value is arithmetically encoded using the 3 ⁇ 4 ⁇ rate table 1. .
  • the arithmetic encoding unit 205 stores the table number of the probability table used when encoding the absolute value of the immediately previous coefficient value, and Switch the probability table to be used according to the absolute value.
  • the four probability tables are probability table 1, probability table 2, probability table 3, probability table 4, probability table 1 table number is “1 J, probability table 2 table number is“ 2 ”, probability The table number of table 3 is “3”, and the table number of probability table 4 is ⁇ 4 ”.
  • the absolute value of the immediately preceding coefficient value is encoded using the probability table 1 and the absolute value is “1 j”, or the absolute value of the immediately preceding coefficient value is the probability table 2
  • the probability table 2 is used, and the absolute value of the previous coefficient value is encoded using the probability table 1, and the absolute value is If “2” or the absolute value of the previous coefficient value is encoded using probability table 2 and the absolute value is “2”, or the absolute value of the previous coefficient value L Is encoded using probability table 3, and the absolute value is “less than 2”, probability table 3 is used.
  • the absolute value of the immediately preceding coefficient value L is ⁇ 3 or more, or if the absolute value of the immediately preceding coefficient value is encoded using the probability table 4, the probability table 4 is used.
  • FIG. 18 is a probability table content display diagram showing the contents of the four probability tables 1 to 4 described above.
  • Each of probability tables 1 to 4 includes a probability of occurrence of “0” and a probability of occurrence of “1_
  • probability table 1 is composed of the probability ⁇ 0 J of occurrence of ⁇ 0 J and the probability of occurrence of ⁇ 1 of “0.9”
  • probability table 2 is the probability of occurrence of “0” of “ 0.2 ”and the probability of occurrence of ⁇ 1 j ⁇ 0.8 J.
  • the arithmetic coding unit 2 0 5 uses the probability table 1 for the absolute value of the first coefficient value L (1 2).
  • the arithmetic coding unit 205 transitions the used probability table from the probability table 1 to the probability table 3.
  • the arithmetic encoding unit 205 encodes the absolute value of the second coefficient value L (3) using the probability table 3. Since the absolute value of the coefficient value L here is “3 J”, the arithmetic encoding unit 205 shifts the probability table used from the probability table 3 to the probability table 4.
  • the arithmetic encoding unit 2 0 5 the absolute of the third coefficient value (6)
  • the value is arithmetically encoded using probability table 4. Since the probability table used here has been transitioned to the probability table 4, the arithmetic coding unit 205 uses the probability table 4 to calculate the absolute values of the subsequent coefficient values. For example, the absolute value of the fifth coefficient value is “2”, but unlike the conventional example, the arithmetic encoding unit 2 0 5 performs arithmetic encoding on the absolute values of the sixth and subsequent coefficient values L. When doing so, the probability table 4 is used without changing the probability table. In addition, each probability table is updated as needed depending on whether the input is ⁇ 0 J or ⁇ 1 j, so the probability table adapted to the input is updated.
  • variable length coding method in the variable length coding unit 150 of the image coding apparatus 100 b changes the coefficients in the coefficient block from the low frequency domain to the high frequency domain. Scan towards one-dimensional. For a one-dimensional coefficient, the number of consecutive coefficient values “0” R is followed by
  • RL column ⁇ Generate a column of RL values (RL column) that is a combination of coefficient values other than “0”.
  • the RL value is converted into a variable length code in the reverse order of the scanning order.
  • the number R, the absolute value of the coefficient value, and the sign of the coefficient value L are converted individually.
  • binarization is performed first, and then arithmetic codes are applied.
  • arithmetic codes are applied to the absolute value of the coefficient value L, multiple probability tables are switched.
  • the probability table for encoding the absolute value of the next coefficient value is determined by the table number of the current probability table and the absolute value of the coefficient value L. The transition of the probability table is only in one direction, and once the absolute value of the coefficient value exceeds a predetermined value, all subsequent arithmetic coding is performed using the same probability table.
  • the absolute value of the coefficient value is larger in the low frequency region, so when scanning from the high frequency region to the low frequency region, the absolute value of the coefficient value increases in order. Often it becomes. Therefore, once the absolute value of the coefficient value exceeds the predetermined value, even if the absolute value of the coefficient value becomes smaller than the predetermined value after that, only the absolute value of the coefficient value decreases.
  • the same probability table to perform arithmetic coding it is easy to adapt the update of the probability table to the input, so that the symbols of each probability table ( ⁇ 0 of the binarized data) ”Or ⁇ 1”) is likely to be biased (ie, the occurrence probability of either r 0 ”or r 1 j is 1.
  • Arithmetic coding has a feature that coding efficiency increases as deviations occur in the probability values in the probability table. Therefore, the coding efficiency can be improved by using the variable length coding method of the present invention.
  • the size of the pixel block may be other sizes.
  • the scanning method in the coefficient block has been described using (b) in FIG. 15.
  • this is another scanning order if scanning from the low frequency region to the high frequency region. May be.
  • the RL sequence generator 2 0 1 makes the quantized frequency coefficient one-dimensional by a predetermined scanning method, and the continuous coefficient value “0” for the one-dimensional coefficient. ”R and the coefficient value other than“ 0 ”
  • the number R column and the coefficient value column may be generated separately.
  • the rearrangement unit 2 0 2 can be omitted if the coefficient values are generated by scanning from the high frequency region toward the low frequency region and selecting a coefficient having a coefficient value other than 0. Can do.
  • the threshold value for the absolute value of the coefficient value L may be another value.
  • the example of the binarization table has been described with reference to FIG. 21. However, this may be another table.
  • the arithmetic coding unit performs binary arithmetic code
  • multi-level arithmetic code may be performed.
  • the binarization unit 203 can be omitted.
  • FIG. 19 is a block diagram showing the configuration of decoding apparatus 500 b according to the fourth embodiment of the present invention.
  • the decoding device 5 0 0 b performs an intra-picture decoding process on a code string in which image data has been subjected to an intra-picture encoding process, and includes a variable length decoding unit 6 0 1, an inverse quantization Unit 60 2, an inverse frequency conversion unit 60 3, and a frame memory 60 4.
  • the code string input here is, for example, generated by the variable-length encoding method of the encoding device 100 b according to the third embodiment.
  • the variable-length decoding unit 6 0 1 Get this.
  • the variable length decoding unit 6 0 1 acquires the code string
  • the variable length decoding unit 6 0 1 A coefficient block composed of multiple coefficients as shown in (a) of Fig. 15 is created by variable length decoding.
  • the inverse quantization unit 6 02 When the inverse quantization unit 6 02 acquires the coefficient block from the variable length decoding unit 6 0 1, it performs an inverse quantization process on the coefficient block.
  • the inverse quantization processing means that a predetermined quantization value is added to each coefficient of the coefficient block.
  • the quantized value is generally different for each coefficient block and frequency band, and is obtained from the code string.
  • the inverse quantization unit 60 2 outputs the inversely quantized coefficient block to the inverse frequency conversion unit 6 03.
  • the inverse frequency transform unit 63 converts the coefficient block into a pixel block by performing inverse frequency transform on the inversely quantized coefficient block. Then, the inverse frequency conversion unit 60 3 outputs the converted pixel block to the frame memory 60 4.
  • the frame memory 604 accumulates the decoded pixel blocks in order, and when pixel blocks for one screen are accumulated, these pixel blocks are output as output images.
  • variable length decoding unit 6 0 1 will be described in detail.
  • FIG. 140 is a block diagram showing the internal configuration of the variable length decoding unit 60 1.
  • variable length decoding unit 60 1 includes an arithmetic decoding unit 7 0
  • a multi-value conversion unit 70 2 a table storage unit 70 3, a rearrangement unit 70 4, and a coefficient generation unit 70 5.
  • the table storage unit 70 3 holds, for example, four probability tables 1 to 4 as shown in FIG.
  • the arithmetic decoding unit 7 0 1 acquires the code string, it first performs arithmetic decoding on the code string.
  • the encoded coefficients included in the code string Describes binary arithmetic decoding of absolute values (binarized).
  • the arithmetic decoding unit 7 0 1 When the arithmetic decoding unit 7 0 1 performs arithmetic decoding on the absolute value of the encoded coefficient value L, the arithmetic decoding unit 7 0 1 calculates the absolute value of the coefficient value immediately before being decoded and multi-valued.
  • the probability tables 1 to 4 obtained from the multi-value conversion unit 70 2 and held in the table storage unit 70 3 according to the absolute value of the coefficient value are as shown in Fig. 17 It is used by switching, and the absolute value of each encoded coefficient value is binary arithmetic decoded and the corresponding binary data is output.
  • the multi-value quantization unit 70 2 multi-values the binarized data output from the arithmetic coding unit 70 1 by using, for example, a binarization table as shown in FIG. The absolute value of shin. Then, the multilevel conversion unit 70 2 outputs the absolute value of the coefficient value to the arithmetic decoding unit 7 0 1 and the rearrangement unit 7 0 4.
  • the arithmetic decoding unit 7 0 1 arithmetically decodes the absolute value of the encoded first coefficient value using the probability table 1. Then, the arithmetic decoding unit 7 0 1 outputs the binarized data obtained by the arithmetic decoding to the multilevel converting unit 7 0 2.
  • the multi-value conversion unit 70 2 converts the binarized data into the absolute value of the coefficient value by using the binarization table, and converts the absolute value into the arithmetic decoding unit 7 0 1 and the arrangement. Outputs to the replacement unit 7 0 4.
  • the arithmetic decoding unit 7 0 1 performs binary arithmetic decoding on the absolute value of the immediately preceding encoded coefficient value for the absolute value of the subsequent encoded coefficient value L.
  • the probability table to be used is switched according to the table number of the probability table used at the time and the absolute value of the immediately preceding coefficient value obtained from the multi-value conversion unit 70 2. As shown in FIG.
  • the absolute value of the immediately preceding encoded coefficient value is arithmetically decoded using the probability table 1, and the multi-value conversion unit 7 0 If the absolute value of the previous coefficient value L obtained from 2 is 1 j, or the absolute value of the previous encoded coefficient value is arithmetically decoded using the probability table 2, and multivalued When the absolute value of the immediately preceding coefficient value obtained from the generator 70 2 is ⁇ 1 J, the probability table 2 is used.
  • the absolute value of the immediately preceding encoded coefficient value L is the probability table 1 If the absolute value of the immediately preceding coefficient value obtained by arithmetic decoding using the multivalue conversion unit 70 2 is ⁇ 2 '', or the absolute value of the immediately preceding encoded coefficient value Is arithmetically decoded using the probability table 2 and the absolute value of the immediately preceding coefficient value obtained from the multivalue conversion unit 70 2 is “2 J” or the immediately preceding encoded coefficient value L The absolute value of the coefficient value is arithmetically decoded using the probability table 3 and
  • Multivalue conversion unit 70 0 When the absolute value of the coefficient value immediately before obtained from 2 is“ 3 or more J or immediately before ” Probability table 4 is used when the absolute values of the coded coefficient values of the above are arithmetically decoded using probability table 4. In this way, switching between probability tables 1 to 4 is This is one direction from a probability table with a small table number to a probability table with a large table number, and the absolute value of the immediately preceding coefficient value obtained from the multi-value conversion unit 70 2 is below a predetermined threshold value. However, the reverse direction is not switched, which is different from the conventional example.
  • the arithmetic decoding unit 7 0 1 uses the probability table 1 for the absolute value of the first encoded coefficient value L (1 2) and performs arithmetic decoding on the binary data “0 1”. Turn into. Here, the arithmetic decoding unit 7 0 1 obtains the binarized data “0 1 J multi-valued“ 2 ”from the multi-valued unit 7 0 2, so that the probability table used is From probability table 1 to probability table 3 As a result, the arithmetic decoding unit 7 0 1 arithmetically decodes the absolute value of the second encoded coefficient value L (3) into binarized data “0 0 1 J using the probability table 3.
  • the arithmetic decoding unit 7 0 1 is used because it obtains “3 J” multi-valued from the binarized data ⁇ ⁇ ⁇ 1 from the multi-valued unit 7 0 2.
  • the probability table is shifted from the probability table 3 to the probability table 4, so that the arithmetic decoding unit 7 0 1 uses the probability table 4 to calculate the absolute value of the third encoded coefficient value (6) as 2 Arithmetically decode the digitized data “0 00 00 1”. Since the probability table used here has been moved to the probability table 4, the arithmetic decoding unit 7 0 1 uses the probability table 4 to calculate all the absolute values of the subsequent encoded coefficient values. Decrypt.
  • the result of decoding the multi-valued absolute value of the fifth encoded coefficient value L is “2 J, but unlike the conventional example, the arithmetic decoding unit 7 0 1 has 6
  • the probability table 4 is used without transitioning the probability table.
  • the rearrangement unit 7 0 4 rearranges the input R L columns in the reverse direction. However, the number of coefficients is excluded from the sorting target.
  • the rearranged state is as shown in Fig. 16 (a). Then, rearrangement section 704 outputs the rearranged RL sequence to coefficient generation section 700.
  • the coefficient generator 7 0 5 converts the input RL sequence into a coefficient block. At this time, the coefficient generation unit 7 0 5 generates the coefficient of the value roj by the number indicated by the number R based on the predetermined scanning order, and then the coefficient of the value indicated by the coefficient value.
  • the RL sequence is converted to the coefficient block by repeating the generation of.
  • the coefficient generator 7 0 5 is (b) in Fig. 15 As shown in Fig. 16, zigzag scanning is performed from the low frequency region to the high frequency region, and the RL sequence shown in Fig. 16 (a) is converted into the coefficient block shown in Fig. 15 (a). Then, the coefficient generation unit 7 05 outputs the coefficient block generated in this way to the inverse quantization unit 6 02.
  • variable length decoding method in the variable length decoding unit 6 0 1 of the decoding device 5 0 0 b according to the present invention is the arithmetic decoding of the absolute value of the coefficient value in the input code string
  • the following factors are used according to the table number of the current probability table and the absolute value of the coefficient value obtained by decoding.
  • the transition of the probability table is assumed to be only in one direction, and the absolute value of the coefficient value L obtained by decoding is once predetermined. When the value is exceeded, all subsequent arithmetic decodings are performed using the same probability table.
  • variable length decoding method of the present invention it is possible to correctly decode the code string encoded using the variable length encoding method of the present invention.
  • a code string generated by intra-picture coding is decoded. This is performed by inter-picture coding using motion compensation or the like for moving image input.
  • the generated code string may be decoded, and the same effect can be obtained.
  • the code string in which the image data is encoded by being divided into pixel blocks of horizontal 4 ⁇ vertical 4 pixels has been described, but the size of the pixel block is another size. May be.
  • the scanning method in the coefficient block has been described with reference to FIG. 15 (b). However, if this is the same as the scanning method used at the time of encoding, other scanning orders are used. There may be.
  • the example of the binarization table has been described with reference to FIG. 21. However, if this is the same as the binarization table used for encoding, another table may be used. There may be.
  • arithmetic decoding section 7 0 1 performs binary arithmetic decoding
  • multilevel arithmetic decoding may be performed.
  • the multi-value conversion unit 70 2 can be omitted.
  • FIG. 22 is a block diagram showing a functional configuration of an encoding apparatus to which the variable length encoding method and the moving image encoding method using the variable length encoding method of the present invention are applied.
  • the encoding device 10 of the first and third embodiments is also used.
  • each part of such an encoding device 100c includes a CPU, a ROM that stores programs and data executed by the CPU in advance, a work area for program execution, an input image, and the like. This is realized by a memory that temporarily stores
  • the encoding device 1 0 0 c includes a block conversion unit 1 1 0, a frequency conversion unit 1 2 0, a quantization unit 1 3 0, It consists of a variable length coding unit 1600.
  • the encoding apparatus 100 a according to Embodiment 1 is configured to encode R and the superordinate bearer using a plurality of variable length code tables (VLC tables).
  • the encoding apparatus according to Embodiment 3 was configured to perform arithmetic encoding using a plurality of probability tables separately from R, but the encoding apparatus according to Embodiment 5 1 0 0 c is different from the encoding devices 1 OO a and 100 b in that L is encoded separately from R and using a plurality of variable length code tables.
  • the encoding device 1 OO c is configured by using a variable length encoding unit 1 60 instead of the variable length encoding units 1 4 0 and 1 5 0 of the encoding devices 1 OO a and 1 OO b. Made. Since the other configurations are the same as those of the encoding devices 1 0 0 a and 1 0 0 b, the description thereof will be omitted, and the variable length encoding unit 16 0 will be described in detail.
  • This variable length encoding unit 160 generates the L and R columns individually based on the frequency coefficients quantized by the quantization unit 1 30, and uses the one-dimensional VLC switching method to calculate the absolute values of the coefficients. Generates a code string such as
  • FIG. 23 is a block diagram showing a detailed functional configuration of the variable length coding unit 160.
  • variable-length encoding unit 160 is composed of an R-sequence / L-sequence generation unit 1 61, a code allocation unit 1 6 3, and a table storage unit 1 6 4. .
  • the L sequence generator 1 6 1 performs a zigzag scan of the quantized frequency coefficient (hereinafter also simply referred to as “coefficient”) from the lower frequency to the higher frequency to obtain the L and R columns. Generate individually.
  • the R column ⁇ L column generator 1 61 1 performs zigzag skipping as shown in Fig. 3 (b). Yan. Then, the R column-L column generation unit 1 61, for the L column, first, as shown in FIG. 24 (a), the number m of L whose coefficient values are other than 0J and the absolute value of the coefficient Get the sequence of values IL
  • R column ⁇ L column generator 1 6 "I generates an R column (R column) as shown in FIG. 24 (b).
  • the table storage unit 1 64 has a plurality of (for example, 8) variable length code tables 1 64 1 a-1 6 4 1 g for variable length encoding of the absolute value ILI of each coefficient of the L column, and the coefficient Threshold value for adaptively switching each variable-length code table 1 6 4 1 a to 1 6 4 1 g according to the absolute value of the coefficient
  • FIG. 25 is a diagram showing a configuration example of each variable-length code table 1 6 4 1 a-1 64 1 g.
  • Each variable-length code table 1 6 4 1 a-1 6 4 1 g is actually configured by associating the absolute value of the coefficient
  • a smaller code number is assigned when the absolute value of the coefficient IL
  • Each variable-length code table 1 6 4 1 a-1 6 4 1 g has the maximum coefficient value in which the code length at the minimum coefficient value becomes longer in the order of number k given to each table.
  • the code lengths of the values are shortened in the order of number k, and the rate of change of the code length with respect to the coefficient value is made different.
  • variable length code table 1 6 4 1 a the code length is the shortest when the absolute value ILI of the coefficient is small, and the code length is constant when the absolute value ILI of the coefficient is large. This is the longest table.
  • the variable length code table 1 6 4 1 a has the same code length change rate as the absolute value of the coefficient
  • variable-length code table 1 6 4 1 g has the longest code length when the absolute value IL
  • variable-length code table 1 6 4 1 b to 1 6 4 1 f in the meantime is the order of 1 6 4 1 b to 1 6 4 1 f.
  • the absolute value ILI of the coefficient is small, the code length gradually increases.
  • the absolute value ILI of the coefficient is large, the code length gradually decreases.
  • the variable length code table 1 6 4 1 b to 1 6 4 1 f has a gradually decreasing code length change rate with respect to the absolute value of the coefficient
  • the absolute value ILI of the coefficient is, for example, "4" to "6". Is suitable for the case where is 7 J ⁇ ⁇ 1 2 J, for example.
  • variable length code having a code length corresponding to the coefficient value can be adapted to each table, so that the coding efficiency can be improved.
  • a coefficient value when a coefficient value is small in a certain table, it is encoded into a variable-length code having a shorter code length than that of the other table.
  • the code length can be drastically shortened by coding the variable length code with a short code length and switching the table according to the coefficient value.
  • a range in which the code length is shortened can be assigned to each table, the encoding efficiency can be improved.
  • the encoding is non-arithmetic encoding, that is, the VLC method, complicated processing such as arithmetic encoding is unnecessary, and once the table used for encoding is determined, it can be easily changed by simply referring to that table. Can be encoded into a long code.
  • FIG. 26 is a diagram showing a configuration example of the threshold value table 1 6 4 2.
  • This threshold table 1 6 4 2 is preset according to the characteristics of the variable length code table 1 6 4 1 a-1 6 4 1 g, and each variable length code table 1 6 4 1 a to 1 6 4 1 Holds multiple thresholds used to switch f.
  • the threshold for switching between variable length code tables 1 6 4 1 a and 1 6 4 1 b is ⁇ 4 ”, and for switching (transition) between variable length code tables 1 6 4 1 b and 1 6 4 1 c
  • the threshold is set to “7”, ⁇ , and the variable-length code table 1 6 4 1 f and 1 6 4 1 g are set to ⁇ 1 9 3 J, respectively. This makes it easy to determine the timing of table switching and switches to the optimal table according to the absolute value of the coefficient
  • the code allocation unit 1 6 3 uses the variable length code table 1 6 4 1 a to 1 6 4 1 g held by the table storage unit 1 6 4 and the threshold table 1 6 4 2, R column ⁇ L-sequence generator 1 6 Variable-length coding of the absolute value ILI of the coefficient output from 1 is performed separately from the R sequence and a binary code is assigned. That is, the code allocation unit 1 6 3 performs one-dimensional encoding on the absolute value of the coefficient
  • an encoding operation in the encoding device 1 0 0 c will be described.
  • the operations of the block conversion unit 1 1 0 to the quantization unit 1 3 0 are the same as the operations in the encoding devices 1 0 0 a and 1 0 0 b described above.
  • the variable length coding operation in the variable length coding unit 160 will be described in detail.
  • the frequency coefficient quantized by the quantization unit 1 3 0 is input to the R sequence-L sequence generation unit 1 6 1 of the variable length encoding unit 1 60.
  • the 1 ⁇ -row-L-row generator 1 6 1 first changes the quantized frequency coefficient value in the block from the DC component region to the high-frequency component region.
  • the frequency coefficient value is made one-dimensional by zigzag scanning.
  • the R column ⁇ L column generator 1 6 1 has a column of coefficient values other than ⁇ 0 J (hereinafter also referred to as “column j”) and a column R of the number R of consecutive coefficient values “0” ( Hereafter, “R column j” is generated separately.
  • An example of the generated L column and R column is shown in Fig. 24.
  • the number of coefficients is m and The absolute value of the coefficient ILI, the positive and negative sign of the coefficient, etc.
  • positive and negative sign of the coefficient for example, positive corresponds to ⁇ 0 J and negative corresponds to ⁇ 1 j.
  • the code allocation unit 16 3 encodes each L value of the L sequence generated by the R sequence ⁇ L sequence generation unit 16 1 in the reverse order to the zigzag scan, that is, in order from the highest frequency. That is, the code allocating unit 1 6 3 uses the variable length code tables 1 6 4 1 a to 1 6 4 1 g in order from the back of L to the Huffman code (variable length code) corresponding to the absolute value ILI of the coefficient. Are obtained sequentially.
  • the reason for reversing the order of the zigzag scan is that it converges to the vicinity of the coefficient value “1” other than ⁇ 0 J in the high frequency region, makes it easy to determine the first table used for encoding, 1 6 4 1 a-1 6 4 1 g is created, and it is easy to determine the threshold value.
  • the code assigning unit 1 63 assigns a variable length code to each L in the L sequence and each R in the R sequence using various tables held in the table storage unit 16 4.
  • the code allocation unit 1 6 3 allocates a variable-length code for the number of coefficients m, but here, a process for assigning a variable-length code to the absolute value ILI of the coefficient will be described. .
  • FIG. 27 is a flowchart showing variable length code allocation processing executed by the code allocation unit 1 63.
  • the code allocation unit 1 6 3 determines the number of coefficient values output from the R column and L column generation unit 1 6 1 when starting to encode the coefficient value in the block (absolute value of the coefficient
  • ). Set m (S 1 0 1). Next, the code allocation unit 16 3 sets ⁇ 0 J to the table number k as the initial value of the variable-length code table to be referred to (S 1 0 2). Next, the code assigning unit 1 63 refers to the threshold table 1 6 4 2 and sets threshold 4 (S 1 0 3).
  • variable length code table 1 6 4 1 a When the number of coefficients m, the reference destination of the variable length code table (in this case, variable length code table 1 6 4 1 a) and the threshold value are set, the code allocation section 1 6 3 R column 'L column generator 1 6 Absolute value I of coefficient output from 1 LI is read from the back (S 1 0 4), and the absolute value
  • the code allocation unit 1 63 stores the binarized code obtained by encoding in a buffer (not shown) (for example, a FIFO buffer) (S 1 0 6 ), If the number of coefficients m is “1 j decrement (S 1 0 7) and the decremented number m is ⁇ 0”, that is, whether all the coefficients included in the L sequence have been encoded. (S 1 0 8) 0
  • the code allocation unit 1 6 3 reads the absolute value I and
  • the code assignment unit 1 6 3 increments the table number k by “1” (S 1 1 0 ).
  • the variable length code with a smaller code length change rate and suitable for encoding the absolute value IL
  • code allocation unit 1 6 3 refers to threshold table 1 6 4 2 and updates it to the next threshold value (for example, the previous threshold value is “4”). If j, then ⁇ 7 j) (S 1 1 1) This means that only when the absolute value of the coefficient
  • variable length code table 1 6 4 1 a whose table absolute value ILI is the table number ⁇ 0 ”and the variable length tape tape 1 6 4 1 b whose table number is“ 1 ”is the absolute value ILI of the immediately preceding coefficient. If the threshold value exceeds 4, as shown in Fig. 28, the variable length code table 1 6 4 1 a to the variable length code table can be used as a reference for encoding the absolute value ILI of the next coefficient. 1 6 4 1 The reference destination is switched to b, and the threshold value “7” is set.
  • the absolute value of the previous coefficient I and I is a variable-length code table with table numbers ⁇ 1 j to “6” Threshold values between 1 6 4 1 b to 1 6 4 1 g “7” to “1 9 3 J As with the threshold “4”, the table number “1 j variable-length code table is used as a reference for encoding the absolute value IL
  • the table switching direction is one direction and does not return.
  • the coefficient value prevents the table from being switched frequently and reduces the number of table switching. Therefore, the coding efficiency can be improved. For example, since the work area of memory is limited, it is common to place only the next table to be used in the work area. In this case, every time the table is switched, it takes time to read the next table from ROM and expand it in the work area, so it takes time to encode the next coefficient value. For this reason, the effect of limiting the number of table switching times and shortening the total time to encoding the next coefficient value is achieved by using one direction.
  • the code allocation unit 1 63 When the increment of the table number and the update of the threshold value are completed, the code allocation unit 1 63 will return the absolute value ILI of the next coefficient Read (S 1 0 4), and execute steps S 1 0 5 to S 1 0 8 and the like. In other words, encoding is performed using a variable-length code table that is suitable for ones having a larger absolute value
  • the code allocation unit 1 6 3 starts with the variable length code as shown in Fig. 29 Using a single 1 6 4 1 a, the binary codes ⁇ 1 j, ⁇ 1 j are changed in this order to “1 j, ⁇ 1”, ⁇ 2 J, ⁇ 3 ”, ⁇ 4 J, ⁇ 1 2”.
  • the code allocation section 1 6 3 uses the switched variable length code table 1 64 1 c to convert the absolute value of the next coefficient
  • “2 2” into the binarized code “00 1 1 0 0 1 ”. And the absolute value of the coefficient I and
  • the binary codes “1 1 0 0”, “0 1 0 0 0 0”, and “0 0 1 0 1 1 0 1 J” are sequentially encoded using the variable length code table 1 6 4 1 d.
  • this buffer also stores the number m of encoded L-column coefficients, the sign of the coefficient, and the R-value R-value binarization code, which is stored in the buffer.
  • binary code, positive / negative sign of coefficient, R value in R column Binary code is used for recording media such as CD, Internet, satellite broadcasting To the decoding device via a transmission medium such as.
  • the binarization code is “1”, ⁇ 1 '', ⁇ 0 1 0 '', ⁇ 0 1 1 J, '' 0 0 1 0 0 '', ⁇ 0 0 0 1 1 0 0 J, '' 0 1 0 J, ⁇ 0 1 1 '', ⁇ 0 0 0 1 1 1 1 J, ⁇ 0 0 0 1 1 1 0 J, ⁇ 0 0 1 1 0 J, ⁇ 0 1 1 '', ⁇ 0 0 0 0 1 1 1 1 J, ⁇ 0 0 0 0 1 1 1 0 J, ⁇ 0 0 0 1 0 J, ⁇ 0 0 1 0 1 0 J, ⁇ 0 0 1 0 1 0 J, ⁇ 0 0 1 0 1 '', ⁇ 0 0 1 0 1 J, '' 0 0 0 0 0 0
  • the code length is 1 bit, and coding efficiency can be improved.
  • the absolute value of the coefficient ILI is, for example, ⁇ 2 In the case of 2 J and ⁇ 3 8 J, the variable length code table 1 6 4 1 a alone has the 9 bits of ⁇ 0 0 0 0 1 0 1 1 0J, '' 0 0 00 0 1 0 0 1 1 0J In contrast to the 1 bit required, 7 bits of ⁇ 0 0 1 1 00 1 '' and 8 bits of ⁇ 0 0 1 0 1 0 1 J greatly contribute to this method. ing. Therefore, if the absolute value of the coefficient
  • the table number k is incremented by one (S1 1 0), but encoding was performed using the variable-length code table of the next number (see Fig. 28).
  • It may be possible to jump to the variable length code table adapted to
  • of the coefficient immediately before encoding with reference to the table with the number k 1 is ⁇ 2 0, the absolute value of the next coefficient
  • of the next coefficient may be encoded by referring to a table of k 3. In this case, a threshold value (for example, 25) that matches the variable length code table may be set.
  • variable length code tables In addition, the case where eight variable length code tables are used has been described. This uses two to seven variable length code tables or eight or more variable length code tables, and each threshold is set using a plurality of threshold values. The variable length code table may be switched every time it exceeds.
  • the coefficient value is divided into an absolute value and a positive / negative sign and encoded, and each variable length code table for the absolute value of the coefficient value is configured with no positive / negative sign (absolute value). Coefficient values may be encoded with positive and negative signs.
  • the binarization code may be configured with a plus / minus sign. In this case, for example, one bit of a plus / minus code may be added to the LSB bit of the variable length code.
  • the size of the blocks may be other sizes.
  • the scanning method in the block has been described with reference to FIG. 3 (b). However, this is another scanning order for scanning from a low frequency region to a high frequency region. May be.
  • variable length code table has been described with reference to FIG. 25 as an example, but this may be another table.
  • FIG. 30 is a block diagram showing a functional configuration of a decoding apparatus to which the variable length decoding method and the moving picture decoding method using the variable length decoding method according to the embodiment of the present invention are applied.
  • the code string generated by the variable length coding method of the present invention described in Embodiment 5 is input.
  • FIG. c is composed of a variable length decoding unit 5 6 0, an inverse quantization unit 5 2 0, an inverse frequency conversion unit 5 3 0, and a frame memory 5 4 0.
  • each part of the decoding device 500c like this is similar to the coding device 100c, the CPU, the ROM that stores programs and data executed by the CPU in advance, the program execution This can be realized by providing a work area or temporarily storing input coded sequences.
  • the inverse quantization unit 5 2 0, the inverse frequency conversion unit 5 3 0, and the frame memory 5 4 0 are the same as those of the decoding devices 5 0 0 a and 5 0 0 b, and therefore the description thereof
  • the configuration of the variable length decoding unit 5 60 will be described in detail.
  • the variable length decoding unit 5 60 includes a code conversion unit 5 6 1, a table storage unit 5 6 2, and a coefficient generation unit 5 6 4.
  • the table storage unit 5 6 2 includes a plurality of types (eight) variable length codes (decoding) tables 5 6 2 1 a to 5 6 2 1 g in which variable length codes and absolute values of coefficients ILI are associated.
  • a threshold table 5 6 2 2 etc. is held in advance.
  • the variable length code tables 5 6 2 1 a to 5 6 2 1 g are configured the same as the variable length code tables 1 6 4 1 a-1 6 4 1 g shown in FIG.
  • the value table 5 6 2 2 has the same configuration as the threshold table 1 6 4 2 shown in FIG.
  • the code converter 5 6 1 uses a table (variable length code table 5 6 2 1 a to 5 6 2 1 g, threshold value table 5 6 2 2 etc.) held in the table storage unit 5 6 2 Then, the input code string is converted from the variable-length code to the number m of coefficients in the L column, the absolute value IL l of the coefficient, and the R value in the R column. Conversion to the absolute value I L I of the coefficient is performed using the variable length code tables 5 6 2 1 a to 5 6 2 1 g.
  • the coefficient generation unit 5 6 4 converts the coefficient value into a coefficient value based on the input column and R column, and two-dimensionalizes it by a predetermined scanning method. At the time of conversion to the coefficient value, based on a predetermined scanning order, the coefficient value “0 J” is generated only by the value indicated by R, and then the coefficient value of the value indicated by L is generated. By repeating, the conversion from the collocation and the R column to the coefficient values is performed here, when zigzag scanning is performed from the low frequency region to the high frequency region, the above-mentioned Fig. 11 shows. Will be converted to the indicated coefficient block. The generated coefficient block is input to the inverse quantization unit 5 20.
  • the codes of the binarized code input code sequence input to the code converter 5 6 1 are ⁇ 1 j, ⁇ 1 j, ⁇ 0 1 0 J, ⁇ 0 1 1 J in order from the top.
  • the code conversion unit 5 6 1 decodes the number m of coefficients output from the encoding device 10 0 c when starting decoding of the variable-length code, and calculates the number m of decoded coefficients. set.
  • the code conversion unit 5 61 sets “0” in the table number k as the initial value of the variable length code table to be referred to.
  • variable length code table reference destination in this case, variable length code table 5 6 2 1 a
  • threshold value the code conversion unit 5 6 1 Read the coefficient absolute value
  • the code converting unit 5 61 stores the absolute value ILI of the coefficient obtained by the decoding in a buffer (not shown) (for example, FILO buffer), and the number of coefficients m is stored. “1 J is decremented, and it is determined whether the number m after decrement is“ 0 ”, that is, whether all the coefficients included in the sequence have been decoded.
  • the conversion unit 5 6 1 reads the next variable length code from the front and decodes it to the absolute value ILI of the coefficient using the same variable length code table as before.
  • the code converter 5 6 1 increments the table number k to “1 J.
  • the code conversion unit 5 6 1 Refer to 5 6 2 2 and update to the next threshold value (for example, “7 J if the previous threshold value is ⁇ 4 j).
  • Only when a certain threshold is exceeded, it is suitable for decoding variable-length codes with a smaller code length and a longer code length coefficient. And it is the this to transition to the next variable length code table.
  • variable length code table 5 6 2 1 a it is the variable length code “1” that matches the input code string.
  • the absolute value I and I of the coefficient are “1”. .
  • variable length code “0 1 OJ is the absolute value of the coefficient
  • .”
  • variable length code “0 0 1 0 0” is the absolute value of the coefficient IL
  • “4J”
  • the variable length code “0 00 1 1 0 0” is converted to the absolute value IL
  • ⁇ 1 2 j respectively.
  • k 1 as the threshold value in the subsequent conversion to the absolute value ILI of the coefficient of the variable length code.
  • the next seventh variable length code ⁇ 1 1 ” is converted to the absolute value of the coefficient
  • “ 2 ”.
  • the next 8th variable length code ⁇ ⁇ 1 0 0 ” is the absolute value of the coefficient
  • “ 3 ”, and the 9th variable length code“ 0 0 0 0 1 0 0 0 0 ”is the absolute value of the coefficient.
  • “ 3 ”
  • the 9th variable length code“ 0 0 0 0 1 0 0 0 0 ” is the absolute value of the coefficient.
  • “ 3 ”
  • the 9th variable length code“ 0 0 0 0 1 0 0 0 0 ” is the absolute value of the coefficient.
  • is “7”
  • variable length code table 5 6 2 1 Set 3 and convert to absolute value IL
  • the code conversion unit 5 6 1 also decodes each R in the R sequence by the same process as the absolute value of the coefficient
  • the coefficient generation unit 5 6 4 converts into a coefficient value based on the input column and R column. In this case, the coefficient value “0” is generated only for the value indicated by R based on the predetermined scanning order, and then the coefficient value for the value indicated by L is generated by adding a positive / negative sign. By repeating the above, conversion from the L and R columns to the coefficient values is performed. Here, if the zigzag is scanned from the low frequency region to the high frequency region as shown in Fig. 11, the L column shown in Fig.
  • the variable length decoding method according to Embodiment 6 of the present invention first switches in a decoding step while switching a plurality of variable length code (decoding) tables used for decoding in one direction. Using the variable length code table, the variable length code of the code string is decoded into coefficient values other than “0” in the frequency domain in a predetermined order. Next, in the coefficient value conversion step, the coefficient values in the block are converted based on the generated coefficient values.
  • the code length in the minimum coefficient value is long in the order of the numbers assigned to the respective tables, and the code length in the maximum coefficient value is short in the order of the numbers.
  • the code length change rate with respect to the coefficient value is made different.
  • the threshold is set based on the adaptive characteristics of each table in which the code length corresponding to the coefficient value is shorter than other tables.
  • the variable length code of the code string is changed from a high frequency component to a low frequency component.
  • the decoding step decodes the coefficient values in the order of the code string sequence, and outputs the decoded coefficient values in order from the rear of the code string sequence.
  • the coefficient generation step scans the coefficient values in the order of the arrangement of the coefficient value sequences.
  • the encoding step uses the table from the table used for decoding the variable length code to be decoded. Switch to a table with a larger number than the number assigned to the bull and decode the next variable length code into a coefficient value.
  • variable length decoding method of the present invention it is possible to correctly decode the code string encoded using the variable length coding method of the present invention.
  • Embodiment 6 when the absolute value ILI of the immediately preceding coefficient decoded exceeds the threshold in the same way as in Embodiment 5, the table number k is incremented by one. Decoding is performed using the variable number code table with the next number, but if the table switching method used at the time of encoding is the same, the coefficient immediately before the threshold value is exceeded.
  • LI may be used to jump to the variable-length code table adapted to the absolute value
  • variable length code table has been described with reference to FIG. 25 as an example. However, if this is the same as the table used for encoding, this is another table. Also good. Also, the case where eight variable length code tables are used has been described. This is because two to six variable length code tables or more than eight variable length code tables are used, and each threshold value is set using a plurality of threshold values. The variable length code table may be switched every time the value exceeds. However, the structure and threshold value of the variable-length code table at this time must be the same as those used for encoding.
  • the coefficient value is divided into an absolute value and a positive / negative sign and encoded, and each variable length code table for the absolute value of the coefficient value is configured with no positive / negative sign (absolute value).
  • the coefficient value may be encoded with a positive / negative sign, and in that case, the binarized code may be configured with a positive / negative sign. In this case, for example, 1 bit of plus / minus sign may be added to the LSB bit of the variable length code.
  • the variable length code table is switched. However, the order of the absolute value IL 1 of the coefficient is larger (that is, from the high frequency side). If the absolute value ILI of the decoded coefficient is less than the threshold value, the variable-length code table with the smaller number is used. You may make it switch to.
  • a case has been described in which a code string generated by intraframe coding is decoded.
  • This is a case where interframe coding is performed using motion compensation or the like for moving image input.
  • the code string generated by decoding may be decoded, and the same effect can be obtained by the method of the present embodiment.
  • the input image is encoded by being divided into blocks of 4 horizontal pixels and 4 vertical pixels has been described.
  • the size of the blocks is other sizes. Also good.
  • the scanning method in the block has been described with reference to FIG. 11. However, if this is the same as the scanning method used at the time of encoding, other scanning orders are used. May be.
  • variable length coding method variable length decoding method, variable length coding device, variable length decoding device, moving image coding method, moving image decoding method, moving image coding device according to the present invention
  • FIG. 32 shows the use of a flexible disk storing a program for performing the processing of the moving picture encoding method of the first, third, and fifth embodiments or the moving picture decoding method of the second, fourth, and sixth embodiments. It is explanatory drawing in the case of implementing by a computer system.
  • Fig. 3 2 (b) shows the appearance, cross-sectional structure, and flexible disc as seen from the front of the flexible disc
  • Fig. 3 2 (a) shows an example of the physical format of the flexible disc that is the recording medium itself.
  • the flexible disk FD is built in the case F, and on the surface of the disk, a plurality of racks T r are formed concentrically from the outer periphery toward the inner periphery, and each track has 16 sectors S in the angular direction. It is divided into e. Therefore, in the flexible disk storing the program, a moving picture encoding apparatus as the program is recorded in an area allocated on the flexible disk FD.
  • FIG. 3 2 (c) shows a configuration for recording and reproducing the above program on the flexible disk FD.
  • the moving picture encoding apparatus or moving picture decoding apparatus as the above program is written from the computer system C s via the flexible disk drive.
  • the program is read from the flexible disk by the flexible disk drive and transferred to the computer system.
  • a flexible disk is used as the recording medium, but the same can be done using an optical disk.
  • the recording medium is not limited to this, and any recording medium that can record a program, such as an IC card or ROM cassette, can be similarly implemented.
  • FIG. 33 is a block diagram showing the overall configuration of the content supply system ex 100 that realizes the content distribution service.
  • the communication service provider area is divided into a desired size, and base stations ex 10 07 to ex 110, which are fixed radio stations, are installed in each cell.
  • This content supply system ex 1 00 is, for example, connected to the computer ex 1 0 1 through the Internet service provider ex 1 0 2 and the telephone network ex 1 0 4 and the base stations ex1 0 7 to ex1 1 0.
  • 1 1 1 1, PDA (personal digital assistant) ex 1 1 2, camera ex1 1 3, mobile phone ex 1 1 4, mobile phone with camera ex 1 1 5, etc. are connected.
  • the content supply system ex 1 100 is not limited to the combination as shown in FIG. 33, and any one of them may be connected in combination. Also, each device may be directly connected to the telephone network ex 104 without going through the base stations ex 10 07 to ex 110, which are fixed wireless stations.
  • the camera ex l 1 3 is a device that can shoot movies such as a digital video camera.
  • Cellular phones include PDC (Persona ID iGita I Gommun i cations), CD MA (Code Division Multiple Access), W—CD MA (Wi deband-Code Division Multiple Access), 3 ⁇ 4 L ⁇ li GSM (Global System for Mobile Communications) type mobile phone or PHS (Personal Handyphone System), etc.
  • the streaming server ex 1 0 3 is connected to the camera ex 1 1 3 through the base station ex 1 0 9 and the telephone network ex 1 0 4 and is a code transmitted by the user using the camera ex 1 1 3. Live distribution based on the processed data becomes possible. Encoding of the captured data is performed with force mela ex1 1 3 Alternatively, it may be performed by a server that performs data transmission processing. Also camera
  • the moving image data captured by 1 1 6 may be transmitted to the streaming server ex 1 0 3 via the computer ex 1 1 1.
  • the camera ex 1 1 6 is a device that can shoot still images and videos, such as a digital camera.
  • the video data may be encoded by the camera ex 1 16 or the computer ex 1 1 1.
  • the encoding process is performed by the computer ex l 1 1 and the power exl 1 6 and processed by S I ex 1 1 7.
  • the image encoding / decoding software may be incorporated into any storage medium (CD-ROM, flexible disk, hard disk, etc.) that can be read by the computer ex 1 1 1 or the like.
  • video data may be transmitted using a camera-equipped mobile phone ex l 15.
  • the moving image data at this time is data encoded by L S I included in the mobile phone ex l 15.
  • this content supply system ex 1 0 content (for example, a video image of live music) captured by the user with the camera ex 1 1 3.
  • Camera ex 1 1 6 etc. is encoded as in the above embodiment.
  • the stream data is sent to the streaming server ex 1 0 3 and sent to the streaming server ex 1 0 3, while the streaming server ex 1 0 3 streams the content data to the requested client.
  • Examples of the client include a computer ex 1 1 1, a PD A ex 1 1 2, a camera ex 1 1 3, a mobile phone ex 1 1 4, and the like that can decode the encoded data.
  • the content supply system ex l 0 0 can receive and play back the encoded data at the client, and further receive it at the client ⁇ in real time, decode it, and play it back. It is a system that can realize personal broadcasting.
  • the above-described embodiments are used for encoding and decoding of each device constituting this system.
  • the image encoding device or the image decoding device shown in the above state may be used.
  • FIG. 34 is a diagram illustrating the mobile phone ex 115 using the moving picture prediction method, the moving picture encoding apparatus, and the moving picture decoding apparatus described in the above embodiment.
  • the mobile phone exl 1 5 is an antenna ex 2 0 1 for transmitting and receiving radio waves to and from the base station ex1 1 0, and a camera unit capable of taking images and still images from a CCD camera, etc.
  • ex 2 0 3 It consists of a display part ex 2 0 2 such as a liquid crystal display that displays the decoded data of the video taken by the camera part ex2 0 3, the video received by the antenna ex 2 0 1, etc., and the operation keys ex2 04 group Main unit, audio output unit ex 2 0 8 such as speaker for audio output, audio input unit ex 20 5 such as microphone for audio input, captured video or still image data, received mail Recording media ex2 0 7 to store encoded data or decoded data such as video data, video data or still image data, and recording media ex 20 7 to mobile phone exl 1 5 It has a slot ex 20 6 to make it possible.
  • a display part ex 2 0 2 such as a liquid crystal display that displays the decoded data of the video taken by the camera part ex2 0 3, the video received by the antenna ex 2 0 1, etc., and the operation keys ex2 04 group Main unit
  • audio output unit ex 2 0 8 such as speaker for audio output
  • audio input unit ex 20 5 such as microphone for audio
  • Recording media ex2 0 7 is a flash 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 stores memory elements.
  • EEPROM Electrically Erasable and Programmable Read Only Memory
  • the mobile phone exl 15 is a power circuit part ex 3 for the main control part ex 3 1 1 which is designed to control the various parts of the main body with the display part ex2 0 2 and the operation key ex2 04.
  • Operation input control unit ex3 04 Image encoding unit ex 3 1 2, Camera line interface unit ex 3 0 3, LCD (Liquid Crystal Display) control unit ex 3 0 2, Image decoding unit ex 3 0 9, Demultiplexer ex 3 0 8.
  • Recording / reproducing unit ex 3 07, modulation / demodulation circuit unit ex 3 0 6, and audio processing unit ex 3 0.5 are connected to each other via a synchronization bus ex 3 1 3.
  • the power supply circuit ex 3 1 0 is a digital mobile phone with a re-camera by supplying power to each part from the battery pack when the end of the call and the power key are turned on by a user operation.
  • 1 1 Starts 5 into an operable state.
  • the cellular phone ex 1 1 5 is a voice processing unit that collects the audio signal collected by the voice input unit ex 2 0 5 in the voice call mode based on the control of the main control unit ex 3 1 1 consisting of CPU, ROM, RAM, etc. This is converted into digital audio data by ex 3 0 5, this is subjected to spectrum spreading processing by the modulation / demodulation circuit unit ex 3 0 6, and digital analog conversion processing and frequency conversion processing are performed by the transmission / reception circuit unit ex 3 0 1. And then transmit via antenna ex 2 0 1.
  • the mobile phone ex 1 15 amplifies the received signal received by the antenna ex 2 0 1 in the voice call mode, performs frequency conversion processing and analog-digital conversion processing, and performs conversion at the conversion circuit section ex 3 0 6. After the despreading of the cluster is performed and converted into an analog audio signal by the audio processing unit ex 3 0 5, it is output via the audio output unit ex 2 0 8.
  • the text data of the e-mail input by operating the operation key ex 2 0 4 on the main unit is sent to the main control unit via the operation input control unit ex 3 0 4. sent to ex 3 1 1.
  • the main control unit ex 3 1 1 performs spectrum spreading processing on the text data in the modulation / demodulation circuit unit ex 3 0 6, performs digital analog conversion processing and frequency conversion processing in the transmission / reception circuit unit ex 3 0 1, and then performs antenna ex Transmit to base station ex 1 1 0 via 2 0 1.
  • the image data captured by the camera unit ex 2 0 3 is sent via the camera interface unit ex 3 0 3.
  • the image data captured by the camera unit ex 20 3 is transferred to the display unit ex 20 2 via the camera interface unit ex 30 3 and the LCD control unit ex 30 2. Direct display is also possible.
  • the image encoding unit ex 3 1 2 is configured to include the image encoding device described in the present invention, and the image data supplied from the camera unit ex20 3 is added to the image encoding device shown in the above embodiment. It is converted into encoded image data by compression encoding using the encoding method used, and this is sent to the demultiplexer ex 3 08.
  • the mobile phone ex 1 1 5 converts the audio collected by the audio input unit ex20 5 during imaging by the camera unit ex 2 0 3 into digital audio data via the audio processing unit ex 3 0 5. To the demultiplexer ex 3 0 8.
  • the demultiplexing unit ex3 0 8 multiplexes the encoded image data supplied from the image encoding unit ex3 1 2 and the audio data supplied from the audio processing unit ex 3 0 5 by a predetermined method, and is obtained as a result.
  • the multiplexed data is spectrally spread by the modulation / demodulation circuit unit ex 3 0 6 and digital analog conversion processing and frequency conversion processing are performed by the transmission / reception circuit unit ex 3 0 1 and then transmitted via the antenna ex 20 1 To do.
  • the received signal received from the base station ex 1 1 0 via the antenna ex 2 0 1 is scanned by the modulation / demodulation circuit unit ex 3 0 6.
  • the demultiplexing unit ex3 0 8 separates the multiplexed data into the encoded bitstream of the video data and the encoded bitstream of the audio data by separating the multiplexed data.
  • the encoded image data through the image The audio data is supplied to the decoding unit ex 3 0 9 and the audio data is supplied to the audio processing unit ex 3 0 5.
  • the image decoding unit ex3.09 is configured to include the image decoding device described in the present invention, and the encoded bit stream of the image data is applied to the encoding method shown in the above embodiment.
  • Reproduced moving image data is generated by decoding with a corresponding decoding method, and this is supplied to the display unit ex 2 0 2 via the LCD control unit ex 3 0 2, and linked to, for example, a homepage.
  • the movie data included in the video file is displayed.
  • the audio processing unit ex 3 0 5 converts the audio data into an analog audio signal, and then supplies this to the audio output unit ex 2 0 8, thereby, for example, a moving image file linked to the homepage. Is reproduced.
  • the present invention is not limited to the above-mentioned system, and recently, digital broadcasting by satellite and terrestrial has become a hot topic.
  • Fig. 36 at least the image of the above embodiment is applied to a digital broadcasting system.
  • Either an encoding device or an image decoding device can be incorporated.
  • the encoded bit stream of the video information is transmitted to the communication or broadcasting satellite ex 4 10 via radio waves.
  • the broadcasting satellite ex 4 1 0 transmits a radio wave for broadcasting, and receives this radio wave with a home antenna ex 4 0 6 having a satellite broadcasting receiving facility, and the TV (receiver) ex 4 0 1 or Set top box (STB) Decodes the encoded bitstream using a device such as ex 40 07 and reproduces it.
  • the above-described embodiment also shows a playback apparatus ex 4 0 3 that reads and decodes a coded bitstream recorded on a storage medium ex 4 0 2 such as a recording medium such as GD or DVD. It is possible to implement an image decoding device. In this case, the reproduced video signal is displayed on the monitor ex 4 0 4.
  • set top box connected to cable ex 400 0 for cable television or satellite ex terrestrial broadcasting antenna ex 400 A configuration is also possible in which an image decoding device is mounted in a computer ex 4 0 7 and this is reproduced on a television monitor ex 4 0 8. At this time, an image decoding apparatus may be incorporated in the television instead of the set top box.
  • the car ex 4 1 2 with the antenna ex 4 1 1 receives signals from the satellite ex 4 1 0 or the base station ex 1 0 7 etc., and the car ex 4 1 2 has car navigation ex 4 1 3 etc. It is also possible to play a moving image on the display device.
  • the image signal can be encoded by the image encoding device shown in the above embodiment and recorded on a recording medium.
  • a recorder ex 4 2 0 such as a DVD recorder that records image signals on a DVD disc ex 4 2 1 and a disc recorder that records images on a hard disk. It can also be recorded in the SD force ex 4 2 2. If the recorder ex 4 2 0 is equipped with the image decoding device shown in the above embodiment, the image signal recorded on the DVD disc ex 4 2 1 or the SD card ex 4 2 2 is reproduced and the monitor ex 4 0 8 can be displayed.
  • the configuration of the force navigation ex 4 1 3 includes, for example, the camera unit ex 2 0 3, the camera interface unit ex 3 0 3, and the image encoding unit ex 3 1 2 in the configuration shown in FIG. The same can be considered for the computer ex 1 1 1 and the TV (receiver) ex 4 0 1.
  • the mobile phone ex 1 1 4 and the like have three types of terminals: a transmission terminal having only an encoder and a receiving terminal having only a decoder.
  • the implementation form of can be considered.
  • variable length coding method As described above, the variable length coding method, the variable length decoding method, the variable length coding device, the variable length decoding device, the moving image coding method, and the moving image decoding using these methods described in the above embodiments. It is possible to use the encoding method, the moving image encoding device, and the image decoding device in any of the above-described device-systems, and by doing so, the effects described in the above embodiments can be obtained. It should be noted that the present invention is not limited to the above-described embodiments for all the embodiments of the present invention, and various changes or modifications can be made without departing from the scope of the present invention.
  • the coefficient values are scanned in the order from the low frequency component to the high frequency component, but as a modification of the present invention, The coefficient values may be scanned in the order from high frequency components to low frequency components. In this case, processing such as sorting of coefficient values can be omitted.
  • variable-length encoding method and variable-length decoding method according to the present invention can be used for a mobile phone, a portable information terminal, a television broadcasting device, a television receiver, or a set-up box, and the like. This is suitable for encoding and decoding coefficient values in each block obtained by frequency-converting the data in units of blocks having a predetermined size.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Studio Devices (AREA)
  • Automatic Focus Adjustment (AREA)
  • Vehicle Body Suspensions (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Description

明 細 書 可変長符号化方法および可変長復号化方法 技術分野
本発明は、 動画像における画像データを所定の大きさを有するブロッ ク単位で周波数変換した各ブロック内の係数値を符号化する可変長符号 化および可変長復号化方法等に関する。 背景技術
動画像符号化処理では、 一般に動画像が有する空間方向および時間方 向の冗長性を利用して情報量の圧縮が行われる。 ここで一般に、 空間方 向の冗長性を利用する方法と しては、 周波数領域への変換が用いられ、 時間方向の冗長性を利用する方法と しては、 ピクチャ間予測符号化処理 が用いられる。
従来の M P E G— 4動画像符号化方式 (例えば、 非特許文献 1 参照) の符号化効率をさらに高めるために、 現在規格化作業中の動画像符号化 方式では、 4 X 4画素の大きさを有するブロック単位で周波数変換を行 つた後、 量子化を行い、 係数値を生成する。 そして、 直流成分から高周 波数成分に向かって走査し、連続する値が「 0 Jである係数の個数 R ( R u n、 以下単に 「Rj とも記す。) とそれに続く係数値 L ( L e V e I 、 以下単に 「し」 とも記す。) との組み合わせを作成し、 ( R、 L ) の組み 合わせ列にする。 そして、 この ( R、 L ) を所定のコードテーブルを用 いてコード番号に変換した後、 さらに 1個の可変長符号 (V L C : V a r i a b l e L e n t h C o d i n g ) テーブルを用いて、 コ一 ド番号を V L Cコードに変換することにより、 符号化を行う。 この際の コー ドテーブルは、 一般的に発生頻度が高いものほど小さなコード番号 が割り当てられる。 例えば、 R、 L共に小さい組み合わせは発生頻度が 高いため、 小さなコード番号が割り当てられる。 また、 V L Cテーブル は、 小さなコ一ド番号に対して短い符号長を有する V L Cコ一ドが割り 当てるよ うにしているものもある ( IS0/IEG 14496— 2: " Information technology -- Coding of audi o-v i sua I objects -- Part2: V i sua I " 7.4.1, pp.119-120, 1999.12)。
しかしながら、 上記従来の方法では、 係数値 「 0」 を有する係数の連 続数 Rおよび係数値しが大きくなると、 符号長が長くなリ、 符号化効率 の低下を招く。 一般に、 低周波数成分値の係数値 Lは大きな値となるた め、 低周波数成分値を符号化する際の符号化効率の低下が顕著となる。 つまり、 発生頻度に応じて 1 つの V L Cテーブル R, Lのペアに対し て 1 つのユニークな可変長コードが割リ当てられる結果、 値が大きな係 数値 Lには、 常に符号長が非常に長い可変長符号に変換されてしまう。 また、 Rと別個に Lを符号化する場合( Lの一次元符号化)においても、 1 つの可変長符号テーブルを用いるときには、 R, Lのペアで符号化す る場合と同様な問題が発生する。
本発明は、 このような問題を鑑みてなされたものであり、 係数値 Lを 符号化する際に、 符号化効率を向上させることができる可変長符号化方 法および可変長復号化方法を提供することを目的とする。 発明の開示
上記目的を達成するために、 本発明に係る可変長符号化方法は、 動画 像における画像データを所定の大きさを有するブロック単位で周波数変 換した各ブロック内の係数値を符号化する可変長符号化方法であって、 前記ブロック内の係数値を所定の順序で走査する係数値走査ステツプと 符号化に用いる複数のテーブルを切り替えて、 前記係数値走査ステップ により走査された前記係数値を所定の順番に可変長符号に符号化する符 号化ステップとを含むことを特徴とする。
これによつて、 係数値に応じた符号長の可変長符号を各テーブルに適 応させることが可能となるので、符号化効率を向上させることができる。 つまリ、 あるテーブルでは係数値が小さい: ¾合に他のテーブルよリも短 い符号長の可変長符号に符号化するようにし、 他のあるテーブルでは係 数値が大きい場合に他のテーブルよりも短い符号長の可変長符号に符号 化するようにし、 係数値に応じて亍一ブルを切り替えることで、 符号長 を飛躍的に短くすることができる。
こ こで、 各前記テーブルの切り替え方向が一方向であることを特徴と してもよい。 これによつて、 係数値によって、 テーブルが頻繁に入れ替 わることが防止され、 テーブルの切り替え回数が減る。 したがって、 符 号化効率を向上させることができる。 例えば、 メモリのワークエリアが 限られるので次に使用するテーブルだけをワークエリアに置くのが一般 的である。 この場合には、 テーブルを切り替えるごとに R O Mから次の テーブルを読み出してワークエリアに展開するのに時間がかかるので、 次の係数値の符号化まで時間がかかる。 このため、 一方向とすることに よって、 テーブルの切り替え回数を制限し、 次の係数値の符号化まで時 間を トータルと して短縮できるという効果が発揮される。
また、 前記符号化ステップは、 ブロック内で前記複数のテーブルを切 リ替えて符号化することを特徴とする構成と してもよく、 前記係数値は 一次元化された 「 0」 以外の係数値であることを特徴とする構成として もよい。
また、 前記符号化が非算術符号化であることを特徴とするのが好まし い。 これによつて、 符号化に用いるテーブルが決まるとそのテーブルを 参照するだけで可変長符号に符号化することができる。
また、 各前記テーブルは、 係数値の最小値における符号長が各前記テ 一ブルにそれぞれ付与される番号の順番に長くなリ、 係数値の最大値に おける符号長が前記番号の順番に長くならないように係数値に対する符 号長の変化率を異ならせて構成されるのが好ましい。 また、 各前記亍ー ブルは、 係数値の増加分に対する符号長の増加率が、 各前記テーブルに それぞれ付与される番号の順番に小さくなるように構成されるのも好ま しい。 これによつて、 各テーブルごとに符号長が短くなる範囲を割り当 てることができるので、 符号化効率の向上を確実に実現できる。
また、 前記符号化ステップは、 予め設定された係数値の絶対値に対す るしきい値に基づいて各前記テーブルを切り替えるのが好ましい。 これ によって、 亍一ブルの切り替えのタイ ミングを簡単に判断でき、 符号化 効率の向上を実現できる。
また、 前記係数値走査ステップは、 前記係数値を高周波数成分から低 周波数成分に向かう順序で走査するのが好ましい。 これによつて、 係数 の絶対値が 「 1 J 付近から段々大きくなる傾向が強いので、 ブロック内 の最初の係数値を符号化するのに用いるテーブルを決定しやすく したり . 各テーブルの構成を簡単に決めることができたり、 しきい値を決定しや すく したりすることができる。
さらに、 前記符号化ステップは、 符号化対象の係数の絶対値がしきい 値を超えると、 符号化対象の係数の符号化に用いたテーブルから当該テ —ブルに付与された番号より番号の大きなテーブルに切り替えて次の係 数値を符号化するのが好ましい。 これによつて、 次の係数値を符号化す るときに符号長を短くすることができるので、 符号化効率の向上を実現 できる。
また、 本発明に係る可変長復号化方法は、 動画像における画像データ を所定の大きさを有するブロック単位で周波数変換した各ブロック内の 係数値を符号化して生成された可変長符号を復号化する可変長復号化方 法であって、 復号化に用いる複数のテーブルを切り替えて、 各前記プロ ック内の可変長符号を所定の順番に係数値に復号化する復号化ステツプ と、 前記復号化ステップによって生成された係数値に基づいて前記プロ ック内の係数値を生成する係数生成ステップとを含むことを特徴とする, これによつて、 高圧縮符号化された符号を正しく復号化することができ る。
ここで、 各前記テーブルの切り替え方向が一方向であることを特徴と してもよい。
また、 前記復号化ステップは、 ブロック内で前記複数のテーブルを切 リ替えて符号化することを特徴と してもよい。
また、 前記係数値は、 一次元化された 「 0」 以外の係数値であること を特徴と してもよい。
また、 前記復号化が非算術復号化であることを特徴と してもよい。 また、 各前記テーブルは、 係数値の最小値における符号長が各前記テ 一ブルにそれぞれ付与される番号の順番に長くなり、 係数値の最大値に おける符号長が前記番号の順番に長くならないように係数値に対する符 号長の変化率を異ならせて構成されることを特徴と してもよい。
また、各前記テーブルは、係数値の増加分に対する符号長の増加率が、 各前記テーブルにそれぞれ付与される番号の順番に小さくなることを特 徴と してもよい。
また、 前記復号化ステップは、 予め定められた係数値の絶対値に対す るしきい値に基づいて各前記テーブルを切り替えることを特徴と しても よい。
また、 前記係数生成ステップは、 前記係数値を高周波成分から低周波 成分に向かう順序で走査することを特徴と してもよい。
さらに、 前記符号化ステップは、 復号化された係数の絶対値がしきい 値を超えると、 復号化対象の可変長符号の復号化に用いたテーブルから 当該テーブルに付与された番号より番号の大きなテーブルに切り替えて 次の可変長符号を係数値に復号化することを特徴と してもよい。
なお、 本発明は、 このような可変長符号化方法や、 可変長復号化方法 と して実現することができるだけでなく、 このような可変長符号化方法 や、 可変長復号化方法が含む特徴的なステップを手段とする可変長符号 化装置や、 可変長復号化装置と して実現したり、 可変長符号化方法や、 可変長復号化方法が含む特徴的なステップを用いた動画像の符号化方法 や、 復号化方法として実現したり、 それらのステップをコンピュータに 実行させるプログラムと して実現したりすることもできる。 そして、 そ のようなプログラムは、 C D— R O M等の記録媒体やインタ一ネッ ト等 の伝送媒体を介して配信することができるのはいうまでもない。 図面の簡単な説明
図 1 は、 本発明の実施の形態 1 に係る可変長符号化方法および動画像 符号化方法を用いた符号化装置の機能構成を示すブロック図である。 図 2は、 図 1 に示される可変長符号化部の詳細な機能構成を示すプロ ック図である。
囡 3は、 図 2に示される R L列生成部が実行する処理を説明するため の模式図である。
図 4は、 R L列生成部が生成した R L列および図 2に示される並べ替 え部が実行する並べ替え処理を説明するための模式図である。
図 5は、 図 2に示されるテーブル記憶部が保持するコード亍一ブルの —例を示す図である。 図 6は、 図 2に示されるテーブル記憶部が保持する可変長符号テープ ルの一例を示す図である。
図 7は、 R L列生成部が生成した R L列および並べ替え部が実行する 並べ替え処理の他の例を説明するための模式図である。
図 8は、 本発明の実施の形態 2に係る可変長復号化方法および動画像 復号化方法を用いた復号化装置の機能構成を示すブロック図である。 図 9は、 図 8に示される可変長復号化部の詳細な機能構成を示すプロ ック図である。
図 1 0は、 図 9に示されるコ一ド変換部が生成した R L列および並べ 替え部が実行する並べ替え処理を説明するための模式図である。
図 1 1 は、 図 9に示される係数生成部が実行する処理を説明するため の模式図である。
図 1 2は、 コード変換部が生成した R L列および並べ替え部が実行す る並べ替え処理の他の例を説明するための模式図である。
図 1 3は、 本発明の第 3の実施の形態における符号化装置の構成を示 すブロック図である。
図 1 4は、同上の可変長符号化部の内部構成を示すブロック図である。 図 1 5は、 同上の量子化部から出力される係数ブロックを模式的に示 す模式図である。
図 1 6は、 同上の R L列生成部から出力される R L列を模式的に示す 模式図である。
図 1 7は、 同上の確率テーブルの切り替え方法を示す遷移図である。 図 1 8は、 同上の確率テーブルの内容を示す確率テーブル内容表示図 である。
図 1 9は、 本発明の第 4の実施の形態における画像復号化装置の構成 を示すブロック図である。 図 2 0は、同上の可変長復号化部の内部構成を示すブロック図である。 図 2 1 は、 2値化テーブルの一例を示すテーブル図である。
図 2 2は、 本発明の実施の形態 5に係る可変長符号化方法および動画 像符号化方法が適用される符号化装置の機能構成を示すブロック図であ る。
図 2 3は、 図 2 2に示される可変長符号化部の詳細な機能構成を示す プロック図である。
図 2 4は、 囡 2 3に示される R列 , L列生成部が生成する L列および R列の一例を示す図である。
図 2 5は、 図 2 3に示される記憶部が保持する各可変長符号テーブル の構成例を示す図である。
図 2 6は、 図 2 3に示される記憶部が保持するしきい値テーブルの構 成例を示す図である。
図 2 7は、 図 2 3に示されるコード割リ当て部が実行する可変長符号 の割り当て処理を示すフローチャートである。
図 2 8は、 符号化に用いられる可変長符号テーブルと しきい値との関 係を示す図である。
図 2 9は、コード割り当て部の符号化処理の様子を示す模式図である。 図 3 0は、 本発明の実施の形態 6に係る可変長復号化方法および動画 像復号化方法を用いた復号化装置の機能構成を示すプロック図である。 図 3 1 は、 図 3 0に示される可変長復号化部の詳細な機能構成を示す ブロック図である。
図 3 2は、 実施の形態 1 , 3 , 5の動画像符号化方法または実施の形 態 2, 4 , 6の動画像復号化方法を実行するためのプログラムを格納し たフレキシブルディスクを用いて、 コンピュータシステムにより実施す る場合の説明図である。 図 3 3は、 コンテンツ配信サービスを実現するコンテンツ供給システ ムの全体構成を示すブロック図である。
図 3 4は、 本発明に係る動画像予測方法、 動画像符号化装置および動 画像復号化装置を用いた携帯電話を示す図である。
図 3 5は、 本発明に係る携帯電話の構成を示すブロック図である。 図 3 6は、 本発明に係るデジタル放送用システムの全体構成を示すブ ロック図である。 発明を実施するための最良の形態
以下、 本発明に係る実施の形態を図面を参照して説明する。
(実施の形態 1 )
図 1 は、 本発明の動画像符号化方法が適用される符号化装置の機能構 成を示すブロック図である。 なお、 この実施の形態 1 では、 本発明の動 画像符号化方法で入力画像をフ レーム内符号化処理する場合の機能構成 が図示されている。
同図に示されるように、 符号化装置 1 0 0 aは、 ブロック変換部 1 1 0と、 周波数変換部 1 2 0と、 量子化部 1 3 0と、 可変長符号化部 1 4 0とから構成される。 なお、 このような符号化装置 1 0 0 aを構成する 各部は、 C P U、 C P Uによって実行されるプログラムやデータを予め 格納する R O M、 プログラム実行の際にワークエリアを提供したり、 入 力画像等を一時的に格納するメモリ等により実現される。
ブロック変換部 1 1 0は、 入力画像を水平 4画素、 垂直 4画素の大き さを有するプロックに分割し、 各画素プロックごとに周波数変換部 1 2 0に出力する。
周波数変換部 1 2 0は、 入力された画素ブロックに対して周波数変換 を施し、 周波数係数に変換する。 そして、 周波数変換部 1 2 0は、 変換 された周波数係数を量子化部 1 3 0に出力する。
量子化部 1 3 0は、入力された周波数係数に対して量子化処理を行う。 ここで量子化処理とは、 周波数係数値を所定の量子化値によって除算す る処理に相当する処理を意味する。 この量子化値は、 一般的にブロック ごと、 周波数帯域ごとによって異なる。 量子化された周波数係数は可変 長符号化部 1 4 0に入力される。
可変長符号化部 1 4 0は、 所定サイズのブロック (水平 4画素、 垂直 4画素) の周波数係数値を可変長符号化する。
図 2は、 可変長符号化部 1 4 0の詳細な機能構成を示すブロック図で ある。
図 2に示すように可変長符号化部 1 4 0は、 R L列生成部 1 4 1 、 並 ベ替え部 1 4 2、 コード割り当て部 1 4 3、 テーブル記憶部 1 4 4とか ら構成される。
量子化部 1 3 0から出力された量子化された周波数係数は、 R L列生 成部 1 4 1 に入力される。
R L列生成部 1 4 1 は、 まず量子化された周波数係数値を所定の走査 方法で一次元化する。 そして、 R L列生成部 1 4 1 は、 一次元化された 係数値に対して、 連続する係数値 「 0」 の個数 Rとそれに続く 「 0」 以 外の係数値しとの組み合わせ (以下、 R L値と呼ぶ) の列 (以下、 R L 列と呼ぶ) を生成する。 その例を図 3、 図 4を用いて説明する。
図 3 ( a ) は、 量子化部 1 3 0か 出力された量子化された 1 ブロッ ク内の周波数係数を示す図である。 ここで、 左上の係数が直流成分を示 すと し、 右に向かうほど水平方向の周波数成分が高くなり、 下に向かう ほど垂直方向の周波数成分が高くなる。 図 3 ( b ) は、 量子化された周 波数係数値を一次元化する際の走査方法を示す図である。 R L列生成部 1 4 1 は、 低周波数領域から高周波数領域に向かって走査することによ リ、 一次元化を行う。
そして、 R L列生成部 1 4 1 によって一次元化された係数値に対して、 R L列を生成した結果が図 4 ( a ) に示されるようになる。 ここで図 4 ( a ) の中で、 E O B ( E n d O f B I o c k ) とはブロック中の それ以降の係数値がすべて 「 0」 であることを示す識別子である。 一般 的に高周波数成分ほど係数値が 「 0」 になりやすいので、 低周波数領域 から高周波数領域に向かって走査することによリ、 R L列の情報量を小 さくすることができる。 生成された R L列は並べ替え部 1 4 2に入力さ れる。
並べ替え部 1 4 2は、入力された R L列を逆方向に並べ直す。ただし、 E O Bは並べ替えの対象からは除外する。 並べ替えた後の状態は図 4 ( b ) に示されるようになる。 このように並べ替えられた R L列は、 コ ード割り当て部 1 4 3に入力される。
テーブル記憶部 1 4 4は、 R L値とこの R L値に対して割り当てられ るコ一ド番号とを対応付けたテーブル(コードテーブル、図 5參照) と、 コード番号と可変長符号とを対応付けた複数種類のテーブル (可変長符 号テーブル、 図 6 ) 等とを予め保持する。
コ一ド割リ当て部 1 4 3は、 テーブル記憶部 1 4 4に保持されている テーブルを用いて R L列の各組に対して可変長符号を割り当てる。
具体的には、 コード割り当て部 1 4 3は、 まず、 R L値に対してコー ド番号を割り当てる。 この際には、 テーブル記憶部 1 4 4に保持されて いる予め定められたコードテーブル (図 5参照) を用いてコード番号へ の変換を行う。
図 5は、 コードテ一ブルの一例を示す図である。
このコードテーブルは、 一般に R L値の頻度が大きいほど小さなコー ド番号が割り当てられるが、 一般には R、 L共に小さい値ほど頻度が高 くなるので、 この性質を利用して構成される。 このコー ドテーブルを用 いた場合、 例えば最初の R L値 ( 0、 一 1 ) はコード番号 Γ 2 J となる。 また 2番目〜 5番目の R L値 ( 1 、 1 )、 (0、 — 2 )、 ( 0、 3 )、 ( 0、 4 ) は、 それぞれコード番号 「 3」、 「 8」、 「 1 3 J、 Γ 1 5」 となる。 そして、 コード割り当て部 1 4 3は、 続いてコード番号を可変長符号 に変換する。 この可変長符号への変換の際には、 テーブル記憶部 1 44 に保持されている複数の可変長符号テーブル (図 6参照) を用いて可変 長符号への変換を行う。
図 6は、 可変長符号テーブルの一例を示す図である。
この実施の形態 1 においては、 可変長符号テーブルは 2種類保持され て構成される。
第 1 の可変長符号テーブル 1 および第 2の可変長符号テーブル 2はコ -ド番号が大きくなるにつれて可変長符号長が長くなるように構成され る一方、 可変長符号テーブル 1 は、 可変長符号テーブル 2と比較して、 コード番号が小さいときに可変長符号長が短くなるように構成され、 可 変長符号テ一ブル 2は、 可変長符号テーブル 1 と比較して、 コード番号 が大きいときに可変長符号長が短くなるように構成される。 すなわち、 小さなコード番号では可変長符号テーブル 1 の方が短い符号が割リ当て られ、 大きなコード番号では可変長符号テーブル 2の方が短い符号が割 リ当てられる構成となっている。
1 番目の R L値に対しては、 可変長符号テーブル 1が用いられる。 そ して、 この場合は、 1 番目の R L値のコード番号は 「 2」 であるので、 この際の可変長符号は 「 0 1 1 」 となる。 そして順に可変長符号への変 換を行っていき、 Lの絶対値がしきい値を超えると、 次の R L値以降で は可変長符号テーブル 2を用いる。 ここで Lの絶対値に対するしきい値 を 「 2 J とすると、 4番目の R L値 ( 0、 3 ) でしきい値を超えること になる。 したがって、 1 〜 4番目の R L値に対しては、 可変長符号テー ブル 1 を用いて変換を行い、 5番目以降の R L値に対しては、 可変長符 号テーブル 2を用いて変換を行うことになる。
ここで、 7番目の R L値 ( 1 、 2 ) で しの絶対値が再びしきい値以下 となるが、 可変長符号テーブル 1 への切り替えは行わず、 可変長符号亍 —ブル 2を用いて変換する。 つまり、 テーブルの切り替え方向が、 一方 向である。 ここで、 一方向とは、 一旦使い終えたテーブルを再使用しな いことをいう。 これによつて、 係数値によって、 テーブルが頻繁に入れ 替わることが防止され、 テーブルの切り替え回数が減る。 高周波数成分 から低周波数成分に向けて一次元化した場合、 一般的にしの絶対値は増 加傾向にある。 したがって、 Lの絶対値が一度しきい値を超えた場合、 その後の Lの絶対値が再度そのしきい値を下回ったとしても、 しきい値 を下回るのはその係数のみである場合が多い。 よって、 Lの絶対値が再 度しきい値を下回ったとしても、 再び元の可変長符号テーブルは用いな いようにすることにより、 符号化効率を向上させることができる。 例え ば、 メモリのワークェリァが限られるので次に使用するテーブルだけを ワークエリアに置くのが一般的である。 この場合には、 テーブルを切り 替えるごとに R O Mから次のテ一ブルを読み出してワークエリアに展開 するのに時間がかかるので、 次の係数値の符号化まで時間がかかる。 こ のため、一方向とすることによって、テーブルの切り替え回数を制限し、 次の係数値の符号化までの時間を トータルとして短縮できるという効果 が発揮される。
また、 R L列生成部 1 4 1 では係数値列の係数値を低周波数成分から 高周波数成分に向かう順序で走査し、 コ一ド割リ当て部 1 4 3では、 係 数値列の後ろから順番に可変長符号に符号化するようにしているのは、 係数の絶対値が 「 1 」 付近から段々大きくなる傾向が強いので、 ブロッ ク内の最初の係数値を符号化するのに用いるテーブルを決定しやすく し たり、 各亍一ブルの構成を簡単に決めることができたり、 しきい値を決 定しゃすく したりすることができるからである。
以上のように、 本実施の形態 1 の可変長符号化方法は、 ブロック内の 周波数係数値を低周波数域から高周波数域に向けて走査し一次元化する, そして、 一次元化された係数値に対して、 連続する係数値 「 0」 の個数 Rとそれに続く 「 0」 以外の係数値 Lとの組み合わせである R L値の列 を生成する。 そして、 R L値を走査順とは逆順に可変長符号に変換して いく。 つまり、 R L値を直接可変長符号に変換してもよい。 可変長符号 に変換する際には、可変長符号テーブルを複数用意する。そして、まず、 第 1 の可変長符号テーブルを用いて変換を行い、 Lの絶対値がしきい値 を超えると、 以降の R L値に対しては第 2の可変長符号テーブルを用い て変換を行う。 この際には、 第 1 の可変長符号テーブルは、 第 2の可変 長符号テーブルと比較して、 コード番号が小さいときに可変長符号長が 短くなる構成と し、 第 2の可変長符号テーブルは、 第 1 の可変長符号テ 一ブルと比較して、 コード番号が大きいときに可変長符号長が短くなる 構成とする。
一般に低周波数成分ほどしの絶対値は大きくなるため、 低周波数域か ら高周波数域に走査して R L値を生成したのとは逆順に R L値を可変長 符号に変換していく と、 Lの絶対値は大きくなつていく。
したがって、 Lの絶対値がしきい値を超えた後に、 コード番号が大き いとき、 すなわち Lの絶対値が大きいときに可変長符号長が短くなる可 変長符号亍一ブルを用いることにより、 合計の符号量を小さくすること ができる。 つまり、 Lを Rと別個に、 且つ複数の可変長符号テーブルを 用いて符号化することによつても、 Lについての合計の符号量を小さく することができる。 なお、 本実施の形態 1 では、 フレーム内符号化により画像を符号化す る場合について説明したが、 これは動画像入力に対して動き補償等を用 いてフ レーム間符号化をする場合であってもよく、 本実施の形態の方法 により、 同様の効果が得られる。
また、 本実施の形態 1 では、 入力画像を水平 4画素、 垂直 4画素のブ 口ックに分割する場合について説明したが、 プロックの大きさは他の大 きさであってもよい。
また、 本実施の形態 1 では、 ブロック内の走査方法と して図 3 ( b ) を用いて説明したが、 これは低周波数域から高周波数域への走査であれ ば他の走査順序であってもよい。
また、 本実施の形態 1 では、 コードテーブルの例と して図 5を用いて 説明したが、 これは他のコードテーブルであってもよい。
また、 本実施の形態 1 では、 可変長符号テーブルの例と して図 6を用 いて説明したが、 これは他の亍一ブルであってもよい。
また、 可変長符号テーブルを 2つ用いる場合について説明したが、 こ れは可変長符号亍一ブルを 3つ以上用い、 複数のしきい値を用いて、 各 しきい値を超える度に可変長符号テーブルを切り替えるようにしてもよ い。
また、 本実施の形態では、 Lの絶対値がしきい値を超えた場合に、 可 変長符号テーブルを切り替える場合について説明したが、 これはコード 番号がしきい値を超えた場合に、 可変長符号テーブルを切り替えても、 同様の効果が得られる。
また、 本実施の形態では、 R L列の最後に E O Bを付加する場合につ いて説明したが、これは R L列の最初に R L値の個数を付加してもよい。 この場合の図 4に対応する、 符号化すべき R L値の個数、 および R L列 は、 図 7 ( a )、 図 7 ( b ) のようになる。 また、 図 5に示すコードテ一 ブルにおいて、 E O Bへのコード番号の割り当ては不要となる。
(実施の形態 2 )
図 8は、 本発明の実施の形態に係る可変長復号化方法が適用される復 号化装置の機能構成を示すブロック図である。 なお、 ここでは、 実施の 形態 1 で説明した本発明の可変長符号化方法によリ生成された符号列が 入力されるとする。
図 8に示されるように、 復号化装置 5 O 0 aは、 可変長復号化部 5 1 0 と、 逆量子化部 5 2 0 と、 逆周波数変換部 5 3 0 と、 フ レームメモリ 5 4 0とから構成される。 なお、 このような復号化装置 5 0 0 aを構成 する各部は、 符号化装置 1 0 0 aと同様に C P U、 C P Uによって実行 されるプログラムやデータを予め格納する R O M、 プログラム実行の際 にワークエリアを提供したり、 入力符号化列等を一時的に格納するメモ リ等によリ実現される。
符号列は可変長復号化部 5 1 0に入力される。 可変長復号化部 5 1 0 は、 可変長符号化された符号列を復号化する。 この符号列は、 上記した ように、 画像データを所定の大きさを有するブロック単位で分割し、 前 記ブロックの周波数係数値を、 所定の走査順序で一次元化し、 連続する 係数値が 0である係数の連続数 Rと、 それに続く係数値しとの組み合わ せ (R L値) の列を符号化することにより生成されている。
図 9は、 可変長復号化部 5 1 0の詳細な機能構成を示すプロック図で ある。
図 9に示すように可変長復号化部 5 1 0は、 コー ド変換部 5 1 1 と、 テーブル記憶部 5 1 2と、 並べ替え部 5 1 3と、 係数生成部 5 1 4とか ら構成される。
テーブル記憶部 5 1 2は、 テーブル記憶部 1 4 4の場合と同様に構成 され、 コー ド番号と可変長符号とを対応付けた複数種類のテーブル (可 変長符号テーブル、 図 6 ) と、 テーブル記憶部 1 4 4の場合と同様に構 成され、 R L値とこの R L値に対して割り当てられるコード番号とを対 応付けたテーブル (コードテーブル、 図 5参照) 等とを予め保持する。 コ―ド変換部 5 1 1 は、 テーブル記憶部 5 1 2に保持されているテー ブル (複数の可変長符号テーブル) を用いて、 まず入力された符号列に 対して、 可変長符号からコード番号への変換を行う。 コード番号への変 換は、 複数の可変長符号テーブルを用いて行う。 この可変長符号テープ ルは亍一ブル記憶部 5 1 2に保持されておリ、 テーブル記憶部 5 1 2を 参照することによリコ一ド番号への変換を行う。
可変長符号テーブルの一例を図 6を用いて説明する。 可変長符号テー ブルは 2種類保持されている。 小さなコード番号では可変長符号テープ ル 1 の方が短い符号が割リ当てられ、 大きなコード番号では可変長符号 テーブル V L Cの方が短い符号が割り当てられる構成となっている。 こ こでは、 入力符号列の先頭部の符号が 「 0 1 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 0 0 0 1 0 0 1 1 J であるとする。 1番目の可変長符号 に対しては、 可変長符号テーブル 1 が用いられる。 今、 図 6の可変長符 号テーブル 1 を参照した場合、 入力符号列に一致するのは、 可変長符号 「0 1 1 J であり、 この場合のコー ド番号は 「 2」 となる。
次にコード変換部 5 1 1 では、 得られたコード番号を R L値に変換す る。 この際には、 予め定められたコードテーブルを用いて行う。 コード テーブルはテーブル記憶部 5 1 2に保持されており、 テーブル記憶部 5 1 2を参照することにより R L値への変換を行う。 コードテーブルの一 例を図 5に示す。 この場合のコード番号は 「 2 J であるので、 R L値は ( 0、 - 1 ) となる。
同様にして、可変長符号からコード番号への変換を順に行っていく と、 可変長符号テーブル 1 を用いて、 可変長符号 「 0 0 1 0 0」 がコード番 号 「 3 J に、 可変長符号 Γ 00 0 1 0 0 1 j がコード番号 「 8 J に、 可 変長符号 「 00 0 1 1 1 O J がコード番号 「 1 3 J に変換され、 さらに それぞれのコード番号は R L値 ( 1 、 1 )、 ( 0、 — 2 )、 ( 0、 3 ) に変 換される。
ここで、 コ一ド変換部 5 1 1 は、 得られた R L値のうち、 Lの絶対値 がしきい値を超えると、 以降の可変長符号の変換では、 可変長符号テー ブル 2を用いる。ここでしの絶対値に対するしきい値を Γ 2 Jとすると、 4番目の R L値 ( 0、 3 ) でしきい値を超えることになる。 したがって、 これ以降の R L値に対しては、 可変長符号亍ーブル 2を用いて変換を行 うことになる。 よって、 次の可変長符号 「0 0 1 00 1 1 J は、 コード 番号 1 5に変換され、 さらに R L値 ( 0、 4 ) に変換される。
また、 以降の復号化において得られた R L値のうち、 Lの絶対値が再 びしきい値以下となっても、 可変長符号テーブル 1 への切り替えは行わ ず、 可変長符号テーブル 2を用いて変換を行う。 以上のようにして、 1 ブロック分の R L値が生成されると ( E O Bが検出されると)、 それらは 並べ替え部 5 1 3に入力される。 ここでは、 図 1 0 ( a ) の R L列が生 成されたとする。
並べ替え部 5 1 3は、入力された R L列を逆方向に並べ直す。ただし、 E O Bは並べ替えの対象からは除外する。 並べ替えた後の状態は図 1 0 ( b ) となる。 このように並べ替えられた R L列は係数生成部 5 1 4に 入力される。
係数生成部 5 1 4は、 入力された R L列を係数値に変換し、 所定の走 査方法で係数ブロックに二次元化する。 この係数値への変換の際には、 所定の走査順序に基づいて、 Rで示された値だけ係数値 Γ 0 Jを生成し、 その次にしで示された値の係数値を生成する、 を繰り返すことにより、 R L列から係数値への変換を行う。 ここでは、 低周波数領域から高周波 数領域に向かってジグザグに走査するとすると、 図 1 0 ( b ) の R L列 は図 1 1 に示される係数ブロックに変換されることになる。 生成された 係数ブロックは逆量子化部 5 2 0に入力される。
逆量子化部 5 2 0は、 入力された係数ブロックに対して、 逆量子化処 理を行う。 ここで逆量子化処理とは、 係数値に所定の量子化値を積算す る処理に相当する処理を意味する。 ここで量子化値は、 一般的にブロッ クごと、周波数帯域ごとによって異なっており、符号列中から得られる、 または所定の値を用いるものとする。 逆量子化された係数プロックは逆 周波数変換部 5 3 0に入力される。
逆周波数変換部 5 3 0は、 逆量子化された係数プロックに対して、 逆 周波数変換を施し、 画素ブロックに変換する。 変換された画素ブロック はフレームメモリ 5 4 0に入力される。
フ レームメモリ 5 4 0には、 復号化された画素プロックが順に蓄積さ れ、 1 画面分の画素ブロックが蓄積されると、 出力画像として出力され る。
以上のように、 本発明の可変長復号化方法は、 入力符号列をまず第 1 の可変長符号テーブルを用いて復号化し、 連続する係数値 0の個数 Rと それに続く 0以外の係数値 Lとの組み合わせである R L値の列を生成す る。 そして、 Lの絶対値がしきい値を超えると、 それ以降の可変長符号 の復号化には、 第 2の可変長符号テーブルを用いる。 そして、 R L値を 逆順に並べ替えた後、 ブロック内の所定の走査順に基づいて、 R L値を 係数値に変換する。
以上の動作により、 本発明の可変長復号化方法を用いることにより、 本発明の可変長符号化方法を用いて符号化された符号列を正しく復号化 することが可能となる。
なお、 本実施の形態 2では、 フ レーム内符号化により生成された符号 列を復号化する場合について説明したが、 これは動画像入力に対して動 き補償等を用いてフレーム間符号化をして生成された符号列を復号化す る場合であってもよく、 本実施の形態の方法により、 同様の効果が得ら れる。
また、 本実施の形態 2では、 入力画像が水平 4画素、 垂直 4画素のブ ロックに分割されて符号化されている場合について説明したが、 ブロッ クの大きさは他の大きさであってもよい。
また、 本実施の形態 2では、 ブロック内の走査方法と して図 1 1 を用 いて説明したが、 これは符号化の際に用いた走査方法と同じであれば、 他の走査順序であってもよい。
また、 本実施の形態 2では、 コードテーブルの例として図 5を用いて 説明したが、これは符号化の際に用いたコードテーブルと同じであれば、 他のコ一ドテーブルであってもよい。
また、 本実施の形態 2では、 可変長符号テーブルの例と して図 6を用 いて説明したが、 これは符号化の際に用いた可変長符号テーブルと同じ であれば、 他のテーブルであってもよい。 また、 可変長符号亍一ブルを 2つ用いる場合について説明したが、 これは可変長符号テーブルを 3つ 以上用い、 複数のしきい値を用いて、 各しきい値を超える度に可変長符 号テーブルを切り替えるようにしてもよい。 ただし、 この際の可変長符 号テーブルの構成およびしきい値は、 符号化の際に用いたものと同じで なければならない。
また、 本実施の形態 2では、 Lの絶対値がしきい値を超えた場合に、 可変長符号テーブルを切り替える場合について説明したが、 これはコー ド番号がしきい値を超えた場合に、 可変長符号テーブルを切り替えても 同様の効果が得られる。
また、 本実施の形態 2では、 R L列の最後に E O Bを付加されて符号 化されている符号列を復号化する場合について説明したが、 これは R L 列の最初に R L値の個数を付加されて符号化されている符号列を復号化 してもよい。 この場合の図 1 0に対応する、 復号化により得られる R L 値の個数、 および R L列は、 図 1 2 ( a )、 図 1 2 ( b ) のようになる。 またこの際、 図 5に示すコードテーブルにおいて、 E O Bへのコ一ド番 号の割り当ては不要となる。
以上のように本発明の可変長符号化方法では、 ブロック内の周波数係 数値を低周波数域から高周波数域に向けて走査し一次元化する。そして、 —次元化された係数値に対して、 連続する係数値 0の個数 Rとそれに続 く 0以外の係数値しとの組み合わせである R L値の列を生成する。 そし て、 R L値を走査順とは逆順に可変長符号に変換していく。 可変長符号 に変換する際には、可変長符号テーブルを複数用意する。そして、まず、 第 1 の可変長符号テーブルを用いて変換を行い、 Lの絶対値またはコー ド番号がしきい値を超えると、 以降の R L値に対しては第 2の可変長符 号テーブルを用いて変換を行う。 この際には、 第 1 の可変長符号テープ ルは、 第 2の可変長符号テーブルと比較して、 コード番号が小さいとき に可変長符号長が短くなる構成と し、 第 2の可変長符号テーブルは、 第 1 の可変長符号テーブルと比較して、 コード番号が大きいときに可変長 符号長が短くなる構成とする。
一般に低周波数成分ほど Lの絶対値ゃコード番号は大きくなるため、 低周波数域から高周波数域に走査して R L値を生成したのとは逆順に R L値を可変長符号に変換していく と、 Lの絶対値は大きくなつていく。 したがって、 Lの絶対値がしきい値を超えた後に、 コー ド番号が大きい ときに可変長符号長が短くなる可変長符号テーブルを用いることによリ 合計の符号量を小さくすることができる。
また、 本発明の可変長復号化方法は、 入力符号列をまず第 1 の可変長 符号テーブルを用いて復号化し、 連続する係数値 0の個数 Rとそれに続 < 0以外の係数値しとの組み合わせである R L値の列を生成する。 そし て、 Lの絶対値またはコード番号がしきい値を超えると、 それ以降の可 変長符号の復号化には、 第 2の可変長符号テーブルを用いる。 そして、 R L値を逆順に並べ替えた後、 ブロック内の所定の走査順に基づいて、 R L値を係数値に変換する。
以上の動作により、 本発明の可変長復号化方法を用いることにより、 本発明の可変長符号化方法を用いて符号化された符号列を正しく復号化 することが可能となる。
(実施の形態 3 )
以下、 本発明の第 3の実施の形態における符号化装置について図面を 参照しながら説明する。
図 1 3は、 本発明の第 3の実施の形態における符号化装置 1 O O bの 構成を示すブロック図である。
この符号化装置 1 O O bは、 入力画像 (画像データ) に対して符号化 効率を向上してピクチヤ内符号化処理を行うものであって、 ブロック変 換部 1 0 1 、 周波数変換部 1 0 2、 量子化部 1 0 3、 および可変長符号 化部 1 5 0を備えている。
ブロック変換部 1 0 1 は、 入力画像を水平 4 X垂直 4画素の大きさの 画素ブロックに分割して周波数変換部 1 0 2に出力する。
周波数変換部 1 0 2は、 分割された上記各画素ブロックに対して、 周 波数変換を施して周波数係数を生成する。そして周波数変換部 1 0 2は、 生成された周波数係数を量子化部 1 0 3に出力する。
量子化部 1 0 3は、 周波数変換部 1 0 2から出力された周波数係数に 対して、 量子化処理を行う。 ここで量子化処理とは、 周波数係数を所定 の量子化値によって除算することに相当する処理を意味する。 また量子 化値は、 一般的に画素ブロックごと、 周波数帯域ごとによって異なる。 そして量子化部 1 0 3は、 量子化された周波数係数を可変長符号化部 1 5 0に出力する。
可変長符号化部 1 5 0は、 量子化部 1 03で量子化された周波数係数 を可変長符号化する。
図 1 4は、可変長符号化部 1 5 0の内部構成を示すブロック図である。 この図 1 4に示すように、 可変長符号化部 1 5 0は、 R L列生成部 2 0 1 、 並べ替え部 2 0 2、 2値化部 2 0 3、 テーブル記憶部 2 0 4、 お よび算術符号化部 2 0 5を備えている。
R L列生成部 2 0 1 は、 量子化部 1 0 3から出力された量子化された 周波数係数 (以下、 「係数 j と略す) を所定の走査方法で一次元化する。 そして、 R L列生成部 2 0 1 は、 一次元化された係数に対して、 連続す る係数の値 「 0」 の個数 Rとそれに続く Γθ」 以外の係数の値しとの組 み合わせ (以下、 「R L値 J と称す) の列 (以下、 「 R L列」 と称す) を 生成する。 その例を図 1 5、 図 1 6を用いて説明する。
図 1 5の ( a ) は、 量子化部 1 0 3から出力される複数の係数により 構成される係数ブロックを示す。 ここで、 係数ブロック内の左上の周波 数係数が直流成分を示し、 右に向かうほど水平方向の周波数成分が高く なり、 下に向かうほど垂直方向の周波数成分が高くなる。
図 1 5の ( b ) は、 係数ブロック内の複数の係数を一次元化する際の 走査方法を説明するための説明図である。 R L列生成部 2 0 1 は、 図 1 5の ( b ) の矢印で示すように、 係数ブロック内を低周波数領域から高 周波数領域に向かって走査することにより、 係数の一次元化を行う。 図 1 6の( a )は、 R L列生成部 20 "I から出力される R L列を示す。 この図 1 6の ( a ) の中で、 最初の数字は係数の個数を示す。 一般的 に高周波数領域ほど係数の値が 「 0 J になりやすいので、 低周波数領域 から高周波数領域に向かって走査することにより、 R L列の情報量 (の うちの個数 Rの情報量) を小さくすることができる。 生成された R L列 は並べ替え部 2 0 2に入力される。
並べ替え部 2 0 2は、入力された R L列を逆方向に並べ直す。ただし、 係数の個数は並べ替えの対象からは除外する。
図 1 6の( b )は、並び替え部 2 0 2で並ぴ替えられた R L列を示す。 このように並び替えることで、上述のように情報量を小さく しながらも、 結果的に、 係数プロック内を高周波数領域から低周波数領域に向かって 走査して係数の一次元化が行われたことになる。 そして、 このように並 ベ替えられた R L列は 2値化部 2 0 3に出力される。
2値化部 2 0 3は、 係数の個数および各 R L値に対して、 2値化、 す なわち 「 0」 や 「 1 」 からなる 2値化データへの変換を行う。 ここで、 個数 Rと係数値しとはそれぞれ別に 2値化される。
図 1 6の ( c ) は、 並び替え部 2 0 2で並び替えられた R L列の係数 値 Lのみを示す。 これらの係数値 Lに対しては、 その絶対値と正負符号 とが別に処理される。 また 2値化部 2 0 3は、 例えば図 2 1 に示すよう な予め定められた 2値化テーブルを用いて、 個数 Rと係数値 Lの絶対値 に対して 2値化を行う。 そして 2値化部 2 0 3は、 これらに対して 2値 化を施された 2値化データを算術符号化部 2 0 5に対して出力する。 算術符号化部 2 0 5は、 2値化データとして表される個数 R値および 係数値しの絶対値に対して 2値算術符号化を行うとともに、 係数値しの 正負符号に対しても符号化を行う。 ここでは、 係数値しの絶対値の算術 符号化について説明する。 算術符号化部 2 0 5は、 2値化データとして 表される係数値しの絶対値に算術符号化を施す場合には、 複数の確率亍 —ブルを切り替えて用いる。 これら複数の確率テーブルはテーブル記憶 部 2 0 4に記憶されている。 図 1 7は、 確率テーブルの切り替え方法を示す遷移図である。
この図 1 7に示すように、 算術符号化部 2 0 5は確率テーブルを 4つ 用い、 先頭の係数値しの絶対値に対しては、 ¾ί率テーブル 1 を用いてこ れを算術符号化する。そして、それ以降の係数値しの絶対値に対しては、 算術符号化部 2 0 5は、 直前の係数値しの絶対値を符号化する際に用い られた確率テーブルのテーブル番号と、 その絶対値とに応じて、 使用さ れる確率テーブルを切り替える。 ここで、 4つの確率テーブルは、 確率 テーブル 1 、確率テーブル 2、確率テーブル 3、確率テーブル 4であり、 確率テーブル 1 のテーブル番号は「 1 J、確率テーブル 2のテーブル番号 は 「 2」、 確率テーブル 3のテーブル番号は 「 3」、 確率亍一ブル 4のテ 一ブル番号は Γ 4」 である。
具体的に、 直前の係数値しの絶対値が確率テーブル 1 を用いて符号化 され、 且つその絶対値が 「 1 j の場合、 または、 直前の係数値しの絶対 値が確率テーブル 2を用いて符号化され、 且つその絶対値が Γ 1 j の場 合には、 確率テーブル 2が用いられる。 直前の係数値しの絶対値が確率 テーブル 1 を用いて符号化され、 且つその絶対値が 「 2」 の場合、 また は、 直前の係数値しの絶対値が確率テーブル 2を用いて符号化され、 且 つその絶対値が 「 2」 の場合、 または、 直前の係数値 Lの絶対値が確率 テーブル 3を用いて符号化され、 且つその絶対値が 「 2以下」 の場合に は、 確率テーブル 3が用いられる。 直前の係数値 Lの絶対値が Γ 3以上」 の場合、 または、 直前の係数値しの絶対値が確率テーブル 4を用いて符 号化されている場合には、 確率テーブル 4が用いられる。
このように確率亍一ブルの切リ替えは、 テーブル番号が小さい確率テ —ブルからテーブル番号が大きい確率テーブルへの一方向であり、 直前 の係数値しの絶対値が所定のしきい値以下となっても、 逆方向への切り 替えは行われない。 これが従来例とは異なる点である。 図 1 8は、 上記 4つの確率テーブル 1 〜 4の内容を示す確率亍一ブル 内容表示図である。
確率テーブル 1 〜 4のそれぞれは、 図 1 8に示すように、「 0」 の発生 する確率と、 「 1 _| の発生する確率とから構成される。
例えば確率テーブル 1 は、 Γ 0 J の発生する確率 Γ 0. 1」 と、 Γ 1 」 の発生する確率 「0. 9」 とから構成され、 確率テーブル 2は、 「0」 の 発生する確率 「 0. 2」 と、 Γ 1 j の発生する確率 Γ 0. 8 J とから構成 されている。
つまり、 係数値 Lの絶対値が 「 2」 であれば、 この 「 2」 が 2値化さ れたものが 「 0 1 」 であるため、 算術符号化部 2 0 5は、 これを確率テ —ブル "! を用いて算術符号化するときには、 上記 「 0 1 」 の 「 0J に対 応する確率 「 0. 1 J と、 上記 「 0 1 」 の 「 1 」 に対応する確率 Γ 0. 9 J とを用いて、 この 「 0 1 」 を算術符号化する。
ここで、 「 0」 が発生する確率と 「 l j の発生する確率との合計は 1 . 0であるので、 両者の確率を保持しておく必要はなく、 一方の確率のみ を保持してもよい。
図 1 6の ( c ) に示す係数値 Lの絶対値 ( 2値化されたもの) が符号 化される場合における、 確率テーブルの切り替え例を以下に説明する。 算術符号化部 2 0 5は、最初の係数値 L (一 2 )の絶対値に対しては、 確率テーブル 1 を用いる。 ここで係数値 Lの絶対値が 2であるので、 算 術符号化部 2 0 5は、 使用される確率テーブルを確率テーブル 1 から確 率テーブル 3に遷移させる。 これにより算術符号化部 2 0 5は、 2番目 の係数値 L ( 3 ) の絶対値を確率亍一ブル 3を用いて算術符号化する。 ここでの係数値 Lの絶対値は「 3 Jであるので、算術符号化部 2 05は、 使用される確率テーブルを確率テーブル 3から確率テーブル 4に遷移さ せる。 これにより算術符号化部 2 0 5は、 3番目の係数値 ( 6 ) の絶対 値を確率テーブル 4を用いて算術符号化する。 ここで使用される確率テ 一ブルが確率テーブル 4に遷移されたので、 算術符号化部 2 0 5は、 以 降の係数値しの絶対値をすベて確率テーブル 4を用いて算術符号化する 例えば、 5番目の係数値しの絶対値は 「 2」 となるが、 従来例とは異な リ、 算術符号化部 2 0 5は、 6番目以降の係数値 Lの絶対値を算術符号 化するときには、確率テーブルを遷移させずに確率テーブル 4を用いる。 また、 各確率テーブルは、 入力が Γ 0 J であるか Γ 1 j であるかによ つて随時更新されるため、 入力に適応した確率テーブルに更新されてい
< 。
以上のように、 本発明に係る画像の符号化装置 1 0 0 bの可変長符号 化部 1 5 0における可変長符号化方法は、 係数ブロック内の係数を低周 波数領域から高周波数領域に向けて走査して一次元化する。 そして、 一 次元化された係数に対して、 連続する係数値 「 0」 の個数 Rとそれに続
< 「 0」 以外の係数値しとの組み合わせである R L値の列 ( R L列) を 生成する。 そして、 R L値を走査順とは逆順に可変長符号に変換してい く。 可変長符号に変換する際には、 個数 R、 係数値しの絶対値、 係数値 Lの正負符号を個別に変換する。 これらの変換の際には、 まず 2値化を 行い、 その後、 算術符号を施す。 係数値 Lの絶対値に対して算術符号を 施す際には、 複数の確率テーブルを切り替える。 確率テーブルを切リ替 える際には、 現在の確率テーブルの亍一ブル番号および係数値 Lの絶対 値によって、 次の係数値しの絶対値を符号化する際の確率テーブルを決 定する。 そして、 確率テーブルの遷移は一方向のみとし、 係数値しの絶 対値が一度所定の値を超えると、 それ以降はすべて同じ確率テーブルで 算術符号化を行う。
一般に低周波数領域ほど係数値しの絶対値は大きいため、 高周波数領 域から低周波数領域の順に走査すると、 係数値しの絶対値は順に大きく なっていく ことが多い。 したがって、 係数値しの絶対値が一度所定の値 を超えると、 それ以降は係数値しの絶対値が所定値よリも小さく なった としても、 小さくなるのはその係数値しの絶対値だけである可能性が非 常に高く、 同じ確率テーブルを用いて算術符号化することにより、 確率 テーブルの更新が入力に適応しやすくなり、 それによリ各確率テーブル のシンボル ( 2値化データの Γ 0」 または Γ 1 」) の発生確率に偏リが生 じやすくなる (すなわち、 r 0」または r 1 jのいずれかの発生確率が 1 .
0に近い値になる)。算術符号化は、確率テーブル内の確率値に偏リが生 じるほど、 符号化効率が高くなる特徴を有する。 よって、 本発明の可変 長符号化方法を用いることにより、 符号化効率の改善を図ることができ る。
以上、 本発明に係る画像符号化装置について本実施の形態を用いて説 明したが、 本発明はこれらに限定されるものではない。
例えば、 本実施の形態では、 ピクチャ内符号化により画像を符号化す る場合について説明したが、 これは動画像入力に対して動き補償等を用 いてピクチャ間符号化をする場合であってもよく、 同様の効果が得られ る。
また、 本実施の形態では、 入力画像を水平 4 X垂直 4画素の画素プロ ックに分割する場合について説明したが、 その画素ブロックの大きさは 他の大きさであってもよい。
また、 本実施の形態では、 係数ブロック内の走査方法として図 1 5の ( b ) を用いて説明したが、 これは低周波数領域から高周波数領域への 走査であれば他の走査順序であってもよい。
また、 本実施の形態では、 R L列生成部 2 0 1 が、 量子化された周波 数係数を所定の走査方法で一次元化し、 一次元化された係数に対して、 連続する係数値 「 0」 の個数 Rとそれに続く 「 0」 以外の係数値しとの 組み合わせの列 (R L列) を生成する場合について説明したが、 個数 R の列と係数値しの列とを個別に生成してもよい。 例えば、 係数値しの列 を生成する場合、 高周波数領域から低周波数領域に向かって走査し、 係 数値が 0以外の係数を選択することにより生成すれば、 並べ替え部 2 0 2を省く ことができる。
また、 本実施の形態では 4つの確率テーブルを用い、 図 1 7に示す遷 移図に基づいて確率テーブルが遷移する場合について説明したが、 確率 テーブルの数や、 図 1 7における遷移の際の、 係数値 Lの絶対値に対す るしきい値は他の値であってもよい。
また、 本実施の形態では、 2値化テーブルの例として図 2 1 を用いて 説明したが、 これは他のテ一ブルであってもよい。
また、 本実施の形態では、 算術符号化部が 2値算術符号を行う場合に ついて説明したが、 多値算術符号を行ってもよい。 この場合、 2値化部 2 0 3を省く ことができる。
(実施の形態 4 )
以下、 本発明の第 4の実施の形態における画像復号化装置について図 面を参照しながら説明する。
図 1 9は、 本発明の第 4の実施の形態における復号化装置 5 0 0 bの 構成を示すブロック図である。
この復号化装置 5 0 0 bは、 画像データがピクチャ内符号化処理され た符号列に対し、 ピクチャ内復号化処理を行うものであって、 可変長復 号化部 6 0 1 、 逆量子化部 6 0 2、 逆周波数変換部 6 0 3、 およびフ レ ームメモリ 6 0 4を備えている。 ここで入力される上記符号列は、 例え ば、 実施の形態 3の符号化装置 1 0 0 bの可変長符号化方法により生成 されたものであって、 まず可変長復号化部 6 0 1がこれを取得する。 可変長復号化部 6 0 1 は、 符号列を取得すると、 この符号列に対して 可変長復号化することで図 1 5の ( a ) に示すような複数の係数から構 成される係数ブロックを作成する。
逆量子化部 6 0 2は、 可変長復号化部 6 0 1 から上記係数ブロックを 取得すると、 この係数ブロックに対して逆量子化処理を行う。 ここで逆 量子化処理とは、 係数ブロックの各係数に所定の量子化値を積算するこ とを意味する。 ここで量子化値は、 一般的に個々の係数ブロックや周波 数帯域ごとによって異なっており、 符号列中から得られる。 そして逆量 子化部 6 0 2は、 逆量子化された係数プロックを逆周波数変換部 6 03 に出力する。
逆周波数変換部 6 0 3は、 逆量子化された係数ブロックに対して、 逆 周波数変換を施し、 係数ブロックを画素ブロックに変換する。 そして逆 周波数変換部 6 0 3は、 変換された画素ブロックをフレームメモリ 6 0 4に出力する。
フ レームメモリ 60 4は、 復号化された画素プロックを順に蓄積し、 1 画面分の画素ブロックが蓄積されると、 これらの画素ブロックを出力 画像と して出力する。
ここで上述の可変長復号化部 6 0 1 について詳細に説明する。
図 1 40は、 可変長復号化部 6 0 1 の内部構成を示すブロック図であ る。
この図 20に示すように可変長復号化部 60 1 は、 算術復号化部 7 0
1 、 多値化部 7 0 2、 テーブル記憶部 7 0 3、 並べ替え部 7 0 4、 およ び係数生成部 7 0 5を備えている。
テーブル記憶部 7 0 3は、 例えば図 1 8に示すような 4つの確率テー ブル 1 ~ 4を保持している。
算術復号化部 7 0 1 は、 符号列を取得すると、 まずこの符号列に対し て、 算術復号化を行う。 ここでは、 符号列に含まれる符号化された係数 値しの絶対値 ( 2値化されたもの) に対する 2値算術復号化について説 明する。
算術復号化部 7 0 1 は、 符号化された係数値 Lの絶対値に対して算術 復号化を行う際には、 既に復号化されて多値化された直前の係数値しの 絶対値を多値化部 7 0 2から取得し、 その係数値しの絶対値に応じてテ 一ブル記憶部 7 0 3に保持されている確率亍一ブル 1〜4を図 1 7に示 すように切り替えて用い、 符号化された各係数値しの絶対値を 2値算術 復号化してこれらに対応する 2値化データを出力する。
多値化部 7 0 2は、 算術符号化部 7 0 1 から出力される 2値化データ に対して、 例えば図 2 1 に示すような 2値化テーブルを用いることで多 値化し、 係数値しの絶対値とする。 そして多値化部 7 0 2は、 係数値し の絶対値を算術復号化部 7 0 1 と並べ替え部 7 0 4に出力する。
このような算術復号化部 7 0 1 および多値化部 7 0 2の詳細な動作に ついて説明する。
まず算術復号化部 7 0 1 は、 符号化された先頭の係数値しの絶対値を 確率テーブル 1 を用いて算術復号化する。 そして、 算術復号化部 7 0 1 は、 算術復号化して得られた 2値化データを多値化部 7 0 2に対して出 力する。 多値化部 7 0 2は、 2値化亍一ブルを用いることで 2値化デー タから係数値しの絶対値への変換を行い、 その絶対値を算術復号化部 7 0 1 および並べ替え部 7 0 4に対して出力する。
次に、 算術復号化部 7 0 1 は、 それ以降の符号化された係数値 Lの絶 対値に対しては、 直前の符号化された係数値しの絶対値を 2値算術復号 化する際に用いられた確率テーブルのテーブル番号と、 多値化部 7 0 2 から取得された直前の係数値しの絶対値によって、 使用される確率テー ブルを切り替える。 図 1 7に示すように、 直前の符号化された係数値し の絶対値が確率テーブル 1 を用いて算術復号化され、 且つ多値化部 7 0 2から取得された直前の係数値 Lの絶対値が 「 1 j の場合、 または、 直 前の符号化された係数値しの絶対値が確率テーブル 2を用いて算術復号 化され、 且つ多値化部 7 0 2から取得された直前の係数値しの絶対値が Γ 1 J の場合には、 確率テーブル 2が用いられる。 直前の符号化された 係数値 Lの絶対値が確率テーブル 1 を用いて算術復号化され、 且つ多値 化部 7 0 2から取得された直前の係数値しの絶対値が 「 2」 の場合、 ま たは、 直前の符号化された係数値しの絶対値が確率テーブル 2を用いて 算術復号化され、 且つ多値化部 7 0 2から取得された直前の係数値しの 絶対値が 「 2 J の場合、 または、 直前の符号化された係数値 Lの絶対値 が確率テーブル 3を用いて算術復号化され、 且つ多値化部 7 0 2から取 得された直前の係数値しの絶対値が 「 2以下 J の場合には、 確率テープ ル 3が用いられる。 多値化部 7 0 2から取得された直前の係数値しの絶 対値が 「 3以上 J の場合、 または、 直前の符号化された係数値しの絶対 値が確率テーブル 4を用いて算術復号化されている場合には、 確率テー ブル 4が用いられる。 このように確率テーブル 1 〜 4の切り替えは、 テ 一ブル番号が小さい確率テーブルからテーブル番号が大きい確率テ一ブ ルへの一方向であり、 多値化部 7 0 2から取得された直前の係数値しの 絶対値が所定のしきい値以下となっても、 逆方向への切り替えは行われ ない。 これが従来例とは異なる点である。
図 1 6の( c )に示す係数値しの絶対値に復号化される場合における、 確率テーブルの切り替え例を以下に説明する。
算術復号化部 7 0 1 は、 最初の符号化された係数値 L (一 2 ) の絶対 値に対しては、 確率亍一ブル 1 を用いて 2値化データ 「 0 1 」 に算術復 号化する。 ここで、 算術復号化部 7 0 1 は、 その 2値化データ 「 0 1 J に対して多値化された 「 2」 を多値化部 7 0 2から取得するので、 使用 される確率テーブルを確率テーブル 1 から確率テーブル 3に遷移させる これにより算術復号化部 7 0 1 は、 2番目の符号化された係数値 L ( 3 ) の絶対値を、 確率テーブル 3を用いて 2値化データ 「 0 0 1 J に算術復 号化する。 ここで、 算術復号化部 7 0 1 は、 その 2値化データ Γ Ο Ο 1」 に対して多値化された 「 3 J を多値化部 7 0 2から取得するので、 使用 される確率テーブルを確率テーブル 3から確率テーブル 4に遷移させる, これにより算術復号化部 7 0 1 は、 3番目の符号化された係数値し ( 6 ) の絶対値を、 確率テーブル 4を用いて 2値化データ 「 0 00 00 1」 に 算術復号化する。 ここで使用される確率テーブルが確率テーブル 4に遷 移されたので、 算術復号化部 7 0 1 は、 以降の符号化された係数値しの 絶対値をすベて確率テーブル 4を用いて算術復号化する。 例えば、 5番 目の符号化された係数値 Lの絶対値が復号化され多値化された結果は 「 2 J となるが、 従来例とは異なり、 算術復号化部 7 0 1 は、 6番目以 降の符号化された係数値 Lの絶対値を算術復号化するときには、 確率テ 一ブルを遷移させずに確率テーブル 4を用いる。
以上のような動作により、 1 つの係数ブロック分の係数値 Lの絶対値 および個数 R並びに係数値 Lの正負符号が生成されると、 これらは R L 列と して並べ替え部 7 04に入力される。
並べ替え部 7 0 4は、入力された R L列を逆方向に並べ直す。ただし、 係数の個数は並べ替えの対象からは除外する。 並べ替えた後の状態は図 1 6の ( a ) となる。 そして並べ替え部 70 4は、 このように並べ替え られた R L列を係数生成部 7 05に出力する。
係数生成部 7 0 5は、 入力された R L列を係数プロックに変換する。 この際には、 係数生成部 7 0 5は、 所定の走査順序に基づいて、 個数 R で示された個数だけ値 roj の係数を生成し、 その次に係数値しで示さ れた値の係数を生成することを繰り返すことにより、 R L列から係数ブ ロックへの変換を行う。 ここでは、 係数生成部 7 0 5は、 図 1 5の ( b ) に示すように低周波数領域から高周波数領域に向かってジグザグに走査 し、 図 1 6の ( a ) に示す R L列を、 図 1 5の ( a ) に示す係数ブロッ クに変換する。 そして係数生成部 7 0 5は、 このように生成された係数 ブロックを逆量子化部 6 0 2に出力する。
以上のように、 本発明に係る復^ "化装置 5 0 0 bの可変長復号化部 6 0 1 における可変長復号化方法は、 入力符号列中の、 係数値しの絶対値 の算術復号化を行う場合に、 複数の確率テーブルを切り替える。 確率テ 一ブルを切り替える際には、 現在の確率テーブルのテーブル番号および 復号化によリ得られた係数値しの絶対値によって、 次の係数値 Lの絶対 値を復号化する際の確率テーブルを決定する。 この際の、 確率テーブル の遷移は一方向のみとし、 復号化によ y得られた係数値 Lの絶対値が一 度所定の値を超えると、 それ以降はすべて同じ確率テーブルで算術復号 化を行う。
このように、 本発明の可変長復号化方法を用いることにより、 本発明 の可変長符号化方法を用いて符号化された符号列を正しく復号化するこ とが可能となる。
以上、 本発明に係る復号化装置について、 本実施の形態を用いて説明 したが、 本発明はこれらに限定されるものではない。
例えば、 本実施の形態では、 ピクチャ内符号化により生成された符号 列を復号化する場合について説明したが、 これは動画像入力に対して動 き補償等を用いてピクチャ間符号化をして生成された符号列を復号化す る場合であってもよく、 同様の効果が得られる。
また、 本実施の形態では、 画像データが水平 4 X垂直 4画素の画素ブ ロックに分割されて符号化されている符号列について説明したが、 その 画素ブロックの大きさは他の大きさであってもよい。
また、 本実施の形態では 4つの確率テーブルを用い、 図 1 7に示す遷 移図に基づいて確率テーブルが遷移する場合について説明したが、 確率 テ一ブルの数や、 図 1 7における遷移の際の、 係数値しの絶対値に対す るしきい値は他の値であってもよい。
また、本実施の形態では、係数ブロック内の走査方法として図 1 5 ( b ) を用いて説明したが、 これは符号化の際に用いた走査方法と同じであれ ば、 他の走査順序であってもよい。
また、 本実施の形態では、 2値化テーブルの例と して図 2 1 を用いて 説明したが、これは符号化の際に用いた 2値化テーブルと同じであれば、 他のテーブルであってもよい。
また、 本実施の形態では、 算術復号化部 7 0 1 が 2値算術復号化を行 う場合について説明したが、 これは多値算術復号化を行ってもよい。 こ の場合、 多値化部 7 0 2を省く ことができる。
次いで、 本発明に係るさらに他の実施の形態を、 図面を参照しながら 説明する。
(実施の形態 5 )
図 2 2は、 本発明の可変長符号化方法およびこれを用いた動画像符号 化方法が適用される符号化装置の機能構成を示すブロック図である。 な お、 この実施の形態 5においても、 実施の形態 1 , 3の符号化装置 1 0
0 a , 1 O O b と同様に、 本発明の動画像符号化方法で入力画像をフレ ーム内符号化処理する場合の機能構成が図示されている。 また、 このよ うな符号化装置 1 0 0 cを構成する各部は、 C P U、 C P Uによって実 行されるプログラムやデータを予め格納する R O M、 プログラム実行の 際にワークエリアを提供したり、 入力画像等を一時的に格納するメモリ 等により実現される。
図 2 2に示されるように、 この実施の形態 5に係る符号化装置 1 0 0 cは、 ブロック変換部 1 1 0、 周波数変換部 1 2 0、 量子化部 1 3 0、 可変長符号化部 1 6 0から構成される。
こ こで、 上記実施の形態 1 に係る符号化装置 1 0 0 aでは Rと しのべ ァを複数の可変長符号テーブル (V L C亍一ブル) を用いて符号化する ように構成され、 上記実施の形態 3に係る符号化装置 1 0 0 bではしを Rと別個に複数の確率テーブルを用いて算術符号化するように構成され ていたが、 この実施の形態 5に係る符号化装置 1 0 0 cにおいては、 L を Rと別個に、 且つ複数の可変長符号テーブルを用いて符号化するよう に構成されている点が符号化装置 1 O O a , 1 0 0 bと異なっている。 このため、 符号化装置 1 O O cは、 符号化装置 1 O O a , 1 O O bの可 変長符号化部 1 4 0 , 1 5 0に代えて可変長符号化部 1 6 0を用いて構 成される。 なお、 他の構成については、 符号化装置 1 0 0 a , 1 0 0 b と同一であるのでその説明を省略し、 可変長符号化部 1 6 0について詳 述する。
この可変長符号化部 1 6 0は、 量子化部 1 3 0によって量子化された 周波数係数に基づいて L列と R列とを個別に生成し、 1 次元 V L C切り 替え方式で係数の絶対値 | L | 等の符号列を生成する。
図 2 3は、 可変長符号化部 1 6 0の詳細な機能構成を示すブロック図 である。
図 2 3に示されるように、 可変長符号化部 1 6 0は、 R列 . L列生成 部 1 6 1 と、 コード割り当て部 1 6 3と、 テーブル記憶部 1 6 4とから 構成される。
R列 ' L列生成部 1 6 1 は、 量子化された周波数係数 (以下、 単に 「係 数」 とも記す。) を周波数の低い方から高い方にジグザグスキャンして L 列と R列とを個別に生成する。
具体的には、図 3 ( a )に示されるブロックの係数が入力された場合、 R列 ■ L列生成部 1 6 1 は、 図 3 ( b ) に示されるようにジグザグスキ ヤンする。 そして、 R列 - L列生成部 1 6 1 は、 まず、 L列について、 図 2 4 ( a ) に示されるように、 係数値が 「 0J 以外である Lの個数 m と、その係数の絶対値 I L | の列と、その係数の符号の列とを取得する。 これは、 Rがしに依存するのに対して、 Lは Rに依存せず、 独立に取得 できるからである。 次いで、 R列 ■ L列生成部 1 6 "I は、 図 24 ( b ) に示されるように、 Rの列 ( R列) を生成する。
テーブル記憶部 1 64は、 L列の各係数の絶対値 I L Iを可変長符号 化するための複数 (例えは、 8個) の可変長符号テーブル 1 64 1 a - 1 6 4 1 gと、 係数の絶対値 I L Iに対するしきい値を複数保持し、 係 数の絶対値 | L | に応じて各可変長符号テーブル 1 6 4 1 a〜 1 6 4 1 gを適応的に切り替えるためのしきい値テーブル 1 6 4 2等とを保持し ている。
図 2 5は、 各可変長符号テーブル 1 6 4 1 a - 1 64 1 gの構成例を 示す図である。なお、各可変長符号テーブル 1 6 4 1 a - 1 6 4 1 gは、 実際には係数の絶対値 | L | とその 2値化コードとをそれぞれ対応付け て構成されるが、 同図においては 1 つのテーブルで図示されている。 ここで、 係数の絶対値 I L | の出現頻度が高いほど小さなコード番号 が割り当てられるが、 一般には係数の絶対値 | L | の小さい値ほど出現 頻度が高くなる。 これは、 係数の絶対値 | L | の最大値は映像によって も、 画面の中によっても、 その値が分散し、 同じ値の出現頻度が少ない のに対し、係数の絶対値 I L | の最小値、すなわち高周波成分はほぼ Γ 1 j や 「 2」 程度に集中する傾向が強く、 同じ値の出現頻度が多くなるため である。 一方、 係数の絶対値 | L | と 2値化コードと 1 つの可変長符号 テーブルだけで対応付けてしまうと、 係数の絶対値 I L Iが大きいほど その符号長が非常に長くなつてしまう。 このため、 係数の絶対値 I L I が大きくなつてもその符号長があまり長くならないように、 係数の絶対 値 I L Iに応じて適用される可変長符号テーブル 1 6 4 1 a - 1 6 4 1 gが予め用意される。
各可変長符号テーブル 1 6 4 1 a - 1 6 4 1 gは、 係数値の最小値に おける符号長が各前記テーブルにそれぞれ付与される番号 kの順番に長 くなリ、 係数値の最大値における符号長が番号 kの順番に短くなるよう に係数値に対する符号長の変化率を異ならせて構成される。
より詳しくは、 可変長符号テーブル 1 6 4 1 aは、 各テーブル中で、 係数の絶対値 I L Iが小さいときにはその符号長が一番短く、 係数の絶 対値 I L Iが大きいときにはその符号長が一番長いテーブルである。 す なわち、 可変長符号テーブル 1 6 4 1 aは、 各可変長符号テーブル 1 6 4 1 a〜 1 6 4 1 gの中で、 係数の絶対値 | L | に対する符号長の変化 率が一番大きなテーブルであって、係数の絶対値 I L Iが小さい場合(例 えば、 Γ 1 j 〜 Γ 3」) に適用するのに適している。
可変長符号テーブル 1 6 4 1 gは、 各テーブル中で、 係数の絶対値 I L | が小さいときにはその符号長が一番長く、 係数の絶対値 | L | が大 きいときにはその符号長が一番短いテーブルである。 すなわち、 可変長 符号テーブル 1 6 4 1 gは、 各可変長符号テーブル 1 6 4 1 a - 1 6 4 1 gの中で、 係数の絶対値 I L | に対する符号長の変化率が一番小さな 亍一ブルであって、係数の絶対値 | L | が大きい場合(例えば、 Γ 1 9 3 J 〜) に適用するのに適している。
その間の可変長符号テーブル 1 6 4 1 b〜 1 6 4 1 f は、 1 6 4 1 b 〜 1 6 4 1 f の順に、 係数の絶対値 I L Iが小さいときにはその符号長 が徐々に長くなリ、 係数の絶対値 I L Iが大きいときにはその符号長が 徐々に短くなる亍一ブルである。 すなわち、 可変長符号テーブル 1 6 4 1 b〜 1 6 4 1 f は、 1 6 4 1 b〜 1 6 4 1 f の順に、 係数の絶対値 | L | に対する符号長の変化率が徐々に小さくなる亍ーブルであって、 可 変長符号テーブル 1 6 4 1 bにおいては係数の絶対値 I L I が例えば 「 4」 〜 「 6」 である場合に使用するのに、 可変長符号テーブル 1 6 4 1 cにおいては係数の絶対値 I L I が例えば 「 7 J ~ Γ 1 2 J である場 合に適用するのに、 ·■·、 それぞれ適している。
これによつて、 係数値に応じた符号長の可変長符号を各テーブルに適 応させることが可能となるので、符号化効率を向上させることができる。 つまり、 ある亍一ブルでは係数値が小さい場合に他のテーブルよリも短 い符号長の可変長符号に符号化するようにし、 他のあるテーブルでは係 数値が大きい場合に他のテーブルよリも短い符号長の可変長符号に符号 化するようにし、 係数値に応じてテーブルを切り替えることで、 符号長 を飛躍的に短くすることができる。 さらに、 各テーブルごとに符号長が 短くなる範囲を割り当てることができるので、 符号化効率の向上を実現 できる。なお、符号化が非算術符号化、すなわち V L C方式であるので、 算術符号化のような複雑な処理が不用となリ、 符号化に用いるテーブル が決まるとそのテーブルを参照するだけで簡単に可変長符号に符号化す ることができる。
図 2 6は、 しきい値テーブル 1 6 4 2の構成例を示す図である。
このしきい値テーブル 1 6 4 2は、 可変長符号テーブル 1 6 4 1 a - 1 6 4 1 gの特性に応じて予め設定され、 各可変長符号テーブル 1 6 4 1 a 〜 1 6 4 1 f の切り替えに用いるしきい値を複数保持する。例えば、 可変長符号テーブル 1 6 4 1 a , 1 6 4 1 bの切り替えに対するしきい 値は Γ 4」 に、 可変長符号テーブル 1 6 4 1 b , 1 6 4 1 cの切り替え (遷移) に対するしきい値は 「 7」 に、 ■■■、 可変長符号テーブル 1 6 4 1 f , 1 6 4 1 gの切り替えに対するしきい値は Γ 1 9 3 J に、 それぞ れ設定される。 これによつて、 テーブルの切り替えのタイミングを簡単 に判断でき、 係数の絶対値 | L | に応じた最適なテーブルに切り替える ことが可能となる。
コード割リ当て部 1 6 3は、 テーブル記憶部 1 6 4が保持する可変長 符号テーブル 1 6 4 1 a 〜 1 6 4 1 gおよびしきい値テーブル 1 6 4 2 を用いて、 R列 ■ L列生成部 1 6 1 から出力された係数の絶対値 I L I を R列と個別に可変長符号化し、 2値コードを割り当てる。 すなわち、 コード割り当て部 1 6 3は、 係数の絶対値 | L | を 1次元符号化する。 次いで、 符号化装置 1 0 0 cにおける符号化動作を説明する。 なお、 ブロック変換部 1 1 0〜量子化部 1 3 0の動作については、 上記した符 号化装置 1 0 0 a , 1 0 0 bにおける動作と同じであるのでその動作の 説明を省略し、 可変長符号化部 1 6 0における可変長符号化動作を詳細 に説明する。
量子化部 1 3 0によって量子化された周波数係数は可変長符号化部 1 6 0の R列 - L列生成部 1 6 1 に入力される。
1^列 - L列生成部 1 6 1 は、 まず、 上記図 3 ( b ) の場合と同様に、 ブロック内の量子化された周波数係数値を直流成分の領域から高周波成 分の領域に向かってジグザグスキャンすることによって周波数係数値を 一次元化する。 次いで、 R列 ■ L列生成部 1 6 1 は、 Γ 0 J 以外の係数値 しの列 (以下、 「し列 j とも記す。) と、 連続する係数値 「 0」 の個数 R の列 (以下、 「R列 j とも記す。) とを個別に生成する。 この生成された L列と R列との例を、 図 2 4に示す。 なお、 L列については、 係数の個 数 mと、 係数の絶対値 I L I と、 係数の正負号と、 等に分けられる。 な お、 係数の正負号については、 例えば、 正は Γ 0 J に、 負は Γ 1 j に対 応付けされる。
ここで、一般的に高周波数成分ほど係数値が Γ 0」になりやすいので、 低周波数領域から高周波数領域に向かって走査することにより、 L列の 係数値が Γ 1 」 に近づく。 コード割り当て部 1 6 3は、 R列 ■ L列生成部 1 6 1 によって生成さ れた L列の各 L値をジグザグスキャンと逆順、 すなわち周波数の高い方 から順番に符号化する。 すなわち、 コード割り当て部 1 6 3は、 L の 後ろから順番に可変長符号テーブル 1 6 4 1 a〜 1 6 4 1 gを用いて係 数の絶対値 I L I に対応するハフマン符号(可変長符号)を順次求める。 なお、ジグザグスキャンの順番と逆順にする理由は、高周波領域の Γ 0 J 以外の係数値 「 1 」 近傍に収束に収束し、 符号化に用いる最初のテープ ルを決定しやすく、 可変長符号亍一ブル 1 6 4 1 a - 1 6 4 1 gを作成 しゃすく、 しかも、 しきい値を決定しやすいからである。
コード割り当て部 1 6 3は、 テーブル記憶部 1 6 4に保持されている 種々のテーブルを用いて L列の Lおよび R列の各 Rに対して可変長符号 を割リ当てる。 なお、 コード割リ当て部 1 6 3は、 係数の個数 mについ ても可変長符号を割リ当てたりするが、 ここでは、 係数の絶対値 I L I に対して可変長符号を割り当てる処理を説明する。
図 2 7は、 コード割り当て部 1 6 3が実行する可変長符号の割り当て 処理を示すフローチヤ一 卜である。
コ一ド割リ当て部 1 6 3は、 ブロック内係数値(係数の絶対値 | L | ) の符号化を開始するに当たり R列 , L列生成部 1 6 1 から出力された係 数値の個数 mをセッ 卜する ( S 1 0 1 )。 次いで、 コード割り当て部 1 6 3は、 参照する可変長符号テーブルの初期値と してテーブル番号 kに Γ 0 J をセッ トする ( S 1 0 2 )。 次いで、 コード割り当て部 1 6 3は、 しきい値テーブル 1 6 4 2を参照し、 しきい値 = 4をセッ トする (S 1 0 3 )。
係数の個数 m、 可変長符号亍ーブルの参照先 (この場合、 可変長符号 テーブル 1 6 4 1 a ) およびしきい値の設定が終わると、 コ一ド割リ当 て部 1 6 3は、 R列 ' L列生成部 1 6 1 から出力された係数の絶対値 I L Iを後ろから読み出し (S 1 0 4 )、セッ トされた番号の可変長符号テ —ブルを用いて読み出した係数の絶対値 | L | を可変長符号に符号化し ( S 1 0 5 )。 そして、 符号化が終わると、 コ一ド割リ当て部 1 6 3は、 符号化によって得られた 2値化コー ドを不図示のバッファ (例えば、 F I F Oバッファ) に格納し (S 1 0 6 )、 係数の個数 mを 「 1 j デクリメ ン 卜し ( S 1 0 7 )、 デク リメン トした個数 mが Γ 0」 か否か、 すなわち L列に含まれる係数のすべてを符号化し終わったか否か判断する (S 1 0 8 ) 0
係数の個数 mが Γ 0」 でなければ ( S 1 0 8で N o )、 直前の係数の絶 対値 | L | がしきい値を超えたか否か判断する ( S 1 0 9 )。超えていな ければ ( S 1 0 9で N o )、 コード割り当て部 1 6 3は、 次の係数の絶対 値 I し | を後ろから読み出し (S 1 0 4)、ステップ S I 0 5〜 S 1 0 8 等を実行する。 すなわち、 次の係数の絶対値 I L Iを前と同じ可変長符 号テーブルを用いて符号化する。
直前の係数の絶対値 | L | がしきい値を超えた場合(S 1 0 9で N o ) コード割り当て部 1 6 3は、 テーブル番号 kを 「 1 」 インクリメン トす る (S 1 1 0 )。 これによつて、 次の係数の絶対値 | L | の符号化の際に は、 符号長の変化率がより少ない、 符号長の長い係数の絶対値 I L | の 符号化に適した可変長符号テーブル (例えば、 前の可変長符号テーブル が k = 0の 1 6 4 1 aであれば、 k = 1 の 1 6 4 1 b ) が参照されるこ とになる。
テーブル番号 kのインク リメントが終わると、 コード割り当て部 1 6 3は、 しきい値テーブル 1 6 4 2を参照し、次のしきい値に更新する (例 えば、前のしきい値が「 4 jであれば Γ 7 j) ( S 1 1 1 )。 これによって、 係数の絶対値 | L | が新たなしきい値を超えた場合にだけ、 符号長の変 化率がより少ない、 符号長の長い係数の絶対値 | し | の符号化に適した 030
次の可変長符号テーブルに遷移させることができる。
より詳しくは、 直前の係数の絶対値 I L Iがテーブル番号 Γ 0」 の可 変長符号テーブル 1 6 4 1 aとテーブル番号 「 1 」 の可変長符号テープ ノレ 1 6 4 1 bとの間のしきい値 「4」 を超えた場合、 図 2 8に示される ように、 次の係数の絶対値 I L Iの符号化の際の参照先として、 可変長 符号テーブル 1 6 4 1 aから可変長符号テーブル 1 6 4 1 bへ参照先が 切り替えられ、 しきい値 「 7」 が設定される。
直前の係数の絶対値 I し Iがテーブル番号 Γ 1 j 〜 「 6」 の可変長符 号テーブル 1 6 4 1 b〜 1 6 4 1 g間のしきい値 「 7」 〜 「 1 9 3 J を 超えた場合についても、 しきい値 「 4」 の場合と同様に、 次の係数の絶 対値 I L | の符号化の際の参照先と して、 テーブル番号 「 1 j の可変長 符号テーブル 1 6 4 1 bからテーブル番号 2の可変長符号テーブル 1 6 4 1 cへ、 〜、 可変長符号テーブル 1 6 4 1 gへ順次切り替えられる。 この様子を図 2 8に示す。
ここで、テーブルの切り替え方向は、一方向であり、戻ることはない。 これによつて、 係数値によって、 テーブルが頻繁に入れ替わることが防 止され、 テーブルの切り替え回数が減る。 したがって、 符号化効率を向 上させることができる。 例えば、 メモリのワークエリアが限られるので 次に使用するテーブルだけをワークエリアに置くのが一般的である。 こ の場合には、 テーブルを切り替えるごとに R O Mから次のテーブルを読 み出してワークエリアに展開するのに時間がかかるので、 次の係数値の 符号化まで時間がかかる。 このため、 一方向とすることによって、 テー ブルの切り替え回数を制限し、 次の係数値の符号化まで時間を トータル と して短縮できるという効果が発揮される。
このような、 テーブル番号のインクリメン トと、 しきい値の更新が終 わると、 コード割り当て部 1 6 3は、 次の係数の絶対値 I L I を後ろか ら読み出し ( S 1 0 4)、 ステップ S 1 0 5〜 S 1 0 8等を実行する。 す なわち、 前よりも係数の絶対値 | し | が大きいものに適した可変長符号 テーブルを用いて符号化する。 '
このような処理 (S I 0 4〜 S 1 1 1 ) を係数の個数 mが 「 0」 にな るまで繰り返し実行し、 係数の個数 mが Γ 0 J になると当該ブロック内 の係数の絶対値 I し | の符号化を終了する。
具体的には、 ブロック内における係数の絶対値 | L | の列が後ろから 「 1 J、 「 1 」、 「 2」、 Γ 3」、 Γ 4_|、 Γ 1 2」、 「 2」、 「 3 _1、 「 3 1」、 「 2 2」、 「 5」、 「 9」、 「 3 8 J である場合、 コード割り当て部 1 6 3は、 図 2 9 に示されるように、 まず可変長符号亍一ブル 1 6 4 1 aを用いて 「 1 j、 Γ 1 」、 Γ 2 J、 Γ 3」、 Γ 4 J、 Γ 1 2」 をこの順番に 2値コー ド Γ 1 j、 Γ 1 j、 Γ O 1 0 J、 「 0 1 1 」、 「 0 0 1 00」、 「 0 0 0 1 1 0 0 J にそれぞれ符 号化する。 そして、 係数の絶対値 I L I = 「 1 2 J のコード化の際にし きい値 「 4」 を超えたので、 コ一ド割リ当て部 1 6 3は、 符号化に使用 するテーブルをテーブル番号 k = 1 の可変長符号テーブル 1 6 4 1 bに 切り替える。
次いで、 コ― ド割り当て部 1 6 3は、 切リ替えた可変長符号テーブル 1 64 1 bを用いて次の係数の絶対値 I L I = 「 2」、 「 3」、 「 3 1 」 を この順番に 2値コー ド 「 1 1 」、 Γ 0 1 0 0」、 「 0 00 0 1 0 O O O 0J にそれぞれ符号化する。 そして、 係数の絶対値 | L | = Γ 3 1 J のコ一 ド化の際にしきい値 Γ 7 J を超えたので、 コ―ド割リ当て部 1 6 3は、 符号化に使用するテーブルをテーブル番号 k = 2の可変長符号テーブル 1 64 1 cに切り替える。
さらに、 コ一ド割リ当て部 1 6 3は、 切り替えた可変長符号テーブル 1 64 1 cを用いて次の係数の絶対値 | L | = 「 2 2」 を 2値化コード 「 00 1 1 0 0 1 」 に符号化する。 そして、 係数の絶対値 I し | = Γ 2 2 J のコード化の際にしきい値 Γ 1 3 J を超えたので、 コード割り当て 部 1 6 3は、 符号化に使用するテーブルをテーブル番号 k = 3の可変長 符号テーブル 1 6 4 1 dに切り替える。
次いで、 コ一ド割り当て部 1 6 3は、 切リ替えた可変長符号テーブル 1 6 4 1 dを用いて次の係数の絶対値 I L I = 「 5 J、 「 9」、 「 3 8」 を この順番に可変長符号テーブル 1 6 4 1 dを用いて 2値コード 「 1 1 0 0」、 「 0 1 0 0 0 0」、 「 0 0 1 0 1 1 0 1 J にそれぞれ符号化する。 これによつて、 バッファには、 2値化コード Γ 1 1 0 1 0 0 1 1 0 0 1 0 0 0 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 1 0 1 1 0 1 」 が格納される。
なお、 このバッファには符号化された L列の係数の個数 mや、 係数の 正負号、 R列の R値 2値化コードも格納されており、 バッファに格納さ れた符号化されたし列の係数の個数 m、 係数の絶対値 | L | の 2値化コ 一ド、係数の正負号、 R列の R値 2値化コードは、 C D等の記録媒体や、 インターネッ ト、衛星放送等の伝送媒体を介して復号化装置に送られる。 ここで、上記 L列の係数の絶対値 | L | Γ 1 _|、Γ 1 」、Γ 2」、Γ 3」、Γ 4」、 「 1 2 J、 「 2 J、 「 3 J、 「 3 1 J、 「 2 2 J、 「 5」、 「 9 J、 「 3 8 J を可変長 符号テーブル 1 6 4 1 aだけで符号化した場合を想定すると、 その 2値 化コードは 「 1」、 「 1」、 「 0 1 0」、 「 0 1 1 J、 「 0 0 1 0 0」、 「 0 0 0 1 1 0 0 J、 「 0 1 0 J、 「 0 1 1」、 「 0 0 0 0 1 1 1 1 1 J、 「 0 0 0 0 1 0 1 1 0 J、 「 0 0 1 0 1 」、 「 0 0 1 0 0 1 J、 「 0 0 0 0 0 1 0 0 1 1 0 J となり、 6 4 ビッ トの符号長となる。
これに対して、 本実施の形態 5の符号化方法では、 ブロック内の係数 の絶対値 I L Iの最大値が比較的低く、 しかも係数の絶対値 I L Iが 徐々に上昇しない場合であっても、 6 1 ビッ トの符号長となり、 符号化 効率を上げることができる。 これは、 係数の絶対値 I L Iが例えば Γ 2 2 J、 Γ 3 8 J である場合、 可変長符号テーブル 1 6 4 1 aだけでは、 「 0 0 0 0 1 0 1 1 0J の 9 ビッ ト、 「 0 0 00 0 1 0 0 1 1 0J の 1 1 ビッ トをそれぞれ要するのに対して、 本方式では 「 0 0 1 1 00 1」 の 7 ビ ッ 卜、 Γ 0 0 1 0 1 1 0 1 Jの 8 ビッ トですむことが大きく寄与している。 したがって、 通常のブロック内の係数の絶対値 | L | の最大値が比較的 高く、 係数の絶対値 | L | が徐々に上昇する場合にあっては、 符号化効 率を飛躍的に上げることができる。
なお、 上記実施の形態 5においては、 直前の係数の絶対値 | L | がし きい値を超えると (S 1 0 9で Y e s )、テーブル番号 kを 1 つインクリ メン 卜し (S 1 1 0 )、次の番号の可変長符号テーブルを用いて符号化す るようにしたが(図 2 8参照)、 しきい値を超えた直前の係数の絶対値 | L | によって、 その係数の絶対値 | L | に適応した可変長符号テーブル に跳んで切リ替えるようにしてもよい。 つまり、 例えば番号 k = 1 のテ —ブルを参照して符号化する直前の係数の絶対値 | L | が Γ 2 0」 であ る場合、 その次の係数の絶対値 | L | が 「 2 0」 より大きくなる可能性 が高いので、 その次の係数の絶対値 | L | の符号化には k = 3のテープ ルを参照して符号化するようにしてもよい。 この場合には、 しきい値も その可変長符号テーブルに合致したしきい値 (例えば、 25 ) をセッ ト すればよい。
また、 可変長符号テーブルを 8つ用いる場合について説明したが、 こ れは可変長符号テーブルを 2つ〜 7つ、 または 8つ以上用い、 複数のし きい値を用いて、 各しきい値を超える度に可変長符号テーブルを切リ替 えるようにしてもよい。
また、 本実施の形態 5では、 係数値を絶対値と正負符号とに分けて符 号化し、 係数値の絶対値用の各可変長符号テーブルを正負符号なし (絶 対値) で構成したが、 係数値を正負号付きで符号化してもよく、 その場 合には 2値化コードを正負符号付きで構成すればよい。 この場合には、 例えば可変長符号の L S Bビッ 卜に正負符号を 1 ビッ 卜付加すればよい, また、 本実施の形態 5では、 フレーム内符号化により画像を符号化す る場合について説明したが、 これは動画像入力に対して動き補償等を用 いてフ レーム間符号化をする場合であってもよく、 本実施の形態の方法 により、 同様の効果が得られる。
また、 本実施の形態 5では、 入力画像を水平 4画素、 垂直 4画素のブ ロックに分割する場合について説明したが、 プロックの大きさは他の大 きさであってもよい。
また、 本実施の形態 5では、 ブロック内の走査方法と して図 3 ( b ) を用いて説明したが、 これは低周波数域から高周波数域への走査であれ ば他の走査順序であってもよい。
また、 本実施の形態 5では、 可変長符号テーブルの例として図 2 5を 用いて説明したが、 これは他のテーブルであってもよい。
また、 本実施の形態 5では、 これは L列の最初に L値の個数を付加す る場合について説明したが、 L列の最後に E O Bを付加してもよい。 (実施の形態 6 )
図 3 0は、 本発明の実施の形態に係る可変長復号化方法およびこれを 用いた動画像復号化方法が適用される復号化装置の機能構成を示すプロ ック図である。 なお、 ここでは、 実施の形態 5で説明した本発明の可変 長符号化方法により生成された符号列が入力されるものとして説明する, 図 3 0に示されるように、 復号化装置 5 0 0 cは、 可変長復号化部 5 6 0と、 逆量子化部 5 2 0と、 逆周波数変換部 5 3 0と、 フ レームメモ リ 5 4 0とから構成される。 なお、 こ 0¾ような復号化装置 5 0 0 cを構 成する各部は、 符号化装置 1 0 0 c と同様に C P U、 C P Uによって実 行されるプログラムやデータを予め格納する R O M、 プログラム実行の 際にワークエリアを提供したり、 入力符号化列等を一時的に格納するメ モリ等により実現される。 また、 逆量子化部 5 2 0と、 逆周波数変換部 5 3 0と、 フレームメモリ 5 4 0とは、 上記復号化装置 5 0 0 a, 5 0 0 bの場合と同じであるのでその説明を省略し、 可変長復号化部 5 6 0 の構成を詳述する。
可変長復号化部 5 6 0は、 コ一ド変換部 5 6 1 と、 テーブル記憶部 5 6 2と、 係数生成部 5 6 4とから構成される。
テーブル記憶部 5 6 2は、 可変長符号と係数の絶対値 I L Iとを対応 付けた複数種類 ( 8つ) の可変長符号 (復号) テーブル 5 6 2 1 a ~ 5 6 2 1 gと、 しきい値テーブル 5 6 2 2等とを予め保持する。 なお、 こ の可変長符号テーブル 5 6 2 1 a 〜 5 6 2 1 gは図 2 5に示される可変 長符号テーブル 1 6 4 1 a - 1 6 4 1 g とそれぞれ同じに構成され、 し きい値テーブル 5 6 2 2は図 2 6に示されるしきい値テーブル 1 6 4 2 と同じに構成される。
コード変換部 5 6 1 は、 テーブル記憶部 5 6 2に保持されているテー ブル (可変長符号テーブル 5 6 2 1 a ~ 5 6 2 1 g、 しきい値テーブル 5 6 2 2等) を用いて、 入力された符号列に対して、 可変長符号から L 列の係数の個数 m、 係数の絶対値 I L l 、 R列の R値への変換を行う。 係数の絶対値 I L Iへの変換は、 可変長符号テーブル 5 6 2 1 a〜 5 6 2 1 gを用いて行う。
係数生成部 5 6 4は、 入力されたし列と R列とに基づいて係数値に変 換し、 所定の走査方法で二次元化する。 この係数値への変換の際には、 所定の走査順序に基づいて、 Rで示された値だけ係数値「 0 Jを生成し、 その次に Lで示された値の係数値を生成する、 を繰り返すことにより、 し列と R列から係数値への変換を行う。 ここでは、 低周波数領域から高 周波数領域に向かってジグザグに走査するとすると、 上記した図 1 1 に 示される係数ブロックに変換されることになる。 生成された係数ブロッ クは逆量子化部 5 2 0に入力される。
次いで、可変長復号化部 5 6 0の各部における復号化動作を説明する。 なお、 ここではコー ド変換部 5 6 1 に入力された 2値化コー ド入力符 号列の符号が先頭から順番に Γ 1 j、 Γ 1 j、 Γ 0 1 0 J、 Γ 0 1 1 J、 Γ 00 1 O OJ、 「0 00 1 1 0 0 J、 「 1 1 j、 「 0 1 0 0J、 「 0 0 0 0 1 000 0 0 J、 「 00 1 1 0 0 1 J、 「 1 1 0 0 J、 「 0 1 0 00 0」、 「 0 0 1 0 1 1 0 1 」 であるものと して説明する。
コード変換部 5 6 1 は、 可変長符号の復号化を開始するに当たリ、 符 号化装置 1 0 O cから出力された係数の個数 mを復号化し、 復号化した 係数の個数 mをセッ トする。 次いで、 コード変換部 5 6 1 は、 参照する 可変長符号亍一ブルの初期値としてテーブル番号 kに 「 0」 をセッ トす る。 次いで、 コード割り当て部 1 6 3は、 しきい値テーブル 5 6 2 2を 参照し、 しきい値 = 4をセッ 卜する ( S 1 0 3 )。 係数の個数 m、 可変長 符号テーブルの参照先 (この場合、 可変長符号テーブル 5 6 2 1 a ) お よびしきい値の設定が終わると、 コード変換部 5 6 1 は、 符号化装置 1 00 cから出力された順番に係数の絶対値 | L | を前 (すなわち、 高周 波側) から読み出し、 セッ トされた番号の可変長符号テーブルを用いて 読み出した可変長符号を係数の絶対値 | L | に可変長復号化する。 そし て、 復号化が終わると、 コ一ド変換部 5 6 1 は、 復号化によって得られ た係数の絶対値 I L Iを不図示のバッファ (例えば、 F I L Oバッファ) に格納し、 係数の個数 mを 「 1 J デク リメン トし、 デク リメント後の個 数 mが 「 0」 か否か、 すなわちし列に含まれる係数のすべてを復号化し 終わったか否か判断する。
係数の個数 mが 「 0」 でなければ、 可変長復号化した直前の係数の絶 対値 I L | がしきい値を超えたか否か判断する。 超えていなければ、 コ —ド変換部 5 6 1 は、 次の可変長符号を前ろから読み出し、 前と同じ可 変長符号テーブルを用いて係数の絶対値 I L Iに復号化する。
可変長復号化した直前の係数の絶対値 I L Iがしきい値を超えた場合. コード変換部 5 6 1 は、 テーブル番号 kを 「 1 J インク リ メ ン トする。 これによつて、 次の係数の絶対値 | し | の符号化の際には、 符号長の変 化率がより少ない、 符号長の長い係数の絶対値 | し | の符号化に適した 可変長符号テーブル (例えば、 前の可変長符号テーブルが 56 2 1 aで あれば、 56 2 1 b ) が参照されることになる。 テーブル番号 kのイン クリメン 卜が終わると、 コード変換部 5 6 1 は、 しきい値テーブル 5 6 2 2を参照し、 次のしきい値に更新する (例えば、 前のしきい値が Γ 4 j であれば 「 7 J)。 これによつて、 係数の絶対値 | L | が新たなしきい値 を超えた場合にだけ、 符号長の変化率がより少ない、 符号長の長い係数 の可変長符号の復号化に適した次の可変長符号テーブルに遷移させるこ とができる。
より詳しくは、 1 番目の可変長符号に対しては、 k = 0の可変長符号 テーブル 56 2 1 aを参照する。 今、 可変長符号テーブル 5 6 2 1 a を 参照した場合、 入力符号列に一致するのは、 可変長符号 「 1 」 であり、 この場合の係数の絶対値 I し Iは 「 1 」 となる。 同様にして、 可変長符 号テーブル 5 6 2 1 aを用いて、 可変長符号から係数の絶対値 I L | へ の変換を順に行っていく と、 可変長符号 Γ 1 j が係数の絶対值 I L I = Γ 1 J に、 可変長符号 「 0 1 OJ が係数の絶対値 | L | = .「 3J に、 可 変長符号 「0 0 1 0 0」 が係数の絶対値 I L | = 「4J に、 可変長符号 「0 00 1 1 0 0』 が係数の絶対値 I L | = Γ 1 2 j にそれぞれ変換さ れる。
ここで係数の絶対値 | L | に対するしきい値を 「4J とすると、 6番 目の係数の絶対値 | L | = Γ 1 2 J でしきい値を超えることになる。 し たがって、 コード変換部 5 6 1 は、 以降の可変長符号の係数の絶対値 I L Iへの変換では、 k= 1 である次の可変長符号テーブル 5 6 2 1 bを 用い、 しきい値に 7を設定し、係数の絶対値 | L | に変換する。よって、 次の 7番目の可変長符号 Γ 1 1 」 は、 係数の絶対値 | L | = 「 2」 に変 換される。
次の 8番目の可変長符号 Γ Ο 1 0 0」 は係数の絶対値 | L | = 「 3」 に、 9番目の可変長符号 「 0 0 0 0 1 0 0 0 0」 は係数の絶対値 I L I = 「 3 1 」 に、 それぞれ変換される。 ここで係数の絶対値 | L | に対す るしきい値を 「 7」 とすると、 9番目の係数の絶対値 | L | = Γ 3 1 J でしきい値を超えることになる。 したがって、 コード変換部 5 6 1 は、 以降の可変長符号の係数の絶対値 I L | への変換では、 k = 2である次 の可変長符号テーブル 5 6 2 1 bを用い、 しきい値に 1 3を設定し、 係 数の絶対値 I L | に変換する。 なお、 7番目の係数の絶対値 | L | への 復号化において得られた係数の絶対値 | L | が再びしきい値 7以下とな つても、 可変長符号テーブル 5 6 2 1 aへの切り替えは行わず、 可変長 符号テーブル 5 6 2 1 bを用いて変換を行う。
以上のような処理を繰り返して、 1 ブロック分 (m個) の係数の絶対 値 I L Iが生成されると、 それらは F I L Oバッファによる先入れ後出 しによつて逆順に並べ替えられる。 また、 係数の正負号についても、 F I L Oバッファによる先入れ後出しによって逆順に並べ替えられる。 た だし、 個数は並べ替えの対象からは除外する。 ここでは、 図 2 4 ( a ) に示される L列と同じ順序 (すなわち、低周波から高周波に向かう順序) の列が生成されたとする。 このように並べ替えられたし列の各係数の絶 対値 I L Iは係数生成部 5 6 4に入力される。 なお、 コード変換部 5 6 1 は、 R列の各 Rについても係数の絶対値 | L | と同様な処理によって 復号化し、図 2 4 ( a )に示される R列を係数生成部 5 6 4に出力する。 係数生成部 5 6 4は、 入力されたし列と R列とに基づいて、 係数値に 変換する。 この際には、 所定の走査順序に基づいて、 Rで示された値だ け係数値 「0」 を生成し、 その次に Lで示された値の係数値を正負符号 を付加して生成する、 を繰り返すことにより、 L列と R列とから係数値 への変換を行う。 ここでは、 図 1 1 に示されるように低周波数領域から 高周波数領域に向かってジグザグに走査するとすると、 図 2 4 ( a ) に 示される L列と図 2 4に示される R列とは係数ブロックに変換されるこ とになる。 生成された係数ブロックは逆量子化部 5 2 0に入力される。 以上のように、 本発明の実施の形態 6に係る可変長復号化方法は、 ま ず、 復号化ステップにおいて、 復号化に用いる複数の可変長符号 (復号) テーブルを一方向に切り替えつつ、 切り替えた可変長符号テーブルを用 いて前記符号列の可変長符号を所定の順番に周波数領域に係る 「 0」 以 外の係数値に復号化する。 次いで、 係数値変換ステップにおいて、 生成 された係数値に基づいてブロック内の係数値に変換する。 ここで、 各前 記テーブルは、 最小の係数値における符号長が各前記テーブルにそれぞ れ付与される番号の順番に長くなリ、 最大の係数値における符号長が前 記番号の順番に短くなるように係数値に対する符号長の変化率を異なら せて構成される。 また、 前記しきい値は、 係数値に対応する符号長が他 のテーブルよりも短くなる各テーブルの適応特性に基づいて設定される, 前記符号列の可変長符号は高周波成分から低周波成分に向かう順序で並 ベられ、 前記復号化ステップは、 前記符号列の並びの順番に係数値に復 号化し、 復号化した係数値を符号列の並びの後ろから順番に出力するこ とにより係数値の係数値列を生成し、 前記係数生成ステップは.、 前記係 数値列の並びの順序で係数値を走査する。
前記符号化ステップは、 復号化された係数の絶対値がしきい値を超え ると、 復号化対象の可変長符号の復号化に用いたテーブルから当該テー ブルに付与された番号より番号の大きなテーブルに切り替えて次の可変 長符号を係数値に復号化する。
以上の動作によリ、 本発明の可変長復号化方法を用いることにより、 本発明の可変長符号化方法を用いて符号化された符号列を正しく復号化 することが可能となる。
なお、上記実施の形態 6においては、実施の形態 5の場合にあわせて、 と同様に復号化された直前の係数の絶対値 I L I がしきい値を超えると. テーブル番号 kを 1 つインクリメントし、 次の番号の可変長符号テープ ルを用いて復号化するようにしたが、 符号化の際に用いたテーブルの切 リ替え方法と同じであれば、 しきい値を超えた直前の係数の絶対値 | L I によって、 その係数の絶対値 | L | に適応した可変長符号テーブルに 跳んで切り替えるようにしてもよい。 この場合には、 しきい値もその可 変長符号テーブルに合致したしきい値をセッ トすればよい。
また、 本実施の形態 6では、 可変長符号テーブルの例と して図 2 5を 用いて説明したが、これは符号化の際に用いたテーブルと同じであれば、 他のテーブルであってもよい。 また、 可変長符号テーブルを 8つ用いる 場合について説明したが、 これは可変長符号テーブルを 2つ〜 6つ、 あ るいは 8つ以上用い、 複数のしきい値を用いて、 各しきい値を超える度 に可変長符号テーブルを切り替えるようにしてもよい。 ただし、 この際 の可変長符号テーブルの構成およびしきい値は、 符号化の際に用いたも のと同じでなければならない。
また、 本実施の形態 6では、 係数値を絶対値と正負符号とに分けて符 号化し、 係数値の絶対値用の各可変長符号テーブルを正負符号なし (絶 対値) で構成したが、 係数値を正負号付きで符号化してもよく、 その場 合には 2値化コードを正負符号付きで構成してもよい。 この場合には、 例えば可変長符号の L S Bビッ トに正負符号を 1 ビッ 卜付加すればよい また、 本実施の形態 6では、 Lの値がしきい値を超えた場合に、 可変 長符号テーブルを切り替えるようにしたが、 係数の絶対値 I L 1 の大き い順番 (すなわち、 高周波側からの順番) に復号化する場合には、 番号 の大きい可変長符号テーブルを用いて復号化し、 復号化した係数の絶対 値 I L I がしきい値未満になった場合に、 番号の小さい可変長符号テー ブルに切り替えるようにしてもよい。
また、 本実施の形態 6では、 フ レーム内符号化により生成された符号 列を復号化する場合について説明したが、 これは動画像入力に対して動 き補償等を用いてフ レーム間符号化をして生成された符号列を復号化す る場合であってもよく、 本実施の形態の方法により、 同様の効果が得ら れる。
また、 本実施の形態 6では、 入力画像が水平 4画素、 垂直 4画素のブ ロックに分割されて符号化されている場合について説明したが、 プロッ クの大きさは他の大きさであってもよい。
また、 本実施の形態 6では、 ブロック内の走査方法と して図 1 1 を用 いて説明したが、 これは符号化の際に用いた走査方法と同じであれば、 他の走査順序であってもよい。
(実施の形態 7 )
次に、 本発明に係る可変長符号化方法、 可変長復号化方法、 可変長符 号化装置、 可変長復号化装置、 動画像符号化方法、 動,画像復号化方法、 動画像符号化装置および動画像復号化装置を別の形態で実現した例につ いて説明する。
上記各実施の形態で示した符号化装置または復号化装置の構成を実現 するためのプログラムを、 フレキシブルディスク等の記憶媒体に記録す るようにすることにより、 上記各実施の形態で示した処理を、 独立した コンピュータシステムにおいて簡単に実施することが可能となる。 図 3 2は、 上記実施の形態 1 , 3, 5の動画像符号化方法または実施 の形態 2 , 4, 6の動画像復号化方法の処理を行うためのプログラムを 格納したフレキシブルディスクを用いて、 コンピュータシステムにより 実施する場合の説明図である。
図 3 2 ( b ) は、 フレキシブルディスクの正面からみた外観、 断面構 造、 およびフレキシブルディスクを示し、 図 3 2 ( a ) は、 記録媒体本 体であるフレキシブルディスクの物理フォーマッ トの例を示している。 フレキシブルディスク F Dはケース F内に内蔵され、 該ディスクの表面 には、 同心円状に外周からは内周に向かって複数の 卜ラック T rが形成 され、 各トラックは角度方向に 1 6のセクタ S eに分割されている。 し たがって、 上記プログラムを格納したフレキシブルディスクでは、 上記 フレキシブルディスク F D上に割り当てられた領域に、 上記プログラム としての動画像符号化装置が記録されている。
また、 図 3 2 ( c ) は、 フレキシブルディスク F Dに上記プログラム の記録再生を行うための構成を示す。 上記プログラムをフレキシブルデ イスク F Dに記録する場合は、 コンピュータシステム C sから上記プロ グラムとしての動画像符号化装置または動画像復号化装置をフレキシブ ルディスク ドライブを介して書き込む。 また、 フレキシブルディスク内 のプログラムにより上記動画像符号化装置をコンピュータシステム中に 構築する場合は、 フレキシブルディスク ドライブによりプログラムをフ レキシブルディスクから読み出し、 コンピュータシステムに転送する。 なお、 上記説明では、 記録媒体としてフレキシブルディスクを用いて 説明を行ったが、光ディスクを用いても同様に行うことができる。また、 記録媒体はこれに限らず、 I Cカード、 R O Mカセッ ト等、 プログラム を記録できるものであれば同様に実施することができる。
さらにここで、 上記実施の形態で示した動画像予測方法、 動画像符号 化装置、動画像復号化装置の応用例とそれを用いたシステムを説明する。 図 3 3は、 コンテンッ配信サービスを実現するコンテンッ供給システ ム ex 1 00の全体構成を示すブロック図である。通信サ一ビスの提供ェ リアを所望の大きさに分割し、 各セル内にそれぞれ固定無線局である基 地局 ex 1 0 7〜ex 1 1 0が設置されている。
このコンテンツ供給システム ex 1 00は、例えば、 インターネッ 卜 ex 1 0 1 にインターネッ トサービスプロバイダ ex 1 0 2および電話網 ex 1 0 4、 および基地局 ex1 0 7〜ex1 1 0を介して、 コンピュータ ex 1 1 1 、 P D A (personal digital assistant) ex 1 1 2、 カメラ ex1 1 3、携帯電話 ex 1 1 4、 カメラ付きの携帯電話 ex 1 1 5などの各機器 が接続される。
しかし、 コンテンツ供給システム ex 1 0 0は図 3 3のような組み合わ せに限定されず、 いずれかを組み合わせて接続するようにしてもよい。 また、 固定無線局である基地局 ex 1 0 7 ~ex1 1 0を介さずに、 各機器 が電話網 ex 1 04に直接接続されてもよい。
カメラ ex l 1 3はデジタルビデオカメラ等の動画撮影が可能な機器 である。 また、 携帯電話は、 P D C (Persona I D i gi ta I Gommun i cat i ons) 方式、 C D MA (Code Division Multiple Access) 方式、 W— C D MA ( Wi deband - Code Division Multiple Access ) 方式、 ¾ L < li G S M (Global System for Mobi le Communications) 方式の携帯電話機、 また は P H S (Personal Handyphone System) 等であり、 し、ずれでも構わな い。
また、ス トリーミングサーバ ex 1 0 3は、 カメラ ex 1 1 3から基地局 ex 1 0 9、電話網 ex 1 0 4を通じて接続されておリ、 カメラ ex 1 1 3を 用いてユーザが送信する符号化処理されたデータに基づいたライブ配信 等が可能になる。撮影したデ一タの符号化処理は力メラ ex1 1 3で行つ ても、 データの送信処理をするサーバ等で行ってもよい。 また、 カメラ
1 1 6で撮影した動画データはコンピュータ ex 1 1 1 を介してストリ —ミングサーバ ex 1 0 3に送信されてもよい。カメラ ex 1 1 6はデジタ ルカメラ等の静止画、 動画が撮影可能な機器である。 この場合、 動画デ —タの符号化はカメラ ex l 1 6で行ってもコンピュータ ex 1 1 1 で行 つてもどちらでもよい。 また、 符号化処理はコンピュータ ex l 1 1や力 メラ ex l 1 6が有するし S I ex 1 1 7において処理することになる。な お、 画像符号化 '復号化用のソフ トウェアをコンピュータ ex 1 1 1等で 読み取り可能な記録媒体である何らかの蓄積メディア ( C D— R O M、 フレキシブルディスク、 ハードディスクなど) に組み込んでもよい。 さ らに、 カメラ付きの携帯電話 ex l 1 5で動画データを送信してもよい。 このときの動画データは携帯電話 ex l 1 5が有する L S I で符号化処 理されたデータである。
このコンテンツ供給システム ex 1 0 0では、ユーザがカメラ ex 1 1 3 . カメラ ex 1 1 6等で撮影しているコンテンツ (例えば、 音楽ライブを撮 影した映像等) を上記実施の形態同様に符号化処理してス トリーミング サーバ ex 1 0 3に送信する一方で、ス トリーミングサーバ ex l 0 3は要 求のあったクライアン トに対して上記コンテンツデータをストリーム配 信する。 クライアントとしては、 上記符号化処理されたデータを復号化 することが可能な、 コンピュータ ex 1 1 1 、 P D A ex 1 1 2、 カメラ ex 1 1 3、 携帯電話 ex l 1 4等がある。 このようにすることでコンテンツ 供給システム ex l 0 0は、符号化されたデータをクライアントにおいて 受信して再生することができ、 さらにクライアン 卜においてリアルタイ ムで受信して復号化し、 再生することにより、 個人放送をも実現可能に なるシステムである。
このシステムを構成する各機器の符号化、 復号化には上記各実施の形 態で示した画像符号化装置あるいは画像復号化装置を用いるようにすれ ばよい。
その一例と して携帯電話について説明する。
図 3 4は、 上記実施の形態で説明した動画像予測方法、 動画像符号化 装置および動画像復号化装置を用いた携帯電話 ex 1 1 5を示す図であ る。携帯電話 exl 1 5は、基地局 ex1 1 0との間で電波を送受信するた めのアンテナ ex 2 0 1 、 C C Dカメラ等の映像、 静止画を撮ることが可 能なカメラ部 ex 2 0 3、 カメラ部 ex2 0 3で撮影した映像、 アンテナ ex 2 0 1 で受信した映像等が復号化されたデータを表示する液晶ディス プレイ等の表示部 ex 2 0 2、操作キー ex2 04群から構成される本体部、 音声出力をするためのスピーカ等の音声出力部 ex 2 0 8、音声入力をす るためのマイク等の音声入力部 ex 20 5、撮影した動画もしくは静止画 のデータ、 受信したメールのデータ、 動画のデータもしくは静止画のデ ータ等、 符号化されたデータまたは復号化されたデータを保存するため の記録メディア ex2 0 7、 携帯電話 exl 1 5に記録メディア ex 20 7 を装着可能とするためのスロッ ト部 ex 20 6を有している。記録メディ ァ ex2 0 7は S D力一 ド等のプラスチックケース内に電気的に書換え や消去が可能な不揮発性メ モ リ である E E P R O M (Electrical ly Erasable and Programmable Read Only Memory) の一種であるフラッシ ュメ モリ素子を格納したものである。
さらに、 携帯電話 exl 1 5について図 3 5を用いて説明する。 携帯電 話 exl 1 5は表示部 ex2 0 2および操作キー ex2 04を備えた本体部 の各部を統括的に制御するようになされた主制御部 ex 3 1 1 に対して、 電源回路部 ex 3 1 0、 操作入力制御部 ex3 04、 画像符号化部 ex 3 1 2、 カメ ラインタ一フェース部 ex 3 0 3、 L C D (Li quid Crystal Display) 制御部 ex 3 0 2、 画像復号化部 ex 3 0 9、 多重分離部 ex 3 0 8、 記録再生部 ex 3 0 7、 変復調回路部 ex 3 0 6および音声処理部 ex 3 0 .5が同期バス ex 3 1 3を介して互いに接続されている。
電源回路部 ex 3 1 0は、ユーザの操作によリ終話および電源キーがォ ン状態にされると、 バッテリパックから各部に対して電力を供給するこ とによリカメラ付デジタル携帯電話 ex 1 1 5を動作可能な状態に起動 する。
携帯電話 ex 1 1 5は、 C P U、 R O Mおよび R A M等でなる主制御部 ex 3 1 1 の制御に基づいて、音声通話モード時に音声入力部 ex 2 0 5で 集音した音声信号を音声処理部 ex 3 0 5によってデジタル音声データ に変換し、 これを変復調回路部 ex 3 0 6でスぺク トラム拡散処理し、 送 受信回路部 ex 3 0 1 でデジタルアナログ変換処理および周波数変換処 理を施した後にアンテナ ex 2 0 1 を介して送信する。また携帯電話機 ex 1 1 5は、音声通話モード時にアンテナ ex 2 0 1 で受信した受信信号を 増幅して周波数変換処理およびアナログデジタル変換処理を施し、 変復 調回路部 ex 3 0 6でスぺク 卜ラム逆拡散処理し、音声処理部 ex 3 0 5に よってアナログ音声信号に変換した後、 これを音声出力部 ex 2 0 8を介 して出力する。
さらに、 データ通信モード時に電子メールを送信する場合、 本体部の 操作キー ex 2 0 4の操作によって入力された電子メールのテキス トデ一 タは操作入力制御部 ex 3 0 4を介して主制御部 ex 3 1 1 に送出される。 主制御部 ex 3 1 1 は、テキス トデータを変復調回路部 ex 3 0 6でスぺク トラム拡散処理し、送受信回路部 ex 3 0 1 でデジタルアナログ変換処理 および周波数変換処理を施した後にアンテナ ex 2 0 1 を介して基地局 ex 1 1 0へ送信する。
データ通信モード時に画像データを送信する場合、 カメラ部 ex 2 0 3 で撮像された画像データをカメライ ンターフェース部 ex 3 0 3を介し て画像符号化部 ex 3 1 2に供給する。 また、 画像データを送信しない場 合には、 カメラ部 ex 20 3で撮像した画像データをカメラインターフエ —ス部 ex 3 0 3および L C D制御部 ex 3 0 2を介して表示部 ex 20 2 に直接表示することも可能である。
画像符号化部 ex 3 1 2は、本願発明で説明した画像符号化装置を備え た構成であリ、 カメラ部 ex20 3から供給された画像データを上記実施 の形態で示した画像符号化装置に用いた符号化方法によって圧縮符号化 することにより符号化画像データに変換し、 これを多重分離部 ex 3 08 に送出する。 また、 このとき同時に携帯電話機 ex 1 1 5は、 カメラ部 ex 2 0 3で撮像中に音声入力部 ex20 5で集音した音声を音声処理部 ex 3 0 5を介してデジタルの音声データと して多重分離部 ex 3 0 8に送 出する。
多重分離部 ex3 0 8は、画像符号化部 ex3 1 2から供給された符号化 画像データと音声処理部 ex 3 0 5から供給された音声データ とを所定 の方式で多重化し、 その結果得られる多重化データを変復調回路部 ex 3 0 6でスぺク トラ厶拡散処理し、送受信回路部 ex 3 0 1 でデジタルアナ ログ変換処理および周波数変換処理を施した後にアンテナ ex 20 1 を 介して送信する。
データ通信モード時にホームページ等にリンクされた動画像ファイル のデータを受信する場合、アンテナ ex 2 0 1 を介して基地局 ex 1 1 0か ら受信した受信信号を変復調回路部 ex 3 0 6でスぺク トラム逆拡散処 理し、 その結果得られる多重化データを多重分離部 ex 3 0 8に送出する, また、 アンテナ ex 20 1 を介して受信された多重化データを復号化す るには、 多重分離部 ex3 0 8は、 多重化データを分離することによリ画 像データの符号化ビッ トス 卜リームと音声データの符号化ビッ トス トリ ー厶とに分け、 同期バス ex 3 1 3を介して当該符号化画像データを画像 復号化部 ex 3 0 9に供給すると共に当該音声データを音声処理部 ex 3 0 5に供給する。
次に、 画像復号化部 ex 3. 0 9は、 本願発明で説明した画像復号化装置 を備えた構成であり、 画像データの符号化ビッ トストリームを上記実施 の形態で示した符号化方法に対応した復号化方法で復号することにより 再生動画像データを生成し、 これを L C D制御部 ex 3 0 2を介して表示 部 ex 2 0 2に供給し、 これによリ、 例えばホームページにリンクされた 動画像ファイルに含まれる動画データが表示される。 このとき同時に音 声処理部 ex 3 0 5は、 音声データをアナログ音声信号に変換した後、 こ れを音声出力部 ex 2 0 8に供給し、 これにより、 例えばホームページに リンクされた動画像ファイルに含まる音声データが再生される。
なお、 上記システムの例に限られず、 最近は衛星、 地上波によるデジ タル放送が話題となっておリ、 図 3 6に示すようにデジタル放送用シス テムにも上記実施の形態の少なく とも画像符号化装置または画像復号化 装置のいずれかを組み込むことができる。 具体的には、 放送局 ex 4 0 9 では映像情報の符号化ビッ トストリームが電波を介して通信または放送 衛星 ex 4 1 0に伝送される。 これを受けた放送衛星 ex 4 1 0は、放送用 の電波を発信し、 この電波を衛星放送受信設備をもつ家庭のアンテナ ex 4 0 6で受信し、 テレビ (受信機) ex 4 0 1 またはセッ ト トップボック ス (S T B ) ex 4 0 7などの装置により符号化ビッ トス トリームを復号 化してこれを再生する。また、記録媒体である GDや DVD等の蓄積メディ ァ ex 4 0 2に記録した符号化ビッ トス トリ一ムを読み取リ、復号化する 再生装置 ex 4 0 3にも上記実施の形態で示した画像復号化装置を実装 することが可能である。 この場合、 再生された映像信号はモニタ ex 4 0 4に表示される。 また、 ケーブルテレビ用のケーブル ex 4 0 5または衛 星 Z地上波放送のアンテナ ex 4 0 6に接続されたセッ ト トップボック ス ex 4 0 7内に画像復号化装置を実装し、これをテレビのモニタ ex 4 0 8で再生する構成も考えられる。 このときセッ 卜 トップボックスではな く、 テレビ内に画像復号化装置を組み込んでもよい。 また、 アンテナ ex 4 1 1 を有する車 ex 4 1 2で衛星 ex 4 1 0からまたは基地局 ex 1 0 7 等から信号を受信し、車 e x 4 1 2が有するカーナビゲ一ション ex 4 1 3 等の表示装置に動画を再生することも可能である。
さらに、 画像信号を上記実施の形態で示した画像符号化装置で符号化 し、 記録媒体に記録することもできる。 具体例と しては、 DVD ディスク ex 4 2 1 に画像信号を記録する DVD レコーダや、 ハー ドディスクに記録 するディスクレコーダなどのレコーダ e x 4 2 0がある。 さらに SD力一 ド ex 4 2 2に記録することもできる。レコーダ ex 4 2 0が上記実施の形 態で示した画像復号化装置を備えていれば、 DVDディスク ex 4 2 1 や SD カード ex 4 2 2に記録した画像信号を再生し、モニタ ex 4 0 8で表示す ることができる。
なお、 力一ナビゲ一シヨ ン ex 4 1 3の構成は例えば図 3 6に示す構成 のうち、 カメラ部 ex 2 0 3とカメラインタ一フェース部 ex 3 0 3、画像 符号化部 ex 3 1 2を除いた構成が考えられ、 同様なことがコンピュータ ex 1 1 1 やテレビ (受信機) ex 4 0 1 等でも考えられる。
また、 上記携帯電話 ex 1 1 4等の端末は、 符号化器 ·復号化器を両方 持つ送受信型の端末の他に、 符号化器のみの送信端末、 復号化器のみの 受信端末の 3通りの実装形式が考えられる。
このように、 上記実施の形態で示した可変長符号化方法、 可変長復号 化方法、 これらの方法を用いた可変長符号化装置、 可変長復号化装置、 動画像符号化方法、 動画像復号化方法、 動画像符号化装置および画像復 号化装置を上述したいずれの機器-システムに用いることは可能であり、 そうすることで、 上記実施の形態で説明した効果を得ることができる。 なお、 本発明のすべての実施の形態について、 本発明はかかる上記実 施形態に限定されるものではなく 、 本発明の範囲を逸脱することなく 種々の変形または修正が可能である。
また、 上記実施の形態 1 ~ 6の可変長符号化装置、 可変長復号化装置 においては係数値を低周波成分から高周波成分に向かう順序で走査する ようにしたが、 本発明の変形例として、 係数値を高周波成分から低周波 成分に向かう順序で走査するように構成してもよい。 この場合には、 係 数値の並び替え等の処理を省略することができる。 産業上の利用可能性
本願発明に係る可変長符号化方法および可変長復号化方法は、 携帯電 話機や、 携帯情報端末、 テレビ放送装置、 テレビ受信機またはセッ ト ト ップボックスなどのコンピュータ装置において、 動画像における画像デ ータを所定の大きさを有するブロック単位で周波数変換した各ブロック 内の係数値を符号化したり、 復号化したりするのに適している。

Claims

請 求 の 範 囲
1 . 動画像における画像データを所定の大きさを有するブロック単位 で周被数変換しサこ各ブロック内の係数値を符号化する可変長符号化方法 であって、
前記ブロック内の係数値を所定の順序で走査する係数値走査ステップ 符号化に用いる複数のテーブルを切り替えて、 前記係数値走査ステツ プにより走査された前記係数値を所定の順番に可変長符号に符号化する 符号化ステップと
を含むことを特徴とする可変長符号化方法。
2 . 各前記テーブルの切り替え方向が一方向である
ことを特徴とする請求の範囲第 1 項記載の可変長符号化方法。
3 . 前記符号化ステップは、 ブロック内で前記複数のテーブルを切り 替えて符号化する
ことを特徴とする請求の範囲第 1 項記載の可変長符号化方法。
4 . 前記係数値は、 一次元化された 「 0」 以外の係数値である ことを特徴とする請求の範囲第 1 項記載の可変長符号化方法。
5 . 前記符号化が非算術符号化である
ことを特徴とする請求の範囲第 2項記載の可変長符号化方法。
6 . 各前記テーブルは、 係数値の最小値における符号長が各前記テ一 ブルにそれぞれ付与される番号の順番に長くなリ、 係数値の最大値にお ける符号長が前記番号の順番に長くならないように係数値に対する符号 長の変化率を異ならせて構成される
ことを特徴とする—請求の範囲第 1 項〜第 5項のいずれか 1 項に記載の 可変長符号化方法。
7 . 各前記テーブルは、 係数値の増加分に対する符号長の増加率が、 各前記テーブルにそれぞれ付与される番号の順番に小さくなる
ことを特徴とする請求の範囲第 1 項〜第 5項のいずれか 1項に記載の 可変長符号化方法。
8 . 前記符号化ステップは、 予め設定された係数値の絶対値に対する しきい値に基づいて各前記テーブルを切り替える
ことを特徴とする請求の範囲第 1 項〜第 6項のいずれか 1 項に記載の 可変長符号化方法。
9 . 前記係数値走査ステップは、 前記係数値を高周波数成分から低周 波数成分に向かう順序で走査する
ことを特徴とする請求の範囲第 1 項〜第 8項のいずれか 1 項に記載の 可変長符号化方法。
1 0 . 前記符号化ステップは、 符号化対象の係数の絶対値がしきい値 を超えると、 符号化対象の係数の符号化に用いたテーブルから当該テー ブルに付与された番号より番号の大きなテーブルに切り替えて次の係数 値を符号化する
ことを特徴とする請求の範囲第 9項記載の可変長符号化方法。
1 1 . 動画像における画像データを所定の大きさを有するブロック単 位で周波数変換した各ブロック内の係数値を可変長符号に符号化する可 変長符号化方法を用いた可変長符号化装置であって、
請求の範囲第 1 項〜第 1 0項のいずれか 1 項に記載の可変長符号化方 法によって符号化することを特徴とする可変長符号化装置。
1 2 . 動画像における画像データを所定の大きさを有するブロック単 位で周波数変換した各ブロック内の係数値を可変長符号に符号化するた めのプログラムであって、
請求の範囲第 1 項〜第 1 0項のいずれか 1 項に記載の可変長符号化方 法によって符号化する処理をコンピュータに実行させることを特徴とす るプログラム。
1 3 . 動画像を符号化する符号化方法であって、
動画像における画像データの各画素を所定の大きさを有するブロック 単位で周波数係数に変換する周波数変換ステップと、
請求の範囲第 1 項〜第 1 0項のいずれか 1 項に記載の可変長符号化方 法によって前記ブロック内の係数値を符号化する可変長符号化ステップ を含むことを特徴とする動画像符号化方法。
1 4 . 動画像を符号化する符号化装置であって、
動画像における画像データの各画素を所定の大きさを有するブロック 単位で周波数係数に変換する周波数変換手段と、
請求の範囲第 1 項〜第 1 0項のいずれか 1 項に記載の可変長符号化方 法によって前記プロック内の係数値を符号化する可変長符号化手段と を備えるこ とを特徴とする動画像符号化装置。
1 5 . 動画像を符号化するためのプログラムであって、
動画像における画像データを所定の大きさを有するブロックに分割す るブロック変換ステップと、
前記ブロックの各画素を周波数係数に変換する周波数変換ステップと. 請求の範囲第 1 項〜第 1 0項のいずれか 1 項に記載の可変長符号化方 法によって前記ブロック内の係数値を符号化する可変長符号化ステップ と
をコンピュータに実行させることを特徴とするプログラム。
1 6 . 動画像における画像データを所定の大きさを有するブロック単 位で周波数変換した各ブロック内の係数値を符号化して生成された可変 長符号を復号化する可変長復号化方法であって、
復号化に用いる複数のテーブルを切り替えて、 各前記ブロック内の可 変長符号を所定の順番に係数値に復号化する復号化ステップと、
前記復号化ステップによって生成された係数値に基づいて前記ブロッ ク内の係数値を生成する係数生成ステップと
を含むことを特徴とする可変長復号化方法。
1 7 . 各前記テーブルの切り替え方向が一方向である
ことを特徴とする請求の範囲第 1 6項記載の可変長復号化方法。
1 8 . 前記復号化ステップは、 ブロック内で前記複数のテーブルを切 リ替えて符号化する
ことを特徴とする請求の範囲第 1 6項記載の可変長復号化方法。
1 9 . 前記係数値は、 一次元化された 「0」 以外の係数値である ことを特徴とする請求の範囲第 1 6項記載の可変長復号化方法。
2 0 . 前記復号化が非算術復号化である
ことを特徴とする請求の範囲第 1 6項または第 1 7項記載の可変長復 号化方法。
2 1 . 各前記テーブルは、 係数値の最小値における符号長が各前記亍 一ブルにそれぞれ付与される S号の順番に長くなリ、 係数値の最大値に おける符号長が前記番号の順番に長くならないように係数値に対する符 号長の変化率を異ならせて構成される
ことを特徴とする請求の範囲第 1 6項〜第 2 0項のいずれか 1項に記 載の可変長復号化方法。
2 2 . 各前記テーブルは、係数値の増加分に対する符号長の増加率が、 各前記テーブルにそれぞれ付与される番号の順番に小さくなる
ことを特徴とする請求の範囲第 1 6項〜第 2 0項のいずれか 1 項に記 載の可変長復号化方法。
2 3 . 前記復号化ステップは、 予め定められた係数値の絶対値に対す るしきい値に基づいて各前記テーブルを切り替える
ことを特徴とする請求の範囲第 1 6項〜第 2 1項のいずれか 1 項に記 載の可変長復号化方法。
2 4 . 前記係数生成ステップは、 前記係数値列の並びの順序で係数値 を高周波成分から低周波成分に向かう順序で走査する ことを特徴とする請求の範囲第 1 6項〜第 2 3項のいずれか 1項に記 載の可変長復号化方法。
2 5 . 前記符号化ステップは、 復号化された係数の絶対値がしきい値 を超えると、 復号化対象の可変長符号の復号化に用いた亍一ブルから当 該テーブルに付与された番号よリ番号の大きなテーブルに切リ替えて次 の可変長符号を係数値に復号化する
ことを特徴とする請求の範囲第 2 4項記載の可変長復号化方法。
2 6 . 動画像における画像データを所定の大きさを有するブロック単 位で周波数変換した各ブロック内の係数値を符号化して生成された可変 長符号を復号化する可変長復号化方法を用いた可変長復号化装置であつ て、
請求の範囲第 1 6項〜第 2 5項のいずれか 1 項に記載の可変長復号化 方法によってブロック内の係数値に復号化することを特徴とする可変長 復号化装置。
2 7 . 動画像における画像データを所定の大きさを有するプロック単 位で周波数変換した各ブロック内の係数値を符号化して生成された可変 長符号を復号化するためのプログラムであって、
請求の範囲第 1 6項〜第 2 5項のいずれか 1 項に記載の可変長復号化 方法によって係数値に符号化する処理をコンピュータに実行させること を特徴とするプログラム。
2 8 . 動画像を復号化する復号化方法であって、
請求の範囲第 1 6項〜第 2 5項のいずれか 1項に記載の可変長復号化 方法によって可変長符号をブロック内の周波数領域に係る係数値に復号 化する可変長復号化ステップと、
前記ブロックの周波数係数を画素に変換する逆周波数変換ステップと, メモリに復号化された 1画面分の画素ブロックを順次蓄積させる蓄積 ステップと
を含むことを特徴とする動画像復号化方法。
2 9 . 動画像を復号化する復号化装置であって、
請求の範囲第 1 6 〜 2 5のいずれか 1 項に記載の可変長復号化方法に よって可変長符号をブロック内の周波数領域に係る係数値に復号化する 可変長復号化手段と、
前記ブロックの周波数係数を画素に変換する逆周波数変換手段と、 メモリに復号化された 1画面分の画素プロックを順次保持するメモリ を備えることを特徴とする動画像復号化装置。
3 0 . 動画像を復号化するためのプログラムであって、
請求の範囲第 1 6項〜第 2 5項のいずれか 1 項に記載の可変長復号化 方法によって可変長符号をブロック内の周波数領域に係る係数値に復号 化する可変長復号化ステップと、
前記ブロックの周波数係数を画素に変換する逆周波数変換ステップと メモリに復号化された 1 画面分の画素ブロックを順次蓄積させる蓄積 ステップと ,
をコンピュータに実行させることを特徴とするプログラム。
3 1 - 低ビッ 卜レートに圧縮符号化された動画像における画像データ を記録媒体または伝送媒体を介して配信するための画像データ配信シス テムであって、
請求の範囲第 1 4項記載の符号化装置と請求の範囲第 2 9項記載の復 号化装置とから構成される
ことを特徴とする画像データ配信システム。
PCT/JP2003/004803 2002-04-19 2003-04-16 Procede de codage de longueur variable et procede de decodage de longueur variable WO2003090472A1 (fr)

Priority Applications (26)

Application Number Priority Date Filing Date Title
BR0304543-9A BR0304543A (pt) 2002-04-19 2003-04-16 Método de codificação de comprimento variável e método de decodificação de comprimento variável
EP19156147.1A EP3515071B1 (en) 2002-04-19 2003-04-16 Method and apparatus for variable length coding
EP03720905A EP1424856B1 (en) 2002-04-19 2003-04-16 Variable length encoding method and variable length decoding method
AU2003235171A AU2003235171C1 (en) 2002-04-19 2003-04-16 Variable Length Coding Method and Variable Length Decoding Method
DK06123093T DK1742484T3 (da) 2002-04-19 2003-04-16 Variabel længde-dekodningsfremgangsmåde
CA2448771A CA2448771C (en) 2002-04-19 2003-04-16 Variable length coding method
KR1020037011694A KR101001411B1 (ko) 2002-04-19 2003-04-16 가변 길이 부호화 방법 및 가변 길이 복호화 방법
CNB038005948A CN1319385C (zh) 2002-04-19 2003-04-16 可变长度编码方法
EP15161640.6A EP2919390B1 (en) 2002-04-19 2003-04-16 Variable length decoding method and apparatus
MXPA03011198A MXPA03011198A (es) 2002-04-19 2003-04-16 Metodo de codificacion de longitud variable y metodo de decodificacion de longitud variable.
EP19156149.7A EP3515072B1 (en) 2002-04-19 2003-04-16 Method and system for variable length coding and decoding
DK06123090T DK1742483T3 (da) 2002-04-19 2003-04-16 Variabel længde-dekodningsfremgangsmåde
DE60311734T DE60311734T2 (de) 2002-04-19 2003-04-16 Codierungsverfahren mit variabler länge und decodierungsverfahren mit variabler länge
BRPI0304543A BRPI0304543B8 (pt) 2002-04-19 2003-04-16 método de codificação de comprimento variável e método de decodificação de comprimento variável
US10/478,185 US7305035B2 (en) 2002-04-19 2003-04-16 Variable length encoding method and variable length decoding method
US11/907,776 US9020040B2 (en) 2002-04-19 2007-10-17 Variable length coding method and variable length decoding method
US11/907,777 US9020041B2 (en) 2002-04-19 2007-10-17 Variable length coding method and variable length decoding method
US11/907,771 US9054734B2 (en) 2002-04-19 2007-10-17 Variable length coding method and variable length decoding method
US11/907,775 US9031133B2 (en) 2002-04-19 2007-10-17 Variable length coding method and variable length decoding method
US11/907,772 US9025671B2 (en) 2002-04-19 2007-10-17 Variable length coding method and variable length decoding method
US14/674,613 US9661353B2 (en) 2002-04-19 2015-03-31 Variable length coding method and variable length decoding method
US15/293,707 US10063890B2 (en) 2002-04-19 2016-10-14 Variable length coding method and variable length decoding method
US15/293,735 US10057602B2 (en) 2002-04-19 2016-10-14 Variable length coding method and variable length decoding method
US15/293,663 US10034025B2 (en) 2002-04-19 2016-10-14 Variable length coding method and variable length decoding method
US15/293,687 US10027990B2 (en) 2002-04-19 2016-10-14 Variable length coding method and variable length decoding method
US16/043,862 US10623781B2 (en) 2002-04-19 2018-07-24 Variable length coding method and variable length decoding method

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2002118483 2002-04-19
JP2002-118483 2002-04-19
JP2002126029 2002-04-26
JP2002-126029 2002-04-26
JP2002363106A JP4368575B2 (ja) 2002-04-19 2002-12-13 可変長復号化方法、可変長復号化装置およびプログラム
JP2002-363106 2002-12-13

Related Child Applications (6)

Application Number Title Priority Date Filing Date
US10/478,185 A-371-Of-International US7305035B2 (en) 2002-04-19 2003-04-16 Variable length encoding method and variable length decoding method
US11/907,775 Division US9031133B2 (en) 2002-04-19 2007-10-17 Variable length coding method and variable length decoding method
US11/907,771 Division US9054734B2 (en) 2002-04-19 2007-10-17 Variable length coding method and variable length decoding method
US11/907,777 Division US9020041B2 (en) 2002-04-19 2007-10-17 Variable length coding method and variable length decoding method
US11/907,772 Division US9025671B2 (en) 2002-04-19 2007-10-17 Variable length coding method and variable length decoding method
US11/907,776 Division US9020040B2 (en) 2002-04-19 2007-10-17 Variable length coding method and variable length decoding method

Publications (1)

Publication Number Publication Date
WO2003090472A1 true WO2003090472A1 (fr) 2003-10-30

Family

ID=29255105

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/004803 WO2003090472A1 (fr) 2002-04-19 2003-04-16 Procede de codage de longueur variable et procede de decodage de longueur variable

Country Status (17)

Country Link
US (12) US7305035B2 (ja)
EP (13) EP1742484B1 (ja)
JP (1) JP4368575B2 (ja)
KR (8) KR101001417B1 (ja)
CN (1) CN1319385C (ja)
AT (5) ATE397355T1 (ja)
AU (1) AU2003235171C1 (ja)
BR (2) BR0304543A (ja)
CA (2) CA2625292C (ja)
DE (5) DE60323171D1 (ja)
DK (5) DK2919390T3 (ja)
ES (11) ES2297811T3 (ja)
HU (1) HUE044271T2 (ja)
MX (1) MXPA03011198A (ja)
PT (7) PT2765707E (ja)
SI (2) SI1742483T1 (ja)
WO (1) WO2003090472A1 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
JP4368575B2 (ja) 2002-04-19 2009-11-18 パナソニック株式会社 可変長復号化方法、可変長復号化装置およびプログラム
JP2005004718A (ja) * 2003-05-16 2005-01-06 Canon Inc 信号処理装置及び制御方法
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
JPWO2006011197A1 (ja) * 2004-07-27 2008-05-01 三菱電機株式会社 符号化データ再符号化装置及びその復号装置並びにプログラム
EP2720467B1 (en) * 2005-09-26 2017-03-29 Mitsubishi Electric Corporation Moving image decoding apparatus
JP4540585B2 (ja) * 2005-10-20 2010-09-08 パナソニック株式会社 符号化装置及び復号化装置
US7903973B1 (en) * 2005-12-23 2011-03-08 Lockheed Martin Corporation Dynamic temporal duration optical transmission privacy
JP4863840B2 (ja) * 2006-10-27 2012-01-25 株式会社リコー 画素形成装置、光走査装置、光走査方法、画像形成装置、カラー画像形成装置
KR100987028B1 (ko) * 2008-08-20 2010-10-11 연세대학교 산학협력단 무작위 데이터가 가지는 정렬 구조의 불확실성을 산출하는 장치 및 그 방법, 상기 방법을 구현하는 프로그램이 기록된기록매체
TR201001101A2 (tr) * 2010-02-12 2011-09-21 Vestel Elektroni̇k Sanayi̇ Ve Ti̇caret A.Ş. Bir veri sıkıştırma metodu.
US10362316B2 (en) * 2010-04-01 2019-07-23 Sony Corporation Image processing device and method
US8410959B2 (en) 2010-04-09 2013-04-02 Qualcomm, Incorporated Variable length codes for coding of video data
US20120082230A1 (en) * 2010-10-01 2012-04-05 Qualcomm Incorporated Variable length coding of video block coefficients
US9490839B2 (en) 2011-01-03 2016-11-08 Qualcomm Incorporated Variable length coding of video block coefficients
US8755620B2 (en) 2011-01-12 2014-06-17 Panasonic Corporation Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus for performing arithmetic coding and/or arithmetic decoding
US8687904B2 (en) 2011-01-14 2014-04-01 Panasonic Corporation Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus which include arithmetic coding or arithmetic decoding
US9516316B2 (en) 2011-06-29 2016-12-06 Qualcomm Incorporated VLC coefficient coding for large chroma block
US9338456B2 (en) 2011-07-11 2016-05-10 Qualcomm Incorporated Coding syntax elements using VLC codewords
KR101710633B1 (ko) * 2011-08-05 2017-02-27 삼성전자주식회사 자동 초점 조절 방법, 자동 초점 조절 장치, 및 이를 포함하는 디지털 촬영장치
WO2013065262A1 (ja) * 2011-11-04 2013-05-10 日本電気株式会社 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法およびプログラム
WO2015110011A1 (en) * 2014-01-24 2015-07-30 Mediatek Inc. Decoding apparatus capable of controlling repetition number of scan procedure based on at least one syntax element decoding result and related method
US10171810B2 (en) 2015-06-22 2019-01-01 Cisco Technology, Inc. Transform coefficient coding using level-mode and run-mode
CN109691043B (zh) * 2016-09-06 2021-02-23 联发科技股份有限公司 无线通信系统中有效编码切换方法、用户设备及相关存储器
JP2018085008A (ja) * 2016-11-25 2018-05-31 株式会社ジャパンディスプレイ 画像処理装置および画像処理装置の画像処理方法
US10666985B1 (en) * 2018-11-18 2020-05-26 Sony Corporation Sub-block based entropy coding for image coding
US10728555B1 (en) * 2019-02-06 2020-07-28 Sony Corporation Embedded codec (EBC) circuitry for position dependent entropy coding of residual level data
CN112399181B (zh) 2019-08-19 2022-08-26 华为技术有限公司 图像编解码的方法、装置和存储介质
CN113889046B (zh) * 2020-07-02 2022-12-09 京东方科技集团股份有限公司 显示面板及其驱动方法、以及显示装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04100390A (ja) * 1990-08-20 1992-04-02 Hitachi Ltd 高能率符号化方式
JPH06232765A (ja) * 1993-02-05 1994-08-19 Nippon Telegr & Teleph Corp <Ntt> 可変長符号化方法
JPH06343168A (ja) * 1993-03-19 1994-12-13 Sony Corp ディジタル信号の符号化方法、符号化用テーブル生成方法、符号化装置及び符号化方法
JPH0759086A (ja) * 1993-07-30 1995-03-03 Canon Inc 画像処理装置
JPH08214310A (ja) * 1995-02-06 1996-08-20 Sony Corp 画像データ符号化方法及び画像データ符号化装置
JP2001024515A (ja) * 1999-07-07 2001-01-26 Sony Corp 信号処理方法及び装置

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4541012A (en) * 1982-01-04 1985-09-10 Compression Labs, Inc. Video bandwidth reduction system employing interframe block differencing and transform domain coding
CA1296430C (en) * 1986-11-10 1992-02-25 Masahide Kaneko Encoding system capable of accomplishing a high efficiency by anterior and/or posterior processing to quantization
US6546145B1 (en) * 1991-02-05 2003-04-08 Canon Kabushiki Kaisha Image compression using selection of quantization method
JP3205028B2 (ja) 1991-02-05 2001-09-04 キヤノン株式会社 画像圧縮装置及びその方法
JPH04315270A (ja) 1991-04-15 1992-11-06 Toshiba Corp 符号化装置
JP2670201B2 (ja) * 1991-08-30 1997-10-29 富士写真フイルム株式会社 画像データ圧縮符号化装置および方法
JP3016456B2 (ja) 1992-06-15 2000-03-06 日本電信電話株式会社 適応的可変長符号化方法
JPH06178282A (ja) 1992-12-02 1994-06-24 Mitsubishi Electric Corp 画像の符号化装置
US5367629A (en) * 1992-12-18 1994-11-22 Sharevision Technology, Inc. Digital video compression system utilizing vector adaptive transform
US5510785A (en) * 1993-03-19 1996-04-23 Sony Corporation Method of coding a digital signal, method of generating a coding table, coding apparatus and coding method
JP3111750B2 (ja) 1993-06-08 2000-11-27 松下電器産業株式会社 可変長符号復号方式
JP3210996B2 (ja) * 1993-07-30 2001-09-25 三菱電機株式会社 高能率符号化装置及び高能率復号化装置
JP3220598B2 (ja) * 1994-08-31 2001-10-22 三菱電機株式会社 可変長符号テーブルおよび可変長符号化装置
KR100209877B1 (ko) * 1994-11-26 1999-07-15 윤종용 복수개의 허프만부호테이블을 이용한 가변장부호화장치 및 복호화장치
US5883976A (en) * 1994-12-28 1999-03-16 Canon Kabushiki Kaisha Selectively utilizing multiple encoding methods
JP3305140B2 (ja) 1994-12-28 2002-07-22 キヤノン株式会社 符号化装置及び方法
JP3431331B2 (ja) * 1995-03-01 2003-07-28 株式会社日立製作所 動画像符号化装置及び動画像伝送装置並びにテレビ会議装置
US6104754A (en) * 1995-03-15 2000-08-15 Kabushiki Kaisha Toshiba Moving picture coding and/or decoding systems, and variable-length coding and/or decoding system
US6704494B1 (en) * 1995-03-15 2004-03-09 Kabushiki Kaisha Toshiba Moving picture coding and/or decoding systems, and variable-length coding and/or decoding system
JPH08256266A (ja) * 1995-03-17 1996-10-01 Mitsubishi Electric Corp 画像符号化方式
JP3992303B2 (ja) * 1995-06-22 2007-10-17 ソニー株式会社 信号圧縮装置と信号伸長装置および信号圧縮方法と信号伸長方法
JP3114796B2 (ja) 1995-09-11 2000-12-04 松下電器産業株式会社 可変長符号化装置及び方法
KR970019653A (ko) 1995-09-11 1997-04-30 원본미기재 가변 부호화 장치 및 방법
US5818877A (en) * 1996-03-14 1998-10-06 The Regents Of The University Of California Method for reducing storage requirements for grouped data values
JPH09307901A (ja) 1996-05-13 1997-11-28 Toshiba Corp 映像信号処理装置
JP3743837B2 (ja) 1996-06-14 2006-02-08 株式会社大宇エレクトロニクス ランレングス符号器
US5831977A (en) 1996-09-04 1998-11-03 Ericsson Inc. Subtractive CDMA system with simultaneous subtraction in code space and direction-of-arrival space
TW366669B (en) 1996-10-30 1999-08-11 Matsushita Electric Ind Co Ltd Picture encoding device and picture encoding method, picture decoding device and picture decoding method, and data recording media
JP2870515B2 (ja) * 1996-12-27 1999-03-17 日本電気株式会社 可変長符号化装置
US5995148A (en) * 1997-02-14 1999-11-30 At&T Corp Video coder having scalar dependent variable length coder
JP3410629B2 (ja) * 1997-05-21 2003-05-26 シャープ株式会社 可変長符号化回路及び可変長符号化方法
US6118822A (en) 1997-12-01 2000-09-12 Conexant Systems, Inc. Adaptive entropy coding in adaptive quantization framework for video signal coding systems and processes
JPH11243343A (ja) 1998-02-25 1999-09-07 Victor Co Of Japan Ltd 可変長符号化方法、可変長復号化方法、及び可変長符号記録媒体
JPH11341497A (ja) 1998-05-29 1999-12-10 Matsushita Electric Ind Co Ltd 画像符号化復号化装置及び、画像符号化復号化方法
JP3888597B2 (ja) * 1998-06-24 2007-03-07 日本ビクター株式会社 動き補償符号化装置、及び動き補償符号化復号化方法
JP2000059234A (ja) * 1998-08-10 2000-02-25 Mitsubishi Electric Corp 可変長符号処理装置
CN1286575A (zh) * 1999-08-25 2001-03-07 松下电器产业株式会社 噪声检测方法、噪声检测装置及图象编码装置
JP2001308715A (ja) * 2000-04-20 2001-11-02 Mitsubishi Electric Corp 可変長符号化装置および可変長復号装置
TW515192B (en) 2000-06-06 2002-12-21 Noa Kk Off Compression method of motion picture image data and system there for
JP2002261623A (ja) * 2001-02-28 2002-09-13 Canon Inc 復号装置、復号方法、記憶媒体及びプログラムソフトウェア
US6696993B2 (en) * 2001-03-23 2004-02-24 Nokia Corporation Variable length coding
KR101030862B1 (ko) * 2001-11-22 2011-04-22 파나소닉 주식회사 부호화 방법 및 부호화 장치
US7099387B2 (en) * 2002-03-22 2006-08-29 Realnetorks, Inc. Context-adaptive VLC video transform coefficients encoding/decoding methods and apparatuses
JP4368575B2 (ja) * 2002-04-19 2009-11-18 パナソニック株式会社 可変長復号化方法、可変長復号化装置およびプログラム
JP4090862B2 (ja) * 2002-04-26 2008-05-28 松下電器産業株式会社 可変長符号化方法および可変長復号化方法
US6646578B1 (en) * 2002-11-22 2003-11-11 Ub Video Inc. Context adaptive variable length decoding system and method
US7602850B2 (en) * 2003-12-19 2009-10-13 Intel Corporation Content adaptive variable length coding (CAVLC) decoding
US7843997B2 (en) * 2004-05-21 2010-11-30 Broadcom Corporation Context adaptive variable length code decoder for decoding macroblock adaptive field/frame coded video data
US7643694B2 (en) * 2004-12-31 2010-01-05 Zoran Corporation Method and apparatus for processing a compressed image in an order other than the order in which it was compressed
JP4540585B2 (ja) * 2005-10-20 2010-09-08 パナソニック株式会社 符号化装置及び復号化装置
US7903973B1 (en) * 2005-12-23 2011-03-08 Lockheed Martin Corporation Dynamic temporal duration optical transmission privacy
KR100813877B1 (ko) * 2006-05-11 2008-03-18 전자부품연구원 효율적인 h.264/avc cavlc 디코딩 방법
US7885473B2 (en) * 2007-04-26 2011-02-08 Texas Instruments Incorporated Method of CABAC coefficient magnitude and sign decoding suitable for use on VLIW data processors
US7813567B2 (en) * 2007-04-26 2010-10-12 Texas Instruments Incorporated Method of CABAC significance MAP decoding suitable for use on VLIW data processors
CN101335000B (zh) * 2008-03-26 2010-04-21 华为技术有限公司 编码的方法及装置
US7876257B2 (en) * 2008-04-28 2011-01-25 Mitsubishi Electric Research Laboratories, Inc. Method and apparatus for compressing SAR signals

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04100390A (ja) * 1990-08-20 1992-04-02 Hitachi Ltd 高能率符号化方式
JPH06232765A (ja) * 1993-02-05 1994-08-19 Nippon Telegr & Teleph Corp <Ntt> 可変長符号化方法
JPH06343168A (ja) * 1993-03-19 1994-12-13 Sony Corp ディジタル信号の符号化方法、符号化用テーブル生成方法、符号化装置及び符号化方法
JPH0759086A (ja) * 1993-07-30 1995-03-03 Canon Inc 画像処理装置
JPH08214310A (ja) * 1995-02-06 1996-08-20 Sony Corp 画像データ符号化方法及び画像データ符号化装置
JP2001024515A (ja) * 1999-07-07 2001-01-26 Sony Corp 信号処理方法及び装置

Also Published As

Publication number Publication date
CN1522544A (zh) 2004-08-18
PT1965590E (pt) 2009-11-24
EP1744560B1 (en) 2008-08-20
US10063890B2 (en) 2018-08-28
EP1744560A1 (en) 2007-01-17
EP2343903A1 (en) 2011-07-13
KR101001097B1 (ko) 2010-12-14
EP2752994B1 (en) 2015-07-29
DK2765707T3 (en) 2015-10-12
HUE044271T2 (hu) 2019-10-28
ES2309913T3 (es) 2008-12-16
US20170034539A1 (en) 2017-02-02
EP1742484A1 (en) 2007-01-10
EP2117236A3 (en) 2011-05-04
BRPI0304543B1 (pt) 2018-02-14
EP1965590A1 (en) 2008-09-03
EP2765707A3 (en) 2014-08-20
PT2919390T (pt) 2019-07-11
DE60323171D1 (de) 2008-10-02
US10057602B2 (en) 2018-08-21
US7305035B2 (en) 2007-12-04
ATE397355T1 (de) 2008-06-15
BRPI0304543B8 (pt) 2020-12-29
CA2625292C (en) 2012-05-29
AU2003235171B2 (en) 2007-12-20
EP1424856A1 (en) 2004-06-02
BR0304543A (pt) 2004-08-03
KR101001053B1 (ko) 2010-12-14
EP2919390A1 (en) 2015-09-16
DE60329873D1 (de) 2009-12-10
US10034025B2 (en) 2018-07-24
CA2625292A1 (en) 2003-10-30
EP2752994A1 (en) 2014-07-09
PT2117236E (pt) 2012-09-24
US9025671B2 (en) 2015-05-05
CA2448771C (en) 2012-05-29
DK1742483T3 (da) 2008-05-13
ES2886861T3 (es) 2021-12-21
DE60318918T2 (de) 2009-01-08
ES2307267T3 (es) 2008-11-16
US20170034540A1 (en) 2017-02-02
KR20080041749A (ko) 2008-05-13
EP2117236B1 (en) 2012-07-11
SI1742483T1 (sl) 2008-04-30
DK2752994T3 (en) 2015-11-09
ATE354258T1 (de) 2007-03-15
EP2765707A2 (en) 2014-08-13
US20170034514A1 (en) 2017-02-02
PT2765707E (pt) 2015-11-17
DK2919390T3 (da) 2019-07-15
SI1742484T1 (sl) 2008-08-31
EP2117236A2 (en) 2009-11-11
ES2332159T3 (es) 2010-01-27
ES2549252T3 (es) 2015-10-26
ATE447295T1 (de) 2009-11-15
PT2752994E (pt) 2015-10-26
KR20100051864A (ko) 2010-05-18
US10623781B2 (en) 2020-04-14
EP2271118A3 (en) 2011-05-04
DE60321406D1 (de) 2008-07-10
DE60311734D1 (de) 2007-03-29
EP1424856A4 (en) 2004-11-24
ES2297811T3 (es) 2008-05-01
ES2388479T3 (es) 2012-10-15
EP3515072A1 (en) 2019-07-24
US20180332311A1 (en) 2018-11-15
KR100975487B1 (ko) 2010-08-11
CA2448771A1 (en) 2003-10-30
US20080260039A1 (en) 2008-10-23
KR20040105543A (ko) 2004-12-16
EP3515072B1 (en) 2021-06-30
EP1742483A1 (en) 2007-01-10
ES2886874T3 (es) 2021-12-21
EP2765707B1 (en) 2015-08-19
EP2271118B1 (en) 2012-11-07
MXPA03011198A (es) 2004-02-26
KR20080041748A (ko) 2008-05-13
US20080063083A1 (en) 2008-03-13
KR101001411B1 (ko) 2010-12-14
US20080260037A1 (en) 2008-10-23
US20080260038A1 (en) 2008-10-23
PT1742484E (pt) 2008-06-12
EP3515071A1 (en) 2019-07-24
US9031133B2 (en) 2015-05-12
DE60318918D1 (de) 2008-03-13
US9661353B2 (en) 2017-05-23
EP1424856B1 (en) 2007-02-14
JP2004007381A (ja) 2004-01-08
ATE406051T1 (de) 2008-09-15
DE60311734T2 (de) 2007-11-15
US20170034541A1 (en) 2017-02-02
ES2730954T3 (es) 2019-11-13
EP2919390B1 (en) 2019-04-03
EP1965590B1 (en) 2009-10-28
ES2550993T3 (es) 2015-11-13
AU2003235171B8 (en) 2003-11-03
CN1319385C (zh) 2007-05-30
KR100975486B1 (ko) 2010-08-11
KR20100052547A (ko) 2010-05-19
EP3515071B1 (en) 2021-06-30
AU2003235171A1 (en) 2003-11-03
US9020041B2 (en) 2015-04-28
JP4368575B2 (ja) 2009-11-18
DK1742484T3 (da) 2008-08-18
US10027990B2 (en) 2018-07-17
KR20080041747A (ko) 2008-05-13
US20150208099A1 (en) 2015-07-23
EP2343903B1 (en) 2014-05-21
KR101001478B1 (ko) 2010-12-14
EP1742484B1 (en) 2008-05-28
EP2271118A2 (en) 2011-01-05
US9020040B2 (en) 2015-04-28
KR20080041750A (ko) 2008-05-13
US20050099522A1 (en) 2005-05-12
KR101001417B1 (ko) 2010-12-14
ES2279945T3 (es) 2007-09-01
AU2003235171C1 (en) 2009-01-08
US20080056374A1 (en) 2008-03-06
ATE385140T1 (de) 2008-02-15
KR101001459B1 (ko) 2010-12-14
US9054734B2 (en) 2015-06-09
KR20080041751A (ko) 2008-05-13
PT1744560E (pt) 2008-09-10
EP1742483B1 (en) 2008-01-23
EP2752994B8 (en) 2015-09-02

Similar Documents

Publication Publication Date Title
US10623781B2 (en) Variable length coding method and variable length decoding method
US7970059B2 (en) Variable length coding method and variable length decoding method
JP4158999B1 (ja) 符号化方法、及び符号化装置
JP4158986B2 (ja) 復号化方法、及び復号化装置
JP4158985B2 (ja) 符号化方法、及び符号化装置

Legal Events

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

Ref document number: 1020037011694

Country of ref document: KR

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 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 HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 2003235171

Country of ref document: AU

Ref document number: 10478185

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2003720905

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2448771

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: PA/a/2003/011198

Country of ref document: MX

WWE Wipo information: entry into national phase

Ref document number: 038005948

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 2003720905

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2319/CHENP/2004

Country of ref document: IN

WWP Wipo information: published in national office

Ref document number: 1020037011694

Country of ref document: KR

WWG Wipo information: grant in national office

Ref document number: 2003720905

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2003235171

Country of ref document: AU

Date of ref document: 20030416

Kind code of ref document: B