WO2019021853A1 - 画像処理装置および方法 - Google Patents

画像処理装置および方法 Download PDF

Info

Publication number
WO2019021853A1
WO2019021853A1 PCT/JP2018/026428 JP2018026428W WO2019021853A1 WO 2019021853 A1 WO2019021853 A1 WO 2019021853A1 JP 2018026428 W JP2018026428 W JP 2018026428W WO 2019021853 A1 WO2019021853 A1 WO 2019021853A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
unit
moving
quantization parameter
moving object
Prior art date
Application number
PCT/JP2018/026428
Other languages
English (en)
French (fr)
Inventor
上野 弘道
Original Assignee
ソニーセミコンダクタソリューションズ株式会社
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 ソニーセミコンダクタソリューションズ株式会社 filed Critical ソニーセミコンダクタソリューションズ株式会社
Priority to US16/631,921 priority Critical patent/US20200162735A1/en
Publication of WO2019021853A1 publication Critical patent/WO2019021853A1/ja

Links

Images

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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding

Definitions

  • the present disclosure relates to an image processing apparatus and method, and more particularly to an image processing apparatus and method capable of suppressing a reduction in image quality.
  • motion detection is performed on a moving image, and a frame image of the moving image is divided into a stationary portion and a moving portion based on the result of the motion detection, and quantization parameters of the moving portion having a higher degree of attention
  • a method of improving the subjective image quality by lowering the rate see, for example, Patent Document 1.
  • the image is included in the image. Since the size of the reference image changes according to the direction of movement of the moving body to be moved, the coding difficulty of the image changes according to the direction of movement of the moving body.
  • the present disclosure has been made in view of such a situation, and makes it possible to suppress the reduction in image quality.
  • An image processing apparatus quantizes an image to be encoded, and uses the quantization parameter according to the encoding difficulty according to the moving direction of the moving object in the image to be encoded.
  • Image processing comprising: a quantization unit for quantizing an image of the moving object included in the image of the image; and an encoding unit for encoding the image to be encoded quantized by the quantization unit to generate a bit stream It is an apparatus.
  • the image processing method quantizes the image to be encoded, and uses the quantization parameter according to the encoding difficulty according to the moving direction of the moving object in the image to be encoded.
  • the image processing method comprises quantizing an image of the moving object included in the image and encoding the quantized image to be encoded to generate a bitstream.
  • an image to be encoded is quantized, and a quantization parameter according to the encoding difficulty according to the motion direction of the moving body in the image to be encoded is used.
  • the image of the moving object included in the image to be encoded is quantized, and the quantized image to be encoded is encoded to generate a bit stream.
  • an image can be processed.
  • reduction in image quality can be suppressed.
  • FIG. 1 is a block diagram showing an example of a schematic configuration of a network system. It is a block diagram showing an example of main composition of a computer.
  • Control of quantization> ⁇ Change in encoding difficulty depending on movement direction>
  • a quantization parameter QP
  • a moving part has a higher degree of attention than a non-moving part. Therefore, for example, motion detection is performed on a moving image as described in Patent Document 1, and a frame image of the moving image is divided into a still portion and a moving portion based on the result of the motion detection.
  • a method was proposed to improve the subjective image quality by lowering the quantization parameter of the part with high motion.
  • the image is included in the image. Since the size of the reference image changes according to the direction of movement of the moving body to be moved, the coding difficulty of the image changes according to the direction of movement of the moving body.
  • the image 10 of FIG. 1 is an example of (a frame image of) a moving image obtained by imaging a road.
  • the car (moving body) is moving from the front to the back.
  • the car (moving body) is moving from the back to the front.
  • a reference image generated from a past frame image is more than a moving object image of the current frame image Too big. That is, since a high resolution reference image can be used, the prediction accuracy is high and the encoding difficulty is relatively low.
  • the reference image generated from the past frame image is more than the moving image of the current frame image. Too small. That is, since a low resolution reference image is used, the prediction accuracy is low and the encoding difficulty is relatively high. In other words, if the other conditions are the same, the image of the moving body moving from the back to the front has a higher encoding difficulty than the image of the moving body moving from the front to the back.
  • a target bit rate is set for coding of a moving image, and coding is controlled so that the bit stream becomes the target bit rate. Therefore, unnecessary reduction in the image quality of the moving object image moving in the direction of higher encoding difficulty means unnecessary allocation of bit rate to that part and unnecessary allocation of bit rate to other parts. It is also a big thing. In other words, if the image of a moving body is quantized with the quantization parameter of a uniform value as described above, the bit rate allocation of the entire image becomes inappropriate, and the subjective image quality of the entire image becomes the target bit rate. There was a risk of reduction. In other words, the coding efficiency may be reduced with respect to the subjective image quality of the entire image.
  • quantization is performed using a uniform value quantization parameter regardless of the encoding difficulty level due to the movement direction of the moving body.
  • the image quality of the image may be different depending on the movement direction of the moving body. Therefore, for example, when a plurality of moving bodies moving in different directions are included in the image, the variation in image quality in the image increases, resulting in an unnatural image, which may reduce the subjective image quality of the entire image.
  • the image to be encoded is quantized, and the image of the moving object included in the image to be encoded is quantized using a quantization parameter according to the encoding difficulty according to the moving direction of the moving object in the image to be encoded
  • the encoded image to be encoded is encoded to generate a bit stream.
  • the image to be encoded is quantized, and the image to be encoded is included in the image to be encoded using a quantization parameter according to the encoding difficulty according to the moving direction of the moving object in the image to be encoded.
  • a quantizing unit that quantizes an image of a moving object to be processed, and an encoding unit that encodes the image to be encoded that has been quantized by the quantizing unit and generates a bit stream are provided.
  • the value of the quantization parameter can be set according to the degree of encoding difficulty according to the moving direction of the moving body, so that the image quality of the image of the moving body does not depend on the moving direction of the moving body.
  • bit rate allocation can be made more appropriate, and reduction of the subjective image quality of the entire image with respect to the target bit rate (reduction of the coding efficiency with respect to the subjective image quality of the entire image) can be suppressed. Further, when there are a plurality of moving objects moving in mutually different directions in the image, it is possible to suppress the variation in image quality in the image, suppress the discomfort due to the variation in image quality, and suppress the reduction in subjective image quality of the entire image. .
  • the quantizing unit may quantize the image of the moving object moving in the direction of high encoding difficulty using a smaller quantization parameter than when the moving object moves in the other direction. By doing this, it is possible to suppress the reduction in the image quality of the image of the moving object moving in the direction in which the encoding difficulty is high.
  • the direction in which the encoding difficulty is high may be, for example, a direction from the back of the image to the front.
  • the image of a moving object moving in the direction from the back to the front of the image generally has a high encoding difficulty because the reference image is smaller than the image of the current moving object. Therefore, the quantization unit quantizes the image of the moving object moving in the direction from the back to the front of this image using a smaller quantization parameter than when the moving object moves in the other direction, It is possible to suppress the reduction in the image quality of the image of the moving body.
  • the apparatus further includes a quantization parameter setting unit that sets a quantization parameter according to the encoding difficulty degree according to the moving direction of the moving body as described above, and the quantization unit determines the quantization set by the quantization parameter setting unit.
  • the parameter may be used to quantize the image of the moving object.
  • the quantization parameter can be set to a value according to the degree of encoding difficulty according to the moving direction of the moving object. Therefore, as described above, the reduction in the image quality of the entire image can be suppressed.
  • the above-mentioned quantization parameter setting unit lowers the quantization parameter (when the moving object moves in the other direction when the moving direction of the moving object is a direction in which the encoding difficulty is high) It may be set to a small value). By doing this, it is possible to improve the image quality of the image of the moving object moving in the direction in which the encoding difficulty is high.
  • the quantization parameter for other images may be increased (the quantization parameter may be set to a larger value).
  • the quantization parameter for the other image may be increased while decreasing the quantization parameter for the image of the moving object moving in the direction of high encoding difficulty. Also in these cases, it is possible to obtain the same effect as in the case of reducing the quantization parameter for the image of the moving object moving in the direction in which the encoding difficulty is high.
  • by controlling the quantization parameter for the other image it is possible to suppress that the rate control using the target bit rate by the control of the quantization parameter becomes difficult.
  • the above-mentioned quantization parameter setting unit raises the quantization parameter more than when the moving object moves in other directions (quantization parameter May be set to a larger value). By doing this, it is possible to reduce the image quality of the image of the moving object moving in the direction in which the encoding difficulty is low. Thereby, when there are a plurality of moving objects moving in mutually different directions in the image, the variation in image quality in the image is suppressed, the discomfort due to the variation in image quality is suppressed, and the reduction in subjective image quality of the entire image is suppressed. Can. In addition, an increase in bit rate due to the setting of the quantization parameter can be suppressed.
  • the quantization parameter for the other images may be lowered (the quantization parameter may be set to a smaller value).
  • the quantization parameter for the other images may be decreased. Also in these cases, it is possible to obtain the same effect as in the case of increasing the quantization parameter for the moving object image moving in the direction in which the encoding difficulty is low.
  • by controlling the quantization parameter for the other images it is possible to more easily suppress the reduction of the subjective image quality of the entire image due to the control of the quantization parameters.
  • the above-mentioned quantization parameter setting unit lowers the quantization parameter for an image of a moving object moving in the direction of high encoding difficulty (sets the quantization parameter to a smaller value), and the encoding difficulty May increase the quantization parameter (set the quantization parameter to a larger value) for the image of the moving object moving in the lower direction.
  • bit rate assigned to the image of the moving object moving in the direction of low coding difficulty can be assigned to the image of the moving object moving in the direction of high coding difficulty. Therefore, it is possible to suppress that rate control using the target bit rate by control of the quantization parameter becomes difficult.
  • the quantization parameter setting unit may further increase the amount of adjustment of the quantization parameter as the motion of the moving object increases.
  • the quantization parameter for the image of the moving object may be largely lowered as the movement of the moving object moving in the direction of high encoding difficulty increases.
  • the quantization parameter for the image of the moving object may be increased as the movement of the moving object moving in the direction in which the encoding difficulty level is lower is larger.
  • the quantization parameter for the image of the moving object is greatly reduced (the quantization parameter is set to a smaller value). It is possible to suppress the reduction of the image quality of the image of the moving body without depending on it. In particular, when there are a plurality of moving objects having different amounts of movement, it is possible to further suppress the variation in image quality due to the difference in the amount of movement. Therefore, the reduction of the subjective image quality of the entire image can be further suppressed.
  • the code amount increases when the quantization parameter is lowered as described above. Therefore, in order to achieve the target bit rate, the quantization parameter for the image of the moving object is greatly increased (the quantization parameter has a larger value) as the amount of movement of the moving object moving in the direction of lower encoding difficulty increases. ) May be set. By doing this, it becomes possible to suppress that rate control using the target bit rate becomes difficult.
  • the above-mentioned quantization parameter setting unit may set the quantization parameter based on the motion direction of the moving object specified based on the direction of the motion vector of the image of the moving object in the image to be encoded. . That is, the quantization parameter may be set based on the direction of the motion vector obtained as a result of the motion detection performed on the image to be encoded.
  • the image 20 of FIG. 2 is an example of (a frame image of) a moving image obtained by imaging a road as in the image 10 of FIG.
  • the car moving object
  • the car moves from the near side to the far side.
  • the car moves from the back to the front.
  • Each small square of the image 20 indicates a block (partial area) which is a unit of motion prediction of coding.
  • the arrow indicates the motion vector detected in that block. Blocks in which the arrow is omitted are blocks in which no motion vector was detected.
  • the motion vector is naturally easy to detect in the moving body part.
  • the direction of the motion vector often corresponds to the direction of motion of the moving body.
  • the motion direction of the moving body can be estimated by the direction of the motion vector. Therefore, by setting the quantization parameter based on the direction of the motion vector (the motion direction of the moving body specified based on), the image of the moving body is calculated using the quantization parameter according to the encoding difficulty degree by the motion direction. It can be quantized. Therefore, the image quality of the image of the moving object can be made independent of the moving direction of the moving object, and the reduction of the image quality can be suppressed.
  • FIG. 3 is a diagram illustrating an example of a main configuration of an embodiment of an image processing apparatus to which the present technology is applied.
  • the image processing apparatus 100 illustrated in FIG. 3 is an apparatus that captures an image of a subject and encodes and outputs the captured image obtained.
  • the image processing apparatus 100 performs ⁇ 1.
  • Control of Quantization> Quantization to which the present technology as described above is applied is performed.
  • the image processing apparatus 100 includes an imaging unit 111 and an image encoding unit 112 as illustrated in FIG. 3.
  • the imaging unit 111 performs processing related to imaging.
  • the imaging unit 111 includes, for example, a complementary metal oxide semiconductor (CMOS) image sensor or the like, receives light from a subject, performs photoelectric conversion, and performs A / D conversion, demosaicing, or the like to generate a captured image.
  • the imaging unit 111 supplies (the data of) the obtained captured image to the image coding unit 112.
  • the imaging unit 111 generates a moving image having each captured image as a frame image by repeating the above-described imaging, and supplies the moving image to the image encoding unit 112.
  • the image coding unit 112 performs processing relating to coding of the captured image.
  • the image encoding unit 112 encodes a captured image of a moving image, and generates and outputs encoded data (bit stream).
  • This coding scheme may be any scheme as long as it uses motion prediction and quantization.
  • AVC Advanced Video Coding
  • HEVC High Efficiency Video Coding
  • the image coding unit 112 uses ⁇ 1. As quantization in coding of the captured image. Control of Quantization> Quantization to which the present technology as described above is applied is performed.
  • the image coding unit 112 may have any configuration.
  • the image encoding unit 112 includes a central processing unit (CPU), a read only memory (ROM), a random access memory (RAM), and the like, and the CPU loads programs and data stored in the ROM into the RAM. The processing may be performed by executing the processing.
  • CPU central processing unit
  • ROM read only memory
  • RAM random access memory
  • FIG. 4 is a block diagram showing an example of the main configuration of the image coding unit 112 of FIG.
  • the image encoding unit 112 includes a screen rearrangement buffer 131, an operation unit 132, an orthogonal transform unit 133, a quantization unit 134, an encoding unit 135, and an accumulation buffer 136.
  • the image coding unit 112 includes an inverse quantization unit 137, an inverse orthogonal transformation unit 138, an operation unit 139, a filter 140, a frame memory 141, an intra prediction unit 142, an inter prediction unit 143, and a predicted image selection unit 144.
  • the image coding unit 112 includes a quantization parameter adjustment unit 145 and a coding control unit 146.
  • the screen rearrangement buffer 131 stores the images of each frame of the input image data in the display order, and the images of the frames of the stored display order are encoded for encoding according to GOP (Group Of Picture).
  • the image in which the order of the frames is rearranged is supplied to the calculation unit 132.
  • the screen rearrangement buffer 131 sets a processing unit (block).
  • the processing unit (block) will be described later.
  • the screen rearrangement buffer 131 calculates a cost function for each candidate of the division pattern (that is, the size of each block) of the processing unit, and sets the division pattern (size of each block) based on the value.
  • the screen rearrangement buffer 131 supplies the image of each frame to the calculation unit 132 in accordance with the set processing unit. Further, the screen rearrangement buffer 131 also supplies the image of each frame to the intra prediction unit 142 and the inter prediction unit 143 as well.
  • the calculation unit 132 subtracts the predicted image supplied from the intra prediction unit 142 or the inter prediction unit 143 via the predicted image selection unit 144 from the input image read out from the screen rearrangement buffer 131 in decoding order. For example, in the case of an image subjected to intra coding, the operation unit 132 subtracts the predicted image supplied from the intra prediction unit 142 from the image read from the screen rearrangement buffer 131. Also, for example, in the case of an image on which inter coding is performed, the calculation unit 132 subtracts the predicted image supplied from the inter prediction unit 143 from the image read from the screen rearrangement buffer 131. The calculation unit 132 supplies the difference information (residual data) obtained by the subtraction to the orthogonal transformation unit 133.
  • the orthogonal transformation unit 133 subjects the residual data supplied from the computation unit 132 to orthogonal transformation.
  • the orthogonal transformation unit 133 performs discrete cosine transformation, Karhunen-Loeve transformation, or the like as this orthogonal transformation.
  • the method of this orthogonal transformation is arbitrary and is not limited to the above-mentioned example.
  • the orthogonal transformation unit 133 supplies the orthogonal transformation coefficient (the orthogonally transformed residual data) obtained by the orthogonal transformation to the quantization unit 134. In the case of the mode in which the orthogonal transformation is skipped, the orthogonal transformation unit 133 supplies the residual data supplied from the calculation unit 132 to the quantization unit 134.
  • the quantization unit 134 quantizes the orthogonal transformation coefficient or residual data supplied from the orthogonal transformation unit 133. At this time, the quantization unit 134 performs quantization using the quantization parameter (QP) set by the quantization parameter adjustment unit 145.
  • QP quantization parameter
  • the quantization unit 134 obtains a quantization step (Qstep) using a quantization scale (Qscale) obtained from the quantization parameter etc., and divides the orthogonal transformation coefficient by the quantization step to obtain the orthogonality thereof.
  • the transform coefficients are quantized to calculate quantization coefficients.
  • the method of this quantization is arbitrary as long as it is performed using a quantization parameter.
  • the encoding scheme is not HEVC, any scheme other than the scheme defined in HEVC may be used.
  • the quantization unit 134 supplies the quantized orthogonal transformation coefficient or residual data (also referred to as quantization coefficient) obtained by the quantization to the encoding unit 135.
  • the encoding unit 135 losslessly encodes the quantization coefficient supplied from the quantization unit 134 by arithmetic coding (for example, CABAC (Context-Adaptive Binary Arithmetic Coding) or the like), and generates encoded data.
  • arithmetic coding for example, CABAC (Context-Adaptive Binary Arithmetic Coding) or the like
  • CABAC Context-Adaptive Binary Arithmetic Coding
  • this coding scheme is arbitrary and is not limited to the above-described example.
  • variable length coding such as CAVLC (Context-Adaptive Variable Length Coding) may be used.
  • the encoding unit 135 associates the metadata supplied from the encoding control unit 146 with the encoded data. For example, the encoding unit 135 sets (multiplexes) this metadata as part of header information of encoded data (also referred to as an encoded stream).
  • the term "associate” means, for example, that one data can be processed (linked) in processing the other data. That is, the data associated with each other may be collected as one data or may be individual data. For example, the information associated with the coded data (image) may be transmitted on a transmission path different from that of the coded data (image). Also, for example, information associated with encoded data (image) may be recorded on a recording medium (or another recording area of the same recording medium) different from the encoded data (image). Good. Note that this “association” may not be the entire data but a part of the data. For example, an image and information corresponding to the image may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part in a frame.
  • the encoding unit 135 supplies, to the encoding control unit 146, arbitrary information such as, for example, information necessary for generation of the metadata, information necessary for selecting an encoding method such as a prediction mode or a block size, and the like. Do. Furthermore, the encoding unit 135 supplies the storage buffer 136 with encoded data associated with metadata.
  • the accumulation buffer 136 temporarily holds the encoded data supplied from the encoding unit 135 and the metadata thereof.
  • the accumulation buffer 136 outputs the held encoded data and the metadata thereof to the outside of the image encoding unit 112 (image processing apparatus 100) at a predetermined timing.
  • the accumulation buffer 136 outputs, as a bit stream, encoded data to which the held metadata is added. That is, the accumulation buffer 136 is also an output unit that outputs the encoded data, and is also a transmission unit that transmits the encoded data.
  • the accumulation buffer 136 can provide the encoding control unit 146 with information on the held data amount (buffer amount).
  • the quantization coefficient obtained in the quantization unit 134 is also supplied to the inverse quantization unit 137.
  • the inverse quantization unit 137 inversely quantizes the quantization coefficient in a method corresponding to the quantization by the quantization unit 134.
  • Information necessary for inverse quantization (for example, quantization parameter etc.) from the quantization unit 134 via the encoding control unit 146 or from the quantization unit 134 or the quantization parameter adjustment unit 145 To get
  • the inverse quantization method is arbitrary as long as it corresponds to the quantization by the quantization unit 134.
  • the inverse quantization unit 137 supplies the orthogonal transformation coefficient obtained by the inverse quantization to the inverse orthogonal transformation unit 138.
  • the inverse orthogonal transformation unit 138 performs inverse orthogonal transformation on the orthogonal transformation coefficient supplied from the inverse quantization unit 137 by a method corresponding to orthogonal transformation processing by the orthogonal transformation unit 133.
  • the inverse orthogonal transform unit 138 acquires information necessary for the inverse orthogonal transform from the orthogonal transform unit 133 or the orthogonal transform unit 133 via the encoding control unit 146.
  • the method of this inverse orthogonal transformation is arbitrary if it is a method corresponding to the orthogonal transformation by the orthogonal transformation part 133.
  • the inverse orthogonal transformation unit 138 supplies the residual data (deconstructed residual data) obtained by the inverse orthogonal transformation to the operation unit 139.
  • the operation unit 139 adds the predicted image supplied from the intra prediction unit 142 or the inter prediction unit 143 via the predicted image selection unit 144 to the restored residual data supplied from the inverse orthogonal transform unit 138, A locally reconstructed image (hereinafter referred to as a reconstructed image) is obtained.
  • the reconstructed image is supplied to the filter 140.
  • the filter 140 appropriately performs filter processing such as a deblock filter or a sample adaptive offset (SAO) on the reconstructed image supplied from the arithmetic unit 139. By this, it is possible to remove block distortion of a reconstructed image, to reduce ringing, and to correct a deviation of pixel values.
  • filter processing such as a deblock filter or a sample adaptive offset (SAO)
  • the content of this filtering process is arbitrary and is not limited to the example described above.
  • other filter processing such as a Wiener Filter may be performed.
  • the filter 140 supplies the result of the filtering process (hereinafter, referred to as a decoded image) (including the one in which the filtering process is omitted) to the frame memory 141.
  • the frame memory 141 has a storage area for storing information, and stores the decoded image supplied from the filter 140 in the storage area. Further, the frame memory 141 supplies the stored decoded image as a reference image to the inter prediction unit 143 at a predetermined timing.
  • the reconstructed image obtained by the calculation unit 139 is also supplied to the intra prediction unit 142.
  • the intra prediction unit 142 uses the pixel value in the processing target picture, which is a reconstructed image supplied from the operation unit 139 as the reference image, the pixel value of the input image supplied from the screen rearrangement buffer 131, etc. Perform intra prediction (in-screen prediction) to be generated.
  • the intra prediction unit 142 performs this intra prediction in a plurality of intra prediction modes (for example, Angular prediction, DC prediction, Planer prediction, and the like) prepared in advance, and generates a prediction image by intra prediction.
  • This intra prediction mode is optional and is not limited to the above-described example.
  • the intra prediction may be performed in any mode or any number of modes. For example, when the coding scheme is not HEVC, intra prediction may be performed in other modes.
  • the intra prediction unit 142 generates prediction images in all candidate intra prediction modes, and supplies the prediction image generated in each intra prediction mode to the prediction image selection unit 144.
  • the inter prediction unit 143 performs inter prediction processing (motion prediction processing and compensation processing) using the input image supplied from the screen rearrangement buffer 131 and the reference image supplied from the frame memory 141. More specifically, the inter prediction unit 143 performs, as inter prediction processing, motion compensation processing according to a motion vector detected by performing motion prediction, and generates a prediction image by inter prediction. For example, the inter prediction unit 143 generates a prediction image by inter prediction of a plurality of inter prediction modes (for example, an inter mode, a merge mode, and the like) prepared in advance. That is, the inter prediction unit 143 is a motion detection unit that detects the motion of the moving object in the image to be encoded (input image) and calculates the motion vector of the image of the moving object.
  • inter prediction processing motion prediction processing and compensation processing
  • the inter prediction unit 143 can also select the skip mode in which the prediction image is used as the decoded image as it is by reusing the surrounding motion compensation prediction parameter, but the description thereof will be omitted. Moreover, this inter prediction mode is arbitrary and is not limited to the example mentioned above. The inter prediction may be performed in any mode or any number of modes. For example, when the coding scheme is not HEVC, intra prediction may be performed in other modes.
  • the inter prediction unit 143 generates prediction images in all the candidate inter prediction modes, and supplies the prediction image generated in each inter prediction mode to the prediction image selection unit 144. Further, the inter prediction unit 143 supplies the information indicating the motion vector obtained by the motion prediction to the quantization parameter adjustment unit 145.
  • the prediction image selection unit 144 selects a prediction mode by selecting an optimum prediction image from among prediction images of each prediction mode supplied from the intra prediction unit 142 and the inter prediction unit 143.
  • the predicted image selecting unit 144 calculates, for example, a cost function for the predicted image of each prediction mode, and selects a predicted image (that is, a prediction mode) whose value is the smallest.
  • the prediction image selection unit 144 supplies the prediction image of the intra prediction mode or the inter prediction mode selected as the optimum prediction mode to the calculation unit 132 and the calculation unit 139.
  • the quantization parameter adjustment unit 145 performs processing related to adjustment (setting) of quantization parameters used by the quantization unit 134 and the inverse quantization unit 137. For example, the quantization parameter adjusting unit 145 sets the quantization parameter based on the motion direction of the moving object identified based on the direction of the motion vector of the image of the moving object in the image to be encoded.
  • the quantization parameter adjustment unit 145 acquires information and the like regarding the buffer amount of the accumulation buffer 136 via the encoding control unit 146, adjusts (sets) the quantization parameter based on the information, and performs image encoding. Rate control of the bit stream output from the unit 112 can also be performed. Also, the quantization parameter adjustment unit 145 supplies the information on the set quantization parameter to the coding control unit 146.
  • the quantization parameter adjustment unit 145 includes an adjustment determination unit 151 and a quantization parameter setting unit 152.
  • the adjustment determination unit 151 determines whether to adjust the quantization parameter based on the information (the direction of the motion vector) indicating the motion vector supplied from the inter prediction unit 143.
  • the adjustment determination unit 151 supplies the quantization parameter setting unit 152 with the information indicating the determination result and the information indicating the motion vector supplied from the inter prediction unit 143.
  • the quantization parameter setting unit 152 performs adjustment (setting) of the quantization parameter according to the direction of the motion vector. For example, the quantization parameter setting unit 152 determines the quantization parameter of the initial value set for each picture or slice in accordance with the direction of the motion vector (the encoding difficulty according to the motion direction of the moving object specified based on). adjust. Also, for example, the quantization parameter setting unit 152 further adjusts the quantization parameter adjusted according to the rate control or the like according to the encoding difficulty according to the moving direction of the moving object specified based on the direction of the motion vector. Do.
  • the quantization parameter setting unit 152 omits (skips) adjustment (setting) of the quantization parameter according to the direction of such a motion vector. That is, in this case, the value of the quantization parameter is an initial value set for each picture or slice, or a value adjusted according to rate control or the like.
  • the quantization parameter setting unit 152 supplies the set quantization parameter to the quantization unit 134.
  • the quantization unit 134 performs quantization using the quantization parameter. That is, the quantization unit 134 uses the quantization parameter according to the encoding difficulty level according to the motion direction of the moving object identified based on the direction of the motion vector of the image of the moving object in the image to be encoded
  • the image of the moving body included in the image of the object is quantized.
  • the quantization parameter setting unit 152 acquires information about the buffer amount of the accumulation buffer 136 and the like through the encoding control unit 146, and adjusts the quantization parameter as bit stream rate control based on the information ( Can also be set. Also, the quantization parameter setting unit 152 supplies the information on the set quantization parameter to the coding control unit 146.
  • the coding control unit 146 performs processing regarding control of coding. For example, the encoding control unit 146 performs processing regarding generation of metadata to be added to the encoded data generated by the encoding unit 135. Although the display of the arrow is omitted in FIG. 4, the encoding control unit 146 receives information or metadata included in the metadata from each processing unit of the screen rearrangement buffer 131 to the quantization parameter adjustment unit 145. Get the information you need to generate the information you want to include in.
  • the encoding control unit 146 acquires, from the screen rearrangement buffer 131, information on setting of a processing unit (block). Also, for example, the coding control unit 146 acquires control information, parameters, and the like related to orthogonal transformation from the orthogonal transformation unit 133. Also, for example, the coding control unit 146 acquires control information and the like regarding quantization from the quantization unit 134. Also, for example, the coding control unit 146 acquires control information, parameters, and the like related to coding from the coding unit 135. Also, for example, the encoding control unit 146 acquires, from the accumulation buffer 136, information related to the code amount (buffer amount) such as the stored encoded data and metadata.
  • the code amount buffer amount
  • the encoding control unit 146 acquires control information and the like regarding the inverse quantization from the inverse quantization unit 137. Also, for example, the encoding control unit 146 acquires control information, parameters, and the like regarding the inverse orthogonal transform from the inverse orthogonal transform unit 138. Also, for example, the encoding control unit 146 acquires, from the filter 140, control information, parameters, and the like regarding filter processing. Also, for example, the encoding control unit 146 acquires control information, parameters, and the like regarding the inverse orthogonal transform from the frame memory 141.
  • the encoding control unit 146 acquires, from the intra prediction unit 142 or the inter prediction unit 143, control information, parameters, and the like related to the optimal prediction mode. Also, for example, the encoding control unit 146 acquires the quantization parameter and the like from the quantization parameter adjustment unit 145.
  • the coding control unit 146 performs processing regarding control of coding. For example, the encoding control unit 146 generates metadata using these pieces of information. The encoding control unit 146 supplies the generated metadata to the encoding unit 135.
  • the encoding control unit 146 acquires, from the accumulation buffer 136, information indicating the amount of data (buffer amount) accumulated in the accumulation buffer 136.
  • the coding control unit 146 supplies information indicating the buffer amount to the quantization parameter adjustment unit 145.
  • the quantization parameter adjustment unit 145 and the quantization unit 134 are not limited to ⁇ 1.
  • the control can be basically performed in the same manner as described above in the control of quantization.
  • the quantization parameter adjusting unit 145 sets the quantization parameter based on the motion direction of the moving object specified based on the direction of the motion vector of the image of the moving object in the image to be encoded.
  • the quantization unit 134 quantizes the image of the moving object by using the quantization parameter set by the quantization parameter adjustment unit 145.
  • the quantization parameter adjustment unit 145 acquires information indicating the motion vector obtained by the inter prediction unit 143 from the inter prediction unit 143, and sets a quantization parameter based on the information.
  • the motion vector is information indicating the motion of the image of the moving body in the image to be encoded (input image). That is, the quantization parameter adjustment unit 145 performs quantization based on the motion direction of the moving object identified based on the direction of the motion vector of the moving object image in the image to be encoded, calculated by the inter prediction unit 143. Set the parameters.
  • the quantization parameter adjusting unit 145 lowers the quantization parameter when the direction of the motion vector of the image of the moving object is a predetermined direction corresponding to the movement direction of the moving object moving in the direction of high encoding difficulty ( Set the value smaller than otherwise.
  • the quantization parameter adjusting unit 145 lowers the quantization parameter for the upward motion vector block in the drawing (sets the quantization parameter to a smaller value).
  • the quantization parameter adjustment unit 145 can suppress the reduction in the image quality of the image of the moving object moving in the direction in which the encoding difficulty is high based on the motion vector.
  • the quantization parameter can be adjusted (set) as described above based on the motion vector obtained by inter prediction, the quantization parameter adjustment unit 145 detects the motion of the moving body separately from the coding. It is not necessary, and it is possible to easily suppress the reduction in the image quality of the image of the moving object moving in the direction of high encoding difficulty based on the information obtained by the encoding such as HEVC.
  • the method of determining the direction of the motion vector is arbitrary. For example, if the vertical component of the motion vector is plus (upward in the figure) and is sufficiently large compared to the horizontal component, the direction of the motion vector may be determined to be upward in the figure .
  • the direction of the motion vector indicating that the moving object is moving in the direction of high encoding difficulty (that is, the predetermined direction corresponding to the moving direction of the moving object moving in the direction of high encoding difficulty) It differs depending on the angle etc. That is, the direction of the motion vector for lowering the quantization parameter (the predetermined direction described above) may be any direction that corresponds to the direction in which the encoding difficulty is high (limited to the example in FIG. 2) Not).
  • the quantization parameter for the image of the other block may be increased.
  • the quantization parameter for the image of the other block may be increased. Also in these cases, it is possible to obtain the same effect as in the case of reducing the quantization parameter for the image of the moving object moving in the direction in which the encoding difficulty is high.
  • by controlling the quantization parameter for the image of the other block it is possible to suppress that the rate control using the target bit rate by the control of the quantization parameter becomes difficult.
  • the quantization parameter adjusting unit 145 raises the quantization parameter (A value may be set larger than in the case other than that).
  • the motion vectors of blocks in such a region are often downward in the figure.
  • the downward motion vector in the figure indicates the motion of the moving body moving from the near side to the far side.
  • the image of such a block has a low encoding difficulty. Therefore, the quantization parameter adjusting unit 145 raises the quantization parameter for the block of the motion vector in the downward direction in the drawing (sets the quantization parameter to a larger value).
  • the quantization parameter adjustment unit 145 can reduce the image quality of the image of the moving object moving in the direction in which the encoding difficulty is low based on the motion vector.
  • the quantization parameter can be adjusted (set) as described above based on the motion vector obtained by inter prediction, the quantization parameter adjustment unit 145 detects the motion of the moving body separately from the coding.
  • the image quality of the image of the moving object moving in the direction in which the encoding difficulty is low can be easily reduced based on the information obtained by the encoding such as HEVC without the necessity.
  • the method of determining the direction of the motion vector is arbitrary. For example, if the vertical component of the motion vector is negative (downward in the figure) and sufficiently large compared to the horizontal component, the direction of the motion vector may be determined to be downward in the figure .
  • the direction of the motion vector indicating that the moving object is moving in the direction in which the encoding difficulty is low (that is, the predetermined direction corresponding to the moving direction of the moving object moving in the direction in which the encoding difficulty is low) It differs depending on the angle etc. That is, the direction of the motion vector for raising the quantization parameter (the above-mentioned predetermined direction) may be any direction that corresponds to the direction in which the encoding difficulty is low (limited to the example in FIG. 2) Not).
  • the quantization parameter for the image of the other block may be lowered.
  • the quantization parameter for the image of the other block may be lowered. Also in these cases, it is possible to obtain the same effect as in the case of increasing the quantization parameter for the moving object image moving in the direction in which the encoding difficulty is low.
  • by controlling the quantization parameter for the image of the other block it is possible to suppress that the rate control using the target bit rate by the control of the quantization parameter becomes difficult.
  • the quantization parameter may be increased.
  • the bit rate assigned to the image of the moving object moving in the direction of low coding difficulty can be assigned to the image of the moving object moving in the direction of high coding difficulty. Therefore, it is possible to suppress that rate control using the target bit rate by control of the quantization parameter becomes difficult.
  • the quantization parameter adjustment unit 145 may further increase the amount of adjustment of the quantization parameter as the movement of the moving object increases.
  • the quantization parameter adjustment unit 145 may increase the adjustment amount of the quantization parameter as the length of the motion vector is longer. By doing this, it is possible to further suppress the reduction in subjective image quality of the entire image.
  • the quantization parameter setting unit 152 performs each process described above as the process of the quantization parameter adjustment unit 145, thereby encoding according to the motion direction of the moving body identified based on the direction of the motion vector of the image of the moving body. According to the degree of difficulty, the quantization parameter can be set, and the same effect as that of the above-described quantization parameter adjustment unit 145 can be obtained.
  • the quantization parameter adjusting unit 145 may determine whether to adjust the quantization parameter according to the direction of the motion vector of the image of the moving object.
  • the conditions for this determination may be any. For example, both the number of motion vectors (blocks) moving toward a direction (also referred to as a coding difficulty direction) where the quantization parameter adjusting unit 145 has a high coding difficulty and a direction (coding easy direction) where the coding difficulty is low It may be determined that the adjustment of the quantization parameter using the motion vector is performed (or permitted) when the number of (the number of blocks of) the motion vector (referred to as “the” block) is greater than or equal to a certain number.
  • the number of motion vectors (of blocks) that the quantization parameter adjustment unit 145 moves in a direction also referred to as a coding difficulty direction
  • the number of motion vectors (of blocks) moving in the direction also referred to as easy encoding direction
  • the adjustment determination unit 151 performs the processing as described above as the processing of the quantization parameter adjustment unit 145, thereby encoding difficulty according to the motion direction of the moving object identified based on the direction of the motion vector of the image of the moving object. It is possible to suppress an increase in unnecessary processing load due to the adjustment of the quantization parameter according to the degree.
  • a macroblock is a block having a uniform size of 16x16 pixels.
  • encoding is performed in a processing unit (coding unit) called CU (Coding Unit).
  • a CU is a block having a variable size, which is formed by recursively dividing an LCU (Largest Coding Unit) which is a largest coding unit.
  • the maximum size of a selectable CU is 64x64 pixels.
  • the minimum size of a selectable CU is 8x8 pixels.
  • SCU Mallest Coding Unit
  • the prediction process for predictive coding is performed in a processing unit (prediction unit) called PU (Prediction Unit).
  • a PU is formed by dividing a CU by one of several division patterns.
  • PU is composed of processing units (predicted blocks) called PB (Prediction Blocks) for each of luminance (Y) and color differences (Cb, Cr).
  • PB Prediction Blocks
  • orthogonal transformation processing is performed in a processing unit (transformation unit) called TU (Transform Unit).
  • a TU is formed by dividing a CU or PU to a certain depth.
  • the TU is configured of a processing unit (transform block) called TB (Transform Block) for each of the luminance (Y) and the color differences (Cb, Cr).
  • the whole of one quadtree is called a CTB (Coding Tree Block), and a logical unit corresponding to the CTB is called a CTU (Coding Tree Unit).
  • the LCU size may be specified by parameters encoded in SPS (Sequence Parameter Set) or PPS (Picture Parameter Set).
  • SPS Sequence Parameter Set
  • PPS Physical Parameter Set
  • the CU is formed by recursively dividing the LCU.
  • the depth of division is variable. For example, a flat image area, such as a blue sky, may be set to a larger size (ie, smaller depth) CU. On the other hand, for steep image regions that include many edges, CUs of smaller size (ie, greater depth) may be set. Then, each of the set CUs becomes a processing unit of the encoding process.
  • PU is a processing unit of prediction processing including intra prediction and inter prediction.
  • a PU is formed by dividing a CU by one of several division patterns.
  • eight types of division patterns are shown: 2Nx2N, 2NxN, Nx2N, NxN, 2NxnU, 2NxnD, nLx2N, and nRx2N.
  • intra prediction two types, 2Nx2N and NxN, can be selected (NxN can be selected only by the SCU).
  • inter prediction when asymmetric motion segmentation is enabled, all eight types of segmentation patterns can be selected.
  • TU is a processing unit of orthogonal transformation processing.
  • a TU is formed by dividing a CU (each PU in a CU for an intra CU) to a certain depth.
  • What kind of block division is performed to set blocks such as CU, PU, and TU described above to an image is typically determined based on comparison of costs that affect coding efficiency. For example, the encoder compares the cost between a CU of one 2Mx2M pixel and a CU of four MxM pixels, and if setting a CU of four MxM pixels has a higher coding efficiency, a CU of 2Mx2M pixels Decide to divide into 4 CUs of M x M pixels.
  • CTBs (or LCUs) set in a grid shape in the image (or slice, tile) are scanned in raster scan order.
  • a CU is scanned to traverse a quadtree from left to right, top to bottom.
  • the information of the upper and left adjacent blocks is used as input information.
  • the PU is also scanned from left to right, top to bottom.
  • the cost for each TU size is determined, among which the size of the TU with the lowest cost is selected.
  • the value of the variable ⁇ varies based on the quantization parameter Qp used at the time of encoding, and when the number of quantizations is large, the value of the variable ⁇ becomes large. Therefore, at the time of low rate coding, it tends to be prioritized that the coding bit rate is smaller than the coding noise of the image.
  • a large TU (Large TU) is set for a region where the texture distribution is uniform.
  • a large TU (Large TU) having a large size is set for a flat portion having a small variation in pixel value or a predetermined texture portion.
  • CUs Small CUs
  • TUs Small TUs
  • the following description may be made using “blocks” as partial areas or processing units of an image (picture) (it is not a block of a processing unit).
  • the “block” in this case indicates an arbitrary partial area in the picture, and the size, shape, characteristics, and the like of the partial area are not limited. That is, the “block” in this case includes, for example, any partial area (processing unit), such as TB, TU, PB, PU, SCU, CU, LCU (CTB), subblock, macroblock, tile, or slice. Shall be included.
  • the image coding unit 112 performs processing using various blocks as processing units. For example, processing such as subtraction of an input image and a predicted image in the calculation unit 132 and coding by the coding unit 135 is performed with CU as a processing unit. Also, for example, processing such as orthogonal transformation by orthogonal transformation unit 133, quantization by quantization unit 134, inverse quantization by inverse quantization unit 137, inverse orthogonal transformation by inverse orthogonal transformation unit 138, etc. It will be. Furthermore, for example, intra prediction by the intra prediction unit 142 and inter prediction by the inter prediction unit 143 are performed with PU as a processing unit.
  • the quantization parameter adjustment unit 145 sets a quantization parameter for each TU.
  • PU and TU do not necessarily match each other. It is also conceivable that one PU matches multiple TUs. Conversely, it is also conceivable that one TU matches multiple PUs. Furthermore, it is also conceivable that PU and TU do not become 1 to N (N is a natural number) or N to 1. For example, it is conceivable that part of a PU matches part of a TU.
  • the quantization parameter adjustment unit 145 may perform adjustment (setting) of the quantization parameter using the plurality of motion vectors.
  • the quantization parameter adjustment unit 145 (quantization parameter setting unit 152) combines the plurality of motion vectors, and performs adjustment (setting) of the quantization parameter based on the direction of the obtained combined motion vector. May be
  • the quantization parameter adjustment unit 145 selects any one of the plurality of motion vectors, and adjusts the quantization parameter based on the direction of the selected motion vector ( Setting) may be performed.
  • the selection method of this motion vector is arbitrary. For example, the motion vector with the longest length may be selected, or the motion vector with the closest direction to the direction with high encoding difficulty may be selected. Of course, methods other than these may be used.
  • the motion vector of the PU may be allocated to the TU, even if the TU and the PU match or do not match.
  • the method of assigning a motion vector to TU is arbitrary, and is not limited to the above example. For example, motion vectors of PUs (PUs that do not overlap with TUs) around TUs may also be used.
  • the processing unit of the quantization by the quantization unit 134 can be set to an arbitrary size.
  • the processing unit for adjusting the quantization parameter by the quantization parameter adjustment unit 145 can also be set to an arbitrary size.
  • blocks other than TU may be used as a processing unit.
  • the quantization parameter set by the quantization parameter adjustment unit 145 is added to the encoded data in the encoding unit 135 under the control of the encoding control unit 146. That is, the quantization parameter adjusted as described above is added to the bit stream and supplied to the decoding side (decoding device etc.). Therefore, a device on the decoding side (such as a decoding device) can decode the bitstream using the quantization parameter.
  • the quantization parameter adjustment unit 145 adjusts the quantization parameter for each TU
  • the adjusted quantization parameter is added to the bit stream for each TU. That is, in this case, the adjusted quantization parameter is added to the bit stream and supplied to the decoding side (decoding device etc.) as in the case of the normal quantization parameter conforming to the HEVC standard. Therefore, the device on the decoding side (decoding device etc.) can decode the encoded data (bit stream) generated using the quantization parameter transmitted for each TU by the decoding method based on HEVC. (The quantization coefficients obtained from the bit stream can be dequantized). That is, since decoding can be performed by a more general-purpose decoder, it is not necessary to prepare a dedicated decoder, and application of the present technology can be realized more easily.
  • the quantization parameter has an initial value added to a picture parameter set, a slice header or the like, and a difference value from the initial value is added to each TU.
  • the quantization parameter set by applying the present technology is added to the TU.
  • the quantization parameter may be added to any position of the encoded data.
  • this quantization parameter can be stored at any position of encoded data (or metadata).
  • FIG. 5 is a block diagram showing an exemplary main configuration of the inter prediction unit 143. As shown in FIG. As illustrated in FIG. 5, the inter prediction unit 143 includes a motion prediction unit 161 and a motion compensation unit 162.
  • the motion prediction unit 161 performs processing relating to motion prediction.
  • the motion prediction unit 161 acquires reference images from the frame memory 141, and performs motion prediction using them. Then, the motion prediction unit 161 supplies the motion vector obtained by the motion prediction to the motion compensation unit 162. Also, the motion prediction unit 161 supplies the motion vector to the quantization parameter adjustment unit 145 (adjustment determination unit 151).
  • the quantization parameter adjustment unit 145 uses this motion vector to determine whether or not to adjust the quantization parameter as described above, and performs adjustment.
  • the motion compensation unit 162 acquires, from the frame memory 141, a reference image at a position corresponding to the motion vector supplied from the motion prediction unit 161, and supplies it to the predicted image selection unit 144 as a predicted image of the intra prediction mode.
  • the motion prediction unit 161 and the motion compensation unit 162 perform these processes for each PU.
  • the imaging unit 111 (FIG. 3) of the image processing apparatus 100 captures an object in step S101, and obtains a captured image.
  • step S102 the image encoding unit 112 executes image encoding processing, and uses the quantization parameter according to the encoding difficulty according to the direction of the motion vector to code the captured image obtained by the processing of step S101.
  • the image coding unit 112 outputs the generated bit stream to the outside of the image processing apparatus 100.
  • the bit stream output from the image processing apparatus 100 is transmitted to the decoder via, for example, an arbitrary transmission path. Also, this bit stream may be stored, for example, on any storage medium.
  • step S102 ends, the image processing ends.
  • step S111 the screen rearrangement buffer 131 (FIG. 4) of the image coding unit 112 rearranges the order of frame images from display order to coding order.
  • the screen rearrangement buffer 131 also performs processing such as block division setting.
  • step S112 the intra prediction unit 142 performs intra prediction to generate a predicted image in the intra prediction mode. Further, in step S113, the inter prediction unit 143 performs inter prediction processing to generate a prediction image of the inter prediction mode. At this time, the inter prediction unit 143 also generates a motion vector for each PU by motion prediction. In step S114, the prediction image selection unit 144 calculates a cost function for the prediction image of each prediction mode, and selects (the prediction image of) the optimum prediction mode based on the value.
  • step S115 the computing unit 132 calculates the difference between the input image obtained by the process of step S111 and the predicted image selected by the process of step S114.
  • step S116 the orthogonal transformation unit 133 orthogonally transforms the residual data obtained by the process of step S115.
  • step S117 the quantization parameter adjustment unit 145 performs quantization control processing, and adjusts the quantization parameter according to the direction of the motion vector obtained by the process of step S113.
  • step S118 the quantization unit 134 uses the quantization parameter corresponding to the degree of encoding difficulty according to the direction of the motion vector obtained in the process of step S117, and obtains the orthogonal transformation coefficient obtained in the process of step S116. Quantize the In step S119, the encoding unit 135 encodes the quantization coefficient obtained by the process of step S118 to generate encoded data.
  • step S120 the coding control unit 146 obtains necessary information from each processing unit, and uses the information to generate information on coding as metadata.
  • step S121 the encoding unit 135 associates the metadata (information related to encoding) obtained by the process of step S120 with the encoded data obtained by the process of step S119.
  • step S122 the accumulation buffer 136 accumulates the encoded data (bit stream) associated with the metadata by the process of step S121, and outputs it at a predetermined timing.
  • step S123 the inverse quantization unit 137 inversely quantizes the quantization coefficient obtained by the process of step S118 by a method corresponding to the quantization in step S118.
  • step S124 the inverse orthogonal transformation unit 138 performs inverse orthogonal transformation on the orthogonal transformation coefficient obtained by the process of step S123 by a method corresponding to the orthogonal transformation in step S116.
  • step S125 the operation unit 139 adds the residual data obtained by the process of step S124 and the predicted image selected by the process of step S114.
  • step S126 the filter 140 performs predetermined filter processing (for example, deblocking filter, sample adaptive offset, and the like) on the reconstructed image obtained by the processing of step S125.
  • step S127 the frame memory 141 stores the decoded image obtained by the process of step S126. This decoded image can be used for intra prediction and inter prediction as a reference image in coding of other blocks.
  • step S127 ends, the image encoding process ends, and the process returns to FIG.
  • step S141 the motion prediction unit 161 (FIG. 5) of the inter prediction unit 143 performs motion prediction on the current block (TU to be processed) using the input image and the reference image. Perform and generate motion vectors.
  • the motion prediction unit 161 performs the same processing for each TU.
  • step S142 the motion compensation unit 162 performs motion compensation using the motion vector obtained in step S161, and generates a prediction image of inter prediction.
  • the motion compensation unit 162 performs the same process on each TU.
  • step S142 ends, the inter prediction process ends, and the process returns to FIG.
  • the adjustment determination unit 151 (FIG. 4) of the quantization parameter adjustment unit 145 determines in step S161 whether to improve the image quality of the moving object. For example, in the case of a mode in which the quantization parameter adjustment is performed (for example, when the adjustment of the quantization parameter is permitted (or designated) by the control flag or the like), it is determined to improve the image quality of the moving object, and the process proceeds to step S162. .
  • step S162 the adjustment determination unit 151 acquires motion detection information (motion vector) of the entire screen from the inter prediction unit 143.
  • step S163 based on the acquired motion detection information (motion vector) of the entire screen, the adjustment determination unit 151 determines that both of the motion vector corresponding to the coding easy direction and the motion vector corresponding to the coding difficulty direction. It is determined whether (predetermined number or more) exists. If it is determined that both the motion vector corresponding to the coding easy direction and the motion vector corresponding to the coding difficulty direction exist (more than the predetermined number), the process proceeds to step S164. That is, in this case, it is determined to adjust the quantization parameter.
  • step S164 the quantization parameter setting unit 152 acquires motion detection information (motion vector) of the current block (processing target TU).
  • step S165 the quantization parameter setting unit 152 determines, using the motion vector acquired in step S164, whether the current block is a block of an image of a moving object moving in the direction in which coding is difficult. If it is determined from the direction of the motion vector that it is a block of an image of a moving object moving in the direction of difficult encoding, the process proceeds to step S166.
  • step S166 the quantization parameter setting unit 152 lowers the quantization parameter of the current block (sets it to a low value).
  • step S167 If it is determined in step S165 that the block is not a block of an image of a moving object moving in the direction of difficult encoding from the direction of the motion vector, the process proceeds to step S167.
  • step S167 the quantization parameter setting unit 152 determines whether all blocks in the picture have been processed. If it is determined that there is an unprocessed block for which the quantization parameter adjustment has not been performed yet, the process returns to step S164, and the subsequent processes are repeated.
  • step S167 If it is determined in step S167 that all blocks in the picture have been processed, the quantization control process ends, and the process returns to FIG.
  • step S161 If it is determined in step S161 that the mode for adjusting the quantization parameter is not determined (for example, when the adjustment of the quantization parameter is prohibited by the control flag or the like), it is determined that the image quality of the moving object is not improved. , And the process returns to FIG.
  • step S163 If it is determined in step S163 that neither a motion vector in the easy direction of coding nor a motion vector in the difficult direction of coding exists (more than a predetermined number), the quantization control process ends, and the process is performed as shown in FIG. Go back to 7.
  • the image processing apparatus 100 can perform encoding processing according to the motion direction of the moving object identified based on the direction of the motion vector of the image of the moving object in the image to be encoded.
  • the quantization parameter can be used to quantize the image of the moving object included in the image to be encoded.
  • bit rate allocation can be made more appropriate, and reduction in subjective image quality of the entire image with respect to the target bit rate (reduction of coding efficiency with respect to subjective image quality of the entire image) can be suppressed.
  • bit rate allocation can be made more appropriate, and reduction in subjective image quality of the entire image with respect to the target bit rate (reduction of coding efficiency with respect to subjective image quality of the entire image) can be suppressed.
  • Second embodiment> ⁇ Image analysis for motion direction detection of moving body>
  • the motion direction of the moving body is detected based on the motion vector.
  • the present invention is not limited to this, and the motion direction of the moving body may be detected without using the motion vector. .
  • a moving object may be detected by analyzing an image to be encoded.
  • an image to be encoded For example, in the case of the image 170 shown in FIG. 10, a plurality of moving bodies (for example, humans) are moving in the respective directions.
  • a moving object for example, a human
  • the moving direction of each moving object may be detected.
  • a square frame is set to surround the detected moving body (human).
  • each moving body surrounded by the square frame 171 to the square frame 173 shown by a solid line is a moving body moving from the back of the image toward the front.
  • each moving body surrounded by the square frame 174 to the square frame 176 shown by a dotted line is a moving body moving from the front to the back of the image.
  • This moving body and the detection method of its movement direction are arbitrary. For example, an image of a plurality of frames is analyzed to detect a person whose position changes as a moving body, and the movement direction is determined by a change in size of the image of the moving body (or a square frame allocated to the moving body). It is also good. For example, a moving object whose image increases as time passes may be determined as a moving object moving from the back to the front, and a moving object whose image decreases as time passes may be determined as a moving object moving from the front to the back.
  • the direction of the person may be detected by face detection, and the moving direction may be detected based on the detected direction.
  • a person whose moving face is detected may be determined as a moving object moving from the back to the front, and a person whose moving object is not detected may be determined as a moving object moving from the front to the back.
  • This face detection may be performed based on a single frame image, or may be performed based on a plurality of frame images.
  • the quantization parameter can be adjusted, and the quantization can be performed using the adjusted quantization parameter.
  • the direction of the motion vector corresponding to the coding difficulty direction or the coding easy direction is the angle of the captured image Since the angle of view is determined depending on the angle of view, information on the angle of view or information for specifying the direction of a motion vector corresponding to the direction of coding difficulty or the direction of easy coding is required. Also, depending on the angle of view, it may be difficult to specify the direction of the motion vector corresponding to the encoding difficulty direction or the encoding easy direction. For example, as in the image 170 in FIG. 10, when the moving body moves in an arbitrary direction, the direction of the motion vector corresponding to the encoding difficulty direction or the encoding easy direction is not necessarily determined in a predetermined direction.
  • the quantization parameter is determined according to the encoding difficulty according to the motion direction of the moving body without using the motion vector.
  • the adjustment can be made, and the reduction of the image quality can be suppressed in a use situation different from the case of the first embodiment.
  • the quantization parameter is adjusted according to the encoding difficulty according to the motion direction of the moving body in more various usage situations. It is possible to suppress the reduction of the image quality.
  • FIG. 11 is a diagram illustrating an example of a main configuration of an embodiment of an image processing apparatus to which the present technology is applied.
  • An image processing apparatus 200 shown in FIG. 11 is basically the same apparatus as the image processing apparatus 100, captures an image of a subject, and encodes and outputs the captured image obtained. However, at the time of encoding, the image processing apparatus 200 performs quantization to which the present technology as described above is applied.
  • the image processing apparatus 200 includes an imaging unit 111, a moving subject motion direction detection unit 211, and an image coding unit 212, as shown in FIG.
  • the moving body movement direction detection unit 211 detects the movement direction of the moving body, and generates moving body movement direction information indicating the movement direction of the moving body. For example, the moving body movement direction detection unit 211 analyzes the captured image obtained by the imaging unit 111, detects the movement direction of the moving body included in the image, and generates moving body movement direction information indicating the movement direction of the moving body. . The moving subject motion direction detection unit 211 supplies the generated moving subject motion direction information and the captured image acquired from the imaging unit 111 to the image coding unit 212.
  • the moving body motion direction detection unit 211 may have any configuration, but, for example, has a CPU, a ROM, a RAM, and the like, and the CPU loads programs and data stored in the ROM and the like into the RAM. The process may be performed by executing the process.
  • the image coding unit 212 is basically the same processing unit as the image coding unit 112 and performs the same processing. However, the image encoding unit 212 acquires moving object motion direction information and a captured image from the moving object motion direction detection unit 211. Then, the image coding unit 212 adjusts the quantization parameter based on the motion direction of the moving body indicated by the moving body motion direction information. Then, at the time of encoding of the captured image, the image encoding unit 212 performs quantization using the quantization parameter.
  • the image coding unit 212 can adjust the quantization parameter according to the coding difficulty level according to the motion direction of the moving body without using the motion vector. Thereby, the image coding unit 212 can suppress the reduction in image quality in a use situation different from the use situation that can be accommodated when adjusting the quantization parameter using a motion vector.
  • the image coding unit 212 outputs the coded data (bit stream) generated in this manner to the outside of the image processing apparatus 200.
  • the image encoding unit 212 may have any configuration.
  • the image encoding unit 212 has a CPU, a ROM, a RAM, and the like, and the CPU loads programs and data stored in the ROM and the like into the RAM.
  • the processing may be performed by executing the processing.
  • FIG. 12 is a block diagram showing an example of the main configuration of the moving subject motion direction detection unit 211 of FIG. As shown in FIG. 12, the moving subject motion direction detection unit 211 includes an image analysis unit 221 and a motion direction determination unit 222.
  • the image analysis unit 221 analyzes the captured image supplied from the imaging unit 111. This analysis method is arbitrary.
  • the image analysis unit 221 includes a face detection unit 231 and a moving object detection and tracking unit 232.
  • the face detection unit 231 detects an image of the face of a person included in the captured image. This face detection method is optional.
  • the face detection unit 231 supplies the detection result (face information) to the movement direction determination unit 222.
  • the moving body detection and tracking unit 232 detects a moving body included in the captured image, and performs processing of tracking the moving body. For example, as shown by the image 170 in FIG. 10, the moving object detection and tracking unit 232 sets a frame (arbitrary shape) or the like on the detected moving object and tracks the moving object (if the moving object moves Adjust the position of the frame to keep enclosing The moving body detection and tracking unit 232 supplies the moving body information indicating the moving body detection result and the tracking result of the moving body to the movement direction determination unit 222.
  • the movement direction determination unit 222 determines the movement direction of the moving body based on the information (at least one of face information and moving body information).
  • the movement direction determination unit 222 generates the determination result, that is, moving body movement direction information which is information indicating the movement direction of the moving body, and supplies the information to the image coding unit 212.
  • the moving subject motion direction detection unit 211 detects an image of the face of a person included in the image to be encoded (captured image), and detects the moving direction of the moving subject based on the detected face direction. Therefore, the moving body motion direction detection unit 211 can easily obtain the moving direction of the moving body included in the captured image from the captured image (without other information).
  • the moving subject motion direction detection unit 211 detects the moving direction of the moving subject by tracking the moving subject in the image to be encoded (captured image). Therefore, the moving body motion direction detection unit 211 can easily obtain the moving direction of the moving body included in the captured image from the captured image (without other information).
  • the captured image input to the moving subject motion direction detection unit 211 is also supplied to the image coding unit 212.
  • FIG. 13 is a block diagram showing a main configuration example of the image coding unit 212 of FIG. As shown in FIG. 13, this image coding unit 212 has basically the same configuration as the image coding unit 112 (FIG. 4) and performs the same processing. The description of the parts common to these will be omitted.
  • the image coding unit 212 has a quantization parameter adjustment unit 241 instead of the quantization parameter adjustment unit 145 of the image coding unit 112.
  • the quantization parameter adjustment unit 241 sets a quantization parameter based on moving body motion direction information which is information on the moving direction of the moving body in the image to be encoded. That is, the quantization parameter adjustment unit 241 differs from the quantization parameter adjustment unit 145 in that it does not acquire a motion vector from the inter prediction unit 143 (does not use a motion vector). In other words, the quantization parameter adjustment unit 241 basically performs the same process as the quantization parameter adjustment unit 145 except that moving object motion direction information is used instead of using a motion vector.
  • the quantization parameter adjustment unit 241 may use the quantization unit 134 or the dequantization unit 137 based on the moving body motion direction information (the encoding difficulty according to the moving direction of the moving body in the image to be encoded specified by Adjust (set) the quantization parameter to be used.
  • the quantization parameter adjustment unit 241 acquires information on the buffer amount of the accumulation buffer 136 via the encoding control unit 146, adjusts (sets) the quantization parameter based on the information, and performs image encoding. Rate control of the bit stream output from the unit 112 can also be performed. Also, the quantization parameter adjustment unit 145 supplies the information on the set quantization parameter to the coding control unit 146.
  • the quantization parameter adjustment unit 241 includes an adjustment determination unit 251 and a quantization parameter setting unit 252.
  • the adjustment determination unit 251 determines whether to adjust the quantization parameter based on the moving body motion direction information information (moving direction of the moving body) supplied from the moving body motion direction detection unit 211.
  • the adjustment determination unit 251 supplies the information indicating the determination result and the moving body motion direction information to the quantization parameter setting unit 252.
  • the quantization parameter setting unit 252 performs adjustment (setting) of the quantization parameter according to the direction of the motion vector. For example, the quantization parameter setting unit 252 sets the quantization parameter of the initial value set for each picture or slice according to the moving body motion direction information (the encoding difficulty degree according to the moving direction of the moving body specified based on). adjust. Also, for example, the quantization parameter setting unit 252 further adjusts the quantization parameter adjusted according to the rate control or the like according to the encoding difficulty according to the moving direction of the moving object specified based on the direction of the motion vector. Do.
  • the quantization parameter setting unit 252 omits (skips) adjustment (setting) of the quantization parameter according to such moving object motion direction information. That is, in this case, the value of the quantization parameter is an initial value set for each picture or slice, or a value adjusted according to rate control or the like.
  • the quantization parameter setting unit 252 supplies the set quantization parameter to the quantization unit 134.
  • the quantization unit 134 performs quantization using the quantization parameter. That is, the quantizing unit 134 uses the quantization parameter according to the encoding difficulty according to the moving direction of the moving object specified based on the moving object moving direction information, and the image of the moving object included in the image to be encoded Quantize.
  • the quantization parameter setting unit 252 acquires information about the buffer amount of the accumulation buffer 136 and the like through the encoding control unit 146, and adjusts the quantization parameter as bit stream rate control based on the information ( Can also be set. Also, the quantization parameter setting unit 252 supplies the information on the set quantization parameter to the coding control unit 146.
  • the quantization parameter adjustment unit 241 and the quantization unit 134 are not limited to ⁇ 1.
  • the control can be basically performed in the same manner as described above in the control of quantization.
  • the quantization parameter adjustment unit 145 sets the quantization parameter based on the motion direction of the moving object in the image to be encoded identified based on the moving object motion direction information.
  • the quantization unit 134 quantizes the image of the moving object using the quantization parameter set by the quantization parameter adjustment unit 241.
  • the quantization parameter adjusting unit 241 lowers the quantization parameter of the image of the moving body (more than that Set the value smaller).
  • the quantization parameter adjustment unit 241 can suppress the reduction in the image quality of the image of the moving object moving in the direction in which the encoding difficulty is high based on the moving object movement direction information.
  • the quantization parameter adjustment unit 241 makes encoding difficult regardless of the angle of view (angle). It is possible to suppress the reduction in the image quality of the image of the moving body moving in the direction of high degree. Therefore, it is possible to suppress the reduction of the image quality in a use situation different from the case of the first embodiment.
  • the quantization parameter adjustment unit 241 may increase the quantization parameter for other images instead of reducing the quantization parameter for the image of a moving object moving in the direction of high encoding difficulty. Also, the quantization parameter adjustment unit 241 may increase the quantization parameters for the other images while decreasing the quantization parameters for the image of the moving object moving in the direction in which the encoding difficulty is high. Also in these cases, it is possible to obtain the same effect as in the case of reducing the quantization parameter for the image of the moving object moving in the direction in which the encoding difficulty is high. In addition, by controlling the quantization parameter for the other image, it is possible to suppress that the rate control using the target bit rate by the control of the quantization parameter becomes difficult.
  • the quantization parameter adjustment unit 241 may increase the quantization parameter (set the value larger than otherwise). Good. By doing this, the quantization parameter adjustment unit 241 can reduce the image quality of the image of the moving object moving in the direction in which the encoding difficulty is low based on the moving object movement direction information.
  • the quantization parameter adjustment unit 241 can reduce the image quality of the image of the moving object moving in the direction in which the encoding difficulty is low based on the moving object movement direction information.
  • the quantization parameter adjustment unit 241 makes encoding difficult regardless of the angle of view (angle). It is possible to reduce the image quality of the image of the moving body moving in the direction of low degree. Therefore, it is possible to suppress the reduction of the image quality in a use situation different from the case of the first embodiment.
  • the quantization parameter adjustment unit 241 may lower the quantization parameter for the other image instead of increasing the quantization parameter for the image of the moving object moving in the direction in which the encoding difficulty is low.
  • the quantization parameter adjustment unit 241 may lower the quantization parameter for the other images while increasing the quantization parameter for the image of the moving object moving in the direction in which the encoding difficulty is low. Also in these cases, it is possible to obtain the same effect as in the case of increasing the quantization parameter for the moving object image moving in the direction in which the encoding difficulty is low.
  • by controlling the quantization parameter for the other image it is possible to suppress that the rate control using the target bit rate by the control of the quantization parameter becomes difficult.
  • the quantization parameter adjusting unit 145 lowers the quantization parameter when the moving direction of the moving object is a direction in which the encoding difficulty is high, and the moving direction of the moving object is a direction in which the encoding difficulty is low In this case, the quantization parameter may be increased.
  • the bit rate assigned to the image of the moving object moving in the direction of low coding difficulty can be assigned to the image of the moving object moving in the direction of high coding difficulty. Therefore, it is possible to suppress that rate control using the target bit rate by control of the quantization parameter becomes difficult.
  • the quantization parameter adjustment unit 241 may further increase the amount of adjustment of the quantization parameter as the movement of the moving object increases. By doing this, it is possible to further suppress the reduction in subjective image quality of the entire image.
  • the quantization parameter setting unit 252 performs each process described above as the process of the quantization parameter adjustment unit 241, thereby encoding according to the motion direction of the moving body identified based on the direction of the motion vector of the image of the moving body.
  • the quantization parameter can be set according to the degree of difficulty, and the same effect as in the case of the quantization parameter adjustment unit 241 described above can be obtained.
  • the quantization parameter adjustment unit 241 may determine whether to adjust the quantization parameter according to the moving subject motion direction information.
  • the conditions for this determination may be any. For example, in the direction in which the quantization parameter adjustment unit 241 moves in the direction in which the encoding difficulty is high (also referred to as encoding difficulty) and in the direction in which the encoding difficulty is low (also referred to as encoding easy direction) It may be determined that the adjustment of the quantization parameter using the moving object motion direction information is performed (or permitted) when the number of moving objects moving toward each other is equal to or more than a predetermined number.
  • the number of moving objects moving in the direction of high encoding difficulty also referred to as encoding difficult direction
  • the direction in which encoding difficulty is low e.g.
  • the adjustment determination unit 251 performs the process as described above as the process of the quantization parameter adjustment unit 241, and thereby the encoding determination degree according to the moving direction of the moving object identified based on the moving object movement direction information. It is possible to suppress an increase in unnecessary processing load due to the adjustment of the quantization parameter.
  • the imaging unit 111 (FIG. 11) of the image processing apparatus 200 captures an object in step S201, and obtains a captured image.
  • step S202 the moving subject motion direction detection unit 211 performs a motion direction detection process to detect the moving direction of the moving subject.
  • step S203 the image encoding unit 212 executes an image encoding process, and uses the quantization parameter according to the encoding difficulty according to the motion direction of the moving object detected in the process of step S202, and performs the process of step S201.
  • the captured image obtained by the above is encoded to generate encoded data (bit stream).
  • the image coding unit 212 outputs the generated bit stream to the outside of the image processing apparatus 200.
  • the bit stream output from the image processing apparatus 200 is transmitted to the decoder via, for example, an arbitrary transmission path. Also, this bit stream may be stored, for example, on any storage medium.
  • step S203 ends, the image processing ends.
  • the image analysis unit 221 (FIG. 12) of the moving subject motion direction detection unit 211 acquires necessary information such as a captured image in step S211.
  • step S212 the image analysis unit 221 analyzes the captured image acquired by the process of step S211 to obtain information on a moving object such as face information and moving object information.
  • step S213 the movement direction determination unit 222 determines the movement direction of the moving body based on the information on the moving body obtained by the process of step S212, and generates moving body movement direction information.
  • step S213 ends, the movement direction detection process ends, and the process returns to FIG.
  • the screen rearrangement buffer 131 (FIG. 13) of the image coding unit 212 rearranges the order of frame images from display order to coding order in step S221. At this time, the screen rearrangement buffer 131 also performs processing such as block division setting.
  • step S222 the intra prediction unit 142 performs intra prediction to generate a predicted image in the intra prediction mode.
  • step S223 the inter prediction unit 143 performs inter prediction processing to generate a prediction image in the inter prediction mode.
  • step S224 the prediction image selection unit 144 calculates a cost function for the prediction image of each prediction mode, and selects (the prediction image of) the optimum prediction mode based on the value.
  • step S225 the calculation unit 132 calculates the difference between the input image obtained by the process of step S221 and the predicted image selected by the process of step S224.
  • step S226 the orthogonal transformation unit 133 orthogonally transforms the residual data obtained by the process of step S225.
  • step S227 the quantization parameter adjustment unit 241 performs quantization control processing, and adjusts the quantization parameter in accordance with the degree of encoding difficulty according to the moving direction of the moving object indicated by the moving object movement direction information.
  • step S228, the quantization unit 134 uses the quantization parameter according to the encoding difficulty according to the moving direction of the moving body obtained in the process of step S227, and obtains the orthogonal transformation coefficient obtained in the process of step S226. Quantize.
  • step S229 the encoding unit 135 encodes the quantization coefficient obtained by the process of step S228 to generate encoded data.
  • step S230 the coding control unit 146 acquires necessary information from each processing unit, and uses the information to generate information on coding as metadata.
  • step S231 the encoding unit 135 associates the metadata (information related to encoding) obtained by the process of step S230 with the encoded data obtained by the process of step S229.
  • step S232 the accumulation buffer 136 accumulates the encoded data (bit stream) associated with the metadata by the process of step S231, and outputs it at a predetermined timing.
  • step S233 the inverse quantization unit 137 inversely quantizes the quantization coefficient obtained by the process of step S228 using a method corresponding to the quantization in step S228.
  • step S234 the inverse orthogonal transformation unit 138 performs inverse orthogonal transformation on the orthogonal transformation coefficient obtained by the process of step S233 using a method corresponding to the orthogonal transformation in step S226.
  • step S235 the operation unit 139 adds the residual data obtained by the process of step S234 and the predicted image selected by the process of step S224.
  • step S236 the filter 140 performs predetermined filter processing (for example, deblocking filter, sample adaptive offset, and the like) on the reconstructed image obtained by the processing of step S235.
  • step S237 the frame memory 141 stores the decoded image obtained by the process of step S236. This decoded image can be used for intra prediction and inter prediction as a reference image in coding of other blocks.
  • step S237 ends, the image encoding process ends, and the process returns to FIG.
  • the adjustment determination unit 251 (FIG. 13) of the quantization parameter adjustment unit 241 determines whether to improve the image quality of the moving object in step S251. For example, in the case of the mode in which the quantization parameter adjustment is performed (for example, when the adjustment of the quantization parameter is permitted (or designated) by the control flag or the like), it is determined to improve the image quality of the moving object, and the process proceeds to step S252 .
  • step S 252 the adjustment determination unit 251 acquires moving body motion direction information of the entire screen from the inter prediction unit 143.
  • step S253 the adjustment determination unit 251 determines (more than a predetermined number) of both the moving body moving in the coding easy direction and the moving body moving in the coding difficulty direction based on the acquired moving body movement direction information of the entire screen. It is determined whether to do. If it is determined that both a moving object moving in the encoding easy direction and a moving object moving in the encoding difficulty direction (predetermined number or more) exist, the process proceeds to step S254. That is, in this case, it is determined to adjust the quantization parameter.
  • step S254 the quantization parameter setting unit 252 acquires moving object motion direction information corresponding to the current block (processing target TU). That is, if there is an image of a moving object including the current block, the quantization parameter setting unit 252 acquires moving object movement direction information (moving object movement direction information corresponding to the current block) indicating the movement direction of the moving object.
  • step S255 the quantization parameter setting unit 252 uses the moving object motion direction information acquired in step S254 to determine whether the current block is a block of an image of a moving object moving in a direction in which encoding is difficult. If it is determined from the moving body motion direction information that the current block is a block of an image of a moving body moving in a direction in which encoding is difficult, the process proceeds to step S256.
  • step S256 the quantization parameter setting unit 252 lowers the quantization parameter of the current block (sets it to a low value).
  • step S257 If it is determined in step S255 that the current block is not a block of an image of a moving object moving in a direction in which encoding is difficult, the process proceeds to step S257.
  • step S257 the quantization parameter setting unit 252 determines whether all blocks in the picture have been processed. If it is determined that there is an unprocessed block for which the quantization parameter adjustment has not been performed yet, the process returns to step S254, and the subsequent processes are repeated.
  • step S257 If it is determined in step S257 that all blocks in the picture have been processed, the quantization control process ends, and the process returns to FIG.
  • step S251 If it is determined in step S251 that the mode for adjusting the quantization parameter is not determined (for example, if the adjustment of the quantization parameter is prohibited by the control flag or the like), it is determined that the image quality of the moving object is not improved.
  • the initialization control process ends, and the process returns to FIG.
  • step S253 If it is determined in step S253 that both of the motion vector in the easy direction of encoding and the motion vector in the difficult direction of encoding do not exist (a predetermined number or more), the quantization control process ends, and the process is performed as shown in FIG. Return to 16.
  • the image processing apparatus 100 does not use a motion vector, but uses a quantization parameter according to the degree of encoding difficulty according to the moving direction of the moving object in the image to be encoded.
  • An image of a moving object included in the image to be encoded can be quantized.
  • bit rate allocation can be made more appropriate, and reduction of the subjective image quality of the entire image with respect to the target bit rate (reduction of the coding efficiency with respect to the subjective image quality of the entire image) can be suppressed.
  • bit rate allocation can be made more appropriate, and reduction of the subjective image quality of the entire image with respect to the target bit rate (reduction of the coding efficiency with respect to the subjective image quality of the entire image) can be suppressed.
  • Third embodiment> ⁇ Configuration for Motion Direction Detection of Moving Object>
  • an example in which an image to be encoded is analyzed to detect a motion direction of a moving body has been described, but a method of detecting the motion direction of the moving body without using a motion vector is arbitrary. It is not limited to.
  • the moving direction of the moving object may be detected based on a plurality of images.
  • FIG. 18 is a diagram showing an example of a main configuration of an embodiment of an image processing apparatus to which the present technology is applied.
  • An image processing apparatus 300 shown in FIG. 18 is basically the same apparatus as the image processing apparatus 200, captures an image of a subject, detects the moving direction of a moving object from the obtained captured image, and encodes according to the moving direction The quantization in coding of the captured image is performed using the quantization parameter according to the degree of difficulty.
  • the image processing apparatus 300 has a plurality of imaging units, and detects the movement direction based on a plurality of captured images obtained by the plurality of imaging units.
  • the image processing apparatus 300 includes an imaging unit 111-1, an imaging unit 111-2, a moving subject motion direction detection unit 311, and an image coding unit 212, as shown in FIG.
  • the imaging unit 111-1 and the imaging unit 111-2 are imaging units similar to the imaging unit 111, and images a subject to obtain a captured image.
  • Each of the imaging unit 111-1 and the imaging unit 111-2 supplies the obtained captured image to the moving body motion direction detection unit 311.
  • the moving body motion direction detection unit 311 detects a moving body included in the captured images based on the captured image supplied from the imaging unit 111-1 and the captured image supplied from the imaging unit 111-2 The movement direction is detected.
  • the method of detecting this moving body or movement direction is arbitrary.
  • the moving subject motion direction detection unit 311 obtains depth information of the subject using the parallax between the captured images obtained by the imaging unit 111-1 and the imaging unit 111-2, and the moving object is obtained based on the change in the depth information. And the motion direction may be detected.
  • the imaging unit 111-1 and the imaging unit 111-2 capture the target space in directions different from each other in different positions, and detect a moving body in the target space and its movement direction in each captured image.
  • the moving direction of the moving body in the target space may be detected based on the detection results.
  • the moving body motion direction detection unit 311 generates moving body motion direction information for each moving body, and supplies this to the image coding unit 212 together with the captured image.
  • the image coding unit 212 performs image coding processing as in the case of the second embodiment.
  • the number of imaging units 111 may be plural, and may be, for example, three or more.
  • the captured image to be encoded may be a captured image (all captured images) obtained in all the imaging units 111 or a captured image obtained in some of the imaging units 111 (a part of (A captured image of
  • FIG. 19 is a diagram illustrating a main configuration example of an embodiment of an image processing apparatus to which the present technology is applied.
  • An image processing device 320 shown in FIG. 19 is basically the same device as the image processing device 300, captures an object, detects the moving direction of a moving object from the obtained captured image, and encodes according to the moving direction The quantization in coding of the captured image is performed using the quantization parameter according to the degree of difficulty.
  • the image processing apparatus 320 has a sensor unit 321 instead of the imaging unit 111-2.
  • the sensor unit 321 is an arbitrary sensor that can detect information other than the captured image and that contributes to the detection of the moving direction of the moving body.
  • the sensor unit 321 may be a distance measurement sensor or the like that specifies the depth position of an object (moving object).
  • the sensor unit 321 generates sensor information for specifying the depth position of the moving object based on the detection result, for example, and supplies the sensor information to the moving object movement direction detecting unit 322.
  • the image processing device 320 has a moving body motion direction detection unit 322 instead of the moving body motion direction detection unit 311.
  • the moving body motion direction detection unit 322 detects the moving direction of the moving body included in the captured image supplied from the imaging unit 111 using the sensor information supplied from the sensor unit 321. For example, the moving body motion direction detection unit 322 detects the moving direction of the moving body from the change in the depth information of the moving body included in the captured image supplied from the imaging unit 111.
  • the moving body movement direction detection unit 322 generates moving body movement direction information indicating the detected movement direction of the moving body, and supplies this to the image coding unit 212 together with the captured image.
  • the image coding unit 212 codes a captured image as in the second embodiment.
  • the moving subject motion direction detection unit 322 can detect the moving direction of the moving subject based on information other than the image (for example, sensor information). Therefore, the present technology can be applied to more diverse devices and systems.
  • the number of imaging units 111 and sensor units 321 is arbitrary, and may be two or more.
  • the image processing apparatus 300 and the image processing apparatus 320 have been described above as one apparatus, they may be configured as a system including a plurality of apparatuses.
  • the imaging unit 111-1 and the imaging unit 111-2 of the image processing apparatus 300 may be configured as separate devices formed separately from the moving object motion direction detection unit 311 and the image encoding unit 212. Good. By doing this, it is possible to improve the freedom of the installation position and orientation of the imaging unit 111-1 and the imaging unit 111-2.
  • the imaging unit 111-1 and the sensor unit 321 are configured as independent devices formed separately from the moving body motion direction detection unit 322 and the image encoding unit 212. May be By doing this, it is possible to improve the freedom of the installation position and orientation of the imaging unit 111-1 and the sensor unit 321.
  • the image encoding unit 212, the moving subject motion direction detecting unit 311, and the moving subject motion direction detecting unit 322 may be configured as independent devices.
  • the movement direction of the moving body may be detected based on single information (for example, single captured image), or a plurality of information (for example, multiple captured images, captured image and sensor information) It may be detected based on a plurality of types of information).
  • single information for example, single captured image
  • a plurality of information for example, multiple captured images, captured image and sensor information
  • It may be detected based on a plurality of types of information.
  • the more information is used the more accurately the motion direction of the moving body can be detected.
  • the amount of information is smaller, it is possible to suppress an increase in load of detection processing.
  • the information used to detect the moving direction of the moving body is arbitrary, and is not limited to the above-described example.
  • position information of the subject may be obtained using a GPS (Global Positioning System).
  • the image encoding unit 212 can perform quantization by adjusting the quantization parameter according to the encoding difficulty depending on the moving direction of the moving object. . Therefore, the same effect can be obtained.
  • the present technology includes transmitters and receivers for satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication, or media such as optical disks, magnetic disks, and flash memories.
  • the present invention can be applied to various electronic devices such as a recording device for recording an image, and a reproduction device for reproducing an image from these storage media.
  • FIG. 20 shows an example of a schematic configuration of a television set to which the embodiment described above is applied.
  • the television device 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a speaker 908, an external interface (I / F) unit 909, and a control unit.
  • a user interface (I / F) unit 911 and a bus 912 are provided.
  • the tuner 902 extracts a signal of a desired channel from a broadcast signal received via the antenna 901, and demodulates the extracted signal. Then, the tuner 902 outputs the coded bit stream obtained by demodulation to the demultiplexer 903. That is, the tuner 902 has a role as a transmission unit in the television apparatus 900 which receives a coded stream in which an image is coded.
  • the demultiplexer 903 separates the video stream and audio stream of the program to be viewed from the coded bit stream, and outputs the separated streams to the decoder 904. Also, the demultiplexer 903 extracts auxiliary data such as an EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 910. When the coded bit stream is scrambled, the demultiplexer 903 may perform descrambling.
  • EPG Electronic Program Guide
  • the decoder 904 decodes the video stream and audio stream input from the demultiplexer 903. Then, the decoder 904 outputs the video data generated by the decoding process to the video signal processing unit 905. Further, the decoder 904 outputs the audio data generated by the decoding process to the audio signal processing unit 907.
  • the video signal processing unit 905 reproduces the video data input from the decoder 904 and causes the display unit 906 to display a video. Also, the video signal processing unit 905 may cause the display unit 906 to display an application screen supplied via the network. Further, the video signal processing unit 905 may perform additional processing such as noise removal on the video data according to the setting. Furthermore, the video signal processing unit 905 may generate an image of a graphical user interface (GUI) such as a menu, a button, or a cursor, for example, and may superimpose the generated image on the output image.
  • GUI graphical user interface
  • the display unit 906 is driven by a drive signal supplied from the video signal processing unit 905, and displays an image on the image surface of a display device (for example, a liquid crystal display, a plasma display, or OELD (Organic ElectroLuminescence Display) (organic EL display)). Or display an image.
  • a display device for example, a liquid crystal display, a plasma display, or OELD (Organic ElectroLuminescence Display) (organic EL display)). Or display an image.
  • the audio signal processing unit 907 performs reproduction processing such as D / A conversion and amplification on audio data input from the decoder 904, and causes the speaker 908 to output audio. Further, the audio signal processing unit 907 may perform additional processing such as noise removal on the audio data.
  • the external interface unit 909 is an interface for connecting the television device 900 to an external device or a network.
  • a video stream or an audio stream received via the external interface unit 909 may be decoded by the decoder 904. That is, the external interface unit 909 also has a role as a transmission unit in the television apparatus 900 that receives the encoded stream in which the image is encoded.
  • the control unit 910 includes a processor such as a CPU, and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, EPG data, data acquired via a network, and the like.
  • the program stored by the memory is read and executed by the CPU, for example, when the television device 900 is started.
  • the CPU controls the operation of the television apparatus 900 according to an operation signal input from, for example, the user interface unit 911 by executing a program.
  • the user interface unit 911 is connected to the control unit 910.
  • the user interface unit 911 has, for example, buttons and switches for the user to operate the television device 900, and a receiver for remote control signals.
  • the user interface unit 911 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 910.
  • the bus 912 mutually connects the tuner 902, the demultiplexer 903, the decoder 904, the video signal processing unit 905, the audio signal processing unit 907, the external interface unit 909, and the control unit 910.
  • the video signal processing unit 905 encodes, for example, the image data supplied from the decoder 904, and the obtained encoded data is converted to a television via the external interface unit 909. It may be possible to output to the outside of the device 900. Then, at the time of the encoding, the video signal processing unit 905 may quantize and encode the image data supplied from the decoder 904 according to the method described in each of the above embodiments.
  • the video signal processing unit 905 has the function of the quantization unit 134, and uses, for the image supplied from the decoder 904, a quantization parameter according to the encoding difficulty according to the moving direction of the moving body in the image. Quantization may be performed. By doing so, the television device 900 can obtain the same effects as those of the above-described embodiments.
  • FIG. 21 shows an example of a schematic configuration of a mobile phone to which the embodiment described above is applied.
  • the mobile phone 920 includes an antenna 921, a communication unit 922, an audio codec 923, a speaker 924, a microphone 925, a camera unit 926, an image processing unit 927, a multiplexing and separating unit 928, a recording and reproducing unit 929, a display unit 930, a control unit 931, an operation.
  • a unit 932 and a bus 933 are provided.
  • the antenna 921 is connected to the communication unit 922.
  • the speaker 924 and the microphone 925 are connected to the audio codec 923.
  • the operation unit 932 is connected to the control unit 931.
  • the bus 933 mutually connects the communication unit 922, the audio codec 923, the camera unit 926, the image processing unit 927, the demultiplexing unit 928, the recording / reproducing unit 929, the display unit 930, and the control unit 931.
  • the cellular phone 920 can transmit and receive audio signals, transmit and receive electronic mail or image data, capture an image, and record data in various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode. Do the action.
  • the analog voice signal generated by the microphone 925 is supplied to the voice codec 923.
  • the audio codec 923 converts an analog audio signal into audio data, and A / D converts and compresses the converted audio data. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922.
  • the communication unit 922 encodes and modulates audio data to generate a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 also amplifies and frequency-converts a radio signal received via the antenna 921 to obtain a reception signal.
  • the communication unit 922 demodulates and decodes the received signal to generate audio data, and outputs the generated audio data to the audio codec 923.
  • the audio codec 923 decompresses and D / A converts audio data to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the control unit 931 generates character data constituting an electronic mail in accordance with an operation by the user via the operation unit 932. Further, the control unit 931 causes the display unit 930 to display characters. Further, the control unit 931 generates electronic mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated electronic mail data to the communication unit 922.
  • a communication unit 922 encodes and modulates electronic mail data to generate a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921. The communication unit 922 also amplifies and frequency-converts a radio signal received via the antenna 921 to obtain a reception signal.
  • the communication unit 922 demodulates and decodes the received signal to restore the e-mail data, and outputs the restored e-mail data to the control unit 931.
  • the control unit 931 causes the display unit 930 to display the contents of the e-mail, and also supplies the e-mail data to the recording and reproduction unit 929 to write the data on the storage medium.
  • the recording and reproducing unit 929 includes an arbitrary readable and writable storage medium.
  • the storage medium may be a built-in storage medium such as RAM or flash memory, and may be an externally mounted type such as hard disk, magnetic disk, magneto-optical disk, optical disk, USB (Universal Serial Bus) memory, or memory card Storage media.
  • the camera unit 926 captures an image of a subject to generate image data, and outputs the generated image data to the image processing unit 927.
  • the image processing unit 927 encodes the image data input from the camera unit 926, supplies the encoded stream to the recording and reproduction unit 929, and causes the recording medium to write the encoded stream.
  • the recording / reproducing unit 929 reads out the encoded stream recorded in the storage medium and outputs the read encoded stream to the image processing unit 927.
  • the image processing unit 927 decodes the encoded stream input from the recording / reproducing unit 929, supplies the image data to the display unit 930, and displays the image.
  • the demultiplexing unit 928 multiplexes the video stream encoded by the image processing unit 927 and the audio stream input from the audio codec 923, and the communication unit 922 multiplexes the multiplexed stream.
  • Output to The communication unit 922 encodes and modulates the stream to generate a transmission signal.
  • the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 also amplifies and frequency-converts a radio signal received via the antenna 921 to obtain a reception signal.
  • the transmission signal and the reception signal may include a coded bit stream.
  • the communication unit 922 demodulates and decodes the received signal to restore the stream, and outputs the restored stream to the demultiplexing unit 928.
  • the demultiplexing unit 928 separates the video stream and the audio stream from the input stream, and outputs the video stream to the image processing unit 927 and the audio stream to the audio codec 923.
  • the image processing unit 927 decodes the video stream to generate video data.
  • the video data is supplied to the display unit 930, and the display unit 930 displays a series of images.
  • the audio codec 923 decompresses and D / A converts the audio stream to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the image processing unit 927 may quantize and encode the supplied image data by the method described in each of the above embodiments.
  • the image processing unit 927 may have the function of the quantization unit 134, and may perform quantization using a quantization parameter according to the encoding difficulty according to the moving direction of the moving body in the supplied image. By doing this, the cellular phone 920 can obtain the same effects as those of the above-described embodiments.
  • FIG. 22 shows an example of a schematic configuration of a recording and reproducing apparatus to which the embodiment described above is applied.
  • the recording / reproducing device 940 encodes, for example, audio data and video data of the received broadcast program and records the encoded data on a recording medium.
  • the recording and reproduction device 940 may encode, for example, audio data and video data acquired from another device and record the encoded data on a recording medium.
  • the recording / reproducing device 940 reproduces the data recorded on the recording medium on the monitor and the speaker, for example, in accordance with the user's instruction. At this time, the recording / reproducing device 940 decodes the audio data and the video data.
  • the recording / reproducing apparatus 940 includes a tuner 941, an external interface (I / F) unit 942, an encoder 943, a hard disk drive (HDD) unit 944, a disk drive 945, a selector 946, a decoder 947, an on-screen display (OSD) unit 948. , A control unit 949, and a user interface (I / F) unit 950.
  • I / F external interface
  • HDD hard disk drive
  • OSD on-screen display
  • a control unit 949 and a user interface (I / F) unit 950.
  • the tuner 941 extracts a signal of a desired channel from a broadcast signal received via an antenna (not shown) and demodulates the extracted signal. Then, the tuner 941 outputs the coded bit stream obtained by demodulation to the selector 946. That is, the tuner 941 has a role as a transmission unit in the recording / reproducing apparatus 940.
  • the external interface unit 942 is an interface for connecting the recording and reproducing device 940 to an external device or a network.
  • the external interface unit 942 may be, for example, an IEEE (Institute of Electrical and Electronic Engineers) 1394 interface, a network interface, a USB interface, a flash memory interface, or the like.
  • video data and audio data received via the external interface unit 942 are input to the encoder 943. That is, the external interface unit 942 has a role as a transmission unit in the recording / reproducing device 940.
  • the encoder 943 encodes video data and audio data when the video data and audio data input from the external interface unit 942 are not encoded. Then, the encoder 943 outputs the coded bit stream to the selector 946.
  • the HDD unit 944 records an encoded bit stream obtained by compressing content data such as video and audio, various programs, and other data in an internal hard disk. The HDD unit 944 also reads out these data from the hard disk when playing back video and audio.
  • the disk drive 945 records and reads data on the mounted recording medium.
  • the recording medium mounted on the disk drive 945 is, for example, a DVD (Digital Versatile Disc) disk (DVD-Video, DVD-RAM (DVD-Random Access Memory), DVD-R (DVD-Recordable), DVD-RW (DVD- Rewritable, DVD + R (DVD + Recordable), DVD + RW (DVD + Rewritable), etc., Blu-ray (registered trademark) disc, etc. may be used.
  • DVD Digital Versatile Disc
  • DVD-Video DVD-Video
  • DVD-RAM DVD-Random Access Memory
  • DVD-R DVD-Recordable
  • DVD-RW DVD- Rewritable
  • DVD + R DVD + Recordable
  • DVD + RW DVD + Rewritable
  • Blu-ray registered trademark
  • the selector 946 selects the coded bit stream input from the tuner 941 or the encoder 943 at the time of video and audio recording, and outputs the selected coded bit stream to the HDD 944 or the disk drive 945. Also, the selector 946 outputs the encoded bit stream input from the HDD 944 or the disk drive 945 to the decoder 947 at the time of reproduction of video and audio.
  • the decoder 947 decodes the coded bit stream to generate video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD unit 948. Further, the decoder 947 outputs the generated audio data to an external speaker.
  • the OSD unit 948 reproduces the video data input from the decoder 947 and displays the video.
  • the OSD unit 948 may superimpose an image of a GUI such as a menu, a button, or a cursor on the video to be displayed.
  • the control unit 949 includes a processor such as a CPU, and memories such as a RAM and a ROM.
  • the memory stores programs executed by the CPU, program data, and the like.
  • the program stored by the memory is read and executed by the CPU, for example, when the recording and reproducing device 940 is started.
  • the CPU controls the operation of the recording / reproducing apparatus 940 in accordance with an operation signal input from, for example, the user interface unit 950 by executing a program.
  • the user interface unit 950 is connected to the control unit 949.
  • the user interface unit 950 includes, for example, a button and a switch for the user to operate the recording and reproducing device 940, a receiver of a remote control signal, and the like.
  • the user interface unit 950 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 949.
  • the encoder 943 may have the function of the image processing apparatus 100 described above. That is, the encoder 943 may quantize and encode the supplied image data according to the explanation method in each of the above embodiments.
  • the encoder 943 has the function of the quantization unit 134, and performs quantization on the supplied image using a quantization parameter according to the encoding difficulty according to the moving direction of the moving body in the image. May be By doing so, the recording and reproducing device 940 can obtain the same effects as those of the above-described embodiments.
  • FIG. 23 illustrates an example of a schematic configuration of an imaging device to which the embodiment described above is applied.
  • the imaging device 960 captures an object to generate an image, encodes image data, and records the image data in a recording medium.
  • the imaging device 960 includes an optical block 961, an imaging unit 962, a signal processing unit 963, an image processing unit 964, a display unit 965, an external interface (I / F) unit 966, a memory unit 967, a media drive 968, an OSD unit 969, and control. And a user interface (I / F) unit 971 and a bus 972.
  • the optical block 961 is connected to the imaging unit 962.
  • the imaging unit 962 is connected to the signal processing unit 963.
  • the display unit 965 is connected to the image processing unit 964.
  • the user interface unit 971 is connected to the control unit 970.
  • the bus 972 mutually connects the image processing unit 964, the external interface unit 966, the memory unit 967, the media drive 968, the OSD unit 969, and the control unit 970.
  • the optical block 961 has a focus lens, an aperture mechanism, and the like.
  • the optical block 961 forms an optical image of a subject on the imaging surface of the imaging unit 962.
  • the imaging unit 962 includes an image sensor such as a charge coupled device (CCD) or a complementary metal oxide semiconductor (CMOS), and converts an optical image formed on an imaging surface into an image signal as an electrical signal by photoelectric conversion. Then, the imaging unit 962 outputs the image signal to the signal processing unit 963.
  • CCD charge coupled device
  • CMOS complementary metal oxide semiconductor
  • the signal processing unit 963 performs various camera signal processing such as knee correction, gamma correction, and color correction on the image signal input from the imaging unit 962.
  • the signal processing unit 963 outputs the image data after camera signal processing to the image processing unit 964.
  • the image processing unit 964 encodes the image data input from the signal processing unit 963 to generate encoded data. Then, the image processing unit 964 outputs the generated encoded data to the external interface unit 966 or the media drive 968. Also, the image processing unit 964 decodes the encoded data input from the external interface unit 966 or the media drive 968 to generate image data. Then, the image processing unit 964 outputs the generated image data to the display unit 965.
  • the image processing unit 964 may output the image data input from the signal processing unit 963 to the display unit 965 to display an image. The image processing unit 964 may superimpose the display data acquired from the OSD unit 969 on the image to be output to the display unit 965.
  • the OSD unit 969 generates an image of a GUI such as, for example, a menu, a button, or a cursor, and outputs the generated image to the image processing unit 964.
  • a GUI such as, for example, a menu, a button, or a cursor
  • the external interface unit 966 is configured as, for example, a USB input / output terminal.
  • the external interface unit 966 connects the imaging device 960 and the printer, for example, when printing an image.
  • a drive is connected to the external interface unit 966 as necessary.
  • removable media such as a magnetic disk or an optical disk may be attached to the drive, and a program read from the removable media may be installed in the imaging device 960.
  • the external interface unit 966 may be configured as a network interface connected to a network such as a LAN or the Internet. That is, the external interface unit 966 has a role as a transmission unit in the imaging device 960.
  • the recording medium mounted in the media drive 968 may be, for example, any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
  • the recording medium may be fixedly attached to the media drive 968, and a non-portable storage unit such as, for example, a built-in hard disk drive or a solid state drive (SSD) may be configured.
  • SSD solid state drive
  • the control unit 970 includes a processor such as a CPU, and memories such as a RAM and a ROM.
  • the memory stores programs executed by the CPU, program data, and the like.
  • the program stored by the memory is read and executed by the CPU, for example, when the imaging device 960 starts up.
  • the CPU controls the operation of the imaging device 960 according to an operation signal input from, for example, the user interface unit 971 by executing a program.
  • the user interface unit 971 is connected to the control unit 970.
  • the user interface unit 971 includes, for example, buttons and switches for the user to operate the imaging device 960.
  • the user interface unit 971 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 970.
  • the image processing unit 964 may quantize and encode the supplied image data by the method described in each of the above embodiments.
  • the image processing unit 964 has the function of the quantization unit 134, and performs quantization on the supplied image using a quantization parameter according to the encoding difficulty according to the moving direction of the moving body in the image. You may do so. By doing so, the imaging device 960 can obtain the same effects as those of the above-described embodiments.
  • the present technology can be applied to any configuration installed in an apparatus or system, for example, a processor as a system LSI (Large Scale Integration) or the like, a module using a plurality of processors, a unit using a plurality of modules, etc. It can also be implemented as a set or the like in which other functions are further added to the unit (ie, a part of the configuration of the apparatus).
  • FIG. 24 illustrates an example of a schematic configuration of a video set to which the present technology is applied.
  • the video set 1300 shown in FIG. 24 is such a multi-functionalized configuration, and the device having the function related to image encoding and / or decoding may be included in the function. It is a combination of devices with other related functions.
  • a video set 1300 includes modules such as a video module 1311, an external memory 1312, a power management module 1313, and a front end module 1314, and an associated module such as connectivity 1321, camera 1322 and sensor 1323. And a device having a function.
  • a module is a component that combines several component functions that are related to one another into components with a cohesive function.
  • the specific physical configuration is arbitrary, for example, it is conceivable that a plurality of processors having respective functions, electronic circuit elements such as resistors and capacitors, and other devices are disposed and integrated on a wiring board or the like. . It is also conceivable to combine a module with another module or processor to make a new module.
  • the video module 1311 is a combination of configurations having functions related to image processing, and includes an application processor, a video processor, a broadband modem 1333, and an RF module 1334.
  • the processor is one in which a configuration having a predetermined function is integrated on a semiconductor chip by SoC (System On a Chip), and there is also one called a system LSI (Large Scale Integration) or the like.
  • the configuration having the predetermined function may be a logic circuit (hardware configuration), a CPU, a ROM, a RAM, etc., and a program (software configuration) to be executed using them. And both may be combined.
  • a program has a logic circuit and a CPU, a ROM, a RAM, etc., a part of the function is realized by a logic circuit (hardware configuration), and a program (software configuration) executed on the CPU It may be realized by
  • the application processor 1331 in FIG. 24 is a processor that executes an application related to image processing.
  • the application executed in the application processor 1331 can not only perform arithmetic processing in order to realize a predetermined function, but can also control the configuration inside and outside the video module 1311 such as the video processor 1332 as necessary. .
  • the video processor 1332 is a processor having a function related to image encoding and / or decoding.
  • the broadband modem 1333 generates analog signals by digitally modulating data (digital signals) to be transmitted by wired or wireless (or both) broadband communications performed via broadband links such as the Internet and public telephone networks. It converts or demodulates an analog signal received by the broadband communication to convert it into data (digital signal).
  • the broadband modem 1333 processes arbitrary information such as, for example, image data processed by the video processor 1332, a stream encoded with the image data, an application program, setting data, and the like.
  • the RF module 1334 is a module that performs frequency conversion, modulation / demodulation, amplification, filter processing, and the like on an RF (Radio Frequency) signal transmitted / received via an antenna. For example, the RF module 1334 performs frequency conversion and the like on the baseband signal generated by the broadband modem 1333 to generate an RF signal. Also, for example, the RF module 1334 performs frequency conversion or the like on the RF signal received via the front end module 1314 to generate a baseband signal.
  • RF Radio Frequency
  • the application processor 1331 and the video processor 1332 may be integrated and configured as one processor.
  • the external memory 1312 is a module provided outside the video module 1311 and having a storage device used by the video module 1311.
  • the storage device of the external memory 1312 may be realized by any physical configuration, it is generally used to store a large amount of data such as image data in units of frames.
  • a relatively inexpensive and large-capacity semiconductor memory such as a dynamic random access memory (DRAM).
  • DRAM dynamic random access memory
  • the power management module 1313 manages and controls the power supply to the video module 1311 (each configuration in the video module 1311).
  • the front end module 1314 is a module that provides the RF module 1334 with a front end function (a circuit of transmitting and receiving ends on the antenna side). As shown in FIG. 24, the front end module 1314 includes, for example, an antenna unit 1351, a filter 1352, and an amplification unit 1353.
  • the antenna unit 1351 includes an antenna that transmits and receives a wireless signal and a configuration around the antenna.
  • the antenna unit 1351 transmits the signal supplied from the amplification unit 1353 as a wireless signal, and supplies the received wireless signal to the filter 1352 as an electric signal (RF signal).
  • the filter 1352 performs filter processing or the like on the RF signal received via the antenna unit 1351, and supplies the processed RF signal to the RF module 1334.
  • the amplification unit 1353 amplifies the RF signal supplied from the RF module 1334 and supplies it to the antenna unit 1351.
  • the connectivity 1321 is a module having a function related to connection with the outside.
  • the physical configuration of the connectivity 1321 is arbitrary.
  • the connectivity 1321 has a configuration having a communication function other than the communication standard supported by the broadband modem 1333, an external input / output terminal, and the like.
  • the connectivity 1321 conforms to a wireless communication standard such as Bluetooth (registered trademark), IEEE 802.11 (for example, Wi-Fi (Wireless Fidelity (registered trademark)), NFC (Near Field Communication), IrDA (InfraRed Data Association)
  • a module having a function, an antenna that transmits and receives a signal conforming to the standard, or the like may be included.
  • the connectivity 1321 has a module having a communication function conforming to a wired communication standard such as Universal Serial Bus (USB) or High-Definition Multimedia Interface (HDMI (registered trademark)), or a terminal conforming to the standard. You may do so.
  • the connectivity 1321 may have another data (signal) transmission function or the like such as an analog input / output terminal.
  • the connectivity 1321 may include a device to which data (signal) is to be transmitted.
  • a drive in which the connectivity 1321 reads data from or writes data to a recording medium such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory (not only a removable media drive but also a hard disk, solid state drive (SSD) , NAS (Network Attached Storage), etc.
  • the connectivity 1321 may include an output device (such as a monitor or a speaker) of an image or sound.
  • the camera 1322 is a module having a function of capturing an image of a subject and obtaining image data of the subject.
  • the image data obtained by the imaging of the camera 1322 is supplied to, for example, a video processor 1332 and encoded.
  • the sensor 1323 is, for example, an audio sensor, an ultrasonic sensor, an optical sensor, an illuminance sensor, an infrared sensor, an image sensor, a rotation sensor, an angle sensor, an angular velocity sensor, a velocity sensor, an acceleration sensor, an inclination sensor, a magnetic identification sensor, an impact sensor, It is a module having an arbitrary sensor function such as a temperature sensor.
  • the data detected by the sensor 1323 is, for example, supplied to the application processor 1331 and used by an application or the like.
  • the configuration described above as a module may be realized as a processor, and conversely, the configuration described as a processor may be realized as a module.
  • video set 1300 configured as described above, the present technology can be applied to the video processor 1332 as described later.
  • video set 1300 can be implemented as a set to which the present technology is applied.
  • FIG. 25 shows an example of a schematic configuration of a video processor 1332 (FIG. 24) to which the present technology is applied.
  • the video processor 1332 has a function of receiving input of video and audio signals and encoding them in a predetermined scheme, decoding encoded video data and audio data, and And a function of reproducing and outputting an audio signal.
  • the video processor 1332 includes a video input processing unit 1401, a first image scaling unit 1402, a second image scaling unit 1403, a video output processing unit 1404, a frame memory 1405, and a memory control unit 1406.
  • the video processor 1332 has an encoding / decoding engine 1407, video ES (Elementary Stream) buffers 1408A and 1408B, and audio ES buffers 1409A and 1409B.
  • the video processor 1332 further includes an audio encoder 1410, an audio decoder 1411, a multiplexer (MUX (Multiplexer)) 1412, a demultiplexer (DMUX (Demultiplexer)) 1413, and a stream buffer 1414.
  • MUX Multiplexer
  • DMUX demultiplexer
  • the video input processing unit 1401 acquires a video signal input from, for example, the connectivity 1321 (FIG. 24) or the like, and converts the video signal into digital image data.
  • the first image scaling unit 1402 performs format conversion, image scaling processing, and the like on image data.
  • the second image scaling unit 1403 performs image scaling processing on the image data according to the format at the output destination via the video output processing unit 1404, or the same as the first image scaling unit 1402. Format conversion, image enlargement / reduction processing, etc.
  • the video output processing unit 1404 performs format conversion, conversion to an analog signal, and the like on the image data, and outputs the reproduced video signal to, for example, the connectivity 1321 or the like.
  • the frame memory 1405 is a memory for image data shared by the video input processing unit 1401, the first image scaling unit 1402, the second image scaling unit 1403, the video output processing unit 1404, and the encoding / decoding engine 1407. .
  • the frame memory 1405 is realized, for example, as a semiconductor memory such as a DRAM.
  • the memory control unit 1406 receives a synchronization signal from the encode / decode engine 1407 and controls write / read access to the frame memory 1405 according to the access schedule to the frame memory 1405 written in the access management table 1406A.
  • the access control table 1406A is updated by the memory control unit 1406 in accordance with the processing executed by the encoding / decoding engine 1407, the first image scaling unit 1402, the second image scaling unit 1403 and the like.
  • the encoding / decoding engine 1407 performs encoding processing of image data and decoding processing of a video stream which is data obtained by encoding the image data. For example, the encoding / decoding engine 1407 encodes the image data read from the frame memory 1405 and sequentially writes the image data as a video stream in the video ES buffer 1408A. Also, for example, the video stream is sequentially read from the video ES buffer 1408 B and decoded, and is sequentially written to the frame memory 1405 as image data. The encoding / decoding engine 1407 uses the frame memory 1405 as a work area in these encoding and decoding. Also, the encoding / decoding engine 1407 outputs a synchronization signal to the memory control unit 1406, for example, at the timing of starting processing for each macroblock.
  • the video ES buffer 1408 A buffers the video stream generated by the encoding / decoding engine 1407 and supplies the buffer to the multiplexer (MUX) 1412.
  • the video ES buffer 1408 B buffers the video stream supplied from the demultiplexer (DMUX) 1413 and supplies the video stream to the encode / decode engine 1407.
  • the audio ES buffer 1409A buffers the audio stream generated by the audio encoder 1410 and supplies the buffer to the multiplexer (MUX) 1412.
  • the audio ES buffer 1409 B buffers the audio stream supplied from the demultiplexer (DMUX) 1413 and supplies the audio stream to the audio decoder 1411.
  • the audio encoder 1410 digitally converts, for example, an audio signal input from the connectivity 1321 or the like, and encodes the signal according to a predetermined method such as the MPEG audio method or the AC3 (Audio Code number 3) method.
  • the audio encoder 1410 sequentially writes an audio stream, which is data obtained by encoding an audio signal, into the audio ES buffer 1409A.
  • the audio decoder 1411 decodes the audio stream supplied from the audio ES buffer 1409B, performs conversion to an analog signal, and the like, for example, and supplies the reproduced audio signal to, for example, the connectivity 1321 and the like.
  • a multiplexer (MUX) 1412 multiplexes the video stream and the audio stream.
  • the method of this multiplexing ie, the format of the bit stream generated by multiplexing
  • the multiplexing unit (MUX) 1412 can also add predetermined header information or the like to the bit stream. That is, the multiplexing unit (MUX) 1412 can convert the format of the stream by multiplexing.
  • the multiplexing unit (MUX) 1412 converts a video stream and an audio stream into a transport stream, which is a bit stream of a transfer format, by multiplexing the video stream and the audio stream.
  • the multiplexing unit (MUX) 1412 converts the video stream and the audio stream into data (file data) of a file format for recording by multiplexing.
  • a demultiplexing unit (DMUX) 1413 demultiplexes a bitstream in which a video stream and an audio stream are multiplexed in a method corresponding to multiplexing by the multiplexing unit (MUX) 1412. That is, the demultiplexer (DMUX) 1413 extracts a video stream and an audio stream from the bit stream read from the stream buffer 1414 (separate the video stream and the audio stream). That is, the demultiplexer (DMUX) 1413 can convert the format of the stream by demultiplexing (inverse conversion of conversion by the multiplexer (MUX) 1412).
  • the demultiplexer unit (DMUX) 1413 acquires a transport stream supplied from, for example, the connectivity 1321 or the broadband modem 1333 via the stream buffer 1414, and demultiplexes the transport stream to obtain a video stream and an audio stream. And can be converted to Also, for example, the demultiplexer unit (DMUX) 1413 acquires file data read from various recording media by the connectivity 1321, for example, through the stream buffer 1414, and demultiplexes the file data to obtain a video stream and audio. It can be converted to a stream.
  • the stream buffer 1414 buffers the bit stream.
  • the stream buffer 1414 buffers the transport stream supplied from the multiplexing unit (MUX) 1412 and, for example, to the connectivity 1321 or the broadband modem 1333 or the like at a predetermined timing or based on an external request or the like. Supply.
  • MUX multiplexing unit
  • the stream buffer 1414 buffers the file data supplied from the multiplexing unit (MUX) 1412, and supplies the file data to, for example, the connectivity 1321 or the like at predetermined timing or based on an external request or the like. Record on various recording media.
  • MUX multiplexing unit
  • the stream buffer 1414 buffers a transport stream acquired via, for example, the connectivity 1321 or the broadband modem 1333 or the like, and the demultiplexer unit (DMUX) at a predetermined timing or based on an external request or the like. Supply to 1413.
  • DMUX demultiplexer unit
  • the stream buffer 1414 buffers file data read from various recording media, for example, in the connectivity 1321 and the like, and at a predetermined timing or based on an external request or the like, the demultiplexer unit (DMUX) 1413 Supply to
  • a video signal input from the connectivity 1321 or the like to the video processor 1332 is converted into digital image data of a predetermined format such as 4: 2: 2 Y / Cb / Cr format in the video input processing unit 1401, and is converted to frame memory 1405. It will be written sequentially.
  • This digital image data is read by the first image scaling unit 1402 or the second image scaling unit 1403, and format conversion and scaling processing to a predetermined format such as 4: 2: 0 Y / Cb / Cr format is performed. And are written to the frame memory 1405 again.
  • This image data is encoded by the encoding / decoding engine 1407 and written to the video ES buffer 1408A as a video stream.
  • an audio signal input from the connectivity 1321 or the like to the video processor 1332 is encoded by the audio encoder 1410 and written as an audio stream to the audio ES buffer 1409A.
  • the video stream of the video ES buffer 1408A and the audio stream of the audio ES buffer 1409A are read and multiplexed by the multiplexer (MUX) 1412 and converted to a transport stream or file data or the like.
  • the transport stream generated by the multiplexer (MUX) 1412 is buffered in the stream buffer 1414 and then output to the external network via, for example, the connectivity 1321 or the broadband modem 1333.
  • the file data generated by the multiplexing unit (MUX) 1412 is buffered in the stream buffer 1414, and then output to, for example, the connectivity 1321 and the like, and recorded in various recording media.
  • a transport stream input from an external network to the video processor 1332 via the connectivity 1321 or the broadband modem 1333 is buffered in the stream buffer 1414 and then demultiplexed by the demultiplexer (DMUX) 1413.
  • DMUX demultiplexer
  • file data read from various recording media in connectivity 1321 and the like and input to the video processor 1332 is buffered in the stream buffer 1414 and then demultiplexed by the demultiplexer (DMUX) 1413. That is, the transport stream or file data input to the video processor 1332 is separated into a video stream and an audio stream by the demultiplexer (DMUX) 1413.
  • the audio stream is supplied to the audio decoder 1411 via the audio ES buffer 1409B and decoded to reproduce the audio signal. Also, after the video stream is written to the video ES buffer 1408 B, it is sequentially read and decoded by the encoding / decoding engine 1407 and written to the frame memory 1405. The decoded image data is scaled by the second image scaling unit 1403 and written to the frame memory 1405. Then, the decoded image data is read by the video output processing unit 1404, converted into a predetermined format such as 4: 2: 2 Y / Cb / Cr format, and further converted into an analog signal, and the video signal is converted. Is reproduced and output.
  • the present technology when the present technology is applied to the video processor 1332 configured as described above, the present technology according to each embodiment described above may be applied to the encoding / decoding engine 1407. That is, for example, the encoding / decoding engine 1407 has the function of the quantizing unit 134 and uses, for the supplied image, a quantization parameter according to the encoding difficulty according to the moving direction of the moving body in the image. Quantization may be performed. By doing so, the video processor 1332 can obtain the same effects as those of the above-described embodiments.
  • the present technology (that is, the function of the image processing apparatus 100) may be realized by hardware such as a logic circuit, or realized by software such as an embedded program. It may be realized by both of them.
  • FIG. 26 shows another example of a schematic configuration of a video processor 1332 to which the present technology is applied.
  • the video processor 1332 has a function of encoding / decoding video data in a predetermined scheme.
  • the video processor 1332 has a control unit 1511, a display interface 1512, a display engine 1513, an image processing engine 1514, and an internal memory 1515. Also, the video processor 1332 has a codec engine 1516, a memory interface 1517, a multiplexing / demultiplexing unit (MUX DMUX) 1518, a network interface 1519, and a video interface 1520.
  • MUX DMUX multiplexing / demultiplexing unit
  • the control unit 1511 controls the operation of each processing unit in the video processor 1332 such as the display interface 1512, the display engine 1513, the image processing engine 1514, and the codec engine 1516.
  • the control unit 1511 includes, for example, a main CPU 1531, a sub CPU 1532, and a system controller 1533.
  • the main CPU 1531 executes a program or the like for controlling the operation of each processing unit in the video processor 1332.
  • the main CPU 1531 generates a control signal according to the program or the like and supplies it to each processing unit (that is, controls the operation of each processing unit).
  • the sub CPU 1532 plays an auxiliary role of the main CPU 1531.
  • the sub CPU 1532 executes a child process or a subroutine of a program or the like executed by the main CPU 1531.
  • the system controller 1533 controls operations of the main CPU 1531 and the sub CPU 1532 such as designating programs executed by the main CPU 1531 and the sub CPU 1532.
  • the display interface 1512 outputs image data to, for example, the connectivity 1321 under the control of the control unit 1511.
  • the display interface 1512 converts image data of digital data into an analog signal, and outputs the converted signal as a reproduced video signal or the image data of digital data as it is to a monitor of the connectivity 1321 or the like.
  • the display engine 1513 performs various conversion processing such as format conversion, size conversion, color gamut conversion, and the like on the image data under the control of the control unit 1511 so as to match the hardware specifications of the monitor device or the like that displays the image. I do.
  • the image processing engine 1514 performs predetermined image processing, such as filter processing for improving the image quality, on the image data under the control of the control unit 1511.
  • the internal memory 1515 is a memory provided in the video processor 1332 shared by the display engine 1513, the image processing engine 1514, and the codec engine 1516.
  • the internal memory 1515 is used, for example, for data exchange between the display engine 1513, the image processing engine 1514, and the codec engine 1516.
  • the internal memory 1515 stores data supplied from the display engine 1513, the image processing engine 1514, or the codec engine 1516, and the data is displayed on the display engine 1513, as required (eg, on request).
  • the image processing engine 1514 or codec engine 1516 is supplied.
  • This internal memory 1515 may be realized by any storage device, but is generally used to store small-capacity data such as image data in units of blocks and parameters, etc. It is desirable to realize by a semiconductor memory that has a relatively small capacity (compared to, for example, the external memory 1312) such as a static random access memory, but has a high response speed.
  • the codec engine 1516 performs processing relating to encoding and decoding of image data.
  • the encoding / decoding method to which this codec engine 1516 corresponds is arbitrary, and the number may be one or more.
  • the codec engine 1516 may be provided with codec functions of a plurality of encoding / decoding methods, and one of them may be selected to encode image data or decode encoded data.
  • the codec engine 1516 includes, for example, MPEG-2 Video 1541, AVC / H.264 1542, HEVC / H.2651543, HEVC / H.265 (Scalable) 1544, It has HEVC / H.265 (Multi-view) 1545 and MPEG-DASH 1551.
  • the MPEG-2 Video 1541 is a functional block that encodes and decodes image data according to the MPEG-2 system.
  • AVC / H.2641542 is a functional block that encodes or decodes image data according to the AVC method.
  • HEVC / H.2651543 is a functional block that encodes and decodes image data according to the HEVC scheme.
  • HEVC / H.265 (Scalable) 1544 is a functional block that performs scalable encoding or scalable decoding of image data according to the HEVC scheme.
  • HEVC / H.265 (Multi-view) 1545 is a functional block that performs multi-view coding and multi-view decoding of image data according to the HEVC method.
  • the MPEG-DASH 1551 is a functional block that transmits and receives image data in accordance with the MPEG-Dynamic Adaptive Streaming over HTTP (MPEG-DASH) method.
  • MPEG-DASH is a technology that performs streaming of video using HTTP (HyperText Transfer Protocol), and selects and transmits, in units of segments, an appropriate one from a plurality of pieces of encoded data having different resolutions prepared in advance and the like. To be one of the features.
  • the MPEG-DASH 1551 performs generation of a stream conforming to the standard, transmission control of the stream, and the like, and encoding and decoding of image data can be performed according to the MPEG-2 Video 1541 to HEVC / H.
  • the memory interface 1517 is an interface for the external memory 1312. Data supplied from the image processing engine 1514 and the codec engine 1516 are supplied to the external memory 1312 via the memory interface 1517. Also, data read from the external memory 1312 is supplied to the video processor 1332 (image processing engine 1514 or codec engine 1516) via the memory interface 1517.
  • a multiplexing / demultiplexing unit (MUX DMUX) 1518 multiplexes or demultiplexes various data related to an image, such as a bit stream of encoded data, an image data, a video signal, and the like.
  • the method of multiplexing / demultiplexing is optional.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 can not only combine a plurality of data into one but also add predetermined header information or the like to the data.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 not only divides one data into a plurality of data but also adds predetermined header information etc. to each divided data.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 can convert the data format by multiplexing / demultiplexing.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 multiplexes a bit stream to transport stream, which is a bit stream of transfer format, or data of file format for recording (file data). Can be converted to Of course, inverse conversion is also possible by demultiplexing.
  • the network interface 1519 is an interface for, for example, the broadband modem 1333 or the connectivity 1321.
  • the video interface 1520 is an interface for the connectivity 1321, the camera 1322, and the like, for example.
  • a transport stream is received from the external network via the connectivity 1321 or the broadband modem 1333 or the like
  • the transport stream is supplied to the multiplexing / demultiplexing unit (MUX DMUX) 1518 via the network interface 1519. It is demultiplexed and decoded by the codec engine 1516.
  • the image data obtained by the decoding of the codec engine 1516 is subjected, for example, to predetermined image processing by the image processing engine 1514, to predetermined conversion by the display engine 1513, and to, for example, the connectivity 1321 via the display interface 1512.
  • the image is supplied and displayed on a monitor.
  • image data obtained by the decoding of the codec engine 1516 is re-encoded by the codec engine 1516, multiplexed by the multiplexing / demultiplexing unit (MUX DMUX) 1518, and converted into file data, and video
  • MUX DMUX multiplexing / demultiplexing unit
  • the information is output to the connectivity 1321 or the like via the interface 1520 and recorded in various recording media.
  • file data of encoded data obtained by encoding image data and read out from a recording medium (not shown) by the connectivity 1321 or the like is multiplexed / demultiplexed (MUX DMUX) via the video interface 1520.
  • 1516 are demultiplexed and decoded by codec engine 1516.
  • the image data obtained by the decoding of the codec engine 1516 is subjected to predetermined image processing by the image processing engine 1514, subjected to predetermined conversion by the display engine 1513, and supplied to, for example, the connectivity 1321 through the display interface 1512. , That image is displayed on the monitor.
  • image data obtained by the decoding of the codec engine 1516 is re-encoded by the codec engine 1516, multiplexed by the multiplexing / demultiplexing unit (MUX DMUX) 1518, and converted into a transport stream, For example, it is supplied to the connectivity 1321 or the broadband modem 1333 via the network interface 1519 and transmitted to another device (not shown).
  • MUX DMUX multiplexing / demultiplexing unit
  • image data and other data are exchanged between the processing units in the video processor 1332 using, for example, the internal memory 1515 or the external memory 1312.
  • the power management module 1313 controls, for example, the power supply to the control unit 1511.
  • the present technology when the present technology is applied to the video processor 1332 configured as described above, the present technology according to each embodiment described above may be applied to the codec engine 1516. That is, for example, the codec engine 1516 has the function of the quantization unit 134, and quantizes the supplied image using the quantization parameter according to the encoding difficulty according to the moving direction of the moving body in the image. You may do so. By doing so, the video processor 1332 can obtain the same effects as those of the above-described embodiments.
  • the present technology (that is, the function of the image processing apparatus 100) may be realized by hardware such as a logic circuit or may be realized by software such as an embedded program. It may be realized by both of them.
  • the configuration of the video processor 1332 is arbitrary, and may be other than the two examples described above.
  • the video processor 1332 may be configured as one semiconductor chip, but may be configured as a plurality of semiconductor chips.
  • a three-dimensional stacked LSI in which a plurality of semiconductors are stacked may be used.
  • it may be realized by a plurality of LSIs.
  • Video set 1300 can be incorporated into various devices for processing image data.
  • the video set 1300 can be incorporated into the television 900 (FIG. 20), the mobile phone 920 (FIG. 21), the recording / reproducing device 940 (FIG. 22), the imaging device 960 (FIG. 23), and the like.
  • the apparatus can obtain the same effects as those of the above-described embodiments.
  • each configuration of the video set 1300 described above can be implemented as a configuration to which the present technology is applied, as long as the video processor 1332 is included.
  • the video processor 1332 can be implemented as a video processor to which the present technology is applied.
  • the processor or the video module 1311 or the like indicated by the dotted line 1341 can be implemented as a processor or module or the like to which the present technology is applied.
  • the video module 1311, the external memory 1312, the power management module 1313, and the front end module 1314 may be combined to be implemented as a video unit 1361 to which the present technology is applied. With any configuration, the same effects as those of the above-described embodiments can be obtained.
  • any configuration including the video processor 1332 can be incorporated into various devices that process image data as in the case of the video set 1300.
  • the video processor 1332 the processor indicated by the dotted line 1341, the video module 1311 or the video unit 1361, the television device 900 (FIG. 20), the mobile phone 920 (FIG. 21), the recording / reproducing device 940 (FIG. 22) It can be incorporated into the imaging device 960 (FIG. 23) or the like. Then, by incorporating any of the configurations to which the present technology is applied, the device can obtain the same effects as those of the above-described embodiments, as in the case of the video set 1300.
  • FIG. 27 illustrates an example of a schematic configuration of a network system to which the present technology is applied.
  • a network system 1600 shown in FIG. 27 is a system in which devices exchange information related to an image (moving image) via a network.
  • the cloud service 1601 of the network system 1600 is connected to a terminal such as a computer 1611, an AV (Audio Visual) device 1612, a portable information processing terminal 1613, an IoT (Internet of Things) device 1614 connected communicably to itself.
  • the cloud service 1601 provides a terminal with a service for supplying content of images (moving images), such as so-called moving image distribution (on-demand or live distribution).
  • the cloud service 1601 provides a backup service for receiving and storing the content of an image (moving image) from a terminal.
  • the cloud service 1601 provides a service that mediates the exchange of content of images (moving images) between terminals.
  • the physical configuration of the cloud service 1601 is arbitrary.
  • the cloud service 1601 includes various servers such as a server that stores and manages moving images, a server that distributes moving images to terminals, a server that acquires moving images from terminals, a server that manages users (terminals) and billing, , And may have an arbitrary network such as the Internet or LAN.
  • the computer 1611 is configured by, for example, an information processing apparatus such as a personal computer, a server, a workstation, and the like.
  • the AV device 1612 is configured by an image processing device such as, for example, a television receiver, a hard disk recorder, a game device, a camera or the like.
  • the portable information processing terminal 1613 is configured of, for example, a portable information processing apparatus such as a laptop personal computer, a tablet terminal, a mobile phone, a smartphone, and the like.
  • the IoT device 1614 is configured of, for example, a machine, a home appliance, furniture, other objects, an IC tag, a card type device, or any other object that performs processing related to an image.
  • Each of these terminals has a communication function, can connect to the cloud service 1601 (establish a session), and exchange information with the cloud service 1601 (that is, communicate). Each terminal can also communicate with other terminals. Communication between terminals may be performed via the cloud service 1601 or may be performed without the cloud service 1601.
  • the image data is used in each embodiment. It may be encoded as described above. That is, the terminals (computers 1611 to IoT devices 1614) and the cloud service 1601 each have the function of the quantization unit 134 described above, and for the supplied image, encoding difficulty according to the moving direction of the moving body in the image The quantization may be performed using a quantization parameter according to the degree. By doing this, the terminal (computer 1611 to IoT device 1614) that transmits and receives image data and the cloud service 1601 can obtain the same effects as those of the above-described embodiments.
  • the system, apparatus, processing unit, etc. to which the present technology is applied can be used in any field such as traffic, medical care, crime prevention, agriculture, animal husbandry, mining, beauty, factory, home appliance, weather, nature monitoring, etc. .
  • the present technology can also be applied to systems and devices that transmit images provided for viewing.
  • the present technology can be applied to systems and devices provided for traffic.
  • the present technology can be applied to systems and devices provided for security.
  • the present technology can be applied to systems and devices provided for sports.
  • the present technology can be applied to systems and devices provided for agriculture.
  • the present technology can be applied to systems and devices provided for livestock industry.
  • the present technology can also be applied to systems and devices that monitor natural conditions such as, for example, volcanoes, forests, and oceans.
  • the present technology can be applied to, for example, a meteorological observation system or a meteorological observation apparatus that observes weather, air temperature, humidity, wind speed, daylight hours, and the like.
  • the present technology can be applied to, for example, a system or device for observing the ecology of wildlife such as birds, fish, reptiles, amphibians, mammals, insects, plants and the like.
  • Hierarchical image Coding scalable coding
  • coding of hierarchical images is performed in a plurality of layers (layering) so as to have a scalability function with respect to predetermined parameters. It can apply.
  • the present technology may be applied to the coding of each layer (layer).
  • the series of processes described above can be performed by hardware or software.
  • a program that configures the software is installed on a computer.
  • the computer includes, for example, a general-purpose personal computer that can execute various functions by installing a computer incorporated in dedicated hardware and various programs.
  • FIG. 28 is a block diagram showing an example of a hardware configuration of a computer that executes the series of processes described above according to a program.
  • a central processing unit (CPU) 1801, a read only memory (ROM) 1802, and a random access memory (RAM) 1803 are mutually connected via a bus 1804.
  • An input / output interface 1810 is also connected to the bus 1804.
  • An input unit 1811, an output unit 1812, a storage unit 1813, a communication unit 1814, and a drive 1815 are connected to the input / output interface 1810.
  • the input unit 1811 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
  • the output unit 1812 includes, for example, a display, a speaker, and an output terminal.
  • the storage unit 1813 includes, for example, a hard disk, a RAM disk, and a non-volatile memory.
  • the communication unit 1814 includes, for example, a network interface.
  • the drive 1815 drives removable media 1821 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 1801 loads the program stored in the storage unit 1813 into the RAM 1803 via the input / output interface 1810 and the bus 1804, and executes the program. Processing is performed.
  • the RAM 1803 also stores data and the like necessary for the CPU 1801 to execute various processes.
  • the program executed by the computer can be recorded and applied to, for example, a removable medium 1821 as a package medium or the like.
  • the program can be installed in the storage unit 1813 via the input / output interface 1810 by attaching the removable media 1821 to the drive 1815.
  • the program can also be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting. In that case, the program can be received by the communication unit 1814 and installed in the storage unit 1813.
  • a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be received by the communication unit 1814 and installed in the storage unit 1813.
  • this program can be installed in advance in the ROM 1802 or the storage unit 1813.
  • encoded data may be multiplexed and transmitted or recorded in encoded data, or may be encoded with encoded data without being multiplexed in encoded data. It may be transmitted or recorded as associated separate data.
  • association means, for example, that one data can be processed (linked) in processing the other data. That is, the data associated with each other may be collected as one data or may be individual data.
  • the information associated with the coded data (image) may be transmitted on a transmission path different from the coded data (image).
  • information associated with encoded data (image) may be recorded on a recording medium (or another recording area of the same recording medium) different from the encoded data (image). Good.
  • association may not be the entire data but a part of the data.
  • an image and information corresponding to the image may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part in a frame.
  • a system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing or not. Therefore, a plurality of devices housed in separate housings and connected via a network, and one device housing a plurality of modules in one housing are all systems. .
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configuration described as a plurality of devices (or processing units) in the above may be collectively configured as one device (or processing unit).
  • configurations other than those described above may be added to the configuration of each device (or each processing unit).
  • part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit) if the configuration or operation of the entire system is substantially the same. .
  • the present technology can have a cloud computing configuration in which one function is shared and processed by a plurality of devices via a network.
  • the program described above can be executed on any device.
  • the device may have necessary functions (functional blocks and the like) so that necessary information can be obtained.
  • each step described in the above-described flowchart can be executed by one device or in a shared manner by a plurality of devices.
  • the plurality of processes included in one step can be executed by being shared by a plurality of devices in addition to being executed by one device.
  • the process of the step of writing the program may be executed in chronological order according to the order described in the present specification, or the call is performed in parallel or It may be individually executed at necessary timing such as time. Furthermore, the process of the step of writing this program may be executed in parallel with the process of another program, or may be executed in combination with the process of another program.
  • the present technology can also have the following configurations.
  • (1) The image to be encoded is quantized, and the quantization parameter according to the encoding difficulty according to the moving direction of the moving object in the image to be encoded is used to calculate the moving object included in the image to be encoded
  • a quantization unit that quantizes an image
  • An encoding unit that encodes the image to be encoded that has been quantized by the quantization unit and generates a bit stream.
  • the quantization unit quantizes the image of the moving body moving in the direction in which the encoding difficulty is high using a quantization parameter smaller than that in the case where the moving body moves in the other direction (1) Image processing apparatus as described.
  • the image processing apparatus wherein the direction in which the encoding difficulty is high is a direction from the back of the image toward the front.
  • the apparatus further comprises a quantization parameter setting unit that sets a quantization parameter according to the degree of encoding difficulty according to the moving direction of the moving body.
  • the image processing apparatus according to any one of (1) to (3), wherein the quantization unit quantizes the image of the moving object using the quantization parameter set by the quantization parameter setting unit.
  • the quantization parameter setting unit lowers the quantization parameter when the moving direction of the moving object is a direction in which the encoding difficulty is high, than when the moving object moves in another direction (4)
  • the image processing apparatus according to claim 1.
  • the quantization parameter setting unit raises the quantization parameter when the moving direction of the moving object is a direction in which the encoding difficulty is low, compared to when the moving object moves in another direction (4) Or the image processing apparatus as described in (5).
  • the quantization parameter setting unit sets the quantization parameter based on the motion direction of the moving object specified based on the direction of the motion vector of the image of the moving object in the image to be encoded 4) The image processing apparatus according to any one of (7) to (7).
  • the quantization parameter setting unit in the case where the direction of the motion vector of the image of the moving object is a predetermined direction corresponding to the moving direction of the moving object moving in the direction in which the encoding difficulty is high.
  • Image processing apparatus Image processing apparatus according to (8).
  • the quantization parameter setting unit Image processing apparatus according to (8) or (9).
  • the image processing apparatus further includes a motion detection unit that detects the motion of the moving object in the image to be encoded and calculates a motion vector of the image of the moving object.
  • the quantization parameter setting unit is configured to set the quantization parameter based on the motion direction of the moving object specified based on the direction of the motion vector of the image of the moving object calculated by the motion detecting unit.
  • An image processing apparatus according to any one of (8) to (10).
  • (12) The quantization parameter setting unit sets the quantization parameter based on moving body motion direction information which is information on the moving direction of the moving body in the image to be encoded.
  • (4) to (11) The image processing apparatus according to any one of the above.
  • the apparatus further comprises a moving body movement direction detection unit that detects the movement direction of the moving body and generates the moving body movement direction information.
  • the image processing apparatus wherein the quantization parameter setting unit is configured to set the quantization parameter based on the moving subject motion direction information generated by the moving subject motion direction detection unit.
  • the moving subject motion direction detecting unit detects an image of a face of a person included in the image to be encoded, and detects a moving direction of the moving subject according to the detected face direction (13) Image processing device.
  • the image processing apparatus according to (13) or (14), wherein the moving subject motion direction detection unit detects the moving direction of the moving subject by tracking the moving subject in the image to be encoded.
  • the image processing apparatus according to any one of (13) to (15), wherein the moving subject motion direction detection unit detects a moving direction of the moving subject using a plurality of images.
  • the moving subject motion direction detection unit detects the motion direction of the moving subject using the image to be encoded and sensor information for specifying the depth position of the moving subject (13) to (16)
  • the image processing apparatus according to any one of the above.
  • the apparatus further comprises an adjustment determination unit that determines whether to set the quantization parameter, When the adjustment determination unit determines that the quantization parameter is set, the quantization parameter setting unit sets the quantization parameter according to the encoding difficulty according to the moving direction of the moving object (4) to (17).
  • the image processing apparatus according to any one of the above.
  • the adjustment determination unit determines that the quantization parameter is to be set when the image to be encoded includes a moving object moving in a direction in which the encoding difficulty is high and a moving object moving in another direction.
  • the image processing apparatus according to (18). (20) The image processing apparatus The image to be encoded is quantized, and the image of the moving object included in the image to be encoded is quantized using a quantization parameter according to the encoding difficulty according to the moving direction of the moving object in the image to be encoded Turn An image processing method for encoding a quantized image to be encoded to generate a bitstream.
  • DESCRIPTION OF SYMBOLS 100 image processing apparatus, 111 imaging part, 112 image encoding part, 131 screen rearrangement buffer, 132 calculating part, 133 orthogonal transformation part, 134 quantization part, 135 encoding part, 136 accumulation buffer, 137 inverse quantization part, 138 inverse orthogonal transformation unit, 139 operation unit, 140 filter, 141 frame memory, 142 intra prediction unit, 143 inter prediction unit, 144 predicted image selection unit, 145 quantization parameter adjustment unit, 146 coding control unit, 151 adjustment determination unit , 152 quantization parameter setting unit, 161 motion prediction unit, 162 motion compensation unit, 200 image processing apparatus, 211 moving object motion direction detection unit, 212 image coding unit, 221 image analysis unit, 222 motion direction determination , 231 face detection unit, 232 motion detection tracking unit, 241 quantization parameter adjustment unit, 251 adjustment determination unit, 252 quantization parameter setting unit, 300 image processing apparatus, 311 moving object motion direction detection unit, 320 image processing apparatus, 321 sensor Part,

Landscapes

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

Abstract

本開示は、画質の低減を抑制することができるようにする画像処理装置および方法に関する。 符号化対象の画像を量子化し、その符号化対象の画像における動体の動き方向による符号化難易度に応じた量子化パラメータを用いて、その符号化対象の画像に含まれる動体の画像を量子化し、量子化された前記符号化対象の画像を符号化し、ビットストリームを生成する。本開示は、例えば、画像処理装置、画像符号化装置、または情報処理装置等に適用することができる。

Description

画像処理装置および方法
 本開示は、画像処理装置および方法に関し、特に、画質の低減を抑制することができるようにした画像処理装置および方法に関する。
 従来の量子化を用いる画像符号化においては、静止画像としての性質(輝度や色情報)に基づいて量子化パラメータ(QP)の調整が行われることが一般的であった。また、動体の画像については、その動体の動きの大きさや参照画像との相関度合いを示す指標に基づいて量子化パラメータ(QP)の調整が行われていた。
 例えば、動画像に対して動き検出を行い、その動き検出結果に基づいて動画像のフレーム画像を静止部分と動きのある部分とに切り分け、より注目度の高い動きのある部分の量子化パラメータを下げることにより、主観画質を向上させる方法が考えられた(例えば、特許文献1参照)。
 ところで、動画像の符号化によく用いられる、動き予測を用いて予測画像を生成し、符号化対象の画像とその予測画像との残差画像を符号化する符号化方式の場合、画像に含まれる動体の動きの方向に応じて参照画像の大きさが変化するため、画像の符号化難易度はその動体の動きの方向に応じて変化する。
特開2010-130558号公報
 しかしながら、特許文献1に記載の量子化では、そのような動体の動きの方向は考慮されておらず、動体の画像に対して、その動体の動きの方向に関わらず一律な値の量子化パラメータが設定されていた。そのため、画像に対する主観画質が動体の動き方向に依存して不要に低減するおそれがあった。
 本開示は、このような状況に鑑みてなされたものであり、画質の低減を抑制することができるようにするものである。
 本技術の一側面の画像処理装置は、符号化対象の画像を量子化し、前記符号化対象の画像における動体の動き方向による符号化難易度に応じた量子化パラメータを用いて、前記符号化対象の画像に含まれる前記動体の画像を量子化する量子化部と、前記量子化部により量子化された前記符号化対象の画像を符号化し、ビットストリームを生成する符号化部とを備える画像処理装置である。
 本技術の一側面の画像処理方法は、符号化対象の画像を量子化し、前記符号化対象の画像における動体の動き方向による符号化難易度に応じた量子化パラメータを用いて、前記符号化対象の画像に含まれる前記動体の画像を量子化し、量子化された前記符号化対象の画像を符号化し、ビットストリームを生成する画像処理方法である。
 本技術の一側面の画像処理装置および方法においては、符号化対象の画像が量子化され、その符号化対象の画像における動体の動き方向による符号化難易度に応じた量子化パラメータが用いられて、その符号化対象の画像に含まれる動体の画像が量子化され、その量子化された符号化対象の画像が符号化され、ビットストリームが生成される。
 本開示によれば、画像を処理することができる。特に、画質の低減を抑制することができる。
動体の動き方向による符号化難易度の違いの例を説明する図である。 動きベクトルの方向による符号化難易度の違いの例を説明する図である。 画像処理装置の主な構成例を示すブロック図である。 画像符号化部の主な構成例を示すブロック図である。 インター予測部の主な構成例を示すブロック図である。 画像処理の流れの例を説明するフローチャートである。 画像符号化処理の流れの例を説明するフローチャートである。 インター予測処理の流れの例を説明するフローチャートである。 量子化制御処理の流れの例を説明するフローチャートである。 動体の動き検出の例を説明する図である。 画像処理装置の主な構成例を示すブロック図である。 動体動き方向検出部の主な構成例を示すブロック図である。 画像符号化部の主な構成例を示すブロック図である。 画像処理の流れの例を説明するフローチャートである。 動き方向検出処理の流れの例を説明するフローチャートである。 画像符号化処理の流れの例を説明するフローチャートである。 量子化制御処理の流れの例を説明するフローチャートである。 画像処理装置の主な構成例を示すブロック図である。 画像処理装置の主な構成例を示すブロック図である。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。 ビデオセットの概略的な構成の一例を示すブロック図である。 ビデオプロセッサの概略的な構成の一例を示すブロック図である。 ビデオプロセッサの概略的な構成の他の例を示すブロック図である。 ネットワークシステムの概略的な構成の一例を示すブロック図である。 コンピュータの主な構成例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1.量子化の制御
 2.第1の実施の形態(動きベクトルの方向に応じた量子化制御)
 3.第2の実施の形態(動体の動き方向検出のための画像解析)
 4.第3の実施の形態(動体の動き方向検出用の構成)
 5.第4の実施の形態(本技術の適用例)
 6.その他
 <1.量子化の制御>
  <動き方向による符号化難易度の変化>
 従来の量子化を用いる画像符号化においては、静止画像としての性質(輝度や色情報)に基づいて量子化パラメータ(QP)の調整が行われることが一般的であった。また、動体の画像については、その動体の動きの大きさや参照画像との相関度合いを示す指標に基づいて量子化パラメータ(QP)の調整が行われていた。
 例えば、動画像においては一般的に動きのある部分の方が動きのない部分よりも注目度が高い。そこで、例えば特許文献1に記載のような、動画像に対して動き検出を行い、その動き検出結果に基づいて動画像のフレーム画像を静止部分と動きのある部分とに切り分け、より注目度の高い動きのある部分の量子化パラメータを下げることにより、主観画質を向上させる方法が考えられた。
 ところで、動画像の符号化によく用いられる、動き予測を用いて予測画像を生成し、符号化対象の画像とその予測画像との残差画像を符号化する符号化方式の場合、画像に含まれる動体の動きの方向に応じて参照画像の大きさが変化するため、画像の符号化難易度はその動体の動きの方向に応じて変化する。
 例えば、図1の画像10は、道路を撮像した動画像(のフレーム画像)の例である。この画像10の左側の部分(例えば楕円状の枠11により囲まれる領域)は、図中矢印で示されるように、車(動体)が手前から奥に移動している。また、この画像10の右側の部分(例えば楕円状の枠12により囲まれる領域)は、図中矢印で示されるように、車(動体)が奥から手前に移動している。
 枠11により囲まれる領域の車のように、動画像に含まれるある動体が手前から奥に動いて来た場合、過去のフレーム画像から生成される参照画像は現在のフレーム画像の動体の画像よりも大きい。つまり高解像度な参照画像を用いることができるので、予測精度が高く、その符号化難易度は比較的低くなる。これに対して、枠12により囲まれる領域の車のように、その動体が奥から手前に動いて来た場合、過去のフレーム画像から生成される参照画像は現在のフレーム画像の動体の画像よりも小さい。つまり低解像度な参照画像を用いることになるので、予測精度が低く、その符号化難易度は比較的高くなる。つまり、他の条件が同じであれば、奥から手前に動く動体の画像の方が、手前から奥に動く動体の画像よりも符号化難易度が高い。
 しかしながら、特許文献1に記載のような従来の量子化では、そのような動体の動きの方向は考慮されておらず、動体の画像に対して、その動体の動きの方向に関わらず一律な値の量子化パラメータが設定されていた。そのため、符号化難易度が高い方向(例えば奥から手前)に動く物体(動体)の画像の画質が、不要に低減するおそれがあった。
 上述のように動画像においては一般的に、動きのある部分の方が静止部分に比べて注目度が高い。その他に特別な理由がない限り、この場合の注目度は動き方向に依存しない。しかしながら、上述のように一律な値の量子化パラメータで動体の画像の量子化を行うと、例えば、符号化難易度が高い方向に動く動体の画像の画質が、注目度に応じた画質よりも低減してしまうおそれがあった。つまり、画像全体の主観画質が動体の動き方向に依存してしまうおそれがあった。
 なお、一般的に、動画像の符号化は目標ビットレートが設定され、ビットストリームがその目標ビットレートとなるように符号化が制御される。したがって、符号化難易度が高い方向に動く動体の画像の画質が不要に低減するということは、その部分へのビットレートの割り当てが不要に少なく、他の部分へのビットレートの割り当てが不要に大きいということでもある。つまり、上述のように一律な値の量子化パラメータで動体の画像の量子化を行うと、画像全体のビットレートの割り当てが不適切なものとなり、目標ビットレートに対して画像全体の主観画質が低減するおそれがあった。換言するに、画像全体の主観画質に対して符号化効率が低減するおそれがあった。
 また、上述のように従来の量子化では動体の動きの方向は考慮されていないため、動体の動き方向による符号化難易度に関わらず一律な値の量子化パラメータで量子化することになり、動体の動き方向によってその画像の画質が異なるものとなるおそれがあった。したがって、例えば、画像に互いに異なる方向に動く複数の動体が含まれる場合、画像内の画質のばらつきが増大して不自然な画像となり、画像全体の主観画質が低減するおそれがあった。
 なお、従来、画像の一部を注目領域とし、その注目領域を重点的に高画質化するように、その注目領域に対する量子化パラメータを下げて符号量を増大させるようにする制御方法があったが、この方法も、動体の動き方向の違いによる符号化難易度の違いに対応することはできない。そのため上述の場合と同様に、符号化難易度が高い方向に動く動体の画像の画質が不要に低減するおそれがあり、画像全体の主観画質が低減するおそれがあった。
  <動き方向に応じた量子化制御>
 そこで、符号化対象の画像を量子化し、その符号化対象の画像における動体の動き方向による符号化難易度に応じた量子化パラメータを用いて、符号化対象の画像に含まれる動体の画像を量子化し、その量子化された符号化対象の画像を符号化し、ビットストリームを生成するようにする。
 例えば、画像処理装置において、符号化対象の画像を量子化し、その符号化対象の画像における動体の動き方向による符号化難易度に応じた量子化パラメータを用いて、その符号化対象の画像に含まれる動体の画像を量子化する量子化部と、その量子化部により量子化された符号化対象の画像を符号化し、ビットストリームを生成する符号化部とを設けるようにする。
 このようにすることにより、動体の動き方向による符号化難易度に応じて量子化パラメータの値を設定することができるので、動体の画像の画質をその動体の動き方向に依存しないようにすることができる。これにより、符号化難易度が高い方向(例えば奥から手前)に動く動体の画像の画質が不要に低減するのを抑制することができる。また、画像全体の主観画質の、動体の動き方向への依存を抑制することができる。さらに、ビットレートの割り当てをより適切なものとし、目標ビットレートに対する画像全体の主観画質の低減(画像全体の主観画質に対する符号化効率の低減)を抑制することができる。また、画像に互いに異なる方向に移動する複数の動体が存在する場合、画像内の画質のばらつきを抑制し、画質のばらつきによる違和感を抑制し、画像全体の主観画質の低減を抑制することができる。
  <符号化難方向の量子化パラメータ制御>
 例えば、量子化部が、符号化難易度が高い方向に動く動体の画像を、その動体が他の方向に動く場合よりも小さい量子化パラメータを用いて量子化するようにしてもよい。このようにすることにより、符号化難易度が高い方向に動く動体の画像の画質の低減を抑制することができる。
  <奥から手前に向かう方向に移動する動体>
 この符号化難易度が高い方向は、例えば、画像の奥から手前に向かう方向であるようにしてもよい。画像の奥から手前に向かう方向に移動する動体の画像は、一般的に、その参照画像が現在の動体の画像よりも小さいので、符号化難易度が高くなる。したがって、量子化部が、この画像の奥から手前に向かう方向に動く動体の画像を、その動体が他の方向に動く場合よりも小さい量子化パラメータを用いて量子化するようにすることにより、その動体の画像の画質の低減を抑制することができる。
  <量子化パラメータの設定>
 なお、以上のような動体の動き方向による符号化難易度に応じた量子化パラメータを設定する量子化パラメータ設定部をさらに備え、量子化部が、その量子化パラメータ設定部により設定された量子化パラメータを用いて動体の画像を量子化するようにしてもよい。
 このようにすることにより、量子化パラメータを動体の動き方向による符号化難易度に応じた値に設定することができる。したがって、上述のように、画像全体の画質の低減を抑制することができる。
  <符号化難方向の量子化パラメータを下げる>
 例えば、上述の量子化パラメータ設定部が、動体の動き方向が符号化難易度が高い方向である場合、その動体が他の方向に動く場合よりも、量子化パラメータを下げる(量子化パラメータをより小さな値に設定する)ようにしてもよい。このようにすることにより、符号化難易度が高い方向に動く動体の画像の画質を向上させることができる。
 なお、符号化難易度が高い方向に動く動体の画像に対する量子化パラメータを下げる代わりに、その他の画像に対する量子化パラメータを上げる(量子化パラメータをより大きな値に設定する)ようにしてもよい。また、符号化難易度が高い方向に動く動体の画像に対する量子化パラメータを下げつつ、その他の画像に対する量子化パラメータを上げるようにしてもよい。これらの場合も、上述の符号化難易度が高い方向に動く動体の画像に対する量子化パラメータを下げる場合と同様の効果を得ることができる。また、その他の画像に対する量子化パラメータを制御することにより、この量子化パラメータの制御による目標ビットレートを用いたレート制御が困難になるのを抑制することができる。
  <符号化容易方向の量子化パラメータを上げる>
 また、例えば、上述の量子化パラメータ設定部が、動体の動き方向が符号化難易度が低い方向である場合、その動体が他の方向に動く場合よりも、量子化パラメータを上げる(量子化パラメータをより大きな値に設定する)ようにしてもよい。このようにすることにより、符号化難易度が低い方向に動く動体の画像の画質を低減させることができる。これにより、画像に互いに異なる方向に移動する複数の動体が存在する場合に、画像内の画質のばらつきを抑制し、画質のばらつきによる違和感を抑制し、画像全体の主観画質の低減を抑制することができる。また、この量子化パラメータの設定によるビットレートの増大を抑制することができる。
 なお、符号化難易度が低い方向に動く動体の画像に対する量子化パラメータを上げる代わりに、その他の画像に対する量子化パラメータを下げる(量子化パラメータをより小さな値に設定する)ようにしてもよい。また、符号化難易度が低い方向に動く動体の画像に対する量子化パラメータを上げつつ、その他の画像に対する量子化パラメータを下げるようにしてもよい。これらの場合も、上述の符号化難易度が低い方向に動く動体の画像に対する量子化パラメータを上げる場合と同様の効果を得ることができる。また、その他の画像に対する量子化パラメータを制御することにより、この量子化パラメータの制御による画像全体の主観画質の低減をより容易に抑制することができる。
  <符号化難・容易方向の動体の量子化パラメータの設定>
 さらに、例えば、上述の量子化パラメータ設定部が、符号化難易度が高い方向に動く動体の画像に対する量子化パラメータを下げ(量子化パラメータをより小さな値に設定し)、かつ、符号化難易度が低い方向に動く動体の画像に対する量子化パラメータを上げる(量子化パラメータをより大きな値に設定する)ようにしてもよい。このようにすることにより、画像内の画質のばらつきを抑制し、画質のばらつきによる違和感を抑制し、画像全体の主観画質の低減を抑制することができる。また、符号化難易度が低い方向に動く動体の画像に割り当てていたビットレートを、符号化難易度が高い方向に動く動体の画像に割り当てることができる。したがって、この量子化パラメータの制御による目標ビットレートを用いたレート制御が困難になるのを抑制することができる。
  <動きの大きさに応じた量子化パラメータの設定>
 例えば、量子化パラメータ設定部が、さらに、動体の動きが大きい程量子化パラメータの調整量を大きくするようにしてもよい。例えば、符号化難易度が高い方向に動く動体の動きが大きい程、その動体の画像に対する量子化パラメータを大きく下げるようにしてもよい。また、符号化難易度が低い方向に動く動体の動きが大きい程、その動体の画像に対する量子化パラメータを上げるようにしてもよい。
 例えば動体が奥から手前に移動する場合、一般的に、その動体の動き量が大きい程、現在の動体の画像に比べて参照画像がより小さくなる。つまり、このような動きの場合、動体の動き量が大きい程符号化難易度がより高いと言える。したがって、符号化難易度が高い方向に動く動体の動きが大きい程、その動体の画像に対する量子化パラメータを大きく下げる(量子化パラメータをより小さな値に設定する)ようにすることにより、動き量に依らずに動体の画像の画質の低減を抑制することができる。特に、動き量が互いに異なる複数の動体が存在する場合にそのようにすることにより、その動き量の違いによる画質のばらつきをより抑制することができる。したがって、画像全体の主観画質の低減をより抑制することができる。
 なお、このように量子化パラメータを下げると符号量が増大する。そこで、目標ビットレートを達成するために、符号化難易度が低い方向に動く動体についても、その動き量が大きい程、その動体の画像に対する量子化パラメータを大きく上げる(量子化パラメータをより大きな値に設定する)ようにしてもよい。このようにすることにより、目標ビットレートを用いたレート制御が困難になるのを抑制することができる。
 <2.第1の実施の形態>
  <動きベクトルの方向に応じた量子化制御>
 なお、上述の量子化パラメータ設定部が、符号化対象の画像における動体の画像の動きベクトルの方向に基づいて特定される動体の動き方向に基づいて、量子化パラメータを設定するようにしてもよい。つまり、符号化対象の画像に対して行われる動き検出の結果として得られる動きベクトルの方向に基づいて量子化パラメータを設定するようにしてもよい。
 例えば図2の画像20は、図1の画像10同様、道路を撮像した動画像(のフレーム画像)の例である。この画像20の左側の部分(例えば円状の枠21により囲まれる領域)は、車(動体)が手前から奥に移動している。また、この画像20の右側の部分(例えば円状の枠22により囲まれる領域)は、図中矢印で示されるように、車(動体)が奥から手前に移動している。
 画像20の小さな各四角は符号化の動き予測の単位となるブロック(部分領域)を示している。また矢印はそのブロックにおいて検出された動きベクトルを示している。矢印が省略されているブロックは動きベクトルが検出されなかったブロックである。動きベクトルは当然動体の部分に検出されやすい。そしてその動きベクトルの方向は、その動体の動きの方向に対応するものが多い。
 例えば画像20の場合、車(動体)が手前から奥に移動している枠21により囲まれる領域には、画面下方向を示す動きベクトルが多い。また、車(動体)が奥から手前に移動している枠22により囲まれる領域には、画面上方向を示す動きベクトルが多い。
 このように動きベクトルの向きによって動体の動き方向を推定することができる。したがって、動きベクトルの方向(に基づいて特定される動体の動き方向)に基づいて量子化パラメータを設定することにより、動き方向による符号化難易度に応じた量子化パラメータを用いて動体の画像を量子化することができる。したがって、動体の画像の画質をその動体の動き方向に依存しないようにすることができ、画質の低減を抑制することができる。
  <画像処理装置>
 図3は、本技術を適用した画像処理装置の一実施の形態の主な構成例を示す図である。図3に示される画像処理装置100は、被写体を撮像し、得られた撮像画像を符号化して出力する装置である。画像処理装置100は、その符号化の際に、<1.量子化の制御>において上述したような本技術を適用した量子化を行う。画像処理装置100は、図3に示されるように、撮像部111および画像符号化部112を有する。
 撮像部111は、撮像に関する処理を行う。撮像部111は、例えばCMOS(Complementary Metal Oxide Semiconductor)イメージセンサ等を有し、被写体からの光を受光して光電変換し、A/D変換やデモザイク処理等を行って、撮像画像を生成する。撮像部111は、得られた撮像画像(のデータ)を画像符号化部112に供給する。なお、撮像部111は、以上のような撮像を繰り返すことにより、各撮像画像をフレーム画像とする動画像を生成し、画像符号化部112に供給する。
 画像符号化部112は、その撮像画像の符号化に関する処理を行う。例えば、画像符号化部112は、動画像の撮像画像を符号化し、符号化データ(ビットストリーム)を生成して出力する。この符号化方式は、動き予測と量子化を用いるものであればどのような方式であってもよい。例えば、AVC(Advanced Video Coding)やHEVC(High Efficiency Video Coding)等であってもよい。以下においては、HEVCを一例として用いて説明する。画像符号化部112は、この撮像画像の符号化における量子化として、<1.量子化の制御>において上述したような本技術を適用した量子化を行う。
 この画像符号化部112は、どのような構成を有するようにしてもよい。例えば、画像符号化部112がCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、処理を行うようにしてもよい。
  <画像符号化部>
 図4は、図3の画像符号化部112の主な構成例を示すブロック図である。図4に示されるように、画像符号化部112は、画面並べ替えバッファ131、演算部132、直交変換部133、量子化部134、符号化部135、および蓄積バッファ136を有する。また、画像符号化部112は、逆量子化部137、逆直交変換部138、演算部139、フィルタ140、フレームメモリ141、イントラ予測部142、インター予測部143、および予測画像選択部144を有する。さらに、画像符号化部112は、量子化パラメータ調整部145および符号化制御部146を有する。
 画面並べ替えバッファ131は、入力された画像データの各フレームの画像をその表示順に記憶し、記憶した表示の順番のフレームの画像を、GOP(Group Of Picture)に応じて、符号化のためのフレームの順番に並べ替え、フレームの順番を並び替えた画像を、演算部132に供給する。なお、その際、画面並べ替えバッファ131は、処理単位(ブロック)の設定を行う。この処理単位(ブロック)については後述する。画面並べ替えバッファ131は、例えば、処理単位の分割パターン(つまり各ブロックのサイズ)の各候補についてコスト関数を算出し、その値に基づいて分割パターン(各ブロックのサイズ)を設定する。画面並べ替えバッファ131は、設定した処理単位に従って、各フレームの画像を演算部132に供給する。また、画面並べ替えバッファ131は、その各フレームの画像を、同様に、イントラ予測部142およびインター予測部143にも供給する。
 演算部132は、画面並べ替えバッファ131から復号順に読み出された入力画像から、予測画像選択部144を介してイントラ予測部142またはインター予測部143から供給される予測画像を減算する。例えば、イントラ符号化が行われる画像の場合、演算部132は、画面並べ替えバッファ131から読み出された画像から、イントラ予測部142から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部132は、画面並べ替えバッファ131から読み出された画像から、インター予測部143から供給される予測画像を減算する。演算部132は、その減算により得られた差分情報(残差データ)を直交変換部133に供給する。
 直交変換部133は、演算部132から供給される残差データに対して、直交変換を施す。例えば、直交変換部133は、この直交変換として、離散コサイン変換やカルーネン・レーベ変換等を行う。この直交変換の方法は任意であり、上述した例に限定されない。例えば、符号化方式がHEVCでない場合、その他の直交変換方式が用いられるようにしてもよい。直交変換部133は、その直交変換により得られた直交変換係数(直交変換された残差データ)を量子化部134に供給する。なお、直交変換をスキップするモードの場合、直交変換部133は、演算部132から供給される残差データを量子化部134に供給する。
 量子化部134は、直交変換部133から供給される直交変換係数または残差データを量子化する。その際、量子化部134は、量子化パラメータ調整部145により設定された量子化パラメータ(QP)を用いて量子化を行う。
 例えば、量子化部134は、その量子化パラメータ等から求められる量子化スケール(Qscale)を用いて量子化ステップ(Qstep)を求め、その量子化ステップにより直交変換係数を除算することにより、その直交変換係数を量子化して量子化係数を算出する。
 この量子化の方法は、量子化パラメータを用いて行うものであれば任意である。例えば、符号化方式がHEVCでない場合、HEVCにおいて規定される方式以外の任意の方式が用いられるようにしてもよい。量子化部134は、その量子化により得られた、量子化された直交変換係数または残差データ(量子化係数とも称する)を符号化部135に供給する。
 符号化部135は、量子化部134から供給される量子化係数を、算術符号化(例えば、CABAC(Context-Adaptive Binary Arithmetic Coding)等)により可逆符号化し、符号化データを生成する。なお、この符号化方式は任意であり、上述の例に限定されない。例えば、符号化方式がHEVCでない場合、CAVLC(Context-Adaptive Variable Length Coding)等の可変長符号化が用いられるようにしてもよい。
 また、符号化部135は、符号化制御部146から供給されるメタデータを符号化データと関連付ける。例えば、符号化部135は、このメタデータを符号化データ(符号化ストリームとも称する)のヘッダ情報の一部とする(多重化する)。
 ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
 また、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」、「埋め込む」、「一部とする」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。
 また、符号化部135は、例えば、そのメタデータの生成に必要な情報や、予測モードやブロックサイズ等の符号化方法の選択に必要な情報等、任意の情報を符号化制御部146に供給する。さらに、符号化部135は、メタデータを関連付けた符号化データを蓄積バッファ136に供給する。
 蓄積バッファ136は、符号化部135から供給された符号化データやそのメタデータを一時的に保持する。蓄積バッファ136は、所定のタイミングにおいて、保持している符号化データやそのメタデータを、画像符号化部112(画像処理装置100)の外部に出力する。例えば、蓄積バッファ136は、保持しているメタデータが付加された符号化データをビットストリームとして出力する。すなわち、蓄積バッファ136は、符号化データを出力する出力部でもあり、符号化データを伝送する伝送部でもある。なお、蓄積バッファ136は、保持しているデータ量(バッファ量)に関する情報を符号化制御部146に提供することができる。
 また、量子化部134において得られた量子化係数は、逆量子化部137にも供給される。逆量子化部137は、その量子化係数を、量子化部134による量子化に対応する方法で逆量子化する。逆量子化部137は、符号化制御部146を介して量子化部134から、または、量子化部134若しくは量子化パラメータ調整部145から、逆量子化に必要な情報(例えば量子化パラメータ等)を取得する。
 なお、この逆量子化の方法は、量子化部134による量子化に対応する方法であれば任意である。例えば、符号化方式がHEVCでない場合、HEVCにおいて規定される方式以外の任意の方式が用いられるようにしてもよい。逆量子化部137は、その逆量子化により得られた直交変換係数を、逆直交変換部138に供給する。
 逆直交変換部138は、逆量子化部137から供給された直交変換係数を、直交変換部133による直交変換処理に対応する方法で逆直交変換する。逆直交変換部138は、符号化制御部146を介して直交変換部133から、または、直交変換部133から、逆直交変換に必要な情報を取得する。
 なお、この逆直交変換の方法は、直交変換部133による直交変換に対応する方法であれば任意である。例えば、符号化方式がHEVCでない場合、HEVCにおいて規定される方式以外の任意の方式が用いられるようにしてもよい。逆直交変換部138は、その逆直交変換により得られた残差データ(復元された残差データ)を演算部139に供給する。
 演算部139は、逆直交変換部138から供給された、復元された残差データに、予測画像選択部144を介してイントラ予測部142またはインター予測部143から供給される予測画像を加算し、局所的に再構成された画像(以下、再構成画像と称する)を得る。その再構成画像は、フィルタ140に供給される。
 フィルタ140は、演算部139から供給された再構成画像に対して、デブロックフィルタやサンプル適応オフセットSAO(Sample Adaptive Offset)等のフィルタ処理を適宜行う。これにより、再構成画像のブロック歪を除去したり、リンギングの低減や画素値のずれを補正したりすることができる。
 このフィルタ処理の内容は任意であり、上述した例に限定されない。例えば、符号化方式がHEVCでない場合、ウィナーフィルタ(Wiener Filter)等、その他のフィルタ処理が施されるようにしてもよい。フィルタ140は、フィルタ処理結果(以下、復号画像と称する)(フィルタ処理を省略したものも含む)をフレームメモリ141に供給する。
 フレームメモリ141は、情報を記憶する記憶領域を有し、フィルタ140から供給された復号画像をその記憶領域内に記憶する。また、フレームメモリ141は、所定のタイミングにおいて、記憶している復号画像を参照画像としてインター予測部143に供給する。
 演算部139において得られる再構成画像は、イントラ予測部142にも供給される。イントラ予測部142は、演算部139から参照画像として供給される再構成画像である処理対象ピクチャ内の画素値や画面並べ替えバッファ131から供給される入力画像の画素値等を用いて予測画像を生成するイントラ予測(画面内予測)を行う。例えば、イントラ予測部142は、予め用意された複数のイントラ予測モード(例えば、Angular予測、DC予測、Planer予測等)でこのイントラ予測を行い、イントラ予測による予測画像を生成する。
 このイントラ予測モードは任意であり、上述した例に限定されない。どのようなモードであってもよいし、いくつのモードでイントラ予測を行うようにしてもよい。例えば、符号化方式がHEVCでない場合、その他のモードでイントラ予測が行われるようにしてもよい。
 イントラ予測部142は、候補となる全てのイントラ予測モードで予測画像を生成し、各イントラ予測モードで生成された予測画像を予測画像選択部144に供給する。
 インター予測部143は、画面並べ替えバッファ131から供給される入力画像と、フレームメモリ141から供給される参照画像とを用いてインター予測処理(動き予測処理および補償処理)を行う。より具体的には、インター予測部143は、インター予測処理として、動き予測を行って検出された動きベクトルに応じて動き補償処理を行い、インター予測による予測画像を生成する。例えば、インター予測部143は、予め用意された複数のインター予測モード(例えば、インターモードやマージモード等)インター予測による予測画像を生成する。つまり、インター予測部143は、符号化対象の画像(入力画像)における動体の動きを検出し、その動体の画像の動きベクトルを算出する動き検出部である。
 なお、インター予測部143は、周囲補動き補償予測パラメータを再利用して、予測画像をそのまま復号画像とするスキップモードを選択することもできるが、その説明は省略する。また、このインター予測モードは任意であり、上述した例に限定されない。どのようなモードであってもよいし、いくつのモードでインター予測を行うようにしてもよい。例えば、符号化方式がHEVCでない場合、その他のモードでイントラ予測が行われるようにしてもよい。
 インター予測部143は、候補となる全てのインター予測モードで予測画像を生成し、各インター予測モードで生成された予測画像を予測画像選択部144に供給する。また、インター予測部143は、動き予測により得られた動きベクトルを示す情報を量子化パラメータ調整部145に供給する。
 予測画像選択部144は、イントラ予測部142やインター予測部143から供給される各予測モードの予測画像の中から最適な予測画像を選択することにより、予測モードの選択を行う。予測画像選択部144は、例えば、各予測モードの予測画像について、コスト関数を算出し、その値が最小となる予測画像(すなわち予測モード)を選択する。予測画像選択部144は、最適な予測モードとして選択したイントラ予測モードまたはインター予測モードの予測画像を演算部132および演算部139に供給する。
 量子化パラメータ調整部145は、量子化部134や逆量子化部137が用いる量子化パラメータの調整(設定)に関する処理を行う。例えば、量子化パラメータ調整部145は、符号化対象の画像における動体の画像の動きベクトルの方向に基づいて特定されるその動体の動き方向に基づいて、量子化パラメータを設定する。
 なお、量子化パラメータ調整部145は、符号化制御部146を介して蓄積バッファ136のバッファ量に関する情報等を取得し、その情報に基づいて量子化パラメータを調整(設定)して、画像符号化部112から出力されるビットストリームのレート制御を行うこともできる。また、量子化パラメータ調整部145は、設定した量子化パラメータに関する情報を符号化制御部146に供給する。
 図4に示されるように、量子化パラメータ調整部145は、調整判定部151および量子化パラメータ設定部152を有する。調整判定部151は、インター予測部143から供給された動きベクトルを示す情報(その動きベクトルの方向)に基づいて、量子化パラメータの調整を行うか否かを判定する。調整判定部151は、その判定結果を示す情報と、インター予測部143から供給された動きベクトルを示す情報とを量子化パラメータ設定部152に供給する。
 量子化パラメータ設定部152は、調整判定部151により量子化パラメータを調整すると判定された場合、動きベクトルの方向に応じた量子化パラメータの調整(設定)を行う。例えば、量子化パラメータ設定部152は、ピクチャやスライス毎に設定された初期値の量子化パラメータを、動きベクトルの方向(に基づいて特定される動体の動き方向による符号化難易度)に応じて調整する。また、例えば、量子化パラメータ設定部152は、レート制御等に応じて調整された量子化パラメータを、動きベクトルの方向に基づいて特定される動体の動き方向による符号化難易度に応じてさらに調整する。
 調整判定部151により量子化パラメータを調整しないと判定された場合、量子化パラメータ設定部152は、このような動きベクトルの方向に応じた量子化パラメータの調整(設定)を省略(スキップ)する。つまり、この場合量子化パラメータの値は、ピクチャやスライス毎に設定された初期値、または、レート制御等に応じて調整された値となる。
 量子化パラメータ設定部152は、設定した量子化パラメータを、量子化部134に供給する。量子化部134は、その量子化パラメータを用いて量子化を行う。つまり量子化部134は、符号化対象の画像における動体の画像の動きベクトルの方向に基づいて特定されるその動体の動き方向による符号化難易度に応じた量子化パラメータを用いて、その符号化対象の画像に含まれる動体の画像を量子化する。なお、量子化パラメータ設定部152は、蓄積バッファ136のバッファ量に関する情報等を、符号化制御部146を介して取得し、その情報に基づいて、ビットストリームのレート制御として量子化パラメータを調整(設定)することもできる。また、量子化パラメータ設定部152は、設定した量子化パラメータに関する情報を符号化制御部146に供給する。
 符号化制御部146は、符号化の制御に関する処理を行う。例えば、符号化制御部146は、符号化部135が生成する符号化データに付加するメタデータの生成に関する処理を行う。なお、図4において矢印の表示が省略されているが、符号化制御部146は、画面並べ替えバッファ131乃至量子化パラメータ調整部145の各処理部から、メタデータに含める情報、または、メタデータに含める情報を生成するのに必要な情報を取得する。
 例えば、符号化制御部146は、画面並べ替えバッファ131から処理単位(ブロック)の設定に関する情報を取得する。また、例えば、符号化制御部146は、直交変換部133から直交変換に関する制御情報やパラメータ等を取得する。また、例えば、符号化制御部146は、量子化部134から量子化に関する制御情報等を取得する。また、例えば、符号化制御部146は、符号化部135から符号化に関する制御情報やパラメータ等を取得する。また、例えば、符号化制御部146は、蓄積バッファ136から、蓄積している符号化データやメタデータ等の符号量(バッファ量)に関する情報等を取得する。
 また、例えば、符号化制御部146は、逆量子化部137から逆量子化に関する制御情報等を取得する。また、例えば、符号化制御部146は、逆直交変換部138から逆直交変換に関する制御情報やパラメータ等を取得する。また、例えば、符号化制御部146は、フィルタ140からフィルタ処理に関する制御情報やパラメータ等を取得する。また、例えば、符号化制御部146は、フレームメモリ141から逆直交変換に関する制御情報やパラメータ等を取得する。
 また、例えば、符号化制御部146は、イントラ予測部142またはインター予測部143から最適な予測モードに関する制御情報やパラメータ等を取得する。また、例えば、符号化制御部146は、量子化パラメータ調整部145から量子化パラメータ等を取得する。
 符号化制御部146は、符号化の制御に関する処理を行う。例えば、符号化制御部146は、これらの情報を用いてメタデータを生成する。符号化制御部146は、生成したメタデータを符号化部135に供給する。
 また、符号化制御部146は、蓄積バッファ136に蓄積されているデータ量(バッファ量)を示す情報を蓄積バッファ136から取得する。符号化制御部146は、そのバッファ量を示す情報を量子化パラメータ調整部145に供給する。
  <量子化処理に関する動作>
 以上のような構成の画像符号化部112において、量子化パラメータ調整部145および量子化部134は、<1.量子化の制御>において上述したのと基本的に同様に処理を行うことができる。ただし、量子化パラメータ調整部145は、符号化対象の画像における動体の画像の動きベクトルの方向に基づいて特定されるその動体の動き方向に基づいて、量子化パラメータを設定する。また、量子化部134は、その量子化パラメータ調整部145により設定された量子化パラメータを用いて動体の画像を量子化する。
 より具体的には、量子化パラメータ調整部145は、インター予測部143により求められた動きベクトルを示す情報を、インター予測部143から取得し、その情報に基づいて量子化パラメータを設定する。この動きベクトルは、符号化対象の画像(入力画像)における動体の画像の動きを示す情報である。つまり、量子化パラメータ調整部145は、このインター予測部143により算出された、符号化対象の画像における動体の画像の動きベクトルの方向に基づいて特定される動体の動き方向に基づいて、量子化パラメータを設定する。
 例えば、量子化パラメータ調整部145は、動体の画像の動きベクトルの方向が、符号化難易度が高い方向に動く動体の動き方向に対応する所定の方向である場合に、量子化パラメータを下げる(そうでない場合よりも値を小さく設定する)。
 例えば、画像20(図2)の場合、枠22で囲まれる領域の車(動体)は、上述したように奥から手前に移動しており、その符号化難易度は、枠21で囲まれる領域の車(手前から奥に移動する動体)の符号化難易度よりも高い。図2に示されるように、このような領域のブロックの動きベクトルは、図中上向きのものが多い。換言するに、図2の例の場合、図中上向きの動きベクトルが、奥から手前に移動する動体の動きを示している。そして、そのようなブロックの画像は符号化難易度が高い。したがって、量子化パラメータ調整部145は、図中上向きの動きベクトルのブロックに対する量子化パラメータを下げる(量子化パラメータをより小さな値に設定する)。
 このようにすることにより、量子化パラメータ調整部145は、動きベクトルに基づいて、符号化難易度が高い方向に動く動体の画像の画質の低減を抑制することができる。特に、インター予測により求められた動きベクトルに基づいて上述のように量子化パラメータを調整(設定)することができるので、量子化パラメータ調整部145は、動体の動きを符号化とは別に検出する必要がなく、HEVC等の符号化により得られる情報に基づいて容易に、符号化難易度が高い方向に動く動体の画像の画質の低減を抑制することができる。
 なお、動きベクトルの方向の判定方法は任意である。例えば、動きベクトルの縦方向成分がプラス(図中上向き)であり、かつ、横方向成分に比べて十分大きい場合、その動きベクトルの方向が図中上向きであると判定されるようにしてもよい。
 また、動体が符号化難易度が高い方向に動いていることを示す動きベクトルの方向(つまり、符号化難易度が高い方向に動く動体の動き方向に対応する所定の方向)は、画像の画角(アングル)等によって異なる。つまり、量子化パラメータを下げる動きベクトルの方向(上述の所定の方向)は、符号化難易度が高い方向に相当するものであればどのような方向であってもよい(図2の例に限定されない)。
 さらに、この「所定の方向」の動きベクトルのブロックに対する量子化パラメータを下げる代わりに、その他のブロックの画像に対する量子化パラメータを上げるようにしてもよい。また、この「所定の方向」の動きベクトルのブロックに対する量子化パラメータを下げつつ、その他のブロックの画像に対する量子化パラメータを上げるようにしてもよい。これらの場合も、上述の符号化難易度が高い方向に動く動体の画像に対する量子化パラメータを下げる場合と同様の効果を得ることができる。また、その他のブロックの画像に対する量子化パラメータを制御することにより、この量子化パラメータの制御による目標ビットレートを用いたレート制御が困難になるのを抑制することができる。
 また、例えば、動体の画像の動きベクトルの方向が、符号化難易度が低い方向に動く動体の動き方向に対応する所定の方向である場合に、量子化パラメータ調整部145が量子化パラメータを上げる(そうでない場合よりも値を大きく設定する)ようにしてもよい。
 例えば、画像20(図2)の場合、枠21で囲まれる領域の車(動体)は、上述したように手前から奥に移動しており、その符号化難易度は、枠22で囲まれる領域の車(手前から奥に移動する動体)の符号化難易度よりも低い。図2に示されるように、このような領域のブロックの動きベクトルは、図中下向きのものが多い。換言するに、図2の例の場合、図中下向きの動きベクトルが、手前から奥に移動する動体の動きを示している。そして、そのようなブロックの画像は符号化難易度が低い。したがって、量子化パラメータ調整部145は、図中下向きの動きベクトルのブロックに対する量子化パラメータを上げる(量子化パラメータをより大きな値に設定する)。
 このようにすることにより、量子化パラメータ調整部145は、動きベクトルに基づいて、符号化難易度が低い方向に動く動体の画像の画質を低減させることができる。これにより、例えば、画像に互いに異なる方向に移動する複数の動体が存在する場合に、画像内の画質のばらつきを抑制し、画質のばらつきによる違和感を抑制し、画像全体の主観画質の低減を抑制することができる。また、この量子化パラメータの設定によるビットレートの増大を抑制することができる。特に、インター予測により求められた動きベクトルに基づいて上述のように量子化パラメータを調整(設定)することができるので、量子化パラメータ調整部145は、動体の動きを符号化とは別に検出する必要がなく、HEVC等の符号化により得られる情報に基づいて容易に、符号化難易度が低い方向に動く動体の画像の画質を低減させることができる。
 なお、動きベクトルの方向の判定方法は任意である。例えば、動きベクトルの縦方向成分がマイナス(図中下向き)であり、かつ、横方向成分に比べて十分大きい場合、その動きベクトルの方向が図中下向きであると判定されるようにしてもよい。
 また、動体が符号化難易度が低い方向に動いていることを示す動きベクトルの方向(つまり、符号化難易度が低い方向に動く動体の動き方向に対応する所定の方向)は、画像の画角(アングル)等によって異なる。つまり、量子化パラメータを上げる動きベクトルの方向(上述の所定の方向)は、符号化難易度が低い方向に相当するものであればどのような方向であってもよい(図2の例に限定されない)。
 さらに、この「所定の方向」の動きベクトルのブロックに対する量子化パラメータを上げる代わりに、その他のブロックの画像に対する量子化パラメータを下げるようにしてもよい。また、この「所定の方向」の動きベクトルのブロックに対する量子化パラメータを上げつつ、その他のブロックの画像に対する量子化パラメータを下げるようにしてもよい。これらの場合も、上述の符号化難易度が低い方向に動く動体の画像に対する量子化パラメータを上げる場合と同様の効果を得ることができる。また、その他のブロックの画像に対する量子化パラメータを制御することにより、この量子化パラメータの制御による目標ビットレートを用いたレート制御が困難になるのを抑制することができる。
 さらに、例えば、量子化パラメータ調整部145が、動体の画像の動きベクトルの方向が、符号化難易度が高い方向に動く動体の動き方向に対応する所定の方向である場合に、量子化パラメータを下げ、かつ、動体の画像の動きベクトルの方向が、符号化難易度が低い方向に動く動体の動き方向に対応する所定の方向である場合に、量子化パラメータを上げるようにしてもよい。
 このようにすることにより、画像内の画質のばらつきを抑制し、画質のばらつきによる違和感を抑制し、画像全体の主観画質の低減を抑制することができる。また、符号化難易度が低い方向に動く動体の画像に割り当てていたビットレートを、符号化難易度が高い方向に動く動体の画像に割り当てることができる。したがって、この量子化パラメータの制御による目標ビットレートを用いたレート制御が困難になるのを抑制することができる。
 もちろん、この場合も、量子化パラメータ調整部145が、さらに、動体の動きが大きい程量子化パラメータの調整量を大きくするようにしてもよい。例えば、量子化パラメータ調整部145が、動きベクトルの長さが長い程、量子化パラメータの調整量を大きくするようにしてもよい。このようにすることにより、画像全体の主観画質の低減をより抑制することができる。
 量子化パラメータ設定部152は、以上に量子化パラメータ調整部145の処理として説明した各処理を行うことにより、動体の画像の動きベクトルの方向に基づいて特定されるその動体の動き方向による符号化難易度に応じて、量子化パラメータを設定することができ、上述した量子化パラメータ調整部145の場合と同様の効果を得ることができる。
  <符号化パラメータの調整制御>
 また、例えば、量子化パラメータ調整部145が、動体の画像の動きベクトルの方向に応じて量子化パラメータを調整するか否かを判定するようにしてもよい。この判定の条件はどのようなものであってもよい。例えば、量子化パラメータ調整部145が、符号化難易度が高い方向(符号化難方向とも称する)に向かう動きベクトル(のブロック)の数と、符号化難易度が低い方向(符号化容易方向とも称する)に向かう動きベクトル(のブロック)の数とが、それぞれ一定数以上存在する場合に、動きベクトルを用いた量子化パラメータの調整を行う(または許可する)と判定するようにしてもよい。
 このようにすることにより、量子化パラメータを調整することにより十分な効果が得られる場合のみ画像に対する量子化パラメータの調整が行われるようにすることができ、不要な処理の負荷の増大を抑制することができる。
 また、換言するに、例えば、量子化パラメータ調整部145が、符号化難易度が高い方向(符号化難方向とも称する)に向かう動きベクトル(のブロック)の数、または、符号化難易度が低い方向(符号化容易方向とも称する)に向かう動きベクトル(のブロック)の数が、所定数より少ない場合に、動きベクトルを用いた量子化パラメータの調整を禁止すると判定するようにしてもよい。
 このようにすることにより、量子化パラメータを調整することにより十分な効果が得られない場合に画像に対する量子化パラメータの調整が行われないようにすることができ、不要な処理の負荷の増大を抑制することができる。
 調整判定部151は、以上に量子化パラメータ調整部145の処理として説明したように処理を行うことにより、動体の画像の動きベクトルの方向に基づいて特定されるその動体の動き方向による符号化難易度に応じた量子化パラメータの調整による不要な処理の負荷の増大を抑制することができる。
  <ブロック分割>
 MPEG2(Moving Picture Experts Group 2(ISO/IEC 13818-2))やAVCなどの旧来の画像符号化方式では、符号化処理は、マクロブロックと呼ばれる処理単位で実行される。マクロブロックは、16x16画素の均一なサイズを有するブロックである。これに対し、HEVCは、符号化は、CU(Coding Unit)と呼ばれる処理単位(符号化単位)で実行される。CUは、最大符号化単位であるLCU(Largest Coding Unit)を再帰的に分割することにより形成される、可変的なサイズを有するブロックである。選択可能なCUの最大サイズは、64x64画素である。選択可能なCUの最小サイズは、8x8画素である。最小サイズのCUは、SCU(Smallest Coding Unit)と呼ばれる。
 このように、可変的なサイズを有するCUが採用される結果、HEVCでは、画像の内容に応じて画質及び符号化効率を適応的に調整することが可能である。予測符号化のための予測処理は、PU(Prediction Unit)と呼ばれる処理単位(予測単位)で実行される。PUは、CUをいくつかの分割パターンのうちの1つで分割することにより形成される。また、PUは、輝度(Y)及び色差(Cb,Cr)毎のPB(Prediction Block)と呼ばれる処理単位(予測ブロック)から構成される。さらに、直交変換処理は、TU(Transform Unit)と呼ばれる処理単位(変換単位)で実行される。TUは、CU又はPUをある深さまで分割することにより形成される。また、TUは、輝度(Y)及び色差(Cb,Cr)毎のTB(Transform Block)と呼ばれる処理単位(変換ブロック)から構成される。
  <再帰的なブロックの分割>
 CUのブロック分割は、1つのブロックの4(=2x2)個のサブブロックへの分割を再帰的に繰り返すことにより行われ、結果として四分木(Quad-Tree)状のツリー構造が形成される。1つの四分木の全体をCTB(Coding Tree Block)といい、CTBに対応する論理的な単位をCTU(Coding Tree Unit)という。
 LCUサイズは、SPS(Sequence Parameter Set)又はPPS(Picture Parameter Set)において符号化されるパラメータにより指定され得る。CUは、LCUを再帰的に分割することにより形成される。分割の深さは、可変的である。例えば、青空のような平坦な画像領域には、より大きいサイズの(即ち、深さが小さい)CUが設定され得る。一方、多くのエッジを含む急峻な画像領域には、より小さいサイズの(即ち、深さが大きい)CUが設定され得る。そして、設定されたCUの各々が、符号化処理の処理単位となる。
  <CUへのPUの設定>
 PUは、イントラ予測及びインター予測を含む予測処理の処理単位である。PUは、CUをいくつかの分割パターンのうちの1つで分割することにより形成される。PUには、2Nx2N、2NxN、Nx2N、NxN、2NxnU、2NxnD、nLx2N及びnRx2Nという、8種類の分割パターンが示されている。これら分割パターンのうち、イントラ予測では、2Nx2N及びNxNの2種類が選択可能である(NxNはSCUでのみ選択可能)。これに対してインター予測では、非対称動き分割が有効化されている場合に、8種類の分割パターンの全てが選択可能である。
  <CUへのTUの設定>
 TUは、直交変換処理の処理単位である。TUは、CU(イントラCUについては、CU内の各PU)をある深さまで分割することにより形成される。
 上述したCU、PU及びTUといったブロックを画像に設定するためにどのようなブロック分割を行うかは、典型的には、符号化効率を左右するコストの比較に基づいて決定される。エンコーダは、例えば1つの2Mx2M画素のCUと、4つのMxM画素のCUとの間でコストを比較し、4つのMxM画素のCUを設定した方が符号化効率が高いならば、2Mx2M画素のCUを4つのMxM画素のCUへと分割することを決定する。
  <CUとPUの走査順>
 画像を符号化する際、画像(又はスライス、タイル)内に格子状に設定されるCTB(又はLCU)が、ラスタスキャン順に走査される。1つのCTBの中では、CUは、四分木を左から右、上から下に辿るように走査される。カレントブロックを処理する際、上及び左の隣接ブロックの情報が入力情報として利用される。PUもまた、左から右、上から下に辿るように走査される。
  <TUサイズの選択>
 TUのサイズは、コスト関数に基づいて選択される。例えば試験的に符号化を行い、その符号化誤差(Distortion)と符号化レート(Rate)とを用いて、以下の式(1)のようにコスト(Cost)を算出する。
 Cost = Dstortion + λ・Rate
 ・・・(1)
 各TUのサイズについてコスト(Cost)を求め、その中でコストが最小となるTUのサイズが選択される。一般に変数λの値は、符号化時に用いる量子化パラメータQpを基に変動し、量子化数が大きい場合、変数λの値が大きくなる。そのため、低レート符号化時には、画像の符号化ノイズより、符号化ビットレートが小さくなることが優先される傾向となる。
 一般的に、目標ビットレートが高レートの場合、コスト関数の性質上、直交変換係数を多く出力するTUサイズが許容される傾向にある。そのため、テクスチャの分布が均一な領域に対して、サイズの大きなTU(Large TU)が設定される。例えば、目標ビットレートが高レートのときは、画素値のばらつきが小さい平坦部や、所定のテクスチャ部分に対して、サイズの大きなTU(Large TU)が設定される。
 これに対して、目標ビットレートが低レートの場合、直交変換係数の伝送コストを最小とするために、均一なテクスチャ部に対しては、サイズの小さいCU(Small CU)やTU(Small TU)が設定され、予測画像だけで画像を作成するケースが多くなる。つまり、この場合、画素値のばらつきが小さい平坦部に対してのみ、サイズの大きなTU(Large TU)が設定されることとなる。
 以下においては、画像(ピクチャ)の部分領域や処理単位として「ブロック」を用いて説明する場合がある(処理部のブロックではない)。この場合の「ブロック」は、ピクチャ内の任意の部分領域を示し、その大きさ、形状、および特性等は限定されない。つまり、この場合の「ブロック」には、例えば、TB、TU、PB、PU、SCU、CU、LCU(CTB)、サブブロック、マクロブロック、タイル、またはスライス等、任意の部分領域(処理単位)が含まれるものとする。
  <各処理の処理単位>
 画像符号化部112においては、上述のように様々なブロックを処理単位として処理が行われる。例えば、演算部132における入力画像と予測画像の減算や、符号化部135による符号化等の処理は、CUを処理単位として行われる。また、例えば、直交変換部133による直交変換、量子化部134による量子化、逆量子化部137による逆量子化、逆直交変換部138による逆直交変換等の処理は、TUを処理単位として行われる。さらに、例えば、イントラ予測部142によるイントラ予測や、インター予測部143によるインター予測は、PUを処理単位として行われる。
  <量子化パラメータ設定の処理単位と動きベクトル>
 したがって、量子化パラメータ調整部145(量子化パラメータ設定部152)は、TU毎に量子化パラメータを設定する。ただし、上述のようにPUとTUは互いに一致するとは限らない。1つのPUが複数のTUと一致する場合も考えられる。逆に1つのTUが複数のPUと一致する場合も考えられる。さらに、PUとTUとが1対N(Nは自然数)またはN対1とならない場合も考えられる。例えば、PUの一部がTUの一部と一致する場合も考えられる。
 つまり、仮に、TUに重なるPUの全ての動きベクトルをそのTUの量子化パラメータの設定に用いるとすると、1つのTUに対して複数の動きベクトルが割り当てられることも考えられる。そのような場合、量子化パラメータ調整部145(量子化パラメータ設定部152)が、その複数の動きベクトルを用いて量子化パラメータの調整(設定)を行うようにしてもよい。例えば、量子化パラメータ調整部145(量子化パラメータ設定部152)が、その複数の動きベクトルを合成し、得られた合成動きベクトルの方向に基づいて量子化パラメータの調整(設定)を行うようにしてもよい。
 また、例えば、量子化パラメータ調整部145(量子化パラメータ設定部152)が、その複数の動きベクトルの中からいずれかを選択し、その選択した動きベクトルの方向に基づいて量子化パラメータの調整(設定)を行うようにしてもよい。なお、この動きベクトルの選択方法は任意である。例えば、長さが一番長い動きベクトルを選択するようにしてもよいし、方向が符号化難易度の高い方向に最も近い動きベクトルを選択するようにしてもよい。もちろん、これら以外の方法であってもよい。
 なお、TUに対して1つのPUが重なる場合は、TUとPUとが一致していても一致していなくても、そのPUの動きベクトルがTUに対して割り当てられるものとしてもよい。TUに対する動きベクトルの割り当て方(量子化パラメータの設定に用いられる動きベクトルの選択方法)は任意であり、上述の例に限定されない。例えば、TU周辺のPU(TUと重ならないPU)の動きベクトルも利用することができるようにしてもよい。
 なお、量子化部134による量子化の処理単位は、任意の大きさとすることができる。例えばHEVC以外の符号化方式の場合、TU以外のブロックを処理単位としてもよい。したがって、量子化パラメータ調整部145(量子化パラメータ設定部152)による量子化パラメータの調整を行う処理単位も任意の大きさとすることができる。例えばHEVC以外の符号化方式の場合、TU以外のブロックを処理単位としてもよい。
  <量子化パラメータの伝送>
 ところで、量子化パラメータ調整部145により設定された量子化パラメータは、符号化制御部146の制御により、符号化部135において符号化データに付加される。つまり、以上のように調整された量子化パラメータは、ビットストリームに付加されて、復号側(復号装置等)に供給される。したがって、復号側のデバイス(復号装置等)は、その量子化パラメータを用いてビットストリームを復号することができる。
 なお、上述したように、量子化パラメータ調整部145がTU毎に量子化パラメータを調整する場合、その調整後の量子化パラメータは、ビットストリームにTU毎に付加される。つまり、この場合、調整された量子化パラメータは、HEVCの規格に準拠する通常の量子化パラメータの場合と同様に、ビットストリームに付加されて、復号側(復号装置等)に供給される。したがって、復号側のデバイス(復号装置等)は、HEVCに準拠した復号方法により、そのTU毎に伝送された量子化パラメータを用いて生成された符号化データ(ビットストリーム)を復号することができる(ビットストリームから得られる量子化係数を逆量子化することができる)。つまり、より汎用なデコーダにより復号することができるので、専用のデコーダを用意する必要がなく、本技術の適用をより容易に実現することができる。
 なお、実際には、量子化パラメータは、ピクチャパラメータセットやスライスヘッダ等に初期値が付加され、各TUにおいては、その初期値からの差分値が付加される。しかしながら、情報としては実質的に同等であるので、本明細書においては説明の便宜上、本技術を適用して設定した量子化パラメータをTUに付加するものとして説明する。
 また、量子化パラメータは、符号化データの任意の位置に付加するようにしてもよい。例えば、HEVCに準拠しない方法で符号化を行う場合、この量子化パラメータは、符号化データ(またはメタデータ)の任意の位置に格納させることができる。
  <インター予測部>
 図5は、インター予測部143の主な構成例を示すブロック図である。図5に示されるように、インター予測部143は、動き予測部161および動き補償部162を有する。
 動き予測部161は、動き予測に関する処理を行う。動き予測部161は、画面並べ替えバッファ131から入力画像を取得すると、フレームメモリ141から参照画像を取得し、それらを用いて動き予測を行う。そして動き予測部161は、その動き予測により得られた動きベクトルを動き補償部162に供給する。また、動き予測部161は、その動きベクトルを量子化パラメータ調整部145(調整判定部151)に供給する。量子化パラメータ調整部145は、この動きベクトルを用いて、上述したように量子化パラメータの調整を行うか否かを判定したり、調整を行ったりする。
 動き補償部162は、動き予測部161より供給される動きベクトルに応じた位置の参照画像をフレームメモリ141から取得し、それを当該イントラ予測モードの予測画像として予測画像選択部144に供給する。
 なお、動き予測部161および動き補償部162は、これらの処理をPU毎に行う。
  <画像処理の流れ>
 次に、以上のような画像処理装置100により実行される処理について説明する。図6のフローチャートを参照して、画像処理装置100により実行される画像処理の流れの例を説明する。
 画像処理が開始されると、画像処理装置100の撮像部111(図3)は、ステップS101において、被写体を撮像し、撮像画像を得る。
 ステップS102において、画像符号化部112は、画像符号化処理を実行し、動きベクトルの方向による符号化難易度に応じた量子化パラメータを用いて、ステップS101の処理により得られた撮像画像を符号化し、符号化データ(ビットストリーム)を生成する。画像符号化部112は、生成したビットストリームを画像処理装置100の外部に出力する。画像処理装置100より出力されたビットストリームは、例えば、任意の伝送路を介してデコーダに伝送される。また、このビットストリームは、例えば、任意の記憶媒体に記憶されるようにしてもよい。
 ステップS102の処理が終了すると、画像処理が終了する。
  <画像符号化処理の流れ>
 次に、図7のフローチャートを参照して、図6のステップS102において実行される画像符号化処理の流れの例を説明する。
 画像符号化処理が開始されると、画像符号化部112の画面並べ替えバッファ131(図4)は、ステップS111において、フレーム画像の順序を表示順から符号化順に並べ替える。また、その際、画面並べ替えバッファ131はブロック分割設定等の処理も行う。
 ステップS112において、イントラ予測部142は、イントラ予測を行い、イントラ予測モードの予測画像を生成する。また、ステップS113において、インター予測部143は、インター予測処理を行い、インター予測モードの予測画像を生成する。その際、インター予測部143は、動き予測により、PU毎に動きベクトルも生成する。ステップS114において、予測画像選択部144は、各予測モードの予測画像についてコスト関数を算出し、その値に基づいて最適な予測モード(の予測画像)を選択する。
 ステップS115において、演算部132は、ステップS111の処理により得られた入力画像と、ステップS114の処理により選択された予測画像との差分を算出する。ステップS116において、直交変換部133は、ステップS115の処理により得られた残差データを直交変換する。ステップS117において、量子化パラメータ調整部145は、量子化制御処理を行い、ステップS113の処理により得られた動きベクトルの方向に応じて量子化パラメータを調整する。
 ステップS118において、量子化部134は、ステップS117の処理により得られた、動きベクトルの方向に依る符号化難易度に応じた量子化パラメータを用いて、ステップS116の処理により得られた直交変換係数を量子化する。ステップS119において、符号化部135は、ステップS118の処理により得られた量子化係数を符号化し、符号化データを生成する。
 ステップS120において、符号化制御部146は、各処理部より必要な情報を取得し、それを用いて符号化に関する情報をメタデータとして生成する。ステップS121において、符号化部135は、ステップS120の処理により得られたメタデータ(符号化に関する情報)を、ステップS119の処理により得られた符号化データに関連付ける。ステップS122において、蓄積バッファ136は、ステップS121の処理によりメタデータが関連付けられた符号化データ(ビットストリーム)を蓄積し、所定のタイミングにおいてそれを出力する。
 ステップS123において、逆量子化部137は、ステップS118の処理により得られた量子化係数を、ステップS118の量子化に対応する方法で逆量子化する。ステップS124において、逆直交変換部138は、ステップS123の処理により得られた直交変換係数を、ステップS116の直交変換に対応する方法で逆直交変換する。ステップS125において、演算部139は、ステップS124の処理により得られた残差データと、ステップS114の処理により選択された予測画像とを加算する。
 ステップS126において、フィルタ140は、ステップS125の処理により得られた再構成画像に対して、所定のフィルタ処理(例えばデブロックフィルタやサンプル適応オフセット等)を行う。ステップS127において、フレームメモリ141は、ステップS126の処理により得られた復号画像を記憶する。この復号画像は、他のブロックの符号化において参照画像としてイントラ予測やインター予測に利用されうる。
 ステップS127の処理が終了すると画像符号化処理が終了し、処理は図6に戻る。
  <インター予測処理の流れ>
 次に、図8のフローチャートを参照して、図7のステップS113において実行されるインター予測処理の流れの例を説明する。
 インター予測処理が開始されると、インター予測部143の動き予測部161(図5)は、ステップS141において、カレントブロック(処理対象のTU)について、入力画像と参照画像とを用いて動き予測を行い、動きベクトルを生成する。動き予測部161は、各TUについて同様の処理を行う。
 ステップS142において動き補償部162は、ステップS161において得られた動きベクトルを用いて動き補償を行い、インター予測の予測画像を生成する。動き補償部162は、各TUについて、同様の処理を行う。
 ステップS142の処理が終了するとインター予測処理が終了し、処理は図7に戻る。
  <量子化制御処理の流れ>
 次に図9のフローチャートを参照して、図7のステップS117において実行される量子化制御処理の流れの例を説明する。
 量子化制御処理が開始されると、量子化パラメータ調整部145の調整判定部151(図4)は、ステップS161において、動体の画質を改善するか否かを判定する。例えば、量子化パラメータの調整を行うモードの場合(例えば制御フラグなどにより量子化パラメータの調整が許可(または指定)されている場合)、動体の画質を改善すると判定され、処理はステップS162に進む。
 ステップS162において、調整判定部151は、インター予測部143より、画面全体の動き検出情報(動きベクトル)を取得する。
 ステップS163において、調整判定部151は、その取得した画面全体の動き検出情報(動きベクトル)に基づいて、符号化容易方向に対応する動きベクトルと符号化難方向に対応する動きベクトルとの両方が(所定の数以上)存在するか否かを判定する。符号化容易方向に対応する動きベクトルと符号化難方向に対応する動きベクトルとの両方が(所定の数以上)存在すると判定された場合、処理はステップS164に進む。つまりこの場合、量子化パラメータの調整を行うと判定される。
 ステップS164において、量子化パラメータ設定部152は、カレントブロック(処理対象TU)の動き検出情報(動きベクトル)を取得する。
 ステップS165において、量子化パラメータ設定部152は、ステップS164において取得した動きベクトルを用いて、カレントブロックが符号化難方向に動く動体の画像のブロックであるか否かを判定する。動きベクトルの方向から、符号化難方向に動く動体の画像のブロックであると判定された場合、処理はステップS166に進む。
 ステップS166において、量子化パラメータ設定部152は、カレントブロックの量子化パラメータを下げる(低い値に設定する)。ステップS166の処理が終了すると処理はステップS167に進む。また、ステップS165において、動きベクトルの方向から、符号化難方向に動く動体の画像のブロックではないと判定された場合、処理はステップS167に進む。
 ステップS167において、量子化パラメータ設定部152は、ピクチャ内の全てのブロックについて処理されたか否かを判定する。まだ量子化パラメータの調整を行っていない未処理のブロックが存在すると判定された場合、処理はステップS164に戻り、それ以降の処理が繰り返される。
 また、ステップS167において、ピクチャ内の全てのブロックについて処理されたと判定された場合、量子化制御処理が終了し、処理は図7に戻る。
 また、ステップS161において、量子化パラメータの調整を行うモードでないと判定された場合(例えば制御フラグなどにより量子化パラメータの調整が禁止されている場合)、動体の画質を改善しないと判定され、量子化制御処理が終了し、処理は図7に戻る。
 また、ステップS163において、符号化容易方向の動きベクトルと符号化難方向の動きベクトルとの両方が(所定の数以上)存在しないと判定された場合、量子化制御処理が終了し、処理は図7に戻る。
 以上のように各処理を実行することにより、画像処理装置100は、符号化対象の画像における動体の画像の動きベクトルの方向に基づいて特定されるその動体の動き方向による符号化難易度に応じた量子化パラメータを用いて、その符号化対象の画像に含まれる動体の画像を量子化することができる。
 このようにすることにより、動体の画像の画質をその動体の動き方向に依存しないようにすることができる。これにより、ビットレートの割り当てをより適切なものとし、目標ビットレートに対する画像全体の主観画質の低減(画像全体の主観画質に対する符号化効率の低減)を抑制することができる。また、画像に互いに異なる方向に移動する複数の動体が存在する場合、画像内の画質のばらつきを抑制し、画質のばらつきによる違和感を抑制し、画像全体の主観画質の低減を抑制することができる。
 <3.第2の実施の形態>
  <動体の動き方向検出のための画像解析>
 第1の実施の形態においては、動きベクトルに基づいて動体の動き方向を検出するように説明したが、これに限らず、動きベクトルを用いずに動体の動き方向を検出するようにしてもよい。
 例えば、符号化対象の画像を解析して動体を検出するようにしてもよい。例えば、図10に示される画像170の場合、複数の動体(例えば人間)がそれぞれの方向に移動している。この画像を解析することにより、この画像から動体(例えば人間)を検出し、さらに各動体の移動方向を検出するようにしてもよい。
 図10の例の場合、検出された動体(人間)を囲むように四角枠が設定されている。この内、実線で示される四角枠171乃至四角枠173で囲まれた各動体は、画像の奥から手前に向かって動く動体である。また、点線で示される四角枠174乃至四角枠176で囲まれた各動体は、画像の手前から奥に向かって動く動体である。
 この動体およびその動き方向の検出方法は任意である。例えば、複数フレームの画像を解析して位置が変化する人物を動体として検出し、さらにその動体の画像(またはその動体に割り当てた四角枠)の大きさの変化によって移動方向を判定するようにしてもよい。例えば、時間の経過とともに画像が大きくなる動体は、奥から手前に向かう動体として判定し、時間の経過とともに画像が小さくなる動体は、手前から奥に向かう動体として判定するようにしてもよい。
 また、例えば、顔検出により人物(動体)の向きを検出し、それにより移動方向を検出するようにしてもよい。例えば、顔が検出された人物(動体)は、奥から手前に向かう動体として判定し、顔が検出されない人物(動体)は、手前から奥に向かう動体として判定するようにしてもよい。この顔検出は、単数のフレーム画像に基づいて行うようにしてもよいし、複数のフレーム画像に基づいて行うようにしてもよい。
 このように、符号化対象の画像を解析して動体の動き方向を検出するようにすることにより、第1の実施の形態の場合と同様に、動体の動き方向による符号化難易度に応じて量子化パラメータを調整することができ、その調整された量子化パラメータを用いて量子化を行うことができる。これにより、第1の実施の形態の場合と同様に、画質の低減を抑制することができる。
 なお、第1の実施の形態において説明した動きベクトルを用いて動体の動き方向を検出する方法の場合、符号化難方向や符号化容易方向に対応する動きベクトルの方向が、撮像画像のアングル(画角)に依存して決定されるので、その画角の情報、または、符号化難方向や符号化容易方向に対応する動きベクトルの方向を指定する情報等が必要になる。また、画角によっては、符号化難方向や符号化容易方向に対応する動きベクトルの方向を指定することが困難な場合も考えられる。例えば、図10の画像170のように、動体が任意の方向に動く場合、符号化難方向や符号化容易方向に対応する動きベクトルの方向が所定の方向に定まるとは限らない。
 上述のように、符号化対象の画像を解析して動体の動き方向を検出するようにすることにより、動きベクトルを用いずに、動体の動き方向による符号化難易度に応じて量子化パラメータを調整することができ、第1の実施の形態の場合とは異なる使用状況において、画質の低減を抑制することができる。
 例えば、第1の実施の形態の方法と本実施の形態の方法との両方に対応することにより、より多様な使用状況において、動体の動き方向による符号化難易度に応じて量子化パラメータを調整することができ、画質の低減を抑制することができる。
  <画像処理装置>
 図11は、本技術を適用した画像処理装置の一実施の形態の主な構成例を示す図である。図11に示される画像処理装置200は、基本的に画像処理装置100と同様の装置であり、被写体を撮像し、得られた撮像画像を符号化して出力する。ただし、画像処理装置200は、その符号化の際に、上述したような本技術を適用した量子化を行う。画像処理装置200は、図11に示されるように、撮像部111、動体動き方向検出部211、および画像符号化部212を有する。
 動体動き方向検出部211は、動体の動き方向を検出し、その動体の動き方向を示す動体動き方向情報を生成する。例えば、動体動き方向検出部211は、撮像部111により得られた撮像画像を解析し、その画像に含まれる動体の動き方向を検出し、その動体の動き方向を示す動体動き方向情報を生成する。動体動き方向検出部211は、生成した動体動き方向情報と、撮像部111から取得した撮像画像とを画像符号化部212に供給する。
 この動体動き方向検出部211は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、処理を行うようにしてもよい。
 画像符号化部212は、基本的に画像符号化部112と同様の処理部であり同様の処理を行う。ただし、画像符号化部212は、動体動き方向検出部211から動体動き方向情報と撮像画像を取得する。そして、画像符号化部212は、その動体動き方向情報に示される動体の動き方向に基づいて量子化パラメータの調整を行う。そして、画像符号化部212は、撮像画像の符号化の際に、その量子化パラメータを用いて量子化を行う。
 したがって、画像符号化部212は、動きベクトルを用いずに、動体の動き方向による符号化難易度に応じて量子化パラメータを調整することができる。これにより、画像符号化部212は、動きベクトルを用いて量子化パラメータを調整する場合が対応可能な使用状況とは異なる使用状況において、画質の低減を抑制することができる。
 画像符号化部212は、このようにして生成した符号化データ(ビットストリーム)を画像処理装置200の外部に出力する。
 この画像符号化部212は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、処理を行うようにしてもよい。
  <動体動き方向検出部>
 図12は、図11の動体動き方向検出部211の主な構成例を示すブロック図である。図12に示されるように、動体動き方向検出部211は、画像解析部221および動き方向判定部222を有する。
 画像解析部221は、撮像部111より供給される撮像画像の解析を行う。この解析方法は任意である。例えば、画像解析部221は、顔検出部231および動体検出追尾部232を有する。
 顔検出部231は、撮像画像に含まれる人物の顔の画像を検出する。この顔検出方法は任意である。顔検出部231は、その検出結果(顔情報)を動き方向判定部222に供給する。
 動体検出追尾部232は、撮像画像に含まれる動体を検出し、さらにその動体を追尾する処理を行う。例えば、動体検出追尾部232は、図10の画像170のように、検出した動体に枠(形状は任意)等を設定し、移動する動体を追尾するように(動体が移動してもその動体を囲み続けるように)、その枠の位置を調整する。動体検出追尾部232は、このような動体検出結果およびその動体の追尾結果を示す動体情報を動き方向判定部222に供給する。
 動き方向判定部222は、これらの情報(顔情報および動体情報の内の少なくともいずれか1つ)に基づいて、動体の動き方向を判定する。動き方向判定部222は、その判定結果、すなわち、動体の動き方向を示す情報である動体動き方向情報を生成し、それを画像符号化部212に供給する。
 つまり、例えば、動体動き方向検出部211は、符号化対象の画像(撮像画像)に含まれる人物の顔の画像を検出し、その検出された顔の向きによって動体の動き方向を検出する。したがって、動体動き方向検出部211は、撮像画像に含まれる動体の動き方向を、その撮像画像から(他の情報無しに)容易に求めることができる。
 また例えば、動体動き方向検出部211は、符号化対象の画像(撮像画像)における動体を追尾することによってその動体の動き方向を検出する。したがって、動体動き方向検出部211は、撮像画像に含まれる動体の動き方向を、その撮像画像から(他の情報無しに)容易に求めることができる。
 なお、動体動き方向検出部211に入力された撮像画像は、画像符号化部212にも供給される。
  <画像符号化部>
 図13は、図11の画像符号化部212の主な構成例を示すブロック図である。図13に示されるように、この画像符号化部212は、画像符号化部112(図4)と基本的に同様の構成を有し、同様の処理を行う。これらに共通の部分についてはその説明を省略する。
 画像符号化部212は、画像符号化部112の量子化パラメータ調整部145の代わりに、量子化パラメータ調整部241を有する。
 量子化パラメータ調整部241は、符号化対象の画像における動体の動き方向に関する情報である動体動き方向情報に基づいて、量子化パラメータを設定する。つまり、量子化パラメータ調整部241は、インター予測部143から動きベクトルを取得しない(動きベクトルを用いない)点が、量子化パラメータ調整部145と異なる。換言するに、動きベクトルを用いる代わりに動体動き方向情報を用いること以外は、量子化パラメータ調整部241は、量子化パラメータ調整部145と基本的に同様の処理を行う。
 例えば、量子化パラメータ調整部241は、動体動き方向情報(により特定される符号化対象の画像における動体の動き方向による符号化難易度)に基づいて、量子化部134や逆量子化部137が用いる量子化パラメータを調整(設定)する。
 なお、量子化パラメータ調整部241は、符号化制御部146を介して蓄積バッファ136のバッファ量に関する情報等を取得し、その情報に基づいて量子化パラメータを調整(設定)して、画像符号化部112から出力されるビットストリームのレート制御を行うこともできる。また、量子化パラメータ調整部145は、設定した量子化パラメータに関する情報を符号化制御部146に供給する。
 図13に示されるように、量子化パラメータ調整部241は、調整判定部251および量子化パラメータ設定部252を有する。調整判定部251は、動体動き方向検出部211から供給された動体動き方向情報情報(動体の動き方向)に基づいて、量子化パラメータの調整を行うか否かを判定する。調整判定部251は、その判定結果を示す情報と、動体動き方向情報とを量子化パラメータ設定部252に供給する。
 量子化パラメータ設定部252は、調整判定部251により量子化パラメータを調整すると判定された場合、動きベクトルの方向に応じた量子化パラメータの調整(設定)を行う。例えば、量子化パラメータ設定部252は、ピクチャやスライス毎に設定された初期値の量子化パラメータを、動体動き方向情報(に基づいて特定される動体の動き方向による符号化難易度)に応じて調整する。また、例えば、量子化パラメータ設定部252は、レート制御等に応じて調整された量子化パラメータを、動きベクトルの方向に基づいて特定される動体の動き方向による符号化難易度に応じてさらに調整する。
 調整判定部251により量子化パラメータを調整しないと判定された場合、量子化パラメータ設定部252は、このような動体動き方向情報に応じた量子化パラメータの調整(設定)を省略(スキップ)する。つまり、この場合量子化パラメータの値は、ピクチャやスライス毎に設定された初期値、または、レート制御等に応じて調整された値となる。
 量子化パラメータ設定部252は、設定した量子化パラメータを、量子化部134に供給する。量子化部134は、その量子化パラメータを用いて量子化を行う。つまり量子化部134は、動体動き方向情報に基づいて特定されるその動体の動き方向による符号化難易度に応じた量子化パラメータを用いて、その符号化対象の画像に含まれる動体の画像を量子化する。なお、量子化パラメータ設定部252は、蓄積バッファ136のバッファ量に関する情報等を、符号化制御部146を介して取得し、その情報に基づいて、ビットストリームのレート制御として量子化パラメータを調整(設定)することもできる。また、量子化パラメータ設定部252は、設定した量子化パラメータに関する情報を符号化制御部146に供給する。
  <量子化処理に関する動作>
 以上のような構成の画像符号化部212において、量子化パラメータ調整部241および量子化部134は、<1.量子化の制御>において上述したのと基本的に同様に処理を行うことができる。ただし、量子化パラメータ調整部145は、動体動き方向情報に基づいて特定される符号化対象の画像におけるその動体の動き方向に基づいて、量子化パラメータを設定する。また、量子化部134は、その量子化パラメータ調整部241により設定された量子化パラメータを用いて動体の画像を量子化する。
 例えば、量子化パラメータ調整部241は、動体動き方向情報により示される動体の動き方向が符号化難易度が高い方向である場合に、その動体の画像の量子化パラメータを下げる(そうでない場合よりも値を小さく設定する)。
 このようにすることにより、量子化パラメータ調整部241は、動体動き方向情報に基づいて、符号化難易度が高い方向に動く動体の画像の画質の低減を抑制することができる。特に、動きベクトルを用いずに、動体の動き方向に基づく量子化パラメータの調整(設定)が可能になるので、量子化パラメータ調整部241は、画角(アングル)に依らずに、符号化難易度が高い方向に動く動体の画像の画質の低減を抑制することができる。したがって、第1の実施の形態の場合とは異なる使用状況において、画質の低減を抑制することができる。
 なお、量子化パラメータ調整部241が、符号化難易度が高い方向に動く動体の画像に対する量子化パラメータを下げる代わりに、その他の画像に対する量子化パラメータを上げるようにしてもよい。また、量子化パラメータ調整部241が、符号化難易度が高い方向に動く動体の画像に対する量子化パラメータを下げつつ、その他の画像に対する量子化パラメータを上げるようにしてもよい。これらの場合も、上述の符号化難易度が高い方向に動く動体の画像に対する量子化パラメータを下げる場合と同様の効果を得ることができる。また、その他の画像に対する量子化パラメータを制御することにより、この量子化パラメータの制御による目標ビットレートを用いたレート制御が困難になるのを抑制することができる。
 また、例えば、動体の動き方向が符号化難易度が低い方向である場合に、量子化パラメータ調整部241が、量子化パラメータを上げる(そうでない場合よりも値を大きく設定する)ようにしてもよい。このようにすることにより、量子化パラメータ調整部241は、動体動き方向情報に基づいて、符号化難易度が低い方向に動く動体の画像の画質を低減させることができる。これにより、例えば、画像に互いに異なる方向に移動する複数の動体が存在する場合に、画像内の画質のばらつきを抑制し、画質のばらつきによる違和感を抑制し、画像全体の主観画質の低減を抑制することができる。特に、動きベクトルを用いずに、動体の動き方向に基づく量子化パラメータの調整(設定)が可能になるので、量子化パラメータ調整部241は、画角(アングル)に依らずに、符号化難易度が低い方向に動く動体の画像の画質を低減させることができる。したがって、第1の実施の形態の場合とは異なる使用状況において、画質の低減を抑制することができる。
 なお、量子化パラメータ調整部241が、符号化難易度が低い方向に動く動体の画像に対する量子化パラメータを上げる代わりに、その他の画像に対する量子化パラメータを下げるようにしてもよい。また、量子化パラメータ調整部241が、符号化難易度が低い方向に動く動体の画像に対する量子化パラメータを上げつつ、その他の画像に対する量子化パラメータを下げるようにしてもよい。これらの場合も、上述の符号化難易度が低い方向に動く動体の画像に対する量子化パラメータを上げる場合と同様の効果を得ることができる。また、その他の画像に対する量子化パラメータを制御することにより、この量子化パラメータの制御による目標ビットレートを用いたレート制御が困難になるのを抑制することができる。
 さらに、例えば、量子化パラメータ調整部145が、動体の動き方向が符号化難易度が高い方向である場合に量子化パラメータを下げ、かつ、動体の動き方向が符号化難易度が低い方向である場合に量子化パラメータを上げるようにしてもよい。
 このようにすることにより、画像内の画質のばらつきを抑制し、画質のばらつきによる違和感を抑制し、画像全体の主観画質の低減を抑制することができる。また、符号化難易度が低い方向に動く動体の画像に割り当てていたビットレートを、符号化難易度が高い方向に動く動体の画像に割り当てることができる。したがって、この量子化パラメータの制御による目標ビットレートを用いたレート制御が困難になるのを抑制することができる。
 もちろん、この場合も、量子化パラメータ調整部241が、さらに、動体の動きが大きい程量子化パラメータの調整量を大きくするようにしてもよい。このようにすることにより、画像全体の主観画質の低減をより抑制することができる。
 量子化パラメータ設定部252は、以上に量子化パラメータ調整部241の処理として説明した各処理を行うことにより、動体の画像の動きベクトルの方向に基づいて特定されるその動体の動き方向による符号化難易度に応じて、量子化パラメータを設定することができ、上述した量子化パラメータ調整部241の場合と同様の効果を得ることができる。
  <符号化パラメータの調整制御>
 また、例えば、量子化パラメータ調整部241が、動体動き方向情報に応じて量子化パラメータを調整するか否かを判定するようにしてもよい。この判定の条件はどのようなものであってもよい。例えば、量子化パラメータ調整部241が、符号化難易度が高い方向(符号化難方向とも称する)に向かって動く動体の数と、符号化難易度が低い方向(符号化容易方向とも称する)に向かって動く動体の数とが、それぞれ一定数以上存在する場合に、動体動き方向情報を用いた量子化パラメータの調整を行う(または許可する)と判定するようにしてもよい。
 このようにすることにより、量子化パラメータを調整することにより十分な効果が得られる場合のみ画像に対する量子化パラメータの調整が行われるようにすることができ、不要な処理の負荷の増大を抑制することができる。
 また、換言するに、例えば、量子化パラメータ調整部145が、符号化難易度が高い方向(符号化難方向とも称する)に向かう動体の数、または、符号化難易度が低い方向(符号化容易方向とも称する)に向かう動体の数が、所定数より少ない場合に、動体動き方向情報を用いた量子化パラメータの調整を禁止すると判定するようにしてもよい。
 このようにすることにより、量子化パラメータを調整することにより十分な効果が得られない場合に画像に対する量子化パラメータの調整が行われないようにすることができ、不要な処理の負荷の増大を抑制することができる。
 調整判定部251は、以上に量子化パラメータ調整部241の処理として説明したように処理を行うことにより、動体動き方向情報に基づいて特定されるその動体の動き方向による符号化難易度に応じた量子化パラメータの調整による不要な処理の負荷の増大を抑制することができる。
  <画像処理の流れ>
 次に、以上のような画像処理装置200により実行される処理について説明する。図14のフローチャートを参照して、画像処理装置200により実行される画像処理の流れの例を説明する。
 画像処理が開始されると、画像処理装置200の撮像部111(図11)は、ステップS201において、被写体を撮像し、撮像画像を得る。
 ステップS202において、動体動き方向検出部211は、動き方向検出処理を行い、動体の動き方向を検出する。
 ステップS203において、画像符号化部212は、画像符号化処理を実行し、ステップS202の処理により検出された動体の動き方向による符号化難易度に応じた量子化パラメータを用いて、ステップS201の処理により得られた撮像画像を符号化し、符号化データ(ビットストリーム)を生成する。画像符号化部212は、生成したビットストリームを画像処理装置200の外部に出力する。画像処理装置200より出力されたビットストリームは、例えば、任意の伝送路を介してデコーダに伝送される。また、このビットストリームは、例えば、任意の記憶媒体に記憶されるようにしてもよい。
 ステップS203の処理が終了すると、画像処理が終了する。
  <動き方向検出処理の流れ>
 次に、図15のフローチャートを参照して、図14のステップS202において実行される動き方向検出処理の流れの例を説明する。
 動き方向検出処理が開始されると、動体動き方向検出部211の画像解析部221(図12)は、ステップS211において、撮像画像等の必要な情報を取得する。
 ステップS212において、画像解析部221は、ステップS211の処理により取得した撮像画像を解析する等して、例えば顔情報や動体情報等のような、動体に関する情報を得る。
 ステップS213において、動き方向判定部222は、ステップS212の処理により得られた動体に関する情報に基づいて動体の動き方向を判定し、動体動き方向情報を生成する。
 ステップS213の処理が終了すると動き方向検出処理が終了し、処理は図14に戻る。
  <画像符号化処理の流れ>
 次に、図16のフローチャートを参照して、図14のステップS203において実行される画像符号化処理の流れの例を説明する。
 画像符号化処理が開始されると、画像符号化部212の画面並べ替えバッファ131(図13)は、ステップS221において、フレーム画像の順序を表示順から符号化順に並べ替える。また、その際、画面並べ替えバッファ131はブロック分割設定等の処理も行う。
 ステップS222において、イントラ予測部142は、イントラ予測を行い、イントラ予測モードの予測画像を生成する。また、ステップS223において、インター予測部143は、インター予測処理を行い、インター予測モードの予測画像を生成する。ステップS224において、予測画像選択部144は、各予測モードの予測画像についてコスト関数を算出し、その値に基づいて最適な予測モード(の予測画像)を選択する。
 ステップS225において、演算部132は、ステップS221の処理により得られた入力画像と、ステップS224の処理により選択された予測画像との差分を算出する。ステップS226において、直交変換部133は、ステップS225の処理により得られた残差データを直交変換する。ステップS227において、量子化パラメータ調整部241は、量子化制御処理を行い、動体動き方向情報により示される動体の動き方向による符号化難易度に応じて量子化パラメータを調整する。
 ステップS228において、量子化部134は、ステップS227の処理により得られた、動体の動き方向による符号化難易度に応じた量子化パラメータを用いて、ステップS226の処理により得られた直交変換係数を量子化する。ステップS229において、符号化部135は、ステップS228の処理により得られた量子化係数を符号化し、符号化データを生成する。
 ステップS230において、符号化制御部146は、各処理部より必要な情報を取得し、それを用いて符号化に関する情報をメタデータとして生成する。ステップS231において、符号化部135は、ステップS230の処理により得られたメタデータ(符号化に関する情報)を、ステップS229の処理により得られた符号化データに関連付ける。ステップS232において、蓄積バッファ136は、ステップS231の処理によりメタデータが関連付けられた符号化データ(ビットストリーム)を蓄積し、所定のタイミングにおいてそれを出力する。
 ステップS233において、逆量子化部137は、ステップS228の処理により得られた量子化係数を、ステップS228の量子化に対応する方法で逆量子化する。ステップS234において、逆直交変換部138は、ステップS233の処理により得られた直交変換係数を、ステップS226の直交変換に対応する方法で逆直交変換する。ステップS235において、演算部139は、ステップS234の処理により得られた残差データと、ステップS224の処理により選択された予測画像とを加算する。
 ステップS236において、フィルタ140は、ステップS235の処理により得られた再構成画像に対して、所定のフィルタ処理(例えばデブロックフィルタやサンプル適応オフセット等)を行う。ステップS237において、フレームメモリ141は、ステップS236の処理により得られた復号画像を記憶する。この復号画像は、他のブロックの符号化において参照画像としてイントラ予測やインター予測に利用されうる。
 ステップS237の処理が終了すると画像符号化処理が終了し、処理は図14に戻る。
  <量子化制御処理の流れ>
 次に図17のフローチャートを参照して、図16のステップS227において実行される量子化制御処理の流れの例を説明する。
 量子化制御処理が開始されると、量子化パラメータ調整部241の調整判定部251(図13)は、ステップS251において、動体の画質を改善するか否かを判定する。例えば、量子化パラメータの調整を行うモードの場合(例えば制御フラグなどにより量子化パラメータの調整が許可(または指定)されている場合)、動体の画質を改善すると判定され、処理はステップS252に進む。
 ステップS252において、調整判定部251は、インター予測部143より、画面全体の動体動き方向情報を取得する。
 ステップS253において、調整判定部251は、その取得した画面全体の動体動き方向情報に基づいて、符号化容易方向に動く動体と符号化難方向に動く動体との両方が(所定の数以上)存在するか否かを判定する。符号化容易方向に動く動体と符号化難方向に動く動体との両方が(所定の数以上)存在すると判定された場合、処理はステップS254に進む。つまりこの場合、量子化パラメータの調整を行うと判定される。
 ステップS254において、量子化パラメータ設定部252は、カレントブロック(処理対象TU)に対応する動体動き方向情報を取得する。つまり、量子化パラメータ設定部252は、カレントブロックを含む動体の画像が存在するのであれば、その動体の動き方向を示す動体動き方向情報(カレントブロックに対応する動体動き方向情報)を取得する。
 ステップS255において、量子化パラメータ設定部252は、ステップS254において取得した動体動き方向情報を用いて、カレントブロックが符号化難方向に動く動体の画像のブロックであるか否かを判定する。動体動き方向情報から、カレントブロックが符号化難方向に動く動体の画像のブロックであると判定された場合、処理はステップS256に進む。
 ステップS256において、量子化パラメータ設定部252は、カレントブロックの量子化パラメータを下げる(低い値に設定する)。ステップS256の処理が終了すると処理はステップS257に進む。また、ステップS255において、動体動き方向情報から、カレントブロックが符号化難方向に動く動体の画像のブロックではないと判定された場合、処理はステップS257に進む。
 ステップS257において、量子化パラメータ設定部252は、ピクチャ内の全てのブロックについて処理されたか否かを判定する。まだ量子化パラメータの調整を行っていない未処理のブロックが存在すると判定された場合、処理はステップS254に戻り、それ以降の処理が繰り返される。
 また、ステップS257において、ピクチャ内の全てのブロックについて処理されたと判定された場合、量子化制御処理が終了し、処理は図16に戻る。
 また、ステップS251において、量子化パラメータの調整を行うモードでないと判定された場合(例えば制御フラグなどにより量子化パラメータの調整が禁止されている場合)、動体の画質を改善しないと判定され、量子化制御処理が終了し、処理は図16に戻る。
 また、ステップS253において、符号化容易方向の動きベクトルと符号化難方向の動きベクトルとの両方が(所定の数以上)存在しないと判定された場合、量子化制御処理が終了し、処理は図16に戻る。
 以上のように各処理を実行することにより、画像処理装置100は、動きベクトルを用いずに、符号化対象の画像における動体の動き方向による符号化難易度に応じた量子化パラメータを用いて、その符号化対象の画像に含まれる動体の画像を量子化することができる。
 このようにすることにより、動体の画像の画質をその動体の動き方向に依存しないようにすることができる。これにより、ビットレートの割り当てをより適切なものとし、目標ビットレートに対する画像全体の主観画質の低減(画像全体の主観画質に対する符号化効率の低減)を抑制することができる。また、画像に互いに異なる方向に移動する複数の動体が存在する場合、画像内の画質のばらつきを抑制し、画質のばらつきによる違和感を抑制し、画像全体の主観画質の低減を抑制することができる。
 <4.第3の実施の形態>
  <動体の動き方向検出用の構成>
 第2の実施の形態においては、符号化対象の画像を解析して動体の動き方向を検出する例について説明したが、動きベクトルを用いない動体の動き方向の検出方法は任意であり、この例に限定されない。
 例えば、複数の画像に基づいて動体の動き方向を検出するようにしてもよい。
  <画像処理装置の構成例1>
 図18は、本技術を適用した画像処理装置の一実施の形態の主な構成例を示す図である。図18に示される画像処理装置300は、基本的に画像処理装置200と同様の装置であり、被写体を撮像し、得られた撮像画像から動体の動き方向を検出し、その動き方向による符号化難易度に応じた量子化パラメータを用いて、撮像画像の符号化における量子化を行う。
 ただし、画像処理装置300は、複数の撮像部を有し、その複数の撮像部により得られた複数の撮像画像に基づいて動き方向を検出する。画像処理装置300は、図18に示されるように、撮像部111-1、撮像部111-2、動体動き方向検出部311、および画像符号化部212を有する。撮像部111-1および撮像部111-2は、それぞれ、撮像部111と同様の撮像部であり、被写体を撮像して撮像画像を得る。撮像部111-1および撮像部111-2は、それぞれ、得られた撮像画像を動体動き方向検出部311に供給する。
 動体動き方向検出部311は、撮像部111-1より供給された撮像画像と、撮像部111-2より供給された撮像画像とに基づいて、それらの撮像画像に含まれる動体を検出し、さらにその動き方向を検出する。この動体や動き方向の検出方法は任意である。
 例えば、動体動き方向検出部311は、撮像部111-1および撮像部111-2において得られる撮像画像間の視差を利用して被写体の奥行情報を求め、その奥行情報の変化に基づいて、動体の検出およびその動き方向の検出を行うようにしてもよい。
 また、例えば、撮像部111-1と撮像部111-2とが、互いに異なる位置から互いに異なる向きで対象空間を撮像するようにし、それぞれの撮像画像において対象空間内の動体やその動き方向を検出し、それらの検出結果に基づいて、対象空間における動体の動き方向を検出するようにしてもよい。
 この場合も、動体動き方向検出部311は、各動体について動体動き方向情報を生成し、それを撮像画像とともに画像符号化部212に供給する。画像符号化部212は、第2の実施の形態の場合と同様に画像符号化処理を行う。
 このようにすることにより、第2の実施の形態の場合と同様に、動きベクトルを用いずに、動体の動き方向による符号化難易度に応じた量子化パラメータを用いて量子化を行うことができる。したがって、第2の実施の形態の場合と同様の効果を得ることができる。
 なお、以上においては、撮像部111が2台の場合について説明したが、撮像部111の数は複数であればよく、例えば3台以上であってもよい。また、符号化対象とする撮像画像は、全ての撮像部111において得られた撮像画像(全ての撮像画像)であってもよいし、一部の撮像部111において得られた撮像画像(一部の撮像画像)であってもよい。
  <画像処理装置の構成例2>
 また、画像以外の情報に基づいて動き方向を検出するようにしてもよい。図19は、本技術を適用した画像処理装置の一実施の形態の主な構成例を示す図である。図19に示される画像処理装置320は、基本的に画像処理装置300と同様の装置であり、被写体を撮像し、得られた撮像画像から動体の動き方向を検出し、その動き方向による符号化難易度に応じた量子化パラメータを用いて、撮像画像の符号化における量子化を行う。
 ただし、画像処理装置320は、撮像部111-2の代わりにセンサ部321を有する。センサ部321は、撮像画像以外の情報であって、かつ、動体の動き方向の検出に寄与する情報を検出することができる任意のセンサである。例えばセンサ部321は、物体(動体)の奥行位置を特定する測距センサ等であってもよい。
 センサ部321は、例えば、検出結果に基づいて、動体の奥行位置を特定するためのセンサ情報を生成し、それを動体動き方向検出部322に供給する。
 また、画像処理装置320は、動体動き方向検出部311の代わりに動体動き方向検出部322を有する。動体動き方向検出部322は、センサ部321から供給されるセンサ情報を利用して、撮像部111から供給される撮像画像に含まれる動体の動き方向を検出する。例えば、動体動き方向検出部322は、撮像部111から供給される撮像画像に含まれる動体の奥行情報の変化から、その動体の動き方向を検出する。
 動体動き方向検出部322は、検出した動体の動き方向を示す動体動き方向情報を生成し、それを撮像画像とともに画像符号化部212に供給する。画像符号化部212は、第2の実施の形態の場合と同様に撮像画像を符号化する。
 このようにすることにより、動体動き方向検出部322は、画像以外の情報(例えばセンサ情報)に基づいて動体の動き方向を検出することができる。したがって、より多様な装置やシステムに本技術を適用することができる。
 なお、この画像処理装置320の場合も、撮像部111やセンサ部321の数は任意であり、それぞれ、2台以上であってもよい。
 以上においては、画像処理装置300や画像処理装置320を、1つの装置として説明したが、これらは複数の装置からなるシステムとして構成されるようにしてもよい。例えば画像処理装置300の撮像部111-1や撮像部111-2は、動体動き方向検出部311や画像符号化部212とは別体として形成される独立した装置として構成されるようにしてもよい。このようにすることにより、撮像部111-1や撮像部111-2の設置位置や向きの自由度を向上させることができる。
 同様に、画像処理装置320においても、撮像部111-1やセンサ部321が、動体動き方向検出部322および画像符号化部212とは別体として形成される独立した装置として構成されるようにしてもよい。このようにすることにより、撮像部111-1やセンサ部321の設置位置や向きの自由度を向上させることができる。
 もちろん、画像符号化部212、動体動き方向検出部311、および動体動き方向検出部322がそれぞれ独立した装置として構成されるようにすることもできる。
 以上のように、動体の動き方向は、単数の情報(例えば単数の撮像画像)に基づいて検出するようにしてもよいし、複数の情報(例えば、複数の撮像画像や、撮像画像とセンサ情報といった複数種類の情報)に基づいて検出するようにしてもよい。一般的には、より多くの情報を用いる方が、動体の動き方向をより正確に検出することができる。ただし、情報が少ない程、検出処理の負荷の増大を抑制することができる。
 なお、動体の動き方向の検出に利用する情報は任意であり、上述した例に限定されない。例えば、GPS(Global Positioning System)を利用して被写体の位置情報を求めるようにしてもよい。
 いずれの場合も画像符号化部212は、第2の実施の形態の場合と同様に、動体の動き方向に依る符号化難易度に応じて量子化パラメータを調整し、量子化を行うことができる。したがって、同様の効果を得ることができる。
 <5.第4の実施の形態>
  <本技術の適用例>
 以上においては、被写体を撮像する画像処理装置やシステムに適用する場合について説明したが、本技術は、画像を処理する任意の装置に適用することができる。例えば、本技術は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機や受信機、または、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置や、これら記憶媒体から画像を再生する再生装置などの、様々な電子機器に適用することができる。
   <テレビジョン受像機>
 図20は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース(I/F)部909、制御部910、ユーザインタフェース(I/F)部911、及びバス912を備える。
 チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
 デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
 デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
 映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
 表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD(Organic ElectroLuminescence Display)(有機ELディスプレイ)など)の映像面上に映像又は画像を表示する。
 音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
 外部インタフェース部909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース部909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース部909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
 制御部910は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
 ユーザインタフェース部911は、制御部910と接続される。ユーザインタフェース部911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
 バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース部909及び制御部910を相互に接続する。
 このように構成されたテレビジョン装置900において、映像信号処理部905が、例えば、デコーダ904から供給される画像データを符号化し、得られた符号化データを、外部インタフェース部909を介してテレビジョン装置900の外部に出力させることができるようにしてもよい。そして、その符号化の際に、映像信号処理部905が、デコーダ904から供給される画像データを、以上の各実施の形態において説明した方法で量子化し、符号化するようにしてもよい。例えば、映像信号処理部905が量子化部134の機能を有し、デコーダ904から供給される画像に対して、その画像における動体の動き方向による符号化難易度に応じた量子化パラメータを用いた量子化を行うようにしてもよい。このようにすることにより、テレビジョン装置900は、上述した各実施の形態と同様の効果を得ることができる。
   <携帯電話機>
 図21は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
 アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
 携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
 音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929に供給し、その記憶媒体に書き込ませる。
 記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB(Universal Serial Bus)メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
 また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記録再生部929に供給し、その記憶媒体に書き込ませる。
 さらに、画像表示モードにおいて、記録再生部929は、記憶媒体に記録されている符号化ストリームを読み出して画像処理部927へ出力する。画像処理部927は、記録再生部929から入力される符号化ストリームを復号し、画像データを表示部930に供給し、その画像を表示させる。
 また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 このように構成された携帯電話機920において、例えば画像処理部927が、供給された画像データを、以上の各実施の形態において説明した方法で量子化し、符号化するようにしてもよい。例えば、画像処理部927が量子化部134の機能を有し、供給された画像における動体の動き方向による符号化難易度に応じた量子化パラメータを用いた量子化を行うようにしてもよい。このようにすることにより、携帯電話機920は、上述した各実施の形態と同様の効果を得ることができる。
   <記録再生装置>
 図22は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データおよび映像データを復号する。
 記録再生装置940は、チューナ941、外部インタフェース(I/F)部942、エンコーダ943、HDD(Hard Disk Drive)部944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)部948、制御部949、およびユーザインタフェース(I/F)部950を備える。
 チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送部としての役割を有する。
 外部インタフェース部942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース部942は、例えば、IEEE(Institute of Electrical and Electronic Engineers)1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース部942を介して受信される映像データおよび音声データは、エンコーダ943へ入力される。即ち、外部インタフェース部942は、記録再生装置940における伝送部としての役割を有する。
 エンコーダ943は、外部インタフェース部942から入力される映像データおよび音声データが符号化されていない場合に、映像データおよび音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
 HDD部944は、映像および音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラムおよびその他のデータを内部のハードディスクに記録する。また、HDD部944は、映像および音声の再生時に、これらデータをハードディスクから読み出す。
 ディスクドライブ945は、装着されている記録媒体へのデータの記録および読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVD(Digital Versatile Disc)ディスク(DVD-Video、DVD-RAM(DVD - Random Access Memory)、DVD-R(DVD - Recordable)、DVD-RW(DVD - Rewritable)、DVD+R(DVD + Recordable)、DVD+RW(DVD + Rewritable)等)又はBlu-ray(登録商標)ディスクなどであってよい。
 セレクタ946は、映像および音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
 デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD部948へ出力する。また、デコーダ947は、生成した音声データを外部のスピーカへ出力する。
 OSD部948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD部948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
 制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
 ユーザインタフェース部950は、制御部949と接続される。ユーザインタフェース部950は、例えば、ユーザが記録再生装置940を操作するためのボタンおよびスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
 このように構成された記録再生装置940において、例えばエンコーダ943が、上述した画像処理装置100の機能を有するようにしてもよい。つまり、エンコーダ943が、供給される画像データを、以上の各実施の形態において説明方法で量子化し、符号化するようにしてもよい。例えば、エンコーダ943が量子化部134の機能を有し、供給される画像に対して、その画像における動体の動き方向による符号化難易度に応じた量子化パラメータを用いた量子化を行うようにしてもよい。このようにすることにより、記録再生装置940は、上述した各実施の形態と同様の効果を得ることができる。
   <撮像装置>
 図23は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
 撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース(I/F)部966、メモリ部967、メディアドライブ968、OSD部969、制御部970、ユーザインタフェース(I/F)部971、およびバス972を備える。
 光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース部971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース部966、メモリ部967、メディアドライブ968、OSD部969、および制御部970を相互に接続する。
 光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
 信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
 画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース部966またはメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース部966またはメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD部969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
 OSD部969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
 外部インタフェース部966は、例えばUSB入出力端子として構成される。外部インタフェース部966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース部966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース部966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース部966は、撮像装置960における伝送部としての役割を有する。
 メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
 制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部971から入力される操作信号に応じて、撮像装置960の動作を制御する。
 ユーザインタフェース部971は、制御部970と接続される。ユーザインタフェース部971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース部971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
 このように構成された撮像装置960において、例えば画像処理部964が、供給される画像データを、以上の各実施の形態において説明した方法で量子化し、符号化するようにしてもよい。例えば、画像処理部964が量子化部134の機能を有し、供給される画像に対して、その画像における動体の動き方向による符号化難易度に応じた量子化パラメータを用いた量子化を行うようにしてもよい。このようにすることにより、撮像装置960は、上述した各実施の形態と同様の効果を得ることができる。
   <ビデオセット>
 また、本技術は、任意の装置またはシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。図24は、本技術を適用したビデオセットの概略的な構成の一例を示している。
 近年、電子機器の多機能化が進んでおり、その開発や製造において、その一部の構成を販売や提供等として実施する場合、1機能を有する構成として実施を行う場合だけでなく、関連する機能を有する複数の構成を組み合わせ、複数の機能を有する1セットとして実施を行う場合も多く見られるようになってきた。
 図24に示されるビデオセット1300は、このような多機能化された構成であり、画像の符号化や復号(いずれか一方でもよいし、両方でも良い)に関する機能を有するデバイスに、その機能に関連するその他の機能を有するデバイスを組み合わせたものである。
 図24に示されるように、ビデオセット1300は、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、およびフロントエンドモジュール1314等のモジュール群と、コネクティビティ1321、カメラ1322、およびセンサ1323等の関連する機能を有するデバイスとを有する。
 モジュールは、互いに関連するいくつかの部品的機能をまとめ、まとまりのある機能を持った部品としたものである。具体的な物理的構成は任意であるが、例えば、それぞれ機能を有する複数のプロセッサ、抵抗やコンデンサ等の電子回路素子、その他のデバイス等を配線基板等に配置して一体化したものが考えられる。また、モジュールに他のモジュールやプロセッサ等を組み合わせて新たなモジュールとすることも考えられる。
 図24の例の場合、ビデオモジュール1311は、画像処理に関する機能を有する構成を組み合わせたものであり、アプリケーションプロセッサ、ビデオプロセッサ、ブロードバンドモデム1333、およびRFモジュール1334を有する。
 プロセッサは、所定の機能を有する構成をSoC(System On a Chip)により半導体チップに集積したものであり、例えばシステムLSI(Large Scale Integration)等と称されるものもある。この所定の機能を有する構成は、論理回路(ハードウエア構成)であってもよいし、CPU、ROM、RAM等と、それらを用いて実行されるプログラム(ソフトウエア構成)であってもよいし、その両方を組み合わせたものであってもよい。例えば、プロセッサが、論理回路とCPU、ROM、RAM等とを有し、機能の一部を論理回路(ハードウエア構成)により実現し、その他の機能をCPUにおいて実行されるプログラム(ソフトウエア構成)により実現するようにしてもよい。
 図24のアプリケーションプロセッサ1331は、画像処理に関するアプリケーションを実行するプロセッサである。このアプリケーションプロセッサ1331において実行されるアプリケーションは、所定の機能を実現するために、演算処理を行うだけでなく、例えばビデオプロセッサ1332等、ビデオモジュール1311内外の構成を必要に応じて制御することもできる。
 ビデオプロセッサ1332は、画像の符号化・復号(その一方または両方)に関する機能を有するプロセッサである。
 ブロードバンドモデム1333は、インターネットや公衆電話回線網等の広帯域の回線を介して行われる有線若しくは無線(またはその両方)の広帯域通信により送信するデータ(デジタル信号)をデジタル変調する等してアナログ信号に変換したり、その広帯域通信により受信したアナログ信号を復調してデータ(デジタル信号)に変換したりする。ブロードバンドモデム1333は、例えば、ビデオプロセッサ1332が処理する画像データ、画像データが符号化されたストリーム、アプリケーションプログラム、設定データ等、任意の情報を処理する。
 RFモジュール1334は、アンテナを介して送受信されるRF(Radio Frequency)信号に対して、周波数変換、変復調、増幅、フィルタ処理等を行うモジュールである。例えば、RFモジュール1334は、ブロードバンドモデム1333により生成されたベースバンド信号に対して周波数変換等を行ってRF信号を生成する。また、例えば、RFモジュール1334は、フロントエンドモジュール1314を介して受信されたRF信号に対して周波数変換等を行ってベースバンド信号を生成する。
 なお、図24において点線1341に示されるように、アプリケーションプロセッサ1331とビデオプロセッサ1332を、一体化し、1つのプロセッサとして構成されるようにしてもよい。
 外部メモリ1312は、ビデオモジュール1311の外部に設けられた、ビデオモジュール1311により利用される記憶デバイスを有するモジュールである。この外部メモリ1312の記憶デバイスは、どのような物理構成により実現するようにしてもよいが、一般的にフレーム単位の画像データのような大容量のデータの格納に利用されることが多いので、例えばDRAM(Dynamic Random Access Memory)のような比較的安価で大容量の半導体メモリにより実現するのが望ましい。
 パワーマネージメントモジュール1313は、ビデオモジュール1311(ビデオモジュール1311内の各構成)への電力供給を管理し、制御する。
 フロントエンドモジュール1314は、RFモジュール1334に対してフロントエンド機能(アンテナ側の送受信端の回路)を提供するモジュールである。図24に示されるように、フロントエンドモジュール1314は、例えば、アンテナ部1351、フィルタ1352、および増幅部1353を有する。
 アンテナ部1351は、無線信号を送受信するアンテナおよびその周辺の構成を有する。アンテナ部1351は、増幅部1353から供給される信号を無線信号として送信し、受信した無線信号を電気信号(RF信号)としてフィルタ1352に供給する。フィルタ1352は、アンテナ部1351を介して受信されたRF信号に対してフィルタ処理等を行い、処理後のRF信号をRFモジュール1334に供給する。増幅部1353は、RFモジュール1334から供給されるRF信号を増幅し、アンテナ部1351に供給する。
 コネクティビティ1321は、外部との接続に関する機能を有するモジュールである。コネクティビティ1321の物理構成は、任意である。例えば、コネクティビティ1321は、ブロードバンドモデム1333が対応する通信規格以外の通信機能を有する構成や、外部入出力端子等を有する。
 例えば、コネクティビティ1321が、Bluetooth(登録商標)、IEEE 802.11(例えばWi-Fi(Wireless Fidelity、登録商標))、NFC(Near Field Communication)、IrDA(InfraRed Data Association)等の無線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した信号を送受信するアンテナ等を有するようにしてもよい。また、例えば、コネクティビティ1321が、USB(Universal Serial Bus)、HDMI(登録商標)(High-Definition Multimedia Interface)等の有線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した端子を有するようにしてもよい。さらに、例えば、コネクティビティ1321が、アナログ入出力端子等のその他のデータ(信号)伝送機能等を有するようにしてもよい。
 なお、コネクティビティ1321が、データ(信号)の伝送先のデバイスを含むようにしてもよい。例えば、コネクティビティ1321が、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等の記録媒体に対してデータの読み出しや書き込みを行うドライブ(リムーバブルメディアのドライブだけでなく、ハードディスク、SSD(Solid State Drive)、NAS(Network Attached Storage)等も含む)を有するようにしてもよい。また、コネクティビティ1321が、画像や音声の出力デバイス(モニタやスピーカ等)を有するようにしてもよい。
 カメラ1322は、被写体を撮像し、被写体の画像データを得る機能を有するモジュールである。カメラ1322の撮像により得られた画像データは、例えば、ビデオプロセッサ1332に供給されて符号化される。
 センサ1323は、例えば、音声センサ、超音波センサ、光センサ、照度センサ、赤外線センサ、イメージセンサ、回転センサ、角度センサ、角速度センサ、速度センサ、加速度センサ、傾斜センサ、磁気識別センサ、衝撃センサ、温度センサ等、任意のセンサ機能を有するモジュールである。センサ1323により検出されたデータは、例えば、アプリケーションプロセッサ1331に供給されてアプリケーション等により利用される。
 以上においてモジュールとして説明した構成をプロセッサとして実現するようにしてもよいし、逆にプロセッサとして説明した構成をモジュールとして実現するようにしてもよい。
 以上のような構成のビデオセット1300において、後述するようにビデオプロセッサ1332に本技術を適用することができる。したがって、ビデオセット1300は、本技術を適用したセットとして実施することができる。
   <ビデオプロセッサの構成例>
 図25は、本技術を適用したビデオプロセッサ1332(図24)の概略的な構成の一例を示している。
 図25の例の場合、ビデオプロセッサ1332は、ビデオ信号およびオーディオ信号の入力を受けてこれらを所定の方式で符号化する機能と、符号化されたビデオデータおよびオーディオデータを復号し、ビデオ信号およびオーディオ信号を再生出力する機能とを有する。
 図25に示されるように、ビデオプロセッサ1332は、ビデオ入力処理部1401、第1画像拡大縮小部1402、第2画像拡大縮小部1403、ビデオ出力処理部1404、フレームメモリ1405、およびメモリ制御部1406を有する。また、ビデオプロセッサ1332は、エンコード・デコードエンジン1407、ビデオES(Elementary Stream)バッファ1408Aおよび1408B、並びに、オーディオESバッファ1409Aおよび1409Bを有する。さらに、ビデオプロセッサ1332は、オーディオエンコーダ1410、オーディオデコーダ1411、多重化部(MUX(Multiplexer))1412、逆多重化部(DMUX(Demultiplexer))1413、およびストリームバッファ1414を有する。
 ビデオ入力処理部1401は、例えばコネクティビティ1321(図24)等から入力されたビデオ信号を取得し、デジタル画像データに変換する。第1画像拡大縮小部1402は、画像データに対してフォーマット変換や画像の拡大縮小処理等を行う。第2画像拡大縮小部1403は、画像データに対して、ビデオ出力処理部1404を介して出力する先でのフォーマットに応じて画像の拡大縮小処理を行ったり、第1画像拡大縮小部1402と同様のフォーマット変換や画像の拡大縮小処理等を行ったりする。ビデオ出力処理部1404は、画像データに対して、フォーマット変換やアナログ信号への変換等を行って、再生されたビデオ信号として例えばコネクティビティ1321等に出力する。
 フレームメモリ1405は、ビデオ入力処理部1401、第1画像拡大縮小部1402、第2画像拡大縮小部1403、ビデオ出力処理部1404、およびエンコード・デコードエンジン1407によって共用される画像データ用のメモリである。フレームメモリ1405は、例えばDRAM等の半導体メモリとして実現される。
 メモリ制御部1406は、エンコード・デコードエンジン1407からの同期信号を受けて、アクセス管理テーブル1406Aに書き込まれたフレームメモリ1405へのアクセススケジュールに従ってフレームメモリ1405に対する書き込み・読み出しのアクセスを制御する。アクセス管理テーブル1406Aは、エンコード・デコードエンジン1407、第1画像拡大縮小部1402、第2画像拡大縮小部1403等で実行される処理に応じて、メモリ制御部1406により更新される。
 エンコード・デコードエンジン1407は、画像データのエンコード処理、並びに、画像データが符号化されたデータであるビデオストリームのデコード処理を行う。例えば、エンコード・デコードエンジン1407は、フレームメモリ1405から読み出した画像データを符号化し、ビデオストリームとしてビデオESバッファ1408Aに順次書き込む。また、例えば、ビデオESバッファ1408Bからビデオストリームを順次読み出して復号し、画像データとしてフレームメモリ1405に順次書き込む。エンコード・デコードエンジン1407は、これらの符号化や復号において、フレームメモリ1405を作業領域として使用する。また、エンコード・デコードエンジン1407は、例えばマクロブロック毎の処理を開始するタイミングで、メモリ制御部1406に対して同期信号を出力する。
 ビデオESバッファ1408Aは、エンコード・デコードエンジン1407によって生成されたビデオストリームをバッファリングして、多重化部(MUX)1412に供給する。ビデオESバッファ1408Bは、逆多重化部(DMUX)1413から供給されたビデオストリームをバッファリングして、エンコード・デコードエンジン1407に供給する。
 オーディオESバッファ1409Aは、オーディオエンコーダ1410によって生成されたオーディオストリームをバッファリングして、多重化部(MUX)1412に供給する。オーディオESバッファ1409Bは、逆多重化部(DMUX)1413から供給されたオーディオストリームをバッファリングして、オーディオデコーダ1411に供給する。
 オーディオエンコーダ1410は、例えばコネクティビティ1321等から入力されたオーディオ信号を例えばデジタル変換し、例えばMPEGオーディオ方式やAC3(AudioCode number 3)方式等の所定の方式で符号化する。オーディオエンコーダ1410は、オーディオ信号が符号化されたデータであるオーディオストリームをオーディオESバッファ1409Aに順次書き込む。オーディオデコーダ1411は、オーディオESバッファ1409Bから供給されたオーディオストリームを復号し、例えばアナログ信号への変換等を行って、再生されたオーディオ信号として例えばコネクティビティ1321等に供給する。
 多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化する。この多重化の方法(すなわち、多重化により生成されるビットストリームのフォーマット)は任意である。また、この多重化の際に、多重化部(MUX)1412は、所定のヘッダ情報等をビットストリームに付加することもできる。つまり、多重化部(MUX)1412は、多重化によりストリームのフォーマットを変換することができる。例えば、多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームに変換する。また、例えば、多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化することにより、記録用のファイルフォーマットのデータ(ファイルデータ)に変換する。
 逆多重化部(DMUX)1413は、多重化部(MUX)1412による多重化に対応する方法で、ビデオストリームとオーディオストリームとが多重化されたビットストリームを逆多重化する。つまり、逆多重化部(DMUX)1413は、ストリームバッファ1414から読み出されたビットストリームからビデオストリームとオーディオストリームとを抽出する(ビデオストリームとオーディオストリームとを分離する)。つまり、逆多重化部(DMUX)1413は、逆多重化によりストリームのフォーマットを変換(多重化部(MUX)1412による変換の逆変換)することができる。例えば、逆多重化部(DMUX)1413は、例えばコネクティビティ1321やブロードバンドモデム1333等から供給されたトランスポートストリームを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。また、例えば、逆多重化部(DMUX)1413は、例えばコネクティビティ1321により各種記録媒体から読み出されたファイルデータを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。
 ストリームバッファ1414は、ビットストリームをバッファリングする。例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたトランスポートストリームをバッファリングし、所定のタイミングにおいて、または外部からの要求等に基づいて、例えばコネクティビティ1321やブロードバンドモデム1333等に供給する。
 また、例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたファイルデータをバッファリングし、所定のタイミングにおいて、または外部からの要求等に基づいて、例えばコネクティビティ1321等に供給し、各種記録媒体に記録させる。
 さらに、ストリームバッファ1414は、例えばコネクティビティ1321やブロードバンドモデム1333等を介して取得したトランスポートストリームをバッファリングし、所定のタイミングにおいて、または外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
 また、ストリームバッファ1414は、例えばコネクティビティ1321等において各種記録媒体から読み出されたファイルデータをバッファリングし、所定のタイミングにおいて、または外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
 次に、このような構成のビデオプロセッサ1332の動作の例について説明する。例えば、コネクティビティ1321等からビデオプロセッサ1332に入力されたビデオ信号は、ビデオ入力処理部1401において4:2:2Y/Cb/Cr方式等の所定の方式のデジタル画像データに変換され、フレームメモリ1405に順次書き込まれる。このデジタル画像データは、第1画像拡大縮小部1402または第2画像拡大縮小部1403に読み出されて、4:2:0Y/Cb/Cr方式等の所定の方式へのフォーマット変換および拡大縮小処理が行われ、再びフレームメモリ1405に書き込まれる。この画像データは、エンコード・デコードエンジン1407によって符号化され、ビデオストリームとしてビデオESバッファ1408Aに書き込まれる。
 また、コネクティビティ1321等からビデオプロセッサ1332に入力されたオーディオ信号は、オーディオエンコーダ1410によって符号化され、オーディオストリームとして、オーディオESバッファ1409Aに書き込まれる。
 ビデオESバッファ1408Aのビデオストリームと、オーディオESバッファ1409Aのオーディオストリームは、多重化部(MUX)1412に読み出されて多重化され、トランスポートストリームまたはファイルデータ等に変換される。多重化部(MUX)1412により生成されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321やブロードバンドモデム1333等を介して外部ネットワークに出力される。また、多重化部(MUX)1412により生成されたファイルデータは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321等に出力され、各種記録媒体に記録される。
 また、例えばコネクティビティ1321やブロードバンドモデム1333等を介して外部ネットワークからビデオプロセッサ1332に入力されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、逆多重化部(DMUX)1413により逆多重化される。また、例えばコネクティビティ1321等において各種記録媒体から読み出され、ビデオプロセッサ1332に入力されたファイルデータは、ストリームバッファ1414にバッファされた後、逆多重化部(DMUX)1413により逆多重化される。つまり、ビデオプロセッサ1332に入力されたトランスポートストリームまたはファイルデータは、逆多重化部(DMUX)1413によりビデオストリームとオーディオストリームとに分離される。
 オーディオストリームは、オーディオESバッファ1409Bを介してオーディオデコーダ1411に供給され、復号されてオーディオ信号が再生される。また、ビデオストリームは、ビデオESバッファ1408Bに書き込まれた後、エンコード・デコードエンジン1407により順次読み出されて復号されてフレームメモリ1405に書き込まれる。復号された画像データは、第2画像拡大縮小部1403によって拡大縮小処理されて、フレームメモリ1405に書き込まれる。そして、復号された画像データは、ビデオ出力処理部1404に読み出されて、4:2:2Y/Cb/Cr方式等の所定の方式にフォーマット変換され、さらにアナログ信号に変換されて、ビデオ信号が再生出力される。
 このように構成されるビデオプロセッサ1332に本技術を適用する場合、エンコード・デコードエンジン1407に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、エンコード・デコードエンジン1407が、量子化部134の機能を有し、供給される画像に対して、その画像における動体の動き方向による符号化難易度に応じた量子化パラメータを用いた量子化を行うようにしてもよい。このようにすることにより、ビデオプロセッサ1332は、上述した各実施の形態と同様の効果を得ることができる。
 なお、エンコード・デコードエンジン1407において、本技術(すなわち、画像処理装置100の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
   <ビデオプロセッサの他の構成例>
 図26は、本技術を適用したビデオプロセッサ1332の概略的な構成の他の例を示している。図26の例の場合、ビデオプロセッサ1332は、ビデオデータを所定の方式で符号化・復号する機能を有する。
 より具体的には、図26に示されるように、ビデオプロセッサ1332は、制御部1511、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、および内部メモリ1515を有する。また、ビデオプロセッサ1332は、コーデックエンジン1516、メモリインタフェース1517、多重化・逆多重化部(MUX DMUX)1518、ネットワークインタフェース1519、およびビデオインタフェース1520を有する。
 制御部1511は、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516等、ビデオプロセッサ1332内の各処理部の動作を制御する。
 図26に示されるように、制御部1511は、例えば、メインCPU1531、サブCPU1532、およびシステムコントローラ1533を有する。メインCPU1531は、ビデオプロセッサ1332内の各処理部の動作を制御するためのプログラム等を実行する。メインCPU1531は、そのプログラム等に従って制御信号を生成し、各処理部に供給する(つまり、各処理部の動作を制御する)。サブCPU1532は、メインCPU1531の補助的な役割を果たす。例えば、サブCPU1532は、メインCPU1531が実行するプログラム等の子プロセスやサブルーチン等を実行する。システムコントローラ1533は、メインCPU1531およびサブCPU1532が実行するプログラムを指定する等、メインCPU1531およびサブCPU1532の動作を制御する。
 ディスプレイインタフェース1512は、制御部1511の制御の下、画像データを例えばコネクティビティ1321等に出力する。例えば、ディスプレイインタフェース1512は、デジタルデータの画像データをアナログ信号に変換し、再生されたビデオ信号として、またはデジタルデータの画像データのまま、コネクティビティ1321のモニタ装置等に出力する。
 ディスプレイエンジン1513は、制御部1511の制御の下、画像データに対して、その画像を表示させるモニタ装置等のハードウエアスペックに合わせるように、フォーマット変換、サイズ変換、色域変換等の各種変換処理を行う。
 画像処理エンジン1514は、制御部1511の制御の下、画像データに対して、例えば画質改善のためのフィルタ処理等、所定の画像処理を施す。
 内部メモリ1515は、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516により共用される、ビデオプロセッサ1332の内部に設けられたメモリである。内部メモリ1515は、例えば、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516の間で行われるデータの授受に利用される。例えば、内部メモリ1515は、ディスプレイエンジン1513、画像処理エンジン1514、またはコーデックエンジン1516から供給されるデータを格納し、必要に応じて(例えば、要求に応じて)、そのデータを、ディスプレイエンジン1513、画像処理エンジン1514、またはコーデックエンジン1516に供給する。この内部メモリ1515は、どのような記憶デバイスにより実現するようにしてもよいが、一般的にブロック単位の画像データやパラメータ等といった小容量のデータの格納に利用することが多いので、例えばSRAM(Static Random Access Memory)のような比較的(例えば外部メモリ1312と比較して)小容量だが応答速度が高速な半導体メモリにより実現するのが望ましい。
 コーデックエンジン1516は、画像データの符号化や復号に関する処理を行う。このコーデックエンジン1516が対応する符号化・復号の方式は任意であり、その数は1つであってもよいし、複数であってもよい。例えば、コーデックエンジン1516は、複数の符号化・復号方式のコーデック機能を備え、その中から選択されたもので画像データの符号化または符号化データの復号を行うようにしてもよい。
 図26に示される例において、コーデックエンジン1516は、コーデックに関する処理の機能ブロックとして、例えば、MPEG-2 Video1541、AVC/H.2641542、HEVC/H.2651543、HEVC/H.265(Scalable)1544、HEVC/H.265(Multi-view)1545、およびMPEG-DASH1551を有する。
 MPEG-2 Video1541は、画像データをMPEG-2方式で符号化したり復号したりする機能ブロックである。AVC/H.2641542は、画像データをAVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.2651543は、画像データをHEVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.265(Scalable)1544は、画像データをHEVC方式でスケーラブル符号化したりスケーラブル復号したりする機能ブロックである。HEVC/H.265(Multi-view)1545は、画像データをHEVC方式で多視点符号化したり多視点復号したりする機能ブロックである。
 MPEG-DASH1551は、画像データをMPEG-DASH(MPEG-Dynamic Adaptive Streaming over HTTP)方式で送受信する機能ブロックである。MPEG-DASHは、HTTP(HyperText Transfer Protocol)を使ってビデオのストリーミングを行う技術であり、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択し伝送することを特徴の1つとする。MPEG-DASH1551は、規格に準拠するストリームの生成やそのストリームの伝送制御等を行い、画像データの符号化・復号については、上述したMPEG-2 Video1541乃至HEVC/H.265(Multi-view)1545を利用する。
 メモリインタフェース1517は、外部メモリ1312用のインタフェースである。画像処理エンジン1514やコーデックエンジン1516から供給されるデータは、メモリインタフェース1517を介して外部メモリ1312に供給される。また、外部メモリ1312から読み出されたデータは、メモリインタフェース1517を介してビデオプロセッサ1332(画像処理エンジン1514またはコーデックエンジン1516)に供給される。
 多重化・逆多重化部(MUX DMUX)1518は、符号化データのビットストリーム、画像データ、ビデオ信号等、画像に関する各種データの多重化や逆多重化を行う。この多重化・逆多重化の方法は任意である。例えば、多重化の際に、多重化・逆多重化部(MUX DMUX)1518は、複数のデータを1つにまとめるだけでなく、所定のヘッダ情報等をそのデータに付加することもできる。また、逆多重化の際に、多重化・逆多重化部(MUX DMUX)1518は、1つのデータを複数に分割するだけでなく、分割した各データに所定のヘッダ情報等を付加することもできる。つまり、多重化・逆多重化部(MUX DMUX)1518は、多重化・逆多重化によりデータのフォーマットを変換することができる。例えば、多重化・逆多重化部(MUX DMUX)1518は、ビットストリームを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームや、記録用のファイルフォーマットのデータ(ファイルデータ)に変換することができる。もちろん、逆多重化によりその逆変換も可能である。
 ネットワークインタフェース1519は、例えばブロードバンドモデム1333やコネクティビティ1321等向けのインタフェースである。ビデオインタフェース1520は、例えばコネクティビティ1321やカメラ1322等向けのインタフェースである。
 次に、このようなビデオプロセッサ1332の動作の例について説明する。例えば、コネクティビティ1321やブロードバンドモデム1333等を介して外部ネットワークからトランスポートストリームを受信すると、そのトランスポートストリームは、ネットワークインタフェース1519を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、例えば、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてファイルデータに変換され、ビデオインタフェース1520を介して例えばコネクティビティ1321等に出力され、各種記録媒体に記録される。
 さらに、例えば、コネクティビティ1321等により図示せぬ記録媒体から読み出された、画像データが符号化された符号化データのファイルデータは、ビデオインタフェース1520を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてトランスポートストリームに変換され、ネットワークインタフェース1519を介して例えばコネクティビティ1321やブロードバンドモデム1333等に供給され図示せぬ他の装置に伝送される。
 なお、ビデオプロセッサ1332内の各処理部の間での画像データやその他のデータの授受は、例えば、内部メモリ1515や外部メモリ1312を利用して行われる。また、パワーマネージメントモジュール1313は、例えば制御部1511への電力供給を制御する。
 このように構成されるビデオプロセッサ1332に本技術を適用する場合、コーデックエンジン1516に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、コーデックエンジン1516が量子化部134の機能を有し、供給される画像に対して、その画像における動体の動き方向による符号化難易度に応じた量子化パラメータを用いた量子化を行うようにしてもよい。このようにすることにより、ビデオプロセッサ1332は、上述した各実施の形態と同様の効果を得ることができる。
 なお、コーデックエンジン1516において、本技術(すなわち、画像処理装置100の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
 以上にビデオプロセッサ1332の構成を2例示したが、ビデオプロセッサ1332の構成は任意であり、上述した2例以外のものであってもよい。また、このビデオプロセッサ1332は、1つの半導体チップとして構成されるようにしてもよいが、複数の半導体チップとして構成されるようにしてもよい。例えば、複数の半導体を積層する3次元積層LSIとしてもよい。また、複数のLSIにより実現されるようにしてもよい。
   <装置への適用例>
 ビデオセット1300は、画像データを処理する各種装置に組み込むことができる。例えば、ビデオセット1300は、テレビジョン装置900(図20)、携帯電話機920(図21)、記録再生装置940(図22)、撮像装置960(図23)等に組み込むことができる。ビデオセット1300を組み込むことにより、その装置は、上述した各実施の形態と同様の効果を得ることができる。
 なお、上述したビデオセット1300の各構成の一部であっても、ビデオプロセッサ1332を含むものであれば、本技術を適用した構成として実施することができる。例えば、ビデオプロセッサ1332のみを本技術を適用したビデオプロセッサとして実施することができる。また、例えば、上述したように点線1341により示されるプロセッサやビデオモジュール1311等を、本技術を適用したプロセッサやモジュール等として実施することができる。さらに、例えば、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、およびフロントエンドモジュール1314を組み合わせ、本技術を適用したビデオユニット1361として実施することもできる。いずれの構成の場合であっても、上述した各実施の形態と同様の効果を得ることができる。
 つまり、ビデオプロセッサ1332を含むものであればどのような構成であっても、ビデオセット1300の場合と同様に、画像データを処理する各種装置に組み込むことができる。例えば、ビデオプロセッサ1332、点線1341により示されるプロセッサ、ビデオモジュール1311、または、ビデオユニット1361を、テレビジョン装置900(図20)、携帯電話機920(図21)、記録再生装置940(図22)、撮像装置960(図23)等に組み込むことができる。そして、本技術を適用したいずれかの構成を組み込むことにより、その装置は、ビデオセット1300の場合と同様に、上述した各実施の形態と同様の効果を得ることができる。
   <ネットワークシステム>
 また、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。図27は、本技術を適用したネットワークシステムの概略的な構成の一例を示している。
 図27に示されるネットワークシステム1600は、機器同士が、ネットワークを介して画像(動画像)に関する情報を授受するシステムである。このネットワークシステム1600のクラウドサービス1601は、自身に通信可能に接続されるコンピュータ1611、AV(Audio Visual)機器1612、携帯型情報処理端末1613、IoT(Internet of Things)デバイス1614等の端末に対して、画像(動画像)に関するサービスを提供するシステムである。例えば、クラウドサービス1601は、所謂動画配信(オンデマンドやライブ配信)のような、画像(動画像)のコンテンツの供給サービスを端末に提供する。また、例えば、クラウドサービス1601は、端末から画像(動画像)のコンテンツを受け取って保管するバックアップサービスを提供する。また、例えば、クラウドサービス1601は、端末同士の画像(動画像)のコンテンツの授受を仲介するサービスを提供する。
 クラウドサービス1601の物理構成は任意である。例えば、クラウドサービス1601は、動画像を保存し、管理するサーバ、動画像を端末に配信するサーバ、動画像を端末から取得するサーバ、ユーザ(端末)や課金を管理するサーバ等の各種サーバや、インターネットやLAN等の任意のネットワークを有するようにしてもよい。
 コンピュータ1611は、例えば、パーソナルコンピュータ、サーバ、ワークステーション等のような情報処理装置により構成される。AV機器1612は、例えば、テレビジョン受像機、ハードディスクレコーダ、ゲーム機器、カメラ等のような画像処理装置により構成される。携帯型情報処理端末1613は、例えば、ノート型パーソナルコンピュータ、タブレット端末、携帯電話機、スマートフォン等のような携帯型の情報処理装置により構成される。IoTデバイス1614は、例えば、機械、家電、家具、その他の物、ICタグ、カード型デバイス等、画像に関する処理を行う任意の物体により構成される。これらの端末は、いずれも通信機能を有し、クラウドサービス1601に接続し(セッションを確立し)、クラウドサービス1601と情報の授受を行う(すなわち通信を行う)ことができる。また、各端末は、他の端末と通信を行うこともできる。端末間の通信は、クラウドサービス1601を介して行うようにしてもよいし、クラウドサービス1601を介さずに行うようにしてもよい。
 以上のようなネットワークシステム1600に本技術を適用し、端末間や、端末とクラウドサービス1601との間で画像(動画像)のデータが授受される際に、その画像データが各実施の形態において上述したように符号化されるようにしてもよい。つまり、端末(コンピュータ1611乃至IoTデバイス1614)やクラウドサービス1601が、それぞれ、上述した量子化部134の機能を有し、供給される画像に対して、その画像における動体の動き方向による符号化難易度に応じた量子化パラメータを用いた量子化を行うようにしてもよい。このようにすることにより、画像データを授受する端末(コンピュータ1611乃至IoTデバイス1614)やクラウドサービス1601は、上述した各実施の形態と同様の効果を得ることができる。
 <6.その他>
  <符号化・復号方式>
 以上においてはHEVCを例に説明したが、本技術は、動画像を対象とする任意の画像符号化・復号に適用することができる。
  <本技術の適用分野>
 本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。
 例えば、本技術は、鑑賞の用に供される画像を伝送するシステムやデバイスにも適用することができる。また、例えば、本技術は、交通の用に供されるシステムやデバイスにも適用することができる。さらに、例えば、本技術は、セキュリティの用に供されるシステムやデバイスにも適用することができる。また、例えば、本技術は、スポーツの用に供されるシステムやデバイスにも適用することができる。さらに、例えば、本技術は、農業の用に供されるシステムやデバイスにも適用することができる。また、例えば、本技術は、畜産業の用に供されるシステムやデバイスにも適用することができる。さらに、本技術は、例えば火山、森林、海洋等の自然の状態を監視するシステムやデバイスにも適用することができる。また、本技術は、例えば天気、気温、湿度、風速、日照時間等を観測する気象観測システムや気象観測装置に適用することができる。さらに、本技術は、例えば鳥類、魚類、ハ虫類、両生類、哺乳類、昆虫、植物等の野生生物の生態を観測するシステムやデバイス等にも適用することができる。
  <多視点画像符号化システムへの適用>
 上述した一連の処理は、複数の視点(ビュー(view))の画像を含む多視点画像の符号化が行われる多視点画像符号化システムに適用することができる。その場合、各視点(ビュー(view))の符号化において、本技術を適用するようにすればよい。
  <階層画像符号化システムへの適用>
 また、上述した一連の処理は、所定のパラメータについてスケーラビリティ(scalability)機能を有するように複数レイヤ化(階層化)された階層画像の符号化が行われる階層画像符号化(スケーラブル符号化)システムに適用することができる。その場合、各階層(レイヤ)の符号化において、本技術を適用するようにすればよい。
  <コンピュータ>
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
 図28は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 図28に示されるコンピュータ1800において、CPU(Central Processing Unit)1801、ROM(Read Only Memory)1802、RAM(Random Access Memory)1803は、バス1804を介して相互に接続されている。
 バス1804にはまた、入出力インタフェース1810も接続されている。入出力インタフェース1810には、入力部1811、出力部1812、記憶部1813、通信部1814、およびドライブ1815が接続されている。
 入力部1811は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部1812は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部1813は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部1814は、例えば、ネットワークインタフェースよりなる。ドライブ1815は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア1821を駆動する。
 以上のように構成されるコンピュータでは、CPU1801が、例えば、記憶部1813に記憶されているプログラムを、入出力インタフェース1810およびバス1804を介して、RAM1803にロードして実行することにより、上述した一連の処理が行われる。RAM1803にはまた、CPU1801が各種の処理を実行する上において必要なデータなども適宜記憶される。
 コンピュータ(CPU1801)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア1821に記録して適用することができる。その場合、プログラムは、リムーバブルメディア1821をドライブ1815に装着することにより、入出力インタフェース1810を介して、記憶部1813にインストールすることができる。
 また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部1814で受信し、記憶部1813にインストールすることができる。
 その他、このプログラムは、ROM1802や記憶部1813に、あらかじめインストールしておくこともできる。
  <その他>
 なお、符号化データ(ビットストリーム)に関する各種情報は、符号化データに多重化されて伝送され又は記録されるようにしてもよいし、符号化データに多重化されることなく、符号化データと関連付けられた別個のデータとして伝送され又は記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
 また、上述したように、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。
 また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 また、例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
 また、例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、例えば、上述したプログラムは、任意の装置において実行することができる。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
 また、例えば、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 なお、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
 なお、本明細書において複数説明した本技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術を、他の実施の形態において説明した本技術と組み合わせて実施することもできる。また、上述した任意の本技術を、上述していない他の技術と併用して実施することもできる。
 なお、本技術は以下のような構成も取ることができる。
 (1) 符号化対象の画像を量子化し、前記符号化対象の画像における動体の動き方向による符号化難易度に応じた量子化パラメータを用いて、前記符号化対象の画像に含まれる前記動体の画像を量子化する量子化部と、
 前記量子化部により量子化された前記符号化対象の画像を符号化し、ビットストリームを生成する符号化部と
 を備える画像処理装置。
 (2) 前記量子化部は、前記符号化難易度が高い方向に動く前記動体の画像を、前記動体が他の方向に動く場合よりも小さい量子化パラメータを用いて量子化する
 (1)に記載の画像処理装置。
 (3) 前記符号化難易度が高い方向は、画像の奥から手前に向かう方向である
 (2)に記載の画像処理装置。
 (4) 前記動体の動き方向による符号化難易度に応じた量子化パラメータを設定する量子化パラメータ設定部をさらに備え、
 前記量子化部は、前記量子化パラメータ設定部により設定された前記量子化パラメータを用いて前記動体の画像を量子化する
 (1)乃至(3)のいずれかに記載の画像処理装置。
 (5) 前記量子化パラメータ設定部は、前記動体の動き方向が前記符号化難易度が高い方向である場合、前記動体が他の方向に動く場合よりも、前記量子化パラメータを下げる
 (4)に記載の画像処理装置。
 (6) 前記量子化パラメータ設定部は、前記動体の動き方向が前記符号化難易度が低い方向である場合、前記動体が他の方向に動く場合よりも、前記量子化パラメータを上げる
 (4)または(5)に記載の画像処理装置。
 (7) 前記量子化パラメータ設定部は、前記動体の動きが大きい程、前記量子化パラメータの調整量を大きくする
 (4)乃至(6)のいずれかに記載の画像処理装置。
 (8) 前記量子化パラメータ設定部は、前記符号化対象の画像における前記動体の画像の動きベクトルの方向に基づいて特定される前記動体の動き方向に基づいて、前記量子化パラメータを設定する
 (4)乃至(7)のいずれかに記載の画像処理装置。
 (9) 前記量子化パラメータ設定部は、前記動体の画像の動きベクトルの方向が、前記符号化難易度が高い方向に動く前記動体の動き方向に対応する所定の方向である場合に、前記量子化パラメータを下げる
 (8)に記載の画像処理装置。
 (10) 前記量子化パラメータ設定部は、前記動体の画像の動きベクトルの方向が、前記符号化難易度が低い方向に動く前記動体の動き方向に対応する所定の方向である場合に、前記量子化パラメータを上げる
 (8)または(9)に記載の画像処理装置。
 (11) 前記符号化対象の画像における前記動体の動きを検出し、前記動体の画像の動きベクトルを算出する動き検出部をさらに備え、
 前記量子化パラメータ設定部は、前記動き検出部により算出された前記動体の画像の動きベクトルの方向に基づいて特定される前記動体の動き方向に基づいて、前記量子化パラメータを設定するように構成される
 (8)乃至(10)のいずれかに記載の画像処理装置。
 (12) 前記量子化パラメータ設定部は、前記符号化対象の画像における前記動体の動き方向に関する情報である動体動き方向情報に基づいて、前記量子化パラメータを設定する
 (4)乃至(11)のいずれかに記載の画像処理装置。
 (13) 前記動体の動き方向を検出し、前記動体動き方向情報を生成する動体動き方向検出部をさらに備え、
 前記量子化パラメータ設定部は、前記動体動き方向検出部により生成された前記動体動き方向情報に基づいて、前記量子化パラメータを設定するように構成される
 (12)に記載の画像処理装置。
 (14) 前記動体動き方向検出部は、前記符号化対象の画像に含まれる人物の顔の画像を検出し、検出された前記顔の向きによって前記動体の動き方向を検出する
 (13)に記載の画像処理装置。
 (15) 前記動体動き方向検出部は、前記符号化対象の画像における前記動体を追尾することによって前記動体の動き方向を検出する
 (13)または(14)に記載の画像処理装置。
 (16) 前記動体動き方向検出部は、複数の画像を用いて前記動体の動き方向を検出する
 (13)乃至(15)のいずれかに記載の画像処理装置。
 (17) 前記動体動き方向検出部は、前記符号化対象の画像と、前記動体の奥行位置を特定するためのセンサ情報とを用いて前記動体の動き方向を検出する
 (13)乃至(16)のいずれかに記載の画像処理装置。
 (18) 前記量子化パラメータを設定するか否かを判定する調整判定部をさらに備え、
 前記量子化パラメータ設定部は、前記調整判定部により前記量子化パラメータを設定すると判定された場合、前記動体の動き方向による符号化難易度に応じて量子化パラメータを設定する
 (4)乃至(17)のいずれかに記載の画像処理装置。
 (19) 前記調整判定部は、前記符号化対象の画像に、前記符号化難易度が高い方向に動く動体と、他の方向に動く動体とが含まれる場合、前記量子化パラメータを設定すると判定する
 (18)に記載の画像処理装置。
 (20) 画像処理装置が、
 符号化対象の画像を量子化し、前記符号化対象の画像における動体の動き方向による符号化難易度に応じた量子化パラメータを用いて、前記符号化対象の画像に含まれる前記動体の画像を量子化し、
 量子化された前記符号化対象の画像を符号化し、ビットストリームを生成する
 画像処理方法。
 100 画像処理装置, 111 撮像部, 112 画像符号化部, 131 画面並べ替えバッファ, 132 演算部, 133 直交変換部, 134 量子化部, 135 符号化部、 136 蓄積バッファ, 137 逆量子化部, 138逆直交変換部, 139 演算部, 140 フィルタ,141 フレームメモリ, 142 イントラ予測部, 143 インター予測部, 144 予測画像選択部, 145 量子化パラメータ調整部, 146 符号化制御部, 151 調整判定部, 152 量子化パラメータ設定部, 161 動き予測部, 162 動き補償部, 200 画像処理装置, 211 動体動き方向検出部, 212 画像符号化部, 221 画像解析部, 222 動き方向判定部, 231 顔検出部, 232 動体検出追尾部, 241 量子化パラメータ調整部, 251 調整判定部, 252 量子化パラメータ設定部, 300 画像処理装置, 311 動体動き方向検出部, 320 画像処理装置, 321 センサ部, 322 動体動き方向検出部

Claims (20)

  1.  符号化対象の画像を量子化し、前記符号化対象の画像における動体の動き方向による符号化難易度に応じた量子化パラメータを用いて、前記符号化対象の画像に含まれる前記動体の画像を量子化する量子化部と、
     前記量子化部により量子化された前記符号化対象の画像を符号化し、ビットストリームを生成する符号化部と
     を備える画像処理装置。
  2.  前記量子化部は、前記符号化難易度が高い方向に動く前記動体の画像を、前記動体が他の方向に動く場合よりも小さい量子化パラメータを用いて量子化する
     請求項1に記載の画像処理装置。
  3.  前記符号化難易度が高い方向は、画像の奥から手前に向かう方向である
     請求項2に記載の画像処理装置。
  4.  前記動体の動き方向による符号化難易度に応じた量子化パラメータを設定する量子化パラメータ設定部をさらに備え、
     前記量子化部は、前記量子化パラメータ設定部により設定された前記量子化パラメータを用いて前記動体の画像を量子化する
     請求項1に記載の画像処理装置。
  5.  前記量子化パラメータ設定部は、前記動体の動き方向が前記符号化難易度が高い方向である場合、前記動体が他の方向に動く場合よりも、前記量子化パラメータを下げる
     請求項4に記載の画像処理装置。
  6.  前記量子化パラメータ設定部は、前記動体の動き方向が前記符号化難易度が低い方向である場合、前記動体が他の方向に動く場合よりも、前記量子化パラメータを上げる
     請求項4に記載の画像処理装置。
  7.  前記量子化パラメータ設定部は、前記動体の動きが大きい程、前記量子化パラメータの調整量を大きくする
     請求項4に記載の画像処理装置。
  8.  前記量子化パラメータ設定部は、前記符号化対象の画像における前記動体の画像の動きベクトルの方向に基づいて特定される前記動体の動き方向に基づいて、前記量子化パラメータを設定する
     請求項4に記載の画像処理装置。
  9.  前記量子化パラメータ設定部は、前記動体の画像の動きベクトルの方向が、前記符号化難易度が高い方向に動く前記動体の動き方向に対応する所定の方向である場合に、前記量子化パラメータを下げる
     請求項8に記載の画像処理装置。
  10.  前記量子化パラメータ設定部は、前記動体の画像の動きベクトルの方向が、前記符号化難易度が低い方向に動く前記動体の動き方向に対応する所定の方向である場合に、前記量子化パラメータを上げる
     請求項8に記載の画像処理装置。
  11.  前記符号化対象の画像における前記動体の動きを検出し、前記動体の画像の動きベクトルを算出する動き検出部をさらに備え、
     前記量子化パラメータ設定部は、前記動き検出部により算出された前記動体の画像の動きベクトルの方向に基づいて特定される前記動体の動き方向に基づいて、前記量子化パラメータを設定するように構成される
     請求項8に記載の画像処理装置。
  12.  前記量子化パラメータ設定部は、前記符号化対象の画像における前記動体の動き方向に関する情報である動体動き方向情報に基づいて、前記量子化パラメータを設定する
     請求項4に記載の画像処理装置。
  13.  前記動体の動き方向を検出し、前記動体動き方向情報を生成する動体動き方向検出部をさらに備え、
     前記量子化パラメータ設定部は、前記動体動き方向検出部により生成された前記動体動き方向情報に基づいて、前記量子化パラメータを設定するように構成される
     請求項12に記載の画像処理装置。
  14.  前記動体動き方向検出部は、前記符号化対象の画像に含まれる人物の顔の画像を検出し、検出された前記顔の向きによって前記動体の動き方向を検出する
     請求項13に記載の画像処理装置。
  15.  前記動体動き方向検出部は、前記符号化対象の画像における前記動体を追尾することによって前記動体の動き方向を検出する
     請求項13に記載の画像処理装置。
  16.  前記動体動き方向検出部は、複数の画像を用いて前記動体の動き方向を検出する
     請求項13に記載の画像処理装置。
  17.  前記動体動き方向検出部は、前記符号化対象の画像と、前記動体の奥行位置を特定するためのセンサ情報とを用いて前記動体の動き方向を検出する
     請求項13に記載の画像処理装置。
  18.  前記量子化パラメータを設定するか否かを判定する調整判定部をさらに備え、
     前記量子化パラメータ設定部は、前記調整判定部により前記量子化パラメータを設定すると判定された場合、前記動体の動き方向による符号化難易度に応じて量子化パラメータを設定する
     請求項4に記載の画像処理装置。
  19.  前記調整判定部は、前記符号化対象の画像に、前記符号化難易度が高い方向に動く動体と、他の方向に動く動体とが含まれる場合、前記量子化パラメータを設定すると判定する
     請求項18に記載の画像処理装置。
  20.  画像処理装置が、
     符号化対象の画像を量子化し、前記符号化対象の画像における動体の動き方向による符号化難易度に応じた量子化パラメータを用いて、前記符号化対象の画像に含まれる前記動体の画像を量子化し、
     量子化された前記符号化対象の画像を符号化し、ビットストリームを生成する
     画像処理方法。
PCT/JP2018/026428 2017-07-28 2018-07-13 画像処理装置および方法 WO2019021853A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/631,921 US20200162735A1 (en) 2017-07-28 2018-07-13 Image processing apparatus and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017146514 2017-07-28
JP2017-146514 2017-07-28

Publications (1)

Publication Number Publication Date
WO2019021853A1 true WO2019021853A1 (ja) 2019-01-31

Family

ID=65040796

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/026428 WO2019021853A1 (ja) 2017-07-28 2018-07-13 画像処理装置および方法

Country Status (2)

Country Link
US (1) US20200162735A1 (ja)
WO (1) WO2019021853A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11281927B2 (en) * 2018-11-09 2022-03-22 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and non-transitory computer-readable recording medium

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116760984A (zh) * 2019-04-26 2023-09-15 华为技术有限公司 用于指示色度量化参数映射函数的方法和装置
US20230045182A1 (en) * 2019-12-23 2023-02-09 Interdigital Vc Holdings France, Sas Quantization parameter coding
CN111768003A (zh) * 2020-07-02 2020-10-13 贵州民族大学 基于量子博弈和pi演算的心智行为预测方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04176290A (ja) * 1990-11-09 1992-06-23 Sharp Corp 画像符号化装置
JPH05236462A (ja) * 1992-02-17 1993-09-10 Sony Corp 画像データ処理装置
JP2009177546A (ja) * 2008-01-25 2009-08-06 Hitachi Ltd 画像符号化装置、画像符号化方法、画像復号化装置、画像復号化方法
JP2014517662A (ja) * 2011-06-25 2014-07-17 クゥアルコム・インコーポレイテッド ビデオコード化における量子化

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04176290A (ja) * 1990-11-09 1992-06-23 Sharp Corp 画像符号化装置
JPH05236462A (ja) * 1992-02-17 1993-09-10 Sony Corp 画像データ処理装置
JP2009177546A (ja) * 2008-01-25 2009-08-06 Hitachi Ltd 画像符号化装置、画像符号化方法、画像復号化装置、画像復号化方法
JP2014517662A (ja) * 2011-06-25 2014-07-17 クゥアルコム・インコーポレイテッド ビデオコード化における量子化

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11281927B2 (en) * 2018-11-09 2022-03-22 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and non-transitory computer-readable recording medium

Also Published As

Publication number Publication date
US20200162735A1 (en) 2020-05-21

Similar Documents

Publication Publication Date Title
JP7384247B2 (ja) 画像処理装置および方法
US11695941B2 (en) Image processing device and method
JP6780761B2 (ja) 画像符号化装置および方法
JP6911856B2 (ja) 画像処理装置および方法
WO2018061837A1 (ja) 画像処理装置および方法
RU2653464C2 (ru) Устройство для обработки изображений и способ обработки изображений
EP3606066A1 (en) Image processing device and method
US20210243475A1 (en) Image processing apparatus and method
RU2641259C2 (ru) Устройство обработки изображений и способ
WO2019021853A1 (ja) 画像処理装置および方法
JP7001968B2 (ja) 画像処理装置および方法
US11997316B2 (en) Image processing apparatus and method for curbing deterioration in coding efficiency
WO2017126331A1 (ja) 画像処理装置および方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18838967

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18838967

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP