WO2005120077A1 - 画像処理装置、そのプログラムおよびその方法 - Google Patents

画像処理装置、そのプログラムおよびその方法 Download PDF

Info

Publication number
WO2005120077A1
WO2005120077A1 PCT/JP2005/010020 JP2005010020W WO2005120077A1 WO 2005120077 A1 WO2005120077 A1 WO 2005120077A1 JP 2005010020 W JP2005010020 W JP 2005010020W WO 2005120077 A1 WO2005120077 A1 WO 2005120077A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
block data
mode
motion vector
processed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2005/010020
Other languages
English (en)
French (fr)
Inventor
Junichi Tanaka
Kazushi Sato
Tsukasa Hashino
Yoichi Yagasaki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to KR20067025489A priority Critical patent/KR20070033346A/ko
Priority to US11/628,301 priority patent/US20080049837A1/en
Priority to EP20050745737 priority patent/EP1753247A1/en
Publication of WO2005120077A1 publication Critical patent/WO2005120077A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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/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/109Selection of coding mode or of prediction mode among a plurality of temporal 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • 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
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/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

  • Image processing apparatus its program and its method
  • the present invention relates to an image processing device used for encoding image data, a program therefor, and a method therefor.
  • a plurality of modes are defined for each of an intra prediction mode and a motion prediction 'compensation mode', and based on the characteristics of image data, the code amount is the smallest, (code The mode with the highest dagger efficiency is selected.
  • the code amount of the Direct mode or the Skip mode is minimized and selected, and in such a case, there is a problem that a junky motion occurs due to the difference in the motion vector in the decoded image, which causes a deterioration in image quality.
  • the present invention has been made in view of the circumstances, and an object of the present invention is to provide an image processing apparatus, a program thereof, and a method thereof capable of realizing high-quality encoding compared to the related art.
  • an image processing apparatus generates a motion vector of a block data of a block to be processed among a plurality of blocks defined in a two-dimensional image area.
  • the motion vector of the block data is also predicted by the motion vector power of another block data, and the first mode in which the predicted motion vector is not encoded is determined by the first mode in which the block data to be processed and the block data in the reference image data are compared.
  • a motion vector of the block data to be processed is generated based on the difference, and the motion vector, the block data to be processed, and the reference
  • the difference between the motion vectors generated for each of the second mode for encoding the difference image data with the reference block data corresponding to the generated motion vector in the image data exceeds a predetermined criterion.
  • selecting means for selecting a mode in which the amount of code by encoding is minimized from the first mode and the second mode when it is determined.
  • the determination means predicts a motion vector of the block data to be processed from a motion vector of another block data, and a first mode in which the predicted motion vector is not encoded;
  • a motion vector of the block data to be processed is generated based on a difference from the block data in the image data.
  • the judging means compares the generated motion vector with the block data to be processed. Between the motion vector generated for each of the second mode for encoding the difference image data between the reference block data and the reference block data corresponding to the generated motion vector in the reference image data. It is determined whether or not the difference exceeds a predetermined reference.
  • the selecting means selects the second mode when the determining means determines that the value exceeds the predetermined criterion, and when the determining means determines that the value does not exceed the predetermined criterion! / In this case, a mode that minimizes the code amount due to encoding is selected from the first mode and the second mode.
  • a program is to generate a motion vector of block data of the block to be processed among a plurality of blocks defined in a two-dimensional image area, and generate the motion vector and the motion vector.
  • the computer executes the program.
  • the computer predicts the motion vector of the block data to be processed from the motion vectors of the other block data according to the first procedure of the program, and does not encode the predicted motion vector.
  • the first mode and the block data to be processed Generating a motion vector of the block data to be processed based on a difference between the block data in the reference image data and the block data in the reference image data.
  • a motion vector is generated for each of the second mode for encoding the difference image data between the reference block data corresponding to the generated motion vector and the reference block data.
  • the computer determines, according to a second procedure of the program, a difference between the motion vector of the first mode generated in the first procedure and the motion vector of the second mode by a predetermined reference. Judge whether the force exceeds.
  • the computer determines in the second procedure that the predetermined standard is exceeded, the computer selects the second mode, and determines that the second mode is not exceeded. When it is determined, the mode that minimizes the code amount due to encoding is selected from the first mode and the second mode.
  • An image processing method is the image processing method, wherein a motion vector of block data of the block to be processed is generated from a plurality of blocks defined in a two-dimensional image area, and the motion vector and the motion vector
  • a motion vector of the block data to be processed is generated, and the motion vector, the block data to be processed and the A first step of generating a motion vector for each of a second mode of encoding difference image data with reference block data corresponding to the generated motion vector, and a step of generating the motion vector in the first step.
  • An image processing apparatus is a video processing apparatus comprising: a block data of the block to be processed among one or a plurality of blocks constituting a macroblock defined in a two-dimensional image area; An image processing apparatus used to encode the block data based on the block data, wherein the unit block includes one or more unit block data constituting the block data to be processed. Generating first index data corresponding to a difference between the data and the unit block data in the prediction block data corresponding to the unit block data, and generating a first index indicating a maximum value of the first index data Specifying data, and generating the unit block data constituting the block data to be processed based on the first index data.
  • the generation unit calculates, using a single or a plurality of unit block data constituting the block data to be processed as a unit, a difference between the unit block data and the unit block data in the prediction block data corresponding to the unit block data.
  • the first index data corresponding to the block data to be processed is generated based on the first index data.
  • second index data in which the specified first index data is strongly reflected as a value is generated as compared with the sum of the first index data generated in advance.
  • a plurality of modes in which at least one of the size of the block data defined for the macroblock to be processed, the presence / absence of encoding of a motion vector, and the presence / absence of encoding of the difference are different from each other are selected.
  • selecting a mode that minimizes third index data according to the sum of the second index data generated by the generation means for one or a plurality of the block data constituting a block are selected.
  • a program according to a fifth aspect of the present invention is a program, comprising: a block data of the block to be processed among one or a plurality of blocks constituting a macroblock defined in a two-dimensional image area; Is a program for causing a computer to execute a process of encoding the block data based on the unit block data, the unit block data being one or a plurality of unit block data constituting the block data to be processed.
  • a second procedure for identifying the first index data indicating the maximum value, and the first index data generated in the first procedure.
  • the first index data specified in the second procedure is stronger as a value than the sum of the first index data generated for the unit block data constituting the block data to be processed.
  • a third procedure for generating reflected second index data, the size of the block data specified for the macroblock to be processed, the presence or absence of coding of a motion vector, and the coding of the difference The second index generated in the third step for one or more block data constituting the macroblock to be processed, among a plurality of modes in which at least one of the presence or absence of the data is different from each other.
  • the computer executes the program of the fifth invention.
  • the computer uses, as a unit, one or more unit block data constituting the block data to be processed and predicts the unit block data and the prediction corresponding to the unit block data.
  • the first index data is generated according to the difference from the unit block data in the block data.
  • the computer executes the first procedure according to the second procedure of the program. Identifying the first index data that indicates the maximum value among the first index data generated in the above.
  • the computer generates the first index data generated in the first procedure according to a third procedure of the program.
  • the first index data specified in the second step is compared with the sum of the first index data generated for the unit block data constituting the block data to be processed, based on the index data of Generates the second indicator data in which the value is strongly reflected as a value.
  • the computer determines the size of the block data defined for the macroblock to be processed, whether or not motion vectors are coded, and the sign of the difference.
  • the second index data generated in the third step with respect to one or more block data constituting the macroblock to be processed, among a plurality of modes in which at least one of the presence or absence of conversion is different from each other. Select the mode that minimizes the third index data according to the sum.
  • An image processing method is the image processing method, comprising: a block data of the block to be processed among one or a plurality of blocks constituting a macroblock defined in a two-dimensional image area; and a prediction block data of the block data.
  • an image processing apparatus it is possible to provide an image processing apparatus, a program, and a method thereof capable of realizing a code with higher image quality as compared with the related art.
  • FIG. 1 is a configuration diagram of a communication system according to a first embodiment of the present invention.
  • FIG. 2 is a functional block diagram of the encoding device shown in FIG. 1.
  • FIG. 3 is a diagram for explaining the motion prediction and compensation circuit shown in FIG. 1.
  • FIG. 4 is a diagram for explaining a hardware configuration diagram of the motion prediction / compensation circuit shown in FIG. 1.
  • FIG. 5 is a flowchart for explaining an operation example of the motion prediction / compensation circuit shown in FIG. 1.
  • FIG. 6 is a continuation flowchart of FIG. 5 for explaining an operation example of the motion prediction and compensation circuit shown in FIG.
  • FIG. 7 is a diagram for explaining a modification of the first embodiment of the present invention.
  • FIG. 8 is a functional block diagram of an encoding device according to a second embodiment of the present invention.
  • FIG. 9 is a diagram for explaining a hardware configuration diagram of the intra prediction circuit shown in FIG.
  • FIG. 10 is a flowchart for explaining an operation example of the intra prediction circuit shown in FIG.
  • FIG. 11 is a diagram for explaining another hardware configuration diagram of the intra prediction circuit shown in FIG. 8.
  • FIG. 12 is a diagram for explaining a method for calculating index data SATDa in the second embodiment of the present invention.
  • FIG. 13 is a diagram for explaining a hardware configuration diagram of the motion prediction ′ compensation circuit shown in FIG. 8.
  • FIG. 14 is a flowchart for explaining an operation example of the motion prediction / compensation circuit shown in FIG.
  • FIG. 15 is a diagram for explaining another hardware configuration diagram of the motion prediction / compensation circuit shown in FIG. 8.
  • FIG. 16 is a diagram for explaining another method of calculating the index data SATDa in the second embodiment of the present invention.
  • This embodiment is an embodiment corresponding to the first to third inventions.
  • the processing means 53 of the motion prediction / compensation circuit 43 shown in FIG. 4 executes the steps ST2, ST4, ST6 shown in FIG. 5 to realize the determining means of the first invention.
  • the selection means of the first invention is realized by executing the steps ST3, ST5, ST7, ST8, and ST9 shown in FIG.
  • FIG. 5 corresponds to the first procedure of the second invention and the first step of the third invention shown in FIG.
  • FIG. 5 corresponds to the steps ST3, ST5, ST7, ST8, and ST9 shown in FIG. 5, the second procedure of the second invention, and the second step of the third invention.
  • program PRG1 of the present embodiment corresponds to the program of the second invention.
  • the Skip mode and the Direct mode force correspond to the first mode of the present invention.
  • inter 16x16 mode inter 16x16 mode, inter 8x16 mode, inter 16x8 mode, Inter basic mode such as 8x8 mode, inter 4x8 mode, and inter 4x4 mode. This corresponds to the second mode of the present invention.
  • block data of the present embodiment corresponds to the block data of the present invention.
  • image data S26 corresponds to the difference image data of the present invention.
  • the image data and the reference image data are, for example, frame data and are field data.
  • FIG. 1 is a conceptual diagram of a communication system 1 of the present embodiment.
  • a communication system 1 includes an encoding device 2 provided on a transmission side and a decoding device 3 provided on a reception side.
  • the encoding device 2 corresponds to the data processing device and the encoding device of the present invention.
  • the encoding device 2 on the transmitting side generates frame image data (bit stream) compressed by orthogonal transform such as discrete cosine transform or Karhunen-Loeve transform and motion compensation, and converts the frame image data. After being modulated, it is transmitted via a transmission medium such as a satellite broadcast wave, a cable TV network, a telephone network, or a mobile telephone network.
  • a transmission medium such as a satellite broadcast wave, a cable TV network, a telephone network, or a mobile telephone network.
  • frame image data expanded by inverse transform of the above-described orthogonal transform and motion compensation is generated and used.
  • the transmission medium may be a recording medium such as an optical disk, a magnetic disk, and a semiconductor memory.
  • the decoding device 3 shown in FIG. 1 has the same configuration as the conventional one, and performs decoding corresponding to the encoding of the encoding device 2.
  • FIG. 2 is an overall configuration diagram of the encoding device 2 shown in FIG.
  • the encoding device 2 includes, for example, an AZD conversion circuit 22, a screen rearrangement circuit 23, an arithmetic circuit 24, an orthogonal transformation circuit 25, a quantization circuit 26, a lossless encoding circuit 27, and a buffer 28. , Inverse quantization circuit 29, inverse orthogonal transformation circuit 30, frame memory 31, rate control circuit 32, addition circuit 33, deblocking filter 34, intra prediction circuit 41, motion prediction 'compensation circuit 43 and a selection circuit 44.
  • the AZD conversion circuit 22 converts an original image signal composed of the input analog luminance signal Y and color difference signals Pb and Pr into a digital image signal, and outputs this to the screen rearrangement circuit 23.
  • the screen rearrangement circuit 23 encodes the frame image signal in the original image signal input from the AZD conversion circuit 22 according to the GOP (Group Of Pictures) structure including the picture types I, P, and B.
  • the original image data S23 rearranged in order is output to the arithmetic circuit 24, the motion prediction 'compensation circuit 43 and the intra prediction circuit 41.
  • the arithmetic circuit 24 generates image data S 24 indicating the difference between the original image data S 23 and the predicted image data PI input from the selection circuit 44, and outputs this to the orthogonal transformation circuit 25.
  • the orthogonal transformation circuit 25 performs orthogonal transformation such as discrete cosine transformation or Karhunen-Loeve transformation on the image data S24 to generate image data (for example, DCT coefficients) S25, and outputs this to the quantization circuit 26.
  • the quantization circuit 26 quantizes the image data S25 using the quantization scale input from the rate control circuit 32 to generate image data S26 (quantized DCT coefficients), and converts this to the reversible encoding circuit 27 Output to the quantization circuit 29.
  • the lossless encoding circuit 27 stores the image data obtained by arithmetically encoding the image data S 26 in the buffer 28.
  • the lossless encoding circuit 27 converts the motion vector MV input from the motion prediction / compensation circuit 43 or its differential motion vector, the identification data of the reference image data, and the intra prediction mode IPM input from the intra prediction circuit 41 into the header data. To be stored.
  • the image data stored in the buffer 28 is transmitted after being modulated.
  • the inverse quantization circuit 29 generates data obtained by inversely quantizing the image data S26, and outputs this to the inverse orthogonal transform circuit 30.
  • the inverse orthogonal transform circuit 30 performs an inverse transform of the orthogonal transform in the orthogonal transform circuit 25 on the data input from the inverse quantization circuit 29, and outputs image data generated to the adder circuit 33.
  • the adder circuit 33 adds the (decoded) image data input from the inverse orthogonal transform circuit 30 and the predicted image data PI input from the selection circuit 44 to generate reconstructed image data, and outputs the reconstructed image data. Output to 34.
  • the deblocking filter 34 writes the image data obtained by removing the block distortion of the reconstructed image data input from the adder circuit 33 into the frame memory 31 as the reference image data REF.
  • the motion prediction is performed by the compensation circuit 43 and the reconstructed image data of the picture to be subjected to the intra prediction processing in the intra prediction circuit 41 is sequentially written in units of macroblocks MB that have been processed.
  • the rate control circuit 32 generates a quantization scale based on the image data read from the buffer 28, for example, and outputs this to the quantization circuit 26.
  • the intra prediction circuit 41 generates predicted image data Pli of the macroblock MB to be processed in each of a plurality of prediction modes such as an intra 4x4 mode and an intra 16x16 mode, and generates the predicted image data Pli and the processing target in the original image data S23. Based on the macroblock MB, index data COSTi, which is an index of the code amount of the encoded data, is generated. Then, the intra prediction circuit 41 selects an intra prediction mode that minimizes the index data COSTi.
  • a plurality of prediction modes such as an intra 4x4 mode and an intra 16x16 mode
  • the intra prediction circuit 41 outputs the predicted image data Pli and the index data COSTi generated corresponding to the finally selected intra prediction mode to the selection circuit 44.
  • the intra prediction circuit 41 outputs the prediction mode IPM indicating the finally selected intra prediction mode to the reversible coding circuit 27.
  • the intra prediction circuit 41 may perform intra prediction coding even on a macroblock MB belonging to the P slice or the B slice.
  • the intra prediction circuit 41 generates, for example, index data COSTi based on the following equation (1).
  • “i” is, for example, an identification number assigned to each block data of a size corresponding to the above-described intra prediction mode, which constitutes a macroblock MB to be processed.
  • X in the above equation (1) is “1” in the case of the intra 16 ⁇ 16 mode, and is “16” in the case of the intra 4 ⁇ 4 mode.
  • the intra prediction circuit 41 calculates “SATD + header—cost (mode))” for all block data constituting the macroblock MB to be processed, and calculates the index data COSTi by calculating these values. I do.
  • header is an index serving as an index of the code amount of the header data including the motion vector after encoding, the identification data of the reference image data, the selected mode, the quantization parameter (quantization scale), and the like. Data. header—The value of cost (mode) depends on the prediction mode.
  • SATD is an index that indicates the code amount of differential image data between block data in the macroblock MB to be processed and predetermined block data (predicted block data) around the block data. Data.
  • the predicted image data PIi is defined by one or a plurality of predicted block data.
  • SATD for example, Hadamard as shown in the following formula (2)
  • the block data Org to be processed the sum of absolute difference between pixel data between the prediction block data p re (Sum of Absolute Difference) This is the data after conversion (Tran).
  • a pixel in the block data is specified by s and t in the following equation (2).
  • the motion prediction / compensation circuit 43 includes a frame memory for each of a plurality of motion prediction / compensation modes when the macroblock MB to be processed of the original image data S23 input from the screen rearranging circuit 23 is subjected to inter-coding. Based on the previously encoded reference image data REF stored in 31 and based on the block data specified by the motion prediction / compensation mode, the motion vector MV and the predicted image data Generate.
  • the size of the block data and the reference image data REF are defined by, for example, a motion prediction-compensation mode.
  • the motion prediction / compensation circuit 43 calculates the macroblock MB to be processed in the original image data S23 and its prediction block data (predicted image data PIm). It generates index data CO STm that is an index of the code amount of the encoded data.
  • the motion prediction / compensation circuit 43 selects the motion prediction / compensation mode that minimizes the index data COSTm.
  • the motion prediction 'compensation circuit 43 outputs the prediction image data PIm and index data COSTm generated corresponding to the finally selected motion prediction' compensation mode to the selection circuit 44. In addition, the motion prediction 'compensation circuit 43 converts the motion vector generated corresponding to the finally selected motion prediction' compensation mode or the difference motion vector between the motion vector and the predicted motion vector into a lossless code. Output to circuit 27.
  • the motion prediction / compensation circuit 43 outputs the motion prediction / compensation mode MEM indicating the finally selected motion prediction / compensation mode to the lossless coding circuit 27.
  • the motion prediction 'compensation circuit 43 outputs the identification data of the reference image data (reference frame) selected in the motion prediction' compensation process to the lossless coding circuit 27.
  • the motion prediction / compensation circuit 43 generates the index data COSTm, for example, based on the following equation (4).
  • the motion prediction / compensation circuit 43 calculates “SATD + head—cost (mode))” for all block data constituting the macroblock MB to be processed, adds these, and calculates the index data COSTm. calculate.
  • cost (mode) is index data that is an index of the code amount of the header data including the motion vector after encoding, the identification data of the reference image data, the selected mode and the quantization parameter (quantization scale), etc. It is. header — The value of cost (mode) depends on the motion estimation 'compensation mode.
  • SATD is an index of the amount of code of difference image data between the block data in the macroblock MB to be processed and the block data (reference block data) in the reference image data specified by the motion vector MV. It is index data.
  • the predicted image data P Im is defined by one or a plurality of reference block data.
  • the SATD is an adamar to the sum of absolute value errors between pixel data of the block data Org to be processed and reference block data (predicted image data) Pre. This is the data after conversion (Tran).
  • a pixel in the block data is specified by s and t in the following equation (5).
  • the motion prediction / compensation circuit 43 has various modes such as an inter basic mode, a Skip mode, and a Direct mode as the motion prediction / compensation mode.
  • the inter basic modes include an inter 16x16 mode, an inter 8x16 mode, an inter 16 x8 mode, an inter 8x8 mode, an inter 4x8 mode, and an inter 4x4 mode, and the size of block data is Si6xl6, 8x16, 16x8, 8x8, 4x8, 4x4.
  • a forward prediction mode, a backward prediction mode, and a bidirectional prediction mode can be selected based on each size of the inter basic mode.
  • the forward prediction mode is a mode in which image data whose display order is earlier is used as reference image data
  • the backward prediction mode is a mode in which image data whose display order is later is used as reference image data
  • the bidirectional prediction mode is In this mode, the image data in the display order before and after is used as reference image data.
  • a plurality of motion prediction Can have reference image data.
  • the motion prediction 'compensation circuit 43 encodes the motion vector or its differential motion vector and the image data S26 which is quantized differential image data by the lossless encoding circuit 27. In the image data S2.
  • the lossless encoding circuit 27 of the encoding device 2 does not encode any information of the image data S26 and the motion vector MV. exclude.
  • the lossless encoding circuit 27 includes the motion prediction 'motion prediction' compensation mode selected by the compensation circuit 43 in the image data S2.
  • the decoding device 3 When the motion prediction 'compensation mode included in the image data S2 indicates the Skip mode, the decoding device 3 generates a predicted motion vector based on the motion vectors of the block data around the block data to be processed, and Generate decoded image data based on motion vectors
  • the code amount can be significantly reduced.
  • a B picture can be added and a P picture can be selected.
  • the lossless encoding circuit 27 of the encoding device 2 does not encode the motion vector MV!
  • the lossless encoding circuit 27 encodes the motion prediction / compensation mode and the image data S26.
  • the decoding device 3 When the motion prediction 'compensation mode included in the image data S2 indicates the Direct mode, the decoding device 3 generates a predicted motion vector based on the motion vectors of the block data around the block data to be processed, and generates the predicted motion vector.
  • the decoded image data is generated based on the vector and the encoded image data S26.
  • the Direct mode includes a 16xl6Direct mode using a 16x16 block size and an 8x8Direct mode using an 8x8 block size.
  • Each of the 16xl6Direct mode and the 8x8Direct mode includes a spatial (Spatial) Direct mode and a temporal (Temporal) Direct mode.
  • the motion prediction 'compensation circuit 43 In the case of the spatial direct mode, the motion prediction 'compensation circuit 43 generates a predicted motion vector (motion vector) using a motion vector of block data around the block data to be processed.
  • the motion prediction / compensation circuit 43 specifies the reference block data based on the predicted motion vector and generates the reference image data PIm.
  • the motion prediction 'compensation circuit 43 generates a predicted motion vector (motion vector) using a motion vector of a block data at a corresponding position in the reference image data of the block data to be processed. I do.
  • the motion prediction / compensation circuit 43 specifies the reference block data based on the predicted motion vector and generates the reference image data PIm.
  • the temporal Direct mode is specified.
  • the block data to be processed in the frame data B refers to the frame data RL, RL and the reference image data.
  • the motion vectors MV and MV are calculated according to the following equations (7) and (8).
  • TD is the difference between the reference image data RL and the reference image data RL.
  • TD indicates the interval of display timing between D01 and TD
  • FIG. 4 is an example of a hardware configuration diagram of the motion prediction / compensation circuit 43.
  • the motion prediction / compensation circuit 43 has, for example, an interface 51, a memory 52, and a processing circuit 53, which are connected via a data line 50.
  • the interface 51 performs data input / output with the screen rearranging circuit 23, the lossless encoding circuit 27, and the frame memory 31.
  • the memory 52 stores the program PRG1 and various data used for the processing of the processing circuit 53.
  • the processing circuit 53 generally controls the processing of the motion prediction / compensation circuit 43 according to the program PRG1 read from the memory 52.
  • the operation of the motion prediction / compensation circuit 43 described below is controlled by the processing circuit 53 in accordance with the program PRG1.
  • FIGS. 5 and 6 are flowcharts for explaining an operation example of the motion prediction / compensation circuit 43.
  • the motion prediction / compensation circuit 43 performs the following processing on the block data to be processed in the original image data S23.
  • the motion prediction 'compensation circuit 43 is provided for each of the inter 16x16, inter 8x8, Skip, Direct 16x16, and Direct8x8! / 8x8), MV (Skip), MV (Direct 16x16), MV (Direct8x8).
  • Step ST2
  • the motion prediction / compensation circuit 43 calculates the absolute value of the difference vector between the motion vector MV (skip) generated in step ST1 and the motion vector MV (inter 16 ⁇ 16) by a predetermined reference value MV.
  • the motion prediction / compensation circuit 43 determines that the skip mode is not selected in the motion prediction / compensation mode selection processing described later.
  • the motion prediction 'compensation circuit 43 determines whether the absolute value of the difference vector between the motion vector MV (Direct8x8) and the motion vector MV (inter 8x8) generated in step ST1 is larger than a predetermined reference value MV-RANGE. If it is determined to be larger, the process proceeds to step ST5; otherwise, the process proceeds to step ST6.
  • the motion prediction / compensation circuit 43 determines not to select the Direct8 ⁇ 8 mode in the motion prediction / compensation mode selection processing described later.
  • the motion prediction 'compensation circuit 43 determines whether the absolute value of the difference vector between the motion vector MV (Directl6xl6) generated in step ST1 and the motion vector MV (inter 16x16) is larger than a predetermined reference value MV-RANGE or not. Is determined, and if it is determined to be large, the process proceeds to step ST7; otherwise, the process proceeds to step ST8.
  • the motion prediction / compensation circuit 43 determines not to select the Directl6xl6 mode in the motion prediction / compensation mode selection processing described later.
  • the motion prediction 'compensation circuit 43 calculates the index data COSTm in the above-described procedure for the motion prediction' compensation mode not designated as non-selected in steps ST3, ST5, and ST7.
  • the motion prediction 'compensation circuit 43 selects a motion prediction' compensation mode that minimizes the index mode COSTm calculated in step ST8.
  • Step ST10 The motion prediction 'compensation circuit 43 outputs the prediction image data PIm and the index data COSTm generated corresponding to the selected motion prediction' compensation mode to the selection circuit 44.
  • the motion prediction / compensation circuit 43 determines, at a predetermined timing, whether or not the selection signal S44 indicating that the motion prediction / compensation mode has been selected from the selection circuit 44 has been input. Otherwise, the process ends.
  • the motion prediction / compensation circuit 43 converts the motion vector MV generated corresponding to the motion prediction / compensation mode selected in step ST9, or a difference motion vector thereof, and the selected motion prediction 'compensation mode MEM' into a lossless coding circuit. Output to 27.
  • the selection circuit 44 specifies the smaller one of the index data COSTm input from the motion prediction / compensation circuit 43 and the index data COSTi input from the intra prediction circuit 41, and inputs the smaller one in accordance with the specified index data.
  • the ⁇ with the predicted image data PIm outputs Pli to the arithmetic circuit 24 and the adder circuit 33.
  • the selection circuit 44 When the index data COSTm is small, the selection circuit 44 outputs to the motion prediction / compensation circuit 43 a selection signal S44 indicating that the motion prediction / compensation mode has been selected.
  • the selection circuit 44 outputs a selection signal S44 indicating that the intra prediction mode has been selected to the motion prediction / compensation circuit 43.
  • all index data COSTi and COSTm generated by the intra prediction circuit 41 and the motion prediction / compensation circuit 43 are output to the selection circuit 44, and the minimum index data is output to the selection circuit 44. You can specify it!
  • the input image signal is first converted into a digital signal in the AZD conversion circuit 22.
  • the frame image data is rearranged in the screen rearrangement circuit 23, and the original image data S23 obtained thereby is processed by the arithmetic circuit 24 and the motion prediction ⁇ Output to the compensation circuit 43 and the intra prediction circuit 41.
  • the arithmetic circuit 24 detects a difference between the original image data S23 from the screen rearranging circuit 23 and the predicted image data PI from the selecting circuit 44, and outputs image data S24 indicating the difference to the orthogonal transform circuit 25. I do.
  • the orthogonal transform circuit 25 performs orthogonal transform such as discrete cosine transform or Karhunen's all transform on the image data S 24 to generate image data (DCT coefficients) S 25, which are quantized by the quantization circuit 26.
  • orthogonal transform such as discrete cosine transform or Karhunen's all transform
  • the quantization circuit 26 quantizes the image data S25, and outputs the image data (quantized DCT coefficients) S26 to the lossless encoding circuit 27 and the inverse quantization circuit 29.
  • a reversible encoding circuit 27 performs reversible encoding such as variable-length encoding or arithmetic encoding on the image data S26 to generate image data S28, and stores the image data S28 in a buffer 28. Controls the quantization rate in the quantization circuit 26 based on the image data S28 read from the buffer 28.
  • the inverse quantization circuit 29 inversely quantizes the image data S 26 input from the quantization circuit 26 and outputs the result to the inverse orthogonal transform circuit 30.
  • the inverse orthogonal transform circuit 30 outputs the image data generated by performing the inverse transform process of the orthogonal transform circuit 25 to the adder circuit 33.
  • the image data from the inverse orthogonal transform circuit 30 and the predicted image data PI from the selection circuit 44 are added to generate reconstructed image data, which is output to the deblocking filter.
  • image data from which the block distortion of the reconstructed image data has been removed is generated, and this is written into the frame memory 31 as reference image data.
  • the above-described intra prediction processing is performed in the intra prediction circuit 41, and the prediction image data Pli and the index data COSTi, which are the result, are output to the selection circuit 44.
  • the motion prediction / compensation circuit 43 performs the motion prediction ′ compensation processing described with reference to FIGS. 5 and 6, and outputs the resulting predicted image data PIm and index data COSTm to the selection circuit 44.
  • the selection circuit 44 specifies the smaller one of the index data COSTm input from the motion prediction / compensation circuit 43 and the index data COSTi input from the intra prediction circuit 41, and The predicted image data PIm or Pli input to the arithmetic circuit 24 and the adder circuit 33 are output.
  • the motion vector MV of Skip, Direct 16x16, and Direct8x8 modes is used.
  • these motion prediction 'compensation modes are designated as non-selected.
  • step ST9 it is possible to avoid selecting these motion prediction 'compensation modes.
  • the encoding apparatus 2 sets the inter basic mode to the inter basic mode when the motion vector MV in the Skip, Direct 16 xl6, and Direct8x8 mode greatly deviates from the original motion vector.
  • the image data S2 is forcibly selected, and the motion vector or the differential motion vector thereof and the image data S26, which is the quantized difference image data, are encoded by the lossless encoding circuit 27 and included in the image data S2.
  • the used reference image data is the same between the motion vector (Skip) and the MV (inter 16 ⁇ 16) in steps ST2, ST4, and ST5 shown in FIG.
  • the present invention is also applicable when reference image data is different.
  • FIG. 7 a case is considered where the frame data F1 is used as reference image data in the Dir ectl6xl6 mode and the frame data F2 is used as reference image data in the inter 16 ⁇ 16 mode.
  • the motion vector MV1 (inter 16x16) obtained by correcting the motion vector MV (inter 16x16) based on the following equation (9) is used for the determination in FIG.
  • Tdirect indicates the display timing interval between the reference image data F1 and the frame data B
  • Tinter indicates the interval between the frame data B and the reference image data F2. Indicates the display timing interval
  • MV1 (Tdirect / Tinter) * MV
  • the frame data F1 is used as reference image data in the block data size Directl6xl6 mode in the frame data B, and the frame data F3 is used as the reference image data in the inter 16 ⁇ 16 mode.
  • the frame data F1 is used as reference image data in the block data size Directl6xl6 mode in the frame data B
  • the frame data F3 is used as the reference image data in the inter 16 ⁇ 16 mode.
  • the motion vector MV2 (inter 16x16) obtained by correcting the motion vector MV (inter 16x16) based on the following equation (10) is used for the determination in FIG.
  • Tdirect indicates a display timing interval between the reference image data F1 and the frame data B
  • Tinter indicates a display timing interval between the frame data B and the reference image data F3.
  • V2 (— Tdirect / Tinter) * MV
  • This embodiment is an embodiment corresponding to the fourth to sixth inventions.
  • the processing means 63 of the intra prediction circuit 41a shown in FIG. 9 calculates the index data SATDa based on the expression (12) described later in step ST22 shown in FIG. 10, thereby realizing the generation means of the fourth invention.
  • the processing circuit 63 calculates the index data COSTai based on the expression (11) described later in step ST22 shown in FIG. 10 and executes step ST24, thereby realizing the selection means of the fourth invention. You.
  • the process of calculating the index data SATD (first index data) performed by the intra prediction circuit 41a corresponds to the first procedure of the fifth invention or the first step of the sixth invention. Yes, it is. Further, the intra prediction circuit 41a corresponds to the second procedure of the fifth invention or the second step of the sixth invention in which the processing power for specifying Max4x4 is used.
  • the process in which the intra prediction circuit 41a calculates the index data SATDa (second index data) based on Expression (12) described later is performed in the third procedure of the fifth invention or in the third procedure of the sixth invention. It corresponds to the process.
  • the intra prediction circuit 41a calculates index data COSTai (third index data) based on Expression (11) described later, and performs the process of performing step ST24 shown in FIG. 10 according to the fourth embodiment of the fifth invention. This corresponds to the procedure or the fourth step of the sixth invention.
  • block data of the present embodiment corresponds to the block data of the present invention.
  • the processing circuit 83 of the motion prediction / compensation circuit 43a shown in FIG. 13 calculates the index data SATDa based on Expression (15) described later in step ST42 shown in FIG.
  • the generating means of the invention is realized.
  • the processing circuit 83 calculates the index data COSTam based on Expression (14) described later in step ST22 shown in FIG. 14 and executes step ST44, thereby realizing the selection means of the fourth invention. .
  • the process of calculating the index data SATD (first index data) performed by the motion prediction 'compensation circuit 43a corresponds to the first procedure of the fifth invention or the first step of the sixth invention. Yes, it is.
  • the process of the motion prediction / compensation circuit 43a specifying Max4x4 corresponds to the second procedure of the fifth invention or the second step of the sixth invention.
  • the process of calculating the index data SATDa (second index data) based on Expression (15) described later by the motion prediction / compensation circuit 43a is the third procedure of the fifth invention or the processing of the sixth invention. It corresponds to the third step.
  • the motion prediction / compensation circuit 43a calculates the index data COSTam (third index data) based on Expression (14) described later, and performs the process of performing step ST44 shown in FIG. This corresponds to the fourth procedure or the fourth step of the sixth invention.
  • each of the programs PRG2 and PRG3 of the present embodiment corresponds to the program of the fifth invention.
  • the encoding apparatus according to the present embodiment will be described in detail.
  • FIG. 8 is an overall configuration diagram of an encoding device 2a according to the embodiment of the present invention.
  • the encoding device 2a includes, for example, an AZD conversion circuit 22, a screen rearrangement circuit 23, an arithmetic circuit 24, an orthogonal transformation circuit 25, a quantization circuit 26, a lossless encoding circuit 27, a buffer 28, It has an inverse quantization circuit 29, an inverse orthogonal transformation circuit 30, a frame memory 31, a rate control circuit 32, an addition circuit 33, a deblocking filter 34, an intra prediction circuit 41a, a motion prediction 'compensation circuit 43a, and a selection circuit 44.
  • the encoding device 2a is characterized by an intra prediction circuit 41a and a motion prediction / compensation circuit 43a.
  • the intra prediction circuit 41a generates predicted image data Pli of the macroblock MB to be processed in each of a plurality of prediction modes such as the intra 4x4 mode and the intra 16x16 mode, and generates the predicted image data Pli and the processing target in the original image data S23. Based on the macroblocks MB and, the index data COSTai serving as an index of the code amount of the encoded data is generated. The intra prediction circuit 41a selects an intra prediction mode that minimizes the index data COSTai. .
  • the intra prediction circuit 41a outputs the prediction image data Pli and the index data COSTai generated corresponding to the finally selected intra prediction mode to the selection circuit 44.
  • the intra prediction circuit 41a outputs the prediction mode IPM indicating the finally selected intra prediction mode to the lossless encoding circuit 27.
  • intra prediction coding may be performed by the intra prediction circuit 41a.
  • the intra prediction circuit 41a generates, for example, index data COSTai based on the following equation (11). [0074] [Number 11]
  • i is, for example, an identification number assigned to each block data of a size corresponding to the above intra prediction mode that constitutes the macroblock MB to be processed.
  • the intra prediction circuit 41a calculates "SATDa + header-cost (mode))" for all block data constituting the macroblock MB to be processed, and adds these to calculate index data COSTai.
  • header—cost (mode) is index data that is an index of the amount of header data including the selected intra prediction mode and quantization parameter (quantization scale), and indicates different values depending on the intra prediction mode. .
  • SATDa is index data which is an index of the code amount of the difference image data between the block data in the processing target macro block MB and predetermined block data (predicted block data) around the block data. It is.
  • the predicted image data PIi is defined by one or a plurality of predicted block data.
  • the present embodiment is characterized by a method for calculating SATDa.
  • the intra prediction circuit 41a calculates the index data SATDa for the intra 16 ⁇ 16 mode and the intra 4 ⁇ 4 mode as shown in FIG. 12 (A) and the following equation (12).
  • the intra prediction circuit 41a calculates the SATD by performing the operation of the above equation (5) on the block data composed of 16x16 pixel data in units of 4x4 pixel data, and adding the result. I do. That is, the SATD is, for example, data obtained by subjecting the sum of absolute value errors between pixel data of the block data Org to be processed and predicted image data (reference block data) Pre to Hadamard transform.
  • the intra prediction circuit 41a specifies the maximum value among the calculation results of the equation (5) performed on each 4x4 pixel data in the block data, and sets the maximum value as Max4x4.
  • the intra-prediction circuit 41a calculates the index data SATDa by dividing the value of “Max4x4 * 16” by 2 and dividing it by 2.
  • the intra prediction circuit 41a can calculate the index data SATDa in which the influence of Max4x4 (the maximum value of the difference) is strongly reflected as compared with the case where only SATD is used.
  • the SAD represented by the equation (3) in the first embodiment may be used.
  • FIG. 9 is an example of a hardware configuration diagram of the intra prediction circuit 41a shown in FIG.
  • the intra prediction circuit 41a has, for example, an interface 61, a memory 62, and a processing circuit 63, which are connected via a data line 60.
  • the interface 61 performs data input / output with the screen rearranging circuit 23, the lossless encoding circuit 27, and the frame memory 31.
  • the memory 62 stores the program PRG2 and various data used for the processing of the processing circuit 63.
  • the processing circuit 63 generally controls the processing of the intra prediction circuit 41a according to the program PRG2 read from the memory 62.
  • the operation of the intra prediction circuit 41a described below is controlled by the processing circuit 63 according to the program PRG2.
  • FIG. 10 is a flowchart for explaining an operation example of the intra prediction circuit 41a.
  • the intra prediction circuit 41a performs the following processing on the block data to be processed in the original image data S23. Step ST21:
  • the intra prediction circuit 41a specifies an unprocessed intra prediction mode among a plurality of intra prediction modes including the intra 16 ⁇ 16 mode and the intra 4 ⁇ 4 mode.
  • the intra prediction circuit 41a calculates the index data COSTai for the intra prediction mode specified in step ST21 by using the above-described equation (12) and using the method described above.
  • the intra prediction circuit 41a determines whether or not the processing of step ST22 has been completed for all intra prediction modes, and proceeds to step ST24 if it is determined that the processing has been completed, and returns to step ST21 if V is not the case. .
  • the intra prediction circuit 41a selects the smallest intra prediction mode from the index data COSTai calculated in step ST22 for all intra prediction modes.
  • the intra prediction circuit 41a outputs the prediction image data Pli and the index data COSTai generated corresponding to the intra prediction mode selected in step ST24 to the selection circuit 44.
  • the intra prediction circuit 41a determines, at a predetermined timing, whether or not the selection signal S44 indicating that the intra prediction mode has been selected from the selection circuit 44 has been input, and proceeds to step ST27 when determining that the input signal has been input. Otherwise, the process ends.
  • the intra prediction circuit 41a outputs the intra prediction mode IPM selected in step ST24 to the lossless encoding circuit 27.
  • the intra prediction circuit 41a includes a SATD calculating circuit 71, a maximum value specifying circuit 72, a COST calculating circuit 73, and a mode determining circuit 74. May be provided.
  • the SATD calculating circuit 71 calculates the above equation (5) and adds the result to calculate the SATD. Further, the maximum value specifying circuit 72 specifies the maximum value among the calculation results of the equation (5) performed on each 4x4 pixel data in the block data, and sets the maximum value as Max4x4.
  • the COST calculation circuit 73 calculates the index data SATDa by calculating the value of “Max4x4 * 16” by SATD and dividing by 2.
  • mode determination circuit 74 performs the process of step ST24 shown in FIG.
  • the motion prediction / compensation circuit 43a includes a frame memory for each of a plurality of motion prediction / compensation modes when a macroblock to be processed of the original image data S23 input from the screen rearranging circuit 23 is subjected to MB coding. Based on the previously encoded reference image data REF stored in 31 and based on the block data specified by the motion prediction / compensation mode, the motion vector MV and the predicted image data Generate.
  • the size of the block data and the reference image data REF are defined by, for example, a motion prediction-compensation mode.
  • the motion prediction 'compensation circuit 43a calculates a code for each of the motion prediction' compensation modes based on the macroblock MB to be processed in the original image data S23 and the prediction block data (predicted image data PIm).
  • Generate index data C OSTam as an index of the code amount of the converted data.
  • the motion prediction / compensation circuit 43a selects a motion prediction / compensation mode that minimizes the index data COSTam.
  • the motion prediction 'compensation circuit 43a outputs prediction image data PIm and index data COSTma generated corresponding to the finally selected motion prediction' compensation mode to the selection circuit 44. Also, the motion prediction / compensation circuit 43a converts the motion vector generated corresponding to the finally selected motion prediction / compensation mode or the difference motion vector between the motion vector and the predicted motion vector into a lossless code. Output to circuit 27.
  • the motion prediction / compensation circuit 43a outputs the finally selected motion prediction / compensation mode MEM to the lossless coding circuit 27.
  • the motion prediction / compensation circuit 43a outputs the reference image selected in the motion prediction / compensation processing.
  • the identification data of the data (reference frame) is output to the lossless encoding circuit 27.
  • the motion prediction / compensation circuit 43a generates, for example, index data COSTam based on the following equation (13).
  • “i” is, for example, an identification number assigned to each block data having a size corresponding to the above-described motion prediction ′ compensation mode which constitutes the macroblock MB to be processed. is there.
  • the motion prediction / compensation circuit 43a calculates “SATDa + header-cost (mode))” for all the block data constituting the macroblock MB to be processed, adds these, and calculates the index data COSTam. calculate.
  • header—cost (mode) is the amount of code of the header data including the motion vector or its differential motion vector, the identification data of the reference image data, the selected motion prediction 'compensation mode, the quantization parameter (quantization scale), etc. This is index data that serves as an index and shows different values depending on the motion prediction / compensation mode.
  • SATDa is index data which is an index of the code amount of the difference image data between the block data in the processing target macro block MB and predetermined block data (predicted block data) around the block data. It is.
  • the predicted image data P Im is defined by one or a plurality of predicted block data.
  • the present embodiment is characterized by a method for calculating SATDa.
  • the motion prediction 'compensation circuit 43a calculates the index data SATDa for the inter 16x16 mode, the intra 16x16 mode, the intra 4x4 mode, the Skip mode, and the Direct6xl6 mode described in the first embodiment by using FIG. ).
  • the motion prediction / compensation circuit 43a performs the operation of the above equation (5) on the block data composed of 16x16 pixel data in units of 4x4 pixel data, and adds the result to calculate SATD.
  • the SATD is, for example, data obtained by subjecting the sum of absolute value errors between pixel data of the block data Org to be processed and predicted image data (reference block data) Pre to Hadamard transform.
  • the motion prediction / compensation circuit 43a specifies the maximum value among the calculation results of Expression (5) performed on each 4x4 pixel data in the block data, and sets it as Max4x4.
  • the motion prediction ′ compensation circuit 43a calculates the index data SATDa by adding “Max4 ⁇ 4 * 16” to SATD and dividing by 2.
  • the motion prediction 'compensation circuit 43a can calculate the index data SATDa in which the influence of Max4x4 (the maximum value of the difference) is strongly reflected by using the above equation (14) as compared with the case of using only SATD.
  • the motion prediction 'compensation circuit 43a calculates the index data SATDa for the inter 8x16 mode and the inter 16x8 mode as shown in Fig. 12 (B) and the following equation (15).
  • the motion prediction / compensation circuit 43a calculates the SATD by performing the operation of the above equation (5) on the block data composed of 8x16 or 16x8 pixel data in units of 4x4 pixel data, and adding the results. .
  • the SATD includes, for example, block data Org to be processed and predicted image data ( Reference block data) This is the data after Hadamard transformation has been performed on the sum of absolute value errors between pixel data of Pre and that of Pre.
  • the motion prediction / compensation circuit 43a specifies the maximum value among the calculation results of Expression (5) performed on each 4x4 pixel data in the block data, and sets it as Max4x4.
  • the motion prediction 'compensation circuit 43a calculates the index data SATDa by adding "Max4x4 * 8" to SATD and dividing by 2.
  • the motion prediction 'compensation circuit 43a can calculate the index data SATDa in which the influence of Max4x4 (the maximum value of the difference) is strongly reflected as compared with the case where only SATD is used.
  • the motion prediction 'compensation circuit 43a calculates the index data SATDa for the inter 8x8 mode and the Direct 8x8 mode described in the first embodiment as shown in Fig. 12 (C) and the following equation (16). I do.
  • SATDa (SATD + Max4x4 * 4 ⁇ / 2
  • the motion prediction / compensation circuit 43a performs the operation of the above equation (5) on the block data composed of 8x8 pixel data in units of 4x4 pixel data, and adds the result to calculate the S ATD. .
  • the SATD is, for example, data obtained by subjecting the sum of absolute value errors between pixel data of the block data Org to be processed and predicted image data (reference block data) Pre to Hadamard transform.
  • the motion prediction / compensation circuit 43a specifies the maximum value among the calculation results of Expression (5) performed on each 4x4 pixel data in the block data, and sets it as Max4x4.
  • the motion prediction 'compensation circuit 43a calculates the index data SATDa by adding "Max4x4 * 4" to SATD and dividing by 2.
  • the motion prediction 'compensation circuit 43a The index data SATDa that strongly reflects the effect of Max4x4 (maximum difference) can be calculated.
  • the motion prediction 'compensation circuit 43a calculates the index data SATDa for the inter 4x8 mode and the inter 8x4 mode as shown in Fig. 12 (D) and the following equation (17).
  • the motion prediction / compensation circuit 43a calculates the S ATD by performing the operation of the above equation (5) on the block data composed of 8x4 or 4x8 pixel data in units of 4x4 pixel data, and adding the result. .
  • the SATD is, for example, data obtained by subjecting the sum of absolute value errors between pixel data of the block data Org to be processed and predicted image data (reference block data) Pre to Hadamard transform.
  • the motion prediction / compensation circuit 43a specifies the maximum value among the calculation results of Expression (5) performed on each 4x4 pixel data in the block data, and sets it as Max4x4.
  • the motion prediction 'compensation circuit 43a calculates the index data SATDa by adding "Max4x4 * 2" to SATD and dividing by 2.
  • the motion prediction 'compensation circuit 43a can calculate the index data SATDa in which the influence of Max4x4 (the maximum value of the difference) is strongly reflected by using the above equation (17) as compared with the case where only SATD is used.
  • the motion prediction 'compensation circuit 43a uses the index data SAT for the inter 4x4 mode.
  • the motion prediction / compensation circuit 43a performs the operation of the above equation (5) on the 4x4 block data in units of 4x4 pixel data, and adds the result to calculate the SATD.
  • the SATD is, for example, data obtained by subjecting the sum of absolute value errors between pixel data of the block data Org to be processed and predicted image data (reference block data) Pre to Hadamard transform.
  • the motion prediction / compensation circuit 43a specifies the maximum value among the calculation results of Expression (5) performed on each 4x4 pixel data in the block data, and sets it as Max4x4.
  • the motion prediction / compensation circuit 43a calculates the index data SATDa by adding “Max4 ⁇ 4” to SATD and dividing by 2.
  • the motion prediction 'compensation circuit 43a can calculate the index data SATDa in which the influence of Max4x4 (the maximum value of the difference) is strongly reflected by using the above equation (18) as compared with the case where only SATD is used.
  • FIG. 13 is an example of a hardware configuration diagram of the motion prediction / compensation circuit 43a shown in FIG.
  • the motion prediction / compensation circuit 43a has, for example, an interface 81, a memory 82, and a processing circuit 83, which are connected via a data line 80.
  • the interface 81 performs data input / output with the screen rearrangement circuit 23, the lossless encoding circuit 27, and the frame memory 31.
  • the memory 82 stores the program PRG3 and various data used for the processing of the processing circuit 83.
  • the processing circuit 83 controls the motion prediction / compensation circuit 43a in accordance with the program PRG3 read from the memory 82.
  • the operation of the motion prediction / compensation circuit 43a described below is controlled by the processing circuit 83 in accordance with the program PRG3.
  • FIG. 14 is a flowchart for explaining an operation example of the motion prediction / compensation circuit 43a.
  • the motion prediction / compensation circuit 43a performs the following processing on the block data to be processed in the original image data S23.
  • the motion prediction 'compensation circuit 43a supports multiple 16x16 mode, Skip mode, Directl6xl6 mode, inter 8x16 mode, inter 16x8 mode, inter 8x8 mode, Direct8x8 mode, inter 4x8 mode, inter 8x4 mode, An unprocessed motion prediction 'compensation mode among the motion prediction' compensation modes' is specified.
  • the motion prediction 'compensation circuit 43a calculates the index data COSTam by the above-described method for the motion prediction' compensation mode specified in step ST41.
  • the motion prediction 'compensation circuit 43a determines, for all the motion prediction' compensation modes, whether or not the force at which the processing of step ST42 has been completed, and if it has been completed, proceeds to step ST44.
  • the motion prediction 'compensation circuit 43a selects the smallest motion prediction' compensation mode among the index data COSTam calculated in step ST42 in all the motion prediction 'compensation modes. Step ST45:
  • the motion prediction 'compensation circuit 43a outputs the prediction image data PImi and the index data COSTam generated corresponding to the motion prediction' compensation mode selected in step ST44 to the selection circuit 44.
  • the motion prediction / compensation circuit 43a determines at predetermined timing whether or not the selection signal S44 indicating that the motion prediction / compensation mode has been selected from the selection circuit 44 has been input. Proceed to ST47; otherwise, end the process.
  • the motion prediction 'compensation circuit 43a performs the motion prediction' compensation mode MPM selected in step ST44. , The motion vector MV and the identification data of the reference image data are output to the lossless encoding circuit 27.
  • the motion prediction / compensation circuit 43a includes a SATD calculating circuit 91, a maximum value specifying circuit 92, a COST calculating circuit 93, and a mode.
  • a judgment circuit 94 may be provided.
  • the SATD calculating circuit 91 calculates the above equation (5) and adds the result to calculate the SATD.
  • the maximum value specifying circuit 92 specifies the maximum value among the calculation results of the equation (5) performed on each 4x4 pixel data in the block data, and sets it as Max4x4.
  • the COST calculation circuit 93 calculates the index data SATDa using SATD as described above.
  • mode determination circuit 74 performs the process of step ST44 shown in FIG.
  • the overall operation example of the encoding device 2a is the same as that of the encoding device 2 of the first embodiment except that the above-described operations are performed in the intra prediction circuit 41a and the motion prediction / compensation circuit 43. It is.
  • all the index data COSTai and COSTam respectively generated by the intra prediction circuit 41a and the motion prediction / compensation circuit 43a are output to the selection circuit 44, and the minimum index data is output to the selection circuit 44. May be specified! / ,.
  • the encoding device 2a even if the code amount of some blocks in the macroblock to be processed is large and the code amount of most other blocks is small, the code amount of some blocks is small. In addition, it is possible to select an appropriate mode in terms of image quality and to provide a high-quality image.
  • the motion prediction and compensation circuit 43a calculates the index data SATDa as shown in FIG. 16 and the following equations (19) to (23).
  • a, b, c, d, e, f, g, h, i, and j are predetermined coefficients.
  • coefficients a, c, e, g, and i correspond to the first coefficient of the fourth invention
  • coefficients b, d, f, h, and j correspond to the second coefficient of the fourth invention.
  • the intra prediction circuit 41a calculates the index data SATDa in the inter 16 ⁇ 16 mode based on FIG. 16A and the following equation (19).
  • SATDa (a * SATD + b * Max4x4 * 16) / (a + b)
  • the intra prediction circuit 41a and the motion prediction / compensation circuit 43a provide the index in the intra 16x16 mode, the intra 4x4 mode, the Skip mode, and the Direct6xl6 mode based on FIG. 16B and the following equation (20).
  • Data SATDa is calculated.
  • the motion prediction 'compensation circuit 43a calculates the index data SATDa in the inter 8x16 mode and the inter 16x8 mode based on Fig. 16 (C) and the following equation (21).
  • SATDa ( ⁇ * SATD + f * Max4x4 * 8) Z (e + f)
  • the motion prediction 'compensation circuit 43a operates in the inter 8x8 mode and the Direct 8x8 mode.
  • the index data SATDa is calculated based on FIG. 16 (D) and the following equation (22).
  • the motion prediction 'compensation circuit 43a calculates the index data SATDa in the inter 4x8 mode and the inter 8x4 mode based on Fig. 16 (E) and the following equation (23).
  • the motion prediction / compensation circuit 43a calculates the index data SATDa in the inter 4 ⁇ 4 mode based on FIG. 16 (F) and the following equation (24).
  • the coefficients a, b, c, d, e, f, g, h, i, j can be set from the outside, and the weighting between SATD and Max4x4 can be set freely. it can.
  • the present invention may use modes other than the above-described intra prediction mode and motion prediction / compensation mode.
  • the present invention is applicable to a system for encoding image data.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

 動き予測・補償回路は、予測動きベクトルと実際の動きベクトルとの間の差分が所定の基準値を超えた場合に、動き予測・補償モードのうちSkipモードおよびDirectモードを選択しない。

Description

明 細 書
画像処理装置、そのプログラムおよびその方法
技術分野
[0001] 本発明は、画像データを符号化するために用いられる画像処理装置、そのプロダラ ムおよびその方法に関する。
背景技術
[0002] 近年、画像データデジタルとして取り扱!/、、その際、効率の高!、情報の伝送、蓄積 を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と 動き補償により圧縮する MPEG(Moving Picture Experts Group)などの方式に準拠し た装置が、放送局などの情報配信、及び一般家庭における情報受信の双方におい て普及しつつある。
[0003] MPEG2, 4方式に続いて AVCZh. 264と呼ばれる符号化方式が提案されている
AVC/h. 264方式では、符号ィ匕において、イントラ予測モードおよび動き予測'補 償モードの各々について複数のモードが規定され、画像データの特性を基に、符号 量が最も小さ 、 (符号ィ匕効率が最も高 、)モードが選択される。
発明の開示
発明が解決しょうとする課題
[0004] ところで、上述した動き予測'補償モードには、処理対象のブロックデータの周囲の ブロックデータの動きベクトルを基に予測を行うことで、動きベクトルを符号ィ匕しな 、D irectモードおよび Skipモードがある。
し力しながら、予測した動きベクトルが本来の動きベクトルと大幅に異なるときでも、
Directモードあるいは Skipモードの符号量が最小になり選択される場合があり、その 場合に復号画像に上記動きベクトルの相違によるジャンキーモーションが生じ、画質 劣化の要因となるという問題がある。
[0005] また、マクロブロック単位で当該マクロブロック全体の符号量のみを基にモード選択 を行った場合に、マクロブロック内の一部のブロックの符号量が大きぐそれ以外の大 半のブロックの符号量が小さい場合にマクロブロック全体の符号量が小さくなり、上記 一部のブロックの符号ィ匕に画質の観点力 不適切なモードが選択されてしまうことが あるという問題がある。
[0006] 本発明は力かる事情に鑑みてなされたものであり、従来に比べて高画質な符号ィ匕 を実現できる画像処理装置、そのプログラムおよびその方法を提供することを目的と する。
課題を解決するための手段
[0007] 上記の目的を達成するため、第 1の発明の画像処理装置は、 2次元画像領域内に 規定された複数のブロックのうち、処理対象の前記ブロックのブロックデータの動きべ タトルを生成し、当該動きベクトルと、当該動きベクトルを基に生成した予測ブロックデ ータと前記処理対象のブロックデータとの差分とを符号化するために用いられる画像 処理装置であって、前記処理対象のブロックデータの前記動きベクトルを他のブロッ クデータの動きベクトル力も予測し、当該予測した動きベクトルを符号ィ匕しない第 1の モードと、前記処理対象のブロックデータと参照画像データ内のブロックデータとの 差分を基に当該処理対象のブロックデータの動きベクトルを生成し、当該動きべタト ルと、前記処理対象のブロックデータと前記参照画像データ内の前記生成した動き ベクトルに対応した参照ブロックデータとの差分画像データとを符号ィ匕する第 2のモ ードとのそれぞれについて生成した前記動きベクトル間の差分が所定の基準を超え るか否かを判断する判断手段と、前記判断手段が前記所定の基準を超えると判断し た場合に前記第 2のモードを選択し、前記判断手段が前記所定の基準を超えな!/、と 判断した場合に、前記第 1のモードおよび前記第 2のモードのうち符号化による符号 量が最小となるモードを選択する選択手段とを有する。
[0008] 第 1の発明の画像処理装置の作用は以下のようになる。
先ず、判断手段が、処理対象のブロックデータの動きベクトルを他のブロックデータ の動きベクトルから予測し、当該予測した動きベクトルを符号ィ匕しない第 1のモードと 、前記処理対象のブロックデータと参照画像データ内のブロックデータとの差分を基 に当該処理対象のブロックデータの動きベクトルを生成する。
そして、前記判断手段が、前記生成した動きベクトルと、前記処理対象のブロックデ ータと前記参照画像データ内の前記生成した動きベクトルに対応した参照ブロックデ ータとの差分画像データとを符号ィ匕する第 2のモードとのそれぞれについて生成した 前記動きべ外ル間の差分が所定の基準を超える力否かを判断する。
次に、選択手段が、前記判断手段が前記所定の基準を超えると判断した場合に前 記第 2のモードを選択し、前記判断手段が前記所定の基準を超えな!/、と判断した場 合に、前記第 1のモードおよび前記第 2のモードのうち符号ィ匕による符号量が最小と なるモードを選択する。
[0009] 第 2の発明のプログラムは、 2次元画像領域内に規定された複数のブロックのうち、 処理対象の前記ブロックのブロックデータの動きベクトルを生成し、当該動きベクトル と、当該動きベクトルを基に生成した予測ブロックデータと前記処理対象のブロックデ ータとの差分とを符号ィ匕するための処理をコンピュータに実行させるプログラムであつ て、前記処理対象のブロックデータの前記動きベクトルを他のブロックデータの動き ベクトルから予測し、当該予測した動きベクトルを符号ィ匕しない第 1のモードと、前記 処理対象のブロックデータと参照画像データ内のブロックデータとの差分を基に当該 処理対象のブロックデータの動きベクトルを生成し、当該動きベクトルと、前記処理対 象のブロックデータと前記参照画像データ内の前記生成した動きベクトルに対応した 参照ブロックデータとの差分画像データとを符号ィ匕する第 2のモードとのそれぞれに ついて動きベクトルを生成する第 1の手順と、前記第 1の手順で生成した前記第 1の モードの動きベクトルと前記第 2のモードの動きベクトルとの間の差分が所定の基準 を超えるか否かを判断する第 2の手順と、前記第 2の手順で前記所定の基準を超え ると判断した場合に前記第 2のモードを選択し、前記所定の基準を超えないと判断し た場合に、前記第 1のモードおよび前記第 2のモードのうち符号化による符号量が最 小となるモードを選択する第 3の手順とを前記コンピュータに実行させる。
[0010] 第 2の発明のプログラムの作用は以下のようになる。
先ず、コンピュータが、当該プログラムを実行する。
そして、前記コンピュータが、当該プログラムの第 1の手順に従って、処理対象のブ ロックデータの前記動きベクトルを他のブロックデータの動きベクトルから予測し、当 該予測した動きベクトルを符号ィ匕しな 、第 1のモードと、前記処理対象のブロックデ ータと参照画像データ内のブロックデータとの差分を基に当該処理対象のブロックデ ータの動きベクトルを生成し、当該動きベクトルと、前記処理対象のブロックデータと 前記参照画像データ内の前記生成した動きベクトルに対応した参照ブロックデータと の差分画像データとを符号ィ匕する第 2のモードとのそれぞれについて動きベクトルを 生成する。
次に、前記コンピュータが、当該プログラムの第 2の手順に従って、前記第 1の手順 で生成した前記第 1のモードの動きベクトルと前記第 2のモードの動きベクトルとの間 の差分が所定の基準を超える力否かを判断する。
次に、前記コンピュータが、当該プログラムの第 3の手順に従って、前記第 2の手順 で前記所定の基準を超えると判断した場合に前記第 2のモードを選択し、前記所定 の基準を超えないと判断した場合に、前記第 1のモードおよび前記第 2のモードのう ち符号ィ匕による符号量が最小となるモードを選択する。
第 3の発明の画像処理方法は、 2次元画像領域内に規定された複数のブロックのう ち、処理対象の前記ブロックのブロックデータの動きベクトルを生成し、当該動きべク トルと、当該動きベクトルを基に生成した予測ブロックデータと前記処理対象のブロッ クデータとの差分とを符号化するための処理をコンピュータが実行する画像処理方 法であって、前記処理対象のブロックデータの前記動きベクトルを他のブロックデー タの動きベクトル力も予測し、当該予測した動きベクトルを符号ィ匕しない第 1のモード と、前記処理対象のブロックデータと参照画像データ内のブロックデータとの差分を 基に当該処理対象のブロックデータの動きベクトルを生成し、当該動きベクトルと、前 記処理対象のブロックデータと前記参照画像データ内の前記生成した動きベクトル に対応した参照ブロックデータとの差分画像データとを符号ィ匕する第 2のモードとの それぞれについて動きベクトルを生成する第 1の工程と、前記第 1の工程で生成した 前記第 1のモードの動きベクトルと前記第 2のモードの動きベクトルとの間の差分が所 定の基準を超えるか否かを判断する第 2の工程と、前記第 2の工程で前記所定の基 準を超えると判断した場合に前記第 2のモードを選択し、前記所定の基準を超えない と判断した場合に、前記第 1のモードおよび前記第 2のモードのうち符号化による符 号量が最小となるモードを選択する第 3の工程とを有する。 [0012] 第 4の発明の画像処理装置は、 2次元画像領域内に規定されたマクロブロックを構 成する単数または複数のブロックのうち処理対象の前記ブロックのブロックデータと、 当該ブロックデータの予測ブロックデータとを基に、前記ブロックデータを符号ィ匕する ために用いられる画像処理装置であって、処理対象の前記ブロックデータを構成す る単数または複数の単位ブロックデータを単位として、当該単位ブロックデータと当 該単位ブロックデータに対応した予測ブロックデータ内の単位ブロックデータとの差 分に応じた第 1の指標データを生成し、前記第 1の指標データのうち最大値を示す 第 1の指標データを特定し、前記第 1の指標データを基に、前記処理対象のブロック データを構成する前記単位ブロックデータについて生成した前記第 1の指標データ の総和に比べて、前記特定した前記第 1の指標データが値として強く反映された第 2 の指標データを生成する生成手段と、処理対象の前記マクロブロックにつ 、て規定さ れた前記ブロックデータのサイズ、動きベクトルの符号ィヒの有無、並びに前記差分の 符号ィ匕の有無のうち少なくとも一つが相互に異なる複数のモードのうち、前記処理対 象のマクロブロックを構成する単数または複数の前記ブロックデータについて前記生 成手段が生成した前記第 2の指標データの総和に応じた第 3の指標データを最小に するモードを選択する選択手段とを有する。
[0013] 第 4の発明の画像処理装置の作用は以下のようになる。
先ず、生成手段が、処理対象の前記ブロックデータを構成する単数または複数の 単位ブロックデータを単位として、当該単位ブロックデータと当該単位ブロックデータ に対応した予測ブロックデータ内の単位ブロックデータとの差分に応じた第 1の指標 データを生成し、前記第 1の指標データのうち最大値を示す第 1の指標データを特 定し、前記第 1の指標データを基に、前記処理対象のブロックデータを構成する前記 単位ブロックデータにっ 、て生成した前記第 1の指標データの総和に比べて、前記 特定した前記第 1の指標データが値として強く反映された第 2の指標データを生成す る。
次に、選択手段が、処理対象の前記マクロブロックについて規定された前記ブロッ クデータのサイズ、動きベクトルの符号化の有無、並びに前記差分の符号化の有無 のうち少なくとも一つが相互に異なる複数のモードのうち、前記処理対象のマクロブロ ックを構成する単数または複数の前記ブロックデータについて前記生成手段が生成 した前記第 2の指標データの総和に応じた第 3の指標データを最小にするモードを 選択する。
[0014] 第 5の発明のプログラムは、 2次元画像領域内に規定されたマクロブロックを構成す る単数または複数のブロックのうち処理対象の前記ブロックのブロックデータと、当該 ブロックデータの予測ブロックデータとを基に、前記ブロックデータを符号ィ匕する処理 をコンピュータに実行させるプログラムであって、処理対象の前記ブロックデータを構 成する単数または複数の単位ブロックデータを単位として、当該単位ブロックデータ と当該単位ブロックデータに対応した予測ブロックデータ内の単位ブロックデータとの 差分に応じた第 1の指標データを生成する第 1の手順と、前記第 1の手順で生成した 前記第 1の指標データのうち最大値を示す第 1の指標データを特定する第 2の手順と 、前記第 1の手順で生成した前記第 1の指標データを基に、前記処理対象のブロック データを構成する前記単位ブロックデータについて生成した前記第 1の指標データ の総和に比べて、前記第 2の手順で特定した前記第 1の指標データが値として強く 反映された第 2の指標データを生成する第 3の手順と、処理対象の前記マクロブロッ クにつ 、て規定された前記ブロックデータのサイズ、動きベクトルの符号化の有無、 並びに前記差分の符号ィヒの有無のうち少なくとも一つが相互に異なる複数のモード のうち、前記処理対象のマクロブロックを構成する単数または複数の前記ブロックデ ータについて前記第 3の手順で生成した前記第 2の指標データの総和に応じた第 3 の指標データを最小にするモードを選択する第 4の手順とを前記コンピュータに実行 させる。
[0015] 第 5の発明のプログラムの作用は以下のようになる。
先ず、コンピュータが、第 5の発明のプログラムを実行する。
そして、前記コンピュータが、当該プログラムの第 1の手順に従って、処理対象の前 記ブロックデータを構成する単数または複数の単位ブロックデータを単位として、当 該単位ブロックデータと当該単位ブロックデータに対応した予測ブロックデータ内の 単位ブロックデータとの差分に応じた第 1の指標データを生成する。
次に、前記コンピュータが、当該プログラムの第 2の手順に従って、前記第 1の手順 で生成した前記第 1の指標データのうち最大値を示す第 1の指標データを特定する 次に、前記コンピュータが、当該プログラムの第 3の手順に従って、前記第 1の手順 で生成した前記第 1の指標データを基に、前記処理対象のブロックデータを構成す る前記単位ブロックデータについて生成した前記第 1の指標データの総和に比べて 、前記第 2の手順で特定した前記第 1の指標データが値として強く反映された第 2の 指標データを生成する。
次に、前記コンピュータが、当該プログラムの第 4の手順に従って、処理対象の前 記マクロブロックにつ 、て規定された前記ブロックデータのサイズ、動きベクトルの符 号化の有無、並びに前記差分の符号化の有無のうち少なくとも一つが相互に異なる 複数のモードのうち、前記処理対象のマクロブロックを構成する単数または複数の前 記ブロックデータについて前記第 3の手順で生成した前記第 2の指標データの総和 に応じた第 3の指標データを最小にするモードを選択する。
第 6の発明の画像処理方法は、 2次元画像領域内に規定されたマクロブロックを構 成する単数または複数のブロックのうち処理対象の前記ブロックのブロックデータと、 当該ブロックデータの予測ブロックデータとを基に、前記ブロックデータを符号ィ匕する 処理をコンピュータが実行する画像処理方法であって、処理対象の前記ブロックデ ータを構成する単数または複数の単位ブロックデータを単位として、当該単位ブロッ クデータと当該単位ブロックデータに対応した予測ブロックデータ内の単位ブロック データとの差分に応じた第 1の指標データを生成する第 1の工程と、前記第 1の工程 で生成した前記第 1の指標データのうち最大値を示す第 1の指標データを特定する 第 2の工程と、前記第 1の工程で生成した前記第 1の指標データを基に、前記処理対 象のブロックデータを構成する前記単位ブロックデータについて生成した前記第 1の 指標データの総和に比べて、前記第 2の工程で特定した前記第 1の指標データが値 として強く反映された第 2の指標データを生成する第 3の工程と、処理対象の前記マ クロブロックにつ 、て規定された前記ブロックデータのサイズ、動きベクトルの符号ィ匕 の有無、並びに前記差分の符号化の有無のうち少なくとも一つが相互に異なる複数 のモードのうち、前記処理対象のマクロブロックを構成する単数または複数の前記ブ ロックデータについて前記第 3の工程で生成した前記第 2の指標データの総和に応 じた第 3の指標データを最小にするモードを選択する第 4の工程とを有する。
発明の効果
[0017] 本発明によれば、従来に比べて高画質な符号ィヒを実現できる画像処理装置、その プログラムおよびその方法を提供することができる。
図面の簡単な説明
[0018] [図 1]図 1は、本発明は、本発明の第 1実施形態の通信システムの構成図である。
[図 2]図 2は、図 1に示す符号ィ匕装置の機能ブロック図である。
[図 3]図 3は、図 1に示す動き予測,補償回路を説明するための図である。
[図 4]図 4は、図 1に示す動き予測 ·補償回路のハードウェア構成図を説明するための 図である。
[図 5]図 5は、図 1に示す動き予測 ·補償回路の動作例を説明するためのフローチヤ ートである。
[図 6]図 6は、図 1に示す動き予測,補償回路の動作例を説明するための図 5の続き のフローチャートである。
[図 7]図 7は、本発明の第 1実施形態の変形例を説明するための図である。
[図 8]図 8は、本発明は、本発明の第 2実施形態の符号化装置の機能ブロック図であ る。
[図 9]図 9は、図 8に示すイントラ予測回路のハードウェア構成図を説明するための図 である。
[図 10]図 10は、図 8に示すイントラ予測回路の動作例を説明するためのフローチヤ一 トである。
[図 11]図 11は、図 8に示すイントラ予測回路のその他のハードウェア構成図を説明す るための図である。
[図 12]図 12は、本発明の第 2実施形態における指標データ SATDaの算出方法を説 明するための図である。
[図 13]図 13は、図 8に示す動き予測'補償回路のハードウェア構成図を説明するた めの図である。 [図 14]図 14は、図 8に示す動き予測 ·補償回路の動作例を説明するためのフローチ ヤートである。
[図 15]図 15は、図 8に示す動き予測 ·補償回路のその他のハードウェア構成図を説 明するための図である。
[図 16]図 16は、本発明の第 2実施形態における指標データ SATDaのその他の算出 方法を説明するための図である。
符号の説明
[0019] 1…通信システム、 2…符号化装置、 3…復号装置、 22 AZD変換回路、 23…画 面並べ替え回路、 24· ··演算回路、 25· ··直交変換回路、 26· ··量子化回路、 27· ··可 逆符号化回路、 28· ··バッファ、 29· ··逆量子化回路、 30· ··逆直交変換回路、 31· ··フ レームメモリ、 32· ··レート制御回路、 33· ··カロ算回路、 34· ··デブロックフィルタ、 41· ·· イントラ予測回路、 43· ··動き予測 ·補償回路、 44· ··選択回路
発明を実施するための最良の形態
[0020] 以下、本発明の実施形態に係わる符号ィ匕装置について説明する。
<第 1実施形態 >
本実施形態は、第 1〜第 3の発明に対応した実施形態である。
先ず、本実施形態の構成要素と、本発明の構成要素との関係を説明する。 図 4に示す動き予測 ·補償回路 43の処理回路 53が図 5に示すステップ ST2, ST4 , ST6を実行することで第 1の発明の判断手段が実現される。
また、処理回路 53力 S図 5に示すステップ ST3, ST5, ST7, ST8, ST9を実行する ことで第 1の発明の選択手段が実現される。
また、図 5に示すステップ ST2, ST4, ST6力 第 2の発明の第 1の手順、並びに第 3の発明の第 1の工程に対応している。
また、図 5に示すステップ ST3, ST5, ST7, ST8, ST9力 第 2の発明の第 2の手 順、並びに第 3の発明の第 2の工程に対応している。
また、本実施形態のプログラム PRG1が第 2の発明のプログラムに対応している。
[0021] また、 Skipモードおよび Directモード力 本発明の第 1のモードに対応している。
また、インター 16x16モード、インター 8x16モード、インター 16x8モード、インター 8x8モード、インター 4x8モードおよびインター 4x4モードなどのインター基本モード 力 本発明の第 2のモードに対応している。
また、本実施形態のブロックデータ力 本発明のブロックデータに対応している。 また、画像データ S26が、本発明の差分画像データに対応している。
なお、本実施形態において、画像データおよび参照画像データは、例えば、フレー ムデータある 、はフィールドデータである。
[0022] 以下、本実施形態の通信システム 1について説明する。
図 1は、本実施形態の通信システム 1の概念図である。
図 1に示すように、通信システム 1は、送信側に設けられた符号化装置 2と、受信側 に設けられた復号装置 3とを有する。
符号ィ匕装置 2が本発明のデータ処理装置および符号ィ匕装置に対応している。 通信システム 1では、送信側の符号化装置 2において、離散コサイン変換やカルー ネン ·レーべ変換などの直交変換と動き補償によって圧縮したフレーム画像データ( ビットストリーム)を生成し、当該フレーム画像データを変調した後に、衛星放送波、ケ 一ブル TV網、電話回線網、携帯電話回線網などの伝送媒体を介して送信する。 受信側では、復号装置 3において受信した画像信号を復調した後に、上記変調時 の直交変換の逆変換と動き補償によって伸張したフレーム画像データを生成して利 用する。
なお、上記伝送媒体は、光ディスク、磁気ディスクおよび半導体メモリなどの記録媒 体であってもよい。
[0023] 図 1に示す復号装置 3は従来と同じ構成を有し符号ィ匕装置 2の符号ィ匕に対応した 復号を行う。
以下、図 1に示す符号ィ匕装置 2について説明する。
図 2は、図 1に示す符号ィ匕装置 2の全体構成図である。
図 2に示すように、符号化装置 2は、例えば、 AZD変換回路 22、画面並べ替え回 路 23、演算回路 24、直交変換回路 25、量子化回路 26、可逆符号化回路 27、バッ ファ 28、逆量子化回路 29、逆直交変換回路 30、フレームメモリ 31、レート制御回路 32、加算回路 33、デブロックフィルタ 34、イントラ予測回路 41、動き予測'補償回路 43および選択回路 44を有する。
[0024] 以下、符号化装置 2の構成要素について説明する。
AZD変換回路 22は、入力されたアナログの輝度信号 Y、色差信号 Pb, Prから構 成される原画像信号をデジタルの画像信号に変換し、これを画面並べ替え回路 23 に出力する。
画面並べ替え回路 23は、 AZD変換回路 22から入力した原画像信号内のフレー ム画像信号を、そのピクチャタイプ I, P, Bからなる GOP(Group Of Pictures)構造に 応じて、符号ィ匕する順番に並べ替えた原画像データ S23を演算回路 24、動き予測' 補償回路 43およびイントラ予測回路 41に出力する。
[0025] 演算回路 24は、原画像データ S23と、選択回路 44から入力した予測画像データ P Iとの差分を示す画像データ S24を生成し、これを直交変換回路 25に出力する。 直交変換回路 25は、画像データ S24に離散コサイン変換やカルーネン 'レーべ変 換などの直交変換を施して画像データ (例えば DCT係数) S25を生成し、これを量 子化回路 26に出力する。
量子化回路 26は、レート制御回路 32から入力した量子化スケールで、画像データ S25を量子化して画像データ S26 (量子化された DCT係数)を生成し、これを可逆 符号ィ匕回路 27および逆量子化回路 29に出力する。
[0026] 可逆符号化回路 27は、画像データ S26を可変長符号化ある ヽは算術符号化した 画像データをバッファ 28に格納する。
このとき、可逆符号化回路 27は、動き予測 ·補償回路 43から入力した動きベクトル MVあるいはその差分動きベクトル、参照画像データの識別データ、並びにイントラ 予測回路 41から入力したイントラ予測モード IPMをヘッダデータなどに格納する。
[0027] バッファ 28に格納された画像データは、変調等された後に送信される。
逆量子化回路 29は、画像データ S26を逆量子化したデータを生成し、これを逆直 交変換回路 30に出力する。
逆直交変換回路 30は、逆量子化回路 29から入力したデータに、直交変換回路 25 における直交変換の逆変換を施して生成した画像データを加算回路 33に出力する 加算回路 33は、逆直交変換回路 30から入力した (デコードされた)画像データと、 選択回路 44から入力した予測画像データ PIとを加算して再構成画像データを生成 し、これをデブロックフィルタ 34に出力する。
デブロックフィルタ 34は、加算回路 33から入力した再構成画像データのブロック歪 みを除去した画像データを、参照画像データ REFとしてフレームメモリ 31に書き込む なお、フレームメモリ 31には、例えば、動き予測 ·補償回路 43による動き予測 '補償 処理、並びにイントラ予測回路 41におけるイントラ予測処理の対象となっているピク チヤの再構成画像データ力 処理を終了したマクロブロック MBを単位として順に書 き込まれる。
[0028] レート制御回路 32は、例えば、ノ ッファ 28から読み出した画像データを基に量子 ィ匕スケールを生成し、これを量子化回路 26に出力する。
[0029] 以下、イントラ予測回路 41および動き予測 ·補償回路 43について詳細に説明する
〔イントラ予測回路 41〕
イントラ予測回路 41は、例えば、イントラ 4x4モードおよびイントラ 16x16モードなど の複数の予測モードのそれぞれについて処理対象のマクロブロック MBの予測画像 データ Pliを生成し、これと原画像データ S23内の処理対象のマクロブロック MBとを 基に、符号化されたデータの符号量の指標となる指標データ COSTiを生成する。 そして、イントラ予測回路 41は、指標データ COSTiを最小にするイントラ予測モー ドを選択する。
イントラ予測回路 41は、最終的に選択したイントラ予測モードに対応して生成した 予測画像データ Pliおよび指標データ COSTiを選択回路 44に出力する。
また、イントラ予測回路 41は、イントラ予測モードが選択されたことを示す選択信号 S44を入力すると、最終的に選択したイントラ予測モードを示す予測モード IPMを可 逆符号ィ匕回路 27に出力する。
なお、 Pスライスあるいは Bスライスに属するマクロブロック MBであっても、イントラ予 測回路 41によるイントラ予測符号ィ匕が行われる場合がある。 [0030] イントラ予測回路 41は、例えば、指標データ COSTiを下記式(1)に基づいて生成 する。
[0031] [数 1]
COSTi = JL (SATD+header_cost(mode) )
[0032] また、上記式(1)において、「i」は、例えば、処理対象のマクロブロック MBを構成す る上記イントラ予測モードに対応したサイズのブロックデータの各々に付された識別 番号である。上記式(1)の Xは、イントラ 16x16モードの場合は「1」であり、イントラ 4x 4モードの場合には「16」である。
イントラ予測回路 41は、処理対象のマクロブロック MBを構成する全てのブロックデ ータについて、「SATD+header— cost (mode) )」を算出し、これらをカ卩算して指標 データ COSTiを算出する。
header— cost (mode)は、符号ィ匕後の動きベクトル、参照画像データの識別デー タ、選択されたモード、量子化パラメータ(量子化スケール)などを含むヘッダデータ の符号量の指標となる指標データである。 header— cost (mode)の値は、予測モー ドによって異なる。
また、 SATDは、処理対象のマクロブロック MB内のブロックデータと、当該ブロック データの周囲の予め決められたブロックデータ(予測ブロックデータ)との間の差分画 像データの符号量の指標となる指標データである。
本実施形態では、単数または複数の予測ブロックデータによって予測画像データ P Iiが規定される。
[0033] SATDは、例えば、下記式(2)に示すように、処理対象のブロックデータ Orgと、予 測ブロックデータ preとの画素データ間の絶対値誤差和 (Sum of Absolute Difference) にアダマール変換 (Tran)を施した後のデータである。
下記式(2)の s, tによって、上記ブロックデータ内の画素が指定される。
[0034] [数 2] SATD=∑ ( I Tran (Org(s, t)— Pre(s, t) ) | )
s, t
... (2)
[0035] なお、 SATDの代わりに、下記式(3)で示す SADを用いてもよい。
また、 SATDの代わりに、 MPEG4, AVCで規定されている SSDなどの歪みや残 差を表わすその他の指標を用いてもょ 、。
[0036] [数 3]
SAD= . ( I Org{s, t)— Pre(s, t) | )
s, t
... (3)
[0037] 〔動き予測'補償回路 43〕
動き予測 ·補償回路 43は、画面並べ替え回路 23から入力した原画像データ S23 の処理対象のマクロブロック MB力インター符号ィ匕される場合に、複数の動き予測 · 補償モードの各々について、フレームメモリ 31に記憶された過去に符号ィ匕された参 照画像データ REFを基に、動き予測 ·補償モードによって規定されたブロックデータ を単位として、処理対象のブロックデータの動きベクトル MVおよび予測画像データ を生成する。
当該ブロックデータのサイズ、並びに参照画像データ REFは、例えば、動き予測- 補償モードによって規定される。
また、動き予測 ·補償回路 43は、上記動き予測'補償モードの各々について、原画 像データ S23内の処理対象のマクロブロック MBと、その予測ブロックデータ(予測画 像データ PIm)とを基に、符号化されたデータの符号量の指標となる指標データ CO STmを生成する。
そして、動き予測 ·補償回路 43は、指標データ COSTmを最小にする動き予測 '補 償モードを選択する。
動き予測'補償回路 43は、最終的に選択した動き予測'補償モードに対応して生 成した予測画像データ PImおよび指標データ COSTmを選択回路 44に出力する。 また、動き予測'補償回路 43は、最終的に選択した動き予測'補償モードに対応し て生成した動きベクトル、あるいは当該動きベクトルと予測動きベクトルとの間の差分 動きベクトルをを可逆符号ィ匕回路 27に出力する。
また、動き予測'補償回路 43は、最終的に選択された動き予測'補償モードを示す 動き予測 ·補償モード MEMを可逆符号ィ匕回路 27に出力する。
また、動き予測'補償回路 43は、動き予測'補償処理において選択した参照画像 デーサ (参照フレーム)の識別データを可逆符号ィ匕回路 27に出力する。
[0038] 動き予測 ·補償回路 43は、例えば、指標データ COSTmを下記式 (4)に基づ 、て 生成する。
[0039] 画
COSTm = 2. (SATD+ header cost (mode))
1≤!≤x …(
[0040] また、上記式 (4)にお!/、て、「i」は、例えば、処理対象のマクロブロック MBを構成す る上記動き予測'補償モードしたサイズのブロックデータの各々に付された識別番号 である。
すなわち、動き予測 ·補償回路 43は、処理対象のマクロブロック MBを構成する全 てのブロックデータについて、「SATD + head— cost (mode) )」を算出し、これらを 加算して指標データ COSTmを算出する。
head— cost (mode)は、符号ィ匕後の動きベクトル、参照画像データの識別データ 、選択されたモードや量子化パラメータ(量子化スケール)などを含むヘッダデータの 符号量の指標となる指標データである。 header— cost (mode)の値は、動き予測' 補償モードによって異なる。
また、 SATDは、処理対象のマクロブロック MB内のブロックデータと、動きベクトル MVによって指定される参照画像データ内のブロックデータ(参照ブロックデータ)と の間の差分画像データの符合量の指標となる指標データである。
本実施形態では、単数または複数の参照ブロックデータによって予測画像データ P Imが規定される。 [0041] SATDは、例えば、下記式(5)に示すように、処理対象のブロックデータ Orgと、参 照ブロックデータ(予測画像データ) Preとの画素データ間の絶対値誤差和にァダマ ール変換 (Tran)を施した後のデータである。
下記式(5)の s, tによって、上記ブロックデータ内の画素が指定される。
[0042] [数 5]
SATD= !■ ( I Tran(Org(s, t)— Pre(s, 0) | }
s, t
-. (5)
[0043] なお、 SATDの代わりに、下記式(6)で示す SADを用いてもよい。
また、 SATDの代わりに、 MPEG4, AVCで規定されている SSDなどの歪みや残 差を表わすその他の指標を用いてもょ 、。
[0044] [数 6]
SAD = Z- ( I Org(s, t)— Pre(s, t) I )
s
... (6)
[0045] 本実施形態では、動き予測 ·補償回路 43は、動き予測 ·補償モードとして、例えば、 インター基本モード、 Skipモード、 Directモードなどの種々のモードを備えている。
[0046] インター基本モードには、インター 16x16モード、インター 8x16モード、インター 16 x8モード、インター 8x8モード、インター 4x8モード、インター 4x4モードがあり、それ ぞれブロックデータのサイズ力 Si6xl6, 8x16, 16x8, 8x8, 4x8, 4x4である。
また、インター基本モードの各々のサイズにづいて、前方予測モード、後方予測モ ード、双方向予測モードが選択可能である。
ここで、前方予測モードは表示順が前の画像データを参照画像データとして用いる モードであり、後方予測モードは表示順が後の画像データを参照画像データとして 用いるモードであり、双方向予測モードは表示順が前と後との画像データを参照画 像データとして用いるモードである。
本実施形態では、動き予測 ·補償回路 43による動き予測 ·補償処理では、複数の 参照画像データを持つことができる。
[0047] 動き予測'補償回路 43は、インター基本モードにおいて、動きベクトルあるいはその 差分動きベクトルと、量子化された差分画像データである画像データ S26を可逆符 号ィ匕回路 27で符号ィ匕して画像データ S2に含める。
[0048] 次に、 Skipモードについて説明する。
Skipモードが最終的に選択されると、符号化装置 2の可逆符号化回路 27は、画像 データ S26および動きベクトル MVの何れの情報も符号ィ匕しな 、、すなわち画像デ ータ S2には含めない。
なお、可逆符号化回路 27は、動き予測'補償回路 43が選択した動き予測'補償モ ードを画像データ S2に含める。
復号装置 3は、画像データ S2に含まれる動き予測'補償モードが Skipモードを示 す場合に、処理対象のブロックデータの周囲のブロックデータの動きベクトルを基に 予測動きベクトルを生成し、この予測動きベクトルを基に復号画像データを生成する
Skipモードは、画像データ S26および動きベクトルの双方を符号ィ匕しないため、符 号量を著しく削減できる。
当該 Skipモードは、 Bピクチャにカ卩えて、 Pピクチャについても選択可能である。
[0049] 次に、 Directモードについて説明する。
Directモードが最終的に選択されると、符号化装置 2の可逆符号化回路 27は、動 きベクトル MVを符号化しな!、。
なお、可逆符号化回路 27は、動き予測 ·補償モードと画像データ S26とを符号ィ匕 する。
復号装置 3は、画像データ S2に含まれる動き予測'補償モードが Directモードを 示す場合に、処理対象のブロックデータの周囲のブロックデータの動きベクトルを基 に予測動きベクトルを生成し、この予測動きベクトルと符号ィ匕された上記画像データ S26とを基に復号画像データを生成する。
Directモードは、動きベクトルを符号ィ匕しないため、符号量を削減できる。 当該 Skipモードは、 Bピクチャにっ 、て選択可能である。 [0050] Directモードには、 16x16のブロックサイズを用いる 16xl6Directモードと、 8x8 のブロックサイズを用いる 8x8Directモードとがある。
また、 16xl6Directモードおよび 8x8Directモードの各々には、空間 (Spatial) Dir ectモードと、時間 (Temporal)Directモードとがある。
動き予測'補償回路 43は、空間 Directモードの場合に、処理対象のブロックデー タの周囲のブロックデータの動きベクトルを用いて、予測動きベクトル(動きベクトル) を生成する。
そして、動き予測 ·補償回路 43は、予測動きベクトルを基に参照ブロックデータを特 定して参照画像データ PImを生成する。
また、動き予測'補償回路 43は、時間 Directモードの場合に、処理対象のブロック データの参照画像データ内の対応する位置のブロックデータの動きベクトルを用い て、予測動きベクトル (動きベクトル)を生成する。
そして、動き予測 ·補償回路 43は、予測動きベクトルを基に参照ブロックデータを特 定して参照画像データ PImを生成する。
復号装置 3は、時間 Directモードが指定され、例えば、図 3に示すように、フレーム データ B内の処理対象のブロックデータがフレームデータ RL , RLを参照画像デー
0 1
タとし、フレームデータ RL内の対応する位置のブロックデータのフレームデータ RL
1 0 に対しての動きベクトルが MVcである場合に、下記式(7) , (8)に従って、動きべタト ル MV , MVを算出する。
0 1
下記式(7) , (8)において、 TD は参照画像データ RLと参照画像データ RLとの
D 0 1 間の表示タイミングの間隔を示し、 TDはフレームデータ Bと参照画像データ RLと
B 0 の間の表示タイミングの間隔を示す。
[0051] [数 7]
MV0= (TD8/TDD) * MV
... (7)
[0052] [数 8] V, = ( (TDD-TDB) TDD) * MVC
... (8)
[0053] 図 4は、動き予測 ·補償回路 43のハードウェア構成図の一例である。
図 4に示すように、動き予測 ·補償回路 43は、例えば、インタフェース 51、メモリ 52 および処理回路 53を有し、これらがデータ線 50を介して接続されて ヽる。
インタフェース 51は、画面並べ替え回路 23、可逆符号化回路 27およびフレームメ モリ 31とデータ入出力を行う。
メモリ 52は、プログラム PRG1、並びに処理回路 53の処理に用いられる種々のデ ータを記憶する。
処理回路 53は、メモリ 52から読み出したプログラム PRG1に従って、動き予測'補 償回路 43の処理を統括的に制御する。
[0054] 以下、動き予測'補償回路 43の動作例を説明する。
以下に示す動き予測 ·補償回路 43の動作は、処理回路 53がプログラム PRG1に従 つて制御する。
図 5および図 6は、動き予測 ·補償回路 43の動作例を説明するためのフローチヤ一 トである。
動き予測 ·補償回路 43は、以下に示す処理を、原画像データ S23内の処理対象の ブロックデータについて行う。
ステップ ST1:
動き予測'補償回路 43は、インター 16x16,インター 8x8、 Skip, Direct 16x16, Direct8x8のそれぞれにつ!/、て、上述した手順で処理対象のブロックデータの動き ベクトル MV (インター 16x16) , MV (インター 8x8) , MV(Skip) , MV (Direct 16x 16) , MV(Direct8x8)を生成する。
[0055] ステップ ST2 :
動き予測 ·補償回路 43は、ステップ ST1で生成した動きベクトル MV (skip)と動き ベクトル MV (インター 16x16)との差分ベクトルの絶対値が、予め決めた基準値 MV
RANGEより大きいか否かを判断し、大きいと判断するとステップ ST3に進み、そう でな 、場合にはステップ ST4に進む。
ステップ ST3 :
動き予測 ·補償回路 43は、後述する動き予測 ·補償モードの選択処理において、 S kipモードを非選択にすることを決定する。
ステップ ST4 :
動き予測'補償回路 43は、ステップ ST1で生成した動きベクトル MV (Direct8x8) と動きベクトル MV (インター 8x8)との差分ベクトルの絶対値力 予め決めた基準値 MV— RANGEより大きいか否かを判断し、大きいと判断するとステップ ST5に進み 、そうでない場合にはステップ ST6に進む。
ステップ ST5 :
動き予測 ·補償回路 43は、後述する動き予測 ·補償モードの選択処理において、 D irect8x8モードを非選択にすることを決定する。
ステップ ST6 :
動き予測'補償回路 43は、ステップ ST1で生成した動きベクトル MV (Directl6xl 6)と動きベクトル MV (インター 16x16)との差分ベクトルの絶対値力 予め決めた基 準値 MV— RANGEより大き 、か否かを判断し、大き 、と判断するとステップ ST7に 進み、そうでない場合にはステップ ST8に進む。
ステップ ST7 :
動き予測 ·補償回路 43は、後述する動き予測 ·補償モードの選択処理において、 D irectl6xl6モードを非選択にすることを決定する。
ステップ ST8 :
動き予測'補償回路 43は、ステップ ST3, ST5, ST7によって非選択に指定されな かった動き予測'補償モードについて、前述した手順で指標データ COSTmを算出 する。
ステップ ST9 :
動き予測'補償回路 43は、ステップ ST8で算出した指標モード COSTmを最小に する動き予測'補償モードを選択する。
ステップ ST10 : 動き予測'補償回路 43は、上記選択した動き予測'補償モードに対応して生成した 予測画像データ PImおよび指標データ COSTmを選択回路 44に出力する。
ステップ ST11 :
動き予測 ·補償回路 43は、選択回路 44から動き予測 ·補償モードが選択されたこと を示す選択信号 S44を入力したカゝ否カゝを所定のタイミングで判断し、入力したと判断 するとステップ ST12に進み、そうでない場合には処理を終了する。
ステップ ST12 :
動き予測 ·補償回路 43は、ステップ ST9で選択した動き予測 ·補償モードに対応し て生成した動きベクトル MV、あるいはその差分動きベクトル、並びに選択された動き 予測'補償モード MEMを可逆符号ィ匕回路 27に出力する。
[0057] 〔選択回路 44〕
選択回路 44は、動き予測 ·補償回路 43から入力した指標データ COSTmと、イント ラ予測回路 41から入力した指標データ COSTiとのうち小さい方を特定し、当該特定 した指標データに対応して入力した予測画像データ PImある ヽは Pliを演算回路 24 および加算回路 33に出力する。
また、選択回路 44は、指標データ COSTmが小さい場合に、動き予測 ·補償モード を選択したことを示す選択信号 S44を動き予測 ·補償回路 43に出力する。
一方、選択回路 44は、指標データ COSTiが小さい場合に、イントラ予測モードを 選択したことを示す選択信号 S44を動き予測 ·補償回路 43に出力する。
なお、本実施形態において、イントラ予測回路 41および動き予測 ·補償回路 43が それぞれ生成した全ての指標データ COSTi, COSTmを選択回路 44に出力し、選 択回路 44にお 、て最小の指標データを特定してもよ!/、。
[0058] 以下、図 2に示す符号化装置 2の全体動作を説明する。
入力となる画像信号は、まず、 AZD変換回路 22においてデジタル信号に変換さ れる。
次に、出力となる画像圧縮情報の GOP構造に応じ、画面並べ替え回路 23におい てフレーム画像データの並べ替えが行われ、それによつて得られた原画像データ S2 3が演算回路 24、動き予測 ·補償回路 43およびイントラ予測回路 41に出力される。 次に、演算回路 24が、画面並べ替え回路 23からの原画像データ S23と選択回路 44からの予測画像データ PIとの差分を検出し、その差分を示す画像データ S24を 直交変換回路 25に出力する。
[0059] 次に、直交変換回路 25が、画像データ S24に離散コサイン変換やカルーネン 'レ 一べ変換等の直交変換を施して画像データ (DCT係数) S25を生成し、これを量子 化回路 26に出力する。
次に、量子化回路 26が、画像データ S25を量子化し、画像データ(量子化された D CT係数) S26を可逆符号ィ匕回路 27および逆量子化回路 29に出力する。
次に、可逆符号化回路 27が、画像データ S26に可変長符号化あるいは算術符号 化等の可逆符号化を施して画像データ S28を生成し、これをバッファ 28に蓄積する また、レート制御回路 32が、ノ ッファ 28から読み出した画像データ S28を基に、量 子化回路 26における量子化レートを制御する。
[0060] また、逆量子化回路 29が、量子化回路 26から入力した画像データ S26を逆量子 化して逆直交変換回路 30に出力する。
そして、逆直交変換回路 30が、直交変換回路 25の逆変換処理を行って生成した 画像データを加算回路 33に出力する。
加算回路 33において、逆直交変換回路 30からの画像データと選択回路 44からの 予測画像データ PIとが加算されて再構成画像データが生成あれ、デブロックフィルタ 34に出力される。
そして、デブロックフィルタ 34において、再構成画像データのブロック歪みを除去し た画像データが生成され、これが参照画像データとして、フレームメモリ 31に書き込 まれる。
[0061] そして、イントラ予測回路 41にお 、て、上述したイントラ予測処理が行われ、その結 果である予測画像データ Pliと、指標データ COSTiとが選択回路 44に出力される。 また、動き予測 ·補償回路 43において、図 5および図 6を用いて説明した動き予測' 補償処理が行われ、その結果である予測画像データ PImと、指標データ COSTmと が選択回路 44に出力される。 そして、選択回路 44において、動き予測 ·補償回路 43から入力した指標データ CO STmと、イントラ予測回路 41から入力した指標データ COSTiとのうち小さい方を特 定し、当該特定した指標データに対応して入力した予測画像データ PImある 、は Pli を演算回路 24および加算回路 33に出力する。
[0062] 以上説明したように、符号化装置 2では、図 5および図 6を用いて説明したように、 動き予測'補償モードのうち、 Skip, Direct 16x16, Direct8x8モードの動きべタト ル MV力 インター基本モードの動きベクトル MVと所定の基準値以上の場合に、こ れらの動き予測'補償モードを非選択に指定する。
そのため、図 6に示すステップ ST9の処理において、これらの動き予測'補償モード が選択されることを回避できる。
すなわち、符号化装置 2では、指標データ COSTmが小さくても、 Skip, Direct 16 xl6, Direct8x8モードの動きベクトル MVが本来の動きベクトルと大幅にずれて!/ヽ る場合には、インター基本モードを強制的に選択して、動きベクトルあるいはその差 分動きベクトルと、量子化された差分画像データである画像データ S26を可逆符号 化回路 27で符号化して画像データ S2に含める。
[0063] そのため、上述した動きベクトルのずれによって復号画像上で視覚されるジャーキ 一モシヨンなどを抑制でき、高画質化を図れる。
[0064] <第 1実施形態の変形例 >
上述した実施形態では、図 5に示すステップ ST2, ST4, ST5において、動きべタト ル(Skip)と MV (インター 16x16)との間で、利用した参照画像データが同じであるこ とを前提としているが、参照画像データが異なる場合にも本発明は適用可能である。 例えば、図 7に示すように、フレームデータ B内の処理対象のブロックデータ力 Dir ectl6xl6モードにおいてフレームデータ F1を参照画像データとし、インター 16x16 モードにおいてフレームデータ F2を参照画像データとした場合を考える。
この場合には、下記式(9)を基に、動きベクトル MV (インター 16x16)を補正した動 きベクトル MV1 (インター 16x16)を図 5の判断に用いる。
下記式(9)において、 Tdirectは参照画像データ F1とフレームデータ Bとの間の表 示タイミングの間隔を示し、 Tinterはフレームデータ Bと参照画像データ F2との間の 表示タイミングの間隔を示す,
[0065] [数 9]
MV1 = (Tdirect/Tinter) * MV
... (9)
[0066] また、図 7に示すように、フレームデータ B内の処理対象のブロックデータ力 Direc tl6xl6モードにおいてフレームデータ F1を参照画像データとし、インター 16x16モ ードにおいてフレームデータ F3を参照画像データとした場合を考える。
この場合には、下記式(10)を基に、動きベクトル MV (インター 16x16)を補正した 動きベクトル MV2 (インター 16x16)を図 5の判断に用いる。
下記式(10)において、 Tdirectは参照画像データ F1とフレームデータ Bとの間の 表示タイミングの間隔を示し、 Tinterはフレームデータ Bと参照画像データ F3との間 の表示タイミングの間隔を示す。
[0067] [数 10] V2= (— Tdirect/Tinter) * MV
... ( 1 0)
[0068] <第 2実施形態 >
本実施形態は、第 4〜第 6の発明に対応した実施形態である。
先ず、本実施形態の構成要素と、本発明の構成要素との関係を説明する。 図 9に示すイントラ予測回路 41aの処理回路 63が図 10に示すステップ ST22で後 述する式(12)を基に指標データ SATDaを算出することで第 4の発明の生成手段が 実現される。
また、処理回路 63が、図 10に示すステップ ST22で後述する式(11)を基に指標デ ータ COSTaiを算出し、ステップ ST24を実行することで第 4の発明の選択手段が実 現される。
また、後述するように、イントラ予測回路 41aが、指標データ SATD (第 1の指標デ ータ)を算出する処理が第 5の発明の第 1の手順または第 6の発明の第 1の工程に対 応している。 また、イントラ予測回路 41aが、 Max4x4を特定する処理力 第 5の発明の第 2の手 順または第 6の発明の第 2の工程に対応している。
また、イントラ予測回路 41aが、後述する式(12)を基に指標データ SATDa (第 2の 指標データ)を算出する処理が、第 5の発明の第 3の手順または第 6の発明の第 3の 工程に対応している。
また、イントラ予測回路 41aが、後述する式(11)を基に指標データ COSTai (第 3の 指標データ)を算出し、図 10に示すステップ ST24を行う処理が、第 5の発明の第 4 の手順または第 6の発明の第 4の工程に対応している。
また、本実施形態のブロックデータ力 本発明のブロックデータに対応している。
[0069] また、同様に、図 13に示す動き予測 ·補償回路 43aの処理回路 83が図 14に示す ステップ ST42で後述する式( 15)を基に指標データ SATDaを算出することで第 4の 発明の生成手段が実現される。
また、処理回路 83が、図 14に示すステップ ST22で後述する式(14)を基に指標デ ータ COSTamを算出し、ステップ ST44を実行することで第 4の発明の選択手段が 実現される。
また、後述するように、動き予測'補償回路 43aが、指標データ SATD (第 1の指標 データ)を算出する処理が第 5の発明の第 1の手順または第 6の発明の第 1の工程に 対応している。
また、動き予測.補償回路 43aが、 Max4x4を特定する処理が、第 5の発明の第 2 の手順または第 6の発明の第 2の工程に対応している。
また、動き予測 ·補償回路 43aが、後述する式(15)を基に指標データ SATDa (第 2の指標データ)を算出する処理が、第 5の発明の第 3の手順または第 6の発明の第 3の工程に対応している。
また、動き予測 ·補償回路 43aが、後述する式(14)を基に指標データ COSTam ( 第 3の指標データ)を算出し、図 14に示すステップ ST44を行う処理が、第 5の発明 の第 4の手順または第 6の発明の第 4の工程に対応している。
[0070] また、本実施形態のプログラム PRG2, PRG3の各々力 第 5の発明のプログラムに 対応している。 [0071] 以下、本実施形態に係わる符号化装置について詳細に説明する。
図 8は、本発明の実施形態に係わる符号化装置 2aの全体構成図である。 図 8に示すように、符号化装置 2aは、例えば、 AZD変換回路 22、画面並べ替え 回路 23、演算回路 24、直交変換回路 25、量子化回路 26、可逆符号化回路 27、バ ッファ 28、逆量子化回路 29、逆直交変換回路 30、フレームメモリ 31、レート制御回 路 32、加算回路 33、デブロックフィルタ 34、イントラ予測回路 41a、動き予測'補償回 路 43aおよび選択回路 44を有する。
図 7において、図 2と同じ符号を付した構成要素は第 1実施形態で説明しものと同じ である。
本実施形態の符号化装置 2aは、イントラ予測回路 41aおよび動き予測'補償回路 4 3aに特徴を有している。
[0072] 〔イントラ予測回路 41a〕
イントラ予測回路 41aは、例えば、イントラ 4x4モードおよびイントラ 16x16モードな どの複数の予測モードのそれぞれについて処理対象のマクロブロック MBの予測画 像データ Pliを生成し、これと原画像データ S23内の処理対象のマクロブロック MBと を基に、符号化されたデータの符号量の指標となる指標データ COSTaiを生成する そして、イントラ予測回路 41aは、指標データ COSTaiを最小にするイントラ予測モ ードを選択する。
イントラ予測回路 41aは、最終的に選択したイントラ予測モードに対応して生成した 予測画像データ Pliおよび指標データ COSTaiを選択回路 44に出力する。
また、イントラ予測回路 41aは、イントラ予測モードが選択されたことを示す選択信 号 S44を入力すると、最終的に選択したイントラ予測モードを示す予測モード IPMを 可逆符号ィ匕回路 27に出力する。
なお、 Pスライスあるいは Bスライスに属するマクロブロック MBであっても、イントラ予 測回路 41aによるイントラ予測符号ィ匕が行われる場合がある。
[0073] イントラ予測回路 41aは、例えば、指標データ COSTaiを下記式(11)に基づいて 生成する。 [0074] [数 11]
GOSTai=∑ (SATDa+ header— cost (mode) )
[0075] 上記式(11)において、「i」は、例えば、処理対象のマクロブロック MBを構成する上 記イントラ予測モードに対応したサイズのブロックデータの各々に付された識別番号 である。
すなわち、イントラ予測回路 41aは、処理対象のマクロブロック MBを構成する全て のブロックデータについて、「SATDa + header— cost (mode) )」を算出し、これらを 加算して指標データ COSTaiを算出する。
header— cost (mode)は、選択されたイントラ予測モードや量子化パラメータ(量 子化スケール)などを含むヘッダデータの符号量の指標となる指標データであり、ィ ントラ予測モードによって異なる値を示す。
また、 SATDaは、処理対象のマクロブロック MB内のブロックデータと、当該ブロッ クデータの周囲の予め決められたブロックデータ(予測ブロックデータ)との間の差分 画像データの符号量の指標となる指標データである。
本実施形態では、単数または複数の予測ブロックデータによって予測画像データ P Iiが規定される。
[0076] 本実施形態は、 SATDaの算出方法に特徴を有している。
イントラ予測回路 41aは、イントラ 16x16モードおよびイントラ 4x4モードについての 指標データ SATDaを、図 12 (A)および下記式( 12)に示すように算出する。
[0077] [数 12]
SATDa = (SATD+Max4x4 * 16)/2
... ( 1 2)
[0078] 上記式(12)の「SATD」は、第 1実施形態で説明した式(5)と同じである。
但し、本実施形態では、イントラ予測回路 41aは、 16x16画素データで構成される ブロックデータについて、 4x4画素データを単位として上記式(5)の演算を行い、そ の結果を加算して SATDを算出する。 すなわち、 SATDは、例えば、処理対象のブロックデータ Orgと、予測画像データ( 参照ブロックデータ) Preとの画素データ間の絶対値誤差和にアダマール変換を施し た後のデータである。
ここで、イントラ予測回路 41aは、ブロックデータ内の各 4x4画素データについて行 つた式(5)の演算結果のうち最大値を特定し、それを Max4x4とする。
そして、イントラ予測回路 41aは、 SATDに「Max4x4 * 16」をカ卩算して 2で除算す ることで、指標データ SATDaを算出する。
イントラ予測回路 41aは、上記式(12)を用いることで、 SATDのみを用いる場合に 比べて、 Max4x4 (差分の最大値)の影響が強く反映された指標データ SATDaを算 出できる。
[0079] なお、 SATDの代わりに、第 1実施形態の式(3)で示す SADを用いてもよい。
また、 SATDの代わりに、 MPEG4, AVCで規定されている SSDなどの歪みや残 差を表わすその他の指標を用いてもょ 、。
[0080] 図 9は、図 8に示すイントラ予測回路 41aのハードウェア構成図の一例である。
図 9に示すように、イントラ予測回路 41aは、例えば、インタフェース 61、メモリ 62お よび処理回路 63を有し、これらがデータ線 60を介して接続されて ヽる。
インタフェース 61は、画面並べ替え回路 23、可逆符号化回路 27およびフレームメ モリ 31とデータ入出力を行う。
メモリ 62は、プログラム PRG2、並びに処理回路 63の処理に用いられる種々のデ ータを記憶する。
処理回路 63は、メモリ 62から読み出したプログラム PRG2に従って、イントラ予測回 路 41 a処理を統括的に制御する。
[0081] 以下、イントラ予測回路 41aの動作例を説明する。
以下に示すイントラ予測回路 41aの動作は、処理回路 63がプログラム PRG2に従 つて制御する。
図 10は、イントラ予測回路 41aの動作例を説明するためのフローチャートである。 イントラ予測回路 41aは、以下に示す処理を、原画像データ S23内の処理対象の ブロックデータについて行う。 ステップ ST21 :
イントラ予測回路 41aは、イントラ 16x16モードおよびイントラ 4x4モードを含む複数 のイントラ予測モードのうち未処理のイントラ予測モードを特定する。
ステップ ST22 :
イントラ予測回路 41aは、ステップ ST21で特定したイントラ予測モードについて、上 述した式( 12)を用 、て説明した手法で指標データ COSTaiを算出する。
ステップ ST23 :
イントラ予測回路 41aは、全てのイントラ予測モードについて、ステップ ST22の処 理を終了したか否かを判断し、終了したと判断するとステップ ST24に進み、そうでな V、場合にはステップ ST21に戻る。
[0082] ステップ ST24 :
イントラ予測回路 41 aは、全てのイントラ予測モードにっ 、てステップ ST22で算出 した指標データ COSTaiのうち最小のイントラ予測モードを選択する。
ステップ ST25 :
イントラ予測回路 41 aは、ステップ ST24で選択したイントラ予測モードに対応して 生成した予測画像データ Pliおよび指標データ COSTaiを選択回路 44に出力する。 ステップ ST26 :
イントラ予測回路 41aは、選択回路 44からイントラ予測モードが選択されたことを示 す選択信号 S44を入力したカゝ否カゝを所定のタイミングで判断し、入力したと判断する とステップ ST27に進み、そうでない場合には処理を終了する。
ステップ ST27 :
イントラ予測回路 41aは、ステップ ST24で選択したイントラ予測モード IPMを可逆 符号ィ匕回路 27に出力する。
[0083] なお、イントラ予測回路 41aは、図 9に示す構成の代わりに、例えば、図 11に示すよ うに、 SATD算出回路 71、最大値特定回路 72、 COST算出回路 73およびモード判 定回路 74を備えてもよい。
ここで、 SATD算出回路 71は、上記式(5)の演算を行い、その結果を加算して SA TDを算出する。 また、最大値特定回路 72は、ブロックデータ内の各 4x4画素データについて行つ た式(5)の演算結果のうち最大値を特定し、それを Max4x4とする。
COST算出回路 73は、 SATDに「Max4x4 * 16」をカ卩算して 2で除算することで、 指標データ SATDaを算出する。
また、モード判定回路 74は、図 10に示すステップ ST24の処理を行う。
〔動き予測'補償回路 43a〕
動き予測 ·補償回路 43aは、画面並べ替え回路 23から入力した原画像データ S23 の処理対象のマクロブロック MB力インター符号ィ匕される場合に、複数の動き予測 · 補償モードの各々について、フレームメモリ 31に記憶された過去に符号ィ匕された参 照画像データ REFを基に、動き予測 ·補償モードによって規定されたブロックデータ を単位として、処理対象のブロックデータの動きベクトル MVおよび予測画像データ を生成する。
当該ブロックデータのサイズ、並びに参照画像データ REFは、例えば、動き予測- 補償モードによって規定される。
また、動き予測'補償回路 43aは、上記動き予測'補償モードの各々について、原 画像データ S23内の処理対象のマクロブロック MBと、その予測ブロックデータ(予測 画像データ PIm)とを基に、符号化されたデータの符号量の指標となる指標データ C OSTamを生成する。
そして、動き予測 ·補償回路 43aは、指標データ COSTamを最小にする動き予測 · 補償モードを選択する。
動き予測'補償回路 43aは、最終的に選択した動き予測'補償モードに対応して生 成した予測画像データ PImおよび指標データ COSTmaを選択回路 44に出力する。 また、動き予測 ·補償回路 43aは、最終的に選択した動き予測 ·補償モードに対応 して生成した動きベクトル、あるいは当該動きベクトルと予測動きベクトルとの間の差 分動きベクトルを可逆符号ィ匕回路 27に出力する。
また、動き予測 ·補償回路 43aは、最終的に選択された動き予測 ·補償モード ME Mを可逆符号ィ匕回路 27に出力する。
また、動き予測 ·補償回路 43aは、動き予測 ·補償処理において選択した参照画像 デーサ (参照フレーム)の識別データを可逆符号ィ匕回路 27に出力する。
[0085] 動き予測 ·補償回路 43aは、例えば、指標データ COSTamを下記式(13)に基づ いて生成する。
[0086] [数 13]
COSTam = 2. (SATDa+ header— cost(mode) )
1 <i <x — ( 1 )
[0087] 上記式(13)において、「i」は、例えば、処理対象のマクロブロック MBを構成する上 記動き予測'補償モードに対応したサイズのブロックデータの各々に付された識別番 号である。
すなわち、動き予測 ·補償回路 43aは、処理対象のマクロブロック MBを構成する全 てのブロックデータについて、「SATDa + header— cost (mode) )」を算出し、これら を加算して指標データ COSTamを算出する。
header— cost (mode)は、動きベクトルあるいはその差分動きベクトル、参照画像 データの識別データ、選択された動き予測'補償モード、量子化パラメータ (量子化ス ケール)などを含むヘッダデータの符号量の指標となる指標データであり、動き予測 · 補償モードによって異なる値を示す。
また、 SATDaは、処理対象のマクロブロック MB内のブロックデータと、当該ブロッ クデータの周囲の予め決められたブロックデータ(予測ブロックデータ)との間の差分 画像データの符号量の指標となる指標データである。
本実施形態では、単数または複数の予測ブロックデータによって予測画像データ P Imが規定される。
[0088] 本実施形態は、 SATDaの算出方法に特徴を有している。
動き予測'補償回路 43aは、第 1実施形態で説明したインター 16x16モード、イント ラ 16x16モード、イントラ 4x4モード、 Skipモード、 Directl6xl6モードについての 指標データ SATDaを、図 12 (A)および下記式(14)に示すように算出する。
[0089] [数 14] SATDa = (SATD + M ax4x4 * 1 6)/2
... ( 1 4)
[0090] 上記式(14)の「SATD」は、第 1実施形態で説明した式(5)と同じである。
但し、動き予測 ·補償回路 43aは、 16x16画素データで構成されるブロックデータ について、 4x4画素データを単位として上記式(5)の演算を行い、その結果を加算し て SATDを算出する。
すなわち、 SATDは、例えば、処理対象のブロックデータ Orgと、予測画像データ( 参照ブロックデータ) Preとの画素データ間の絶対値誤差和にアダマール変換を施し た後のデータである。
ここで、動き予測.補償回路 43aは、ブロックデータ内の各 4x4画素データについて 行った式(5)の演算結果のうち最大値を特定し、それを Max4x4とする。
そして、動き予測'補償回路 43aは、 SATDに「Max4x4 * 16」を加算して 2で除算 することで、指標データ SATDaを算出する。
動き予測'補償回路 43aは、上記式(14)を用いることで、 SATDのみを用いる場合 に比べて、 Max4x4 (差分の最大値)の影響が強く反映された指標データ SATDaを 算出できる。
[0091] また、動き予測'補償回路 43aは、インター 8x16モードおびインター 16x8モードに ついての指標データ SATDaを、図 12 (B)および下記式(15)に示すように算出する
[0092] [数 15]
SATDa = (SATD+Max4x4 * 8)/2
... (1 5)
[0093] 上記式(15)の「SATD」は、第 1実施形態で説明した式(5)と同じである。
但し、動き予測 ·補償回路 43aは、 8x16あるいは 16x8画素データで構成されるブ ロックデータについて、 4x4画素データを単位として上記式(5)の演算を行い、その 結果を加算して SATDを算出する。
すなわち、 SATDは、例えば、処理対象のブロックデータ Orgと、予測画像データ( 参照ブロックデータ) Preとの画素データ間の絶対値誤差和にアダマール変換を施し た後のデータである。
ここで、動き予測.補償回路 43aは、ブロックデータ内の各 4x4画素データについて 行った式(5)の演算結果のうち最大値を特定し、それを Max4x4とする。
そして、動き予測'補償回路 43aは、 SATDに「Max4x4 * 8」を加算して 2で除算 することで、指標データ SATDaを算出する。
動き予測'補償回路 43aは、上記式(15)を用いることで、 SATDのみを用いる場合 に比べて、 Max4x4 (差分の最大値)の影響が強く反映された指標データ SATDaを 算出できる。
[0094] また、動き予測'補償回路 43aは、インター 8x8モードおよび第 1実施形態で説明し た Direct8x8モードについての指標データ SATDaを、図 12 (C)および下記式(16 )に示すように算出する。
[0095] [数 16]
SATDa = (SATD + Max4x4 * 4}/2
... (1 6)
[0096] 上記式(16)の「SATD」は、第 1実施形態で説明した式(5)と同じである。
但し、動き予測 ·補償回路 43aは、 8x8画素データで構成されるブロックデータにつ いて、 4x4画素データを単位として上記式(5)の演算を行い、その結果を加算して S ATDを算出する。
すなわち、 SATDは、例えば、処理対象のブロックデータ Orgと、予測画像データ( 参照ブロックデータ) Preとの画素データ間の絶対値誤差和にアダマール変換を施し た後のデータである。
ここで、動き予測.補償回路 43aは、ブロックデータ内の各 4x4画素データについて 行った式(5)の演算結果のうち最大値を特定し、それを Max4x4とする。
そして、動き予測'補償回路 43aは、 SATDに「Max4x4 * 4」を加算して 2で除算 することで、指標データ SATDaを算出する。
動き予測'補償回路 43aは、上記式(16)を用いることで、 SATDのみを用いる場合 に比べて、 Max4x4 (差分の最大値)の影響が強く反映された指標データ SATDaを 算出できる。
[0097] また、動き予測'補償回路 43aは、インター 4x8モードおよびインター 8x4モードに ついての指標データ SATDaを、図 12 (D)および下記式(17)に示すように算出する
[0098] [数 17]
SATDa = (SATD+Max4x4 * 2) 2
... ( 1 7)
[0099] 上記式(17)の「SATD」は、第 1実施形態で説明した式(5)と同じである。
但し、動き予測 ·補償回路 43aは、 8x4あるいは 4x8画素データで構成されるブロッ クデータについて、 4x4画素データを単位として上記式(5)の演算を行い、その結果 を加算して S ATDを算出する。
すなわち、 SATDは、例えば、処理対象のブロックデータ Orgと、予測画像データ( 参照ブロックデータ) Preとの画素データ間の絶対値誤差和にアダマール変換を施し た後のデータである。
ここで、動き予測.補償回路 43aは、ブロックデータ内の各 4x4画素データについて 行った式(5)の演算結果のうち最大値を特定し、それを Max4x4とする。
そして、動き予測'補償回路 43aは、 SATDに「Max4x4 * 2」を加算して 2で除算 することで、指標データ SATDaを算出する。
動き予測'補償回路 43aは、上記式(17)を用いることで、 SATDのみを用いる場合 に比べて、 Max4x4 (差分の最大値)の影響が強く反映された指標データ SATDaを 算出できる。
[0100] また、動き予測'補償回路 43aは、インター 4x4モードについての指標データ SAT
Daを、図 12 (E)および下記式( 18)に示すように算出する。
[0101] [数 18]
SATDa = (SATD+ ax4x4)
.. ( 1 8) [0102] 上記式(18)の「SATD」は、第 1実施形態で説明した式(5)と同じである。
但し、動き予測 ·補償回路 43aは、 4x4で構成されるブロックデータについて、 4x4 画素データを単位として上記式(5)の演算を行!、、その結果を加算して SATDを算 出する。
すなわち、 SATDは、例えば、処理対象のブロックデータ Orgと、予測画像データ( 参照ブロックデータ) Preとの画素データ間の絶対値誤差和にアダマール変換を施し た後のデータである。
ここで、動き予測.補償回路 43aは、ブロックデータ内の各 4x4画素データについて 行った式(5)の演算結果のうち最大値を特定し、それを Max4x4とする。
そして、動き予測 ·補償回路 43aは、 SATDに「Max4x4」を加算して 2で除算する ことで、指標データ SATDaを算出する。
動き予測'補償回路 43aは、上記式(18)を用いることで、 SATDのみを用いる場合 に比べて、 Max4x4 (差分の最大値)の影響が強く反映された指標データ SATDaを 算出できる。
[0103] なお、 SATDの代わりに、第 1実施形態の式(3)で示す SADを用いてもよい。
[0104] 図 13は、図 8に示す動き予測 ·補償回路 43aのハードウェア構成図の一例である。
図 13に示すように、動き予測 ·補償回路 43aは、例えば、インタフェース 81、メモリ 8 2および処理回路 83を有し、これらがデータ線 80を介して接続されて ヽる。
インタフェース 81は、画面並べ替え回路 23、可逆符号化回路 27およびフレームメ モリ 31とデータ入出力を行う。
メモリ 82は、プログラム PRG3、並びに処理回路 83の処理に用いられる種々のデ ータを記憶する。
処理回路 83は、メモリ 82から読み出したプログラム PRG3に従って、動き予測'補 償回路 43a処理を統括的に制御する。
[0105] 以下、動き予測'補償回路 43aの動作例を説明する。
以下に示す動き予測 ·補償回路 43aの動作は、処理回路 83がプログラム PRG3に 従って制御する。
図 14は、動き予測 ·補償回路 43aの動作例を説明するためのフローチャートである 動き予測 ·補償回路 43aは、以下に示す処理を、原画像データ S23内の処理対象 のブロックデータについて行う。
ステップ ST41 :
動き予測'補償回路 43aは、インター 16x16モード、 Skipモード、 Directl6xl6モ ード、インター 8x16モード、インター 16x8モード、インター 8x8モード、 Direct8x8 モード、インター 4x8モード、インター 8x4モード、インター 4x4モードを含む複数の 動き予測'補償モードのうち未処理の動き予測'補償モードを特定する。
ステップ ST42 :
動き予測'補償回路 43aは、ステップ ST41で特定した動き予測'補償モードについ て、上述した手法で指標データ COSTamを算出する。
ステップ ST43 :
動き予測'補償回路 43aは、全ての動き予測'補償モードについて、ステップ ST42 の処理を終了した力否かを判断し、終了したと判断するとステップ ST44に進み、そう でな 、場合にはステップ ST41に戻る。
ステップ ST44 :
動き予測'補償回路 43aは、全ての動き予測'補償モードにっ 、てステップ ST42で 算出した指標データ COSTamのうち最小の動き予測'補償モードを選択する。 ステップ ST45 :
動き予測'補償回路 43aは、ステップ ST44で選択した動き予測'補償モードに対応 して生成した予測画像データ PImiおよび指標データ COSTamを選択回路 44に出 力する。
ステップ ST46 :
動き予測 ·補償回路 43aは、選択回路 44から動き予測 ·補償モードが選択されたこ とを示す選択信号 S44を入力したカゝ否カゝを所定のタイミングで判断し、入力したと判 断するとステップ ST47に進み、そうでない場合には処理を終了する。
ステップ ST47 :
動き予測'補償回路 43aは、ステップ ST44で選択した動き予測'補償モード MPM 、動きベクトル MV、並びに参照画像データの識別データを可逆符号化回路 27に出 力する。
[0107] なお、動き予測 ·補償回路 43aは、図 13に示す構成の代わりに、例えば、図 15に 示すように、 SATD算出回路 91、最大値特定回路 92、 COST算出回路 93およびモ ード判定回路 94を備えてもょ 、。
ここで、 SATD算出回路 91は、上記式(5)の演算を行い、その結果を加算して SA TDを算出する。
また、最大値特定回路 92は、ブロックデータ内の各 4x4画素データについて行つ た式(5)の演算結果のうち最大値を特定し、それを Max4x4とする。
COST算出回路 93は、 SATDを用いて前述したように、指標データ SATDaを算 出する。
また、モード判定回路 74は、図 14に示すステップ ST44の処理を行う。
[0108] 符号ィ匕装置 2aの全体動作例は、イントラ予測回路 41aおよび動き予測 ·補償回路 4 3において上述した動作が行われる点を除いて、第 1実施形態の符号ィ匕装置 2と同じ である。
なお、本実施形態においても、イントラ予測回路 41aおよび動き予測 ·補償回路 43 aがそれぞれ生成した全ての指標データ COSTai, COSTamを選択回路 44に出力 し、選択回路 44にお 、て最小の指標データを特定してもよ!/、。
[0109] 以上説明したように、符号化装置 2aでは、イントラ予測回路 41aおよび動き予測-補 償回路 43aのモード選択において、 SATDのみを用いる場合に比べて、 Max4x4 ( 差分の最大値)の影響が強く反映された指標データ SATDaを用いる。
そのため、符号化装置 2aによれば、処理対象のマクロブロック内の一部のブロック の符号量が大きぐそれ以外の大半のブロックの符号量が小さい場合でも、上記一 部のブロックの符号ィ匕に画質の観点力も適切なモードが選択することができ、高画質 な画像を提供できる。
[0110] <第 2実施形態の変形例 >
上述した第 2実施形態では、図 12および式(12) ,式(14)〜(18)を基に指標デー タ SATDaを算出する場合を例示したが、本実施形態では、イントラ予測回路 41aお よび動き予測,補償回路 43aが、図 16および以下に示す式(19)〜(23)に示すよう に、指標データ SATDaを算出する。
下記式(19)〜(23)において、 a, b, c, d, e, f, g, h, i, jは、所定の係数である。 ここで、係数 a, c, e, g, iが第 4の発明の第 1の係数に対応し、係数 b, d, f, h, jが 第 4の発明の第 2の係数に対応している。
[0111] 例えば、イントラ予測回路 41aは、インター 16x16モードにおいて、図 16 (A)およ び下記式(19)を基に、指標データ SATDaを算出する。
[0112] [数 19]
SATDa = (a * SATD + b * Max4x4 * 1 6)/(a + b)
-.. ( 1 9)
[0113] また、イントラ予測回路 41aおよび動き予測 ·補償回路 43aは、イントラ 16x16モー ド、イントラ 4x4モード、 Skipモード、 Directl6xl6モードにおいて、図 16 (B)および 下記式 (20)を基に、指標データ SATDaを算出する。
[0114] [数 20]
SATDa = (c * SATD+d * ax4x4 * 1 6)/(c+d)
... (20)
[0115] また、動き予測'補償回路 43aは、インター 8x16モード、インター 16x8モードにお いて、図 16 (C)および下記式(21)を基に、指標データ SATDaを算出する。
[0116] [数 21]
SATDa = (© * SATD+f * Max4x4 * 8) Z (e+f)
[0117] また、動き予測'補償回路 43aは、インター 8x8モード、 Direct8x8モードにおいて
、図 16 (D)および下記式(22)を基に、指標データ SATDaを算出する。
[0118] [数 22] SATDa =(g* SATD +h* ax4x4 *4)/{g + h)
...(22)
[0119] また、動き予測'補償回路 43aは、インター 4x8モード、インター 8x4モードにおい て、図 16(E)および下記式(23)を基に、指標データ SATDaを算出する。
[0120] [数 23]
SATDa =(i * SATD+j * ax4x4 * 2)/(i+j)
...(23)
[0121] また、動き予測 ·補償回路 43aは、インター 4x4モードにおいて、図 16(F)および下 記式 (24)を基に、指標データ SATDaを算出する。
[0122] [数 24]
SATDa= (SATD+Max4x4)
-.. (24)
[0123] 本実施形態では、例えば、係数 a, b, c, d, e, f, g, h, i, jを、外部から設定可能と し、 SATDと、 Max4x4との重み付けを自由に設定できる。
例えば、本実施形態では、 a= 15, b = l, c = 7, d=l, e=l, f=l, g = 3, h=l , i=l, j =lと設定してもよい。
[0124] 本発明は上述した実施形態には限定されない。
本発明は、上述したイントラ予測モードおよび動き予測 ·補償モード以外のモードを 用いてもよい。
産業上の利用可能性
[0125] 画像データを符号ィ匕するシステムに適用可能である。

Claims

請求の範囲
[1] 2次元画像領域内に規定された複数のブロックのうち、処理対象の前記ブロックの ブロックデータの動きベクトルを生成し、当該動きベクトルと、当該動きベクトルを基に 生成した予測ブロックデータと前記処理対象のブロックデータとの差分とを符号化す るために用いられる画像処理装置であって、
前記処理対象のブロックデータの前記動きベクトルを他のブロックデータの動きべク トルから予測し、当該予測した動きベクトルを符号ィ匕しない第 1のモードと、前記処理 対象のブロックデータと参照画像データ内のブロックデータとの差分を基に当該処理 対象のブロックデータの動きベクトルを生成し、当該動きベクトルと、前記処理対象の ブロックデータと前記参照画像データ内の前記生成した動きベクトルに対応した参照 ブロックデータとの差分画像データとを符号ィ匕する第 2のモードとのそれぞれについ て生成した前記動きベクトル間の差分が所定の基準を超える力否かを判断する判断 手段と、
前記判断手段が前記所定の基準を超えると判断した場合に前記第 2のモードを選 択し、前記判断手段が前記所定の基準を超えないと判断した場合に、前記第 1のモ ードおよび前記第 2のモードのうち符号化による符号量が最小となるモードを選択す る選択手段と
を有する画像処理装置。
[2] 前記選択手段が選択した前記モードの識別データと、前記選択した前記モードに よって規定されたデータとを前記復号先に提供する処理を行う提供手段
をさらに有する
請求項 1に記載の画像処理装置。
[3] 前記選択手段は、前記処理対象のブロックデータと参照画像データ内の前記予測 した動きベクトルが指し示す参照ブロックデータとの差分画像データをさらに符号ィ匕 す前記第 1のモードを用いる
請求項 1に記載の画像処理装置。
[4] 前記選択手段は、前記処理対象のブロックデータが属するフレームデータあるいは フィールドデータ内の前記他のブロックデータの動きベクトルから前記予測を行う前 記第 1のモードを用いる
請求項 3に記載の画像処理装置。
[5] 前記選択手段は、前記処理対象のブロックデータが属するフレームデータあるいは フィールドデータと異なるフレームデータあるいはフィールドデータ内の前記他のブロ ックデータの動きベクトル力 前記予測を行う前記第 1のモードを用いる
請求項 3に記載の画像処理装置。
[6] 前記選択手段は、前記処理対象のブロックデータと参照画像データ内の前記予測 した動きベクトルが指し示す参照ブロックデータとの差分画像データを前記復号先に 提供しない前記第 1のモードを用いる
請求項 1に記載の画像処理装置。
[7] 前記判断手段は、前記第 1のモードと前記第 2のモードとの間で前記動きベクトル を生成するために用いたフレームデータあるいはフィールドデータが異なる場合に、 一方のモードにつ 、て生成した前記動きベクトルを、他方のモードにつ!、て用いた 参照画像データに対応するように変換し、前記変換した後の動きベクトルを用いて前 記差分を生成する
請求項 1に記載の画像処理装置。
[8] 2次元画像領域内に規定された複数のブロックのうち、処理対象の前記ブロックの ブロックデータの動きベクトルを生成し、当該動きベクトルと、当該動きベクトルを基に 生成した予測ブロックデータと前記処理対象のブロックデータとの差分とを符号化す るための処理をコンピュータに実行させるプログラムであって、
前記処理対象のブロックデータの前記動きベクトルを他のブロックデータの動きべク トルから予測し、当該予測した動きベクトルを符号ィ匕しない第 1のモードと、前記処理 対象のブロックデータと参照画像データ内のブロックデータとの差分を基に当該処理 対象のブロックデータの動きベクトルを生成し、当該動きベクトルと、前記処理対象の ブロックデータと前記参照画像データ内の前記生成した動きベクトルに対応した参照 ブロックデータとの差分画像データとを符号ィ匕する第 2のモードとのそれぞれについ て動きベクトルを生成する第 1の手順と、
前記第 1の手順で生成した前記第 1のモードの動きベクトルと前記第 2のモードの 動きべ外ルとの間の差分が所定の基準を超えるか否かを判断する第 2の手順と、 前記第 2の手順で前記所定の基準を超えると判断した場合に前記第 2のモードを 選択し、前記所定の基準を超えないと判断した場合に、前記第 1のモードおよび前 記第 2のモードのうち符号化による符号量が最小となるモードを選択する第 3の手順 と
を前記コンピュータに実行させるプログラム。
[9] 2次元画像領域内に規定された複数のブロックのうち、処理対象の前記ブロックの ブロックデータの動きベクトルを生成し、当該動きベクトルと、当該動きベクトルを基に 生成した予測ブロックデータと前記処理対象のブロックデータとの差分とを符号化す るための処理をコンピュータが実行する画像処理方法であって、
前記処理対象のブロックデータの前記動きベクトルを他のブロックデータの動きべク トルから予測し、当該予測した動きベクトルを符号ィ匕しない第 1のモードと、前記処理 対象のブロックデータと参照画像データ内のブロックデータとの差分を基に当該処理 対象のブロックデータの動きベクトルを生成し、当該動きベクトルと、前記処理対象の ブロックデータと前記参照画像データ内の前記生成した動きベクトルに対応した参照 ブロックデータとの差分画像データとを符号ィ匕する第 2のモードとのそれぞれについ て動きベクトルを生成する第 1の工程と、
前記第 1の工程で生成した前記第 1のモードの動きベクトルと前記第 2のモードの 動きベクトルとの間の差分が所定の基準を超えるか否かを判断する第 2の工程と、 前記第 2の工程で前記所定の基準を超えると判断した場合に前記第 2のモードを 選択し、前記所定の基準を超えないと判断した場合に、前記第 1のモードおよび前 記第 2のモードのうち符号ィ匕による符号量が最小となるモードを選択する第 3の工程 と
を有する画像処理方法。
[10] 2次元画像領域内に規定されたマクロブロックを構成する単数または複数のブロッ クのうち処理対象の前記ブロックのブロックデータと、当該ブロックデータの予測ブロ ックデータとを基に、前記ブロックデータを符号ィ匕するために用いられる画像処理装 置であって、 処理対象の前記ブロックデータを構成する単数または複数の単位ブロックデータを 単位として、当該単位ブロックデータと当該単位ブロックデータに対応した予測ブロッ クデータ内の単位ブロックデータとの差分に応じた第 1の指標データを生成し、前記 第 1の指標データのうち最大値を示す第 1の指標データを特定し、前記第 1の指標デ ータを基に、前記処理対象のブロックデータを構成する前記単位ブロックデータにつ いて生成した前記第 1の指標データの総和に比べて、前記特定した前記第 1の指標 データが値として強く反映された第 2の指標データを生成する生成手段と、
処理対象の前記マクロブロックにつ 、て規定された前記ブロックデータのサイズ、 動きベクトルの符号化の有無、並びに前記差分の符号化の有無のうち少なくとも一 つが相互に異なる複数のモードのうち、前記処理対象のマクロブロックを構成する単 数または複数の前記ブロックデータにつ 、て前記生成手段が生成した前記第 2の指 標データの総和に応じた第 3の指標データを最小にするモードを選択する選択手段 と
を有する画像処理装置。
[11] 前記複数のモードは、イントラ予測モードおよび動き予測 ·補償モードのうち少なく とも一方を含む
請求項 10に記載の画像処理装置。
[12] 前記生成手段は、前記処理対象のブロックデータを構成する前記単位ブロックデ ータについて生成した前記第 1の指標データの総和と、前記処理対象のブロックデ ータを構成する前記単位ブロックデータの数を前記特定した前記第 1の指標データ に乗じた結果とを加算した値に応じた前記第 2の指標データを生成する
請求項 10に記載の画像処理装置。
[13] 前記生成手段は、前記処理対象のブロックデータを構成する前記単位ブロックデ ータにつ 1、て生成した前記第 1の指標データの総和に第 1の係数を乗じた結果と、 前記処理対象のブロックデータを構成する前記単位ブロックデータの数および第 2の 係数を前記特定した前記第 1の指標データに乗じた結果とを加算した値に応じた前 記第 2の指標データを生成する
請求項 10に記載の画像処理装置。
[14] 2次元画像領域内に規定されたマクロブロックを構成する単数または複数のブロッ クのうち処理対象の前記ブロックのブロックデータと、当該ブロックデータの予測ブロ ックデータとを基に、前記ブロックデータを符号ィ匕する処理をコンピュータに実行させ るプログラムであって、
処理対象の前記ブロックデータを構成する単数または複数の単位ブロックデータを 単位として、当該単位ブロックデータと当該単位ブロックデータに対応した予測ブロッ クデータ内の単位ブロックデータとの差分に応じた第 1の指標データを生成する第 1 の手順と、
前記第 1の手順で生成した前記第 1の指標データのうち最大値を示す第 1の指標 データを特定する第 2の手順と、
前記第 1の手順で生成した前記第 1の指標データを基に、前記処理対象のブロック データを構成する前記単位ブロックデータについて生成した前記第 1の指標データ の総和に比べて、前記第 2の手順で特定した前記第 1の指標データが値として強く 反映された第 2の指標データを生成する第 3の手順と、
処理対象の前記マクロブロックにつ 、て規定された前記ブロックデータのサイズ、 動きベクトルの符号化の有無、並びに前記差分の符号化の有無のうち少なくとも一 つが相互に異なる複数のモードのうち、前記処理対象のマクロブロックを構成する単 数または複数の前記ブロックデータにつ 、て前記第 3の手順で生成した前記第 2の 指標データの総和に応じた第 3の指標データを最小にするモードを選択する第 4の 手順と
を前記コンピュータに実行させるプログラム。
[15] 2次元画像領域内に規定されたマクロブロックを構成する単数または複数のブロッ クのうち処理対象の前記ブロックのブロックデータと、当該ブロックデータの予測ブロ ックデータとを基に、前記ブロックデータを符号ィ匕する処理をコンピュータが実行する 画像処理方法であって、
処理対象の前記ブロックデータを構成する単数または複数の単位ブロックデータを 単位として、当該単位ブロックデータと当該単位ブロックデータに対応した予測ブロッ クデータ内の単位ブロックデータとの差分に応じた第 1の指標データを生成する第 1 の工程と、
前記第 1の工程で生成した前記第 1の指標データのうち最大値を示す第 1の指標 データを特定する第 2の工程と、
前記第 1の工程で生成した前記第 1の指標データを基に、前記処理対象のブロック テー
タを構成する前記単位ブロックデータについて生成した前記第 1の指標データの総 和に比べて、前記第 2の工程で特定した前記第 1の指標データが値として強く反映さ れた第 2の指標データを生成する第 3の工程と、
処理対象の前記マクロブロックにつ 、て規定された前記ブロックデータのサイズ、 動きベクトルの符号化の有無、並びに前記差分の符号化の有無のうち少なくとも一 つが相互に異なる複数のモードのうち、前記処理対象のマクロブロックを構成する単 数または複数の前記ブロックデータについて前記第 3の工程で生成した前記第 2の 指標データの総和に応じた第 3の指標データを最小にするモードを選択する第 4の 工程と
を有する画像処理方法。
PCT/JP2005/010020 2004-06-03 2005-06-01 画像処理装置、そのプログラムおよびその方法 Ceased WO2005120077A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR20067025489A KR20070033346A (ko) 2004-06-03 2005-06-01 화상 처리 장치, 그 프로그램 및 그 방법
US11/628,301 US20080049837A1 (en) 2004-06-03 2005-06-01 Image Processing Apparatus, Program for Same, and Method of Same
EP20050745737 EP1753247A1 (en) 2004-06-03 2005-06-01 Image processing device, program thereof, and method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004165453A JP2005348093A (ja) 2004-06-03 2004-06-03 画像処理装置、そのプログラムおよびその方法
JP2004-165453 2004-06-03

Publications (1)

Publication Number Publication Date
WO2005120077A1 true WO2005120077A1 (ja) 2005-12-15

Family

ID=35463208

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/010020 Ceased WO2005120077A1 (ja) 2004-06-03 2005-06-01 画像処理装置、そのプログラムおよびその方法

Country Status (7)

Country Link
US (1) US20080049837A1 (ja)
EP (1) EP1753247A1 (ja)
JP (1) JP2005348093A (ja)
KR (1) KR20070033346A (ja)
CN (1) CN1993993A (ja)
TW (1) TWI262726B (ja)
WO (1) WO2005120077A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007125458A3 (en) * 2006-04-27 2008-01-10 Koninkl Philips Electronics Nv Method and apparatus for encoding/transcoding and decoding
JP2010109903A (ja) * 2008-10-31 2010-05-13 Canon Inc 動きベクトル探索装置及び動きベクトル探索方法
EP1993292A4 (en) * 2006-03-09 2010-09-01 Nec Corp METHOD AND DEVICE FOR DYNAMIC IMAGE CODING AND PROGRAM THEREWITH
US8311120B2 (en) 2006-12-22 2012-11-13 Qualcomm Incorporated Coding mode selection using information of other coding modes
US9161046B2 (en) 2011-10-25 2015-10-13 Qualcomm Incorporated Determining quantization parameters for deblocking filtering for video coding

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101270167B1 (ko) 2006-08-17 2013-05-31 삼성전자주식회사 저복잡도의 이미지 압축 방법 및 장치, 저복잡도의 이미지복원 방법 및 장치
WO2008084817A1 (ja) * 2007-01-09 2008-07-17 Kabushiki Kaisha Toshiba 画像符号化と復号化の方法及び装置
US8233537B2 (en) * 2007-03-19 2012-07-31 Texas Instruments Incorporated Efficient implementation of H.264 4 by 4 intra prediction on a VLIW processor
JP4709187B2 (ja) * 2007-07-10 2011-06-22 日本電信電話株式会社 符号化パラメータ決定方法、符号化パラメータ決定装置、符号化パラメータ決定プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
WO2009048502A2 (en) * 2007-10-05 2009-04-16 Thomson Licensing Methods and apparatus for incorporating video usability information (vui) within a multi-view video (mvc) coding system
KR101505195B1 (ko) * 2008-02-20 2015-03-24 삼성전자주식회사 직접 모드 부호화 및 복호화 방법
KR100939917B1 (ko) 2008-03-07 2010-02-03 에스케이 텔레콤주식회사 움직임 예측을 통한 부호화 시스템 및 움직임 예측을 통한부호화 방법
JP4990927B2 (ja) * 2008-03-28 2012-08-01 三星電子株式会社 動きベクトル情報の符号化/復号化方法及び装置
IT1394145B1 (it) 2009-05-04 2012-05-25 St Microelectronics Srl Procedimento e dispositivo per la codifica video digitale, relativo segnale e prodotto informatico
SG10201402451XA (en) * 2009-05-29 2014-07-30 Mitsubishi Electric Corp Image encoding device, image decoding device, image encoding method, and image decoding method
US8594200B2 (en) * 2009-11-11 2013-11-26 Mediatek Inc. Method of storing motion vector information and video decoding apparatus
JP5341786B2 (ja) * 2010-01-20 2013-11-13 株式会社メガチップス 画像符号化装置及び画像変換装置
JP2013034162A (ja) * 2011-06-03 2013-02-14 Sony Corp 画像処理装置及び画像処理方法
JP5798467B2 (ja) * 2011-12-07 2015-10-21 ルネサスエレクトロニクス株式会社 符号化タイプ決定装置及び動画像符号化装置、符号化タイプ決定方法及び動画像符号化方法、プログラム
KR20240095362A (ko) * 2017-06-26 2024-06-25 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 부호화 장치, 복호 장치, 부호화 방법 및 복호 방법
US12568184B2 (en) * 2020-07-30 2026-03-03 Nvidia Corporation Techniques to generate interpolated video frames

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0750842A (ja) * 1993-03-12 1995-02-21 Thomson Consumer Electron Inc 動きベクトル処理装置
JPH10304383A (ja) * 1997-04-25 1998-11-13 Victor Co Of Japan Ltd 動き補償符号化装置、動き補償符号化方法及び符号化記録媒体
JP2002290977A (ja) * 2001-03-26 2002-10-04 Mitsubishi Electric Corp 動きベクトル検出装置
JP2003513565A (ja) * 1999-10-29 2003-04-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオ符号化方法
JP2003299102A (ja) * 2002-03-18 2003-10-17 Lg Electronics Inc ビデオ符号化システムにおけるbピクチャーモード決定方法及びその装置
JP2004032355A (ja) * 2002-06-26 2004-01-29 Nippon Telegr & Teleph Corp <Ntt> 動画像符号化方法,動画像復号方法,動画像符号化装置および動画像復号装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7154952B2 (en) * 2002-07-19 2006-12-26 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
BRPI0411765A (pt) * 2003-06-25 2006-08-08 Thomson Licensing codificação de decisão modal rápida para inter-quadros
US7609763B2 (en) * 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames
WO2006096612A2 (en) * 2005-03-04 2006-09-14 The Trustees Of Columbia University In The City Of New York System and method for motion estimation and mode decision for low-complexity h.264 decoder
US7667371B2 (en) * 2007-09-17 2010-02-23 Motorola, Inc. Electronic device and circuit for providing tactile feedback

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0750842A (ja) * 1993-03-12 1995-02-21 Thomson Consumer Electron Inc 動きベクトル処理装置
JPH10304383A (ja) * 1997-04-25 1998-11-13 Victor Co Of Japan Ltd 動き補償符号化装置、動き補償符号化方法及び符号化記録媒体
JP2003513565A (ja) * 1999-10-29 2003-04-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオ符号化方法
JP2002290977A (ja) * 2001-03-26 2002-10-04 Mitsubishi Electric Corp 動きベクトル検出装置
JP2003299102A (ja) * 2002-03-18 2003-10-17 Lg Electronics Inc ビデオ符号化システムにおけるbピクチャーモード決定方法及びその装置
JP2004032355A (ja) * 2002-06-26 2004-01-29 Nippon Telegr & Teleph Corp <Ntt> 動画像符号化方法,動画像復号方法,動画像符号化装置および動画像復号装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1993292A4 (en) * 2006-03-09 2010-09-01 Nec Corp METHOD AND DEVICE FOR DYNAMIC IMAGE CODING AND PROGRAM THEREWITH
US8428136B2 (en) 2006-03-09 2013-04-23 Nec Corporation Dynamic image encoding method and device and program using the same
WO2007125458A3 (en) * 2006-04-27 2008-01-10 Koninkl Philips Electronics Nv Method and apparatus for encoding/transcoding and decoding
US8311120B2 (en) 2006-12-22 2012-11-13 Qualcomm Incorporated Coding mode selection using information of other coding modes
JP2010109903A (ja) * 2008-10-31 2010-05-13 Canon Inc 動きベクトル探索装置及び動きベクトル探索方法
US9161046B2 (en) 2011-10-25 2015-10-13 Qualcomm Incorporated Determining quantization parameters for deblocking filtering for video coding

Also Published As

Publication number Publication date
TW200614821A (en) 2006-05-01
TWI262726B (en) 2006-09-21
EP1753247A1 (en) 2007-02-14
US20080049837A1 (en) 2008-02-28
KR20070033346A (ko) 2007-03-26
CN1993993A (zh) 2007-07-04
JP2005348093A (ja) 2005-12-15

Similar Documents

Publication Publication Date Title
WO2005120077A1 (ja) 画像処理装置、そのプログラムおよびその方法
EP2214415B1 (en) A dual prediction video encoding and decoding method and a device
KR101538704B1 (ko) 보간 필터를 적응적으로 사용하여 영상을 부호화 및 복호화하는 방법 및 장치
JP5513584B2 (ja) イントラ予測映像復号化のための方法及び装置
KR20110071231A (ko) 부호화 방법, 복호화 방법 및 장치
KR20090099234A (ko) 영상의 부호화, 복호화 방법 및 장치
KR20050061762A (ko) 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치
KR20110010324A (ko) 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치
KR20090095317A (ko) 영상 부호화 및 복호화 방법 및 장치
KR20110032671A (ko) 저주파수 성분을 고려한 영상 부호화/복호화 방법 및 장치
KR20200091848A (ko) 인트라 예측 방법 및 그 장치
KR20070005848A (ko) 인트라 예측 모드 결정 방법 및 장치
US7764740B2 (en) Fast block mode determining method for motion estimation, and apparatus thereof
JP4289126B2 (ja) データ処理装置およびその方法と符号化装置
JP2005110083A (ja) データ処理装置およびその方法と符号化装置
JP2004241957A (ja) 画像処理装置および符号化装置とそれらの方法
JP2009260421A (ja) 動画像処理システム、符号化装置、符号化方法、符号化プログラム、復号化装置、復号化方法および復号化プログラム
JP2005252609A (ja) データ処理装置およびその方法と符号化装置
JP4349109B2 (ja) 画像データ処理装置、その方法、および、符号化装置
KR20110098089A (ko) 영상 부호화 장치 및 그 방법, 및 영상 복호화 장치 및 그 방법
KR20160053848A (ko) 영상의 인트라 예측 부호화/복호화 방법 및 그 장치
JP4438749B2 (ja) 符号化装置、符号化方法およびプログラム
JP2004320437A (ja) データ処理装置、符号化装置およびそれらの方法
JP4423968B2 (ja) 符号化装置
JP2008079170A (ja) 画像データ処理装置、画像データ処理方法、画像データ処理方法のプログラム及び画像データ処理方法のプログラムを記録した記録媒体

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY 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): BW GH GM KE LS MW MZ NA 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 IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

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

Ref document number: 2005745737

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 6750/DELNP/2006

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 11628301

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1020067025489

Country of ref document: KR

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Ref document number: DE

WWE Wipo information: entry into national phase

Ref document number: 200580026529.X

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2005745737

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020067025489

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 11628301

Country of ref document: US