WO2000002393A1 - Image coding/decoding method and recorded medium on which program is recorded - Google Patents

Image coding/decoding method and recorded medium on which program is recorded Download PDF

Info

Publication number
WO2000002393A1
WO2000002393A1 PCT/JP1999/002962 JP9902962W WO0002393A1 WO 2000002393 A1 WO2000002393 A1 WO 2000002393A1 JP 9902962 W JP9902962 W JP 9902962W WO 0002393 A1 WO0002393 A1 WO 0002393A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
vector
block
error
residual vector
Prior art date
Application number
PCT/JP1999/002962
Other languages
English (en)
French (fr)
Inventor
Takashi Miura
Fumihiko Itagaki
Miyuki Kawashima
Original Assignee
Hudson Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hudson Co., Ltd. filed Critical Hudson Co., Ltd.
Priority to CA002347383A priority Critical patent/CA2347383A1/en
Priority to US09/720,551 priority patent/US6687411B1/en
Priority to EP99923879A priority patent/EP1104199A4/en
Priority to JP2000558674A priority patent/JP3814637B2/ja
Publication of WO2000002393A1 publication Critical patent/WO2000002393A1/ja
Priority to HK01107091A priority patent/HK1036377A1/xx

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/649Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding the transform being applied to non rectangular image segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation

Definitions

  • the present invention relates to an image encoding / decoding method and a recording medium on which the program is recorded, and more particularly to relatively low-performance hardware such as a game machine. (CPU, memory, etc.) It relates to an image code "decoding method capable of reproducing high-quality images (CG images, animation images, natural images, etc.) at high speed and a recording medium storing the program.
  • 17 is a diagram (1) or (2) for explaining the prior art, and FIG. 16 shows an image of image compression processing by JPEG.
  • JPEG which is still the mainstream of still image compression, divides an image into blocks of 8 x 8 pixels and divides the image into two-dimensional DCT (distributed cosine transform). (Average value) and each coefficient from fundamental frequency to 63 times frequency. Furthermore, taking advantage of the fact that the frequency components of the natural image are concentrated in the low frequency region, each coefficient value is quantized with a different quantization width within a range where the image quality does not deteriorate, and the amount of information is reduced before the variable length Performs encoding (Huffman encoding).
  • FIG. 16 (B) shows a part of the Huffman code.
  • the Huffman coding, the high coefficient value H 13 such frequency of appearance in a relatively short code length bit, also low coefficient value H 6 or the like appearance frequency are respectively coded with a relatively long code length bits Therefore, these codes are packed irregularly on each octet (byte) as shown in the figure, which greatly increases the computational load at the time of decoding. For this reason, in a conventional game system, image quality had to be sacrificed in order to restore an image at an acceptable speed as a moving image.
  • the higher frequency components are quantized with coarser accuracy, so the image information in the contour part is lost and mosquito noise is generated, which is not suitable for compressing text and animation images.
  • artificial images CG images, animation images, etc.
  • the degradation of subjective image quality due to mosquito noise is a major problem.
  • schemes [1] and [2] are fractal coding as a compression scheme with a small decoding operation load
  • scheme [3] is an improvement of adaptive orthogonal transform that has the same coding efficiency as JPEG.
  • Methods [4] and [5] relate to AC component prediction based on the block average value (DC value).
  • method [3] divides the image into square blocks of KXK pixels, and blocks all blocks according to the permissible error Z by using an AC component prediction method, fractal transformation method, or adaptive orthogonal transformation. It is a chemical method.
  • the AC component prediction method is used for the average value separation method that calculates the AC component (additional data) of the own block from the average value (DC value) of the surrounding blocks including the own block and encodes the residual from the target image.
  • the adaptive orthogonal transform uses the self-similarity of an image to extract a base vector for approximating a block image from an image (nest) equivalent to a vector book codebook, and to generate a grammar.
  • This is a method to construct an orthogonal basis set of the minimum required dimension by the Schmidt method.
  • stepwise AC component prediction method of method [5] the CPU load is heavy, and the storage area for the interpolated value generated in the middle is required.
  • Figure 17 shows an image of the stepwise AC component prediction method.
  • the sub-blocks S, ⁇ S on the block of interest S are calculated from the DC values (S, U, R, B, L) of the four surrounding blocks including the block of interest.
  • Each DC value of 4 is estimated by the following equation.
  • P 3 S, + (S 3 + L 2 -U 3 -S 2 ) / 8
  • each pixel value of the four pixels to P 4 on the sub-block S 2 can be estimated by the following equation.
  • each of the four pixels P on the sub-blocks S 3 and S 4 , and the pixels of P 4 to P 4 The value can be estimated.
  • the present invention has been made in view of the above-mentioned problems of the prior art, and an object of the present invention is to reduce the compression ratio of image data while maintaining high image quality for computer-usable image data.
  • Image code that can increase and reduce the computational load during decoding
  • An object of the present invention is to provide a Z decoding method and a recording medium on which the program is recorded.
  • the above problem is solved, for example, by the configuration shown in FIG. That is, in the image coding method of the present invention (1), the image data is divided into blocks of a plurality of pixels to generate a DC image composed of each block average, and the corresponding block average is separated from each pixel block.
  • the residual vector for each block is calculated by using the method.If the residual vector is larger than the allowable value, the residual vector is approximated by adaptive orthogonal transformation using DC image nesting. One or more orthogonal bases are obtained for encoding, and an orthogonal basis set consisting of these linear combinations is encoded.
  • the configuration of obtaining one or more orthogonal bases from the nest of DC images greatly reduces the load on the CPU and the memory when decoding image codes.
  • image quality can be expected to be improved in artificial images such as CG images and animation images, which have many flat luminance components and thus have a strong correlation with DC images.
  • the contour number does not exist in the vicinity (that is, the residual vector is smaller than the allowable value).
  • the pixel block can be reproduced with a small CPU and memory load.
  • the code of the orthogonal base system is used. Instead of encoding, the residual vector itself is encoded. Therefore
  • the image compression rate cannot be unnecessarily reduced.
  • the first error (d nk ) with respect to the residual vector ⁇ d> is less than the allowable value by the previously obtained basis number nk.
  • an example of the encoding method will be specifically described with reference to (c) and (d) of Fig.
  • ⁇ v> indicates that v is a vector.
  • m ⁇ dnk
  • the third error vector ⁇ d ' 2 > has the smallest error
  • ⁇ / 3 Vl > + ⁇ 2 ⁇ 2 > ⁇ is used as the orthogonal basis set.
  • the second error vector d 2 ⁇ is also encoded (scalar quantization).
  • the quantization coefficient Q yk is determined so as not to be larger than the total code amount when nk bases are used, so that the code amount per pixel block is not increased. Only image quality can be improved.
  • the residual orthogonality is reduced by using the adaptive orthogonal transform and, if necessary, the scalar quantization of the second error vector after using m bases.
  • the vector ⁇ d> can be coded with higher accuracy.
  • each pixel data of (K / 2) X (K / 2) of the first upper sub-block S, S ⁇ b> 4 on the own block S is expressed by the following equation.
  • P, S + (2 U + 2 L- 2 S -BR) / S
  • the pixel code of the KXK pixel on the own block S is directly obtained from the neighboring DC image data S, U, B, L, R including the own block in a stepless manner. CPU and memory load at the time of decryption are greatly reduced. It should be noted that the method of the present invention (5) is useful for predicting AC components during image coding. Also, it can be used for the reproduction of AC components and the like at the time of image decoding.
  • the recording medium of the present invention (6) is a computer-readable recording medium that records a program for causing a computer to execute the process according to any one of the present inventions (1) to (5). .
  • FIG. 1 is a diagram illustrating the principle of the present invention
  • FIG. 2 is a diagram showing a configuration of an image encoding / decoding system according to the embodiment
  • FIG. 3 is a flowchart (1) of the image encoding process according to the embodiment
  • FIG. 4 is a flowchart (2) of the image encoding process according to the embodiment
  • FIG. 5 is a flowchart (3) of the image encoding process according to the embodiment
  • FIG. 6 is a flowchart (4) of the image encoding process according to the embodiment
  • FIG. 7 is a flowchart (5) of the image encoding process according to the embodiment
  • FIG. 8 illustrates a table of the image encoding process according to the embodiment.
  • FIG. 9 is an image diagram of image encoding processing according to the embodiment (1),
  • FIG. 10 is an image diagram (2) of the image encoding process according to the embodiment
  • FIG. 11 is an image diagram (3) of the image encoding process according to the embodiment
  • FIG. 12 is an image diagram of the image encoding process according to the embodiment.
  • FIG. 13 is a flowchart of the image decoding process according to the embodiment.
  • FIG. 14 is an image diagram of the non-step AC component prediction process according to the embodiment
  • FIG. 15 is a graph diagram of the coding efficiency according to the embodiment
  • Figure 16 is a diagram explaining the prior art (1)
  • Figure 17 is a diagram (2) explaining the conventional technology. BEST MODE FOR CARRYING OUT THE INVENTION
  • FIG. 17 is a diagram (2) explaining the conventional technology.
  • FIG. 2 is a diagram showing a configuration of an image encoding / decoding system according to the embodiment, showing an example of application to a game system.
  • reference numeral 10 denotes a game machine main body
  • 11 denotes main control of the game machine (game program, 3DCG and texture data TXD read control, user game operation data read control, etc.) and 3DCG animation related game.
  • CPU game processor
  • 12 is the main memory (MM) consisting of RAM, ROM, EEPROM, etc.
  • CPU 11 used by the CPU 11, and 13 is the CPU 11 Local (host) knowledge
  • 14 is a bus capable of high-speed data transfer
  • 15 is a bridge that controls connection (and contention arbitration) between buses
  • 16 is a game operation and parameter Control pad (start key, select key, cross key, etc.) for setting data, operation pad with mouse, joystick and other position input means
  • 17 is an operation pad for game system.
  • a Interface cartridge (PIF) Surrounding A Interface cartridge (PIF), 18 is a ROM cartridge (ROM-C) that records the game program (processing procedure, game parameters, 3 DCG model data, texture data, etc.) in a mask ROM, etc.
  • 19 is a ROM cartridge 1 8 is a ROM interface (ROM-CIF) that can be freely attached to and removed from the game system
  • 20 is a compact disk ROM (CD-ROM) that records the above-mentioned game programs
  • 21 is a CD-ROM
  • a CD-ROM driver which is detachably housed in the game system and can be driven
  • 22 is an online down port for the game program.
  • a communication control unit (COM) 23 connected to the illustrated public network is a communication line.
  • reference numeral 30 denotes a 3D accelerator for perspective-transforming the input 3DCG model data into a 2D screen
  • 31 denotes a geometry processor
  • 32 denotes reference position data such as characters and backgrounds, and 3D space according to its shape model data.
  • Up Generates a real size 3 DCG model consisting of a set of polygons and the like at each corresponding position of the model. • The modeling conversion unit that develops the image.
  • a processing unit, 34 is a viewpoint conversion unit that converts 3DCG image data in the world coordinate system XYZ into 3DCG image data in a viewpoint coordinate system Xyz in accordance with camera viewpoint information
  • 35 is a camera viewpoint information (viewpoint coordinate system X yz) is a perspective transformation unit that performs perspective transformation of the 3DCG generation model.
  • 36 is a rendering (raster) processor that performs processing in synchronization with the display raster
  • 37 is a scanning line decomposition unit that extracts each pixel data after perspective transformation according to the scanning line addresses X and y of the CRT 45
  • 38 is Z
  • the buffer 39 is a hidden buffer erasing unit that rewrites the pixel data of the part that should not be seen on the screen 45A with the pixel data of the part that can be seen on the screen 45A using the Z buffer 38.
  • a texture decoding unit for decompressing (decoding) the compressed data 41, a texture buffer for temporarily storing texture data; 42, a corresponding texture data of the texture buffer 41 for each pixel data of a portion visible on the screen 45A;
  • a texture processing unit to be pasted 43 is a frame memory for storing the output color image data (R, G, B), and 44 is an image data for one color pixel in the frame memory 43.
  • a DZA converter (DAC) that converts the image signal to a pixel signal and provides the video signal VS to the CRT 45.
  • 45 is a color CRT monitor as a display unit, 45A is its display screen, 46 is the horizontal / vertical sync signal of CR45 No. H, V and CRT control unit (CRTC) that generates x, y synchronization signals for 3D accelerator 30.
  • the external game creation device 50 creates a game program (processing procedure, game parameters, 3DCG model data, texture data, etc.) and records it on the ROM cartridge 18 or the CD-ROM 20. Also, when creating texture data, the image encoding method according to the present invention is executed, and the texture-compressed texture data TXD is stored in the ROM cartridge 18 or the CD-ROM 20. Be recorded. Then, the texture-compressed texture data TXD is decoded at high speed by the texture decoding unit 40, and further pasted on a 2D fluoroscopic image, and displayed on the screen 45A.
  • the image encoding (compression) processing in the game creation device 50 will be described.
  • FIG. 3 to 7 are flowcharts (1) to (5) of the image encoding process according to the embodiment
  • FIG. 8 is a diagram for explaining a table of the image encoding process
  • FIGS. These are image diagrams (1) to (4) of the processing, and the details of the image encoding processing will be described below with reference to these drawings.
  • the symbol ⁇ > represents a vector
  • the symbol II II represents the size of a vector
  • the symbol ⁇ represents a dot product of a vector
  • the symbol [operation] represents an integer of the operation result.
  • the symbol [arithmetic] is used with a different meaning, this shall be noted.
  • Vectors in figures and [numbers] are shown in bold.
  • the size of the original image is set to n pixels horizontally and m pixels vertically.
  • the symbols T ra and n represent partial image data obtained by extracting a square block of 4 ⁇ 4 pixels from the m rows and n columns of the image T, and the symbols B y , x , sy , and sx represent the y rows and X columns of the DC image.
  • This represents a block from which data for a total of 16 pixels of 4 ⁇ 4 has been extracted in steps of s X in the horizontal direction and sy in the vertical direction.
  • FIG. 3 shows the main processing of the image encoding processing.
  • step S1 original image data is read.
  • FIG. 9A shows an image of the original image data T.
  • Y is luminance data
  • U and V correspond to color difference data
  • U and V are down-sampled using the luminance average of two horizontal pixels.
  • An example is brightness data ⁇ of consist longitudinal 9 6 0 X horizontal 1 2 8 0 pixels
  • U, V consists of respective longitudinal 9 6 0 X horizontal 6 4 0 pixels.
  • 8 bits are assigned to each of the Y, U, and V pixel data.
  • step S2 a DC image creation process is performed.
  • the DC image creation process divides the original image into 4 x 4 pixel blocks and creates a DC image consisting of the average value M of each block.
  • FIG. 4 shows a flowchart of the DC image creation process.
  • step S21 the address registers i and j of the original image are both initialized to "0".
  • step S22 iZ4.jZ4 is set in the DC image address registers I and J.
  • step S23 block data of 4 ⁇ 4 pixels is extracted from the original image.
  • step S24 the average value M of the 16 pixel data included in the block data Tj.i is obtained.
  • the average value M is stored in the storage position D C j ,! of the DC image.
  • step S26 i is increased by 4, and in step S27, it is determined whether i> n.
  • step S22 If i> n is not satisfied, the process returns to step S22, this time obtaining the average value M of the block data in the next column, and storing it in in the next column.
  • the process proceeds in the same manner as described above, and when i> n is determined in step S27, i is initialized to "0" in step S28, and +4 is added to j.
  • step S29 it is determined whether or not i> m. If j> m is not satisfied, the process returns to step S22. This time, the average value M of the block data Tj.i in the next row is obtained. Store in D CJJ. Thereafter, the process proceeds in the same manner, and when j> m is determined in the determination in step S29, the process is exited.
  • Figure 9 (B) shows an image of DC image data DC.
  • One example of a DC image has a DC value of 240 ⁇ 320.
  • step S3 the DC image is encoded by two-dimensional DPCM and output.
  • Figure 10 (A) shows a processing image of 2D DPCM.
  • the DC value of the J row and the I column of the DC image is DC J;
  • I DC :> I -DC is scalar-quantized by the quantization coefficient Q s ⁇ that is, [
  • the prediction error ADCJJ is consideration of a case only La Nrengusu "0", the Huffman coding each independently a prediction error ADC 1 and run length.
  • Figure shows a table of quantization coefficients Q s to 8 (A).
  • Value of the quantization coefficient Q s is associated with tolerance Z of multiple stages. The user selects the tolerance Z within a small range when high image quality is required, and within a large range when low image quality is acceptable.
  • Quantization coefficient Q s according to this varies from 1-8.
  • step S4 the address registers i and j of the original image are both initialized to “0”.
  • step S5 i / 4 is set in the DC image address registers I and J.
  • step S6 the 16-dimensional residual vector ⁇ d> corresponding to the 4 ⁇ 4 pixel block is
  • Figure 10 (B) shows an image of the residual vector ⁇ d>. Eight bits are assigned to each element of the residual vector ⁇ d>.
  • step S7 it is determined whether or not the magnitude (square) of the residual vector ⁇ d> is smaller than the allowable error Z. If it is smaller, the decoding side can restore the block image data Tj, i of this part with high accuracy by the non-step AC component prediction method described later, so the flow proceeds to step S18, where the basis number ⁇ 0 '' is encoded. Output as F, If not, the process proceeds to step S8 to perform an adaptive orthogonalization process to search for a basis vector for approximating the residual vector ⁇ d>.
  • Figure 11 shows an image of the adaptive orthogonalization process.
  • the adaptive orthogonalization process is a process to find the number nk of base vectors necessary to approximate the residual vector ⁇ d> within the allowable approximation error Z, and each base vector v nk >. is there.
  • the section is cut out and used as a nest to reduce the weight of the nest.
  • FIG. 11 (A) for example, an area having a DC value of, for example, 39 (vertical) ⁇ 71 (horizontal) is cut out from a DC image to be a nest.
  • the vertex (x, y) e [0, 63] X [0, 31] is set for each DC value in the vertical and horizontal directions, and the subsample interval is ( sx, sy) e ⁇ (l, l), (1, 2), (2, 1), (2, 2) ⁇ . Note that this is an example, and the nest size, cutout position, base vector subsample interval, etc. can be set arbitrarily.
  • This is a process that uses the self-similarity of the original image to search for images similar to the original image pixel blocks at various angles from the DC image on the nest.
  • step S31 a large value (for example, 100000) is set in the error register Err , and the base number register nk is initialized to "1".
  • step S32 both the nest image start address registers x and y are initialized to "0".
  • step S33 the sub-sample interval registers sx and sy of the nested image are both initialized to "1".
  • Step S of the 34 from the nest image 4 X 4 DC block image B y, x, sy, basal vector rather v nk Remove the sx> ⁇ Fig 1 1 (C) basal base in click DOO below Le rather create considerable ⁇ to u nk>, and the case of nk> 1 grams' orthogonalization method Schmidt, orthogonalizing the previous base base-vector.
  • the Gram-Schmidt orthogonalization method is a method of constructing an orthonormal basis ⁇ '..., v' J of V from one basis ⁇ v ,, ⁇ , v n ⁇ of n-dimensional inner product space V.
  • the outline of the Gram-Schmidt orthogonalization method will be described below with reference to FIG. 11 (C). Assuming that the first basis vector ⁇ V (equivalent to ⁇ Ul ⁇ ), the first normalized basis vector v 'is a unit vector.
  • V 2 "2-(" 2 # ⁇ ⁇ ) ⁇ ⁇
  • step S35 the normalized basis vector ⁇ v, nk > is used, and the expansion coefficient a nk of the basis vector that minimizes the distance to the residual vector ⁇ d> is determined.
  • (A) in Fig. 12 shows an image of the process of approximating the residual vector ⁇ d> using the normalized basis vector ⁇ v'nk >.
  • Step S 3 in 7 ⁇ r ⁇ "determines whether or not the. ⁇ r ⁇ E register E for storing various information relating to the minimum value in step S 3 8 For rr", X, Y, ⁇ , X, y, sx, sy at that time are stored in SX, SY, respectively.
  • the register a has the expansion coefficient a nk at that time
  • the base vector storage area ⁇ v ⁇ has the base vector v v nk ⁇
  • the orthogonalization base vector storage area ⁇ '> Stores the orthogonalized basis vectors ⁇ v, nk > at that time. If it is not ⁇ E Titan, the process of step S38 is skipped.
  • step S39 the sampling interval sX is incremented by 1, and in step S40, it is determined whether or not sX> 2. If s X> 2 is not satisfied, the process returns to step S 3 4, and the same applies to the basis vectors v nk ⁇ extracted at different sample intervals s X. The same processing is performed. Thereafter, the process proceeds in the same manner, and when sX> 2 is determined in step S40, sx is initialized to "1" in step S41, and +1 is set to the sample interval sy.
  • step S43 the start position X on the nest is set to +1.
  • step S46 the full platform position (x, y) ⁇ [0, 63] X [0, 31] on the nest image is reached, and the total sample interval (sx , Sy) e ⁇ (1, 1), (1, 2), (2, 1), (2, 2) ⁇ Each base vector ⁇ v nk ⁇ has been tried.
  • the process proceeds to step S47.
  • Step orthogonal basis vectors Toruhi brought minimal approximation error f r at this point from S 47 the residual vector rather d> ⁇ subtracted [nu '), determine the magnitude of the error, the magnitude of the allowable value It is determined whether it is smaller than ⁇ . If not, replace the residual vector ⁇ d ⁇ with ⁇ d ⁇ - ⁇ ⁇ ' ⁇ in step S48. Eh, update. The undeployed coefficient resulted smallest approximation error at this point, the storage base base-vector ⁇ v>, 'the contents of) a nk, (Vnk), ⁇ ' orthogonal basis base-vector rather v as nk) Evacuate in the area 'hold.
  • nk l, ⁇ ,, ⁇ ,)
  • ⁇ ′, ⁇ are saved. Also, nk is incremented by 1 and the process returns to step S32 (1).
  • the coefficient] 3 is referred to as the expansion coefficient of the base vector ⁇ v>.
  • step S49 the conversion method in step S49 will be specifically described.
  • k l to nk
  • the matrix consisting of the basis vector v A ⁇ U is equivalent to the basis vector ⁇ in Fig. 11 (C) above.
  • the composed matrix B, and normalized orthogonal base vector ⁇ consisting> matrix) ⁇ the matrix of scalar coefficients a t when the a, respectively,
  • step S49 above is
  • V T VB V T V'A
  • V T V V T V'A
  • step S9 it is determined whether or not the number of bases used nk> 7 . If nk> 7 (8 or more), the advantage of image compression will not be obtained even if the basis vector is used, so the process proceeds to step S19, where the basis number “8” is signed and the basis number “0” is used. Is output as the code F 2 and the residual vector ⁇ d> itself is output as the code F 3 . If nk ⁇ 7, the process proceeds to step S10, and the following scalar quantization process is executed in accordance with the use of the base vector.
  • the error vector d m ⁇ when each m (0 ⁇ m ⁇ nk) bases are adopted in the selected order of the nk selected is
  • residual solid torr ⁇ d ', "> sought, error II (d m> one (d" if m> II will explore m that minimizes, eventually employing this m-number of base Is generated.
  • Figure 8 (B) shows the scalar quantization table.
  • the total code length is 16 bytes.
  • the 16-dimensional residual vector ⁇ d> can be encoded as it is, and there is no advantage in performing adaptive orthogonal transform. Therefore, the bases are used in the range of 0 to 7, and the number of cobases yk is 7 to:! Becomes
  • Each quantization coefficient Q yk is predetermined corresponding to the number of co-bases yk. Rather preferably, each quantization coefficient Q yk is selected as to be included with the code amount of remaining number of bases yk partial error base-vector ⁇ d m>.
  • the co-basis number yk 1
  • 16 X 1 bits can be used for scalar quantization of the error vector d m ⁇ .
  • the bit “0” of the code corresponds to the size “1 1”
  • the bit “1” corresponds to the size “0”.
  • FIG. 7 is a flowchart of the scalar quantization processing.
  • a register m for counting the number of used bases is initialized to "0".
  • an error vector d m ⁇ after adopting m bases is determined.
  • (D) (residual vector)
  • step S64 the error vector d m ⁇ is scalar-quantized by Q yk , and each element of the resulting error vector ⁇ d ′ m ) is clipped to the range of [1 2 1 , 2 1 — 1] .
  • step S65 the error vector d, m > after the above-mentioned quantization (and clipping) is scalar-inverse-quantized by the same Qyk .
  • Step S 6 sought 6 In the original erroneous difference base-vector and ⁇ d m> errors fr m the case of comparing the inverse quantized error base-vector rather d '' m>, which in a predetermined area Evacuate 'hold.
  • step S67 +1 is added to the register m.
  • step S68 it is determined whether or not m> nk (1 ⁇ nk ⁇ 7). If not m> nk, the process returns to step S62 and performs the same processing as described above.
  • step S 6 from the error epsilon rir to extract the minimum error f r mk.
  • step S70 base number nk is output as code F1.
  • step S71 the used base number (effective base number) mk is output as code F2.
  • step S72 the starting position (xy) on the nest of each used base, the subsample interval (sxsy), and the expansion coefficient of each used base are quantized by Q (for example, 8). packed in 6-bit output as a code F 4.
  • Breakdown of the code F 4 the start position (X, y) Total 1 1 bit horizontal 6 bits and vertical 5 bits to on nest, four 2-bit to one of the sub-sample interval of the, expansion coefficients The remainder of / 3 is 3 bits, for a total of 16 bits.
  • the code F 4 consumes 2 bytes for each used basis.
  • step S 73 the quotient obtained by quantizing the expansion coefficient] 3 of the base with Q (e.g. 8) to output as a code F 5.
  • step S74 the error vector d ′ mk ⁇ when the minimum inverse quantization error er mk is obtained is allocated to a region of 16 X (n k-mk) bits corresponding to the number of co-bases yk, and the sign and outputs it as F 3. Then, the process exits.
  • encoding of one residual vector ⁇ d> of the original image has now been completed. Further, in step S11, +4 is added to the address register i, and in step S12, it is determined whether or not i> n.
  • step S5 If i> n is not satisfied, the process returns to step S5, and the same processing as described above is performed for one residual vector ⁇ d> from the next position shifted by 4 bits in the i-axis direction, and is encoded. Thereafter, the process proceeds in the same manner, and when i> n is determined in the above step S12, i is initialized to "0" in step S13, and +4 is added to j. In step S14, it is determined whether or not j> m. If j> m is not satisfied, the process returns to step S5, and the residual vectors shifted by 4 bits in the next j-axis direction are similar to the above. Perform processing and encode. Thereafter, the process proceeds in the same manner. When j> m is reached in the determination in step S14, the above-described encoding process ends when the residual vector ⁇ d> of all the images is obtained.
  • Figure 12 (B) shows a table of image compression codes. Please refer to this table in the following explanation.
  • F 5 have a variable length code F in step S 1 5 and Huffman marks Goka.
  • the code F 5 Huffman coding of the quotient obtained by quantizing the expansion coefficient] 3 constant Q (e.g., 8). If the coercive base number yk ⁇ 0, write a code E OB to indicate the switching of the pixel block.
  • Step S 1 6 the variable-length code F 6 and outputs the Huffman coding.
  • the code F 6 is obtained by quantizing the prediction residual AD C I by the two-dimensional DP CM of the DC value with the quantization coefficient Q s .
  • the prediction residual ADCu 0, the prediction residual ⁇ DC z and the run length are Huffman-coded independently, considering the run length.
  • Step S 1 variable length code F 3, and outputs a fixed-length code F 4 to Huffman coding.
  • the sign F ⁇ is the final error vector when the number of used bases mk> 0 This is the result of scalar quantization of Q d 'by Q yk [ K d' rak ⁇ / Q yk ].
  • the original residual vector ⁇ d> itself is the sign.
  • the code F 4 is composed of 11 bits of the starting coordinates (x, y) of the nest, 2 bits of the subsample coefficients (s X, sy), and 3 of the remainder ( ⁇ / Q) of the expansion coefficient ⁇ , per basis. It consists of a fixed 16 bits and these are packed in the order of appearance of the used base.
  • FIG. 13 is a flowchart of the image decoding process according to the embodiment.
  • step S81 image code data is read.
  • step S82 the DC values of Y, U, and V are decompressed (decoded).
  • step S83 a nest is generated from the DC value of the Y component.
  • step S84 the address register j of the decoded (reproduced) image is both initialized to “0”.
  • step S85 code data relating to the block image (that is, the residual vector) is input.
  • step S96 the residual vector ⁇ d> is inversely quantized in step S96.
  • step S90 the decoded DC value is added to the obtained residual vector ⁇ d>.
  • the error vector ⁇ d ' is inversely quantized with Q yk .
  • step S89 mk basis vectors are created from the nest according to the starting position (x, y) of each basis and the subsample interval (sx, sy), and the product of the expansion coefficient and / 3 is calculated.
  • step S90 An approximation vector (orthogonal basis set) consisting of linear combinations is formed, and the error vector ⁇ d 'is synthesized with the approximation vector to reproduce the original residual vector ⁇ d>.
  • step S90 the decoded DC value is added to the obtained residual vector ⁇ d>.
  • the 4 ⁇ 4 block image Tj.i was reproduced by any of the above methods.
  • step S91 the reproduced image is stored in the image memory.
  • step S92 +4 is added to the address register i, and in step S93, it is determined whether or not i> n. If not i> n, the flow returns to step S85, and the block image data in the next column is decoded and stored in the image memory. Thereafter, the process proceeds in the same manner.
  • i> n is determined in step S93, i is initialized to “0” in step S94, and +4 is set to j.
  • step S95 it is determined whether or not j> m. If j> m is not satisfied, the process returns to step S85, and each block data Tj.i of the next row is decoded and stored in the image memory. Thereafter, the process proceeds in the same manner.
  • j> m is satisfied in the determination in step S95, the image decryption process ends.
  • YUV is converted to RGB. At this time, the same value is assigned to the two horizontal pixels without using an interpolation filter for the upsampling of U and V.
  • FIG. 14 is an image diagram of the non-step AC component prediction processing according to the embodiment.
  • an approximate image (AC image) of an original pixel block is generated at once from a nearby DC image by a non-stepwise AC component prediction method.
  • the sub-blocks S, to S on the target block S are obtained from the DC values (S, U, R, B, L) of the four surrounding blocks including the target block.
  • Each DC value of 4 is
  • Fig. 14 (A) shows the same figure as Fig. 17 (B) again.
  • U is in the first stage of this, ⁇ U 4, L, ⁇ L 4 ,! ⁇ ⁇ Shaku Bi B etc. are estimated.
  • the four pixels P, to P 4 on S are
  • P 3 S 3 + (B, + _s ⁇ -sj / 8
  • an approximate image of 4 ⁇ 4 pixels is directly (non-stepwise) determined from each of the nearby DC values (S, U, R, B, L) including itself.
  • FIG. 15 is a graph of the coding efficiency according to the embodiment. Using a sample image (320 ⁇ 240 pixels, R, G, and B components of each pixel, 8-bit precision), BPP (Bit Per Pixel),
  • PSNR Peak-to-peak Signal—to—Noise Ratio
  • PS NR [dB] 2 0 1 og 10 (2 5 5 / f ⁇ 2 )
  • ⁇ 2 represents the mean square error per pixel.
  • Figure 15 ( ⁇ ) shows the case of using animated images.
  • the solid line shows the case of the present embodiment, and the dotted line shows the case of JPEG.As shown in the figure, the coding performance greatly exceeds the efficiency of JPEG. I have.
  • Fig. 15 (B) shows the case where the CG image was used, and the same tendency as above was obtained.
  • this method does not show any mosquito noise or block noise peculiar to the orthogonal transform coding method, and is considered to be effective for artificial images. Although not shown, almost the same performance as J PEG was obtained for natural images.
  • the nest can be reduced in weight and the amount of variable-length codes can be reduced, the calculation load at the time of decoding can be greatly reduced.
  • Image data can be used without deteriorating the image quality.
  • mosquito noise does not occur even in the outline portion, and image data with a high compression ratio that has good reproducibility of characters and animation images can be provided.

Landscapes

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

Description

明細書 画像符号ノ復号方法及びそのプログラムを記録した記録媒体 技術分野 本発明は画像符号 復号方法及びそのプログラムを記録した記録媒体に関 し、 更に詳しくはゲーム機等の比較的低性能なハードウェア (CPU, メモ リ等) でも高速に良質な画像 (CG画像, アニメーション画像, 自然画像等 ) を再生可能な画像符号 "復号方法及びそのプログラムを記録した記録媒体 に関する。 背景技術 図 1 6, 図 1 7は従来技術を説明する図 (1) , (2) で、 図 1 6は J P EGによる画像圧縮処理のイメージを示している。
図 1 6 (A) において、 今日、 静止画像圧縮方式の主流となっている J P EGでは、 画像を 8 X 8画素のブロックに分割し、 それを 2次元 DC T (離 散コサイン変換) により DC (平均値) 及び基本周波数から 63倍周波数ま での各係数 に変換する。 更に、 自然画像の周波数成分が低周波領域に集中 していることを利用し、 画品質が低下しない範囲で各係数値を異なる量子化 幅で量子化し、 情報量の削減を行ってから可変長符号化 (ハフマン符号化) を行う。
一方、 この様な画像符号データを家庭用ゲーム機等で利用する場合には、 CPU性能やメモリ容量に制限があるため、 復号演算負荷の大きな画像圧縮 法 (J PEG等) をソフトゥエアで復号すると、 様々なデメリットが発生す る。 例えば、 J PEGでは 8 X 8画素のブロックに対して必ず 64個の可変 長符号化を行うべき符号が生成されるため、 復号時の計算負荷の増大を招い ている。
図 1 6 ( B ) はハフマン符号の一部を示している。
ハフマン符号化では、 出現頻度の高い係数値 H13等は相対的に短い符号長 ビッ トで、 また出現頻度の低い係数値 H6等は相対的に長い符号長ビッ トで 夫々符号化されるため、 これらの符号は各オクテット (バイ ト) 上で図示の 如く不揃いに詰め込まれてしまうことになり、 このことが復号時の計算負荷 を非常に大きく している。 このため従来のゲームシステムでは、 動画として 容認出来る程の速度で画像を復元するためには画品質を犠牲にせざる得ない 状況であった。
また画品質については、 高周波成分ほど粗い精度で量子化されるため、 輪 郭部分の画像情報が失われてモスキートノイズを発生し、 文字やアニメーシ ヨン画像の圧縮には適していない。 特にゲームソフトでは人工画像 (C G画 像, アニメーション画像等) が多用されるため、 モスキ一トノイズによる主 観的画品質の劣化は大きな問題である。
これに対して、 近年は、 以下の文献 〔1〕 〜 〔5〕 が報告されている。 〔 1〕 Michael F. Barnsley, Lyman P. Hurd "FRACTAL IMAGE COMPRESSION" AK Peters Ltd. , 1993
〔2〕 井田 孝, 駄竹 建志 "反復変換符号化による画像圧縮" 第 5回 回 路とシステム軽井沢ヮ一クショップ論文集, pp. 137 - 142, 1992
〔3〕 ュ ヒ ヨンべ, 高橋 隆史, 河野 裕之, 徳永 隆治 "グラム 'シュ ミットの直交化を応用した L I F S画像符号化法の画品質改善" 電子情報通 信学会技術研究報告, vol. NLP - 98, no. 146, pp. 37-42, 1998
〔4〕 渡邊 敏明, 大関 和夫 "平均値を用いた交流成分予測方式の一検討 " 画像符号化シンポジウム(PCSJ89) , pp29-30, Oct. 1989
〔5〕 高橋 隆史, 徳永 隆治 "画像のブロック平均値から交流成分を予測 する高速演算アルゴリズム" 電子情報通信学会論文誌 Vol. J81-D-II No. 4, pp. 778-780, Apr. 1998
ここで、 方式 〔1〕 , 〔2〕 は復号演算負荷の小さな圧縮方式としてのフ ラクタル符号化、 方式 〔3〕 は J P E Gと同程度の符号化効率を有する適応 的直交変換の改良、 そして、 方式 〔4〕 , 〔5〕 はブロック平均値 (D C値 ) に基づく交流成分予測に関する。
中でも方式 〔3〕 は、 画像を K X K画素の正方形ブロックに分割し、 全ブ ロックを許容誤差 Zに応じて、 交流成分予測法, フラクタル変換法, 適応的 直交変換の何れかで近似するプロック符号化法である。 交流成分予測法は自 プロックを含む周囲のブロック平均値 (D C値) から自ブロックの交流成分 (加算データ) を求め、 対象画像との残差を符号化する平均値分離方式に利 用される。 また適応的直交変換は、 画像が有する自己相似性を利用し、 べク トル量子化のコードブックに相当する画像 (ネスト) からブロック画像を近 似するための基底べク トルを抽出し、 グラム ·シュミット法によって必要最 小次元の直交基底系を構成する方式である。
しかし、 上記方式 〔1〕 , 〔2〕 のフラクタル変換は、 復号において反復 計算を必要とし、 かつ画像平面規模のヮ一クスベースを消費するため、 ビデ ォゲ一ム機等には不向きである。
また方式 〔3〕 の適応的直交変換では、 ネストとして対象画像と等しい大 きさの加算データを利用するため、 復号時に非常に大きなワークスペースを 必要とする。 更には、 復号時に解凍されたブロックを逐次的にネスト上の対 応するブロックへ書き戻すため、 画品質は改善されるが、 ア ドレス計算及び データ転送の負荷が重い。 更にまた、 方式 〔3〕 では基底の座標及びサンプ リング係数の圧縮にハフマン符号を適用しているが、 自然画像ではどの基底 の出現頻度にも大きな偏りが無いため、 圧縮効率が上がらないのみか、 ハフ マン復号の計算量のみが消費されている。 また適応的直交変換では、 画像に より必要最小次元の直交基底数が多くなる場合があるが、 基底数が多くなる と残差べク トルを直接符号化するよりも多くのビット数が使用され、 符号化 効率が低下する。
また方式 〔4〕 の交流成分予測法では、 画像中の輪郭部分周辺でオーバー シュ一トゃアンダーシュートを発生する傾向があり、 輝度の立ち上がりが鋭 い人工画像では逆に画品質を劣化させる傾向がある。
また方式 〔5〕 の段階的交流成分予測方式では、 C PU負荷が重いばかり 力、 中間的に生成される補間値の記憶領域が必要となる。
図 1 7に段階的交流成分予測方式のィメージを示す。
図 1 7 (A) において、 段階的交流成分予測方では、 注目ブロックを含む 周囲 4ブロックの各 DC値 (S, U, R, B, L) から注目ブロック S上の サブブロック S,〜S4の各 DC値を次式により推定する。
S, = S + (U+ L-B-R) /S
S2 =S + (U+R-B - L) /8
S3 = S + (B + L-U-R) /8
S4 = S + (B + R-U- L) /8
図 1 7 (B) において、 上記方式を再帰的に適用することで、 更にサブブ ロック 上の 4画素 Pj〜P4の各画素値を次式により推定できる c
P, = S, + (U3 + L2 - S3 - S2 ) /8
P2 = S, + (U3 + S2 - S3 - L2 ) Z 8
P3 = S, + (S3 +L2 -U3 -S2 ) /8
P4 = S' + (S3 + S2 — U3— L2 ) 8
また同様にして、 サブブロック S2上の 4画素 〜P4の各画素値を次式 により推定できる。
P, = S2 + (U4 + S, - S4 -R, ) /8
Figure imgf000006_0001
P3 - S2 + (S4 + S] -U4 -R, ) /8
P4 = S2 + (S4 + R, -U4 - S, ) /8
以下同様にして、 サブブロック S 3, S 4 上の各 4画素 P,〜P4の各画素 値を推定できる。
しかし、 最初の D C値 (S, U, R, B, L ) から出発して原画像の全予 測値 P ,〜P 4を得るには、 上記方式を段階的に適用して細分化しなくては ならず、 中間値を保持するメモリが必要なばかり力、 C P Uの演算負荷も増 大する。 発明の開示 本発明は上記従来技術の問題点に鑑み成されたもので、 その目的とする所 は、 コンピュータ利用可能な画像データに対して高い画品質を保持しつつ画 像データの圧縮率を高めると共に、 復号時の計算負荷を軽減できる画像符号
Z復号方法及びそのプログラムを記録した記録媒体を提供することにある。 上記の課題は例えば図 1 (A) の構成により解決される。 即ち、 本発明 ( 1 ) の画像符号方法は、 画像データを複数画素のプロックに分割して各プロ ック平均値からなる D C画像を生成し、 各画素ブロックから対応するブロッ ク平均値を分離してブロック毎の残差べク トルを求めると共に、 残差べク ト ルの大きさが許容値以上の場合は、 D C画像のネストを使用した適応的直交 変換により残差べク トルを近似するための 1又は 2以上の直交基底を求め、 これらの 1次結合からなる直交基底系を符号化するものである。
本発明 (1 ) においては、 D C画像のネストから 1又は 2以上の直交基底 を求める構成により、 画像符号ノ復号時における C P Uやメモリの負荷が大 幅に軽減される。 また、 平坦な輝度成分が多く、 よって D C画像との相関が 強い C G画像やアニメーション画像等の人工画像では、 画品質の向上が期待 できる。
好ましくは、 本発明 (2 ) においては、 上記本発明 (1 ) において、 残差 べク トルの大きさが許容値未満の場合は、 直交基底を求める代わりに、 基底 数 = 0の情報を符号化する。 例えば、 一般に輝度の立ち上がりが鋭い人工画像に対しては、 輪郭部分が 近傍に存在しない (即ち、 残差べク トルの大きさが許容値未満の) 画素プロ ックに対して基底数 =0の符号が限定的に生成される。 従って、 このような 画素プロックについては高い画像圧縮率が得られる。
一方、 復号側では対応する画素プロックに対して限定的に段階的交流成分 予測法又は本発明による非段階的交流成分予測法を適用することで、 少ない C P U及びメモリ負荷で画素プロックを再生できる。
また好ましくは、 本発明 (3) においては、 上記本発明 (1) において、 求めた直交基底系の総符号量が残差べク トルの総符号量以上となる場合は、 直交基底系の符号化に代えて、 残差べク トルそのものを符号化する。 従って
、 画像圧縮率をいたずらに低下させることが無レ、。
また好ましくは、 本発明 (4) においては、 上記本発明 (1) において、 予め求められた基底数 n kにより残差べク トル 〈d〉 との第 1の誤差 く dnk ) が許容値未満となる場合に、 前記求められた順に m (0≤m<n k) 個の 基底を使用した後の第 2の誤差べク トル く dm〉 を、 使用されなかった余基 底数 y k (=n k -m) に対応して予め定められた量子化係数 Qykでスカラ —量子化し、 かっこれをスカラー逆量子化して、 これを前記第 2の誤差べク トル く dm〉 から引いて得られる n k種類の第 3の誤差ベク トル 〈d' „〉 と前記第 1の誤差 〈dnk〉 との中で最も誤差が小さいものを選択し、 対応す る基底及び必要なら第 2の誤差べク トルを併せて符号化するものである。 以下、 図 1 2 (A) の (c) , (d) を参照して一例の符号方法を具体的 に説明する。 図 1 2 (A) の (c) において、 今、 残差べク トル 〈d〉 との 誤差の大きさ II <dnk) IIを許容値 Z未満とするような n k (例えば n k二 3) 個の基底からなる線形結合、
〈d〉 ^ β, <v, ) +j32 〈v2〉 + β3 <v3) (n k = 3) が求まったとする。 但し、 〈v〉 は vがべク トルであることを表す。
上記 n k = 3個の基底を使用した場合の第 1の誤差ベク トル く d3〉 = < dnk) 及び前記求められた順に m (0≤m< n k) 個の基底を使用した後の 第 2の誤差べク トル 〈d。〉 〜 く d2〉 については次の関係がある。
(d0 > <d> (τη= 0, y k = 3) <d , ) <d> ]3】 く v,〉 (m= l , y k = 2) <d2 > 〈d〉 β、 < , ) β2 〈v2〉 (m= 2, y k = 1 ) く d3〉 〈d〉 ]3, (v, ) β2 く v2〉 (v3>
(m= 3, y k = 0) 図 1 2 (A) の (d ) において、 上記第 2の誤差べク トル 〈d。〉 〜 〈d2 > を、 使用されなかった余基底数 y k = 3, 2, 1に対応して予め定められ た量子化係数 Qyk (例えば Q3 = 6, Q2 = 7, Q, = 8) により夫々にスカ ラー量子化 (かつクリッピング) し、 かつこれらを同量子化係数 Qykで夫々 逆量子化して逆量子化後の第 2の誤差べク トル 〈d。 Q'〉 〜 〈d2 Q'〉 を求 める。
く d。 Q'〉 = [ く d0〉 /Q3 ] Q3
<d , Q'> = [ (d, > /Q2 ] XQ2
〈d2 Q'〉 = [ 〈d2〉 /Q, ] XQ,
但し、 記号 [ ] は演算結果の整数化を表す。
更に、 これらを前記第 2の誤差ベク トル く d。〉 , く 〉 , く d2〉 から 夫々に差し引いて得られる第 3の誤差ベク トル 〈d'。〉 〜 〈d' 2〉 を求め る。
〈d,。〉 - く d。〉 ― 〈d。 Q' >
<d' , > = <d, > 一 (d, Q, >
く d' 2〉 = <d2 > 一 〈d2 Q' >
ところで、 これらの第 3の誤差べク トル 〈d'。〉 〜 〈d' 2 ) の大きさは 、 必ずしも前記第 1の誤差ベク トル く d3 〉 よりも大きいとは限らない。 即 ち、 3個の基底 <ν, ) + β22 > + β33 ) を符号化した結果、 その復号後の誤差が前記第 1の誤差ベク トル = 〈d3〉 となるよりも、 例え ば 2個の基底 ]3, (ν, ) + β22) を符号化し、 かつその残りの 1基底 分の符号量を利用して第 2の誤差ベク トル 〈d2〉 をスカラー量子化した結 果、 その復号後の誤差が前記第 3の誤差ベク トル == 〈d' 2〉 となる方が、 最終的な復号誤差は小さレ、かも知れない。
そこで、 本発明 (4) においては、 第 3の誤差べク トル 〈d'。〉 , 〈d,
, ) , 〈d' 2〉 と第 1の誤差べク トル 〈d3〉 とのなかで、 最も誤差が小さ いものを選択して対応する基底及び必要なら第 2の誤差べク トルを符号化す るものである。
上記の例で言うと、 もし第 3の誤差ベク トル 〈d' 2〉 が最も誤差が小さ い場合は、 直交基底系として {/3, く Vl〉 + β22> } を採用し、 これ らを符号化すると共に、 第 2の誤差べク トル く d2〉 を併せて符号化 (スカ ラー量子化) する。 このようにして生成した符号は、 基底を n k個使用する 場合の総符号量よりも大きくはならない様に量子化係数 Qykを定めているの で、 画素ブロック当たりの符号量を増加させずに画品質のみを向上させるこ とが出来る。
この様に、 本発明 (4) においては、 適応的直交変換と、 必要なら m個の 基底を使用した後の第 2の誤差べク トルのスカラー量子化とを併用する構成 により、 残差べク トル 〈d〉 をより高い精度で符号化可能となる。 また、 そ の際には、 第 2の誤差ベク トルを余基底数 y k (=n k -m) に応じた量子 化係数 Qykでスカラー量子化し、 かっこれを余基底数 y k分の符号量に符号 化するので、 当該画素プロックに対する総符号量を増さずに画品質のみを向 上させ、 かつ当該画素ブロック当たりの符号長を復号容易な形 (所定ビット 数の倍数) にでき、 よって復号時の演算負荷が大幅に軽減される。
また図 1 (B) の構成による本発明 (5) の画像符号 Z復号方法は、 KX K画素のブロック平均値からなる自ブロック Sを含む上下左右 U, B, L, Rの計 5つの DC画像データに基づき、 自ブロック S上の左上の第 1のサブ ブロック S,の (K/2) X (K/2) の各画素データ 〜P4を次式、 P, = S + (2 U+ 2 L- 2 S -B-R) /S
P2 = S + (2U-B-R) /8
P3 = S + (2 L -B -R) /S
P4 = S + (2 S -B-R) /S
また自ブロック S上の右上の第 2のサブブロック S2の (KZ2) X (K/ 2) の各画素データ 〜P4を次式、
P, =S + (2U-B- L) /8
P2 = S + (2U+ 2 R- 2 S -B-L) / 8
P3 =S + (2 S -B- L) 8
P4 = S + (2 R-B- L) /8
また自ブロック S上の左下の第 3のサブブロック S3の (KZ2) X (Kノ 2) の各画素データ P,〜P4を次式、
P, = S + (2 L-U-R) /8
P2 = S + (2 S -U-R) ノ 8
P3 =S + (2 B + 2 L- 2 S -U-R) /8
P4 =S + (2 B-U-R) /8
及び又は、 自ブロック S上の右下の第 4のサブブロック S4の (KZ2) X (K/2) の各画素データ 〜P4を次式、
P, =S + (2 S -U- L) /8
P2 =S + (2 R-U-L) 8
P3 =S + (2 B-U- L) /8
P4 = S + (2 B+ 2 R- 2 S -U- L) /S
により求めるものである。
本発明 (5) においては、 自ブロックを含む近傍の DC画像データ S, U , B, L, Rから無段階で自ブロック S上の KXK画素の画素データを直接 に求める構成により、 画像符号/復号時の C PU及びメモリ負荷が大幅に軽 減される。 なお本発明 (5) の方法は、 画像符号時には交流成分の予測等に 、 また画像復号時には交流成分の再生等に利用できる。
また本発明 (6 ) の記録媒体は、 上記本発明 (1 ) 〜 (5 ) の何れか 1つ に記載の処理をコンピュータに実行させるためのプログラムを記録したコン ピュータ読取り可能な記録媒体である。 図面の簡単な説明 図 1は本発明の原理を説明する図、
図 2は実施の形態による画像符号ノ復号方式の構成を示す図、
図 3は実施の形態による画像符号化処理のフローチャート (1 ) 、 図 4は実施の形態による画像符号化処理のフローチャート (2 ) 、 図 5は実施の形態による画像符号化処理のフローチャート (3 ) 、 図 6は実施の形態による画像符号化処理のフローチャート (4 ) 、 図 7は実施の形態による画像符号化処理のフローチャート (5 ) 、 図 8は実施の形態による画像符号化処理のテーブルを説明する図、 図 9は実施の形態による画像符号化処理のイメージ図 (1 ) 、
図 1 0は実施の形態による画像符号化処理のイメージ図 (2 ) 、 図 1 1は実施の形態による画像符号化処理のイメージ図 (3 ) 、 図 1 2は実施の形態による画像符号化処理のイメージ図 (4 ) 、 図 1 3は実施の形態による画像複号化処理のフローチヤ一ト、
図 1 4は実施の形態による非段階的交流成分予測処理のィメージ図、 図 1 5は実施の形態による符号化効率のグラフ図、
図 1 6は従来技術を説明する図 (1 ) 、
図 1 7は従来技術を説明する図 (2 ) である。 発明を実施するための最良の形態 以下、 添付図面に従って本発明に好適なる実施の形態を詳細に説明する。 なお、 全図を通して同一符号は同一又は相当部分を示すものとする。
図 2は実施の形態による画像符号 復号方式の構成を示す図で、 ゲームシ ステムへの適用例を示している。
図 2において、 1 0はゲーム機本体、 1 1はゲーム機の主制御 {ゲームプ ログラム, 3 DCG及びテクスチャデータ TXDの読込制御, ユーザによる ゲーム操作データの読込制御等) 並びに 3 DCGアニメーションに係るゲー ム処理 (ゲームキャラクタの移動処理等) を行う CPU (ゲームプロセッサ ) 、 1 2は C PU 1 1が使用する RAM, ROM, EEPROM等からなる 主メモリ (MM) 、 1 3は C PU 1 1のローカル (ホスト) ノくス、 14はデ ータを高速転送可能なバス、 1 5はバス間の接続 (及び競合調停) 制御を行 うブリッジ、 1 6はュ一ザがゲーム操作やパラメ一タ設定等を行うための各 種制御キー (スタートキー, 選択キ一, 十字キー等) や、 マウス, ジョイス ティック等の位置入力手段を備える操作パッド、 1 7は操作パッド 1 6をゲ ームシステムに収容する周辺インタフェース (P I F) 、 1 8はゲームプロ グラム (処理手順, ゲームパラメータ, 3 DCGモデルデータ, テクスチャ データ等) をマスク ROM等に記録している ROMカートリッジ (ROM— C) 、 1 9は ROMカートリッジ 1 8をゲームシステムに着脱自在に収容可 能な ROM力一トリッジインタフェース (ROM— C I F) 、 20は上記ゲ —ムプログラムを記録しているコンパク トディスク ROM (CD-ROM) 、 21は CD— ROM 20をゲームシステムに着脱自在に収容し、 駆動可能 な CD— ROMドライバ、 22は、 ゲームプログラムのオンラインダウン口 一ドゃ他のゲーム機との間で対戦ゲームを行うために、 本システムを不図示 の公衆網に接続する通信制御部 (COM) 、 23は通信線である。
更に、 30は入力の 3 DCGモデルデータを 2D画面に透視変換するため の 3Dァクセラレータ、 3 1はジオメ トリプロセッサ、 32はキャラクタ, 背景等の各基準位置データ、 及びその形状モデルデータに従って 3 D空間上 の各対応位置にポリゴン等の集合からなる実サイズの 3 DCGモデルを生成 •展開するモデリング変換部、 33は前記生成モデルに対して光線 (太陽光 , 照明光等) を考慮した陰影を付ける陰影処理部、 34はワールド座標系 X Y Zにおける 3 D C G画像デ一タをカメラ視点情報に従う視点座標系 X y z の 3 DCG画像データに変換する視点変換部、 35はカメラの視点情報 (視 点座標系 X y z ) に従って 3 D C G生成モデルの透視変換を行う透視変換部 である。
更に、 36は表示ラスタに同期した処理を行うレンダリング (ラスタ) プ ロセッサ、 37は透視変換後の各画素データを CRT 45の走査線ア ドレス X , yに従って抽出する走査線分解部、 38は Zバッファ、 3 9は Zバッフ ァ 38を使用して画面 45 Aに見えないはずの部分の画素データを画面 45 Aに見える部分の画素データで書き換える隠面消去部、 40は本発明による 入力のテクスチャ圧縮データを解凍 (復号) するテクスチャ復号部、 41は テクスチャデータを一時的に蓄えるテクスチャバッファ、 42は画面 45 A に見える部分の各画素データに対してテクスチャバッファ 4 1の各対応する テクスチャデータを貼付けるテクスチャ処理部、 43は出力のカラー画像デ —タ (R, G, B) を記憶するフレームメモリ、 44はフレームメモリ 43 のカラ一画素データをアナ口グ画素信号に変換して CRT45にビデオ信号 VSを提供する DZA変換部 (DAC) 、 45は表示部としての例えばカラ —CRTモニタ、 45Aはその表示画面、 46は CR45の水平垂直同期信 号 H, V及び 3 Dァクセラレータ 30の x, y同期信号を発生する CRT制 御部 (CRTC) である。
更に、 外部のゲーム作成装置 50は、 ゲームプログラム (処理手順, ゲ一 ムパラメータ, 3DCGモデルデータ, テクスチャデータ等) を作成して R OMカートリッジ 1 8又は CD— ROM 20に記録する。 またテクスチャデ ―タの作成時には本発明による画像符号化方式が実行され、 画像圧縮された テクスチャデータ TXDが ROMカートリッジ 1 8又は CD— ROM 20に 記録される。 そして、 この画像圧縮されたテクスチャデータ T X Dはテクス チヤ復号部 4 0で高速に復号され、 更に 2 D透視画像に貼りつけられ、 画面 4 5 Aに表示される。 以下、 ゲーム作成装置 5 0における画像符号 (圧縮) 処理を説明する。
図 3〜図 7は実施の形態による画像符号化処理のフローチャート (1 ) 〜 ( 5 ) 、 図 8は同画像符号化処理のテーブルを説明する図、 図 9〜図 1 2は 同画像符号化処理のイメージ図 (1 ) 〜 (4 ) であり、 以下、 これらの図を 参照して画像符号化処理の詳細を説明する。
なお、 明細書を通して、 記号 く 〉 はべク トル、 記号 II IIはべク トルの 大きさ、 記号 ·はベタ トルの内積、 記号 [演算] は演算結果の整数化を夫々 表す。 但し、 記号 [演算] を異なる意味で使用する場合はその旨を付記する 。 また図や [数] 中のべク トルを太文字で表す。
また、 フローチャートにおいて、 原画像のサイズを横 n, 縦 m画素とする 。 また、 記号 Tra,nは画像 Tの m行 n列から 4 X 4画素の正方形ブロックを 取り出した部分画像データを表し、 記号 B yx,sy,sxは D C画像の y行, X列か ら横方向に s X , 縦方向に s yのステップで 4 X 4の合計 1 6画素分のデー タを取り出したプロックを表すものとする。
図 3は画像符号化処理のメイン処理を示している。
ステップ S 1では原画像データを読み込む。
図 9 (A) に原画像データ Tのイメージを示す。 R G B系の対象画像を Y U V系に変換して読み込む。 Yは輝度データ、 U, Vは色差データに相当し 、 U, Vは横 2画素の輝度平均を用いてダウンサンプリングされる。 一例の 輝度データ γは縦 9 6 0 X横 1 2 8 0画素から成り、 U, Vは夫々縦 9 6 0 X横 6 4 0画素からなる。 Y, U, Vの各画素データには夫々例えば 8ビッ トが割り付けられている。
なお、 以下は輝度データ Yの処理を中心に述べるが、 U, Vについても同 様に処理できる。 図 3に戻り、 ステップ S 2では DC画像作成処理を実行する。 DC画像作 成処理は原画像を 4 X 4画素のブロック毎に分割し、 各ブロックの平均値 M よりなる DC画像を作成する処理である。
図 4に DC画像作成処理のフローチヤ一トを示す。 ステップ S 2 1では原 画像のアドレスレジスタ i, j を共に 「0」 に初期化する。 ステップ S 2 2 では DC画像のアドレスレジスタ I, Jに i Z4. jZ4をセットする。 ス テツプ S 2 3では原画像から 4 X 4画素のブロックデータ丁 を取り出す 。 ステップ S 24ではブロックデータ Tj. iに含まれる 1 6画素データの平 均値 Mを求める。 ステップ S 2 5では該平均値 Mを D C画像の記憶位置 D C j,!に格納する。 ステップ S 2 6では iに + 4し、 ステップ S 2 7では i > nか否かを判別する。 i 〉nでない場合はステップ S 2 2に戻り、 今度は次 列のブロックデータ丁 の平均値 Mを求め、 次列の に格納する。 以 下同様にして進み、 やがてステップ S 2 7の判別で i 〉nになると、 ステツ プ S 2 8では iを 「0」 に初期化し、 かつ jに + 4する。 ステップ S 2 9で は: i >mか否かを判別し、 j 〉mでない場合はステップ S 2 2に戻り、 今度 は次行のブロックデータ Tj. iの平均値 Mを求め、 次行の D CJJに格納する 。 以下同様にして進み、 やがてステップ S 2 9の判別で j >mになると、 こ の処理を抜ける。
図 9 (B) に DC画像データ DCのイメージを示す。 1例の DC画像は縦 24 0 X横 3 2 0の DC値から成っている。
図 3に戻り、 ステップ S 3では DC画像を 2次元 DP CMにより符号化し て出力する。
図 1 0 (A) に 2次元 D P CMの処理イメージを示す。 今、 DC画像の J 行, I列の DC値を DCJ;I とする時に、 該 D CJJの予測値 DC' uを例え ば DC' :>1 = (DCj.w +DCj— ) Z 2により求め、 その予測誤差 Δ DC J;I =DC:>I -DC を量子化係数 Qsによりスカラー量子化 {即ち、 [
/Qs ] } して出力する。 但し、 この場合の記号 [ a ] は実数 aを 四捨五入した結果を表す。 なお、 予測誤差 ADCJJが 「0」 の場合のみラ ンレングスを考慮して、 予測誤差 ADC 1及びランレングスを夫々独立に ハフマン符号化する。
図 8 (A) に量子化係数 Qsのテーブルを示す。 量子化係数 Qsの値は複 数段階の許容誤差 Zと対応付けられている。 使用者は、 高い画品質を要求す る時は許容誤差 Zを小の範囲で選び、 また低い画品質でも良い時は許容誤差 Zを大の範囲で選ぶ。 これに応じて量子化係数 Qsは 1〜8の範囲で変化す る。
図 3に戻り、 ステップ S 4では原画像のア ドレスレジスタ i, jを共に 「 0」 に初期化する。 ステップ S 5では DC画像のア ドレスレジスタ I, Jに i /4, をセットする。 ステップ S 6では 4 X 4の画素ブロックに対 応する 1 6次元の残差べク トル 〈d〉 を、
〈d〉 -T^ -DCj,,
により求める。
図 1 0 (B) に残差べク トル 〈d〉 のイメージを示す。 残差べク トル 〈d > の各要素には夫々 8ビットが割り付けられている。
図 3に戻り、 ステップ S 7では残差べク トル 〈d〉 の大きさ (2乗) が許 容誤差 Zより小さいか否かを判別する。 小さい場合は、 復号側でこの部分の プロック画像データ Tj,iを後述の非段階的交流成分予測法により高精度に 復元できるので、 フローはステップ S 1 8に進み、 基底数 「0」 を符号 F, として出力する。 また小さくない場合は、 残差ベク トル 〈d〉 を近似するた めの基底ベク トルを探査すべく、 ステップ S 8に進み、 適応的直交化処理を 実行する。
図 1 1に適応的直交化処理のイメージを示す。 適応的直交化処理は、 残差 ベク トル 〈d〉 を許容近似誤差 Z以内に近似するために必要な基底べク トル の個数 n kと、 各基底べク トル く vnk〉 とを求める処理である。 本実施の形 態では、 原画像を縦横とも 1 : K (例えば K = 4) で圧縮した DC画像の一 部を切り出してネストとして用い、 ネストの軽量化を図っている。
図 1 1 (A) において、 DC画像から例えば縦 39 X横 7 1の DC値の領 域を切り出してネストとする。 また基底べク トル 〈vnk〉 の探査は、 縦横 1 DC値毎に頂点 (x, y) e [0, 63] X [0, 3 1] を設定し、 かつそ のサブサンプル間隔は (s x, s y) e { (l, l) , (1, 2) , (2, 1) , (2, 2) } の計 4種類とする。 なお、 これは一例であり、 ネストの サイズ、 切り出し位置、 基底べク トルのサブサンプル間隔等は任意に設定で さる。
図 1 1 (B) はネストから各種パターンでサンプリングされた各 DC値が 基底ベク トル 〈vnk〉 の 4 X 4の記憶領域に集められる状態を示している。 即ち、 (s x, s y) = (l, 1) の時はネスト上の 4 X 4の領域から 4 X 4の DC値が集められ、 また (s x, s y ) = (1, 2) の時はネスト上の y方向に間延びした領域から 4 X 4の DC値が集められ、 また (s x, s y ) = (2, 1) の時はネスト上の x方向に間延びした領域から 4 X 4の DC 値が集められ、 また (s x, s y) = (2, 2) の時はネスト上の x及び y 方向に間延びした領域から 4 X 4の DC値が集められ、 基底べク トル く vnk > の記億領域に格納される。 これは原画像が有する自己相似性を利用して、 ネスト上の DC画像から様々な角度で原画像の画素ブロックに似た画像を探 査する処理である。
図 5, 図 6は実施の形態による適応的直交化処理のフローチャートである 。 図 5において、 ステップ S 3 1では誤差レジスタ Errに大きな値 (例え ば 100000) をセットし、 かつ基底数レジスタ n kを 「1」 に初期化す る。 ステップ S 32ではネスト画像の開始アドレスレジスタ x, yを共に 「 0」 に初期化する。 ステップ S 33ではネスト画像のサブサンプル間隔レジ スタ s x, s yを共に 「1」 に初期化する。
ステップ S 34ではネスト画像から 4 X 4の DCブロック画像 By,x,sy,sxを 取り出して基底ベク トル く vnk〉 {後述の図 1 1 (C) における基底べク ト ル く unk〉 に相当 } を作成し、 かつ n k > 1の場合はグラム 'シュミットの 直交化法により、 それ以前の基底べク トルと直交化する。
グラム ·シュミットの直交化法とは、 n次元内積空間 Vの一つの基底 { v ,, ···, vn } より Vの正規直交基底 { ν' …, v' Jを構成する方法で あり、 以下、 図 1 1 (C) を参照してグラム .シュミットの直交化法を概説 する。 第 1の基底ベク トル 〈V (但し、 〈Ul〉 に相当) とすると、 第 1 の正規化基底べク トル く v' は単位べク トルであるから、
Figure imgf000019_0001
とおける。 次にネスト画像から第 2の基底ベク トル く u2〉 が抽出されたと すると、 前記第 1の正規化基底べク トル 〈νΊ〉 と直交するような第 2の直 交基底べク トル く ν2〉 は仮に、
v2 =u2 + κ ν】'
と置ける。 すると、 く ν2〉 · (ν',) = 0より、
ν2 · Vj' =\ 2 +k ν,') · v{ = ι2 · v{ + k \v{ · v[) = 2 ·ν[ + k = 0 の関係が得られる。 この時、 スカラ一係数 kは、
k - - 2 · vj)
となる。 更に係数 kを上式に代入すると、 第 2の直交基底べク トル く v2〉 は、
V2 ="2 -("2 ί)νί
で表せる。 そして、 第 2の正規化基底べク トル く ν'2〉 も単位べク トルであ るから、
, 2 u2 -(u2 ·ν[)ν[
ν2 - 7ΐ ~ ^-τ, =— » 11 ί; Μ,
11 ,:\—— , ^11 =― α,,
21 1 +α ",22,"2
V2 II ||"2 - ("2 · l||
となる。 以下同様にして、 一般に第 nの正規化基底べク トル く v'n〉 は、
V: 、'" v\)v\
v" II I "„一 ("" · ) vi— · K-i ) -i
となる c ステップ S 3 5では正規化基底べク トル 〈v, nk〉 を使用し、 残差べク ト ル 〈d〉 との距離が最小となる様な基底ベク トルの展開係数 ankを求める。 図 1 2 (A) の (a) に正規化基底べク トル 〈v' nk〉 を使用して残差べ ク トル 〈d〉 を近似する処理のイメージを示す。 図 1 2 (A) の (a) にお いて、 残差べク トル 〈d〉 と展開係数 ankを掛けた基底べク トル <ν' ) との差べク トル { (d> -ank (ν' J } の大きさが最小となるのは、 基底べク トル ank 〈v, と差べク トル { 〈d〉 -a^ 〈v, J } とが直 交する時 (内積 =0) であるから、 下式に従い正規化基底べク トル く v' nk 〉 の展開係数 a nkが求まる。
=
2
図 1 2 (A) の (b) については後述する。
図 5に戻り、 ステップ S 3 6では残差べク トル 〈d〉 を基底ベク トル a nk 〈ν' nk〉 で近似した時の誤差ベク トルの大きさ ε rを求める。 ステップ S 3 7では ε r < Ε„か否かを判別する。 ί r < Errの場合はステップ S 3 8で の最小値に係る各種情報を記憶するためのレジスタ E„, X, Y, SX , SYにその時の ε Γ , X , y, s x, s yを夫々保持する。 また、 レジス タ aにはその時の展開係数 ank、 基底ベク トルの記憶領域 〈v〉 にはその時 の基底べク トル く vnk〉 , 直交化基底べグ卞ルの記憶領域 〈ν' > にはその 時の直交化基底べク トル 〈v, nk〉 を夫々記憶する。 また <E„でない場 合は上記ステップ S 3 8の処理をスキップする。
ステップ S 3 9ではサンプル間隔 s Xに + 1 し、 ステップ S 40では s X 〉2か否かを判別する。 s X〉 2でない場合はステップ S 3 4に戻り、 今度 は異なるサンプル間隔 s Xで抽出された基底べク トル く vnk〉 にっき上記同 様の処理を行う。 以下同様にして進み、 やがて、 ステップ S 40の判別で s X〉 2になると、 ステップ S 4 1では s xを 「1」 に初期化し、 かつサンプ ル間隔 s yに + 1する。 ステップ S 42では s y > 2か否かを判別し、 s y 〉 2でない場合はステップ S 34に戻り、 今度は異なるサンプル間隔 s yで 抽出された基底べク トル 〈vnk〉 にっき上記同様の処理を行う。 以下同様に して進み、 やがて、 ステップ S 4 1の判別で s y〉 2になると、 まずネスト 画像の開始位置 (X , y) = (0, 0) にっき、 異なるサンプル間隔 (s x , s y) = (1, 1) , (1, 2) , (2, 1) , (2, 2) を有する計 4 種類の各基底べク トル く vnk〉 が試されたことになる。 処理は図 6のステツ プ S 43に進む。
ステップ S 43ではネスト上の開始位置 Xに + 1 し、 ステップ S 44では X > p (例えば p = 63) か否かを判別する。 X〉 pでない場合はステップ S 33 (②) に戻り、 今度は X方向に 1 DC値分シフトさせた開始位置の各 基底べク トル く vnk〉 にっき上記同様の処理を行う。 以下同様にして進み、 やがてステップ S 44の判別で X〉 pになると、 ステップ S 45では開始位 置 Xを 「0」 に初期化し、 かつ開始位置 yに + 1する。 ステップ S 46では y > q (例えば q = 3 1) か否かを判別する。 y > qでない場合はステップ S 33 (②) に戻り、 今度は y方向に 1 DC値分シフトさせた開始位置の各 基底べク トル く vnk〉 にっき上記同様の処理を行う。 こうして、 やがてステ ップ S 46の判別で y > qになると、 ネス ト画像上の全開 台位置 ( x, y ) ≡ [0, 63] X [0, 3 1] にっき、 全サンプル間隔 ( s x, s y) e { (1, 1) , (1, 2) , (2, 1) , (2, 2) } の各基底べク トル 〈v nk〉 が試されたことになる。 処理はステップ S 47に進む。
ステップ S 47では残差ベク トル く d〉 からこの時点で最小の近似誤差 f rをもたらした直交基底ベク トルひ 〈ν' ) を差し引いて、 誤差の大きさを 求め、 該大きさが許容値 Ζより小さいか否かを判別する。 小さくない場合は 、 ステップ S 48で残差ベク トル 〈d〉 を { 〈d〉 -α 〈ν' 〉 } で置き換 え、 更新する。 またこの時点で最小の近似誤差 をもたらした展開係数ひ , 基底べク トル 〈v〉 , 直交化基底べク トル く v' ) の内容を ank, (Vnk ) , <ν' nk) として記憶エリアに退避 '保持する。 因みに、 n k = lの時 は α,, <ν,) , く ν' ,〉 が退避 '保持される。 また n kに + 1 して、 ス テツプ S 3 2 (①) に戻る。
以下同様にして進み、 やがてステップ S 47の判別で近似残差が許容値 Z より小さくなると、 ステップ S 49に進み、 各直交化基底ベク トル ank 〈v , nk〉 (但し、 n k = l, 2, ···) の 1次結合からなるベク トルを各基底べ ク トル l3nl! <v J {図 1 1 (C) の各基底べク トル〈"„4〉に相当 } の 1次結 合からなるべク トルに変換する。 以下、 係数 ]3を基底べク トル 〈v〉 の展開 係数と呼ぶ。
ここで、 上記ステップ S 49の変換方法を具体的に説明する。 今、 k = l 〜n kとする時に、 基底べク トルく vA〉 U旦し、 上記図 1 1 (C) の基底べ タ トルく^〉に相当 } からなる行列を 、 スカラー展開計数 からなる行列 を B、 正規化直交基底ベク トル〈 〉 からなる行列を)^、 スカラー係数 at からなる行列を Aとする時に、 夫々を、
«1
Figure imgf000022_0001
a nk と置くと、 上記ステップ S 49の変換は、
VB = VA
と置くことにより得られる。 これを行列 Bについて解くためには、 まず行列 Vを正方行列に変換すべく、 行列 Vに行列 t は Vの転置行列) を左か ら掛け、
VTVB = VTV'A
を得る。 この行列 (vTv) は、 V, ] · V] V, · v2
v2 · j v2 · v2 V2 ·
VTV = 1,V2,
の様に展開され、 ここで〈 ,〉,^〉は内積を表し、 かっ〈 〉*〈 〉= であるから、 対角要素に対して対称な正方行列が得られ、 かつ〈 〉と〈 〉と が異なるから、 逆行列が存在する。 そこで、 更に左から行列 (ί^ )の逆行列
VTV) を掛け、
\VTV) VTVB^B = (VTV) VTV'A が得られる。
このように、 本実施の形態では、 残差べク トル 〈d〉 との誤差を許容値 Z 未満に近似するのに必要な最小限個数 n kの直交化基底ベク トル 〈vnk〉 を探索した後、 それらを元の基底べク トル く vnk〉 (= (u ) の線形結 合で表し、 かつ各基底べク トル く vnk〉 の展開係数 を求めて、 これらを 符号化する構成により、 復号時にはグラム ·シュミットの直交化計算が不要 となるように配慮している。 また、 ノルムを 1に正規化することも省略して いる。
図 1 2 (Α) の (b) は基底数 n k = 3であった場合の残差べク トル近似 のイメージを示している。 最初に残差べク トル 〈d〉 との誤差 を最小と するような第 1の基底ベク トル (ν' ,) が求まる。 次に該ベク トル 〈ν ) に直交し、 かつ更新された残りの残差べク トル く d' 〉 との誤差 £ rを 最小とするような第 2の直交化基底ベク トル v'2〉 が求まる。 次に該 べク トル く v'2〉 に直交し、 かつ更新された残りの残差べク トル く d"〉 と の誤差 i rを最小とするような第 3の直交化基底ベク トル α3 v'3〉 が求ま る。
図 3に戻り、 ステップ S 9では使用した基底数 n k〉 7か否かを判別する 。 n k > 7 (8以上) の場合は、 基底ベク トルを使用しても画像圧縮のメリ ットが出ないので、 ステップ S 1 9に進み、 基底数 「8」 を符号 、 使用 基底数 「0」 を符号 F2、 また残差べク トル 〈d〉 そのものを符号 F3とし て夫々出力する。 また n k≤ 7の場合は、 ステップ S 1 0に進み、 上記基底 ベタ トルの使用に併せて以下のスカラー量子化処理を実行する。
スカラー量子化処理では、 まず選択された n k個の内の選択された順に各 m個 (0≤m≤n k) の基底を採用した場合の誤差ベク トル く dm〉 を、
;=1
により求める。 なお、 m=0の場合の、
;=1
はゼロべク トルを表す。 更に、 この誤差べク トル く dm〉 を採用されなかつ た余基底数 y k = n k—mに相当する符号量でスカラー量子化する。 即ち、 誤差ベク トル く dn〉 を余基底数 y kに対応する量子化係数 Qykでスカラー 量子化し、 その値を [― 2 , 2 —1一 1 ] の値域でクリッビングする。 ところで、 こうしてスカラ一量子化 ·クリッビングされた誤差べク トル く d' m ) がその復号後に元の誤差ベク トル く dm〉 と同一になるとは限らな レ、。 そこで、 予め各 m (m= 1 , 2, ···, n k) にっき、 各量子化誤差べク トル 〈d' m〉 を各対応する量子化係数 Qykで逆量子化して各逆量子化残差 ベタ トル 〈d',„〉 を求め、 誤差 II (dm> 一 (d"m> IIが最小となるよう な mを探査し、 最終的にはこの m個の基底を採用した場合の符号を生成する こととする。
図 8 (B) にスカラー量子化テ一ブルを示す。
n k = 8の場合には、 基底を 1つ使用した時 (m= l) の余基底数 y k二 7であり、 以下同様にして進み、 基底を 7つ使用した時 (m= 7) の余基底 数 y k = lである。
なお、 後述するが、 本実施の形態では 1つの基底につきその符号に 2バイ トを使用するので、 もし 8つの基底を使用すると トータルの符号長は 1 6バ ィトになる。 しかるに、 1 6バイ トの容量があれば、 1 6次元の残差べク ト ル 〈d〉 をそのまま符号化できるから、 適応的直交変換を行うメリットが無 レ、。 そこで、 基底を 0〜 7個の範囲で使用し、 これに応じて余基底数 y kは 7〜:!となる。
各量子化係数 Qykは余基底数 y kに対応して予め定められている。 好まし くは、 各量子化係数 Qykは誤差べク トル 〈dm〉 を余基底数 y k分の符号量 に収められる様に選ばれている。
今、 余基底数 y k = 1の場合は、 1 6 X 1 ビッ トを誤差ベク トル く dm〉 のスカラー量子化に使用できる。 これは誤差ベク トル く dm〉 の各要素当た り 1ビットの符号量である。 即ち、 この場合は誤差べク トル く dm〉 を Qyk =8でスカラー量子化し、 その値を [― 2'—', 21— = [― 1, 0] にクリッピングする。 ここで、 例えば符号のビット 「0」 は大きさ 「一 1」 、 ビット 「1」 は大きさ 「0」 に対応する。 以下同様にして進み、 今、 余基 底数 y k = 7の場合は、 1 6 X 7ビッ トを誤差ベク トル く dra〉 のスカラ一 量子化に使用できる。 これは誤差ベク トル く dm〉 の各要素当たり 7ビット の符号量であり、 この場合は誤差ベク トル く dm〉 を Qyk= 2でスカラー量 子化し、 その値を [— 27—', 27'1 - 1 ] = [—64, 6 3] にクリツピン グする。 こうして、 m個の基底とスカラー量子化された誤差とを併用するこ とで、 符号量を変えずに画品質のみを向上させることができる。 また余基底 数 y k分の展開係数 ]3は不要となるため、 若干の符号量が減少する。
図 7はスカラー量子化処理のフローチヤ一トである。 ステップ S 6 1では 使用基底数カウント用のレジスタ mを 「0」 に初期化する。 ステップ S 6 2 では m個の基底を採用した後の誤差ベク トル く dm〉 を求める。 なお、 m = 0の場合の∑の項はゼロべク トルを表す。 即ち、 誤差べク トル 〈d。〉 = ( d〉 (残差ベク トル) となる。 ステップ S 6 3では n k (l≤n k≤ 7) 個 の内の今回の試行では使用されない余基底数 y kを、 y k = n k— mにより 求める。 ステップ S 64では誤差ベク トル く dm〉 を Qykでスカラー量子化 し、 結果の誤差べク トル 〈d' m) の各要素を [一 2 1, 2 1— 1 ] の範囲 にクリッビングする。
ステップ S 6 5では上記量子化 (かつクリッビング) 後の誤差べク トル く d, m〉 を同 Qykによりスカラ一逆量子化する。 ステップ S 6 6では元の誤 差べク トル 〈dm〉 と前記逆量子化した誤差べク トル く d''m〉 とを比較し た場合の誤差 f rmを求め、 これを所定エリアに退避 '保持する。 ステップ S 6 7ではレジスタ mに + 1する。 ステップ S 68では m〉 n k ( 1≤ n k ≤ 7) か否かを判別する。 m〉n kでない場合はステップ S 6 2に戻り、 上 記同様の処理を行う。
やがて、 上記ステップ S 6 8の判別で m〉 n kになると、 各 m (m=0, 1 2 3 ·■·, n k) 個の基底を採用した場合の誤差 £ r f r が求 まる。 ステップ S 6 9では誤差 ε r i r の中から最小の誤差 f rmkを抽 出する。 ステップ S 70では基底数 n kを符号 F 1として出力する。 ステツ プ S 7 1では使用基底数 (実効基底数) m kを符号 F 2として出力する。 ス テツプ S 7 2では各使用基底のネスト上の開始位置 (x y) 、 サブサンプ ル間隔 (s x s y) 及び各使用基底の展開係数 を Q (例えば 8) で量子 化した乗余を各基底毎に 1 6ビットにつめて符号 F4 として出力する。
符号 F4の内訳は、 ネスト上の開始位置 (X , y) に横 6ビットと縦 5ビ ットの計 1 1ビット、 4種類の内のいずれかのサブサンプル間隔に 2ビット 、 展開係数 /3の剰余に 3ビットの計 1 6ビットとなる。 従って、 符号 F4は 使用基底毎に 2バイ トを消費する。
ステップ S 73では上記基底の展開係数 ]3を Q (例えば 8) で量子化した 商を符号 F5として出力する。 ステップ S 74では上記最小の逆量子化誤差 e rmkとなる時の誤差べク トル く d' mk〉 を余基底数 y k相当の 1 6 X (n k-mk) ビッ トの領域に割り振り、 符号 F3として出力する。 そして、 こ の処理を抜ける。 図 3に戻り、 かく して、 この時点で原画像の 1残差ベク トル 〈d〉 の符号 化が終了した。 更に、 ステップ S 1 1ではァドレスレジスタ iに +4し、 ス テツプ S 1 2では i 〉nか否かを判別する。 i > nでない場合はステップ S 5に戻り、 次の i軸方向に 4ビットずれた位置からの 1残差ベク トル 〈d〉 にっき上記同様の処理を行い、 符号化する。 以下同様にして進み、 やがて上 記ステップ S 1 2の判別で i 〉 nになると、 ステップ S 1 3では iを 「0」 に初期化し、 かつ jに +4する。 ステップ S 1 4では j 〉mか否かを判別し 、 j 〉mでない場合はステップ S 5に戻り、 次の j軸方向に 4ビットずれた 各残差べク トル く d〉 にっき上記同様の処理を行い、 符号化する。 以下同様 にして進み、 やがて上記ステップ S 14の判別で j >mになると、 全画像の 残差べク トル 〈d〉 にっき上記符号化処理が終了した。
なお、 図 1 2 (B) に画像圧縮符号の表を示す。 以下の説明ではこの表も 参照されたい。
図 3に戻り、 ステップ S 1 5では可変長符号 Fい F2, F5をハフマン符 号化して出力する。 但し、 符号 F,の基底数 「n k」 については、 n k = 0 の場合のみランレングスを考慮して、 ハフマン符号化を行う。 符号 F2の使 用基底数 「mk」 についても同様に考えられる。 符号 F5については、 展開 係数 ]3を定数 Q (例えば 8) で量子化した商をハフマン符号化する。 なお、 余基底数 y k≠0の場合は、 画素プロックの切り替わりを示すための符号 E OBを書き込む。
ステップ S 1 6では可変長符号 F6をハフマン符号化して出力する。 符号 F6は DC値の 2次元 DP CMによる予測残差 AD C Iを量子化係数 Qsで 量子化したものである。 但し、 予測残差 ADCu =0の場合のみランレン グスを考慮して、 予測残差△ D C z及びランレングスを夫々独立にハフマ ン符号化する。
ステップ S 1 7では可変長符号 F3, 固定長符号 F4をハフマン符号化し て出力する。 符号 F\は、 使用基底数 mk〉 0の場合の最終的な誤差べク ト ル く d' を Qykでスカラー量子化 [ く d' rak〉 /Qyk] したものであり、 使用基底数 mk = 0の場合は元の残差ベク トル 〈d〉 そのものが符号となる 。 符号 F4は、 1基底当たり、 ネストの開始座標 (x, y) の 1 1ビットと 、 サブサンプル係数 ( s X, s y ) の 2ビットと、 展開係数 βの剰余 ( β / Q) の 3ビットとの計 1 6ビット固定から成り、 これらは使用基底の出現順 に詰めて構成される。
また上記符号の全体としては画素プロック単位で出現順に詰めて符号列を 構成する。 実際上、 大半のブロックでは基底数 n kが 2個前後となり、 少数 の可変長符号にするのは基底の展開係数 ]3を Qで量子化した商と、 DC画像 の DP CM符号及び基底数 「n k」 , 使用基底数 「mk」 のみとなる。 図 1 3は実施の形態による画像複号化処理のフローチャートである。 ステ ップ S 8 1では画像符号データを読み込む。 ステップ S 8 2では Y, U, V の各 DC値を解凍 (復号) する。 因みに、 復号結果の DC値 DC'' wは、 DC" :>1 =DC :>1 + [ADCJ(1 /Qs ] Qsにより得られる。 ここで、 D C は復号側における DCの予測値であり、 DC' J;I = (DC"J,I-1 + OC" ) / 2で与えられる。 ステップ S 8 3では Y成分の DC値からネ ストを生成する。 ネストは DC画像上の開始位置及びサイズの情報を別途受 け取ることで生成できる。 ステップ S 84では復号 (再生) 画像のアドレス レジスタ jを共に 「0」 に初期化する。
ステップ S 8 5ではブロック画像 (即ち、 残差ベク トル) に関する符号デ ータを入力する。 ステップ S 8 6では基底数 n k〉0か否かを判別する。 n k = 0の場合はステップ S 9 7で後述する非段階的交流成分予測法により 1 6画素分の輝度データを求める。 また n k〉 0の場合は更にステップ S 8 7 で使用基底数 m k >0か否かを判別する。
mk = 0の場合は、 ステップ S 9 6で残差ベク トル 〈d〉 を逆量子化する 。 ステップ S 90では求めた残差べク トル 〈d〉 に復号 DC値を加算する。 また mk〉0の場合は、 ステップ S 8 8で余基底数 y k (= n k-mk) を求め、 誤差ベク トル 〈d' を Qykで逆量子化する。 ステップ S 89で は各基底の開始位置 (x, y) , サブサンプル間隔 (s x, s y) に従いネ ストから mk個の基底ベク トルを作成し、 展開係数 /3との積をとり、 これら の 1次結合から成る近似ベク トル (直交基底系) を形成し、 これに誤差べク トル 〈d' を合成して、 元の残差べク トル 〈d〉 を再生する。 ステップ S 90では求めた残差べク トル 〈d〉 に復号 DC値を加算する。 こうして、 上記何れかの方法により 4 X 4のブロック画像 Tj.iが再生された。 ステツ プ S 91では再生画像丁 を画像メモリに格納する。
ステップ S 92ではァドレスレジスタ iに +4し、 ステップ S 93では i 〉nか否かを判別する。 i >nでない場合はステップ S 85に戻り、 今度は 次列のブロック画像データ丁 を復号し、 画像メモリに格納する。 以下同 様にして進み、 やがてステップ S 93の判別で i 〉nになると、 ステップ S 94では iを 「0」 に初期化し、 かつ jに +4する。 ステップ S 95では j >mか否かを判別し、 j 〉mでない場合はステップ S 85に戻り、 今度は次 行の各ブロックデータ Tj. iを復号し、 画像メモリに格納する。 以下同様に して進み、 やがてステップ S 95の判別で j 〉mになると、 画像複号化処理 を終了する。
なお、 図示しないが、 YUV系から RGB系に変換する。 この時、 U, V のアップサンプリングには、 補間フィルタを利用せず、 横 2画素に同一の値 を代入する。
図 1 4は実施の形態による非段階的交流成分予測処理のィメ一ジ図である 。 本実施の形態では近傍の DC画像から非段階的交流成分予測法により一挙 に原画素ブロックの近似画像 (AC画像) を生成する。
ところで、 上記従来の段階的交流成分予測方によれば、 注目ブロックを含 む周囲 4ブロックの各 DC値 (S, U, R, B, L) から注目ブロック S上 のサブブロック S,〜S4の各 DC値は次式、
S, =S+ (U+ L-B-R) /8 S2 = S + (U + R-B-L) /8
S3 =S+ (B + L-U-R) /8
S4 =S+ (B + R-U-L) /8
により推定された。
図 14 (A) に上記図 1 7 (B) と同様の図を再度示す。 同様にして、 こ の 1段階目では U,〜U4, L,〜L4, !^〜尺 Bi B 等が推定される 。 また、 上記方法を再帰的に使用することで、 S,上の 4画素 P,〜P4は次 式、
P】 =S】 + (u + L2― ) /8
P2 + (u: L2 /8
P3 + (s: + L2 -U3 - /8
P4 =s, + (s2 + s2 -u3―し /8
S2上の 4画素 p> ' P4は次式、
Pi =s2 + (u4 + s】— s4 - J ノ 8
P2 =s2 + (u4 + R】 -S4 - s, ) /8
P3 =s2 + (s4 + s, -u4― R】 ) Z8
P4 =s2 + (s4 + R】一 U4— s】 ) /8
S3上の 4画素 P,〜P4は次式、
P> =s3 + + L4 -B,一 s4) /8
P2 =S3 + + S4— B〗一 /8
P3 =S3 + (B, + _s〗 - sj /8
P4 =S3 + (B, + S4— S〗一 LJ /8
S4上の 4画素 P】〜P4は次式、
P> =s4 + (s2 + 3 — B2— R3) /8
P2 =S4 + (s2 + R3— B2 — S3 ) /8
P3 =S4 + (B2 + — ° 一 R3) /8
P4 =S4 + (B2 + R32— S3 ) /8 により夫々推定される。
図 1 4 (B) は本実施の形態による非段階的交流成分予測法を示している 。 なお、 以下の説明では図 1 4 (A) も参照する。 まず S,上の 4画素 P, 〜P4を求める場合は、 S2 ^ S3 S, U3 =U, L2 = Lの各近似を行う。 この近似を上記 S,上の P,の式に適用すると、
P】 = S, + (U3 + L2 - S3 - S2 ) /8
Figure imgf000031_0001
が得られる。 更に、 この式に上記 S,の式、 Si =S + (U+ L-B-R) / 8を代入すると、 S,上の P,は最終的に、
P, = S + (2U+ 2 L- 2 S -B-R) /S
で表せる。 また上記 S,上の P2については、
P2 = S, + (U3 + S2 - S3 -L2 ) /8
= S, + (U+ S - S - L) /8
が得られる。 更に、 この式に上記 の式、 S, S + (U+ L-B-R) ノ 8を代入すると、 S,上の P2は最終的に、
S + (2U-B-R) /S
で表せる。 また上記 S,上の P3については、
P3 = + (S3 + L2 -U3 - S2 ) /8
= S, + (S + L-U- S) /8
が得られる。 更に、 この式に上記 の式、 S, S + (U+ L-B-R) Z 8を代入すると、 上の P3は最終的に、
P3 = S + (2 L-B-R) /8
で表せる。 また上記 S,上の P4については、
P4 = S, + (S3 + S2 — U3— L2 ) /S
=S, + (S + S— U— L) /8
が得られる。 更に、 この式に上記 S,の式、 S, = S + (U+ L-B-R) 8を代入すると、 S,上の P4は最終的に、 P4 =S+ (2 S -B-R) /8
で表せる。 従って、 S,上の 〜P4は最終的に、
P, =S+ (2U+ 2 L- 2 S-B-R) /8
P2 = S + (2U-B-R) /8
P3 =S + (2 L-B-R) /8
P4 =S+ (2 S-B-R) /8
で表せる。
次に S2上の 4画素 〜P4を求める場合は、 SI ^F S4 S, Rj =R, u4 =U, の近似を行う。 この近似を上記 S2上の P,の式に適用すると、 P, =S2 + (U4 — S4 ) 8
= S2 + (U+ S— S _R) /S
が得られる。 更に、 この式に上記 S2の式、 S2 =S+ (U + R-B- L) Z 8を代入すると、 S2上の は最終的に、
P, = S + (2 U-B- L) /8
で表せる。 また上記 S2上の P2については、
Figure imgf000032_0001
= S2 + (U + R- S - S) S
が得られる。 更に、 この式に上記 S2の式、 S2 =S+ (U+R-B- L) Z 8を代入すると、 S2上の P2は最終的に、
P2 =S+ (2U+ 2 R- 2 S-B-L) / 8
で表せる。 また上記 S2上の P3については、
P3 =S2 + (S4 -U4 -R, ) /8
= S2 + (S + S— U— R) /8
が得られる。 更に、 この式に上記 S2の式、 S2 =S+ (U + R-B-L) ノ 8を代入すると、 S2上の P3は最終的に、
P3 = S + (2 S-B-L) /8
で表せる。 また上記 S。上の P については、 P4 = S2 + (S4 +R, -U4 - S, ) /8
- S2 + (S + R-U-S) /8
が得られる。 更に、 この式に上記 S2の式、 S2 = S + (U + R-B-L) / 8を代入すると、 S2上の P4は最終的に、
P4 = S + (2 R-B- L) /8
で表せる。 従って、 S2上の P,〜P4は最終的に、
Figure imgf000033_0001
P2 =S + (2 U+ 2 R- 2 S -B- L) /8
P3 = S + (2 S -B- L) /8
P4 = S + (2 R-B- L) /8
で表せる。
次に S3上の 4画素 〜P4を求める場合は、 Sj ^ S ^ S, L4 = L, B1 Bの各近似を行う。 この近似を上記 S3上の P,の式に適用すると、 P, =S3 + (S, + L4 -B, - S4 ) /8
= S3 + (S + L-B- S) ノ 8
が得られる。 更に、 この式に上記 S3の式、 S3 = S + (B + L-U-R) 8を代入すると、 ≤3上の?1は最終的に、
Figure imgf000033_0002
で表せる。 また上記 S3上の P2については、
P2 =S3 + (Si + S4 — Β〗 一 L4 ) Z8
= S3 + (S + S -B- L) /8
が得られる。 更に、 この式に上記 S3の式、 S3 = S + (B + L-U-R) 8を代入すると、 S3上の P2は最終的に、
P2 = S + (2 S -U-R) /8
で表せる。 また上記 S3上の P3については、
P3 = S3 + (B, + L4 - S, - S4 ) /8
= S + (B + L- S - S) /8 が得られる。 更に、 この式に上記 S3の式、 S3 =S+ (B + L-U-R) 8を代入すると、 S3上の P3は最終的に、
P3 = S + (2 B+ 2 L- 2 S-U-R) /8
で表せる。 また上記 S 3上の P4については、
P4 =S3 + (B〗 +S4 — S】一 ) ,8
= S3 + (B + S-S-L) /8
が得られる。 更に、 この式に上記 S3の式、 S3 =S+ (B + L-U-R) Z 8を代入すると、 S3上の P4は最終的に、
P4 = S + (2 B-U-R) /8
で表せる。 従って、 S3上の P】〜P4は最終的に、
P, =S+ (2 L-U-R) /S
P2 =S+ (2 S-U-R) /8
P3 =S+ (2 B+ 2 L- 2 S -U-R) /S
P4 = S + (2 B-U-R) /S
で表せる。
次に S4上の 4画素 P,〜P4を求める場合は、 S2 S3 S, R3 ^R, B2 Bの各近似を行う。 この近似を上記 S4上の P,の式に適用すると、 P, = S4 + (S2 +S3 -B2 -R3) /S
= S4 + (S + S— B— R) /%
が得られる。 更に、 この式に上記 S4の式、 S4 =S+ (B + R-U-L) 8を代入すると、 S4上の P】は最終的に、
Pj =S + (2 S— U— L) ノ 8
で表せる。 また上記 S4上の P2については、
P2 =S4 + (S2 +R3 -B2 -S3) /8
=S4 + (S + R-B-S) /8
が得られる。 更に、 この式に上記 S4の式、 S4 =S+ (B + R-U-L ) Z 8を代入すると、 S4上の P2は最終的に、 P2 = S + (2 R— U— L) /8
で表せる。 また上記 S4上の P3については、
P3 = S4 + (B2 + S3 _ S2— R3 ) /8
= S4 + (B + S - S -R) /8
が得られる。 更に、 この式に上記 S4の式、 S4 =S + (B + R-U-L) Z 8を代入すると、 S4上の P3は最終的に、
P3 = S + (2 B-U- L) /8
で表せる。 また上記 S4上の P4については、
P4 = S4 + (B2 +R3 - S2 - S3 ) /8
= S4 + (B + R- S - S) /8
が得られる。 更に、 この式に上記 S4の式、 S4 =S + (B + R-U- L) 8を代入すると、 S4上の P4は最終的に、
P4 = S + (2 B+ 2 R- 2 S -U- L) /8
で表せる。 従って、 S4上の 〜P4は最終的に、
P! = S + (2 S -U- L) /8
P2 = S + (2 R-U-L) /8
P3 = S + (2 B-U- L) /8
P4 = S + (2 B + 2 R- 2 S -U- L) /S
で表せる。 かくして、 本実施の形態によれば、 自己を含む近傍の各 DC値 ( S, U, R, B, L) から 4 X 4画素の近似画像が直接 (非段階的) に求め られる。
図 1 5は実施の形態による符号化効率のグラフ図である。 サンプル画像 ( 3 2 0 X 24 0画素, 1画素の RG B各成分 8ビット精度) を用い、 B P P (Bit Per Pixel ) 、
B P R= [圧縮後の総データ量(bit) ] Z [原画像の画素数]
に対する P S NR (Peak-to-peak Signal— to— Noise Ratio) 、
P S NR [dB] = 2 0 1 o g10 (2 5 5 /f ί 2 ) により符号化性能を評価した。 但し、 ε 2は画素当たりの平均二乗誤差を表 す。
図 1 5 (Α) はアニメーション画像を使用した場合で、 実線は本実施の形 態、 点線は J P E Gの場合を夫々示しており、 図示の如く J P E Gの効率を 大きく上回る符号化性能が得られている。 図 1 5 ( B ) は C G画像を使用し た場合で、 上記同様の傾向が得られた。 しかも、 本方式では直交変換符号法 に特有のモスキ一トノイズやブロックノイズが見られず、 本方式が人工画像 に対し有効であると考えられる。 なお、 図示しないが、 自然画像に対しては J P E Gと略同一の性能が得られた。
なお、 上記実施の形態ではゲームシステムへの適用例を述べたが、 本発明 は写真画像、 アニメーション画像等の通常のフレーム画像の符号 復号にも 適用できることは明らかである。
また、 上記本発明に好適なる実施の形態を述べたが、 本発明思想を逸脱し ない範囲内で、 各部の構成、 処理、 及びこれらの組合せの様々な変更が行え ることは言うまでも無い。
以上述べた如く本発明によれば、 ネス トを軽量化し、 かつ可変長符号量を 削減出来るために、 復号時の計算負荷を大幅に軽減でき、 比較的低性能のシ ステムでも動画や静止画の画像データを画品質を落とさずに利用可能となる 。 また輪郭部分でもモスキートノイズが発生せず、 文字やアニメーション画 像等の再現性も良い高圧縮率の画像データを提供できる。

Claims

請求の範囲
1. 画像データを複数画素のプロックに分割して各プロック平均値からな る DC画像を生成し、 各画素プロックから対応するプロック平均値を分離し てブロック毎の残差べク トルを求めると共に、 残差べク トルの大きさが許容 値以上の場合は、 DC画像のネストを使用した適応的直交変換により残差べ ク トルを近似するための 1又は 2以上の直交基底を求め、 これらの 1次結合 からなる直交基底系を符号化することを特徴とする画像符号方法。
2. 残差ベク トルの大きさが許容値未満の場合は、 直交基底を求める代わ りに、 基底数 = 0の情報を符号化することを特徴とする請求項 1に記載の画 像符号方法。
3. 求めた直交基底系の総符号量が残差べク トルの総符号量以上となる場 合は、 直交基底系の符号化に代えて、 残差べク トルそのものを符号化するこ とを特徴とする請求項 1に記載の画像符号方法。
4. 予め求められた基底数 n kにより残差ベク トル 〈d〉 との第 1の誤差 〈dnk〉 が許容値未満となる場合に、 前記求められた順に m (0≤m< n k ) 個の基底を使用した後の第 2の誤差べク トル 〈dm〉 を、 使用されなかつ た余基底数 y k (= n k -m) に対応して予め定められた量子化係数 Qykで スカラ一量子化し、 かっこれをスカラー逆量子化して、 これを前記第 2の誤 差べク トル 〈dn〉 から引いて得られる n k種類の第 3の誤差べク トル く d , m) と前記第 1の誤差 く との中で最も誤差が小さいものを選択し、 対応する基底及び必要なら第 2の誤差べク トルを併せて符号化することを特 徴とする請求項 1に記載の画像符号方法。
5. KXK画素のブロック平均値からなる自ブロック Sを含む上下左右 U , B, L, Rの計 5つの DC画像データに基づき、 自ブロック S上の左上の 第 1のサブブロック S,の (KZ2) X (K/ 2) の各画素データ Ρ,〜Ρ4 を次式、 P, = S + (2 U+ 2 L- 2 S -B-R) /S
P2 = S + (2U-B-R) /8
P3 = S + (2 L-B-R) /8
P4 =S + (2 S -B-R) /8
また自ブロック S上の右上の第 2のサブブロック S2の (Kノ 2) X (K/ 2) の各画素データ P,〜P4を次式、
P, = S + (2 U-B- L) /8
P2 =S + (2 U+ 2 R- 2 S -B-L) /S
P3 =S + (2 S -B-L) /8
P4 = S + (2 R-B- L) /S
また自ブロック S上の左下の第 3のサブブロック S3の (K/2) X {K/ 2) の各画素データ 〜P4を次式、
Figure imgf000038_0001
P2 =S + (2 S— U— R) /8
P3 =S + (2 B+ 2 L- 2 S -U-R) / 8
P4 = S + (2 B-U-R) /8
及び又は、 自ブロック S上の右下の第 4のサブブロック S4の (K/2) X (K/2) の各画素データ P,〜P4を次式、
P, =S + (2 S -U-L) /8
P2 =S + (2 R-U- L) /8
P3 = S + (2 B-U- L) /8
P4 =S + (2 B+ 2 R- 2 S -U-L) /S
により求めることを特徴とする画像符号 復号方法。
6. 請求項 1乃至 5の何れか 1つに記載の処理をコンピュータに実行させ るためのプログラムを記録したコンピュータ読取り可能な記録媒体。
PCT/JP1999/002962 1998-07-03 1999-06-03 Image coding/decoding method and recorded medium on which program is recorded WO2000002393A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CA002347383A CA2347383A1 (en) 1998-07-03 1999-06-03 Image coding/decoding method and recordind medium having program for this method recorded thereon
US09/720,551 US6687411B1 (en) 1998-07-03 1999-06-03 Image coding/decoding method and recording medium having program for this method recorded thereon
EP99923879A EP1104199A4 (en) 1998-07-03 1999-06-03 METHOD FOR ENCODING AND DECODING IMAGES AND MEDIUM ON WHICH PROGRAM IS RECORDED
JP2000558674A JP3814637B2 (ja) 1998-07-03 1999-06-03 画像符号/復号方法及びそのプログラムを記録した記録媒体並びに装置
HK01107091A HK1036377A1 (en) 1998-07-03 2001-10-09 Image coding and decoding method.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP18923998 1998-07-03
JP10/189239 1998-07-03

Publications (1)

Publication Number Publication Date
WO2000002393A1 true WO2000002393A1 (en) 2000-01-13

Family

ID=16237951

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1999/002962 WO2000002393A1 (en) 1998-07-03 1999-06-03 Image coding/decoding method and recorded medium on which program is recorded

Country Status (9)

Country Link
US (1) US6687411B1 (ja)
EP (1) EP1104199A4 (ja)
JP (1) JP3814637B2 (ja)
KR (1) KR100574702B1 (ja)
CN (1) CN1168322C (ja)
CA (1) CA2347383A1 (ja)
HK (1) HK1036377A1 (ja)
TW (1) TW440805B (ja)
WO (1) WO2000002393A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1156679A2 (en) * 2000-05-15 2001-11-21 Hudson Soft Co., Ltd. Image encoding and decoding method and apparatus, and recording medium in which program therefor is recorded
JP2002315001A (ja) * 2001-04-13 2002-10-25 Kddi Corp 適応直交変換符号化装置および記録媒体
US7242814B2 (en) 2001-04-09 2007-07-10 Ntt Docomo, Inc. Signal encoding method and apparatus and decoding method and apparatus

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3496559B2 (ja) * 1999-01-06 2004-02-16 日本電気株式会社 画像特徴量生成装置、並びに画像特徴量生成方法
JP4649760B2 (ja) * 2000-05-31 2011-03-16 ソニー株式会社 コンテンツ・コピー管理システム及び方法、情報処理装置及び方法、並びに、記憶媒体
US6944333B2 (en) * 2003-04-30 2005-09-13 Ventana Medical Systems, Inc. Color image compression via spectral decorrelation and elimination of spatial redundancy
US7640370B1 (en) * 2003-11-25 2009-12-29 Marvell International Ltd. Method and apparatus for controlling data transfer between EEPROM and a physical layer device
SE0401850D0 (sv) 2003-12-19 2004-07-08 Ericsson Telefon Ab L M Image processing
SE526226C2 (sv) * 2003-12-19 2005-08-02 Ericsson Telefon Ab L M Bildbehandling
JP4684147B2 (ja) * 2006-03-28 2011-05-18 任天堂株式会社 傾き算出装置、傾き算出プログラム、ゲーム装置およびゲームプログラム
US7787691B2 (en) 2006-04-11 2010-08-31 Telefonaktiebolaget Lm Ericsson (Publ) High quality image processing
WO2008123823A1 (en) * 2007-04-04 2008-10-16 Telefonaktiebolaget Lm Ericsson (Publ) Vector-based image processing
JP5686499B2 (ja) * 2009-01-22 2015-03-18 株式会社Nttドコモ 画像予測符号化装置、方法及びプログラム、画像予測復号装置、方法及びプログラム、並びに、符号化・復号システム及び方法
US8787698B2 (en) 2009-09-04 2014-07-22 Adobe Systems Incorporated Methods and apparatus for directional texture generation using image warping
US8619098B2 (en) 2009-09-18 2013-12-31 Adobe Systems Incorporated Methods and apparatuses for generating co-salient thumbnails for digital images
US8599219B2 (en) 2009-09-18 2013-12-03 Adobe Systems Incorporated Methods and apparatuses for generating thumbnail summaries for image collections
WO2011099789A2 (ko) * 2010-02-10 2011-08-18 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US8861868B2 (en) 2011-08-29 2014-10-14 Adobe-Systems Incorporated Patch-based synthesis techniques
US9002126B2 (en) 2012-05-04 2015-04-07 Environmental Systems Research Institute (ESRI) Limited error raster compression
US9819964B2 (en) 2012-05-04 2017-11-14 Environmental Systems Research Institute, Inc. Limited error raster compression
CN103581677B (zh) * 2012-07-20 2017-02-15 中国科学院深圳先进技术研究院 图像加密压缩和解压解密方法及装置
US9256709B2 (en) * 2014-02-13 2016-02-09 Taiwan Semiconductor Manufacturing Company, Ltd. Method for integrated circuit mask patterning

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0738760A (ja) * 1993-06-28 1995-02-07 Nec Corp 直交変換基底生成方式

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6456655B1 (en) * 1994-09-30 2002-09-24 Canon Kabushiki Kaisha Image encoding using activity discrimination and color detection to control quantizing characteristics
US5937098A (en) * 1995-02-06 1999-08-10 Asahi Kogaku Kogyo Kabushiki Kaisha Adaptive quantization of orthogonal transform coefficients for setting a target amount of compression
KR0174452B1 (ko) * 1995-02-28 1999-03-20 배순훈 디지털 영상 복호화장치
KR0174453B1 (ko) * 1995-02-28 1999-03-20 배순훈 디지털 영상 복호화 방법
US6115070A (en) * 1997-06-12 2000-09-05 International Business Machines Corporation System and method for DCT domain inverse motion compensation using shared information
JPH11196262A (ja) * 1997-11-07 1999-07-21 Matsushita Electric Ind Co Ltd デジタル情報埋込み・抽出装置および方法並びに当該方法を実行するためのプログラムを記録した媒体

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0738760A (ja) * 1993-06-28 1995-02-07 Nec Corp 直交変換基底生成方式

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
See also references of EP1104199A4 *
SUSUMU ITOU ET AL: "Gazou no kaichousuu sentakukei brock fugouka houshiki, (A Block Truncation Coding Scheme of Images Using Adaptive Selection Method for the Number of Reproduction-Levels)", DENSHI JOUHOU TSUUSHIN GAKKAI ROMBUNSHI, vol. J71-B, no. 12, December 1988 (1988-12-01), pages 1528 - 1536, XP002926591 *
TAKASHI TAKAHASHI ET AL: "Gazou no block heikinchi kara kouryuu seibun o yosoku suru kousoku enzan algorithm, (A Fast Computation Algorithm for Predicting AC Components of Images Using Mean Values of Blocks)", DENSHI JOUHOU TSUUSHIN GAKKAI ROMBUNSHI, vol. J81-D-II, no. 4, April 1998 (1998-04-01), pages 778 - 780, XP002926594 *
TOSHIAKI WATANABE ET AL: "2-2 Heikinchi o mochiita kouryuu seibun yosoku houshiki no ichikentou, (A Study of AC Prediction Method Making Use of Mean Value)", GAZOU FUGOUKA SYMPOSIUM (PCSJ89) DAI 4 KAI SYMPOSIUM SHIRYOU, October 1989 (1989-10-01), pages 29 - 30, XP002926593 *
YOICHI KATO: "1158 Heikinchi bunrigata block fugouka houshiki no fugouka kouritsu kaizen, (1158 Coding Efficiency Improvement of Average Separated Block Basis Coding Schemes)", DENSHI JOUHOU TSUUSHIN GAKKAI SOURITSU 70 SHUUNEN KINEN SOUGOU ZENKOKU TAIKAI KOUEN ROMBUNSHUU BUNSATSU 5, 5 March 1987 (1987-03-05), pages 5-54, XP002926592 *
YOU HYONBEA ET AL: "guramu-shumitto no chokkouka o ouyou shita LIFS gazou fugoukahou no gahinshitsu kaizen, (Improving LIFS Image Coding Scheme via Gram-Schmidt Orthogonalization)", DESNHI JOUHOU TSUUSHIN GAKKAI GIJUTSU KENKYUU HOUKOKU, vol. 98, no. 146, June 1998 (1998-06-01), pages 37 - 42, NLP98-35,, XP002926590 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1156679A2 (en) * 2000-05-15 2001-11-21 Hudson Soft Co., Ltd. Image encoding and decoding method and apparatus, and recording medium in which program therefor is recorded
EP1156679A3 (en) * 2000-05-15 2003-10-08 Hudson Soft Co., Ltd. Image encoding and decoding method and apparatus, and recording medium in which program therefor is recorded
US6714687B2 (en) 2000-05-15 2004-03-30 Hudson Soft Co., Ltd. Image encoding/decoding method, apparatus thereof and recording medium in which program therefor is recorded
US7231089B2 (en) 2000-05-15 2007-06-12 Hudson Soft Co. Ltd. Image encoding/decoding method, apparatus thereof and recording medium in which program therefor is recorded
US7242814B2 (en) 2001-04-09 2007-07-10 Ntt Docomo, Inc. Signal encoding method and apparatus and decoding method and apparatus
US8098940B2 (en) 2001-04-09 2012-01-17 Ntt Docomo, Inc. Method of and apparatus for encoding signals, and method of and apparatus for decoding the encoded signals
JP2002315001A (ja) * 2001-04-13 2002-10-25 Kddi Corp 適応直交変換符号化装置および記録媒体
JP4570065B2 (ja) * 2001-04-13 2010-10-27 Kddi株式会社 適応直交変換符号化装置

Also Published As

Publication number Publication date
EP1104199A1 (en) 2001-05-30
CN1307782A (zh) 2001-08-08
EP1104199A4 (en) 2008-04-02
TW440805B (en) 2001-06-16
US6687411B1 (en) 2004-02-03
KR20010053286A (ko) 2001-06-25
KR100574702B1 (ko) 2006-04-27
HK1036377A1 (en) 2001-12-28
JP3814637B2 (ja) 2006-08-30
CN1168322C (zh) 2004-09-22
CA2347383A1 (en) 2000-01-13

Similar Documents

Publication Publication Date Title
WO2000002393A1 (en) Image coding/decoding method and recorded medium on which program is recorded
EP1762101B1 (en) Methods and apparatus for image encoding/decoding, and extended image compression/expansion
US5903669A (en) Image processing apparatus and method
JP3681386B2 (ja) 改良されたベクトルの量子化のための前処理及び後処理
JP4444943B2 (ja) データアレイの予測符号化方法およびシステム
US7263236B2 (en) Method and apparatus for encoding and decoding three-dimensional object data
US6968092B1 (en) System and method for reduced codebook vector quantization
JPH08214318A (ja) ビデオ画像のシーケンスを符号化するための領域ベースアプローチに対する方法及び装置
JP2002507354A (ja) 効率的なルックアップテーブルに基づく視覚的に無損失の画像圧縮方式
US7177356B2 (en) Spatially transcoding a video stream
US7412104B2 (en) Optimized lossless data compression methods
JP2006502604A (ja) 任意形状オブジェクトの画像圧縮方法
JP2014087058A (ja) エンコーダ,デコーダおよびその方法
US5915046A (en) System for and method of processing digital images
JP3863775B2 (ja) 画像情報圧縮方法及び画像情報圧縮装置並びに画像情報圧縮プログラム
JP2001186516A (ja) 画像データの符号化復号化方法及び装置
JP3932244B2 (ja) 画像符号/復号方法及びその装置並びにそのプログラムを記録した記録媒体
CN1255021A (zh) 不用重新计算运动矢量就可修改压缩图象的装置和方法
KR980013427A (ko) 영상 코딩 장치, 영상 코딩 방법, 영상 디코딩 방법,영상 디코딩 장치, 영상 데이터 전송 방법 및 기록 매체(Image Coding Apparatus, Image Coding Method, Image Decoding Method, Image Decofing Apparatus, Image Data Transmitting Method and Recording Medium)
JP2955266B2 (ja) 画像符号化のための量子化テーブルの最適化方法及び装置並びに記録媒体
JP4051696B2 (ja) 情報処理装置および方法、記録媒体、並びにプログラム
JPH11103463A (ja) 画像符号化方法及び記憶媒体
JP2002369201A (ja) 画像データ圧縮装置、画像データ圧縮方法、記録媒体およびプログラム
JP3066278B2 (ja) 画像符号化装置及び画像復号化装置
Cosman et al. Combined vector quantization and adaptive histogram equalization

Legal Events

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

Ref document number: 99808012.8

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): CA CN JP KR MX US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
ENP Entry into the national phase

Ref document number: 2347383

Country of ref document: CA

Ref document number: 2347383

Country of ref document: CA

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: PA/a/2000/012648

Country of ref document: MX

WWE Wipo information: entry into national phase

Ref document number: 09720551

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1999923879

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020007015005

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 1999923879

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020007015005

Country of ref document: KR

WWG Wipo information: grant in national office

Ref document number: 1020007015005

Country of ref document: KR