WO2003088675A1 - Image encoding method and image decoding method - Google Patents

Image encoding method and image decoding method Download PDF

Info

Publication number
WO2003088675A1
WO2003088675A1 PCT/JP2003/003794 JP0303794W WO03088675A1 WO 2003088675 A1 WO2003088675 A1 WO 2003088675A1 JP 0303794 W JP0303794 W JP 0303794W WO 03088675 A1 WO03088675 A1 WO 03088675A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
image
decoded
code
boundary
Prior art date
Application number
PCT/JP2003/003794
Other languages
English (en)
French (fr)
Inventor
Kiyofumi Abe
Shinya Kadono
Satoshi Kondo
Makoto Hagai
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=29243326&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=WO2003088675(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority to AU2003227248A priority Critical patent/AU2003227248B2/en
Priority to DK06123645T priority patent/DK1746841T3/da
Priority to KR1020127019701A priority patent/KR101257212B1/ko
Priority to MXPA03010115A priority patent/MXPA03010115A/es
Priority to CNB038011581A priority patent/CN1293762C/zh
Priority to AT03715476T priority patent/ATE312478T1/de
Priority to CA2444357A priority patent/CA2444357C/en
Priority to KR1020127007087A priority patent/KR101152507B1/ko
Priority to KR1020117019206A priority patent/KR101227720B1/ko
Priority to KR1020037011695A priority patent/KR100954244B1/ko
Priority to EP03715476A priority patent/EP1478188B1/en
Priority to KR1020117002312A priority patent/KR101154606B1/ko
Priority to DE2003602652 priority patent/DE60302652T2/de
Priority to US10/479,831 priority patent/US7095896B2/en
Priority to BR0303566A priority patent/BR0303566A/pt
Application filed by Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to DK05017701T priority patent/DK1596608T3/da
Priority to DK06123494T priority patent/DK1744562T3/da
Priority to BRPI0303566-2A priority patent/BRPI0303566B1/pt
Priority to SI200330131T priority patent/SI1478188T1/sl
Publication of WO2003088675A1 publication Critical patent/WO2003088675A1/ja
Priority to US11/453,085 priority patent/US7308149B2/en
Priority to US11/453,084 priority patent/US7308144B2/en
Priority to US11/453,071 priority patent/US7305134B2/en
Priority to US11/453,078 priority patent/US7308143B2/en
Priority to US11/453,062 priority patent/US7184598B2/en
Priority to US11/976,552 priority patent/US7697770B2/en
Priority to US11/976,550 priority patent/US7693340B2/en
Priority to US11/976,551 priority patent/US8139878B2/en
Priority to US11/976,539 priority patent/US8265403B2/en
Priority to US11/976,758 priority patent/US7769238B2/en
Priority to US12/240,379 priority patent/US8290286B2/en
Priority to US13/618,546 priority patent/US8526748B2/en
Priority to US13/955,450 priority patent/US8867855B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe 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/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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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

Definitions

  • the present invention relates to an image encoding method and an image decoding method for digitally encoding and transmitting or storing an image.
  • a screen is divided into blocks of a certain size, and intra-screen prediction and inter-screen prediction are performed for each block.
  • An orthogonal transform such as a discrete cosine transform is applied to the obtained prediction residual signal for each block (for example, 4 ⁇ 4 pixels) of the minimum unit of division, and the resulting coefficient indicating a spatial frequency component is obtained.
  • ⁇ Coding is performed by variable-length coding based on level coding.
  • variable-length coding In the variable-length coding, a variable-length code is assigned to a coefficient value (level) of a block to which orthogonal transform is applied and a number (run) of consecutive 0 coefficients. At this time, the table that associates the above value with the variable length code is called a VLC table. In the conventional method, only one VLC table is prepared for each of intra prediction coding and inter prediction coding (for example, ISO / IEG 14496-2: 1999 (E)). Information technology-coding of audio-visual objects Part 2: Visual (1999-12-01) P.119 7.4.1 Variable length decoding).
  • variable-length coding method In the variable-length coding method described in the above-described conventional technique, only one table is prepared for each of the intra-screen prediction coding and the inter-screen prediction coding as the VLC tape gap. Gender of the target image There is a problem that the coding efficiency greatly differs depending on the quality.
  • a method of preparing a plurality of tables and switching and referencing the plurality of tables according to the number of non-zero coefficients included in the block to which the orthogonal transform is applied may be considered.
  • the corresponding decoding method has not yet been established.
  • the present invention solves the above-described problem, and always encodes the number of non-zero coefficients included in a block to which orthogonal transform is applied with high efficiency regardless of the properties of a target image. It is an object of the present invention to propose an image encoding method and an image decoding method that enable the above. Disclosure of the invention
  • an image encoding method for converting an image into a coefficient indicating a spatial frequency component for each block and encoding the image.
  • a prediction step of calculating a predicted value of the number of non-zero coefficients included in the encoding target block based on the number of non-zero coefficients included in the coded block located at A table selecting step of selecting a table for variable length coding based on the predicted value calculated by the above, and referring to the table for variable length coding selected by the table selecting step.
  • a variable-length encoding step of performing variable-length encoding on the number of non-zero coefficients included in the encoding target block.
  • the prediction value is calculated using an average value of the number of non-zero coefficients included in the encoded block.
  • the variable length encoding table has at least one or more VLC tables.
  • the VLC table is selected based on the predicted value, and the variable length encoding step is performed. Then, the number of non-zero coefficients included in the encoding target block is converted into a variable length code with reference to the VLC table reselected in the table selecting step.
  • the table for variable-length encoding has at least one or more code tables and VLC tables, respectively.
  • the code table and the VLC table are based on the predicted values.
  • the number of non-zero coefficients included in the encoding target block is converted into a code number with reference to the code table selected in the table selecting step.
  • the code number is converted into a variable length code with reference to the VLC table selected in the table selection step.
  • the number of non-zero coefficients included in a coded block adjacent to a non-coded block is coded at least for the non-coded block. It is characterized in that it includes a storage step of storing up to
  • the prediction step based on the number of coefficients other than 0 included in the coded block located above and to the left of the current block, other than 0 included in the current block. It is characterized in that a predicted value of the number of coefficients is calculated.
  • the upper and left sides of the encoding target block When there is no encoded block at the position of, the predicted value is set to 0.
  • the encoded block is included in the encoded block located above and to the left of the current block.
  • An average value of the number of coefficients other than 0 is set as the predicted value.
  • the prediction value is obtained by using the number of non-zero coefficients included in the coded block at the left position.
  • the prediction value is characterized by using the number of non-zero coefficients included in the coded block at the upper position.
  • the prediction value Is set to 0.
  • the prediction step when an upper boundary and a left boundary of the current block are not boundaries of a picture as a unit of the image or a boundary of a slice obtained by dividing the picture into a plurality of regions, The average value of the number of non-zero coefficients included in the coded block at the upper and left positions of the block is set as the predicted value.
  • an upper boundary of the block to be coded is When the boundary of a picture, which is a unit of the picture, or the boundary of a slice obtained by dividing the picture into a plurality of areas, and the left boundary of the block is not a boundary of a picture or a boundary of a slice, the left of the block to be encoded
  • the prediction value is obtained by using the number of non-zero coefficients included in the coded block at the position.
  • a left boundary of the current block is a boundary of a picture as a unit of the image or a boundary of a slice obtained by dividing the picture into a plurality of regions, and an upper boundary of the block is a boundary of a picture.
  • the prediction value is set as the prediction value using the number of non-zero coefficients included in the coded block at a position above the current block.
  • the image decoding method is an image decoding method for decoding an image coded by converting the coefficient into a coefficient indicating a spatial frequency component for each block, wherein the image decoding method is arranged around a block to be decoded.
  • a prediction step of calculating a predicted value of the number of non-zero coefficients included in the decoding target block based on the number of non-zero coefficients included in the decoded block to be decoded, and the prediction step A table selecting step of selecting a table for variable length decoding based on the predicted value calculated by the above, and a table for variable length decoding selected by the table selecting step.
  • variable length decoding table has at least one or more VLC tables, and the table selection is performed. In the step, the VLC table is selected based on the predicted value, and in the variable length decoding step, the decoding target block is referred to by referring to the VLC table selected in the table selection step.
  • the variable length code of the number of non-zero coefficients included in the above is converted to the number of the coefficients.
  • the table for variable length decoding has at least one or more code tables and VLC tables, respectively, and in the table selection step, the code table and the VLC table are based on the predicted values.
  • the variable length decoding step refers to the VLC table reselected in the table selecting step, and generates a variable length code having a number of non-zero coefficients included in the decoding target block. And converting the code number into the number of coefficients by referring to the code table selected by the table selection step.
  • the number of non-zero coefficients included in a decoded block adjacent to a non-decoded block, and at least the undecoded block is decoded It is characterized in that it includes a storage step of storing up to
  • the prediction step based on the number of coefficients other than 0 included in the decoded blocks located above and to the left of the current block, other than 0 included in the current block to be decoded It is characterized in that a predicted value of the number of coefficients is calculated.
  • the prediction value is set to 0.
  • the decoded block located at a position approximately to the left of the block to be decoded is An average value of the number of non-zero coefficients included is set as the predicted value. .
  • the prediction value is obtained by using the number of non-zero coefficients included in the decoded block at the left position.
  • the prediction value is obtained by using the number of non-zero coefficients included in the decoded block at the upper position.
  • the prediction value Is set to 0.
  • the predicting step when an upper boundary and a left boundary of the block to be decoded are not boundaries of a picture which is a unit of the image or a boundary of a slice obtained by dividing the picture into a plurality of regions, It is characterized in that an average value of the number of non-zero coefficients included in the decoded block at the upper and left positions of the block is used as the predicted value.
  • the upper boundary of the decoding target block is a boundary of a picture, which is a unit of the image, or the picture is divided into a plurality of regions.
  • the left boundary of the block is not a picture boundary or a boundary of a slice at the boundary of the divided slices, a coefficient other than 0 included in the decoded block at the left position of the current block to be decoded It is characterized in that the prediction value is used as the prediction value by using the number of.
  • a left boundary of the current block is a boundary of a picture as a unit of the image or a boundary of a slice obtained by dividing the picture into a plurality of regions, and an upper boundary of the block is a boundary of a picture.
  • the prediction value is set as the prediction value using the number of non-zero coefficients included in the decoded block located above the current block to be decoded.
  • the present invention can be realized not only as such an image encoding method and an image decoding method, but also includes characteristic steps included in such an image encoding method and an image decoding method. It can also be realized as an image encoding device and an image decoding device provided as means. Further, these steps can be realized as a program for causing a computer to execute the steps, or as a bit stream generated by the image coding method. Needless to say, such a program and a bitstream can be distributed via a recording medium such as a CD-ROM or a transmission medium such as the Internet.
  • FIG. 1 is a block diagram showing a configuration of an embodiment of an image encoding device using an image encoding method according to the present invention.
  • FIG. 2 shows (a) a schematic diagram showing the outline of the processing order of macroblocks in each picture, and (b) an encoded block referred to by an encoding target block in order to encode the number of coefficients.
  • FIG. 3 is a schematic diagram showing a macro block to which the FIG. 3 is (a) a block diagram showing a configuration of the coefficient number encoder according to Embodiment 1 of the present invention, and (b) a block diagram showing a configuration of a modification of the coefficient number encoder.
  • FIG. 4 is a schematic diagram showing a positional relationship between a current block to be coded and a coded block to be referred to, where (a) three peripheral blocks are used, and (b) two peripheral blocks are used.
  • FIG. 5 is a schematic diagram showing an example of a flow in which the number of coefficients is converted into a code string by referring to a table.
  • FIG. 6 is a schematic diagram showing a reference block for a macroblock to be coded, in which (a) three peripheral blocks are used, and (b) two peripheral blocks are used.
  • FIG. 7 is a schematic diagram showing the operation of the coefficient count storage to store the number of coefficients.
  • A When processing moves to the next macroblock, (b) When processing moves to the next macroblock , (C) the macroblock to be coded is located at the right end of the picture, and the processing shifts to the next macroblock.
  • FIG. 8 is a block diagram showing a configuration of a modification of the coefficient number encoder according to Embodiment 1 of the present invention, wherein (a) the case where the code table is fixed, (b) the case where the VLC table is fixed, c) When only the VLC table is used without using the code table.
  • FIG. 9 is a block diagram showing a configuration of a variation of the coefficient number encoder according to Embodiment 1 of the present invention.
  • FIG. 10 is (a) a block diagram showing a configuration of a coefficient number encoder according to Embodiment 2 of the present invention, and (b) a block diagram showing a configuration of a modification of the coefficient number encoder. .
  • FIG. 11 is a schematic diagram showing the position of a block to be subjected to statistics of the number of coefficients in Embodiments 2 and 7 of the present invention.
  • FIG. 12 is (a) a block diagram showing a configuration of a coefficient number encoder according to Embodiment 3 of the present invention, and (b) a block diagram showing a configuration of a modification of the coefficient number encoder. .
  • FIG. 13 is (a) a block diagram showing a configuration of a coefficient number encoder according to Embodiment 4 of the present invention, and (b) a block diagram showing a configuration of a modification of the coefficient number encoder. .
  • FIG. 14 is a block diagram showing a method for calculating an evaluation value of table switching according to the fourth and ninth embodiments of the present invention.
  • FIG. 15 is a block diagram illustrating a configuration of an image encoding device according to Embodiment 5 of the present invention.
  • FIG. 16 is a block diagram showing a configuration of a coefficient number encoder according to Embodiment 5 of the present invention.
  • FIG. 17 is a block diagram showing a configuration of an embodiment of an image decoding device using the image decoding method according to the present invention.
  • FIG. 18 is (a) a block diagram showing a configuration of a coefficient number decoder according to Embodiment 6 of the present invention, and (b) a block diagram showing a configuration of a modification of the coefficient number decoder. .
  • FIG. 19 is a schematic diagram showing an example of a flow in which a code string of the number of coefficients is converted into the number of coefficients by referring to a table.
  • FIG. 20 is a block diagram illustrating a configuration of a modification of the coefficient number decoder according to Embodiment 6 of the present invention.
  • A When the code table is fixed, (b) When the VLC table is fixed, (C) Only the VLC table is used without using a code table.
  • FIG. 21 is a block diagram showing a configuration of a modification of the coefficient number decoder according to Embodiment 6 of the present invention.
  • FIG. 22 shows the structure of (a) coefficient number decoder according to Embodiment 7 of the present invention.
  • FIG. 21 is a block diagram for explaining an operation of a process showing a configuration
  • (b) is a block diagram showing a configuration of a modification of the coefficient number decoder.
  • FIG. 23 is a block diagram illustrating (a) a process operation showing a configuration of a coefficient number decoder according to Embodiment 8 of the present invention, and (b) a configuration of a modified example of the coefficient number decoder.
  • FIG. 23 is a block diagram illustrating (a) a process operation showing a configuration of a coefficient number decoder according to Embodiment 8 of the present invention, and (b) a configuration of a modified example of the coefficient number decoder.
  • FIG. 24 is a block diagram illustrating (a) a process operation showing a configuration of a coefficient number decoder according to Embodiment 9 of the present invention, and (b) a configuration of a modified example of the coefficient number decoder.
  • FIG. 24 is a block diagram illustrating (a) a process operation showing a configuration of a coefficient number decoder according to Embodiment 9 of the present invention, and (b) a configuration of a modified example of the coefficient number decoder.
  • FIG. 25 is a block diagram for describing an operation of a process indicating the configuration of the coefficient number decoder according to Embodiment 10 of the present invention.
  • FIG. 26 is an explanatory diagram of a recording medium for storing a program for realizing the image encoding method and the image decoding method of each embodiment by a computer system.
  • Explanatory diagram showing an example of the physical format of a flexible disk
  • (b) Explanatory diagram showing the appearance, cross-sectional structure, and flexible disk of a flexible disk
  • (C) Recording of the above program on a flexible disk FD
  • FIG. 4 is an explanatory diagram showing a configuration for performing reproduction.
  • FIG. 27 is a block diagram showing the overall configuration of a content supply system that realizes a content distribution service.
  • FIG. 28 is a schematic diagram illustrating an example of a mobile phone.
  • FIG. 29 is a block diagram showing the internal configuration of the mobile phone.
  • FIG. 30 is a block diagram showing the overall configuration of the digital broadcasting system. BEST MODE FOR CARRYING OUT THE INVENTION
  • FIG. 1 is a block diagram showing a configuration of an embodiment of an image encoding device using an image encoding method according to the present invention.
  • the image encoding apparatus includes frame memories 101 and 106, an orthogonal transformer 102, a quantizer 103, an inverse quantizer 104, an inverse orthogonal transformer 105, Inter prediction unit 107, Intra prediction unit 108, Coefficient number detector 109, Coefficient number storage unit 110, Coefficient number encoder 1 1 1, Coefficient value encoder 1 1 2, Code It has a column generator 113, switches 114, 115, a difference operator 116, and an addition operator 117.
  • the frame memory 101 stores moving images input in picture units in display time order.
  • the inter-screen predictor 107 uses the image data reconstructed in the encoding device as a reference picture, and detects a motion vector indicating a position predicted to be optimal in a search area in the picture. And predictive image data is generated based on the motion vector.
  • the difference calculator 1 16 calculates the difference between the input image data read from the frame memory 101 and the predicted image data input from the inter-screen predictor 107, and calculates a prediction residual image. Generate image data.
  • the intra-screen predictor 108 generates predicted image data using the image data of the coded area in the current picture and calculates the difference from the input image data to generate the predicted residual image data. Generate.
  • the orthogonal transformer 102 performs orthogonal transformation on the input prediction residual image data.
  • the quantizer 103 quantizes the orthogonally transformed data to generate a coefficient indicating a spatial frequency component to be subjected to variable-length coding.
  • the inverse quantizer 104 performs inverse quantization on the coefficients generated by the above processing.
  • the inverse orthogonal transformer 105 generates an inverse orthogonal transform for the inversely quantized data. Intersection transformation is performed to generate reconstructed prediction residual image data.
  • the addition arithmetic unit 117 adds the reconstructed prediction residual image data input from the inverse orthogonal transformer 105 to the predicted image data input from the inter-screen predictor 107, and performs reconfiguration. Generate image data.
  • the frame memory 106 stores the generated reconstructed image data.
  • the coefficient number detector 109 examines the value of the generated coefficient and detects the number of coefficients having a value other than 0 for each block (hereinafter simply referred to as the number of coefficients).
  • the coefficient number storage unit 110 stores the number of coefficients detected by the coefficient number detector 109.
  • the coefficient number encoder 1 11 1 refers to the value of the number of coefficients of the already encoded block stored in the coefficient number storage 1 110 and encodes the number of coefficients by a method described later. I do.
  • the coefficient value encoder 1 1 2 uses the number of coefficients detected by the coefficient number detector 1 09 to switch and refer to the VLC table required for variable-length coding, thereby obtaining the coefficient value itself. Perform variable length coding.
  • the code sequence generator 113 adds the information such as the motion vector input from the inter-screen predictor 107 to the number of coded coefficients and the value of the coefficient, thereby forming a code sequence. Generate
  • a moving image to be encoded is input to the frame memory 101 in picture units in the order of display time, and is rearranged in the order in which encoding is performed.
  • Each picture is divided into, for example, a block of 16 pixels in the horizontal direction and 16 pixels in the vertical direction called a macroblock, and the subsequent processing is performed in units of the macroblock.
  • Fig. 2 (a) is a schematic diagram showing the outline of the processing order of macroblocks in each picture
  • Fig. 2 (b) is a coding block to be coded that the coding target refers to for coding the number of coefficients.
  • Macro to which the completed block belongs It is a schematic diagram which shows a block.
  • FIG. 2 (b) shows a case where the macroblock MB13 is a coding target macroblock.
  • the macroblocks in each picture are coded in order from the upper left macroblock to the right, and to the right end, the next lower right, the lower left, and the left to the right, and so on. Done.
  • the inter-picture predictor 107 uses the reconstructed image of the coded picture stored in the frame memory 106 as a reference picture, and further divides the macro block into blocks (for example, a horizontal block). Performs motion vector detection every 4 X vertical 4 pixels).
  • the inter-screen predictor 107 outputs predicted image data created by the detected motion vector to the difference calculator 116.
  • the difference calculator 1 16 generates prediction residual image data by calculating the difference between the prediction image data and the input image data of the target macroblock.
  • the macro block read from the frame memory 101 is first input to the intra predictor 108.
  • the intra-screen predictor 108 performs intra-screen prediction using information on peripheral blocks to generate prediction residual image data.
  • the prediction residual image data generated in this manner is subjected to orthogonal transformation and quantization by an orthogonal transformer 102 and a quantizer 103 for each block, and converted into coefficients to be subjected to variable-length coding. Is converted. These coefficients are input to a coefficient number detector 109, a coefficient value encoder 112 and an inverse quantizer 104.
  • the coefficient number detector 109 detects the number of coefficients having a value other than 0 for each block. The number of coefficients detected here is stored in the coefficient number storage 110.
  • the coefficient number encoder 1 1 1 The number of coefficients is read from the coefficient number storage unit 110, and the value is referenced to encode the number of coefficients of the encoding target block. Further, the coefficient value encoder 112 encodes the coefficient value itself using the number of coefficients detected by the coefficient number detector 109.
  • the code sequence generator 113 generates the final code sequence by adding the number of coded coefficients and the value of the coefficients to the code sequence along with other information such as the motion vector. .
  • the coefficients input to the inverse quantizer 104 are subjected to inverse quantization and inverse orthogonal transform by the inverse quantizer 104 and the inverse orthogonal transformer 105 to obtain the reconstructed prediction residual. Converted to difference image data.
  • the adder 117 generates the reconstructed image data by adding the reconstructed prediction residual image data and the predicted image data input from the inter-screen predictor 107, and generates a frame memo. Stored in 106.
  • variable-length coding process of the number of coefficients performed by the coefficient number encoder 1 11 1 is described with reference to FIGS. 3 to 9 and Tables 1 to 7. Details will be described.
  • FIG. 3A is a block diagram showing the internal configuration of the coefficient number encoder 111 in detail.
  • the VLC table is a table for converting a code number obtained by a code table into a variable length code.
  • the coefficient number encoder 1 1 1 is composed of a prediction value calculator 201, a code table memory 202, a code table selector 203, and a VLC table selector 210. 4, VLC table storage 205, and coefficient A number encoder 206 is provided.
  • the number of coefficients of the coded block located in the vicinity is input from the coefficient number storage unit 110 shown in FIG. 1 to the prediction value calculator 201.
  • the predicted value calculator 201 determines the predicted value by taking the average of these values. As a method of determining the predicted value, it is also possible to use either the maximum value, the minimum value, or the median value instead of the average value.
  • FIG. 4 (a) is a schematic diagram showing a positional relationship between a block to be currently encoded and a coded block to be referred to.
  • block X to be coded three blocks in the positional relationship of blocks B, C, and D are set as reference blocks.
  • the reference block is changed as shown in Table 1.
  • represents an encoded block
  • X represents a block that cannot be referenced because it is not encoded or located outside the picture or slice. For example, if only C cannot refer, it indicates that A, B, and D are referenced.
  • the table Item 1 X and reference block items can be handled in the same way even when other items are used. If it is determined that there is no reference block,
  • the code table selector 203 is actually used from among a plurality of code tables of the code table storage 202 according to the predicted value calculated by the predicted value calculator 201. Select a code table.
  • Table 2 is an example of a code table that associates the number of coefficients and the code number prepared in advance by the code table storage unit 202.
  • code table 1 assigns a code number equal to the number of coefficients
  • code table 2 assigns a code number such that 2 of the number of coefficients is the center. Waving.
  • code table 3 shows the code table selection criteria based on the predicted values. Table 3
  • the code table selector 203 refers to the code table 1 when the predicted value calculated by the predicted value calculator 201 is 2 or less, and the code table 2 when the predicted value is 3 or more and 5 or less. Is selected.
  • the method of allocating predicted values or the reference table in Table 3 can be handled in the same way when other items are used.
  • the VLC table selector 204 selects the VLC that is actually used from among a plurality of VLC tables in the VLC table storage 205 according to the predicted value calculated by the predicted value calculator 201. Select a table.
  • Table 4 is an example of a VLC table that associates a code number prepared in advance by the VLC table storage unit 205 with a variable length code.
  • the VLC table 1 is designed to have a larger bit amount in the region with a larger code number than the VLC table 4, but is designed to have a smaller bit amount in the region with a smaller code number. Have been.
  • the VLC table 1 is more efficient when the code number occurrence probability is concentrated in the lower value area, and the VLC table 4 is more efficient when the code number is dispersed in the higher value area. This indicates that long coding can be performed.
  • four types of VLC tables are prepared, but the number of types of tables and the values of the tables can be handled in the same way when other values are used.
  • Table 5 shows the criteria for selecting VLC tables based on the predicted values. Table 5
  • the VLC table selector 204 refers to the VLC table 1 when the predicted value calculated by the predicted value calculator 201 is 1 or less, and the VLC table 2 when the predicted value is 2 or more and 3 or less. Is selected.
  • the method of reallocating forecast values or the reference table in Table 5 can be handled in the same way when other items are used.
  • the coefficient number encoder 206 performs variable length encoding of the number of coefficients of the input block to be encoded with reference to the code table and the Vl_C table selected by the above processing. .
  • the coefficient number encoder 206 first converts the number of coefficients into a code number using a code table, and then converts it into a variable length code corresponding to the code number using a VLC table.
  • FIG. 5 is a schematic diagram showing an example of encoding when the predicted value calculated by the predicted value calculator 201 is “6” and the number of coefficients of the block to be coded is “4”. Since the predicted value is “6”, code table 3 shown in FIG.
  • VLC table selector 204 selects VLC table 3 shown in FIG.
  • the coefficient number encoder 2 06 converts the input number of coefficients “4” into a recode number “2” according to the code table 3, and further converts the final code string “0 1 0” according to the VLC table 3. 0 " Generate
  • FIG. 6 (a) is a schematic diagram showing a reference block for a macroblock to be encoded in the predicted value calculator 201.
  • a bold frame including blocks denoted by B 1 to B 16 indicates a macro block to be encoded
  • a hatched block indicates a reference block for the macro block to be encoded.
  • the number of the code attached to the block indicates the encoding order in the macro block.
  • the coefficient number storage unit 110 stores the number of coefficients detected by the coefficient number detector 109 at the time of starting processing of the macroblock to be coded as shown in FIG. 6 (a), for example. At least the reference blocks indicated by diagonal lines in Fig. 6 (a) that are required for the macroblock to be encoded are stored. That is, the coefficient number storage unit 110 stores the number of coefficients detected for the blocks (B 1, B 2, B 3, ⁇ B 16) of the macroblock to be sequentially processed. . For example, if the block to be encoded is block B6, the coefficient count storage unit 110 stores the already processed blocks B1, B2, B3, The number of each coefficient of B4 and B5 is stored.
  • the coefficient number storage unit 110 stores the number of coefficients of the block B6. In this way, the coefficient number storage unit 110 stores the number of coefficients detected for the blocks (B 1, B 2, B 3,-) of the macroblock to be encoded which are sequentially processed. You.
  • the processing of this macroblock MB11 ends, and the processing moves to the next macroblock MB12.
  • the unit 11O holds at least the number of coefficients in the block in the lower row and the block in the right row (the shaded block) of the macroblock MB11.
  • the coefficient number storage unit 110 also similarly stores the lower row and the right row of the macro block MB 1 2
  • the number of coefficients of the block of the macroblock MB11 is kept at least as well as the number of coefficients of the block in the lower row (hatched block) of the macroblock MB11, as shown in Fig. 7 (b).
  • the coefficient number storage 110 stores at least the number of coefficients in the block in the lower row of the macro block MB9 (the shaded block) as shown in FIG. 7 (b). Keep it.
  • the coefficient count storage 110 stores at least the number of coefficients of the block in the right column (the shaded block) of the macroblock MBm as shown in Fig. 7 (c). deep.
  • the coefficient number storage unit 110 stores the number of coefficients for the referenced block. It should be noted that the information on the number of coefficients other than the blocks, which has been retained in the above description, can be deleted at an arbitrary timing as long as the information is no longer referred to. For example, it can be deleted when the processing moves to the next macro block, or it can be deleted during the processing of the macro block. Also, do not refer to It is not necessary to delete the number of coefficients for a closed block. For example, the coefficient number storage unit 110 may recognize that the number of coefficients for a block that is no longer referred to is unnecessary, and may overwrite as necessary.
  • the coefficient number of the encoded block is stored in the coefficient number storage unit 110 so that the coefficient can be referred to.
  • the coefficient values of the blocks converted into the spatial frequency components it is also possible to use a configuration in which the number of coefficients is calculated as necessary.
  • the prediction value is calculated from the number of coefficients of the encoded peripheral block, and the code table and the VLC table are adaptively switched according to the prediction value for reference.
  • the prediction value is calculated from the number of coefficients of the encoded peripheral block, and the code table and the VLC table are adaptively switched according to the prediction value for reference.
  • a block X to be coded is used as shown in FIG. 4B. It is also possible to use only two blocks in a positional relationship between blocks B and D. At this time, if two blocks in the positional relationship between blocks B and ⁇ D are not coded, a block located outside the picture or outside the slice occurs. Changes the reference block as shown in Table 6.
  • means a coded block as in Table 1
  • X means a block that has not been coded or cannot be referenced because it is located outside the picture or outside the slice.
  • the items of ⁇ X and reference block in Table 6 can be handled in the same way even when other items are used. If it is determined that there is no reference block, 0 or another arbitrary value is directly given as a predicted value.
  • the coefficient number storage unit 110 stores the number of coefficients detected by the coefficient number detector 109 as shown in FIG. 6 (b), which is necessary at least for the macroblock to be encoded. What is necessary is just to memorize
  • a method of calculating the predicted value in the predicted value calculator 201 instead of fixing the average value, the maximum value, the minimum value, or the median value, for example, an optimal one is selected. It is also possible to select by sequence or GOP or picture or slice. At this time, a code for identifying the selected calculation method is added to the sequence of the code sequence or the GOP or the header area of the picture or slice. Note that a slice refers to a single picture divided into multiple areas, for example, an area corresponding to one row in the horizontal direction in units of macroblocks.
  • an average value, a maximum value, a minimum value, or a median value is selected based on an average value of the number of coefficients of a coded reference block. It is also possible to do so.
  • Table 7 shows the selection criteria.
  • the average value is 4 or less, the minimum value of the number of coefficients of the plurality of reference blocks is used as the predicted value, and if the average value is 5 or more and 8 or less, the average value is used as the predicted value.
  • the quantization step is small and the motion is complicated, the probability that a large number of coefficients will appear is high.Therefore, by selecting the maximum value, conversely, when the quantization step is large and the motion In a simple block, the probability of the appearance of a small number of coefficients increases, so the effect of improving coding efficiency can be expected by selecting the minimum value.
  • the method of allocating the average value or the method of calculating the predicted value in Table 7 can be similarly applied when other items are used.
  • the coefficient number encoder 1 1 1 performs variable length coding on the value of the coefficient itself, but the prediction value calculation is performed as shown in FIG. 3 (b).
  • the difference value between the predicted value of the calculator 201 and the value of the number of input coefficients is calculated by the difference calculator 207, and the obtained value is processed by the same processing as in the above embodiment. It is also possible to perform variable length coding. You. As a result, when the change in luminance and color difference is monotonic over the entire screen, an effect of improving the coding efficiency can be expected for an image in which the change in the number of coefficients between peripheral blocks is small.
  • both the code table and the VLC table are switched by the coefficient number encoder 111 according to the predicted value based on the number of coefficients of the peripheral block, and the variable length coding is performed.
  • FIG. 8 (a) is a block diagram showing a configuration of the coefficient number encoder 111 when variable length encoding of the number of coefficients is performed by fixing only the code table.
  • FIG. 8 (b) is a block diagram showing a configuration of the coefficient number encoder 111 when performing variable length encoding of the number of coefficients by fixing only the VLC table.
  • the coefficient unit encoder 1 1 1 uses the code table storage 2 02 and the code table selector 2 shown in Fig. 3 (a).
  • a code table storage unit 3 0 1 is provided in place of 0 3.
  • This code table storage unit 301 has one type of code table.
  • the coefficient number encoder 206 converts the number of coefficients into a code number using the code table of the code table storage unit 301, and then converts it to the VLC table selector 204.
  • the code number is converted into a variable-length code using the VLC table selected.
  • FIG. 8 (a) the coefficient unit encoder 1 1 1 uses the code table storage 2 02 and the code table selector 2 shown in Fig. 3 (a).
  • a code table storage unit 3 0 1 is provided in place of 0 3.
  • This code table storage unit 301 has one type of code table.
  • the coefficient number encoder 206 converts the number of coefficients into a code number using the code table of the code table storage unit 301, and then converts it to the VLC table
  • the coefficient number encoder 1 1 1 is provided with the VLC table storage 2 0 5 and the VLC table selector 2 0 shown in FIG. 3 (a).
  • a VLC table storage 302 is provided in place of 4.
  • This VLC table storage unit 302 stores one type of V Has an LC table.
  • the coefficient number encoder 206 converts the number of coefficients into a code number using the code table selected by the code table selector 203, and then converts the number of coefficients into a VLC table storage unit 30.
  • the code number is converted to a variable length code using the VLG table of 2.
  • FIG. 8 (c) is a block diagram showing a configuration of the coefficient number encoder 111 when performing variable length encoding of the number of coefficients using only the VLC table without using the code table. In this case, as shown in FIG.
  • the coefficient number encoder 111 does not include the code table storage unit 202 and the code table selector 203 shown in FIG. 3 (a).
  • the VLC table selector 3 0 based on the predicted value calculated by the predicted value calculator 2 0 1, selects one of the VLC tables stored in the VLC table storage 3 4 4. Select the VLC table to be actually used from.
  • the coefficient number encoder 206 directly converts the number of coefficients into the code number using the VLC table without converting the number of coefficients into the code number using the code table as described above. Converts a number to a variable length code.
  • the code number portion is the number value of the coefficient.
  • FIG. 9 shows an example of the configuration of the coefficient count encoder 1 1 1 when both the code table and VLC table are fixed and variable length coding is performed on the difference between the predicted value and the number of coefficients.
  • the coefficient number encoder 1 1 1 1 is replaced by a code table storage 3 0 2 instead of the code table storage 2 0 2 and the code table selector 2 3 3 shown in FIG. 1 is provided with a VLC table memory 302 instead of the VLC table memory 205 and the VLC table selector 204.
  • the code table storage unit 301 has one type of code table
  • the V table storage unit 302 has one type of VLC table.
  • the coefficient number encoder 206 converts the difference between the number of coefficients and the predicted value into a code number using the code table of the code table storage unit 301, and then The code number is converted to a variable length code using the VLC table of the VLC table storage unit 302.
  • the configuration of the image encoding apparatus according to the present embodiment and the outline of the encoding process are exactly the same as those of the first embodiment except for the coefficient number encoder 111 shown in FIG.
  • the details of the variable-length encoding process of the number of coefficients performed in the coefficient number encoder 11 1 in the second embodiment will be described with reference to FIGS. 10 to 11.
  • FIG. 10 (a) is a block diagram showing the internal configuration of the coefficient number encoder 1 11 in detail.
  • the coefficient number encoder 111 generates a code table in place of the code table storage 202 and the code table selector 203 shown in FIG. 3 (a).
  • the container 70 1 is provided.
  • the code table generator 700 has the coefficient block memory 1101 in FIG. The number of numbers is entered.
  • the code table generator 70 1 counts, for each value of the number of coefficients, how many coded blocks have the same number of coefficients, and, based on the statistics, determines the number of the most frequently occurring coefficient. Code numbers are assigned in order from the number and a code table is created.
  • FIG. 11A is a schematic diagram showing the position of an encoded block to be statistically processed.
  • P 1, P 3 and P 4 are pictures for performing inter-picture prediction coding
  • I 2 is a picture for performing intra-picture prediction coding.
  • the current block to be coded belongs to P3
  • all blocks of P1 which is the immediately preceding picture coded by the same method, are subject to statistics.
  • the block of one picture including the coded block in the current picture to be coded is subject to statistics as shown in Fig. 11 (b). It is. If there is no encoded block for one picture that can be the target of statistics, a table given in ascending order from 0 is used as the initial state code table.
  • the block for one picture is taken as a statistical object, but the case where the number of other blocks is used as a parameter can be handled in the same way.
  • the code table is generated by referring to the state shown in FIG. 11 (a), the table needs to be generated only once when the encoding of the target picture is started.
  • the prediction value calculator 201 receives the number of coefficients of the encoded block located in the vicinity.
  • the predicted value calculator 201 determines the predicted value by taking an average value based on these values in the same manner as in the first embodiment.
  • any one of the maximum value, the minimum value, and the median value can be used instead of the average value.
  • the coded blocks referred to at this time are, as in the first embodiment, three pro- jects having a positional relationship of B, C, and D with respect to the block X to be coded shown in FIG. It is determined according to Table 1 using a check.
  • the items of ⁇ X and reference block in Table 1 can be handled in the same way even if other items are used. If it is determined that there is no reference block, 0 or any other value is directly given as a predicted value.
  • the predicted value calculated by the predicted value calculator 201 is used only in the VLC table selector 204.
  • the VLC table selector 204 stores a table out of a plurality of VLC tables prepared in advance as shown in Table 4 in the VLC table storage unit 205 in accordance with the predicted value, similarly to the first embodiment. Select the VLC table to be used for encoding the number of coefficients according to the selection criteria as shown in 5.
  • the number-of-coefficients encoder 206 refers to the code table generated by the code table generator 701 and the VLC table selected by the VLC table selector 204, and differs from the first and second embodiments. Similarly, variable-length encoding is performed on the number of coefficients of the input block to be encoded.
  • a record table is created by calculating the number of coefficients of an encoded block, and further, a prediction value calculated from the number of coefficients of the encoded block is calculated.
  • the coded block referred to in the predicted value calculator 201 is replaced with a code as shown in FIG. 4 (b) instead of the three peripheral blocks as shown in FIG. 4 (a). It is also possible to determine according to Table 6 using only two blocks having a positional relationship of B and D with respect to the block X to be converted. In addition, the items of ⁇ X and reference block in Table 6 can be handled in the same manner even when other items are used. If it is determined that there is no reference block, 0 or any other value is directly used as the predicted value. And give.
  • the best one can be selected for each sequence, GOP, picture, or slice.
  • a code for identifying the calculation method selected at that time is added to the sequence of the code string or the GOP or the header area of the picture or slice.
  • a method of calculating a predicted value in the predicted value calculator 201 is, for example, a method of calculating an average value, a maximum value, a minimum value, or a median value in a coded reference block. It is also possible to select according to the average value of the number of coefficients. Table 7 shows the selection criteria, but the method of allocating the average value or the method of calculating the predicted value here can be handled in the same way when other items are used.
  • the coefficient number encoder 1 1 1 performs variable length coding on the value of the number of coefficients itself, but as shown in FIG. ),
  • the difference between the predicted value calculated by the predicted value calculator 201 and the value of the number of input coefficients is calculated by the difference calculator 207 in the same manner as described above. It is also possible to perform variable length coding by processing.
  • the coefficient number encoder 111 switches the VLC table according to the predicted value based on the number of coefficients of the peripheral block, and performs variable length coding.
  • the VLC table can be fixed and used without switching. In that case, it can be realized by using only a VLC table storage having one type of VLC table instead of using a VLC table selector. (Embodiment 3)
  • the configuration of the image encoding apparatus according to the present embodiment and the outline of the encoding process are exactly the same as those of the first embodiment except for the coefficient number encoder 111 shown in FIG.
  • details of the variable length encoding process of the number of coefficients performed in the third embodiment in the coefficient number encoder 111 will be described with reference to FIG. 12 and Tables 8 to 9.
  • FIG. 12 (a) is a block diagram showing the internal configuration of the coefficient number encoder 1 11 in detail.
  • the coefficient number encoder 111 does not include the predicted value calculator 201 shown in FIG. 3 (a).
  • the code table selector 901 and the VLC table selector 902 can be implemented by using the number of directly coded block coefficients without using a different re-prediction value from the first embodiment. Select the table to use for As shown in Fig. 4 (b), only two coded blocks that have a positional relationship of B (top) and D (left) with respect to block X to be coded are used. However, if the top and left blocks are not coded or are outside the picture or outside the slice, substitute 0 or any other value as the number of coefficients.
  • Table 8 shows the code table selection method in the code table selector 901.
  • the code table selector 901 classifies the number of coefficients of the blocks located above and to the left of the block to be coded into two groups according to their values, and forms The table is selected according to the combination of the four. For example, if the number of coefficients in the left block is 3 and the number of coefficients in the upper block is 8, code table 2 will be selected.
  • the method of classifying the number of coefficients in the upper and left blocks in Table 8 and the method of allocating the code table can be handled in the same manner when using other codes.
  • Table 9 shows a method of selecting the VLC table in the VLC table selector 902.
  • the VLC table selector 902 selects a VLC table to be actually referred to by using a selection method as shown in Table 9 as in the case of the code table selector 901.
  • the number-of-coefficients encoder 206 refers to the code table selected by the code table selector 901, and the VLC table selected by the VLC table selector 902, and executes the implementation. As in the first embodiment, variable-length coding is performed on the number of coefficients of the input block to be coded.
  • the number of coded block coefficients located above and to the left of the block to be coded is classified into N groups according to the values, and NXN patterns formed at that time are classified.
  • the coefficient number encoder 1 1 1 performs variable-length coding on the value of the number of coefficients itself, as in the first embodiment.
  • the difference between the predicted value calculated by the predicted value calculator 201 and the value of the number of input coefficients is calculated by the difference calculator 207 as shown in. It is also possible to perform variable length coding by processing.
  • both the code table and the VLC table are switched by the coefficient number encoder 111 according to the number of coefficients of the peripheral block, and variable-length coding is performed.
  • mode 1 it is also possible to fix one of them without switching, in which case one type of code table or VLC instead of using a table selector This can be realized by using only a memory having a table.
  • variable length coding by switching only the VLC table according to the number of coefficients of peripheral blocks without using a code table.
  • FIG. 13 (a) is a block diagram showing the internal configuration of the coefficient number encoder 1 1 1 in detail.
  • the coefficient number encoder 1 1 1 is composed of the prediction value calculator 210, code table selector 203, and VLC table selector 20 shown in Fig. 3 (a).
  • a table selector 1001 is provided in place of 4, a table selector 1001 is provided.
  • the table selector 100 1 uses the number of coefficients of the directly coded block without using a predicted value, and evaluates both the code table and the VLC table at the same time.
  • the table selector 1001 calculates the sum of the lengths of the code strings generated as a result of coding the number of coefficients of the reference block by using the code table and the VLC table simultaneously, and uses the sum as an evaluation value I do.
  • Figure 14 shows a method in which the number of coefficients of three reference blocks is encoded using a code table and a VLC table, and the sum of the lengths of the obtained code strings is calculated and used as an evaluation value.
  • the table selector 1001 performs this processing for all the code tables and the combinations of the VLC tables included in the code table storage unit 202 and the VLC table storage unit 205. And select the combination of the code table and VLC table that minimizes the obtained evaluation value.
  • the number-of-coefficients encoder 206 refers to the code table and the VLC table selected by the table selector 1001, and calculates the number of coefficients of the input block to be encoded in the same manner as in the first embodiment. Variable-length encoding. As described above, in the present embodiment, the number of coefficients of the encoded peripheral block is coded using the code table and the VLC table. By referring to the code table and VLC table of the combination that minimizes this, it is possible to efficiently encode the number of coefficients even for pictures in which the frequency of appearance of the coefficients is not uniform.
  • the coded blocks referred to in the table selector 1001 are replaced with three peripheral blocks as shown in FIG. 4 (a) as shown in FIG. 4 (b). It is possible to treat the block X to be coded in the same way by using only two blocks having a positional relationship of B and. However, if the blocks located in these are not encoded or are outside the picture, substitute 0 or any other value as the number of coefficients.
  • the coefficient number encoder 11 1 performs variable length coding on the value of the number of coefficients itself, but as in the first embodiment, FIG.
  • the difference value between the predicted value calculated by the predicted value calculator 201 and the value of the number of input coefficients is calculated by the difference calculator 207, and the obtained value is calculated in the same manner as in the above embodiment. It is also possible to perform variable-length coding by the processing of.
  • the code table and the VLC table are to be switched in coefficient coefficient encoder 111, but it is also possible to use one of them fixed without switching.
  • FIG. 15 is a block diagram showing a configuration of a fifth embodiment of an image encoding device using the image encoding method according to the present invention.
  • the outline of the encoding process is exactly the same as that in Embodiment 1, but the difference is that the coefficient number storage unit 110 is not used.
  • the inter-frame prediction mode is used instead of the number of encoded block coefficients in Embodiment 1 as information to be referred to by the coefficient number encoder 1 201.
  • intra prediction mode is used.
  • variable-length coding of the number of coefficients performed by the coefficient number encoder 1 201 shown in FIG. 15 will be described with reference to FIG. 16 and Tables 10 to 11. I do.
  • FIG. 16 is a block diagram showing the internal configuration of the coefficient number encoder 1201 in detail.
  • the coefficient number encoder 1201 does not include the prediction value calculator 201 shown in FIG. 3 (a).
  • the inter prediction mode is selected from the inter prediction unit 107, and in the case of intra prediction coding, the intra prediction mode is selected from the intra prediction mode 108. 1 and the VLC table selector 1302.
  • the code table selector 1301 selects the table to be used based on the inter-picture prediction mode in the case of inter-picture prediction coding, and the intra-picture prediction mode in the case of intra-picture prediction coding.
  • Table 10 shows a method of selecting a code table in the code table selector 1301.
  • the second table is selected as the code table for performing the variable length coding of the number of coefficients.
  • Each item in Table 10 can be handled in the same way when other items are used.
  • Table 11 shows the method of selecting the VLC channel in the VLC table selector 13302.
  • the VLC table selector 1302 selects the VLC table to be actually referred to using a selection method as shown in Table 11 similarly to the case of the code table selector 1301.
  • the coefficient number encoder 206 refers to the code table selected by the code table selector 1301 and the VLC table selected by the VLC table selector 1302, and performs the execution. As in the first embodiment, variable-length coding is performed on the number of coefficients of the input block to be coded.
  • the mode is the inter-screen prediction mode
  • the intra-screen prediction mode By adaptively switching and referencing the code table and VLC table accordingly, it is possible to efficiently encode the number of coefficients even for pictures where the frequency of appearance of the coefficients is not uniform Is shown.
  • the coefficient number encoder 1 201 performs variable length coding on the value of the number of coefficients itself.
  • the encoded peripheral blocks are encoded. A prediction value is determined using the number of coefficients of the coefficient, and a difference value between the prediction value and the value of the number of inputted coefficients is obtained. Can also be implemented.
  • both the code table and the VLC table are switched in the coefficient number encoder 1201 to perform variable-length coding.
  • One or both of them can be fixed and used without switching. In that case there is one kind of co
  • FIG. 17 is a block diagram showing a configuration of an embodiment of an image decoding device using the image decoding method according to the present invention. Here, it is assumed that a code string generated by the image coding apparatus according to the first embodiment is input.
  • the image decoding device is composed of a code sequence analyzer 1441, a coefficient number storage unit 1402, a coefficient number decoder 1403, a coefficient value decoder 144, an inverse quantizer 14 (H) 5, Inverse orthogonal transformer 144, frame memory 144, inter-picture predictive decoder 144, intra-picture predictive decoder 144, and switch 144 ing.
  • the code string analyzer 1401 extracts the coding mode, the motion vector used during coding, and the number of coefficients from the input code string (the coefficient of the spatial frequency component having a non-zero value in block units). Various types of information such as the number of code strings and coefficient value code strings are extracted.
  • the coefficient number storage unit 1402 stores the number of coefficients of the decoded block.
  • the coefficient number decoder 1 4 0 3 The code string of the number of coefficients is decoded by referring to the number of coefficients of the encoded block.
  • the coefficient value decoder 144 decodes the code string of the coefficient value using the number of coefficients decoded by the coefficient number decoder 144.
  • the inverse quantizer 14 05 performs inverse quantization on the decoded coefficient.
  • the inverse orthogonal transformer 1406 performs inverse orthogonal transform on the inversely quantized data, and converts the data into prediction residual image data.
  • the inter-picture prediction decoder 144 8 extracts the motion vector extracted by the code sequence analyzer 144 1. And generates motion-compensated image data based on the video and decoded pictures.
  • the adder 1 4 1 1 adds the prediction residual image data input from the inverse orthogonal transformer 1 4 0 6 and the motion compensation image data input from the inter prediction decoder 1 4 0 8. And generate the decoded image data.
  • the frame memory 14407 stores the generated decoded image data.
  • the intra-frame prediction decoder 1409 When the macro block to be decoded is coded by intra-frame prediction, the intra-frame prediction decoder 1409 performs intra-frame prediction using information of neighboring decoded blocks. Generate the decoded image data.
  • the code sequence is input to the code sequence analyzer 1401.
  • the code string analyzer 1401 extracts various information such as a code string of the number of motion vectors and coefficients and a code string of coefficient values from the input code string. Then, the code sequence analyzer 1401 sends the motion vector to the inter-screen predictive decoder 144, the code sequence of the number of coefficients to the coefficient number decoder 1403, and the coefficient value
  • the code string is output to the coefficient value decoders 14 04, respectively.
  • the coefficient number decoder 1403 to which the code string of the number of coefficients is input decodes the code string as the number of coefficients having a value other than 0 in the block unit.
  • the coefficient number decoding The unit 1403 decodes the number of coefficients by a method described later by referring to the number of coefficients of the decoded block stored in the coefficient number storage unit 1402.
  • the coefficient value decoder 1404 switches and refers to a code table and a VLC table necessary for variable-length decoding using the information on the number of coefficients obtained by the coefficient number decoder 1443. By doing so, the coefficient value itself is decoded.
  • the obtained coefficient is converted into the prediction residual image data by the inverse quantizer 1405 and the inverse orthogonal transformer 144.
  • the motion vector extracted by the code sequence analyzer 1401 is input to the inter-frame predictive decoder 1408.
  • the inter-picture predictive decoder 1408 uses the decoded image of the decoded picture stored in the frame memory 1407 as a reference picture to generate motion-compensated image data based on the motion vector information. Generate The motion-compensated image data obtained in this manner is generated as re-decoded image data by being added to the prediction residual image data in the adder 1411, and the frame memory 1410 Stored in 7.
  • the intra prediction decoder 1409 performs intra prediction using information of peripheral decoded blocks and performs decoding. Generated image data is stored in the frame memory 14007. Then, they are output from the frame memory 1407 in the order of display time as a final output image.
  • FIG. 18 (a) is a block diagram showing the internal structure of coefficient number decoding 103 in detail.
  • VLC table is a variable-length code in a code string
  • the coefficient number decoder 1 4 0 3 has a prediction value calculator 1 5 0 1, a code table storage 1 5 0 2, a code table selector 1 5 0 3, and a VLC table.
  • a selector 1504, a VLC table storage 1505, and a coefficient number decoder 1506 are provided.
  • the number of coefficients of the decoded block located in the vicinity is input from the coefficient number storage unit 1402 shown in FIG. 17 to the prediction value calculator 1501.
  • the predicted value calculator 1501 determines the predicted value by taking the average of these values. Instead of the average value, any one of the maximum value, the minimum value, and the median value can be used in accordance with the prediction value calculation method at the time of encoding.
  • the decoded block to be referred to at this time is the same as in Embodiment 1 by using three blocks B, C, and D with respect to the block X to be decoded shown in FIG. Determined according to Table 1.
  • indicates a decoded block
  • X indicates a block that has not been decoded or cannot be referenced because it is located outside the picture or outside the slice. Note that the items of ⁇ X and reference block in Table 1 can be handled in the same way even when other items are used. It is determined that there is no reference block. In this case, 0 or any other value is directly given as the predicted value.
  • the code table selector 1503 selects one of a plurality of code tables of the code table storage 1502 according to the predicted value calculated by the predicted value calculator 1501. Select the code table to be actually used from.
  • Table 2 is an example of a code table for associating the number of coefficients prepared in advance by the code table storage unit 1502 with the code numbers.
  • Table 3 shows the code table selection criteria based on the predicted values. The method of reallocating the predicted values in Table 3 or the items in the reference table can be handled in the same way when other items are used. However, in this case, use the same table as used for encoding.
  • the VLC table selector 1504 selects a plurality of VC tables stored in the VLC table storage 1505 in accordance with the predicted value calculated by the predicted value calculator 1501. Select the V table and C table that are actually used from among them.
  • Table 4 shows an example of a VLC table that associates the number of coefficients prepared in advance by the VLC table storage unit 1505 with a code number.
  • four types of VLC tables are prepared, but the number of table types and the values of the tables can be handled in the same way when other types are used. However, in this case, use the same table used for encoding.
  • Table 5 shows the criteria for selecting VLC tables based on the predicted values. It should be noted that the method of allocating the predicted values in Table 5 or the items of the reference table can be similarly treated when other items are used. However, in this case, the table used for encoding It is a condition to use the same.
  • the coefficient number decoder 1506 refers to the code table and VLC table selected by the above processing, and performs variable length decoding on the input code string of the number of coefficients of the decoding target program. I do.
  • the coefficient number decoder 1506 first converts the code string of the number of coefficients into a code number using the VLC table, and then converts the code number corresponding to the code number into the value of the coefficient number using the code table.
  • Fig. 19 shows the decoding results when the predicted value calculated by the predicted value calculator 1501 is "6" and the code string of the number of coefficients of the decoding target block is "0100". It is a schematic diagram which shows an example. Since the predicted value is “6”, the code table 3 shown in FIG.
  • VLC table 3 shown in FIG. 19 is selected from Tables 5 and 4.
  • the coefficient number decoder 1506 converts the input code string "0100" into a record number "2" according to the VLC table 3, and furthermore, the code table 3 Determine the number "4".
  • the details of the coefficient number storage process performed by the coefficient number storage unit 1402 will be described. Note that the description will be made with reference to FIG. 6 (a) used in the description of the first embodiment.
  • the bold frame including the blocks marked with B "! To B16 is the macroblock to be decoded.
  • the hatched block indicates a reference block for the macro block to be decoded, and the number of the code attached to the block indicates the decoding order in the macro block.
  • the coefficient number memory 1402 stores, for example, the number of coefficients decoded by the coefficient number decoder 1403 when the processing of the macroblock to be decoded shown in FIG. , At least the Mac mouth to be decrypted It stores the reference blocks that are required for the blocks and that are indicated by hatching in Fig. 6 (a). That is, the coefficient number storage unit 1402 stores the number of coefficients detected for the blocks (B 1, B 2, B 3,... B 16) of the macroblock to be decoded sequentially processed. I do. For example, when the block to be decoded is block B6, the coefficient number storage unit 1402 stores the already processed blocks B1, B2, B3 in addition to the reference block shown in FIG. 6 (a). , B4, and B5 are stored.
  • the coefficient number storage unit 1402 stores the coefficient number of the block B 6 . In this way, the coefficient number storage unit 1402 stores the number of coefficients decoded for the blocks (B 1, B 2, B 3,-) of the sequentially processed macro block to be decoded. .
  • the processing of this macroblock MB11 ends, and the processing moves to the next macroblock MB12.
  • the coefficient number storage unit 1402 holds at least the number of coefficients of the block in the lower row and the right row (the shaded block) of the macroblock MB11 as shown in FIG. 7 (a).
  • the coefficient count storage unit 1402 similarly stores the lower row of the macroblock MB12. And the number of coefficients in the block in the right column and at least the number of coefficients in the block in the lower column (the shaded block) of the macroblock MB 11 1 as shown in Fig. 7 (b). Keep it.
  • the coefficient number storage unit 1402 holds at least the number of coefficients of the block (the shaded block) in the lower row of the macro block MB9 as shown in FIG. 7 (b).
  • the coefficient count storage unit 1402 holds at least the number of coefficients in the block in the right column (the shaded block) of the macroblock MBm as shown in Fig. 7 (c). Keep it.
  • the coefficient number storage unit 1402 holds the number of coefficients for the referenced block. It should be noted that the information on the number of coefficients other than the blocks, which is held in the above description, can be deleted at an arbitrary timing after the reference is stopped. For example, it can be deleted when the process moves to the next macro block, or it can be deleted during the processing of the macro block. It is not necessary to delete the number of coefficients for blocks that are no longer referenced. For example, the coefficient number storage unit 1402 may recognize that the number of coefficients for a block that is no longer referred to is unnecessary, and may overwrite as necessary.
  • the coefficient of the decoded block is stored in the coefficient number storage unit 1402 so that the decoded block can be referred to.
  • the number of coefficients is calculated as necessary by storing the values of the coefficients of the blocks indicating the spatial frequency components.
  • a predicted value is calculated from the number of coefficients of a decoded peripheral block, and a code table and a VL are calculated according to the predicted value. By adaptively switching and referencing the C table, the number of coefficients can be decoded.
  • a block X to be decoded is used as shown in FIG. 4 (b).
  • means a decoded block as in Table 1
  • X means a block that has not been decoded or cannot be referenced because it is located outside the picture or outside the slice.
  • the items of ⁇ X and reference block in Table 6 can be handled in the same way even when other items are used. If it is determined that there is no reference block, 0 or any other value is directly given as a predicted value. However, use the same value as that used for encoding. In this case, the coefficient number storage unit 1402 needs the number of coefficients decoded by the coefficient number decoder 1443 at least for the macroblock to be decoded. May be stored for the reference block shown in FIG.
  • either the average value, the maximum value, the minimum value, or the median value is fixed. Instead, for example, it is possible to select the best one for each sequence or GOP or picture or slice.
  • the calculation method is determined by decoding a signal for identifying the calculation method described in the header region of the sequence of the code string or the picture or slice.
  • a slice refers to a single picture divided into a plurality of areas, such as an area for one row in the horizontal direction in macroblock units.
  • the average value, the maximum value, the minimum value, or the median value is calculated by averaging the number of coefficients of the decoded reference block. It is also possible to select by. Table 7 shows the selection criteria. The items in Table 7 for the method of calculating the average value and the method of calculating the predicted value can be handled in the same way when other items are used. However, in this case, use the same one used at the time of encoding.
  • the coefficient number decoder 1403 shows a decoding method of a code string in which the value of the number of coefficients is subjected to variable-length coding. It is also possible to decode a variable-length coded sequence for the difference between the predicted value and the number of coefficients, in which case the predicted value is calculated as shown in Fig. 18 (b).
  • the addition value of the coefficient obtained by adding the prediction value calculated by the arithmetic unit 1501 and the difference value of the number of coefficients decoded by the coefficient number Determine the number.
  • the coefficient number decoder 1403 performs variable length decoding by switching both the code table and the VLC table according to prediction values based on the number of coefficients of peripheral blocks. It is also possible to use one of them fixed without switching. That In some cases, this can be realized by preparing only a memory device having one type of code table or VLC table.
  • FIG. 20 (a) is a block diagram showing the configuration of the coefficient number decoder 1443 when performing variable length decoding of the number of coefficients by fixing only the code table.
  • FIG. 20 (b) is a block diagram showing a configuration of the coefficient number decoder 1403 when performing variable length decoding of the number of coefficients while fixing only the VLC table. In the case where only the code table is fixed, as shown in FIG.
  • the coefficient number decoder 1403 outputs the code table memory 150 shown in FIG. 18 (a). 2 and a code table storage unit 1601 in place of the code table selector 1503.
  • the code table storage 1601 has one type of code table.
  • the coefficient number decoder 1 5 0 6 converts a variable length code into code numbers using the first VLC table selected by the VLC table selecting unit 1 5 0 4, then code table storing unit 1 6 0
  • the code number is converted into the number of coefficients using the code table of 1.
  • the coefficient number decoder 1400 3 uses the VLC table storage 1 A VLC table memory 1620 is provided in place of the table selector 1504.
  • the VLC table storages 1 & 0 2 have one type of VLC table.
  • the coefficient number decoder 1506 converts the variable length code into a code number using the VLC table included in the VLC table storage unit 1602, and then converts the code The code number is converted into the number of coefficients using the code table selected by the selector 1503.
  • FIG. 20 (c) is a block diagram showing the configuration of the coefficient number decoder 1443 when performing variable length decoding of the number of coefficients using only the VLC table without using the code table.
  • the coefficient number decoder 1443 is provided with a code table storage unit 1502 shown in FIG. 18 (a) and a code table selection.
  • the vessel 1503 is not provided.
  • the VLC table selector 1603 has the VLC table storage 1640 based on the predicted value calculated by the predicted value calculator 1501. Select the VLC table to be actually used from multiple VLC tables. Then, the coefficient number decoder 1506 directly converts the variable length code into the coefficient number using the VLC table without converting the coefficient number into the code number using the code table as described above. Convert. In this case, in the example of the VLC table shown in Table 4, the code number part is the coefficient number value.
  • Fig. 21 shows the configuration of the coefficient number decoder 1443 when both the code table and the VLG table are fixed and variable length decoding is performed on the difference between the predicted value and the number of coefficients.
  • the coefficient number decoder 1403 is connected to the code table memory 1502 and the code table selector 1503 shown in FIG.
  • the code table storage unit 1601 has one type of code table
  • the VLC table storage unit 1602 has one type of VLC table.
  • the coefficient number encoder 1506 first converts the variable-length code into a code number using the VLC table of the VLC table storage 1602, and then converts the code table to a code number.
  • the code number is converted into a difference value between the predicted value and the number of coefficients using the code table of the storage unit 160 "I. Further, the difference value and the predicted value are added by the addition arithmetic unit 15007.
  • the number of coefficients is calculated by adding
  • the configuration of the image decoding apparatus according to the present embodiment and the outline of the decoding process are exactly the same as those of the sixth embodiment except for the coefficient number decoder 1403 shown in FIG.
  • the details of the variable length decoding process of the number of coefficients performed in Embodiment ⁇ mode 7 in coefficient number decoder 1403 will be described with reference to FIGS. 11 and 22. It is assumed that a code string generated by the image coding device according to the second embodiment is input.
  • FIG. 22 (a) is a block diagram showing the internal structure of the coefficient number decoder 1403 in detail.
  • the coefficient number decoder 1 403 is a code table generator 1 instead of the code table storage 1502 and the code table selector 1503 shown in FIG. 18 (a). 9 0 1 is provided.
  • the number of coefficients of the decoded block is input to the code table generator 1901, from the coefficient number storage 1402 shown in FIG.
  • the code table generator 19001 counts the number of decoded blocks having the same number of coefficients for each value of the number of coefficients, and based on the statistics, the frequency of occurrence is the highest. Code numbers are assigned in order from the highest coefficient number, Create a Bull.
  • FIG. 11 (a) is a schematic diagram showing the position of a decoded block to be statistically processed.
  • P 1, P 3 and P 4 are pictures for performing inter-picture predictive decoding
  • I 2 is a picture for performing intra-picture predictive decoding.
  • the block currently being decoded belongs to P3, all blocks of P1, which is the immediately preceding picture decoded by the same method, are to be statistically targeted.
  • the block for one picture including the decoded block in the picture currently being decoded can be treated in the same way. It is possible. If there is no decoded block for one picture that can be the target of statistics, a table given in ascending order from 0 is used as the code table in the initial state.
  • the block for one picture is taken as a statistical object, but the case where the number of other blocks is used as the parameter can be handled in the same way. However, in this case, use the same number used for encoding.
  • the code table is generated by referring to the data as shown in Fig. 11 (a), the table needs to be generated only once when decoding of the target picture is started. .
  • the number of coefficients of the decoded block located in the vicinity is input to the prediction value calculator 1501.
  • the predicted value calculator 1501 determines the predicted value by taking an average value based on these values in the same manner as in the sixth embodiment. As a method of determining the predicted value, it is also possible to use either the maximum value, the minimum value, or the median instead of the average value.
  • the decoded block referred to at this time is the same as in Embodiment 6 by using three blocks B, C, and D with respect to the decoding target block X shown in FIG. 4 (a). Determined according to Table 1. Note that the items of ⁇ X and reference block in Table 1 can be handled in the same way even if other items are used. It is possible. If it is determined that there is no reference block, 0 or any other value is directly given as a predicted value. However, use the same value as that used for encoding.
  • the predicted value calculated by the predicted value calculator 1501 is used only in the VLC table selector 1504.
  • VLC table selector 1504 in accordance with the predicted value, stores in the VLC table storage 1505 from a plurality of VLC tables prepared in advance as shown in Table 4 as in the sixth embodiment.
  • the VLC table to be used for decoding the number of coefficients is selected according to the selection criterion as shown in 5.
  • the coefficient number decoder 1506 refers to the code table generated by the code table generator 1901 and the VLC table selected by the VLC table selector 1504, As in the sixth embodiment, variable-length decoding is performed on the input code strings of the number of coefficients.
  • the recode table is created by calculating the number of coefficients of the decoded block, and furthermore, according to the prediction value calculated from the number of coefficients of the decoded block.
  • the VLC table can be determined by referring to both of them, and decoding of the number of coefficients can be performed by referring to both of them.
  • the decoded block referred to in the predicted value calculator 1 501 as in the sixth embodiment Uses only two blocks that are in the B and D positions with respect to the block X to be decoded, as shown in Fig. 4 (b), instead of the three neighboring blocks as in Fig. 4 (a). It can be determined according to Table 6.
  • the items of ⁇ X and reference block in Table 6 can be handled in the same way even when other items are used. If it is determined that there is no reference block, 0 or any other value is directly given as the predicted value. However, use the same value used for encoding.
  • a method of calculating a predicted value in the predicted value calculator 1501 is not fixed to either the average value, the maximum value, the minimum value, or the median, but, for example, It is also possible to select the best one for each sequence or GOP or each picture or slice. In this case, the y calculation method is determined by decoding a signal for identifying the calculation method described in the sequence of the code string or the header area of the GOP or the picture or slice.
  • a method of calculating a predicted value in the predicted value calculator 1501 is, for example, a method of calculating the average value, the maximum value, the minimum value, or the median value of a decoded reference block. It is also possible to select according to the average value of the number of coefficients. Table 7 shows the selection criterion, but the items of the method of reallocating the average value or the method of calculating the predicted value here can be handled in the same way when other items are used. However, in this case, use the same one used for encoding.
  • the decoding method of a code string in which the value of the number of coefficients itself is subjected to variable-length coding is shown. It is also possible to decode a code string in which the difference value has been subjected to variable length coding.
  • the prediction value calculated by the prediction value calculator 1501 and the difference value of the number of coefficients decoded by the coefficient number decoder 1506 are added. The number of coefficients is determined by adding them in the unit 1507.
  • the coefficient number decoder 1403 switches the VLC table by a prediction value based on the number of coefficients of peripheral blocks to perform variable length decoding.
  • VLC table fixed without switching. In that case, instead of using the VLC table selector, you have one type of VLC table This can be realized by using only the VLC table storage device.
  • FIG. 23 (a) is a block diagram showing the internal configuration of the coefficient number decoder 1443 in detail.
  • the coefficient number decoder 1403 does not include the predicted value calculator 15001 shown in FIG. 18 (a).
  • the code table selector 2001 and the VLC table selector 2002 use the number of coefficients of the directly decoded block without using a prediction value, unlike Embodiment 6. Select the actual table to use.
  • only two decoded blocks to be referred to are in the positional relationship of B (top) and D (left) with respect to the block X to be decoded as shown in Fig. 4 (b).
  • this value uses the same value used at the time of encoding.
  • Table 8 shows the method of selecting the code table in the code table selector 2001.
  • the code table selector 2001 classifies the number of coefficients of the blocks located above and to the left of the block to be decoded into two groups according to their values, and forms them accordingly. Select a code table by four combinations.
  • the table Regarding the method of classifying the number of coefficients in the upper and left blocks in 8 and the method of assigning a code table the same can be applied to cases where other methods are used. However, in this case, use the same one used for encoding.
  • the VLC table selector 2002 selects a VLC table to be actually referred to by using a selection method as shown in Table 9 similarly to the case of the code table selector 2001.
  • the coefficient number decoder 1506 refers to the code table selected by the code table selector 2001 and the VLC table selected by the VLC table selector 200, and As in the sixth embodiment, variable-length decoding is performed on the number of coefficients of the input block to be decoded.
  • the number of coefficients of decoded blocks located above and to the left of the block to be decoded is classified into N groups according to the values, and NXN patterns formed at that time are classified.
  • the number of coefficients can be decoded by adaptively switching and referencing the code table and VLC table according to the combination of.
  • the present embodiment shows a decoding processing method for a code string in which the value of the number of coefficients itself is subjected to variable-length coding, the difference between the predicted value and the number of coefficients is shown. It is also possible to decode a code string in which the difference value has been subjected to variable length coding. In this case, as shown in Fig. 23 (b), the predicted value calculated by the predicted value calculator 1501 and the difference value of the number of coefficients decoded by the coefficient number decoder 1506 are added. The number of coefficients is determined by adding them in the unit 1507.
  • the coefficient number decoder 1403 performs variable length decoding by switching both the code table and the VLC table according to the number of coefficients of peripheral blocks.
  • the coefficient number decoder 1403 performs variable length decoding by switching both the code table and the VLC table according to the number of coefficients of peripheral blocks.
  • FIG. 24 (a) is a block diagram showing the internal structure of the coefficient number decoder 1443 in detail.
  • the coefficient number decoder 1403 is composed of the predicted value calculator 1501 shown in Fig. 18 (a), the code table selector 1503, and the VLC table.
  • a table selector 2101 is provided in place of the selector 1504.
  • the table selector 2 101 uses the number of coefficients of the directly decoded block without using a different re-prediction value from Embodiment 6, and evaluates both the code table and the VLC table at the same time. Select the table to be used.
  • the decoded block to be referred to at this time three blocks having a positional relationship of B, C, and D with respect to the block X to be decoded are used as shown in Fig. 4 (a). However, if the blocks located in these are not decoded or are outside the picture or outside the slice, substitute 0 or any other value as the number of coefficients. However, this value is the same as used during encoding Use values.
  • the table selector 2101 uses a code table and a VLC table simultaneously in the same manner as in Embodiment 4 to code the number of reference block coefficients and generates a code sequence. Calculate the sum of the lengths and use it as the evaluation value. Then, the table selector 2101 performs this processing on all combinations of the code table and the VLC table that the code table storage 1502 and the VLC table storage 1505 have, and obtains the result. Select the combination of the code table and VLC table that gives the lowest evaluation value.
  • the number-of-coefficients decoder 1506 refers to the code table and the VLC table selected by the table selector 2101, and calculates the number of coefficients of the block to be decoded input in the same manner as in the sixth embodiment. Performs variable-length decoding.
  • the number of decoded peripheral block coefficients is encoded using the code table and the VLC table, and the sum of the lengths of the code strings at that time is used as the evaluation value.
  • the number of coefficients can be decoded by referring to the combination code table and VLC table that minimizes this.
  • the decoded blocks referred to by the table selector 2101 are replaced by three peripheral blocks as shown in FIG. 4 (a) as shown in FIG. 4 (b). It is possible to treat the block X to be decoded in the same way by using only two that have a positional relationship of B and. However, if the blocks located in these are not decoded or are outside the picture, substitute 0 or any other value as the number of coefficients. However, use the same value used for encoding. Also, in the present embodiment, the decoding method of a code string in which the value of the number of coefficients itself is subjected to variable-length coding is shown.
  • the code number decoder and the VLC table are switched in coefficient number decoder 1443, but one of them can be fixed and used without switching.
  • the configuration of the image decoding apparatus according to the present embodiment and the outline of the decoding process are exactly the same as those of Embodiment '6 except for the coefficient number decoder 1403 shown in FIG.
  • the information referred to in coefficient number decoder The prediction mode is used instead of the number of coefficients of the decoded block in the sixth embodiment.
  • the intra prediction mode is used in the case of intra prediction decoding. It is assumed that a code string generated by the image coding device according to the fifth embodiment is input.
  • variable length decoding process of the number of coefficients performed in the coefficient number decoder 1403 shown in FIG. 17 will be described with reference to FIG.
  • FIG. 25 is a block diagram showing the internal configuration of the coefficient number decoder 1443 in detail.
  • the coefficient number encoder 1403 does not include the predicted value calculator 1501 shown in FIG. 18 (a).
  • Screen prediction mode in case of inter-picture prediction decoding is also the case of intra prediction decoding intra prediction mode, It is input to a code string analyzer 1401 and a recordable selector 2201 and a VLC table selector 222.
  • the code table selector 2201 selects the table to be used based on the inter-picture prediction mode in the case of inter-picture prediction coding and the intra-picture prediction mode in the case of intra-picture prediction coding. select.
  • Table 10 shows the method of selecting a code table in the code table selector 2201.
  • the VLC table selector 2202 selects a VLC table to be actually referred to by using a selection method as shown in Table 11 similarly to the case of the code table selector 2201.
  • the coefficient number decoder 1506 refers to the code table selected by the code table selector 222 and the VLC table selected by the VLC table selector 222. As in the sixth embodiment, variable-length decoding is performed on the number of coefficients of the input block to be decoded.
  • the code when the block to be decoded is the inter-picture prediction decoding, the code corresponds to the inter-picture prediction mode, and for the intra-picture prediction decoding, the code corresponds to the intra-picture prediction mode.
  • the number of coefficients can be decoded by adaptively switching and referencing the table and VLC table.
  • a method of decoding a code string in which the value of the number of coefficients itself is subjected to variable-length coding is shown. It is also possible to decode a code string in which variable length coding has been performed on the difference between the measured value and the number of coefficients.
  • a prediction value is determined using the number of encoded peripheral block coefficients in the same manner as in Embodiment 6, and the predicted value and the number of coefficients decoded by the coefficient number decoder 1506 are calculated. The number of coefficients is determined by adding the difference values.
  • both the code table and the VLC table are switched in the coefficient number decoder 1403 to perform variable-length decoding.
  • One or both of them can be fixed and used without switching. In that case, it can be realized by preparing only a memory device with one type of code table or VLC table.
  • an encoding and decoding program for realizing the configuration of the encoding and decoding processes described in each of the above embodiments may be recorded on a data storage medium such as a flexible disk.
  • a data storage medium such as a flexible disk.
  • FIG. 26 is a diagram for explaining a case where the encoding or decoding processing of the first to tenth embodiments is performed by a computer system using a flexible disk storing the encoding and decoding programs. It is.
  • Figure 26 (b) shows the appearance, cross-sectional structure, and flexible disk viewed from the front of the flexible disk
  • Figure 26 (a) shows an example of the physical format of the flexible disk that is the recording medium body.
  • the flexible disk FD is built in the case F, and a plurality of tracks Tr are formed concentrically from the outer circumference toward the inner circumference on the surface of the flexible disk FD. Each track is angularly divided into 16 sectors Se. Therefore, in the flexible disk storing the program, data as the program is recorded in an area allocated on the flexible disk FD.
  • FIG. 26 (c) shows a configuration for recording and reproducing the program on the flexible disk FD.
  • the above program is recorded on the flexible disk FD
  • data as the above program is written from the computer system Cs via the flexible disk drive.
  • the encoding and decoding apparatus is constructed in a computer system using a program in a flexible disk
  • the program is read from the flexible disk by a flexible disk drive and transferred to the computer system.
  • the description has been made using a flexible disk as a data recording medium, but the same can be done using an optical disk.
  • the recording medium is not limited to this, and the present invention can be similarly implemented as long as the program can be recorded, such as an IC card or a ROM cassette.
  • FIG. 27 is a block diagram showing the overall configuration of a content supply system ex100 for realizing a content distribution service.
  • the communication service providing area is divided into desired sizes, and base stations ex107 to ex110, which are fixed wireless stations, are installed in each cell.
  • the content supply system ex100 is, for example, provided with an internet ex101 and an internet service provider ex102 and a telephone network ex104, and base stations ex107 to ex101. 0 through computer ex 1 1 1, PDA (persona I digital ass i stant) ex 1 1 2, camera ex 1 Devices such as 13, mobile phone ex114 and camera-equipped mobile phone ex115 are connected.
  • PDA persona I digital ass i stant
  • each device may be directly connected to the telephone network ex104 without going through the base station exl07-exl10 which is a fixed wireless station.
  • the camera ex l 13 is a device such as a digital video camera capable of shooting moving images.
  • PDC Personal Digital Communications
  • CDMA Code Division Multiple Access
  • W-CDMA Wideband-Code Division Multiple Access
  • GSM Global System for Mobiie Communications
  • PHS Persona I Handyphone System
  • the streaming server exl 03 is connected from the camera exl 13 via the base station ex 109 and the telephone network exl 04, and the encoded processing transmitted by the user using the camera ex 113 is performed. Live distribution based on data becomes possible.
  • the encoding process of the photographed data may be performed by the camera ex113, or may be performed by a server or the like that performs the data transmission process.
  • the moving image data shot by the camera ex111 may be transmitted to the streaming server exl03 via the computer ex111.
  • the camera exl 16 is a device such as a digital camera that can shoot still images and moving images. In this case, the encoding of the moving image data may be performed by the camera exl 16 or the computer exl 11.
  • the encoding process is performed by the LSI ex 117 included in the computer ex 111 and the camera ex 116.
  • the image encoding / decoding software is a storage medium (CD-ROM, Flexible disk, hard disk, etc.).
  • the moving image data may be transmitted by a camera-equipped mobile phone exl15. The moving image data at this time is data encoded by the LSI included in the mobile phone ex15.
  • the content (for example, a video image of a live music shot) shot by the user with the camera ex113, camera ex116, etc. is encoded in the same manner as in the above embodiment.
  • the streaming server ex103 sends the content data to the requested client in a stream, while transmitting the stream to the streaming server ex103.
  • Clients include a computer ex11, a PDA ex12, a camera ex113, a mobile phone ex114, etc., capable of decoding the above encoded data. .
  • the content supply system ex1000 can receive and reproduce the encoded data at the client, and further receive and decode the data in real time at the client, and reproduce the data. This is a system that enables personal broadcasting.
  • each device constituting this system may be performed using the image encoding device or the image decoding device shown in each of the above embodiments.
  • a mobile phone will be described as an example.
  • FIG. 28 is a diagram illustrating the mobile phone ex115 using the image coding method and the image decoding method described in the above embodiment.
  • the mobile phone ex 115 has an antenna ex 210 for transmitting and receiving radio waves to and from the base station ex 110, a camera unit ex 200 capable of capturing images and still images of a CCD camera and the like.
  • 3.Display unit ex202 such as a liquid crystal display, that displays decoded data of the video captured by camera unit ex203, the video received by antenna ex201, etc.
  • Main unit composed of group of operation keys ex204, voice output unit ex200 for voice output for voice output, audio input unit ex205 for microphone etc.
  • mobile phone ex1 1 5 has a slot unit ex206 for allowing a recording medium ex.207 to be mounted.
  • the recording media ex207 is a kind of EEPROM (Electrically ly Erasable and Programmable Read Only Memory), a non-volatile memory that can be electrically rewritten and erased in a plastic case such as an SD card.
  • the element c is stored. Further, the mobile phone ex115 will be described with reference to FIG.
  • the mobile phone exl 15 is provided with a power supply circuit unit and a main control unit ex3 11 1 that controls the components of the main unit including the display unit ex 202 and the operation keys ex 204 in a comprehensive manner.
  • ex 310, operation input control unit ex304, image coding unit ex310, camera writer interface ex303, LCD (Liquid Crystal Display) control unit ex3O2, image decoding The unit ex3O9, the demultiplexing unit ex308, the recording / reproducing unit ex307, the modulation / demodulation circuit unit ex306, and the audio processing unit ex305 are connected to each other via a synchronous bus ex310.
  • the power supply circuit ex310 is provided with a digital camera-equipped mobile phone ex115 which supplies power to each unit from a battery pack when a call is ended and a power key is turned on by a user operation. Is activated.
  • the mobile phone ex115 receives the voice signal collected by the voice input unit ex205 in the voice call mode based on the control of the main control unit ex311, which comprises a CPU, ROM, RAM and the like. It is converted into digital voice data by the voice processing unit ex305, and this is spread spectrum processed by the modem unit ex306, and transmitted. After performing digital-to-analog conversion processing and frequency conversion processing in the reception circuit unit ex301, transmission is performed via the antenna ex201.
  • the mobile phone ex115 also amplifies the received data received by the antenna ex201 in the voice communication mode, performs frequency conversion processing and analog-to-digital conversion processing, and performs processing in the modulation / demodulation circuit section ex306.
  • the signal is despread, converted to analog audio data by the audio processing unit ex305, and output through the audio output unit ex208.
  • the text data of the e-mail input by operating the operation key eX204 of the main unit is transmitted to the main control unit via the operation input control unit ex304. sent to ex3 1 1
  • the main control unit ex311 performs the spread spectrum processing on the text data in the modulation and demodulation circuit unit ex306, performs the digital-analog conversion processing and the frequency conversion processing in the transmission and reception circuit unit ex301, and then executes the antenna ex210. 1 to base station ex 110.
  • the image data captured by the camera unit ex203 is supplied to the image encoding unit ex312 via the camera interface unit ex303.
  • image data captured by the camera unit ex203 is transferred to the display unit ex202 via the camera interface unit ex303 and the LCD control unit ex302. It can also be displayed directly.
  • the image encoding unit ex312 has a configuration including the image encoding device described in the present invention, and encodes the image data supplied from the camera unit ex203 using the image encoding device described in the above embodiment.
  • the image data is converted into encoded image data by performing compression encoding according to an encoding method, and is transmitted to the demultiplexing unit ex308.
  • the mobile phone ex 1 15 simultaneously outputs the sound collected by the sound input unit ex 205 while capturing the image with the camera unit ex 203 to the sound processing unit ex 205.
  • the data is transmitted as digital voice data to the demultiplexing unit ex 308 via the digital audio signal 305.
  • the demultiplexing unit ex 308 multiplexes the coded image data supplied from the image encoding unit ex 310 and the audio data supplied from the audio processing unit ex 305 in a predetermined manner, and as a result, The obtained multiplexed data is subjected to spread spectrum processing in the modulation and demodulation circuit section ex306, and is subjected to digital analog conversion processing and frequency conversion processing in the transmission and reception circuit section ex301, and then transmitted via the antenna ex201. To send.
  • the received data received from the base station ex 110 via the antenna ex 201 is transmitted to the modem circuit ex 310. Then, the spectrum despreading process is performed, and the resulting multiplexed data is sent to the demultiplexing unit ex308.
  • the demultiplexing unit ex 308 separates the multiplexed data to obtain a bit stream of image data and audio data. And supplies the coded image data to the image decoding unit ex 309 via the synchronous bus ex 313 and supplies the audio data to the audio processing unit ex 305 You.
  • the image decoding unit ex309 has a configuration including the image decoding device described in the present invention, and decodes a bit stream of image data corresponding to the encoding method described in the above embodiment.
  • Playback video data is generated by decoding with the decoding method, and this is supplied to the display unit ex202 via the LCD control unit ex302, whereby, for example, a moving image file linked to a homepage is created.
  • the included moving image data is displayed.
  • the audio processing unit ex305 simultaneously converts the audio data into analog audio data, Is supplied to the audio output unit ex208, whereby, for example, audio data included in a moving image file linked to a homepage is reproduced.
  • the device or the image decoding device can be incorporated.
  • the bit stream of the video information is transmitted via radio waves to the communication or broadcasting satellite ex410.
  • the broadcasting satellite ex 410 receiving this transmits a radio wave for broadcasting, receives this radio wave with a home antenna ex 406 having a satellite broadcasting receiving facility, and outputs it to a television (receiver) ex 410 or
  • a device such as a set top box (STB) ex 407 decodes the bitstream and reproduces it.
  • STB set top box
  • the image decoding apparatus described in the above embodiment is also provided in a reproducing apparatus ex 403 that reads and decodes and decodes a bit stream recorded on a storage medium ex 402 such as a GD or a DVD, which is a recording medium. Can be implemented.
  • the reproduced video signal is displayed on the monitor ex404.
  • an image decoding device is mounted in a set-top box ex 407 connected to a cable TV cable ex 405 or a satellite terrestrial broadcasting antenna ex 406, and this is used as a TV monitor.
  • a configuration for playing back with ex408 is also conceivable.
  • the image decoding device may be incorporated in the television instead of the set-top box.
  • a car ex 4 11 having an antenna ex 4 11 1 receives a signal from a satellite ex 4 10 or a base station ex 10 7 or the like, and receives a signal from a car ex 4 12 such as a car navigation ex 4 13 etc. It is also possible to reproduce the video on a different display device.
  • an image signal can be encoded by the image encoding device described in the above embodiment and recorded on a recording medium.
  • a DVD recorder that records image signals on a DVD disc eX421 and a DVD recorder that records video signals on a DVD disc.
  • a recorder eX420 such as a disk recorder.
  • it can be recorded on an SD card ex 4 22. If the recorder ex420 has the image decoding device shown in the above embodiment, the image signal recorded on the DVD disc ex421 or the SD card ex422 is reproduced and the monitor ex420 is reproduced. 8 can be displayed.
  • the configuration of the force navigation ex4 13 is, for example, of the configuration shown in FIG. 29, in which the camera section ex203, the camera interface section ex303, and the image encoding section eX312 are provided.
  • the same configuration can be applied to the computer exl 1 "1 and the television (receiver) ex 401.
  • the above-mentioned terminals such as the mobile phone ex114 are three types of terminals, namely, a transmission / reception terminal having both an encoder and a decoder, a transmission terminal having only an encoder, and a reception terminal having only a decoder. Is possible.
  • the image coding method or the image decoding method described in the above embodiment can be used in any of the above-described device systems, and by doing so, the effects described in the above embodiment can be obtained. Can be obtained. Further, the present invention is not limited to the above-described embodiment, and various changes or modifications can be made without departing from the scope of the present invention.
  • the moving picture coding method when coding the number of non-zero coefficients after orthogonal transformation included in the coding target block, the optimum variable length coding Since the table can be referred to, encoding efficiency can be improved.
  • the number of non-zero coefficients after orthogonal transformation included in a block is encoded with reference to the optimal variable-length encoding table. Can correctly decode existing code strings. Possibility of industrial use.
  • the image encoding method and the image decoding method according to the present invention provide, for example, a mobile phone, a DVD device, and a personal computer which encode an image to generate a code sequence and a generated code. This is useful as a method for decrypting a sequence.

Landscapes

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

Description

明 細 書 画像符号化方法および画像復号化方法 技術分野
本発明は、 画像をディジタル符号化して伝送または蓄積するための画 像符号化方法および画像復号化方法に関するものである。 背景技術
一般に動画像の符号化では、 画面をある一定サイズのブロックに分割 し、 そのブロックごとに画面内予測および画面間予測を行う。 その結果 得られた予測残差信号に対して、 分割の最小単位のブロック (例えば 4 X4画素) ごとに例えば離散コサイン変換等の直交変換を適用し、 その 結果得られた空間周波数成分を示す係数をラン ■ レベル符号化に基づい た可変長符号化によって符号化を行う。
前記可変長符号化では、 直交変換を適用したブロックの持つ係数の値 (レベル)、 および 0の係数が連続する個数 (ラン) に対して可変長符号 の割り当てを行う。 このとき上記値と可変長符号とを対応付けるテープ ルを V L Cテーブルと呼ぷ。 従来の方法では、 前記 V L Cテーブルとし て画面内予測符号化用および画面間予測符号化用それぞれに 1 つずつの テーブルしか用意されていなかった (例えば、 ISO/ IEG 14496- 2: 1999 (E) Information technology -一 coding of audio - visual objects Part 2: Visual (1999 - 12- 01) P.119 7.4.1 Variable length decoding参照)。
上記従来の技術で説明した可変長符号化方法では、 前記 V L Cテープ ノレと して画面内予測符号化用および画面間予測符号化用それぞれに 1 つ ずつのテーブルしか用意されていなかったため、 符号化対象の画像の性 質によって符号化効率が大きく異なるという問題点があった。
前記問題点を解決するために、 複数のテーブルを用意し直交変換を適 用したブロックに含まれる 0以外の係数の個数によって前記複数のテー ブルを切り替えて参照するという方法が考えられる。 これを実現するた めに、 前記 0以外の係数の個数に対しても可変長符号化を適用して符号 化を行う必要があるが、 その符号化方法についてはまだ確立されていな い。 さらに、 対応する復号化方法についてもまだ確立されていない。 本発明は上記の問題点を解決するものであり、 直交変換を適用したブ ロック中に含まれる 0以外の係数の個数を、 対象画像の性質によらず常 に高い効率で符号化を行うことを可能とする画像符号化方法および画像 復号化方法を提案することを目的とする。 発明の開示
上記課題を解決するために、 本発明に係る画像符号化方法は、 画像を プロック毎に空間周波数成分を示す係数に変換して符号化する画像符号 化方法であって、 符号化対象プロックの周辺に位置する符号化済プロッ ク中に含まれる 0以外の係数の個数に基づいて、 前記符号化対象ブロッ ク中に含まれる 0以外の係数の個数の予測値を算出する予測ステップと 前記予測ステツプによリ算出された前記予測値に基づいて可変長符号化 用のテーブルを選択するテーブル選択ステップと、 前記テーブル選択ス 亍ップにより選択された前記可変長符号化用のテーブルを参照して、 前 記符号化対象ブロック中に含まれる 0以外の係数の個数に対して可変長 符号化を行う可変長符号化ステップとを含むことを特徴とする。
これによつて、 符号化対象ブロック中に含まれる 0以外の係数の個数 を符号化する際に、 最適な可変長符号化用のテーブルを参照することが できるので、 符号化効率の向上を図ることができる。 また、 前記予測ステップでは、 前記符号化済ブロック中に含まれる 0 以外の係数の個数の平均値を用いて前記予測値を算出することを特徴と する。
また、 前記可変長符号化用のテーブルは、 少なく とも一つ以上の V L Cテーブルを有し、 前記テーブル選択ステップでは、 前記予測値に基づ いて前記 V L Cテーブルを選択し、 前記可変長符号化ステップでは、 前 記テーブル選択ステップによリ選択された前記 V L Cテーブルを参照し て、 前記符号化対象ブロック中に含まれる 0以外の係数の個数を可変長 符号に変換することを特徴とする。
また、 前記可変長符号化用のテーブルは、 それぞれ少なく とも一つ以 上のコードテーブルおよび V L Cテーブルを有し、 前記テーブル選択ス テツプでは、 前記予測値に基づいて前記コードテーブルおよび前記 V L Cテーブルを選択し、 前記可変長符号化ステップでは、 前記テーブル選 択ステップにより選択された前記コードテーブルを参照して、 前記符号 化対象ブロック中に含まれる 0以外の係数の個数をコード番号に変換し. 前記テーブル選択ステツプにより選択された前記 V L Cテーブルを参照 して、 前記コード番号を可変長符号に変換することを特徴とする。
また、 前記画像符号化方法は、 符号化されていないブロックに隣接す る符号化済ブロック中に含まれる 0以外の係数の個数を、 少なく とも前 記符号化されていないブロックが符号化されるまで記憶する記憶ステツ プを含むことを特徴とする。
また、 前記予測ステップでは、 前記符号化対象ブロックの上および左 に位置する前記符号化済プロック中に含まれる 0以外の係数の個数に基 づいて、 前記符号化対象ブロック中に含まれる 0以外の係数の個数の予 測値を算出することを特徴とする。
また、 前記予測ステップでは、 前記符号化対象ブロックの上および左 の位置に符号化済のブロックがないとき、 前記予測値を 0とすることを 特徴とする。
また、 前記予測ステップでは、 前記符号化対象ブロックの上および左 の位置に前記符号化済プロックがあるとき、 前記符号化対象プロックの 上および左の位置にある前記符号化済ブロック中に含まれる 0以外の係 数の個数の平均値を前記予測値とすることを特徴とする。
また、 前記予測ステップでは、 前記符号化対象ブロックの上の位置に 符号化済のプロックがなく 、 前記符号化対象プロックの左の位置に前記 符号化済ブロックがあるとき、 前記符号化対象ブロックの左の位置にあ る前記符号化済ブロック中に含まれる 0以外の係数の個数を用いて前記 予測値とすることを特徴とする。
また、 前記予測ステップでは、 前記符号化対象ブロックの左の位置に 符号化済のプロックがなく 、 前記符号化対象プロックの上の位置に前記 符号化済ブロックがあるとき、 前記符号化対象ブロックの上の位置にあ る前記符号化済ブロック中に含まれる 0以外の係数の個数を用いて前記 予測値とすることを特徴とする。
また、 前記予測ステップでは、 前記符号化対象ブロックの上境界およ び左境界が前記画像の単位であるピクチャの境界または前記ピクチャを 複数の領域に分割したスライスの境界であるとき、 前記予測値を 0とす ることを特徴とする。
また、 前記予測ステップでは、 前記符号化対象ブロックの上境界およ び左境界が前記画像の単位であるピクチャの境界または前記ピクチャを 複数の領域に分割したスライスの境界でないとき、 前記符号化対象プロ ックの上および左の位置にある前記符号化済ブロック中に含まれる 0以 外の係数の個数の平均値を前記予測値とすることを特徴とする。
また、 前記予測ステップでは、 前記符号化対象ブロックの上境界が前 記画像の単位であるピクチャの境界または前記ピクチャを複数の領域に 分割したスライスの境界であり、 ブロックの左境界がピクチャの境界ま たはスライスの境界でないとき、 前記符号化対象プロックの左の位置に ある前記符号化済ブロック中に含まれる 0以外の係数の個数を用いて前 記予測値とすることを特徴とする。
また、 前記予測ステップでは、 前記符号化対象ブロックの左境界が前 記画像の単位であるピクチャの境界または前記ピクチャを複数の領域に 分割したスライスの境界であり、 ブロックの上境界がピクチャの境界ま たはスライスの境界でないとき、 前記符号化対象ブロックの上の位置に ある前記符号化済ブロック中に含まれる 0以外の係数の個数を用いて前 記予測値とすることを特徴とする。
また、 本発明に係る画像復号化方法は、 ブロック毎に空間周波数成分 を示す係数に変換して符号化された画像を復号化する画像復号化方法で あって、 復号化対象プロックの周辺に位置する復号化済プロック中に含 まれる 0以外の係数の個数に基づいて、 前記復号化対象ブロック中に含 まれる 0以外の係数の個数の予測値を算出する予測ステップと、 前記予 測ステツプによリ算出された前記予測値に基づいて可変長復号化用の亍 一ブルを選択するテーブル選択ステップと、 前記テーブル選択ステップ によリ選択された前記可変長復号化用のテーブルを参照して、 前記復号 化対象ブロック中に含まれる 0以外の係数の個数が符号化されている符 号列に対して可変長復号化を行う可変長復号化ステップとを含むことを 特徴とする。
これによつて、 ブロック中に含まれる 0以外の係数の個数が、 最適な 可変長符号化用のテーブルを参照して符号化されている符号列を正しく 復号化することができる。
また、 前記予測ステップでは、 前記復号化済ブロック中に含まれる 0 以外の係数の個数の平均値を用いて予測値を算出することを特徴と'する, また、 前記可変長復号化用のテーブルは、 少なく とも一つ以上の V L Cテーブルを有し、 前記テーブル選択ステップでは、 前記予測値に基づ いて前記 V L Cテーブルを選択し、 前記可変長復号化ステップでは、 前 記亍一ブル選択ステツプにより選択された前記 V L Cテーブルを参照し て、 前記復号化対象プロック中に含まれる 0以外の係数の個数の可変長 符号を前記係数の個数に変換することを特徴とする。
また、 前記可変長復号化用のテーブルは、 それぞれ少なく とも一っ以 上のコードテーブルおよび V L Cテーブルを有し、 前記テーブル選択ス テツプでは、 前記予測値に基づいて前記コードテーブルおよび前記 V L Cテーブルを選択し、 前記可変長復号化ステップでは、 前記テーブル選 択ステップによリ選択された前記 V L Cテーブルを参照して、 前記復号 化対象ブロック中に含まれる 0以外の係数の個数の可変長符号をコード 番号に変換し、 前記テーブル選択ステツプによリ選択された前記コ一ド テーブルを参照して、 前記コー ド番号を前記係数の個数に変換すること を特徴とする。
また、 前記画像復号化方法は、 復号化されていないブロックに隣接す る復号化済ブロック中に含まれる 0以外の係数の個数を、 少なく とも前 記復号化されていないブロックが復号化されるまで記憶する記憶ステツ プを含むことを特徴とする。
また、 前記予測ステップでは、 前記復号化対象ブロックの上および左 に位置する前記復号化済ブロック中に含まれる 0以外の係数の個数に基 づいて、 前記復号化対象ブロック中に含まれる 0以外の係数の個数の予 測値を算出することを特徴とする。
また、 前記予測ステップでは、 前記復号化対象ブロックの上および左 の位置に復号化済のプロックがないとき、 前記予測値を 0とすることを 特徴とする。
また、 前記予測ステップでは、 前記復号化対象ブロックの上および左 の位置に前記復号化済プロックがあるとき、 前記復号化対象プロックの 上おょぴ左の位置にある前記復号化済ブロック中に含まれる 0以外の係 数の個数の平均値を前記予測値とすることを特徴とする。.
また、 前記予測ステップでは、 前記復号化対象ブロックの上の位置に 復号化済のプロックがなく、 前記復号化対象プロックの左の位置に前記 復号化済プロックがあるとき、 前記復号化対象プロックの左の位置にあ る前記復号化済ブロック中に含まれる 0以外の係数の個数を用いて前記 予測値とすることを特徴とする。
また、 前記予測ステップでは、 前記復号化対象ブロックの左の位置に 復号化済のプロックがなく、 前記復号化対象プロックの上の位置に前記 復号化済ブロックがあるとき、 前記復号化対象ブロックの上の位置にあ る前記復号化済ブロック中に含まれる 0以外の係数の個数を用いて前記 予測値とすることを特徴とする。
また、 前記予測ステップでは、 前記復号化対象ブロックの上境界およ ぴ左境界が前記画像の単位であるピクチャの境界または前記ピクチャを 複数の領域に分割したスライスの境界であるとき、 前記予測値を 0とす ることを特徴とする。
また、 前記予測ステップでは、 前記復号化対象ブロックの上境界およ ぴ左境界が前記画像の単位であるピクチャの境界または前記ピクチャを 複数の領域に分割したスライスの境界でないとき、 前記復号化対象プロ ックの上および左の位置にある前記復号化済ブロック中に含まれる 0以 外の係数の個数の平均値を前記予測値とすることを特徵とする。
また、 前記予測ステップでは、 前記復号化対象ブロックの上境界が前 記画像の単位であるピクチヤの境界または前記ピクチャを複数の領域に 分割したスライスの境界であリ、 プロックの左境界がピクチャの境界ま たはスライスの境界でないとき、 前記復号化対象プロックの左の位置に ある前記復号化済ブロック中に含まれる 0以外の係数の個数を用いて前 記予測値とすることを特徴とする。
また、 前記予測ステップでは、 前記復号化対象ブロックの左境界が前 記画像の単位であるピクチャの境界または前記ピクチャを複数の領域に 分割したスライスの境界であり、 ブロックの上境界がピクチャの境界ま たはスライスの境界でないとき、 前記復号化対象ブロックの上の位置に ある前記復号化済ブロック中に含まれる 0以外の係数の個数を用いて前 記予測値とすることを特徴とする。
なお、 本発明は、 このような画像符号化方法および画像復号化方法と して実現することができるだけでなく、 このような画像符号化方法およ ぴ画像復号化方法が含む特徴的なステップを手段として備える画像符号 化装置および画像復号化装置と して実現することもできる。 また、 それ らのステップをコンピュータに実行させるプログラムとして実現したり 前記画像符号化方法によリ生成されたビッ トス トリー厶として実現した りすることもできる。 そして、 そのようなプログラムおよびビッ トス ト リームは、 C D— R O M等の記録媒体やインターネッ 卜等の伝送媒体を 介して配信することができるのは言うまでもない。 図面の簡単な説明
図 1 は、 本発明に係る画像符号化方法を用いた画像符号化装置の一実 施の形態の構成を示すブロック図である。
図 2は、( a )各ピクチャ内でのマクロブロックの処理順の概略を示す 模式図、( b ) 符号化対象のブロックが係数の個数を符号化するために参 照する符号化済みプロックの属するマクロブロックを示す模式図である, 図 3は、( a ) 本発明の実施の形態 1 における係数個数符号化器の構成 を示すブロック図、( b )係数個数符号化器の変形例の構成を示すブロッ ク図である。
図 4は、 符号化対象ブロックと参照する符号化済みブロックとの位置 関係を示す模式図であり、 ( a ) 3つの周辺ブロックを用いる場合、 ( b ) 2つの周辺ブロックを用いる場合である。
図 5は、 係数の個数がテーブルを参照することによって符号列に変換 される流れの例を示す模式図である。
図 6は、 符号化対象のマクロブロックに対する参照ブロックを示す模 式図であり、 ( a ) 3つの周辺ブロックを用いる場合、 ( b ) 2つの周辺 ブロックを用いる場合である。
図 7は、 係数個数記憶器が係数の個数を記憶する動作を示す模式図で あり、 ( a ) 次のマクロブロックへ処理が移る場合、 ( b ) さらに次のマ クロブロックへ処理が移る場合、( c ) 符号化対象のマクロブロックがピ クチャの右端に位置し、 次のマクロブロックへ処理が移る場合である。 図 8は、 本発明の実施の形態 1 における係数個数符号化器の変形例の 構成を示すブロック図であり、( a )コードテーブルを固定する場合、( b ) V L Cテーブルを固定する場合、( c ) コードテーブルを用いずに V L C テーブルのみを用いる場合である。
図 9は、 本発明の実施の形態 1 における係数個数符号化器の変形例の 構成を示すプロック図である。
図 1 0は、( a ) 本発明の実施の形態 2における係数個数符号化器の構 成を示すブロック図、( b ) 係数個数符号化器の変形例の構成を示すプロ ック図である。
図 1 1 は、 本発明の実施の形態 2および実施の形態 7における係数の 個数の統計を取る対象となるブロックの位置を示すための模式図である, 図 1 2は、( a ) 本発明の実施の形態 3における係数個数符号化器の構 成を示すブロック図、 ( b ) 係数個数符号化器の変形例の構成を示すプロ ック図である。
図 1 3は、( a ) 本発明の実施の形態 4における係数個数符号化器の構 成を示すブロック図、 ( b ) 係数個数符号化器の変形例の構成を示すプロ ック図である。
図 1 4は、 本発明の実施の形態 4および実施の形態 9におけるテープ ル切り替えの評価値を算出する方法を示すためのブロック図である。 図 1 5は、 本発明の実施の形態 5における画像符号化装置の構成を示 すブロック図である。
図 1 6は、 本発明の実施の形態 5における係数個数符号化器の構成を 示すブロック図である。
図 1 7は、 本発明に係る画像復号化方法を用いた画像復号化装置の一 実施の形態の構成を示すブロック図である。
図 1 8は、( a )本発明の実施の形態 6における係数個数復号化器の構 成を示すブロック図、( b ) 係数個数復号化器の変形例の構成を示すプロ ック図である。
図 1 9は、 係数の個数の符号列がテーブルを参照することによって係 数の個数に変換される流れの例を示す模式図である。
図 2 0は、 本発明の実施の形態 6における係数個数復号化器の変形例 の構成を示すブロック図であり、 ( a ) コードテーブルを固定する場合、 ( b ) V L Cテーブルを固定する場合、 ( c ) コードテーブルを用いずに V L C亍一ブルのみを用いる場合である。
図 2 1 は、 本発明の実施の形態 6における係数個数復号化器の変形例 の構成を示すブロック図である。
図 2 2は、( a )本発明の実施の形態 7における係数個数復号化器の構 成を示す処理の動作を説明するためのブロック図、 ( b )係数個数復号化 器の変形例の構成を示すプロック図である。
図 2 3は、( a ) 本発明の実施の形態 8における係数個数復号化器の構 成を示す処理の動作を説明するためのブロック図、 ( b )係数個数復号化 器の変形例の構成を示すブロック図である。
図 2 4は、( a ) 本発明の実施の形態 9における係数個数復号化器の構 成を示す処理の動作を説明するためのブロック図、( b )係数個数復号化 器の変形例の構成を示すブロック図である。
図 2 5は、 本発明の実施の形態 1 0における係数個数復号化器の構成 を示す処理の動作を説明するためのブロック図である。
図 2 6は、 各実施の形態の画像符号化方法および画像復号化方法をコ ンピュータシステムにより実現するためのプログラムを格納するための 記録媒体についての説明図であり、 (a) 記録媒体本体であるフレキシブ ルディスクの物理フォーマッ トの例を示した説明図、 (b) フレキシブル ディスクの正面からみた外観、 断面構造、 及びフレキシブルディスクを 示した説明図、 (C ) フレキシブルディスク F Dに上記プログラムの記録 再生を行うための構成を示した説明図である。
図 2 7は、 コンテンツ配信サービスを実現するコンテンツ供給システ ムの全体構成を示すプロック図である。
図 2 8は、 携帯電話の一例を示す概略図である。
図 2 9は、 携帯電話の内部構成を示すプロック図である。
図 3 0は、 ディジタル放送用システムの全体構成を示すブロック図で ある。 発明を実施するための最良の形態
以下、 本発明の実施の形態について、 図面および数式等を用いて説明 する。
(実施の形態 1 )
図 1 は、 本発明に係る画像符号化方法を用いた画像符号化装置の一実 施の形態の構成を示すブロック図である。
画像符号化装置は、図 1 に示すようにフレームメモリ 1 0 1 , 1 06、 直交変換器 1 0 2、 量子化器 1 0 3、 逆量子化器 1 04、 逆直交変換器 1 0 5、 画面間予測器 1 0 7、 画面内予測器 1 0 8、 係数個数検出器 1 09、 係数個数記憶器 1 1 0、 係数個数符号化器 1 1 1 、 係数値符号化 器 1 1 2、 符号列生成器 1 1 3、 スィッチ 1 1 4、 1 1 5、 差分演算器 1 1 6、 および加算演算器 1 1 7を備えている。
フレームメモリ 1 0 1 は、 表示時間順にピクチャ単位で入力された動 画像を格納する。 画面間予測器 1 0 7は、 符号化装置内で再構成した画 像データを参照ピクチャとして用いて、 そのピクチャ内の探索領域にお いて最適と予測される位置を示す動きべク トルの検出を行い、 この動き べク トルに基づいて予測画像データを生成する。 差分演算器 1 1 6は、 フレ一厶メモリ 1 0 1 より読み出された入力画像データ と、 画面間予測 器 1 07よリ入力された予測画像データとの差分を演算し、 予測残差画 像データを生成する。
画面内予測器 1 0 8は、 符号化対象ピクチャ内の符号化済み領域の画 像データを用いて予測画像データを生成し、 入力画像データとの差分を 演算することにより予測残差画像データを生成する。
直交変換器 1 0 2は、 入力された予測残差画像データに対して直交変 換を行う。 量子化器 1 0 3は、 直交変換されたデータに対して量子化を 行い、可変長符号化の対象となる空間周波数成分を示す係数を生成する。 逆量子化器 1 0 4は、 前記処理によって生成された係数に対して逆量子 化を行う。 逆直交変換器 1 0 5は、 逆量子化されたデータに対して逆直 交変換を行い、 再構成予測残差画像データを生成する。 加算演算器 1 1 7は、逆直交変換器 1 0 5よリ入力された再構成予測残差画像データと、 画面間予測器 1 0 7より入力された予測画像データとを加算し、 再構成 画像データを生成する。 フ レームメモリ 1 0 6は、 生成された再構成画 像データを格納する。
係数個数検出器 1 0 9は、 生成された係数の値を調べてブロックごと に 0以外の値を持つ係数の個数 (以下、 単に係数の個数という) を検出 する。 係数個数記憶器 1 1 0は、 係数個数検出器 1 0 9で検出された係 数の個数を記憶する。 係数個数符号化器 1 1 1 は、 係数個数記憶器 1 1 0に記憶されている既に符号化されたブロックの係数の個数の値を参照 して、 後に説明する方法によって係数の個数の符号化を行う。 係数値符 号化器 1 1 2は、 係数個数検出器 1 0 9によって検出された係数の個数 を用いて可変長符号化に必要な V L Cテーブルを切り替えて参照するこ とにより係数の値そのものの可変長符号化を行う。 符号列生成器 1 1 3 は、 符号化された係数の個数および係数の値に、 画面間予測器 1 0 7か ら入力された動きべク トル等のその他の情報を付加することにより符号 列を生成する。
次に、 上記のように構成された画像符号化装置の動作について説明す る。
符号化対象となる動画像は、 表示時間順にピクチャ単位でフレームメ モリ 1 0 1 に入力され、 ここで符号化が行われる順に並び替えられる。 各々のピクチャは、 マクロブロックと呼ばれる例えぱ水平 1 6 X垂直 1 6画素のブロックに分割され、 このマクロブロック単位でこれ以降の処 理が行われる。 図 2 ( a ) は各ピクチャ内でのマクロブロックの処理順 の概略を示す模式図であり、 図 2 ( b ) は符号化対象のブロックが係数 の個数を符号化するために参照する符号化済みブロックの属するマクロ ブロックを示す模式図である。 この図 2 ( b ) では、 マクロブロック M B 1 3が符号化対象マクロブロックである場合を示している。
各ピクチャ内のマクロブロックは、 図 2 ( a ) に示すように左上のマ クロブロックより順に右へ、 右端まで来ると一段下に下がリ再び左よリ 順に右へというように符号化が行われる。 対象とするマクロブロックを 画面間予測によって符号化する場合は、 まずフレームメモリ 1 0 1から 読み出されたマクロブロックは、 画面間予測器 1 0 7へ入力される。 画 面間予測器 1 0 7は、 フレームメモリ 1 0 6に蓄積されている符号化済 みのピクチャの再構成画像を参照ピクチャと して用いて、 マクロブロッ クをさらに分割したブロック (例えば水平 4 X垂直 4画素) ごとに動き べク トル検出を行う。 画面間予測器 1 0 7は、 検出した動きべク トルに よって作成した予測画像データを差分演算器 1 1 6へ出力する。 差分演 算器 1 1 6は、 予測画像データと対象のマクロブロックの入力画像デー タとの差分をとることにより予測残差画像データを生成する。
一方、 対象とするマクロブロックを画面内予測によって符号化する場 合は、 まずフレームメモリ 1 0 1 から読み出されたマクロブロックは、 画面内予測器 1 0 8へ入力される。 画面内予測器 1 0 8は、 周辺のプロ ックの情報を用いて画面内予測を行い、予測残差画像データを生成する。 このように生成された予測残差画像データは、 プロックごとに直交変 換器 1 0 2および量子化器 1 0 3によって直交変換および量子化が行わ れ、 可変長符号化の対象となる係数に変換される。 この係数は、 係数個 数検出器 1 0 9、 係数値符号化器 1 1 2および逆量子化器 1 0 4へ入力 される。
係数個数検出器 1 0 9は、 ブロックごとに 0以外の値を持つ係数の個 数を検出する。 ここで検出された係数の個数は係数個数記憶器 1 1 0に 保存される。 係数個数符号化器 1 1 1 は、 既に符号化されたブロックの 係数の個数を係数個数記憶器 1 1 0から読み込むことによりその値を参 照して、 符号化対象ブロックの係数の個数の符号化を行う。 また、 係数 値符号化器 1 1 2は、 係数個数検出器 1 0 9によって検出された係数の 個数を用いて係数の値そのものの符号化を行う。 最後に、 符号列生成器 1 1 3は、 符号化された係数の個数および係数の値を、 動きべク トル等 のその他の情報とともに符号列へ追加することにより最終的な符号列を 生成する。
一方、 逆量子化器 1 0 4へ入力された係数は、 逆量子化器 1 0 4およ ぴ逆直交変換器 1 0 5によって、 逆量子化および逆直交変換が行われ、 再構成予測残差画像データに変換される。 次に、 加算演算器 1 1 7は、 この再構成予測残差画像データと、 画面間予測器 1 0 7より入力された 予測画像データ とを加算して再構成画像データを生成し、 フ レームメモ リ 1 0 6へ格納する。
以上符号化の流れの概要を説明したが、 係数個数符号化器 1 1 1 が行 う係数の個数の可変長符号化処理について、 図 3から図 9および表 1か ら表 7を用いてその詳細を説明する。
図 3 ( a ) は係数個数符号化器 1 1 1 の内部構成を詳しく示すブロッ ク図である。
なお、 ここでは係数の個数の可変長符号化を行うために、 コードテー ブルと V L Cテーブルという 2つのテーブルを使用する例を示している このときコードテーブルとは、 係数の個数をあるコ一ド番号に変換する テーブルであリ、 V L Cテーブルとはコ一ドテーブルによつて得られた コード番号を可変長符号に変換するテーブルである。
係数個数符号化器 1 1 1 は、 図 3 ( a ) に示すように予測値算出器 2 0 1 、 コー ドテーブル記憶器 2 0 2、 コードテーブル選択器 2 0 3、 V L Cテーブル選択器 2 0 4、 V L Cテーブル記憶器 2 0 5、 および係数 個数符号化器 2 0 6を備えている。
まず、 図 1 に示す係数個数記憶器 1 1 0から周辺に位置する符号化済 ブロックの係数の個数が予測値算出器 2 0 1 へ入力される。 予測値算出 器 2 0 1 は、 これらの値の平均値を取ることによリ予測値を決定する。 なお、 予測値の決定方法と して前記平均値の代わリに最大値または最小 値または中央値のいずれかを用いることも可能である。
図 4 ( a ) は現在符号化の対象と しているブロックと参照する符号化 済みのブロックとの位置関係を示す模式図である。 ここでは符号化の対 象としているブロック Xに対し、 ブロック Bおよび Cおよび Dの位置関 係にある 3つのブロックを参照ブロックとしている。 このときブロック Bおよび Cおよび Dの位置関係にある 3つのブロックの中で、 符号化さ れていないもしくはピクチャの外部もしくはピクチャを複数の領域に分 割したスライスの外部に位置するブロックが発生した場合は、 表 1のよ うに参照ブロックの変更がなされる。
表 1
Figure imgf000018_0001
表 1 における〇は符号化済プロック、 Xは符号化が行われていないも しくはピクチャの外部もしくはスライスの外部に位置するために参照す ることができないブロックを意味している。 例えば Cのみが参照するこ とができない場合は A、 B、 Dを参照することを示している。 なお、 表 1 の〇 Xおよび参照ブロックの項目はこれ以外を用いた場合でも同様に 扱うことが可能である。 また、 参照ブロックがなしと判断された場合は
0もしくはその他の任意の値を直接予測値と して与える。
コー ド亍一ブル選択器 2 0 3は、 予測値算出器 2 0 1 によって算出さ れた予測値に応じて、 コードテーブル記憶器 2 0 2が持つ複数のコード テーブルの中から実際に使用するコードテーブルを選択する。
表 2はコードテーブル記憶器 2 0 2によって予め用意されている係数 の個数とコード番号とを対応付けるコードテーブルの例である。
表 2
Figure imgf000019_0001
この例によると、 例えばコード亍一ブル 1 は係数の個数値に等しいコ ―ド番号を割リ振り、 コ一ドテーブル 2は係数の個数値の 2が中心とな るようにコード番号を割り振つている。 なお、 ここでは 4種類のコード テーブルを用意しているが、 テーブルの種類の数およびテーブルの値は これ以外のものを使用した場合も同様に扱うことができる。 また、 表 3 は予測値に基づいたコードテーブルの選択基準を示したものである。 表 3
Figure imgf000020_0001
この例によると、 コードテーブル選択器 2 0 3は、 予測値算出器 2 0 1 によって算出された予測値が 2以下の場合はコードテーブル 1 を参照 し、 3以上 5以下の場合はコードテーブル 2を参照するというように選 択を行っている。 なお、 表 3における予測値の割り振り方または参照テ —ブルの項目はこれ以外のものを使用した場合も同様に扱うことができ る。
V L C亍一ブル選択器 2 0 4は、 予測値算出器 2 0 1 によって算出さ れた予測値に応じて、 V L Cテーブル記憶器 2 0 5が持つ複数の V L C テーブルの中から実際に使用する V L Cテーブルを選択する。
表 4は V L Cテーブル記憶器 2 0 5によって予め用意されているコ一 ド番号と可変長符号とを対応付ける V L Cテーブルの例である。
表 4
Figure imgf000021_0001
こ の例によると、 V L Cテーブル 1 は V L Cテーブル 4と比較すると コ一ド番号の大きい領域ではビッ ト量が多くなる傾向にあるが、 コード 番号の小さい領域ではビッ ト量が少なくなるように設計されている。 コ ―ド番号の出現確率が値の小さい領域に集中している場合は V L Cテー ブル 1 の方が、 値の大きい領域にまで分散している場合は V L Cテープ ル 4の方が、 効率よく可変長符号化を行うことが可能であることを示し ている。 なお、 ここでは 4種類の V L Cテーブルを用意しているが、 亍 一ブルの種類の数およびテーブルの値はこれ以外のものを使用した場合 も同様に扱うことができる。 また、 表 5は予測値に基づいた V L Cテー ブルの選択基準を示したものである。 表 5
Figure imgf000022_0001
この例によると、 V L Cテーブル選択器 2 0 4は、 予測値算出器 2 0 1 によって算出された予測値が 1 以下の場合は V L Cテーブル 1 を参照 し、 2以上 3以下の場合は V L Cテーブル 2を参照するというように選 択を行っている。 なお、 表 5における予測値の割リ振り方または参照テ 一ブルの項目はこれ以外のものを使用した場合も同様に扱うことができ る。
係数個数符号化器 2 0 6は、 上記の処理によって選択されたコード亍 一ブルおよび V l_ Cテーブルを参照して、 入力された符号化対象ブロッ クの係数の個数の可変長符号化を行う。 係数個数符号化器 2 0 6は、 ま ずコードテーブルを用いて係数の個数をコード番号に変換し、 つぎに V L Cテーブルを用いてコード番号に対応する可変長符号に変換する。 図 5は予測値算出器 2 0 1 によって算出された予測値が " 6 " で符号化対 象ブロックの係数の個数が " 4 " であった場合の符号化の例を示す模式 図である。 予測値が " 6 " であることから、 コードテーブル選択器 2 0 3において表 3および表 2により図 5に示すコードテーブル 3が選択さ れ、 また V L Cテーブル選択器 2 0 4において表 5および表 4により図 5に示す V L Cテーブル 3が選択される。 係数個数符号化器 2 0 6は、 入力された係数の個数 " 4 " をコードテーブル 3によリコード番号 " 2 " に変換し、 さらに V L Cテーブル 3によリ最終的な符号列 " 0 1 0 0 " を生成する。
次に、 係数個数記憶器 1 1 0が行う係数の個数の記憶処理について、 その詳細を説明する。 図 6 ( a ) は予測値算出器 2 0 1 における符号化 対象のマクロブロックに対する参照ブロックを示す模式図である。 ここ で、 B 1 ~ B 1 6の符号を付したブロックを含む太枠が符号化対象のマ クロブロックを示し、 斜線のブロックが符号化対象のマクロブロックに 対する参照ブロックを示している。 また、 ブロックに付した符号の数字 は、 マクロブロック内での符号化順を示している。
係数個数記憶器 1 1 0は、 例えば図 6 ( a ) に示す符号化対象のマク ロブロックの処理を開始する時点において、 係数個数検出器 1 0 9によ つて検出された係数の個数を、 少なく とも符号化対象のマクロブロック に対して必要となる図 6 ( a ) に斜線で示した参照ブロックについて記 憶している。 すなわち、 係数個数記憶器 1 1 0は、 順次処理される符号 化対象のマクロブロックのブロック (B 1 、 B 2、 B 3、 - B 1 6 ) に 対して検出された係数の個数を記憶する。 例えば、 符号化対象ブロック がプロック B 6である場合、 係数個数記憶器 1 1 0は、 図 6 ( a ) に示 す参照ブロックに加えて既に処理されたブロック B 1 、 B 2、 B 3、 B 4、 B 5の各係数の個数を記憶している。 そして、 係数個数記憶器 1 1 0は、 係数個数検出器 1 0 9によリブロック B 6の係数の個数が検出さ れると、 このブロック B 6の係数の個数を記憶する。 このように係数個 数記憶器 1 1 0は、 順次処理される符号化対象のマクロブロックのプロ ック (B 1 、 B 2、 B 3、 - ) に対して検出された係数の個数を記憶す る。
そして、 例えば符号化対象のマクロブロックが図 2 ( b ) に示すマク ロブロック M B 1 1 である場合、 このマクロブロック M B 1 1 の処理が 終了し、 次のマクロブロック M B 1 2へ処理が移る際に、 係数個数記憶 器 1 1 Oは、 図 7 ( a ) に示すようにマクロブロック M B 1 1 の下列と 右列のブロック (斜線のブロック) の係数の個数を少なく とも保持して おく。 次に、 マクロブロック M B 1 2の処理が終了し、 その次のマクロ ブロック M B 1 3へ処理が移る際に、 係数個数記憶器 1 1 0は、 同様に マクロブロック M B 1 2の下列と右列のブロックの係数の個数を少なく とも保持しておく とともに、 図 7 ( b ) に示すようにマクロブロック M B 1 1 の下列のブロック (斜線のブロック) の係数の個数を少なく とも 保持しておく。
また、 例えば符号化対象のマクロブロックが図 2 ( b ) に示すマクロ ブロック M B 9のようにピクチャの右端に位置する場合、 このマクロブ ロック M B 9の処理が終了し、 次のマクロブロック M B 1 0へ処理が移 る際に、 係数個数記憶器 1 1 0は、 図 7 ( b ) に示すようにマクロプロ ック M B 9の下列のブロック (斜線のブロック) の係数の個数を少なく とも保持しておく。
また、 例えば符号化対象のマクロブロックが図 2 ( b ) に示すマクロ ブロック M B mのようにピクチャの下端に位置する場合、 このマクロブ ロック M B mの処理が終了し、 次のマクロブロック M B nへ処理が移る 際に、 係数個数記憶器 1 1 0は、 図 7 ( c ) に示すようにマクロブロッ ク M B mの右列のブロック (斜線のブロック) の係数の個数を少なく と も保持しておく。
このように係数個数記憶器 1 1 0は、 参照されるブロックに対する係 数の個数を保持しておく。 なお、 上記説明において保持しておく とした ブロック以外の係数の個数の情報は、 参照されることがなくなった後で あれば任意のタイミングで削除することが可能である。 例えば、 次のマ クロブロックへ処理が移る際に削除することも、 もしくはマクロブロッ クの処理途中で削除することも可能である。 また、 参照されることのな くなつたブロックに対する係数の個数は必ずしも削除するという処理を 必要と しない。 例えば、 係数個数記憶器 1 1 0は、 参照されることのな くなつたプロックに対する係数の個数を不要であると認識し、 必要に応 じて上書きするようにしても構わない。
なお、 上記説明では、 係数個数記憶器 1 1 0において符号化済みプロ ックの係数を記憶しておく ことによって参照することを可能と している が、 係数の個数の値そのものではなく、 例えば、 空間周波数成分に変換 されたブロックの係数の値を記憶しておく ことにより、 必要に応じて係 数の個数を算出するような構成を用いることも可能である。
以上のように本実施の形態では、 符号化済の周辺ブロックの係数の個 数から予測値を算出し、 その予測値に応じてコードテーブルおよび V L Cテーブルを適応的に切リ替えて参照することにより、 係数の出現頻度 がー様でないピクチャに対しても効率よく係数の個数の符号化を行うこ とが可能である。
また、 上記のように予測値に応じてコードテーブルを切り替えて参照 することにより、 係数の個数の出現確率が最も高い位置の変動に対応す ることができる。 一方、 予測値に応じて V L Cテーブルを切り替えて参 照することにより、 係数の個数の出現確率の分散の大きさに対応するこ とができる。 これによつて、 効率よく係数の個数の符号化を行う ことが 可能である。
なお、予測値算出器 2 0 1 において参照するブロックとして、図 4 ( a ) に示すような 3つの周辺ブロックの代わりに図 4 ( b ) に示すように符 号化対象のブロック Xに対してブロック Bおよび Dの位置関係にある 2 つのブロックのみを用いることも可能である。 このときブロック Bおよ ぴ Dの位置関係にある 2つのブロックの中で、 符号化されていないもし <はピクチャの外部もしくはスライスの外部に位置するプロックが発生 した場合は、 表 6のように参照ブロックの変更がなされる
表 6
Figure imgf000026_0001
表 6における〇は表 1 と同様に符号化済ブロック、 Xは符号化が行わ れていないもしくはピクチャの外部もしくはスライスの外部に位置する ために参照することができないブロックを意味している。 なお、 表 6の 〇 Xおよび参照プロックの項目はこれ以外を用いた場合でも同様に扱う ことが可能である。 なお、 参照ブロックがなしと判断された場合は 0も しくはその他の任意の値を直接予測値として与える。 この場合、 係数個 数記憶器 1 1 0は、 係数個数検出器 1 0 9によって検出された係数の個 数を、 少なく とも符号化対象のマクロブロックに対して必要となる図 6 ( b ) に示す参照ブロックについて記憶していればよい。
なお、 予測値算出器 2 0 1 において予測値を算出する方法と して、 平 均値または最大値または最小値または中央値のいずれかに固定するので はなく、 例えばその中から最適なものをシーケンスまたは G O Pまたは ピクチャまたはスライスごとに選択することも可能である。 そのとき選 択された算出方法を識別するための符号は符号列のシーケンスまたは G O Pまたはピクチャまたはスライスのヘッダ領域に追加される。 なお、 スライスとは 1 つのピクチャを複数の領域に分けたものを示し、 例えば マク口プロック単位で横方向に 1 列分の領域などがこれにあたる。 また、 予測値算出器 2 0 1 において予測値を算出する方法として、 例 えば平均値または最大値または最小値または中央値のいずれかを符号化 済の参照ブロックの係数の個数の平均値によって選択することも可能で ある。 表 7はその選択基準を示したものである。
表 7
Figure imgf000027_0001
この例によると、 例えば平均値が 4以下であれば複数の参照プロック の係数の個数の中の最小値を予測値とし、 平均値が 5以上 8以下であれ ば平均値を予測値と している。 量子化ステツプが小さい場合および動き の複雑なブロックでは、 係数の個数の大きいものが出現する確率が高く なるため最大値を選択することによリ、 逆に量子化ステップが大きい場 合および動きの単純なブロックでは、 係数の個数の小さいものが出現す る確率が高くなるため最小値を選択することにより符号化効率向上の効 果が期待できる。 なお、 表 7における平均値の割り振り方または予測値 算出方法の項目はこれ以外のものを使用した場合も同様に极うことがで さる。
なお、 本実施の形態では、 係数個数符号化器 1 1 1 において係数の個 数の値そのものに対して可変長符号化を行っているが、 図 3 ( b ) に示 すように予測値算出器 2 0 1 による予測値と入力された係数の個数の値 との差分値を差分演算器 2 0 7によつて算出し、 得られた値に対して上 記実施の形態と同様の処理によって可変長符号化を行うことも可能であ る。 これにより、 輝度および色差の変化が画面全体に渡って単調である 場合、 周辺プロック間での係数の個数の変化が小さくなるような画像に 対して符号化効率向上の効果が期待できる。
また、 本実施の形態では、 係数個数符号化器 1 1 1 においてコードテ 一ブルおよび V L Cテーブルの両者を周辺ブロックの係数の個数に基づ く予測値によって切り替えて可変長符号化を行っているが、 それらのど ちらか一方を切り替えずに固定して使用することも可能である。 その場 合はテーブル選択器を用いる代わりにある 1種類のコードテーブルもし くは V L Cテーブルを持った記憶器のみを用いることにより実現可能で ある。 図 8 ( a ) はコードテーブルのみを固定して係数の個数の可変長 符号化を行う場合の係数個数符号化器 1 1 1 の構成を示すブロック図で ある。 また、 図 8 ( b ) は V L Cテーブルのみを固定して係数の個数の 可変長符号化を行う場合の係数個数符号化器 1 1 1 の構成を示すブロッ ク図である。
コードテ一ブルのみを固定する場合、 図 8 ( a ) に示すように係数個 数符号化器 1 1 1 は、 図 3 ( a ) に示すコードテーブル記憶器 2 0 2お よびコードテーブル選択器 2 0 3に代えてコードテーブル記憶器 3 0 1 を備えている。 このコードテーブル記憶器 3 0 1 は、 1種類のコードテ 一ブルを有している。 そして、 係数個数符号化器 2 0 6は、 まずコード テーブル記憶器 3 0 1 が有しているコードテーブルを用いて係数の個数 をコード番号に変換し、 つぎに V L Cテーブル選択器 2 0 4によリ選択 された V L Cテーブルを用いてコード番号を可変長符号に変換する。 一方、 V L Cテーブルのみを固定する場合、 図 8 ( b ) に示すように 係数個数符号化器 1 1 1 は、 図 3 ( a ) に示す V L Cテーブル記憶器 2 0 5および V L Cテーブル選択器 2 0 4に代えて V L Cテーブル記憶器 3 0 2を備えている。 この V L Cテーブル記憶器 3 0 2は、 1 種類の V L Cテーブルを有している。 そして、 係数個数符号化器 2 0 6は、 まず コードテ一ブル選択器 2 0 3により選択されたコ一ドテーブルを用いて 係数の個数をコード番号に変換し、 つぎに V L Cテーブル記憶器 3 0 2 が有している V L Gテーブルを用いてコード番号を可変長符号に変換す る。
このようにコード亍一ブルまたは V L C亍一ブルのどちらか一方を切 リ替えずに固定して使用することにより、 符号化効率の効果は多少減少 するが、 テーブル切り替えのための処理量を減らすこと、 および複数の テーブルを記憶しておくためのメモリ容量を減らすことが可能となる。 また、 係数個数符号化器 1 1 1 において、 コードテーブルを用いずに V L Cテーブルのみを周辺ブロックの係数の個数に基づく予測値によつ て切り替えて可変長符号化を行うことも可能である。 図 8 ( c ) はコー ドテーブルを用いずに V L Cテーブルのみを用いて係数の個数の可変長 符号化を行う場合の係数個数符号化器 1 1 1の構成を示すブロック図で ある。 この場合、 図 8 ( c ) に示すように係数個数符号化器 1 1 1 は、 図 3 ( a ) に示すコードテーブル記憶器 2 0 2およびコードテーブル選 択器 2 0 3は備えていない。 係数個数符号化器 1 1 1 では、 予測値算出 器 2 0 1 によって算出された予測値に基づいて V L Cテーブル選択器 3 0 3が、 V L Cテーブル記憶器 3 0 4の有する複数の V L Cテーブルの 中から実際に使用する V L Cテーブルを選択する。 そして、 係数個数符 号化器 2 0 6は、 上記のようにコ ^ドテーブルを用いて係数の個数をコ ード番号に変換することなく、 直接、 V L C亍一ブルを用いて係数の個 数を可変長符号に変換する。 なお、 この場合に表 4で示す V L Cテープ ルの例では、 コ一ド番号となっている部分が係数の個数値となる。 また、 係数個数符号化器 1 1 1 において、 係数の個数の値の代わりに 予測値との差分値を用いて可変長符号化を行う場合に対しても同様に扱 うことが可能である。 図 9はその例としてコ一ドテーブルおよび V L C テーブルの両者を固定して予測値と係数の個数との差分値に対して可変 長符号化を行う場合の係数個数符号化器 1 1 1 の構成を示すブロック図 である。 この場合、 図 9に示すように係数個数符号化器 1 1 1 は、 図 3 ( a ) に示すコードテーブル記憶器 2 0 2およびコードテーブル選択器 2 0 3に代えてコードテーブル記憶器 3 0 1 を、 V L Cテーブル記憶器 2 0 5および V L Cテーブル選択器 2 0 4に代えて V L Cテーブル記憶 器 3 0 2備えている。 このコード亍一ブル記憶器 3 0 1 は 1種類のコー ドテ一ブルを、 Vし Cテーブル記憶器 3 0 2は 1種類の V L Cテーブル を有している。 そして、 係数個数符号化器 2 0 6は、 まずコードテープ ル記憶器 3 0 1 が有しているコード亍ーブルを用いて係数の個数と予測 値との差分値をコード番号に変換し、 つぎに V L Cテーブル記憶器 3 0 2が有している V L Cテーブルを用いてコード番号を可変長符号に変換 する。
(実施の形態 2 )
本実施の形態における画像符号化装置の構成および符号化処理の概要 は、 図 1 に示す係数個数符号化器 1 1 1 を除き実施の形態 1 と全く同等 である。 ここでは、 この係数個数符号化器 1 1 1 において実施の形態 2 でなされる係数の個数の可変長符号化処理について、 図 1 0から図 1 1 を用いてその詳細を説明する。
図 1 0 ( a ) は係数個数符号化器 1 1 1 の内部構成を詳しく示すプロ ック図である。
図 1 0 ( a ) に示すように係数個数符号化器 1 1 1 は、 図 3 ( a ) に 示すコードテーブル記憶器 2 0 2およびコードテーブル選択器 2 0 3に 代えてコ一 ドテーブル生成器 7 0 1 を備えている。 コードテーブル生成 器 7 0 1 には、 図 1 の係数個数記億器 1 1 0から符号化済ブロックの係 数の個数が入力される。 コードテーブル生成器 7 0 1 は、 係数の個数の 値ごとにそれと等しい係数の個数を持つ符号化済ブロックが幾つあるか をカウン トし、 その統計量に基づいて発生頻度が最も高かった係数の個 数から順にコー ド番号を割り当てコー ドテーブルを作成する。 図 1 1 ( a )は統計の対象とする符号化済ブロックの位置を表す模式図である。 ここで、 P 1 および P 3および P 4は画面間予測符号化を行うピクチャ であり、 I 2は画面内予測符号化を行うピクチャである。 現在符号化の 対象としているブロックが P 3に属しているとす と、 同じ方式によつ て符号化された直前のピクチャである P 1 の全てのプロックが統計の対 象となる。 なお、 図 1 1 ( b ) のように現在符号化の対象となっている ピクチャ内にある符号化済ブロックも含めた 1 ピクチャ分のブロックを 統計の対象とする場合も同様に扱うことが可能である。 また、 統計の対 象とすることのできる 1 ピクチャ分の符号化済プロックが存在しない場 合は、 初期状態のコードテーブルと して 0からの昇順で与えられる亍ー ブルを使用する。 なお、 ここでは 1 ピクチャ分のブロックを統計対象と しているが、 母数と してそれ以外のブロックの個数を用いた場合も同様 に扱うことが可能である。 なお、 図 1 1 ( a ) に示すような参照を行つ て上記コードテーブルの生成を行う場合は、 対象のピクチャの符号化を 開始する際に 1 度だけテーブルの生成を行うだけでよい。
一方、 予測値算出器 2 0 1 には、 周辺に位置する符号化済ブロックの 係数の個数が入力される。 予測値算出器 2 0 1 は、 これらの値を基に実 施の形態 1 と同様に平均値を取ることにより予測値を決定する。 なお、 予測値の決定方法と して前記平均値の代わリに最大値または最小値また は中央値のいずれかを用いることも可能である。 このとき参照する符号 化済ブロックは実施の形態 1 と同様に図 4 ( a ) に示された符号化対象 のブロック Xに対して Bおよび Cおよび Dの位置関係にある 3つのプロ ックを用いて表 1 に従って決定される。 なお、 表 1 における〇 Xおよび 参照プロックの項目はこれ以外を用いた場合でも同様に扱うことが可能 である。 なお、 参照ブロックがなしと判断された場合は 0もしくはその 他の任意の値を直接予測値と して与える。
予測値算出器 2 0 1 によって算出された予測値は、 V L Cテーブル選 択器 2 0 4においてのみ用いられる。 V L Cテーブル選択器 2 0 4は、 この予測値に応じて、 V L Cテーブル記憶器 2 0 5に実施の形態 1 と同 様に表 4に示すような予め用意された複数の V L Cテーブルの中から表 5に示すような選択基準に従って係数の個数の符号化に使用する V L C テーブルを選択する。
係数個数符号化器 2 0 6は、 コー ドテーブル生成器 7 0 1 によって生 成されたコードテーブルおよび V L Cテーブル選択器 2 0 4によって選 択された V L Cテーブルを参照して、 実施の形態 1 と同様に入力された 符号化対象プロックの係数の個数の可変長符号化を行う。
以上のように本実施の形態では、 符号化済ブロックの係数の個数の統 計を取ることによリコ一 ドテーブルを作成し、 さらに符号化済ブロック の係数の個数から算出された予測値に応じて V L Cテーブルを決定し、 その両者を参照することにより係数の出現頻度が一様でないピクチャに 対しても効率よく係数の個数の符号化を行うことが可能である。
なお、 実施の形態 1 と同様に予測値算出器 2 0 1 において参照する符 号化済ブロックは、 図 4 ( a ) のような 3つの周辺ブロックの代わりに 図 4 ( b ) のように符号化対象のブロック Xに対して Bおよび Dの位置 関係にある 2つのブロックのみを用いて表 6に従って決定することも可 能である。 また、 表 6における〇 Xおよび参照ブロックの項目はこれ以 外を用いた場合でも同様に扱うことが可能である。 なお、 参照ブロック がなしと判断された場合は 0もしくはその他の任意の値を直接予測値と して与える。
また、 実施の形態 1 と同様に予測値算出器 2 0 1 において予測値を算 出する方法と して、 平均値または最大値または最小値または中央値のい ずれかに固定するのではなく、 例えばその中から最適なものをシーゲン スまたは G O Pまたはピクチャまたはスライスごとに選択することも可 能である。 そのとき選択された算出方法を識別するための符号は符号列 のシーケンスまたは G O Pまたはピクチャまたはスライスのヘッダ領域 に追加される。
また、 実施の形態 1 と同様に予測値算出器 2 0 1 において予測値を算 出する方法と して、 例えば平均値または最大値または最小値または中央 値のいずれかを符号化済の参照ブロックの係数の個数の平均値によって 選択することも可能である。表 7はその選択基準を示したものであるが、 ここでの平均値の割り振り方または予測値算出方法の項目はこれ以外の ものを使用した場合も同様に扱うことができる。
また、 本実施の形態では、 係数個数符号化器 1 1 1 において係数の個 数の値そのものに対して可変長符号化を行っているが、 '実施の形態 1 と 同様に図 1 0 ( b ) に示すように予測値算出器 2 0 1 による予測値と入 力された係数の個数の値との差分値を差分演算器 2 0 7によって算出し 得られた値に対して上記と同様の処理によって可変長符号化を行うこと も可能である。
また、 本実施の形態では、 係数個数符号化器 1 1 1 において V L C亍 一ブルを周辺プロックの係数の個数に基づく予測値によつて切リ替えて 可変長符号化を行っているが、 実施の形態 1 と同様に V L Cテーブルを 切り替えずに固定して使用することも可能である。 その場合は V L C亍 一ブル選択器を用いる代わりにある 1種類の Vし Cテーブルを持った V L Cテーブル記憶器のみを用いることにより実現可能である。 (実施の形態 3 )
本実施の形態における画像符号化装置の構成および符号化処理の概要 は、 図 1 に示す係数個数符号化器 1 1 1 を除き実施の形態 1 と全く同等 である。 ここでは、 この係数個数符号化器 1 1 1 において実施の形態 3 でなされる係数の個数の可変長符号化処理について、 図 1 2および表 8 から表 9を用いてその詳細を説明する。
図 1 2 ( a ) は係数個数符号化器 1 1 1 の内部構成を詳しく示すプロ ック図である。
図 1 2 ( a ) に示すように係数個数符号化器 1 1 1 は、 図 3 ( a ) に 示す予測値算出器 2 0 1 を備えていない。 これにより、 コードテーブル 選択器 9 0 1 および V L Cテーブル選択器 9 0 2は、 実施の形態 1 とは 異なリ予測値を使用することなく直接符号化済プロックの係数の個数を 使用することによって実際に使用するテーブルを選択する。 このとき参 照する符号化済ブロックは図 4 ( b ) に示すように符号化対象のブロッ ク Xに対し B (上) および D (左) の位置関係にある 2つのみを用いる。 ただし、 上および左に位置するプロックが符号化されていないもしくは ピクチャの外部もしくはスライスの外部であった場合は係数の個数とし て 0もしくはその他の任意の値を代用する。
表 8はコ一 ドテーブル選択器 9 0 1 におけるコ一ドテ一ブルの選択方 法を示したものである。
表 8 係数個数(上)
0〜5 6〜: L 6
係数個数 0〜5 コ一ドテ一ブル 1 コードテ一プル 2 (左)
6 - 1 6 コ一ドテ一ブル 3 コ—卜-テーブル 4 コ一ドテーブル選択器 9 0 1 は、 表 8に示すように符号化対象プロッ クの上および左に位置するブロックの係数の個数それぞれを値に応じて 2つのグループに分類し、 それらによって形成される 4つの組み合わせ によって亍一ブルを選択する。 例えば左ブロックの係数の個数が 3かつ 上ブロックの係数の個数が 8であつた場合は、 コ一ドテーブル 2が選択 されることになる。 なお、 表 8における上および左ブロックの係数の個 数を分類する方法およびコードテーブルの割り当て方についてはこれ以 外のものを使用した場合も同様に扱うことができる。
表 9は V L Cテーブル選択器 9 0 2における V L Cテーブルの選択方 法を示したものである。
表 9
Figure imgf000035_0001
V L Cテーブル選択器 9 0 2は、 コードテーブル選択器 9 0 1 の場合 と同様に表 9に示すような選択方法を用いて実際に参照する V L Cテ一 ブルを選択する。
係数個数符号化器 2 0 6は、 コ ードテ一ブル選択器 9 0 1 によって選 択されたコードテーブルおよび V L Cテーブル選択器 9 0 2によって選 択された V L C亍一ブルを参照して、 実施の形態 1 と同様に入力された 符号化対象ブロックの係数の個数の可変長符号化を行う。
以上のように本実施の形態では、 符号化対象ブロックの上および左に 位置する符号化済プロックの係数の個数を値に応じて N個のグループに 分類し、 そのときに形成される N X N通りの組み合わせに応じてコード テーブルおよび V L Cテーブルを適応的に切り替えて参照することによ リ、 係数の出現頻度が一様でないピクチャに対しても効率よく係数の個 数の符号化を行うことが可能である。
なお、 本実施の形態では、 係数個数符号化器 1 1 1 において係数の個 数の値そのものに対して可変長符号化を行っているが、 実施の形態 1 と 同様に図 1 2 ( b ) に示すように予測値算出器 2 0 1 による予測値と入 力された係数の個数の値との差分値を差分演算器 2 0 7によって算出し. 得られた値に対して上記と同様の処理によって可変長符号化を行うこと も可能である。
また、 本実施の形態では、 係数個数符号化器 1 1 1 においてコードテ 一ブルおよび V L Cテーブルの両者を周辺ブロックの係数の個数によつ て切り替えて可変長符号化を行っているが、 実施の形態 1 と同様に、 そ れらのどちらか一方を切り替えずに固定して使用することも可能である, その場合はテーブル選択器を用いる代わリにある 1種類のコードテープ ルも しくは V L C亍一ブルを持った記憶器のみを用いることによリ実現 可能である。 さらに、 実施の形態 1 と同様に、 コードテーブルを用いず に V L Cテーブルのみを周辺ブロックの係数の個数によって切り替えて 可変長符号化を行うことも可能である。
(実施の形態 4 )
本実施の形態における画像符号化装置の構成および符号化処理の概要 は、 図 1 に示す係数個数符号化器 1 1 1 を除き実施の形態 1 と全く同等 である。 ここでは、 この係数個数符号化器 1 1 1 において実施の形態 4 でなされる係数の個数の可変長符号化処理について、 図 1 3および図 1 4を用いてその詳細を説明する。
図 1 3 ( a ) は係数個数符号化器 1 1 1 の内部構成を詳しく示すプロ ック図である。 図 1 3 ( a ) に示すように係数個数符号化器 1 1 1 は、 図 3 ( a ) に 示す予測値算出器 2 0 1 、 コードテーブル選択器 2 0 3、 および V L C テーブル選択器 2 0 4に代えてテーブル選択器 1 0 0 1 を備えている。 テーブル選択器 1 0 0 1 は、 実施の形態 1 とは異なり予測値を使用する ことなく直接符号化済ブロックの係数の個数を使用し、 コードテーブル および V L Cテーブルの両者を同時に評価することによって実際に使用 するテーブルを選択する。 このとき参照する符号化済ブロックは図 4 ( a ) にあるように符号化対象のブロック Xに対して Bおよび Cおよび Dの位置関係にある 3つのブロックを用いる。 ただし、 これらに位置す るブロックが符号化されていないもしくはピクチャの外部もしくはスラ イスの外部であった場合は係数の個数として 0もしくはその他の任意の 値を代用する。
テーブル選択器 1 0 0 1 は、 コード亍ーブルおよび V L Cテーブルを 同時に用いて参照ブロックの係数の個数を符号化した結果生成される符 号列の長さの和を算出し、 それを評価値とする。 図 1 4は 3つの参照ブ ロックの係数の個数に対しコードテーブルおよび V L Cテーブルによつ て符号化を行い、 得られた符号列の長さの和を算出しそれを評価値とす る方法を示す模式図である。 そして、 テーブル選択器 1 0 0 1 は、 コー ドテーブル記憶器 2 0 2および V L Cテーブル記憶器 2 0 5が有する全 てのコードテ一ブルおょぴ V L Cテ一ブルの組み合わせに対してこの処 理を行い、 得られた評価値が最も小さくなるコードテーブルおよび V L Cテーブルの組み合わせを選択する。
係数個数符号化器 2 0 6は、 テーブル選択器 1 0 0 1 によって選択さ れたコードテーブルおよび V L Cテーブルを参照して、 実施の形態 1 と 同様に入力された符号化対象ブロックの係数の個数の可変長符号化を行 ラ。 以上のように本実施の形態では、 符号化済の周辺ブロックの係数の個 数に対してコードテーブルおよび V L Cテーブルを用いて符号化を行い. そのときの符号列の長さの和を評価値とし、 これが最小となる組み合わ せのコードテーブルおよび V L Cテーブルを参照することにより、 係数 の出現頻度が一様でないピクチャに対しても効率よく係数の個数の符号 化を行うことが可能である。
なお、 実施の形態 1 と同様にテーブル選択器 1 0 0 1 において参照す る符号化済ブロックは、 図 4 ( a ) のような 3つの周辺ブロックの代わ りに図 4 ( b ) のように符号化対象のブロック Xに対して Bおよび の 位置関係にある 2つのみを用いても同様に扱うことが可能である。 ただ し、 これらに位置するプロックが符号化されていないもしくはピクチャ の外部であった場合は係数の個数と して 0もしくはその他の任意の値を 代用する。
また、 本実施の形態では、 係数個数符号化器 1 1 1 において係数の個 数の値そのものに対して可変長符号化を行っているが、 実施の形態 1 と 同様に図 1 3 ( ) のように予測値算出器 2 0 1 による予測値と入力さ れた係数の個数の値との差分値を差分演算器 2 0 7によって算出し、 得 られた値に対して上記実施の形態と同様の処理によって可変長符号化を 行うことも可能である。
また、 本実施の形態では、 係数個数符号化器 1 1 1 においてコードテ —ブルおよび V L Cテーブルを切り替える対象と しているが、 それらの 一方を切り替えずに固定して使用することも可能である。
(実施の形態 5 )
図 1 5は本発明に係る画像符号化方法を用いた画像符号化装置の実施 の形態 5の構成を示すブロック図である。 符号化処理の概要は実施の形 態 1 と全く同等であるが、 相違点と して係数個数記憶器 1 1 0は使用せ ず、 係数個数符号化器 1 2 0 1 において参照する情報として実施の形態 1 における符号化済プロックの係数の個数の代わリに画面間予測符号化 の場合は画面間予測モー ドを、 また画面内予測符号化の場合は画面内予 測モー ドを用いる。
こ こでは、 図 1 5に示す係数個数符号化器 1 2 0 1 においてなされる 係数の個数の可変長符号化処理について、 図 1 6および表 1 0から表 1 1 を用いてその詳細を説明する。
図 1 6は係数個数符号化器 1 2 0 1 の内部構成を詳しく示すブロック 図である。
図 1 6に示すように係数個数符号化器 1 2 0 1 は、 図 3 ( a ) に示す 予測値算出器 2 0 1 を備えていない。 画面間予測符号化の場合は画面間 予測器 1 0 7 より画面間予測モードが、 また画面内予測符号化の場合は 画面内予測器 1 0 8よリ画面内予測モードがコ一ドテーブル選択器 1 3 0 1 および V L Cテーブル選択器 1 3 0 2に入力される。 これにより、 コードテーブル選択器 1 3 0 1 は、 画面間予測符号化の場合は画面間予 測モードに、 また画面内予測符号化の場合は画面内予測モードに基づい て使用するテーブルを選択する。 表 1 0はコードテーブル選択器 1 3 0 1 におけるコードテーブルの選択方法を示したものである。
表 1 0
Figure imgf000039_0001
例えば、符号化対象ピクチャが画面間予測によって符号化される場合 対象のプロックが 8 X 8のサイズの予測が選択されると、 それに伴って 係数の個数を可変長符号化するためのコードテーブルと して 2番のテ一 ブルが選択されることになる。 なお、 表 1 0の各項目についてはこれ以 外のものを使用した場合も同様に扱うことができる。
また、 表 1 1 は V L Cテーブル選択器 1 3 0 2における V L C亍一ブ ルの選択方法を示したものである。
表 1 1
Figure imgf000040_0001
V L Cテーブル選択器 1 3 0 2は、 コ一ドテーブル選択器 1 3 0 1の 場合と同様に表 1 1 に示すような選択方法を用いて実際に参照する V L Cテーブルを選択する。
係数個数符号化器 2 0 6は、 コー ドテーブル選択器 1 3 0 1 によって 選択されたコードテーブルおよび V L Cテーブル選択器 1 3 0 2によつ て選択された V L Cテーブルを参照して、 実施の形態 1 と同様に入力さ れた符号化対象ブロックの係数の個数の可変長符号化を行う。
以上のように本実施の形態では、 符号化の対象と しているブロックが 画面間予測符号化の場合は画面間予測モ一ドに、 また画面内予測符号化 の場合は画面内予測モードに応じてコードテーブルおよび V L C亍一ブ ルを適応的に切リ替えて参照することにより、 係数の出現頻度が一様で ないピクチャに対しても効率よく係数の個数の符号化を行うことを可能 とする符号化方法を示した。 なお、 本実施の形態では、 係数個数符号化器 1 2 0 1 において係数の 個数の値そのものに対して可変長符号化を行っているが、 実施の形態 1 と同様に符号化済の周辺プロックの係数の個数を用いて予測値を決定し この予測値と入力された係数の個数の値との差分値を求め、 得られた値 に対して上記実施の形態と同様の処理によって可変長符号化を行うこと も可能でめる。
また、 本実施の形態では、 係数個数符号化器 1 2 0 1 においてコード テーブルおよび V L Cテーブルの両者を切 y替えて可変長符号化を行つ ているが、 実施の形態 1 と同様に、 それらの一方もしくは両者を切リ替 えずに固定して使用することも可能である。 その場合はある 1種類のコ
—ドテーブルもしくは V L Cテーブルを持った記憶器のみを用意するこ とにより実現可能である。
(実施の形態 6 )
図 1 7は、 本発明に係る画像復号化方法を用いた画像復号化装置の一 実施の形態の構成を示すブロック図である。 ここでは、 実施の形態 1 の 画像符号化装置で生成された符号列が入力されるものとする。
画像復号化装置は、符号列解析器 1 4 0 1 、係数個数記憶器 1 4 0 2、 係数個数復号化器 1 4 0 3、 係数値復号化器 1 4 0 4、 逆量子化器 1 4 ひ 5、 逆直交変換器 1 4 0 6、 フレームメモリ 1 4 0 7、 画面間予測復 号器 1 4 0 8、 画面内予測復号器 1 4 0 9、 およびスィ ッチ 1 4 1 0を 備えている。
符号列解析器 1 4 0 1 は、 入力された符号列から符号化モード、 符号 化時に用いられた動きベク トル、 係数の個数 (ブロック単位の 0以外の 値を持つ空間周波数成分を示す係数の個数) の符号列および係数の値の 符号列等の各種の情報を抽出する。 係数個数記憶器 1 4 0 2は、 復号化 済ブロックの係数の個数を記憶する。 係数個数復号化器 1 4 0 3は、 復 号化済ブロックの係数の個数を参照することによって係数の個数の符号 列を復号化する。
係数値復号化器 1 4 0 4は、 係数個数復号化器 1 4 0 3によって復号 化された係数の個数を用いて係数の値の符号列を復号化する。 逆量子化 器 1 4 0 5は、 復号化された係数に対して逆量子化を行う。 逆直交変換 器 1 4 0 6は、 逆.量子化されたデータに対して逆直交変換を行い、 予測 残差画像データに変換する。
画面間予測復号器 1 4 0 8は、 復号化対象とするマクロブ口ックが画 面間予測によって符号化されている場合、 符号列解析器 1 4 0 1 によつ て抽出された動きベク トル、 および復号化済みピクチャ等に基づいて動 き補償画像データを生成する。 加算演算器 1 4 1 1 は、 逆直交変換器 1 4 0 6よリ入力された予測残差画像データと、 画面間予測復号器 1 4 0 8より入力された動き補償画像データとを加算し、 復号化画像データを 生成する。 フ レームメモリ 1 4 0 7は、 生成された復号化画像データを 格納する。
画面内予測復号器 1 4 0 9は、 復号化対象とするマクロブ口ックが画 面内予測によって符号化されている場合、 周辺の復号化済ブロックの情 報を用いて画面内予測を行い、 復号化画像データを生成する。
次に、 上記のように構成された画像復号化装置の動作について説明す る。
まず、 符号列は符号列解析器 1 4 0 1 へ入力される。 符号列解析器 1 4 0 1 は、 入力された符号列から動きべク トルおよび係数の個数の符号 列および係数の値の符号列等の各種の情報を抽出する。 そして、 符号列 解析器 1 4 0 1 は、 動きべク トルを画面間予測復号器 1 4 0 8へ、 係数 の個数の符号列を係数個数復号化器 1 4 0 3へ、 係数の値の符号列を係 数値復号化器 1 4 0 4へそれぞれ出力する。 係数の個数の符号列が入力された係数個数復号化器 1 4 03は、 この 符号列をプロック単位の 0以外の値を持つ係数の個数と して復号化する, このとき、 係数個数復号化器 1 40 3は、 係数個数記憶器 1 4 0 2に保 存されている復号化済ブロックの係数の個数を参照することによって後 に説明する方法によって係数の個数の復号化を行う。 次に、 係数値復号 化器 1 404は、 係数個数復号化器 1 4 0 3によって得られた係数の個 数情報を用いて可変長復号化に必要なコードテーブルおよび V L Cテー ブルを切り替えて参照することにより係数の値そのものの復号化を行う , 得られた係数は、 逆量子化器 1 40 5および逆直交変換器 1 4 0 6によ リ予測残差画像データへ変換される。
復号化の対象とするマクロブ口ックが画面間予測によって符号化され ている場合は、 符号列解析器 1 40 1 によって抽出された動きべク トル が画面間予測復号器 1 40 8に入力される。 画面間予測復号器 1 40 8 は、 フレームメモリ 1 40 7に蓄積されている復号化済みのピクチャの 復号化画像を参照ピクチャとすることによリ動きべク トル情報に基づい て動き補償画像データを生成する。 このようにして得られた動き補償画 像データは、 加算演算器 1 4 1 1 において予測残差画像データと加算さ れることによリ復号化画像データと して生成され、 フレームメモリ 1 4 0 7に格納される。
一方、 復号化の対象とするマクロブロックが画面内予測によって符号 化されている場合は、 画面内予測復号器 1 40 9において周辺の復号化 済ブロックの情報を用いて画面内予測がなされ、 復号化画像データが生 成され、 フレームメモリ 1 4 07に格納される。 そして、 最終的な出力 画像としてフ レームメモリ 1 40 7から表示時間順に出力される。
以上復号化の流れの概要を説明したが、 係数個数復号化器 1 4 0 3が 行う係数の個数の復号化処理について、 図 1 8から図 2 1 を用いてその 詳細を説明する。
図 1 8 ( a ) は係数個数復号化 1 0 3の内部構成を詳しく示すブ ロック図である。
なお、 ここでは係数の個数の可変長復号化を行うために、 V L Gテー ブルとコ一ドテーブルという 2つのテーブルを使用する例を示している ( この V L Cテーブルとは符号列中の可変長符号をコード番号に変換する ために使用されるテーブルであり、 コードテーブルとは V L Cテーブル によって得られたコード番号を係数の個数に変換するために使用される テーブルである。
係数個数復号化器 1 4 0 3は、 図 1 8 ( a ) に示すように予測値算出 器 1 5 0 1 、 コードテーブル記憶器 1 5 0 2、 コードテーブル選択器 1 5 0 3、 V L Cテーブル選択器 1 5 0 4、 V L Cテーブル記憶器 1 5 0 5、 および係数個数復号化器 1 5 0 6を備えている。
まず、 図 1 7に示す係数個数記憶器 1 4 0 2から周辺に位置する復号 化済ブロックの係数の個数が予測値算出器 1 5 0 1 へ入力される。 予測 値算出器 1 5 0 1 は、 これらの値の平均値を取ることにより予測値を決 定する。 なお、 予測値の決定方法と して前記平均値の代わりに、 符号化 時の予測値算出方法に合わせて最大値または最小値または中央値のいず れかを用いることも可能である。 このとき参照する復号化済ブロックは 実施の形態 1 と同様に図 4 ( a ) に示された復号化対象のブロック Xに 対して Bおよび Cおよび Dの位置関係にある 3つのブロックを用いて表 1 に従って決定される。 表 1 における〇は復号化済プロック、 Xは復号 化が行われていないもしくはピクチャの外部もしくはスライスの外部に 位置するために参照することができないブロックを意味している。なお、 表 1 における〇 Xおよび参照ブロックの項目はこれ以外を用いた場合で も同様に扱うことが可能である。 なお、 参照ブロックがなしと判断され た場合は 0もしくはその他の任意の値を直接予測値として与える。
コ一ドテーブル選択器 1 5 0 3は、 予測値算出器 1 5 0 1 によって算 出された予測値に応じて、 コ一ドテ一ブル記憶器 1 5 0 2が持つ複数の コードテーブルの中から実際に使用するコードテーブルを選択する。 表 2はコードテーブル記憶器 1 5 0 2によって予め用意されている係 数の個数とコ一ド番号とを対応付けるコ一ドテーブルの例である。なお、 ここでは 4種類のコードテーブルを用意しているが、 テーブルの種類の 数およびテーブルの値はこれ以外のものを使用した場合も同様に扱うこ とができる。 ただし、 この場合符号化時に使用したテーブルと同じもの を使用する。 また、 表 3は予測値に基づいたコードテーブルの選択基準 を示したものである。 なお、 表 3における予測値の割リ振り方または参 照テーブルの項目はこれ以外のものを使用した場合も同様に扱うことが できる。 ただし、 この場合符号化時に使用したテーブルと同じものを使 用する。
V L C亍一ブル選択器 1 5 0 4は、 予測値算出器 1 5 0 1 によって算 出された予測値に応じて、 V L Cテーブル記憶器 1 5 0 5が持つ複数の Vし C亍一ブルの中から実際に使用する Vし Cテーブルを選択する。 表 4は V L Cテーブル記憶器 1 5 0 5によって予め用意されている係 数の個数とコー ド番号とを対応付ける V L C亍ーブルの例を示すもので ある。 なお、 ここでは 4種類の V L Cテーブルを用意しているが、 テー ブルの種類の数およびテーブルの値はこれ以外のものを使用した場合も 同様に扱うことができる。 ただし、 この場合符号化時に使用したテープ ルと同じものを使用する。 また、 表 5は予測値に基づいた V L Cテープ ルの選択基準を示したものである。 なお、 表 5における予測値の割り振 リ方または参照テーブルの項目はこれ以外のものを使用した場合も同様 に扱うことができる。 ただし、 この場合符号化時に使用したテーブルと 同じものを使用することが条件となつている。
係数個数復号化器 1 5 0 6は、 上記の処理によって選択されたコード テーブルおよび V L Cテーブルを参照して、 入力された復号化対象プロ ックの係数の個数の符号列に対し可変長復号化を行う。 係数個数復号化 器 1 5 0 6は、 まず V L Cテーブルを用いて係数の個数の符号列をコ一 ド番号に変換し、 つぎにコードテーブルを用いてコード番号に対応する 係数の個数の値に変換する。 図 1 9は予測値算出器 1 5 0 1 によって算 出された予測値が " 6 " で復号化対象ブロックの係数の個数の符号列が " 0 1 0 0 " であった場合の復号化の例を示す模式図である。 予測値が " 6 " であることから、 コード亍一ブル選択器 1 5 0 3において表 3お よび表 2により図 1 9に示すコード亍一ブル 3が選択され、 また V L C テーブル選択器 1 5 0 4において表 5および表 4により図 1 9に示す V L Cテーブル 3が選択される。 係数個数復号化器 1 5 0 6は、 入力され た符号列 " 0 1 0 0 " を V L Cテーブル 3によリコ一ド番号 " 2 " に変 換し、 さらにコードテーブル 3により最終的な係数の個数 " 4 " を決定 する。
次に、係数個数記憶器 1 402が行う係数の個数の記憶処理について、 その詳細を説明する。 なお、 実施の形態 1 の説明で用いた図 6 ( a ) を 用いて説明するが、 ここでは B "! 〜 B 1 6の符号を付したブロックを含 む太枠が復号化対象のマクロブロックを示し、 斜線のブロックが復号化 対象のマク ロブロックに対する参照ブロックを示している。 また、 プロ ックに付した符号の数字は、 マクロブロック内での復号化順を示してい る。
係数個数記憶器 1 4 0 2は、 例えば図 6 ( a ) に示す復号化対象のマ クロブロックの処理を開始する時点において、 係数個数復号化器 1 40 3によって復号化された係数の個数を、 少なく とも復号化対象のマク口 ブロックに対して必要となる図 6 ( a ) に斜線で示した参照ブロックに ついて記憶している。 すなわち、 係数個数記憶器 1 4 0 2は、 順次処理 される復号化対象のマクロブロックのブロック (B 1 、 B 2、 B 3、 … B 1 6 ) に対して検出された係数の個数を記憶する。 例えば、 復号化対 象ブロックがブロック B 6である場合、 係数個数記憶器 1 4 0 2は、 図 6 ( a ) に示す参照ブロックに加えて既に処理されたブロック B 1 、 B 2、 B 3、 B 4、 B 5の各係数の個数を記憶している。 そして、 係数個 数記憶器 1 4 0 2は、 係数個数復号化器 1 4 0 3によリブロック B 6の 係数の個数が復号化されると、 このブロック B 6の係数 個数を記憶す る。 このように係数個数記憶器 1 4 0 2は、 順次処理される復号化対象 のマクロブロックのブロック (B 1 、 B 2、 B 3、 -) に対して復号化 された係数の個数を記憶する。
そして、 例えば復号化対象のマクロブロックが図 2 ( b ) に示すマク ロブロック M B 1 1 である場合、 このマクロブロック M B 1 1 の処理が 終了し、 次のマクロブロック M B 1 2へ処理が移る際に、 係数個数記憶 器 1 4 0 2は、 図 7 ( a ) に示すようにマクロブロック M B 1 1 の下列 と右列のブロック (斜線のブロック) の係数の個数を少なく とも保持し ておく。 次に、 マクロブロック M B 1 2の処理が終了し、 その次のマク ロブロック M B 1 3へ処理が移る際に、 係数個数記憶器 1 4 0 2は、 同 様にマクロブロック M B 1 2の下列と右列のブロックの係数の個数を少 なく とも保持しておくとともに、 図 7 ( b ) に示すようにマクロブロッ ク M B 1 1 の下列のブロック (斜線のブロック) の係数の個数を少なく とも保持しておく。
また、 例えば復号化対象のマクロブロックが図 2 ( b ) に示すマクロ ブロック M B 9のようにピクチャの右端に位置する場合、 このマクロブ ロック M B 9の処理が終了し、 次のマクロブロック M B 1 0へ処理が移 る際に、 係数個数記憶器 1 4 0 2は、 図 7 ( b ) に示すようにマクロブ ロック M B 9の下列のブロック (斜線のブロック) の係数の個数を少な く とも保持しておく。
また、 例えぱ復号化対象のマクロブロックが図 2 ( b ) に示すマクロ ブロック M B mのようにピクチャの下端に位置する場合、 このマクロブ ロック M B mの処理が終了し、 次のマクロブロック M B nへ処理が移る 際に、 係数個数記憶器 1 4 0 2は、 図 7 ( c ) に示すようにマクロプロ ック M B mの右列のブロック (斜線のブロック) の係数の個数を少なく とも保持しておく。
このように係数個数記憶器 1 4 0 2は、 参照されるブロックに対する 係数の個数を保持しておく。 なお、 上記説明において保持しておく とし たブロック以外の係数の個数の情報は、 参照されることがなくなった後 であれば任意のタイミングで削除することが可能である。 例えば、 次の マクロプロックへ処理が移る際に削除することも、 もしくはマクロプロ ックの処理途中で削除することも可能である。 また、 参照されることの なくなったプロックに対する係数の個数は必ずしも削除するという処理 を必要と しない。 例えば、 係数個数記憶器 1 4 0 2は、 参照されること のなくなったブロックに対する係数の個数を不要であると認識し、 必要 に応じて上書きするようにしても構わない。
なお、 上記説明では、 係数個数記憶器 1 4 0 2において復号化済みブ 口ックの係数を記憶しておく ことによって参照することを可能としてい るが、 係数の個数の値そのものではなく、 例えば、 空間周波数成分を示 すブロックの係数の値を記憶しておく ことにより、 必要に応じて係数の 個数を算出するような構成を用いることも可能である。
以上のように本実施の形態では、 復号化済の周辺ブロックの係数の個 数から予測値を算出し、 その予測値に応じてコードテーブルおよび V L Cテーブルを適応的に切り替えて参照することにより、 係数の個数を復 号化することができる。
また、 上記のように予測値に応じてコードテーブルを切リ替えて参照 することにより、 係数の個数の出現確率が最も高い位置の変動に対応す ることができる。 一方、 予測値に応じて V L Cテーブルを切り替えて参 照することにより、 係数の個数の出現確率の分散の大きさに対応するこ とができる。
なお、 予測値算出器 1 5 0 1 において参照するプロックと して、 図 4 ( a ) に示すような 3つの周辺ブロックの代わりに図 4 ( b ) に示すよ うに復号化対象のブロック Xに対してブロック Bおよび Dの位置関係に ある 2つのブロックのみを用いることも可能である。 このときブロック Bおよび Dの位置関係にある 2つのブロックの中で、 復号化されていな いもしくはピクチャの外部もしくはスライスの外部に位置する ロック が発生した場合は、 表 6のように参照ブロックの変更がなされる。 表 6 における〇は表 1 と同様に復号化済ブロック、 Xは復号化が行われてい ないもしくはピクチャの外部もしくはスライスの外部に位置するために 参照することができないブロックを意味している。 なお、 表 6の〇 Xお よび参照ブロックの項目はこれ以外を用いた場合でも同様に扱うことが 可能である。 なお、 参照ブロックがなしと判断された場合は 0もしくは その他の任意の値を直接予測値と して与える。 ただし、 この値は符号化 時に使用したものと同じ値を使用する。 この場合、 係数個数記憶器 1 4 0 2は、係数個数復号化器 1 4 0 3によって復号化された係数の個数を、 少なく とも復号化対象のマクロブロックに対して必要となる図 6 ( ) に示す参照ブロックについて記憶していればよい。
なお、 予測値算出器 1 5 0 1 において予測値を算出する方法として、 平均値または最大値または最小値または中央値のいずれかに固定するの ではなく、 例えばその中から最適なものをシーケンスまたは G O Pまた はピクチャまたはスライスごとに選択することも可能である。この場合、 符号列のシーケンスまたはピクチャまたはスライスのヘッダ領域に記述 されている算出方法を識別するための信号を復号化することにより算出 方法を決定する。 なお、 スライスとは 1 つのピクチャを複数の領域に分 けたものを示し、 例えばマクロブ口ック単位で横方向に 1 列分の領域な どがこれにあたる。
なお、 予測値算出器 1 5 0 1 において予測値を算出する方法と して、 例えば平均値または最大値または最小値または中央値のいずれかを復号 化済の参照ブロックの係数の個数の平均値によって選択することも可能 である。 表 7はその選択基準を示したものである。 なお、 表 7における 平均値の割リ振 y方または予測値算出方法の項目はこれ以外のものを使 用した場合も同様に扱うことができる。 ただし、 この場合符号化時に使 用したものと同じものを使用する。
なお、 本実施の形態では、 係数個数復号化器 1 4 0 3において係数の 個数の値そのものに対して可変長符号化がなされている符号列の復号化 処理方法を示したものであるが、 予測値と係数の個数との差分値に対し て可変長符号化がなされている符号列の復号化を行うことも可能である , その場合は図 1 8 ( b ) に示すように予測値算出器 1 5 0 1 によって算 出された予測値と係数個数復号化器 1 5 0 6によって復号化された係数 の個数の差分値とを加算演算器 1 5 0 7において加算することにより係 数の個数を決定する。
また、 本実施の形態では、 係数個数復号化器 1 4 0 3においてコード テーブルおよび V L Cテーブルの両者を周辺ブロックの係数の個数に基 づく予測値によって切り替えて可変長復号化を行っているが、 それらの どちらか一方を切り替えずに固定して使用することも可能である。 その 場合はある 1種類のコードテーブルもしくは V L Cテーブルを持った記 憶器のみを用意することにより実現可能である。 図 2 0 ( a ) はコード テーブルのみを固定して係数の個数の可変長復号化を行う場合の係数個 数復号化器 1 4 0 3の構成を示すブロック図である。 また、 図 2 0 ( b ) は V L Cテーブルのみを固定して係数の個数の可変長復号化を行う場合 の係数個数復号化器 1 4 0 3の構成を示すブロック図である。 コードテ 一ブルのみを固定するその場合は、 図 2 0 ( a ) に示すように係数個数 復号化器 1 4 0 3は、 図 1 8 ( a ) に示すコ一ドテ一ブル記憶器 1 5 0 2およびコードテ一ブル選択器 1 5 0 3に代えてコ一ドテーブル記憶器 1 6 0 1 を備えている。 このコードテーブル記憶器 1 6 0 1 は、 1種類 のコードテーブルを有している。そして、係数個数復号化器 1 5 0 6は、 まず V L Cテーブル選択器 1 5 0 4により選択された V L Cテーブルを 用いて可変長符号をコード番号に変換し、 つぎにコードテーブル記憶器 1 6 0 1 が有しているコ一 ドテーブルを用いてコード番号を係数の個数 に変換する。
一方、 V L Cテーブルのみを固定する場合、 図 2 0 ( b ) に示すよう に係数個数復号化器 1 4 0 3は、 図 1 8 ( a ) に示す V L Cテーブル記 憶器 1 5 0 5および V L Cテーブル選択器 1 5 0 4に代えて V L Cテー ブル記憶器 1 6 0 2を備えている。 この V L Cテーブル記憶器 1 & 0 2 は、 1種類の V L Cテーブルを有している。 そして、 係数個数復号化器 1 5 0 6は、 まず V L Cテーブル記憶器 1 6 0 2が有している V L Cテ —ブルを用いて可変長符号をコード番号に変換し、 つぎにコード亍ーブ ル選択器 1 5 0 3により選択されたコードテーブルを用いてコード番号 を係数の個数に変換する。
このようにコー ドテーブルまたは V L Cテーブルのどちらか一方を 切り替えずに固定して使用することにより、 複数のテーブルを記憶して おくためのメモリ容量を減らすことが可能となる。
また、 係数個数復号化器 1 4 0 3において、 コードテーブルを用いず に V L Cテーブルのみを周辺ブロックの係数の個数に基づく予測値によ つて切り替えて可変長復号化を行うことも可能である。 図 2 0 ( c ) は コードテーブルを用いずに V L Cテーブルのみを用いて係数の個数の可 変長復号化を行う場合の係数個数復号化器 1 4 0 3の構成を示すブロッ ク図である。 この場合、 図 2 0 ( c ) に示すように係数個数復号化器 1 4 0 3は、 図 1 8 ( a ) に示すコードテーブル記憶器 1 5 0 2およぴコ ―ド亍一ブル選択器 1 5 0 3は備えていない。 係数個数復号化器 1 4 0 3では、 予測値算出器 1 5 0 1 によって算出された予測値に基づいて V L Cテーブル選択器 1 6 0 3が、 V L Cテーブル記憶器 1 6 0 4の有す る複数の V L Cテーブルの中から実際に使用する V L Cテーブルを選択 する。 そして、 係数個数復号化器 1 5 0 6は、 上記のようにコードテ一 ブルを用いて係数の個数をコード番号に変換することなく、 直接、 V L Cテーブルを用いて可変長符号を係数の個数に変換する。 なお、 この場 合に表 4で示す V L Cテーブルの例では、 コード番号となっている部分 が係数の個数値となる。
また、 係数個数復号化器 1 4 0 3において、 係数の個数の値の代わり に予測値と係数の個数との差分値に対して可変長符号化がなされている 符号列の復号化を行う場合に対しても同様に扱うことが可能である。 図 2 1 はその例としてコードテーブルおよび V L Gテーブルの両者を固定 して予測値と係数の個数との差分値に対して可変長復号化を行う場合の 係数個数復号化器 1 4 0 3の構成を示すブロック図である。 この場合、 図 2 1 に示すように係数個数復号化器 1 4 0 3は、 図 1 8 ( a ) に示す コードテ一ブル記憶器 1 5 0 2およびコ一ドテーブル選択器 1 5 0 3に 代えてコ一ドテーブル記憶器 1 6 0 1 を、 V L Cテーブル記憶器 1 5 0 5およぴ V L Cテーブル選択器 1 5 04に代えて V L Cテーブル記憶器 1 6 0 2備えている。 このコードテーブル記憶器 1 6 0 1 は 1種類のコ 一ドテ一ブルを、 V L Cテーブル記憶器 1 6 0 2は 1 種類の V L Cテー ブルを有している。 そして、 係数個数符号化器 1 50 6は、 まず V L C テーブル記憶器 1 6 0 2が有している V L Cテーブルを用いて可変長符 号をコ一ド番号に変換し、 つぎにコ一ドテーブル記憶器 1 6 0 "I が有し ているコー ドテーブルを用いてコード番号を予測値と係数の個数との差 分値に変換する。 さらに加算演算器 1 5 07によって前記差分値と予測 値とを加算することにより、 係数の個数を算出する。
(実施の形態 7 )
本実施の形態における画像復号化装置の構成およぴ復号化処理の概要 は、 図 1 7に示す係数個数復号化器 1 4 03を除き実施の形態 6 と全く 同等である。 ここでは、 この係数個数復号化器 1 40 3において実施 ω 形態 7でなされる係数の個数の可変長復号化処理について、 図 1 1 およ ぴ図 2 2を用いてその詳細を説明する。 なお、 実施の形態 2の画像符号 化装置で生成された符号列が入力されるものとする。
図 22 ( a ) は係数個数復号化器 1 4 03の内部構成を詳しく示すブ ロック図である。
図 22 ( a ) に示すように係数個数復号化器 1 403は、 図 1 8 ( a ) に示すコー ドテーブル記憶器 1 50 2およびコードテーブル選択器 1 5 03に代えてコードテーブル生成器 1 9 0 1 を備えている。 コ一 ドテー ブル生成器 1 9 0 1 には、 図 1 7に示す係数個数記憶器 1 4 02から復 号化済プロックの係数の個数が入力される。 コードテーブル生成器 1 9 0 1 は、 係数の個数の値ごとにそれと等しい係数の個数を持つ復号化済 みのブロックが幾つあるかをカウン トし、 その統計量に基づいて発生頻 度が最も高かった係数の個数から順にコード番号を割り当て、 コードテ 一ブルを作成する。 図 1 1 ( a ) は統計の対象とする復号化済ブロック の位置を表す模式図である。 ここで、 P 1 および P 3および P 4は画面 間予測復号化を行うピクチャであり、 I 2は画面内予測復号化を行うピ クチャである。 現在復号化の対象と しているブロックが P 3に属してい るとすると、 同じ方式によって復号化された直前のピクチャである P 1 の全てのブロックが統計の対象となる。 なお、 図 1 1 ( b ) のように現 在復号化の対象となっているピクチャ内にある復号化済ブロックも含め た 1 ピクチャ分のブロックを統計の対象とする場合も同様に扱うことが 可能である。 また、 統計の対象とすることのできる 1 ピクチャ分の復号 化済ブロックが存在しない場合は、 初期状態のコードテーブルと して 0 からの昇順で与えられるテーブルを使用する。 なお、 ここでは 1 ピクチ ャ分のブロックを統計対象と しているが、 母数としてそれ以外のブロッ クの個数を用いた場合も同様に扱うことが可能である。 ただし、 この場 合符号化時に使用した個数と同じものを使用する。 なお、 図 1 1 ( a ) に示すような参照を行って上記コードテーブルの生成を行う場合は、 対 象のピクチャの復号化を開始する際に 1 度だけテーブルの生成を行うだ けでよい。
—方、 予測値算出器 1 5 0 1 には、 周辺に位置する復号化済プロック の係数の個数が入力される。 予測値算出器 1 5 0 1 は、 これらの値を基 に実施の形態 6と同様に平均値を取ることにより予測値を決定する。 な お、 予測値の決定方法として前記平均値の代わリに最大値または最小値 または中央値のいずれかを用いることも可能である。 このとき参照する 復号化済ブロックは実施の形態 6と同様に図 4 ( a ) に示された復号化 対象のブロック Xに対して Bおよび Cおよび Dの位置関係にある 3つの ブロックを用いて表 1 に従って決定される。 なお、 表 1 における〇 Xお よび参照ブロックの項目はこれ以外を用いた場合でも同様に扱うことが 可能である。 なお、 参照ブロックがなしと判断された場合は 0もしくは その他の任意の値を直接予測値として与える。 ただし、 この値は符号化 時に使用したものと同じ値を使用する。
予測値算出器 1 5 0 1 によって算出された予測値は、 V L Cテーブル 選択器 1 5 0 4においてのみ用いられる。 V L Cテーブル選択器 1 5 0 4、 この予測値に応じて、 V L Cテーブル記憶器 1 5 0 5に実施の形態 6と同様に表 4に示すような予め用意された複数の V L Cテーブルの中 から表 5に示すような選択基準に従って係数の個数の復号化に使用する V L Cテーブルを選択する。
係数個数復号化器 1 5 0 6は、 コードテーブル生成器 1 9 0 1 によつ て生成されたコードテーブルおよび V L Cテーブル選択器 1 5 0 4によ つて選択された V L Cテーブルを参照して、 実施の形態 6と同様に入力 された係数の個数の符号列に対し可変長復号化を行う。
以上のように本実施の形態では、 復号化済ブロックの係数の個数の統 計を取ることによリコードテーブルを作成し、 さらに復号化済ブロック の係数の個数から算出された予測値に応じて V L Cテーブルを決定し、 その両者を参照することにより係数の個数の復号化を行うことができる, なお、 実施の形態 6と同様に予測値算出器 1 5 0 1 において参照する 復号化済ブロックは、 図 4 ( a ) のような 3つの周辺ブロックの代わり に図 4 ( b ) のように復号化対象のブロック Xに対して Bおよび Dの位 置関係にある 2つのブロックのみを用いて表 6に従って決定することも 可能である。 また、 表 6における〇 Xおよび参照ブロックの項目はこれ 以外を用いた場合でも同様に扱うことが可能である。 なお、 参照ブロッ クがなしと判断された場合は 0もしくはその他の任意の値を直接予測値 として与える。 ただし、 この値は符号化時に使用したものと同じ値を使 用する。 また、 実施の形態 6と同様に予測値算出器 1 5 0 1 において予測値を 算出する方法として、 平均値または最大値または最小値または中央値の いずれかに固定するのではなく、 例えばその中から最適なものをシ一ケ ンスまたは G O Pまたはピクチャまたはスライスごとに選択することも 可能である。 この場合、 符号列のシーケンスまたは G O Pまたはピクチ ャまたはスライスのヘッダ領域に記述されている算出方法を識別するた めの信号を復号化することによ y算出方法を決定する。
また、 実施の形態 6と同様に予測値算出器 1 5 0 1 において予測値を 算出する方法として、 例えば平均値または最大値または最小値または中 央値のいずれかを復号化済の参照プロックの係数の個数の平均値によつ て選択することも可能である。 表 7はその選択基準を示したものである が、 ここでの平均値の割リ振リ方または予測値算出方法の項目はこれ以 外のものを使用した場合も同様に扱うことができる。 ただし、 この場合 符号化時に使用したものと同じものを使用する。
また、 本実施の形態では、 係数の個数の値そのものに対して可変長符 号化がなされている符号列の復号化処理方法を示したものであるが、 予 測値と係数の個数との差分値に対して可変長符号化がなされている符号 列の復号化を行うことも可能である。 その場合は図 2 2 ( b ) に示すよ うに予測値算出器 1 5 0 1 による予測値と係数個数復号化器 1 5 0 6に よって復号化された係数の個数の差分値とを加算演算器 1 5 0 7におい て加算することにより係数の個数を決定する。
また、 上記実施の形態では、 係数個数復号化器 1 4 0 3において V L Cテーブルを周辺ブロックの係数の個数に基づく予測値によって切リ替 えて可変長復号化を行っているが、 実施の形態 6と同様に V L Cテープ ルを切り替えずに固定して使用することも可能である。 その場合は V L Cテーブル選択器を用いる代わりにある 1種類の V L Cテーブルを持つ た V L Cテーブル記憶器のみを用いることにより実現可能である。
(実施の形態 8 )
本実施の形態における画像復号化装置の構成および復号化処理の概要 は、 図 1 7に示す係数個数復号化器 1 4 0 3を除き実施の形態 6と全く 同等である。 ここでは、 この係数個数復号化器 1 4 0 3において実施の 形態 8でなされる係数の個数の可変長復号化処理について、 図 2 3およ ぴ表 8から表 9を用いてその詳細を説明する。 なお、 実施の形態 3の画 像符号化装置で生成された符号列が入力されるものとする。
図 2 3 ( a ) は係数個数復号化器 1 4 0 3の内部構成を詳しく示すブ ロック図である。
図 2 3 ( a ) に示すように係数個数復号化器 1 4 0 3は、 図 1 8 ( a ) に示す予測値算出器 1 5 0 1 を備えていない。 これにより、 コードテ一 ブル選択器 2 0 0 1 および V L Cテーブル選択器 2 0 0 2は、 実施の形 態 6とは異なり予測値を使用することなく直接復号化済ブロックの係数 の個数を使用することによって実際に使用するテーブルを選択する。 こ のとき参照する復号化済ブロックは図 4 ( b ) に示すように復号化対象 のブロック Xに対し B (上) および D (左) の位置関係にある 2つのみ を用いる。 ただし、 上および左に位置するブロックが復号化されていな いもしくはピクチヤの外部もしくはスライスの外部であった場合は係数 の個数として 0もしくはその他の任意の値を代用する。 ただし、 この値 は符号化時に使用したものと同じ値を使用する。
表 8はコー ドテ一ブル選択器 2 0 0 1 におけるコードテーブルの選択 方法を示したものである。 コードテーブル選択器 2 0 0 1 は、 表 8に示 すように復号化対象ブロックの上および左に位置するブロックの係数の 個数それぞれを値に応じて 2つのグループに分類し、 それによつて形成 される 4つの組み合わせによってコードテーブルを選択する。 なお、 表 8における上および左ブロックの係数の個数を分類する方法およびコー ドテーブルの割り当て方についてはこれ以外のものを使用した場合も同 様に扱うことができる。 ただし、 この場合符号化時に使用したものと同 じものを使用する。 また、 V L Cテーブル選択器 2 0 0 2は、 コードテ —ブル選択器 2 0 0 1 の場合と同様に表 9に示すような選択方法を用い て実際に参照する V L Cテーブルを選択する。
係数個数復号化器 1 5 0 6は、 コードテーブル選択器 2 0 0 1 によつ て選択されたコードテーブルおよび V L Cテーブル選択器 2 0 0 2によ つて選択された V L Cテーブルを参照して、 実施の形態 6と同様に入力 された復号化対象プロックの係数の個数の可変長復号化を行う。
以上のように本実施の形態では、 復号化対象ブロックの上および左に 位置する復号化済ブロックの係数の個数を値に応じて N個のグループに 分類し、 そのときに形成される N X N通りの組み合わせに応じてコ一ド テーブルおよび V L Cテーブルを適応的に切り替えて参照することによ リ、 係数の個数の復号化を行うことができる。
なお、 本実施の形態では、 係数の個数の値そのものに対して可変長符 号化がなされている符号列の復号化処理方法を示したものであるが、 予 測値と係数の個数との差分値に対して可変長符号化がなされている符号 列の復号化を行うことも可能である。 その場合は図 2 3 ( b ) に示すよ うに予測値算出器 1 5 0 1 による予測値と係数個数復号化器 1 5 0 6に よって復号化された係数の個数の差分値とを加算演算器 1 5 0 7におい て加算することにより係数の個数を決定する。
また、 上記実施の形態では、 係数個数復号化器 1 4 0 3においてコー ドテーブルおよび V L C亍一ブルの両者を周辺ブロックの係数の個数に よって切り替えて可変長復号化を行っているが、実施の形態 6と同様に、 それらのどちらか一方を切り替えずに固定して使用することも可能であ る。 その場合はテーブル選択器を用いる代わりにある 1種類のコードテ 一ブルもしくは V L Cテーブルを持った記憶器のみを用いることにより 実現可能である。 さらに、 実施の形態 6と同様に、 コードテーブルを用 いずに V L Cテーブルのみを周辺ブロックの係数の個数によって切リ替 えて可変長復号化を行うことも可能である。
(実施の形態 9 )
本実施の形態における画像復号化装置の構成および復号化処理の概要 は、 図 1 7に示す係数個数復号化器 1 4 0 3を除き実施の形態 6と全く 同等である。 ここでは、 この係数個数復号化器 1 4 0 3において実施の 形態 9でなされる係数の個数の可変長復号化処理について、 図 2 4およ び図 1 4を用いてその詳細を説明する。 なお、 実施の形態 4の画像符号 化装置で生成された符号列が入力されるものとする。
図 2 4 ( a ) は係数個数復号化器 1 4 0 3の内部構成を詳しく示すブ ロック図である。
図 2 4 ( a ) に示すように係数個数復号化器 1 4 0 3は、 図 1 8 ( a ) に示す予測値算出器 1 5 0 1 、 コードテーブル選択器 1 5 0 3、 および V L Cテーブル選択器 1 5 0 4に代えてテーブル選択器 2 1 0 1 を備え ている。 テーブル選択器 2 1 0 1 は、 実施の形態 6とは異なリ予測値を 使用することなく直接復号化済ブロックの係数の個数を使用し、 コード テーブルおよび V L Cテーブルの両者を同時に評価することによって実 際に使用するテーブルを選択する。 このとき参照する復号化済ブロック は図 4 ( a ) にあるように復号化対象のブロック Xに対して Bおよび C および Dの位置関係にある 3つのブロックを用いる。 ただし、 これらに 位置するプロックが復号化されていないもしくはピクチャの外部もしく はスライスの外部であった場合は係数の個数として 0もしくはその他の 任意の値を代用する。 ただし、 この値は符号化時に使用したものと同じ 値を使用する。
テーブル選択器 2 1 0 1 は、 図 1 4に示すように実施の形態 4と同様 にしてコードテーブルおよび V L Cテーブルを同時に用いて参照ブロッ クの係数の個数を符号化した結果生成される符号列の長さの和を算出し それを評価値とする。 そして、 テーブル選択器 2 1 0 1 は、 コードテー ブル記憶器 1 5 0 2および V L Cテーブル記憶器 1 5 0 5が有する全て のコードテ—ブルおよび V L Cテーブルの組み合わせに対してこの処理 を行い、 得られた評価値が最も小さくなるコードテーブルおよび V L C テーブルの組み合わせを選択する。
係数個数復号化器 1 5 0 6は、 テーブル選択器 2 1 0 1 によって選択 されたコードテーブルおよび V L Cテーブルを参照して、 実施の形態 6 と同様に入力された復号化対象ブロックの係数の個数の可変長復号化を 行う。
以上のように本実施の形態では、 復号化済の周辺プロックの係数の個 数に対してコードテーブルおよび V L Cテーブルを用いて符号化を行い そのときの符号列の長さの和を評価値とし、 これが最小となる組み合わ せのコードテーブルおよび V L Cテーブルを参照することにより、 係数 の個数の復号化を行うことができる。
なお、 実施の形態 6と同様にテーブル選択器 2 1 0 1 において参照す る復号化済ブロックは、 図 4 ( a ) のような 3つの周辺ブロックの代わ りに図 4 ( b ) のように復号化対象のブロック Xに対して Bおよび の 位置関係にある 2つのみを用いても同様に扱うことが可能である。 ただ し、 これらに位置するブロックが復号化されていないもしくはピクチャ の外部であった場合は係数の個数と して 0もしくはその他の任意の値を 代用する。 ただし、 この値は符号化時に使用したものと同じ値を使用す る。 また、 本実施の形態では、 係数の個数の値そのものに対して可変長符 号化がなされている符号列の復号化処理方法を示したものであるが、 予 測値と係数の個数との差分値に対して可変長符号化がなされている符号 列の復号化を行うことも可能である。 その場合は図 2 4 ( b ) に示すよ うに予測値算出器 1 5 0 1 による予測値と係数個数復号化器 1 5 0 6に よつて復号化された係数の個数の差分値とを加算演算器 1 5 0 7におい て加算することにより係数の個数を決定する。
また、 本実施の形態では、 係数個数復号化器 1 4 0 3においてコード テーブルおよび V L Cテーブルを切り替える対象としているが、 それら の一方を切り替えずに固定して使用することも可能である。
(実施の形態 1 0 )
本実施の形態における画像復号化装置の構成および復号化処理の概要 は、 図 1 7に示す係数個数復号化器 1 4 0 3を除き実施の形態' 6と全く 同等である。 本実施の形態では、 係数個数復号化器 1 4 0 3において参 照する情報と して実施の形態 6における復号化済ブロックの係数の個数 の代わリに画面間予測復号化の場合は画面間予測モードを、 また画面内 予測復号化の場合は画面内予測モードを用いる。 なお、 実施の形態 5の 画像符号化装置で生成された符号列が入力されるものとする。
ここでは、 図 1 7に示す係数個数復号化器 1 4 0 3においてなされる 係数の個数の可変長復号化処理について、 図 2 5を用いてその詳細を説 明する。
図 2 5は係数個数復号化器 1 4 0 3の内部構成を詳しく示すブロック 図である。
図 2 5に示すように係数個数符号化器 1 4 0 3は、 図 1 8 ( a ) に示 す予測値算出器 1 5 0 1 を備えていない。 画面間予測復号化の場合は画 面間予測モード;が、また画面内予測復号化の場合は画面内予測モードが、 符号列解析器 1 4 0 1 よリコ一ドテ一ブル選択器 2 2 0 1 および V L C テーブル選択器 2 2 0 2に入力される。 これにより、 コー ドテーブル選 択器 2 2 0 1 は、 画面間予測符号化の場合は画面間予測モードに、 また 画面内予測符号化の場合は画面内予測モードに基づいて使用するテープ ルを選択する。 表 1 0はコードテーブル選択器 2 2 0 1 におけるコード テーブルの選択方法を示したものである。
例えば、復号化対象ピクチャが画面間予測によって復号化される場合、 対象のブロックが 8 X 8のサイズの予測が選択されると、 それに伴って 係数の個数を可変長復号化するためのコードテーブルと して 2番のテ一 ブルが選択されることになる。 なお、 表 1 0の各項目についてはこれ以 外のものを使用した場合も同様に扱うことができる。 ただし、 符号化時 に使用したものと同じものを使用する。
また、 V L Cテーブル選択器 2 2 0 2は、 コードテーブル選択器 2 2 0 1 の場合と同様に表 1 1 に示すような選択方法を用いて実際に参照す る V L C亍ーブルを選択する。
係数個数復号化器 1 5 0 6は、 コードテ一ブル選択器 2 2 0 1 によつ て選択されたコードテーブルおよび V L Cテーブル選択器 2 2 0 2によ つて選択された V L Cテーブルを参照して、 実施の形態 6と同様に入力 された復号化対象ブロックの係数の個数の可変長復号化を行う。
以上のように本実施の形態では、 復号化の対象としているブロックが 画面間予測復号化の場合は画面間予測モー ドに、 また画面内予測復号化 の場合は画面内予測モードに応じてコード亍一ブルおよび V L C亍ーブ ルを適応的に切り替えて参照することにより、 係数の個数の復号化を行 うことができる。
なお、 本実施の形態では、 係数の個数の値そのものに対して可変長符 号化がなされている符号列の復号化処理方法を示したものであるが、 予 測値と係数の個数との差分値に対して可変長符号化がなされている符号 列の復号化を行うことも可能である。 その場合は実施の形態 6と同様に 符号化済の周辺ブロックの係数の個数を用いて予測値を決定し、 その値 と係数個数復号化器 1 5 0 6によって復号化された係数の個数の差分値 とを加算することにより係数の個数を決定する。
また、 本実施の形態では、 係数個数復号化器 1 4 0 3においてコード テーブルおよび V L Cテーブルの両者を切リ替えて可変長復号化を行つ ているが、 実施の形態 6と同様に、 それらの一方もしくは両者を切リ替 えずに固定して使用することも可能である。 その場合はある 1種類のコ —ドテーブルもしくは V L Cテーブルを持った記憶器のみを用意するこ とにより実現可能である。
(実施の形態 1 1 )
さらに、 上記各実施の形態で示した符号化処理および復号化処理の構 成を実現するための符号化およぴ復号化プログラムを、 フレキシブルデ イスク等のデータ記憶媒体に記録するようにすることにより、 上記各実 施の形態で示した処理を、 独立したコンピュータシステムにおいて簡単 に実施することが可能となる。
図 2 6は、上記実施の形態 1 から 1 0の符号化あるいは復号化処理を、 上記符号化および復号化プログラムを格納したフレキシブルディスクを 用いて、 コンピュータシステムにより実施する場合を説明するための図 である。
図 2 6 ( b ) は、 フレキシブルディスクの正面からみた外観、 断面構 造、 及びフレキシブルディスクを示し、 図 2 6 ( a ) は、 記録媒体本体 であるフレキシブルディスクの物理フォーマツ 卜の例を示している。 フ レキシブルディスク F Dはケース F内に内蔵され、 該ディスクの表面に は、 同心円状に外周からは内周に向かって複数の トラック T rが形成さ れ、 各トラックは角度方向に 1 6のセクタ S eに分割されている。 従つ て、 上記プログラムを格納したフレキシブルディスクでは、 上記フレキ シブルディスク F D上に割リ当てられた領域に、 上記プログラムとして のデータが記録されている。
また、 図 2 6 ( c ) は、 フレキシブルディスク F Dに上記プログラム の記録再生を行うための構成を示す。 上記プログラムをフレキシブルデ イスク F Dに記録する場合は、 コンピュータシステム C sから上記プロ グラムと してのデータをフレキシブルディスク ドライブを介して書き込 む。 また、 フレキシブルディスク内のプログラムにより上記符号化およ ぴ復号化装置をコンピュータシステム中に構築する場合は、 フレキシブ ルディスク ドライブによりプログラムをフレキシブルディスクから読み 出し、 コンピュータシステムに転送する。
なお、 上記説明では、 データ記録媒体としてフレキシブルディスクを 用いて説明を行ったが、光ディスクを用いても同様に行うことができる。 また、 記録媒体はこれに限らず、 I Cカード、 R OMカセッ ト等、 プロ グラムを記録できるものであれば同様に実施することができる。
さらにここで、 上記実施の形態で示した画像符号化方法や画像復号化 方法の応用例とそれを用いたシステムを説明する。
図 27は、 コンテンツ配信サービスを実現するコンテンツ供給シス亍 厶 ex1 00の全体構成を示すブロック図である。通信サービスの提供ェ リアを所望の大きさに分割し、 各セル内にそれぞれ固定無線局である基 地局 ex 1 0 7〜ex 1 1 0が設置されている。
このコ ンテンツ供給システム ex 1 0 0は、例えば、インタ一ネッ ト ex 1 0 1にインタ一ネッ トサービスプロバイダ ex 1 0 2および電話網 ex 1 0 4、 および基地局 ex l 0 7〜ex1 1 0を介して、 コンピュータ ex 1 1 1 、 P D A ( persona I digital ass i stant) ex 1 1 2、 カメラ ex 1 1 3、 携帯電話 ex 1 1 4、 カメラ付きの携帯電話 e x 1 1 5などの各機 器が接続される。
しかし、 コンテンツ供給システム ex 1 0 0は図 2 7のような組合せに 限定されず、いずれかを組み合わせて接続するようにしてもよい。また、 固定無線局である基地局 ex l 0 7 -exl 1 0を介さずに、各機器が電話 網 ex1 04に直接接続されてもよい。
カメラ ex l 1 3はデジタルビデオカメラ等の動画撮影が可能な機器 である。 また、 携帯電話は、 P D C (Personal Digital Communications) 方式、 C D M A (Code Division Multiple Access) 方式、 W—C DMA (Wideband-Code Division Multiple Access) 方式、 若しく は G S M (Global System for Mobi ie Communications) 方式の携帯電話機、 また は P H S (Persona I Handyphone System) 等であり、 いずれでも構わな い。
また、ス トリーミングサーバ exl 0 3は、 カメラ exl 1 3から基地局 ex 1 0 9、電話網 exl 0 4を通じて接続されており、カメラ ex 1 1 3を 用いてユーザが送信する符号化処理されたデータに基づいたライブ配信 等が可能になる。撮影したデータの符号化処理はカメラ ex 1 1 3で行つ ても、 データの送信処理をするサーバ等で行ってもよい。 また、 カメラ ex 1 1 6で撮影した動画データはコンピュータ ex 1 1 1 を介してス ト リーミングサーバ exl 03に送信されてもよい。カメラ exl 1 6はデジ タルカメラ等の静止画、 動画が撮影可能な機器である。 この場合、 動画 データの符号化はカメラ exl 1 6で行ってもコンピュータ exl 1 1 で 行ってもどちらでもよい。 また、 符号化処理はコンピュータ ex 1 1 1 や カメラ ex 1 1 6が有する L 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 l 0 0では、ユーザがカメラ ex 1 1 3 , カメラ ex 1 1 6等で撮影しているコンテンツ (例えば、 音楽ライブを撮 影した映像等) を上記実施の形態同様に符号化処理してス トリ一ミング サーバ ex l 0 3に送信する一方で、ス トリーミングサーバ ex l 0 3は要 求のあったクライアン 卜に対して上記コンテンッデータをス トリーム配 信する。 クライアン トと しては、 上記符号化処理されたデータを復号化 することが可能な、 コンピュータ ex l 1 1 、 P D A ex l 1 2、 カメラ ex 1 1 3、 携帯電話 ex 1 1 4等がある。 このようにすることでコンテンツ 供給システム ex 1 0 0は、符号化されたデータをクライアントにおいて 受信して再生することができ、 さらにクライアン 卜においてリアルタイ ムで受信して復号化し、 再生することにより、 個人放送をも実現可能に なるシステムである。
このシステムを構成する各機器の符号化、 復号化には上記各実施の形 態で示した画像符号化装置あるいは画像復号化装置を用いるようにすれ ばよい。
その一例と して携帯電話について説明する。
図 2 8は、 上記実施の形態で説明した画像符号化方法と画像復号化方 法を用いた携帯電話 ex 1 1 5を示す図である。携帯電話 ex 1 1 5は、基 地局 ex 1 1 0との間で電波を送受信するためのアンテナ ex 2 0 1 、 C C Dカメラ等の映像、 静止画を撮ることが可能なカメラ部 ex 2 0 3、 カメ ラ部 ex 2 0 3で撮影した映像、アンテナ ex 2 0 1 で受信した映像等が復 号化されたデータを表示する液晶ディスプレイ等の表示部 ex 2 0 2、操 作キー e x 2 04群から構成される本体部、 音声出力をするためのスピ —力等の音声出力部 ex 2 0 8、音声入力をするためのマイク等の音声入 力部 ex 20 5、 撮影した動画もしくは静止画のデータ、 受信したメール のデータ、 動画のデータもしくは静止画のデータ等、 符号化されたデー タまたは復号化されたデータを保存するための記録メディア ex20 7、 携帯電話 ex1 1 5に記録メディア ex.20 7を装着可能とするためのス ロッ ト部 ex 2 0 6を有している。記録メディア ex 2 0 7は S Dカード等 のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモ リである E E P R OM (Electrical ly Erasable and Programmab I e Read Only Memory) の一種であるフラッシュメモリ素子を格納したものである c さらに、 携帯電話 ex1 1 5について図 2 9を用いて説明する。 携帯電 話 exl 1 5は表示部 ex 2 0 2及び操作キ一 e x 20 4を備えた本体部 の各部を統括的に制御するようになされた主制御部 ex3 1 1 に対して、 電源回路部 ex 3 1 0、 操作入力制御部 ex3 04、 画像符号化部 ex 3 1 2、 カ メ ライ ンタ一フ ェース部 ex 3 0 3、 L C D (Liquid Crystal Display) 制御部 ex 3 O 2、 画像復号化部 ex3 O 9、 多重分離部 ex 30 8、 記録再生部 ex30 7、 変復調回路部 ex3 0 6及び音声処理部 ex3 0 5が同期バス ex 3 1 3を介して互いに接続されている。
電源回路部 ex3 1 0は、ユーザの操作によリ終話及び電源キーがオン 状態にされると、 バッテリパックから各部に対して電力を供給すること によリカメラ付ディジタル携帯電話 ex 1 1 5を動作可能な状態に起動 する。
携帯電話 ex 1 1 5は、 C P U、 R OM及び R AM等でなる主制御部 ex 3 1 1 の制御に基づいて、音声通話モー ド時に音声入力部 ex 2 0 5で集 音した音声信号を音声処理部 ex3 0 5によってディジタル音声データ に変換し、 これを変復調回路部 ex 3 0 6でスぺク トラ厶拡散処理し、 送 受信回路部 ex 3 0 1 でディジタルアナログ変換処理及び周波数変換処 理を施した後にアンテナ ex 20 1 を介して送信する。また携帯電話機 ex 1 1 5は、音声通話モー ド時にアンテナ ex2 0 1 で受信した受信データ を増幅して周波数変換処理及びアナ口グディジタル変換処理を施し、 変 復調回路部 ex 3 0 6でスぺク トラム逆拡散処理し、音声処理部 ex30 5 によってアナログ音声データに変換した後、 これを音声出力部 ex208 を介して出力する。
さらに、 データ通信モー ド時に電子メールを送信する場合、 本体部の 操作キー e X 2 0 4の操作によって入力された電子メールのテキス トデ —タは操作入力制御部 ex 304を介して主制御部 ex3 1 1 に送出され る。主制御部 ex 3 1 1 は、 テキス トデータを変復調回路部 ex3 06でス ぺク トラ厶拡散処理し、送受信回路部 ex3 0 1 でディジタルアナログ変 換処理及び周波数変換処理を施した後にアンテナ ex2 0 1 を介して基 地局 ex 1 1 0へ送信する。
データ通信モード時に画像データを送信する場合、 カメラ部 ex 203 で撮像された画像データをカメラインタ一フェース部 ex 3 0 3を介し て画像符号化部 ex 3 1 2に供給する。 また、 画像データを送信しない場 合には、 カメラ部 ex 2 0 3で撮像した画像データをカメラインターフエ —ス部 ex 3 03及ぴ L C D制御部 ex3 0 2を介して表示部 ex 20 2に 直接表示することも可能である。
画像符号化部 ex3 1 2は、本願発明で説明した画像符号化装置を備え た構成であり、 カメラ部 ex203から供給された画像データを上記実施 の形態で示した画像符号化装置に用いた符号化方法によつて圧縮符号化 することにより符号化画像データに変換し、 これを多重分離部 ex 3 08 に送出する。 また、 このとき同時に携帯電話機 ex 1 1 5は、 カメラ部 ex 20 3で撮像中に音声入力部 ex20 5で集音した音声を音声処理部 ex 3 0 5を介してディジタルの音声データと して多重分離部 ex 3 0 8に 送出する。
多重分離部 ex 3 0 8は、画像符号化部 ex 3 1 2から供給された符号化 画像データと音声処理部 ex 3 0 5から供給された音声データとを所定 の方式で多重化し、 その結果得られる多重化データを変復調回路部 ex 3 0 6でスぺク トラム拡散処理し、送受信回路部 ex 3 0 1 でディジタルァ ナログ変換処理及び周波数変換処理を施した後にアンテナ ex 2 0 1 を 介して送信する。
データ通信モ一ド時にホームページ等にリンクされた動画像ファイル のデータを受信する場合、アンテナ ex 2 0 1 を介して基地局 ex 1 1 0か ら受信した受信データを変復調回路部 ex 3 0 6でスぺク トラム逆拡散 処理し、その結果得られる多重化データを多重分離部 ex 3 0 8に送出す る。
また、アンテナ ex 2 0 1 を介して受信された多重化データを復号化す るには、 多重分離部 ex 3 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 0に示すようにディジタル放送用 システムにも上記実施の形態の少なく とも画像符号化装置または画像復 号化装置のいずれかを組み込むことができる。 具体的には、 放送局 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または衛星 地上波放送の アンテナ 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等から信号を受信 し、車 ex 4 1 2が有するカーナビゲ一シヨン ex 4 1 3等の表示装置に動 画を再生することも可能である。
更に、画像信号を上記実施の形態で示した画像符号化装置で符号化し、 記録媒体に記録することもできる。 具体例と しては、 DVD ディスク e X 4 2 1 に画像信号を記録する DVD レコーダや、 'ヽ—ドディスクに記録す るディスク レコーダなどのレコーダ e X 4 2 0がある。 更に SDカード e x 4 2 2に記録することもできる。 レコーダ e x 4 2 0が上記実施の形 態で示した画像復号化装置を備えていれば、 DVD ディスク e x 4 2 1 や SDカード e x 4 2 2に記録した画像信号を再生し、モニタ e x 4 0 8で 表示することができる。
なお、 力一ナビゲ一シヨ ン ex4 1 3の構成は例えば図 29に示す構成 のうち、 カメラ部 ex 2 0 3 とカメラインタ一フェース部 ex 3 0 3、画像 符号化部 e X 3 1 2を除いた構成が考えられ、 同様なことがコンピュー タ exl 1 "1 やテレビ (受信機) ex 4 0 1 等でも考えられる。
また、 上記携帯電話 ex 1 1 4等の端末は、 符号化器■ 復号化器を両方 持つ送受信型の端末の他に、 符号化器のみの送信端末、 復号化器のみの 受信端末の 3通りの実装形式が考えられる。
このように、 上記実施の形態で示した画像符号化方法あるいは画像復 号化方法を上述したいずれの機器'システムに用いることは可能であり、 そうすることで、 上記実施の形態で説明した効果を得ることができる。 また、 本発明はかかる上記実施形態に限定されるものではなく、 本発 明の範囲を逸脱することなく種々の変形または修正が可能である。
以上のように本発明に係る動画像符号化方法によれば、 符号化対象ブ ロック中に含まれる直交変換後の 0以外の係数の個数を符号化する際に 最適な可変長符号化用のテーブルを参照することができるので、 符号化 効率の向上を図ることができる。
また、 本発明に係る動画像復号化方法によれば、 ブロック中に含まれ る直交変換後の 0以外の係数の個数が、 最適な可変長符号化用のテープ ルを参照して符号化されている符号列を正しく復号化することができる 産業上の利用の可能性 以上のように、本発明に係る画像符号化方法および画像復号化方法は、 例えば携帯電話、 D V D装置、 およびパーソナルコンピュータ等で、 画 像を符号化して符号列を生成したリ、 生成された符号列を復号化したリ するための方法と して有用である。

Claims

請 求 の 範 囲 1 . 画像をブロック毎に空間周波数成分を示す係数に変換して符号化す る画像符号化方法であって、
符号化対象ブロックの周辺に位置する符号化済ブロック中に含まれる 0以外の係数の個数に基づいて、 前記符号化対象ブロック中に含まれる 0以外の係数の個数の予測値を算出する予測ステップと、
前記予測ステツプによリ算出された前記予測値に基づいて可変長符号 化用のテーブルを選択するテーブル選択ステップと、
前記テーブル選択ステップにより選択された前記可変長符号化用のテ —ブルを参照して、 前記符号化対象ブロック中に含まれる 0以外の係数 の個数に対して可変長符号化を行う可変長符号化ステップと
を含むことを特徴とする画像符号化方法。
2 . 前記予測ステップでは、 前記符号化済ブロック中に含まれる 0以外 の係数の個数の平均値を用いて前記予測値を算出する
ことを特徴とする請求の範囲 1記載の画像符号化方法。
3 . 前記可変長符号化用のテーブルは、 少なく とも一つ以上の V L Cテ 一ブルを有し、
前記テーブル選択ステツプでは、 前記予測値に基づいて前記 V L Cテ —ブルを選択し、
前記可変長符号化ステップでは、 前記テーブル選択ステップにより選 択された前記 V L Cテーブルを参照して、 前記符号化対象プロック中に 含まれる 0以外の係数の個数を可変長符号に変換する
ことを特徴とする請求の範囲 1記載の画像符号化方法。
4 . 前記可変長符号化用のテーブルは、 それぞれ少なく とも一つ以上の コードテ一ブルおよび V L Cテーブルを有し、
前記テーブル選択ステップでは、 前記予測値に基づいて前記コードテ 一ブルおよび前記 V L Cテーブルを選択し、
前記可変長符号化ステツプでは、 前記テーブル選択ステツプにより選 択された前記コードテーブルを参照して、 前記符号化対象ブロック中に 含まれる 0以外の係数の個数をコード番号に変換し、 前記テーブル選択 ステップによリ選択された前記 V L Cテーブルを参照して、 前記コ一ド 番号を可変長符号に変換する
ことを特徴とする請求の範囲 1記載の画像符号化方法。
5 . 前記画像符号化方法は、 符号化されていないブロックに隣接する符 号化済プロック中に含まれる 0以外の係数の個数を、 少なく とも前記符 号化されていないブロックが符号化されるまで記憶する記憶ステップを 含む
ことを特徴とする請求の範囲 1記載の画像符号化方法。
6 . 前記予測ステップでは、 前記符号化対象ブロックの上および左に位 置する前記符号化済プロック中に含まれる 0以外の係数の個数に基づい て、 前記符号化対象プロック中に含まれる 0以外の係数の個数の予測値 を算出する
ことを特徴とする請求の範囲 1記載の画像符号化方法。
7 . 前記予測ステップでは、 前記符号化対象ブロックの上および左の位 置に符号化済のプロックがないとき、 前記予測値を 0とする ことを特徴とする請求の範囲 6記載の画像符号化方法。
8 . 前記予測ステップでは、 前記符号化対象ブロックの上および左の位 置に前記符号化済ブロックがあるとき、 前記符号化対象ブロックの上お よび左の位置にある前記符号化済ブロック中に含まれる 0以外の係数の 個数の平均値を前記予測値とする
ことを特徴とする請求の範囲 6記載の画像符号化方法。
9 . 前記予測ステップでは、 前記符号化対象ブロックの上の位置に符号 化済のブロックがなく、 前記符号化対象ブロックの左の位置に前記符号 化済ブロックがあるとき、 前記符号化対象ブロックの左の位置にある前 記符号化済ブロック中に含まれる 0以外の係数の個数を用いて前記予測 値とする
ことを特徴とする請求の範囲 6記載の画像符号化方法。
1 0 . 前記予測ステップでは、 前記符号化対象ブロックの左の位置に符 号化済のプロックがなく、 前記符号化対象プロックの上の位置に前記符 号化済ブロックがあるとき、 前記符号化対象ブロックの上の位置にある 前記符号化済ブロック中に含まれる 0以外の係数の個数を用いて前記予 測値とする
ことを特徴とする請求の範囲 6記載の画像符号化方法。
1 1 . 前記予測ステップでは、 前記符号化対象ブロックの上境界および 左境界が前記画像の単位であるピクチャの境界または前記ピクチャを複 数の領域に分割したスライスの境界であるとき、 前記予測値を 0とする ことを特徴とする請求の範囲 6記載の画像符号化方法。
1 2 . 前記予測ステップでは、 前記符号化対象ブロックの上境界および 左境界が前記画像の単位であるピクチャの境界または前記ピクチャを複 数の領域に分割したスライスの境界でないとき、 前記符号化対象ブロッ クの上おょぴ左の位置にある前記符号化済ブロック中に含まれる 0以外 の係数の個数の平均値を前記予測値とする
ことを特徴とする請求の範囲 6記載の画像符号化方法。
1 3 . 前記予測ステップでは、 前記符号化対象ブロックの上境界が前記 画像の単位であるピクチャの境界または前記ピクチャを複数の領域に分 割したスライスの境界であり、 ブロックの左境界がピクチャの境界また はスライスの境界でないとき、 前記符号化対象ブロックの左の位置にあ る前記符号化済プロック中に含まれる 0以外の係数の個数を用いて前記 予測値とする
ことを特徴とする請求の範囲 6記載の画像符号化方法。
1 4 . 前記予測ステップでは、 前記符号化対象ブロックの左境界が前記 画像の単位であるピクチャの境界または前記ピクチャを複数の領域に分 割したスライスの境界であり、 ブロックの上境界がピクチャの境界また はスライスの境界でないとき、 前記符号化対象ブロックの上の位置にあ る前記符号化済ブロック中に含まれる 0以外の係数の個数を用いて前記 予測値とする
ことを特徴とする請求の範囲 6記載の画像符号化方法。
1 5 . ブロック毎に空間周波数成分を示す係数に変換して符号化された 画像を復号化する画像復号化方法であって、 復号化対象ブロックの周辺に位置する復号化済ブロック中に含まれる 0以外の係数の個数に基づいて、 前記復号化対象ブロック中に含まれる 0以外の係数の個数の予測値を算出する予測ステップと、
前記予測ステップにより算出された前記予測値に基づいて可変長復号 化用のテーブルを選択するテーブル選択ステップと、
前記テーブル選択ステツプにより選択された前記可変長復号化用のテ 一ブルを参照して、 前記復号化対象ブロック中に含まれる 0以外の係数 の個数が符号化されている符号列に対して可変長復号化を行う可変長復 号化ステップと
を含むことを特徴とする画像復号化方法。
1 6 . 前記予測ステップでは、 前記復号化済ブロック中に含まれる 0以 外の係数の個数の平均値を用いて予測値を算出する
ことを特徴とする請求の範囲 1 5記載の画像復号化方法。
1 7 . 前記可変長復号化用のテーブルは、 少なく とも一つ以上の V L C テーブルを有し、
前記テーブル選択ステツプでは、 前記予測値に基づいて前記 V L C亍 一ブルを選択し、
前記可変長復号化ステツプでは、 前記テーブル選択ステツプによリ選 択された前記 V L Cテーブルを参照して、 前記復号化対象プロック中に 含まれる 0以外の係数の個数を表す可変長符号を前記係数の個数に変換 する
ことを特徴とする請求の範囲 1 5記載の画像復号化方法。
1 8 . 前記可変長復号化用のテーブルは、 それぞれ少なく とも一つ以上 のコードテーブルおよび V L Cテーブルを有し、
前記テーブル選択ステツプでは、 前記予測値に基づいて前記コード亍 —ブルおよび前記 V L Cテーブルを選択し、
前記可変長復号化ステツプでは、 前記テーブル選択ス亍ップにより選 択された前記 V L Cテーブルを参照して、 前記復号化対象プロック中に 含まれる 0以外の係数の個数を表す可変長符号をコード番号に変換し、 前記テーブル選択ステツプによリ選択された前記コード亍一ブルを参照 して、 前記コード番号を前記係数の個数に変換する
ことを特徴とする請求の範囲 1 5記載の画像復号化方法。
1 9 . 前記画像復号化方法は、 復号化されていないブロックに隣接する 復号化済プロック中に含まれる 0以外の係数の個数を、 少なく とも前記 復号化されていないブロックが復号化されるまで記憶する記憶ステップ を含む
ことを特徴とする請求の範囲 1 5記載の画像復号化方法。
2 0 . 前記予測ステップでは、 前記復号化対象ブロックの上および左に 位置する前記復号化済ブロック中に含まれる 0以外の係数の個数に基づ いて、 前記復号化対象プロック中に含まれる 0以外の係数の個数の予測 値を算出する
ことを特徴とする請求の範囲 1 5記載の画像復号化方法。
2 1 . 前記予測ステップでは、 前記復号化対象ブロックの上および左の 位置に復号化済のブロックがないとき、 前記予測値を 0とする
ことを特徴とする請求の範囲 2 0記載の画像復号化方法。
2 2 . 前記予測ステップでは、 前記復号化対象ブロックの上および左の 位置に前記復号化済プロックがあるとき、 前記復号化対象ブロックの上 および左の位置にある前記復号化済プロック中に含まれる 0以外の係数 の個数の平均値を前記予測値とする
ことを特徴とする請求の範囲 2 0記載の画像復号化方法。
2 3 . 前記予測ステップでは、 前記復号化対象ブロックの上の位置に復 号化済のプロックがなく、 前記復号化対象プロックの左の位置に前記復 号化済ブロックがあるとき、 前記復号化対象プロックの左の位置にある 前記復号化済ブロック中に含まれる 0以外の係数の個数を用いて前記予 測値とする
ことを特徴とする請求の範囲 2 0記載の画像復号化方法。
2 4 . 前記予測ステップでは、 前記復号化対象ブロックの左の位置に復 号化済のブロックがなく、 前記復号化対象ブロックの上の位置に前記復 号化済ブロックがあるとき、 前記復号化対象ブロックの上の位置にある 前記復号化済プロック中に含まれる 0以外の係数の個数を用いて前記予 測値とする
ことを特徴とする請求の範囲 2 0記載の画像復号化方法。
2 5 . 前記予測ステップでは、 前記復号化対象ブロックの上境界および 左境界が前記画像の単位であるピクチャの境界または前記ピクチャを複 数の領域に分割したスライスの境界であるとき、 前記予測値を 0とする ことを特徴とする請求の範囲 2 0記載の画像復号化方法。
2 6 . 前記予測ステップでは、 前記復号化対象ブロックの上境界および 左境界が前記画像の単位であるピクチャの境界または前記ピクチャを複 数の領域に分割したスライスの境界でないとき、 前記復号化対象ブロッ クの上および左の位置にある前記復号化済ブロック中に含まれる 0以外 の係数の個数の平均値を前記予測値とする
ことを特徴とする請求の範囲 2 0記載の画像復号化方法。
2 7 . 前記予測ステップでは、 前記復号化対象ブロックの上境界が前記 画像の単位であるピクチャの境界または前記ピクチャを複数の領域に分 割したスライスの境界であり、 ブロックの左境界がピクチャの境界また はスライスの境界でないとき、 前記復号化対象ブロックの左の位置にあ る前記復号化済ブロック中に含まれる 0以外の係数の個数を用いて前記 予測値とする
ことを特徴とする請求の範囲 2 0記載の画像復号化方法。
2 8 . 前記予測ステップでは、 前記復号化対象ブロックの左境界が前記 画像の単位であるピクチャの境界または前記ピクチャを複数の領域に分 割したスライスの境界であり、 ブロックの上境界がピクチャの境界また はスライスの境界でないとき、 前記復号化対象ブロックの上の位置にあ る前記復号化済ブロック中に含まれる 0以外の係数の個数を用いて前記 予測値とする
ことを特徴とする請求の範囲 2 0記載の画像復号化方法。
2 9 . 画像をブロック毎に空間周波数成分を示す係数に変換して符号化 する画像符号化装置であって、
符号化対象ブロックの周辺に位置する符号化済ブロック中に含まれる 0以外の係数の個数に基づいて、 前記符号化対象ブロック中に含まれる 0以外の係数の個数の予測値を算出する予測手段と、 前記予測手段により算出された前記予測値に基づいて可変長符号化用 のテーブルを選択するテーブル選択手段と、
前記テーブル選択手段により選択された前記可変長符号化用のテープ ルを参照して、 前記符号化対象ブロック中に含まれる 0以外の係数の個 数に対して可変長符号化を行う可変長符号化手段と
を含むことを特徴とする画像符号化装置。
3 0 . ブロック毎に空間周波数成分を示す係数に変換して符号化された 画像を復号化する画像復号化装置であって、
復号化対象ブロックの周辺に位置する復号化済ブロック中に含まれる 0以外の係数の個数に基づいて、 前記復号化対象ブロック中に含まれる 0以外の係数の個数の予測値を算出する予測手段と、
前記予測手段によリ算出された前記予測値に基づいて可変長復号化用 のテーブルを選択するテーブル選択手段と、
前記テーブル選択手段により選択された前記可変長復号化用のテーブ ルを参照して、 前記復号化対象ブロック中に含まれる 0以外の係数の個 数が符号化されている符号列に対して可変長復号化を行う可変長復号化 手段と
を含むことを特徴とする画像復号化装置。
3 1 . 画像をブロック毎に符号化するためのプログラムであって、 請求の範囲 1 から請求の範囲 1 4のいずれか 1 項に記載の画像符号化 方法に含まれるステップをコンピュータに実行させる
ことを特徴とするプログラム。
3 2 . 画像をプロック毎に符号化する画像符号化方法によって生成され たビッ 卜ス トリ一ムであって、
請求の範囲 1から請求の範囲 1 4のいずれか 1 項に記載の画像符号化 方法によって符号化された、 前記符号化対象プロック中に含まれる 0以 外の係数の個数を有する
ことを特徴とするビッ トス 卜リーム。
3 3 . 符号化された画像を復号化するためのプログラムであって、 請求の範囲 1 5から請求の範囲 2 8のいずれか 1項に記載の画像復号 化方法に含まれるステップをコンピュータに実行させる
ことを特徴とするプログラム。
PCT/JP2003/003794 2002-04-15 2003-03-27 Image encoding method and image decoding method WO2003088675A1 (en)

Priority Applications (32)

Application Number Priority Date Filing Date Title
SI200330131T SI1478188T1 (sl) 2002-04-15 2003-03-27 Postopek kodiranja slike in postopek dekodiranja slike
DK06123494T DK1744562T3 (da) 2002-04-15 2003-03-27 Billeddekodningsfremgangsmåde
KR1020127019701A KR101257212B1 (ko) 2002-04-15 2003-03-27 화상 부호화 장치 및 화상 복호화 장치
MXPA03010115A MXPA03010115A (es) 2002-04-15 2003-03-27 Metodos de codificacion y decodificacion de imagen.
DK05017701T DK1596608T3 (da) 2002-04-15 2003-03-27 Billedkodningsfremgangsmåde
AT03715476T ATE312478T1 (de) 2002-04-15 2003-03-27 Bildcodierungsverfahren und bilddecodierungsverfahren
CA2444357A CA2444357C (en) 2002-04-15 2003-03-27 A video decoding method in which variable length code tables are selected based on the number of non-zero coefficients
DK06123645T DK1746841T3 (da) 2002-04-15 2003-03-27 Billedkodningsfremgangsmåde
KR1020117019206A KR101227720B1 (ko) 2002-04-15 2003-03-27 화상 부호화 장치 및 화상 복호화 장치
BRPI0303566-2A BRPI0303566B1 (pt) 2002-04-15 2003-03-27 “Método de codificação de imagem, método de decodificação de imagem e fluxo de bits”
EP03715476A EP1478188B1 (en) 2002-04-15 2003-03-27 Image encoding method and image decoding method
KR1020117002312A KR101154606B1 (ko) 2002-04-15 2003-03-27 화상 복호화 방법
DE2003602652 DE60302652T2 (de) 2002-04-15 2003-03-27 Bildcodierungsverfahren und bilddecodierungsverfahren
US10/479,831 US7095896B2 (en) 2002-04-15 2003-03-27 Image encoding method and image decoding method
BR0303566A BR0303566A (pt) 2002-04-15 2003-03-27 Método de codificação de imagem e método de decodificação de imagem
AU2003227248A AU2003227248B2 (en) 2002-04-15 2003-03-27 Image encoding method and image decoding method
CNB038011581A CN1293762C (zh) 2002-04-15 2003-03-27 图象编码方法及图象解码方法
KR1020127007087A KR101152507B1 (ko) 2002-04-15 2003-03-27 화상 부호화 장치 및 화상 복호화 장치
KR1020037011695A KR100954244B1 (ko) 2002-04-15 2003-03-27 화상 복호화 방법
US11/453,078 US7308143B2 (en) 2002-04-15 2006-06-15 Picture coding method and picture decoding method
US11/453,062 US7184598B2 (en) 2002-04-15 2006-06-15 Picture coding method and picture decoding method
US11/453,085 US7308149B2 (en) 2002-04-15 2006-06-15 Picture coding method and picture decoding method
US11/453,084 US7308144B2 (en) 2002-04-15 2006-06-15 Picture coding method and picture decoding method
US11/453,071 US7305134B2 (en) 2002-04-15 2006-06-15 Picture coding method and picture decoding method
US11/976,539 US8265403B2 (en) 2002-04-15 2007-10-25 Picture coding method and picture decoding method
US11/976,550 US7693340B2 (en) 2002-04-15 2007-10-25 Picture coding method and picture decoding method
US11/976,551 US8139878B2 (en) 2002-04-15 2007-10-25 Picture coding method and picture decoding method
US11/976,552 US7697770B2 (en) 2002-04-15 2007-10-25 Picture coding method and picture decoding method
US11/976,758 US7769238B2 (en) 2002-04-15 2007-10-26 Picture coding method and picture decoding method
US12/240,379 US8290286B2 (en) 2002-04-15 2008-09-29 Picture coding method and picture decoding method
US13/618,546 US8526748B2 (en) 2002-04-15 2012-09-14 Picture coding method and picture decoding method
US13/955,450 US8867855B2 (en) 2002-04-15 2013-07-31 Picture coding method and picture decoding method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002-112665 2002-04-15
JP2002112665 2002-04-15

Related Child Applications (6)

Application Number Title Priority Date Filing Date
US10/479,831 A-371-Of-International US7095896B2 (en) 2002-04-15 2003-03-27 Image encoding method and image decoding method
US11/453,078 Division US7308143B2 (en) 2002-04-15 2006-06-15 Picture coding method and picture decoding method
US11/453,062 Division US7184598B2 (en) 2002-04-15 2006-06-15 Picture coding method and picture decoding method
US11/453,085 Division US7308149B2 (en) 2002-04-15 2006-06-15 Picture coding method and picture decoding method
US11/453,071 Division US7305134B2 (en) 2002-04-15 2006-06-15 Picture coding method and picture decoding method
US11/453,084 Division US7308144B2 (en) 2002-04-15 2006-06-15 Picture coding method and picture decoding method

Publications (1)

Publication Number Publication Date
WO2003088675A1 true WO2003088675A1 (en) 2003-10-23

Family

ID=29243326

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/003794 WO2003088675A1 (en) 2002-04-15 2003-03-27 Image encoding method and image decoding method

Country Status (20)

Country Link
US (14) US7095896B2 (ja)
EP (15) EP2134097B1 (ja)
JP (22) JP4130780B2 (ja)
KR (14) KR101038154B1 (ja)
CN (7) CN100527846C (ja)
AT (13) ATE352951T1 (ja)
AU (1) AU2003227248B2 (ja)
BR (2) BRPI0303566B1 (ja)
CA (2) CA2732005C (ja)
CY (2) CY1111051T1 (ja)
DE (8) DE60311530T2 (ja)
DK (5) DK1596608T3 (ja)
ES (13) ES2369653T3 (ja)
HK (4) HK1136730A1 (ja)
MX (1) MXPA03010115A (ja)
MY (4) MY141699A (ja)
PT (6) PT2131593E (ja)
SI (1) SI1478188T1 (ja)
TW (4) TWI281352B (ja)
WO (1) WO2003088675A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8666179B2 (en) 2009-04-14 2014-03-04 Ntt Docomo, Inc. Image encoding apparatus and decoding apparatus

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MXPA04000912A (es) * 2001-11-22 2004-04-02 Matsushita Electric Ind Co Ltd Metodo de codificacion de longitud variable y metodo de decodificacion de longitud variable.
JP4130780B2 (ja) 2002-04-15 2008-08-06 松下電器産業株式会社 画像符号化方法および画像復号化方法
CN1214649C (zh) * 2003-09-18 2005-08-10 中国科学院计算技术研究所 用于视频预测残差系数编码的熵编码方法
JP3879741B2 (ja) * 2004-02-25 2007-02-14 ソニー株式会社 画像情報符号化装置および画像情報符号化方法
US7376277B2 (en) * 2004-06-15 2008-05-20 Pegasus Imaging Corporation Data transform for improved compression of multicomponent images
US7477741B1 (en) * 2004-10-01 2009-01-13 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Analysis resistant cipher method and apparatus
US8633985B2 (en) * 2005-08-05 2014-01-21 Vigil Systems Pty. Ltd. Computerized information collection and training method and apparatus
US8599841B1 (en) 2006-03-28 2013-12-03 Nvidia Corporation Multi-format bitstream decoding engine
US8593469B2 (en) * 2006-03-29 2013-11-26 Nvidia Corporation Method and circuit for efficient caching of reference video data
KR100745765B1 (ko) * 2006-04-13 2007-08-02 삼성전자주식회사 화상 데이터의 공간상 예측 장치 및 방법과 그를 이용한부호화 장치 및 방법, 화상 데이터의 공간상 예측 보상장치 및 방법과 그를 이용한 복호화 장치 및 방법
US7884742B2 (en) * 2006-06-08 2011-02-08 Nvidia Corporation System and method for efficient compression of digital data
US20080056381A1 (en) * 2006-08-30 2008-03-06 Chih-Ta Star Sung Image compression and decompression with fast storage device accessing
JP4831372B2 (ja) * 2006-11-24 2011-12-07 日本電気株式会社 符号化および復号装置、符号化および復号方法ならびにプログラム
US7733249B2 (en) * 2007-01-18 2010-06-08 Qin Zhang Method and system of compressing and decompressing data
KR101074870B1 (ko) 2007-03-14 2011-10-19 니폰덴신뎅와 가부시키가이샤 부호량 추정 방법, 장치, 그 프로그램 및 기록매체
KR101083383B1 (ko) 2007-03-14 2011-11-14 니폰덴신뎅와 가부시키가이샤 부호화 비트 레이트 제어 방법 및 장치, 그 프로그램 및 프로그램을 기록한 기록매체
EP2124455A4 (en) 2007-03-14 2010-08-11 Nippon Telegraph & Telephone METHOD AND DEVICE FOR MOTION VEHICLE SEARCH, PROGRAM THEREFOR AND RECORDING MEDIUM WITH THIS PROGRAM
EP3264772B1 (en) 2007-03-14 2022-09-07 Nippon Telegraph And Telephone Corporation Quantization control method and apparatus, program therefor, and storage medium which stores the program
US20080260023A1 (en) * 2007-04-18 2008-10-23 Chih-Ta Star Sung Digital video encoding and decoding with refernecing frame buffer compression
NO328295B1 (no) * 2007-12-20 2010-01-25 Tandberg Telecom As VLC-fremgangsmate og -innretning
US8213502B2 (en) * 2007-12-31 2012-07-03 Ceva D.S.P. Ltd. Method and system for real-time adaptive quantization control
CN101500159B (zh) * 2008-01-31 2012-01-11 华为技术有限公司 一种图像熵编码、熵解码的方法及装置
WO2009107777A1 (ja) * 2008-02-27 2009-09-03 株式会社 東芝 動画像符号化/復号装置
JP2010103969A (ja) * 2008-09-25 2010-05-06 Renesas Technology Corp 画像復号方法、画像復号装置、画像符号化方法及び画像符号化装置
KR101458471B1 (ko) * 2008-10-01 2014-11-10 에스케이텔레콤 주식회사 영상 부호화/복호화 방법 및 장치
CN101742278B (zh) * 2008-11-12 2012-11-07 富士通半导体股份有限公司 获取图像的运动矢量和边界强度的方法和系统
JP2012124542A (ja) * 2009-03-03 2012-06-28 Hitachi Ltd 動画像符号化方法及び動画像復号化方法
WO2010133763A1 (en) * 2009-05-19 2010-11-25 Nokia Corporation Method for variable length coding and apparatus
US9628794B2 (en) * 2009-06-18 2017-04-18 Kabushiki Kaisha Toshiba Video encoding apparatus and a video decoding apparatus
MX2011013707A (es) 2009-06-18 2012-02-28 Toshiba Kk Dispositivo de codificacion de imagenes dinamicas y dispositivo de decodificacion de imagenes dinamicas.
US20110158310A1 (en) * 2009-12-30 2011-06-30 Nvidia Corporation Decoding data using lookup tables
KR101633153B1 (ko) 2010-04-01 2016-06-23 소니 주식회사 화상 처리 장치 및 방법
CN106454371B (zh) 2010-04-13 2020-03-20 Ge视频压缩有限责任公司 解码器、数组重建方法、编码器、编码方法及存储介质
KR102166520B1 (ko) 2010-04-13 2020-10-16 지이 비디오 컴프레션, 엘엘씨 샘플 영역 병합
ES2549734T3 (es) 2010-04-13 2015-11-02 Ge Video Compression, Llc Codificación de vídeo que usa subdivisiones multi-árbol de imágenes
KR101584480B1 (ko) 2010-04-13 2016-01-14 지이 비디오 컴프레션, 엘엘씨 평면 간 예측
US8638863B1 (en) * 2010-05-18 2014-01-28 Google Inc. Apparatus and method for filtering video using extended edge-detection
US8817882B2 (en) * 2010-07-30 2014-08-26 Qualcomm Incorporated Coding blocks of data using a generalized form of golomb codes
JP5064547B2 (ja) * 2010-09-15 2012-10-31 豊田合成株式会社 車両用放電装置
US9025661B2 (en) * 2010-10-01 2015-05-05 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding
JP5652101B2 (ja) * 2010-10-05 2015-01-14 富士通株式会社 画像処理装置及び画像処理方法
US8913662B2 (en) 2011-01-06 2014-12-16 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding using CABAC
US9210442B2 (en) 2011-01-12 2015-12-08 Google Technology Holdings LLC Efficient transform unit representation
US9380319B2 (en) 2011-02-04 2016-06-28 Google Technology Holdings LLC Implicit transform unit representation
JP5801614B2 (ja) * 2011-06-09 2015-10-28 キヤノン株式会社 画像処理装置、画像処理方法
JP5839848B2 (ja) 2011-06-13 2016-01-06 キヤノン株式会社 画像処理装置、画像処理方法
CN103597826B (zh) * 2011-06-17 2017-05-17 Jvc建伍株式会社 图像解码装置及图像解码方法
TWI613911B (zh) * 2011-10-31 2018-02-01 Jvc Kenwood Corp 動態影像解碼裝置及動態影像解碼方法
JP2013126093A (ja) * 2011-12-14 2013-06-24 Sony Corp 画像処理装置及び画像処理方法
TWI577181B (zh) * 2011-12-28 2017-04-01 Jvc Kenwood Corp Dynamic video coding device, dynamic image coding method and dynamic image coding program
JP5977544B2 (ja) * 2012-03-09 2016-08-24 キヤノン株式会社 情報処理装置、情報処理方法
JP6000579B2 (ja) 2012-03-09 2016-09-28 キヤノン株式会社 情報処理装置、情報処理方法
JP5975685B2 (ja) 2012-03-09 2016-08-23 キヤノン株式会社 情報処理装置、情報処理方法
US9219915B1 (en) 2013-01-17 2015-12-22 Google Inc. Selection of transform size in video coding
JP5547312B2 (ja) * 2013-02-07 2014-07-09 株式会社東芝 動画像復号化装置及び方法
JP5498597B2 (ja) * 2013-02-07 2014-05-21 株式会社東芝 動画像符号化装置及び方法
US9544597B1 (en) 2013-02-11 2017-01-10 Google Inc. Hybrid transform in video encoding and decoding
US9967559B1 (en) 2013-02-11 2018-05-08 Google Llc Motion vector dependent spatial transformation in video coding
US9674530B1 (en) 2013-04-30 2017-06-06 Google Inc. Hybrid transforms in video coding
WO2015109598A1 (en) * 2014-01-27 2015-07-30 Mediatek Singapore Pte. Ltd. Methods for motion parameter hole filling
JP2017522839A (ja) * 2014-06-20 2017-08-10 シャープ株式会社 整合パレット符号化
US9565451B1 (en) 2014-10-31 2017-02-07 Google Inc. Prediction dependent transform coding
JP6561644B2 (ja) * 2014-12-25 2019-08-21 オムロン株式会社 導光板、表示装置及び遊技機
US10171810B2 (en) 2015-06-22 2019-01-01 Cisco Technology, Inc. Transform coefficient coding using level-mode and run-mode
US9769499B2 (en) 2015-08-11 2017-09-19 Google Inc. Super-transform video coding
CN108353179A (zh) 2015-09-10 2018-07-31 三星电子株式会社 编码设备、解码设备及其编码方法和解码方法
US10277905B2 (en) 2015-09-14 2019-04-30 Google Llc Transform selection for non-baseband signal coding
US9807423B1 (en) 2015-11-24 2017-10-31 Google Inc. Hybrid transform scheme for video coding
WO2018030293A1 (ja) * 2016-08-10 2018-02-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
JP6434172B2 (ja) * 2018-01-12 2018-12-05 マクセル株式会社 復号化方法
CN111869205B (zh) 2018-01-19 2022-06-10 Pcms控股公司 具有变化位置的多焦平面
EP4266113A3 (en) 2018-03-23 2023-12-27 InterDigital VC Holdings, Inc. Multifocal plane based method to produce stereoscopic viewpoints in a dibr system (mfp-dibr)
CN112585963B (zh) * 2018-07-05 2024-04-09 Pcms控股公司 用于2d显示器上的内容的3d感知的近眼焦平面覆盖层的方法和系统
CN109360253B (zh) * 2018-09-28 2023-08-11 共享智能装备有限公司 一种大像素bmp格式图像的绘制方法
US10666985B1 (en) * 2018-11-18 2020-05-26 Sony Corporation Sub-block based entropy coding for image coding
US11122297B2 (en) 2019-05-03 2021-09-14 Google Llc Using border-aligned block functions for image compression
US11663730B2 (en) * 2021-02-19 2023-05-30 Toyota Motor Engineering & Manufacturing North America, Inc. Systems and methods for an improved camera system using a graded lens and filters to estimate depth
CN113436289B (zh) * 2021-08-04 2023-08-22 成都工业学院 一种基于方向向量相关系数的图像编码及分类方法
CN113678849B (zh) * 2021-08-15 2023-06-23 万杰智能科技股份有限公司 一种油条坯转送及拉长装置
CN117498873B (zh) * 2023-11-07 2024-03-29 东莞市杜氏诚发精密弹簧有限公司 一种血管栓塞弹簧组件智能加工系统

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 高能率符号化方式
JPH04223773A (ja) * 1990-12-26 1992-08-13 Casio Comput Co Ltd 符号化装置
JPH05347710A (ja) * 1992-06-15 1993-12-27 Nippon Telegr & Teleph Corp <Ntt> 適応的可変長符号化方法
JPH06232765A (ja) * 1993-02-05 1994-08-19 Nippon Telegr & Teleph Corp <Ntt> 可変長符号化方法
JPH07107492A (ja) * 1993-10-04 1995-04-21 N T T Data Tsushin Kk 画像符号化方式
JPH10191324A (ja) * 1996-11-07 1998-07-21 Matsushita Electric Ind Co Ltd 画像符号化方法および画像符号化装置並びに画像符号化プログラムを記録した記録媒体

Family Cites Families (51)

* 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
US5010401A (en) * 1988-08-11 1991-04-23 Mitsubishi Denki Kabushiki Kaisha Picture coding and decoding apparatus using vector quantization
JP3207198B2 (ja) 1990-11-26 2001-09-10 株式会社東芝 液晶表示プロジェクタの冷却装置
EP0533195A2 (en) * 1991-09-20 1993-03-24 Sony Corporation Picture signal encoding and/or decoding apparatus
US5475501A (en) * 1991-09-30 1995-12-12 Sony Corporation Picture encoding and/or decoding method and apparatus
US5510840A (en) * 1991-12-27 1996-04-23 Sony Corporation Methods and devices for encoding and decoding frame signals and recording medium therefor
US5842033A (en) * 1992-06-30 1998-11-24 Discovision Associates Padding apparatus for passing an arbitrary number of bits through a buffer in a pipeline system
EP0616472B1 (en) * 1993-03-15 1999-05-12 Sony Corporation Transmission and decoding of picture signals
US5887187A (en) * 1993-10-20 1999-03-23 Lsi Logic Corporation Single chip network adapter apparatus
US5708659A (en) * 1993-10-20 1998-01-13 Lsi Logic Corporation Method for hashing in a packet network switching system
US5539663A (en) * 1993-11-24 1996-07-23 Intel Corporation Process, apparatus and system for encoding and decoding video signals using temporal filtering
US5576765A (en) * 1994-03-17 1996-11-19 International Business Machines, Corporation Video decoder
US5563593A (en) * 1994-03-18 1996-10-08 Lucent Technologies Inc. Video coding with optimized low complexity variable length codes
US5500678A (en) * 1994-03-18 1996-03-19 At&T Corp. Optimized scanning of transform coefficients in video coding
TW393856B (en) 1994-09-07 2000-06-11 Ind Tech Res Inst Video compression method and device
JP4223571B2 (ja) * 1995-05-02 2009-02-12 ソニー株式会社 画像符号化方法及び装置
US5740283A (en) * 1995-07-06 1998-04-14 Rubin, Bednarek & Associates, Inc. Digital video compression utilizing mixed vector and scalar outputs
JP3484834B2 (ja) * 1995-07-28 2004-01-06 ソニー株式会社 データ符号化/復号化方法および装置
JPH0955935A (ja) * 1995-08-15 1997-02-25 Nippon Steel Corp 画像および音声符号化装置
JP3552811B2 (ja) * 1995-09-29 2004-08-11 三菱電機株式会社 ディジタル映像信号符号化装置および復号化装置
US5883678A (en) * 1995-09-29 1999-03-16 Kabushiki Kaisha Toshiba Video coding and video decoding apparatus for reducing an alpha-map signal at a controlled reduction ratio
US5777679A (en) * 1996-03-15 1998-07-07 International Business Machines Corporation Video decoder including polyphase fir horizontal filter
US5668599A (en) * 1996-03-19 1997-09-16 International Business Machines Corporation Memory management for an MPEG2 compliant decoder
JP2848326B2 (ja) * 1996-03-28 1999-01-20 日本電気株式会社 Mpeg符号化画像復号装置
CN1183769C (zh) * 1996-05-28 2005-01-05 松下电器产业株式会社 图像预测编码/解码装置和方法以及记录媒体
JPH1023425A (ja) * 1996-07-01 1998-01-23 Sony Corp 画像符号化装置および方法、画像復号化装置および方法、並びに画像記録媒体
US6341144B1 (en) * 1996-09-20 2002-01-22 At&T Corp. Video coder providing implicit coefficient prediction and scan adaptation for image coding and intra coding of video
EP1689189A3 (en) * 1996-11-07 2008-12-10 Panasonic Corporation Image encoder and image decoder
US5821887A (en) * 1996-11-12 1998-10-13 Intel Corporation Method and apparatus for decoding variable length codes
US6614845B1 (en) * 1996-12-24 2003-09-02 Verizon Laboratories Inc. Method and apparatus for differential macroblock coding for intra-frame data in video conferencing systems
US5974184A (en) 1997-03-07 1999-10-26 General Instrument Corporation Intra-macroblock DC and AC coefficient prediction for interlaced digital video
US6212236B1 (en) * 1997-03-26 2001-04-03 Matsushita Electric Industrial Co., Ltd. Image decoding apparatus
US6680976B1 (en) * 1997-07-28 2004-01-20 The Board Of Trustees Of The University Of Illinois Robust, reliable compression and packetization scheme for transmitting video
JP3356663B2 (ja) * 1997-10-22 2002-12-16 松下電器産業株式会社 画像符号化装置、画像符号化方法および画像符号化プログラムを記録した記録媒体
JP3738939B2 (ja) * 1998-03-05 2006-01-25 Kddi株式会社 動画像のカット点検出装置
US6563953B2 (en) * 1998-11-30 2003-05-13 Microsoft Corporation Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
US6625211B1 (en) * 1999-02-25 2003-09-23 Matsushita Electric Industrial Co., Ltd. Method and apparatus for transforming moving picture coding system
US6658157B1 (en) * 1999-06-29 2003-12-02 Sony Corporation Method and apparatus for converting image information
JP2001028748A (ja) * 1999-07-12 2001-01-30 Sony Corp データ再生伝送装置及びデータ再生伝送方法
FI116819B (fi) * 2000-01-21 2006-02-28 Nokia Corp Menetelmä kuvien lähettämiseksi ja kuvakooderi
JP2001251616A (ja) * 2000-03-02 2001-09-14 Media Glue Corp 多重化音響・動画圧縮符号化信号変換方法、装置および変換プログラムを記録した媒体
KR100349650B1 (ko) * 2000-07-11 2002-08-24 주식회사 큐리텔 동영상 압축 부호화장치의 가변길이부호화 테이블 분할가변길이 부호화 장치 및 그 방법
KR100349649B1 (ko) * 2000-07-11 2002-08-24 주식회사 큐리텔 동영상압축 부호화장치의 가변 길이 부호화기
KR20020006250A (ko) * 2000-07-12 2002-01-19 린 와이-푸 점술을 중심으로 하는 네트워크 마케팅 시스템 및 그 방법
US6748020B1 (en) * 2000-10-25 2004-06-08 General Instrument Corporation Transcoder-multiplexer (transmux) software architecture
WO2002078355A1 (en) * 2001-03-23 2002-10-03 Nokia Corporation Variable length coding
KR100454501B1 (ko) * 2001-12-26 2004-10-28 브이케이 주식회사 영상신호를 부호화 또는 복호화하기 위한 예측 장치 및 방법
JP4130780B2 (ja) 2002-04-15 2008-08-06 松下電器産業株式会社 画像符号化方法および画像復号化方法
FI114679B (fi) * 2002-04-29 2004-11-30 Nokia Corp Satunnaisaloituspisteet videokoodauksessa
JP4223773B2 (ja) 2002-09-13 2009-02-12 株式会社東芝 無線通信端末
JP4100390B2 (ja) 2004-10-07 2008-06-11 三菱自動車工業株式会社 車両の前部車体構造

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 高能率符号化方式
JPH04223773A (ja) * 1990-12-26 1992-08-13 Casio Comput Co Ltd 符号化装置
JPH05347710A (ja) * 1992-06-15 1993-12-27 Nippon Telegr & Teleph Corp <Ntt> 適応的可変長符号化方法
JPH06232765A (ja) * 1993-02-05 1994-08-19 Nippon Telegr & Teleph Corp <Ntt> 可変長符号化方法
JPH07107492A (ja) * 1993-10-04 1995-04-21 N T T Data Tsushin Kk 画像符号化方式
JPH10191324A (ja) * 1996-11-07 1998-07-21 Matsushita Electric Ind Co Ltd 画像符号化方法および画像符号化装置並びに画像符号化プログラムを記録した記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8666179B2 (en) 2009-04-14 2014-03-04 Ntt Docomo, Inc. Image encoding apparatus and decoding apparatus

Also Published As

Publication number Publication date
PT1746841E (pt) 2009-11-03
KR20060040753A (ko) 2006-05-10
DE60311530D1 (de) 2007-03-15
PT2131593E (pt) 2010-10-11
JP2008193725A (ja) 2008-08-21
US7308143B2 (en) 2007-12-11
US20080063056A1 (en) 2008-03-13
EP2131592A1 (en) 2009-12-09
HK1146561A1 (en) 2011-06-17
US20080063055A1 (en) 2008-03-13
US20080175315A1 (en) 2008-07-24
DE60334341D1 (de) 2010-11-04
ES2348325T3 (es) 2010-12-02
EP1478188A1 (en) 2004-11-17
CN1917643B (zh) 2010-12-01
KR100987548B1 (ko) 2010-10-12
JP2004007506A (ja) 2004-01-08
JP5208156B2 (ja) 2013-06-12
JP2009005396A (ja) 2009-01-08
JP5485363B2 (ja) 2014-05-07
ES2330661T4 (es) 2010-06-02
KR20100074325A (ko) 2010-07-01
CN1976469A (zh) 2007-06-06
EP2254341B1 (en) 2011-10-05
EP2293577A1 (en) 2011-03-09
TW200629910A (en) 2006-08-16
JP2010081646A (ja) 2010-04-08
ATE439740T1 (de) 2009-08-15
MY140969A (en) 2010-02-12
US20080056362A1 (en) 2008-03-06
JP2011010340A (ja) 2011-01-13
ATE527819T1 (de) 2011-10-15
JP2010093842A (ja) 2010-04-22
DE60302652T2 (de) 2006-08-10
JP2009022039A (ja) 2009-01-29
JP2013070428A (ja) 2013-04-18
JP2011010338A (ja) 2011-01-13
ATE482570T1 (de) 2010-10-15
ATE531202T1 (de) 2011-11-15
JP2008182756A (ja) 2008-08-07
EP2254340B1 (en) 2012-01-18
ES2252666T3 (es) 2006-05-16
KR100956920B1 (ko) 2010-05-11
EP1744562A3 (en) 2007-02-07
US7769238B2 (en) 2010-08-03
US8867855B2 (en) 2014-10-21
US7308144B2 (en) 2007-12-11
US8526748B2 (en) 2013-09-03
EP1478188B1 (en) 2005-12-07
JP4982459B2 (ja) 2012-07-25
HK1148150A1 (en) 2011-08-26
TWI330986B (en) 2010-09-21
US7693340B2 (en) 2010-04-06
JP2008178128A (ja) 2008-07-31
TW200629912A (en) 2006-08-16
CY1111971T1 (el) 2015-11-04
US8139878B2 (en) 2012-03-20
EP1744561A2 (en) 2007-01-17
ES2329823T3 (es) 2009-12-01
US20060269154A1 (en) 2006-11-30
CN1976468A (zh) 2007-06-06
KR100954244B1 (ko) 2010-04-23
DK2131593T3 (da) 2010-10-25
KR101227720B1 (ko) 2013-01-29
KR20110099348A (ko) 2011-09-07
JP4653258B1 (ja) 2011-03-16
ES2369653T3 (es) 2011-12-02
DK1596608T3 (da) 2007-03-05
EP2293578B1 (en) 2012-11-21
ATE524020T1 (de) 2011-09-15
KR20100012061A (ko) 2010-02-04
JP2014079003A (ja) 2014-05-01
KR101152507B1 (ko) 2012-06-01
ES2329712T3 (es) 2009-11-30
HK1146562A1 (en) 2011-06-17
EP1750451A2 (en) 2007-02-07
US20090034616A1 (en) 2009-02-05
KR20100074327A (ko) 2010-07-01
CN100527839C (zh) 2009-08-12
CA2444357C (en) 2012-03-20
EP2131593B1 (en) 2010-09-22
JP5208157B2 (ja) 2013-06-12
PT2254341E (pt) 2011-10-17
PT2254340E (pt) 2012-02-02
JP2010268514A (ja) 2010-11-25
JP4191793B1 (ja) 2008-12-03
DE60328836D1 (de) 2009-09-24
TWI281352B (en) 2007-05-11
KR20040099093A (ko) 2004-11-26
TW200629911A (en) 2006-08-16
JP4741716B1 (ja) 2011-08-10
PT2239948E (pt) 2011-06-09
TWI314838B (en) 2009-09-11
KR101038154B1 (ko) 2011-05-31
AU2003227248B2 (en) 2007-08-23
CA2732005C (en) 2012-12-04
JP2008312226A (ja) 2008-12-25
CA2732005A1 (en) 2003-10-23
ATE439738T1 (de) 2009-08-15
JP4185564B2 (ja) 2008-11-26
BR0303566A (pt) 2004-04-20
JP4465035B2 (ja) 2010-05-19
KR20120091468A (ko) 2012-08-17
ATE445294T1 (de) 2009-10-15
CN100527840C (zh) 2009-08-12
MY135378A (en) 2008-04-30
EP1746841A1 (en) 2007-01-24
EP1744562A2 (en) 2007-01-17
EP2293578A1 (en) 2011-03-09
EP2131593A1 (en) 2009-12-09
JP4598159B2 (ja) 2010-12-15
KR20110016508A (ko) 2011-02-17
US8290286B2 (en) 2012-10-16
JP4185561B2 (ja) 2008-11-26
JP2011061834A (ja) 2011-03-24
US20060239575A1 (en) 2006-10-26
EP1744561A3 (en) 2007-02-07
ES2369065T3 (es) 2011-11-25
JP2009171602A (ja) 2009-07-30
CN1293762C (zh) 2007-01-03
ES2376639T3 (es) 2012-03-15
ES2376639T9 (es) 2012-06-07
JP4465026B2 (ja) 2010-05-19
CN1929608A (zh) 2007-03-14
EP2293577B1 (en) 2012-11-21
ES2362563T3 (es) 2011-07-07
JP2010206823A (ja) 2010-09-16
US20060233449A1 (en) 2006-10-19
KR20120039761A (ko) 2012-04-25
EP1744561B1 (en) 2009-11-04
EP1596608A3 (en) 2005-11-30
CN1976471A (zh) 2007-06-06
KR20100012103A (ko) 2010-02-05
US20060233450A1 (en) 2006-10-19
JP2008160887A (ja) 2008-07-10
JP2006246499A (ja) 2006-09-14
TWI314837B (en) 2009-09-11
ES2399226T3 (es) 2013-03-26
DK1478188T3 (da) 2006-02-13
KR20100024495A (ko) 2010-03-05
ATE312478T1 (de) 2005-12-15
JP4185106B2 (ja) 2008-11-26
EP1753246A1 (en) 2007-02-14
DE60311530T2 (de) 2007-11-15
KR20060040752A (ko) 2006-05-10
ES2398516T3 (es) 2013-03-19
CN100527838C (zh) 2009-08-12
PT1744562E (pt) 2009-09-04
EP1596608A2 (en) 2005-11-16
ES2329822T3 (es) 2009-12-01
DE60329639D1 (de) 2009-11-19
CN1565130A (zh) 2005-01-12
ATE447828T1 (de) 2009-11-15
US7308149B2 (en) 2007-12-11
JP4185563B2 (ja) 2008-11-26
KR101257212B1 (ko) 2013-04-23
US7305134B2 (en) 2007-12-04
DE60328838D1 (de) 2009-09-24
EP1750451B1 (en) 2009-08-12
CY1111051T1 (el) 2015-06-11
TW200307465A (en) 2003-12-01
EP1750451A3 (en) 2007-02-21
KR100980987B1 (ko) 2010-09-07
EP1753246B1 (en) 2009-08-12
EP1744562B1 (en) 2009-08-12
EP1478188A4 (en) 2004-11-17
DE60302652D1 (de) 2006-01-12
EP1746841B1 (en) 2009-10-07
KR100956926B1 (ko) 2010-05-11
EP2134097B1 (en) 2011-09-07
ES2330661T3 (es) 2009-12-14
EP2239948A1 (en) 2010-10-13
KR100987541B1 (ko) 2010-10-12
JP2011010339A (ja) 2011-01-13
JP2010193509A (ja) 2010-09-02
US8265403B2 (en) 2012-09-11
JP4628498B2 (ja) 2011-02-09
CA2444357A1 (en) 2003-10-14
DE60329945D1 (de) 2009-12-17
JP2011172236A (ja) 2011-09-01
JP5716082B2 (ja) 2015-05-13
KR100990314B1 (ko) 2010-10-26
US7095896B2 (en) 2006-08-22
BRPI0303566B1 (pt) 2018-02-06
EP2239948B1 (en) 2011-06-01
JP4465036B2 (ja) 2010-05-19
EP2134097A1 (en) 2009-12-16
AU2003227248A1 (en) 2003-10-27
CN100527846C (zh) 2009-08-12
MY146793A (en) 2012-09-28
ATE439739T1 (de) 2009-08-15
US7697770B2 (en) 2010-04-13
KR101001753B1 (ko) 2010-12-15
EP2254340A1 (en) 2010-11-24
DK1744562T3 (da) 2009-10-12
JP4628499B2 (ja) 2011-02-09
JP4382864B2 (ja) 2009-12-16
EP2131592B1 (en) 2011-10-26
ES2277313T3 (es) 2007-07-01
MXPA03010115A (es) 2004-03-10
US7184598B2 (en) 2007-02-27
HK1136730A1 (en) 2010-07-02
US20130034308A1 (en) 2013-02-07
KR100956927B1 (ko) 2010-05-11
CN100527841C (zh) 2009-08-12
EP2254341A1 (en) 2010-11-24
SI1478188T1 (sl) 2006-04-30
ATE352951T1 (de) 2007-02-15
CN1976470A (zh) 2007-06-06
US20040184538A1 (en) 2004-09-23
DE60328837D1 (de) 2009-09-24
MY141699A (en) 2010-06-15
US20060233451A1 (en) 2006-10-19
US20080117969A1 (en) 2008-05-22
JP4185560B2 (ja) 2008-11-26
CN1917643A (zh) 2007-02-21
KR20060040751A (ko) 2006-05-10
ATE542370T1 (de) 2012-02-15
KR20100074326A (ko) 2010-07-01
ATE511733T1 (de) 2011-06-15
US20130315495A1 (en) 2013-11-28
EP1596608B1 (en) 2007-01-24
KR101154606B1 (ko) 2012-06-08
DK1746841T3 (da) 2009-11-30
JP4130780B2 (ja) 2008-08-06
JP4598158B1 (ja) 2010-12-15

Similar Documents

Publication Publication Date Title
JP4741716B1 (ja) 受信装置および受信方法

Legal Events

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

Ref document number: 1020037011695

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2003227248

Country of ref document: AU

Ref document number: 2444357

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2003715476

Country of ref document: EP

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: PA/a/2003/010115

Country of ref document: MX

WWE Wipo information: entry into national phase

Ref document number: 10479831

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1973/CHENP/2003

Country of ref document: IN

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

Ref document number: 20038011581

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2003715476

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020037011695

Country of ref document: KR

WWG Wipo information: grant in national office

Ref document number: 2003715476

Country of ref document: EP