WO2017094216A1 - 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、及び画像符号化復号装置 - Google Patents

画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、及び画像符号化復号装置 Download PDF

Info

Publication number
WO2017094216A1
WO2017094216A1 PCT/JP2016/004616 JP2016004616W WO2017094216A1 WO 2017094216 A1 WO2017094216 A1 WO 2017094216A1 JP 2016004616 W JP2016004616 W JP 2016004616W WO 2017094216 A1 WO2017094216 A1 WO 2017094216A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
region
vector
motion
background
Prior art date
Application number
PCT/JP2016/004616
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
Priority claimed from JP2016100854A external-priority patent/JP2017103744A/ja
Application filed by パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ filed Critical パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
Priority to US15/780,448 priority Critical patent/US20180352248A1/en
Publication of WO2017094216A1 publication Critical patent/WO2017094216A1/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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Definitions

  • the present disclosure relates to an image decoding method and an image encoding method.
  • HEVC High Efficiency Video Coding
  • ITU-T International Telecommunication Union Telecommunication Standardization Sector
  • ISO / IEC standard represented by MPEG-x
  • H.264 / AVC or MPEG-4 AVC was studied as the next video coding standard after the standard.
  • This disclosure aims to provide an image decoding method or an image encoding method capable of improving the encoding efficiency.
  • an image decoding method provides, for each of a plurality of processing units obtained by dividing a target frame, a plurality of processing units assigned to the processing unit.
  • the image encoding method includes a detection step of detecting, for each of a plurality of processing units obtained by dividing a target frame, a plurality of motion vectors assigned to the processing unit. And using each of the plurality of motion vectors based on the plurality of motion vectors and a plurality of reference frames at different times for each of the plurality of small regions obtained by dividing the processing unit.
  • a selection step of selecting a motion vector to be performed, a generation step of generating a predicted image using the selected motion vector for each of the plurality of small regions, and each of the plurality of small regions And an encoding step of encoding using the prediction image generated for the region.
  • the present disclosure can provide an image decoding method or an image encoding method capable of improving encoding efficiency.
  • FIG. 1 is a diagram for explaining a prediction method according to the first embodiment.
  • FIG. 2 is a diagram for explaining the prediction method according to the first embodiment.
  • FIG. 3 is a diagram for explaining the prediction method according to the first embodiment.
  • FIG. 4 is a block diagram of the image coding apparatus according to Embodiment 1.
  • FIG. 5 is a flowchart of the prediction process according to the first embodiment.
  • FIG. 6 is a diagram for explaining the motion detection processing according to the first embodiment.
  • FIG. 7 is a diagram for explaining reference block acquisition processing according to Embodiment 1.
  • FIG. 8 is a diagram for explaining motion vector selection processing according to the first embodiment.
  • FIG. 9 is a diagram for explaining processing for an unknown area according to the first embodiment.
  • FIG. 10 is a diagram for explaining processing for an unknown area in the first embodiment.
  • FIG. 11 is a diagram for explaining processing for an unknown area in the first embodiment.
  • FIG. 12 is a flowchart of motion vector and reference pixel selection processing according to the first embodiment.
  • FIG. 13 is a diagram illustrating an example of the coding structure according to Embodiment 1.
  • FIG. 14 is a block diagram of the image decoding apparatus according to Embodiment 1.
  • FIG. 15 is a flowchart of the image encoding process according to the first embodiment.
  • FIG. 16 is a flowchart of the image decoding process according to the first embodiment.
  • FIG. 17 is an overall configuration diagram of a content supply system that implements a content distribution service.
  • FIG. 18 is a diagram illustrating an example of a coding structure at the time of scalable coding.
  • FIG. 19 is a diagram illustrating an example of a coding structure at the time of scalable coding.
  • FIG. 20 shows an example of a web page display screen.
  • FIG. 21 is a diagram illustrating an example of a web page display screen.
  • FIG. 22 is a diagram illustrating an example of a smartphone.
  • FIG. 23 is a block diagram illustrating a configuration example of a smartphone.
  • An image decoding method includes, for each of a plurality of processing units obtained by dividing a target frame, an acquisition step of acquiring a plurality of motion vectors assigned to the processing unit; For each of a plurality of small regions obtained by dividing the processing unit, the plurality of motion vectors and a plurality of reference frames at different times are used from the plurality of motion vectors.
  • a selection step of selecting a motion vector, a generation step of generating a predicted image using the selected motion vector for each of the plurality of small regions, and each of the plurality of small regions And decoding using the predicted image generated for.
  • the motion vector used in the small area can be selected from the plurality of motion vectors associated with the processing unit in the image decoding apparatus. Therefore, it is possible to use different motion vectors for a plurality of small regions included in the processing unit. In addition, since it is not necessary to include information for specifying a motion vector for each small region in the encoded bitstream, an increase in the data amount of the encoded bitstream can be suppressed. Thus, the image decoding method can improve the encoding efficiency.
  • the plurality of reference frames include a first frame and a second frame, and in the selecting step, for each of the plurality of motion vectors, the motion vector for the target small region included in the target frame. It is also possible to obtain a correlation between the area on the first frame and the area on the second frame indicated by, and select the motion vector to be used based on the correlation.
  • the plurality of motion vectors may include a background vector indicating background motion and a foreground vector indicating foreground motion.
  • the background vector may be selected when both the correlation of the background vector and the correlation of the foreground vector are lower than a predetermined value.
  • an appropriate motion vector can be selected.
  • the first region on the first frame indicated by the background vector and the first The predicted image may be generated using a region belonging to the background out of the second regions on two frames.
  • the first area or the second area is a background. You may determine that it belongs to.
  • the prediction of the target small region is performed using a prediction image of the region near the target small region in the target frame.
  • An image may be generated.
  • the image encoding method includes a detection step of detecting, for each of a plurality of processing units obtained by dividing a target frame, a plurality of motion vectors assigned to the processing unit. And using each of the plurality of motion vectors based on the plurality of motion vectors and a plurality of reference frames at different times for each of the plurality of small regions obtained by dividing the processing unit.
  • a selection step of selecting a motion vector to be performed, a generation step of generating a predicted image using the selected motion vector for each of the plurality of small regions, and each of the plurality of small regions And an encoding step of encoding using the prediction image generated for the region.
  • the motion vector used in the small area can be selected from the plurality of motion vectors associated with the processing unit in the image decoding apparatus. Therefore, it is possible to use different motion vectors for a plurality of small regions included in the processing unit. In addition, since it is not necessary to include information for specifying a motion vector for each small region in the encoded bitstream, an increase in the data amount of the encoded bitstream can be suppressed. Thus, the image coding method can improve the coding efficiency.
  • the plurality of reference frames include a first frame and a second frame, and in the selecting step, for each of the plurality of motion vectors, the motion vector for the target small region included in the target frame. It is also possible to obtain a correlation between the area on the first frame and the area on the second frame indicated by, and select the motion vector to be used based on the correlation.
  • the plurality of motion vectors may include a background vector indicating background motion and a foreground vector indicating foreground motion.
  • the background vector may be selected when both the correlation of the background vector and the correlation of the foreground vector are lower than a predetermined value.
  • an appropriate motion vector can be selected.
  • the first region on the first frame indicated by the background vector and the first The predicted image may be generated using a region belonging to the background out of the second regions on two frames.
  • the first area or the second area is a background. You may determine that it belongs to.
  • the prediction of the target small region is performed using a prediction image of the region near the target small region in the target frame.
  • An image may be generated.
  • An image decoding device includes a processing circuit and a storage device accessible from the processing circuit, and the processing circuit executes the image decoding method using the storage device.
  • An image decoding device includes, for each of a plurality of processing units obtained by dividing a target frame, an acquisition unit that acquires a plurality of motion vectors assigned to the processing unit. For each of a plurality of small regions obtained by dividing the processing unit, the plurality of motion vectors and a plurality of reference frames at different times are used from the plurality of motion vectors.
  • a selection unit that selects a motion vector, a generation unit that generates a predicted image using the selected motion vector for each of the plurality of small regions, and each of the plurality of small regions And a decoding unit that decodes using the predicted image generated for.
  • An image encoding device includes a processing circuit and a storage device accessible from the processing circuit, and the processing circuit executes the image encoding method using the storage device. .
  • An image encoding device includes, for each of a plurality of processing units obtained by dividing a target frame, a detection unit that detects a plurality of motion vectors assigned to the processing unit; For each of a plurality of small regions obtained by dividing the processing unit, a motion to be used from the plurality of motion vectors based on the plurality of motion vectors and a plurality of reference frames at different times.
  • a selection unit that selects a vector, a generation unit that generates a predicted image using the selected motion vector for each of the plurality of small regions, and each of the plurality of small regions in the small region.
  • an encoding unit that encodes using the predicted image generated for the image.
  • An image encoding / decoding device includes the image decoding device and the image encoding device.
  • a frame may be described as a picture or an image.
  • a frame (picture or image) or block to be encoded or decoded may be referred to as a target picture (current picture), a target frame (current frame), or a target block (current block).
  • various terms commonly used in the field of codec technology can also be used.
  • Embodiment 1 in inter-picture predictive coding of a moving image, based on a plurality of motion vectors assigned to a predetermined processing unit and a plurality of reference frames having different times, it is smaller than the predetermined processing unit of the target frame.
  • a motion vector and a reference frame to be used for inter-screen prediction are selected for each small region (first sub-block).
  • the plurality of motion vectors are determined by detecting individual motions such as a moving object or a background in a predetermined processing unit at the time of encoding.
  • the selection of the motion vector and the reference frame is determined based on the correlation between the reference pixels on at least two reference frames at different times.
  • each reference frame is reduced using the foreground motion vector. It is determined whether to use for region prediction.
  • the predicted value of the pixel in the region is determined using the predicted value of the surrounding pixel.
  • a plurality of motion vectors are notified from an image encoding device (encoder) to an image decoding device (decoder) for one code block (processing unit for prediction processing).
  • the image encoding device and the image decoding device are configured to reduce the small size in the code block based on the correlation between the corresponding regions (second sub-blocks) on each reference frame indicated by each motion vector scaled according to the inter-frame distance. Prediction is performed by selecting a motion vector to be used and a reference frame for each region. For example, the sizes of the small area and the corresponding area are 4 ⁇ 4, 3 ⁇ 3, 2 ⁇ 2 pixels, and the like.
  • the correlation between corresponding areas is evaluated by the sum of absolute differences of pixel values in the corresponding area.
  • the small area which is a unit for selecting a motion vector
  • the corresponding area used for the correlation determination may be the same size or different sizes.
  • the corresponding area may include an area having the same size as the small area and an area in the vicinity thereof.
  • the image encoding device and the image decoding device are notified without notifying the boundary position between the moving object and the background from the image encoding device to the image decoding device.
  • the prediction residual can be reduced without subdividing the code block.
  • FIG. 1 is a diagram illustrating an operation example when referring to a total of two reference frames whose display times are past and future.
  • the entire rectangle shown as a reference frame or a target frame is a processing unit (a code block 122 described later) for prediction processing.
  • the background pixel C0 and the foreground pixel C1 correspond to the small area into which the code block is divided, and reference pixels P0 (t-2d), P0 (td), P0 (t + d), and P1 (t-2d).
  • P1 (t ⁇ d) and P1 (t + d) correspond to the corresponding region into which the code block is divided.
  • the image encoding device notifies the image decoding device of the two motion vectors MV0 and MV1. Since the image encoding device and the image decoding device have a high correlation between the reference pixel P0 (t ⁇ d) and P0 (t + d) based on the motion vector MV0 for the background pixel C0, the motion vector MV0 and the reference pixel P0 Select (t ⁇ d) and P0 (t + d).
  • the image encoding device and the image decoding device have a high correlation between the reference pixel P1 (t ⁇ d) and P1 (t + d) based on the motion vector MV1 for the foreground pixel C1, the motion vector MV1 and the reference pixel Select P1 (t ⁇ d) and P1 (t + d).
  • FIG. 2 is a diagram illustrating an operation example when referring to a total of two reference frames whose display times are only past.
  • the image coding apparatus notifies the image decoding apparatus of the motion vectors MV0 and MV1. Since the image encoding device and the image decoding device have a high correlation between the reference pixel P0 (t ⁇ d) and P0 (t ⁇ 2d) based on the motion vector MV0 for the background pixel C0, the motion vector MV0 and the reference pixel P0 (t-d) and P0 (t-2d) are selected.
  • the image encoding device and the image decoding device have a high correlation between the reference pixel P1 (td) and P1 (t-2d) based on the motion vector MV1 for the foreground pixel C1, the motion vector MV1 Reference pixels P1 (t ⁇ d) and P1 (t ⁇ 2d) are selected.
  • FIG. 3 is a diagram illustrating an operation example when referring to a total of three reference frames whose display times are past and future.
  • the image coding apparatus notifies the image decoding apparatus of the motion vectors MV0 and MV1. Since the image encoding device and the image decoding device have a high correlation between the reference pixel P0 (t ⁇ 2d), P0 (t ⁇ d), and P0 (t + d) based on the motion vector MV0 for the background pixel C0, A vector MV0 and reference pixels P0 (t ⁇ 2d), P0 (t ⁇ d), and P0 (t + d) are selected.
  • the image encoding device and the image decoding device have a high correlation between the reference pixels P1 (t ⁇ 2d), P1 (t ⁇ d), and P1 (t + d) based on the motion vector MV1 for the foreground pixel C1.
  • the motion vector MV1 and the reference pixels P1 (t ⁇ 2d), P1 (t ⁇ d), and P1 (t + d) are selected.
  • FIG. 4 is a block diagram showing an example of the configuration of the image coding apparatus according to the present embodiment.
  • the image encoding device 100 illustrated in FIG. 4 selects a motion vector and a reference frame to be used for prediction in units of small regions based on decoded reference frames and motion vectors that can be used by the image decoding device, and performs inter-screen prediction. To implement.
  • the image coding apparatus 100 includes a blocking unit 101, a subtracting unit 102, a transforming unit 103, a quantizing unit 104, an entropy coding unit 105, an inverse quantizing unit 106, an inverse transforming unit 107, An addition unit 108, a frame memory 109, and a prediction unit 110 are provided.
  • the blocking unit 101 divides the input image 121 into a plurality of code blocks 122 which are encoding processing units.
  • the subtraction unit 102 generates a difference block 123 that is a difference between the code block 122 and the prediction block 133.
  • the conversion unit 103 generates a coefficient block 124 by performing frequency conversion on the difference block 123.
  • the quantization unit 104 generates the coefficient block 125 by quantizing the coefficient block 124.
  • the entropy encoding unit 105 generates a bit stream 126 by entropy encoding the coefficient block 125.
  • the inverse quantization unit 106 generates the coefficient block 127 by performing inverse quantization on the coefficient block 125
  • the inverse transform unit 107 restores the difference block 128 by performing inverse frequency transform on the coefficient block 127.
  • the adding unit 108 adds the difference block 128 and the prediction block 133 to generate a decoded block 129 (reconstructed image).
  • the decoded block 129 is stored in the frame memory 109 and used for prediction processing.
  • the prediction unit 110 generates a prediction block 133 using the decoding block 129.
  • the prediction unit 110 includes a motion detection unit 111, a motion compensation unit 112, selectors 113 and 115, buffers 114 and 118, a control unit 116, and a predicted image generation unit 117.
  • the motion detection unit 111 performs motion detection using the code block 122 and the decoding block 129 to calculate a motion vector.
  • the motion detection unit 111 calculates a plurality (N: N is an integer of 2 or more) motion vectors for one code block 122.
  • the motion information 134 for specifying the N motion vectors is sent to the entropy encoding unit 105 and encoded. That is, the encoded bit stream 126 includes motion information 134 for specifying N motion vectors for each code block 122.
  • the motion compensation unit 112 generates a plurality of reference blocks 130 by performing motion compensation using the calculated N motion vectors. Specifically, when M reference frames (M is an integer equal to or greater than 2) are used, the motion compensation unit 112 generates M reference blocks 130 for each motion vector. That is, N ⁇ M reference blocks 130 are generated.
  • the multiple (N ⁇ M) buffers 114 are classified into N buffer groups.
  • the N buffer groups have a one-to-one correspondence with the N motion vectors.
  • Each buffer group includes M buffers, and the M buffers correspond to M reference frames on a one-to-one basis.
  • the N ⁇ M reference blocks 130 generated by the motion compensation unit 112 are temporarily held in the corresponding buffer 114 via the selector 113.
  • the control unit 116 evaluates the correlation between the M reference pixels 131 on the M reference frames for each motion vector in units of small regions in the code block 122, and uses one motion vector used for prediction. Select multiple reference frames. Further, the control unit 116 outputs a plurality of reference pixels 131 indicated by the selected motion vector to the predicted image generation unit 117 via the selector 115 for each small region.
  • the plurality of reference pixels 131 are images (pixel values) having the same size as the small regions on the plurality of reference frames (reference blocks 130).
  • the predicted image generation unit 117 generates a predicted image 132 of each small region using the acquired plurality of reference pixels 131. For example, the predicted image generation unit 117 generates a predicted image 132 for each small region using the weighted average of the acquired plurality of reference pixels 131.
  • the prediction image 132 is stored in the buffer 118, and a plurality of prediction images 132 corresponding to the code block 122 are output as the prediction block 133.
  • the frequency conversion and the quantization process may be sequentially performed as separate processes, or may be performed collectively.
  • the inverse quantization and the inverse frequency conversion process may be sequentially performed as separate processes, or may be performed collectively.
  • Quantization is a process of digitizing values sampled at predetermined intervals in association with predetermined levels. Inverse quantization is processing for returning the value obtained by quantization to the value of the original section.
  • quantization means processing for dividing values into coarser sections than the original, and inverse quantization means processing for re-dividing coarse sections into original fine sections.
  • quantization and inverse quantization are sometimes referred to as rounding, rounding, or scaling.
  • FIG. 4 only the characteristic configuration of the present embodiment is mainly described. However, generally used inter prediction, intra prediction, and the like may be used. In this case, the method having the highest coding efficiency among the above-described prediction processing, inter prediction, and intra prediction is selected for each code block 122.
  • N motion vectors may be selected for each processing unit obtained by dividing the code block 122.
  • FIG. 5 is a flowchart illustrating an operation example of inter-screen prediction processing by the image encoding device 100.
  • the motion detection unit 111 calculates N motion vectors of the code block 122 to be processed by motion detection (S101). Specifically, as illustrated in FIG. 6, the motion detection unit 111 obtains a motion vector for each small region, and selects N representative motion vectors from the obtained plurality of motion vectors. For example, N motion vectors having a high appearance frequency (being a histogram peak) are selected from among a plurality of motion vectors. For example, as shown in FIG. 6, a motion vector MV0 indicating the background motion and a motion vector MV1 indicating the foreground (moving object) motion are selected.
  • information indicating the selected N motion vectors is notified to the image decoding apparatus as part of the encoded bitstream 126.
  • search method any method may be used as long as it can detect a motion for each small region.
  • the motion compensation unit 112 acquires a reference block using a plurality of motion vectors (S102). Specifically, as illustrated in FIG. 7, the motion compensation unit 112 scales the plurality of motion vectors acquired in step S101, and acquires corresponding reference blocks on each reference frame.
  • the motion compensation unit 112 derives the motion vectors ⁇ MV0 and ⁇ 2MV0 by scaling the motion vector MV0, and the reference block on the reference frame 3 indicated by the motion vector MV0 and the motion vector ⁇ MV0.
  • a reference block on the reference frame 2 and a reference block on the reference frame 1 indicated by the motion vector-2MV0 are acquired.
  • the motion compensation unit 112 derives the motion vectors ⁇ MV1 and ⁇ 2MV1 by scaling the motion vector MV1, and the reference block on the reference frame 3 indicated by the motion vector MV1 and the motion vector ⁇ MV1.
  • a reference block on the reference frame 2 and a reference block on the reference frame 1 indicated by the motion vector-2MV1 are acquired.
  • control unit 116 selects a motion vector from a plurality of motion vectors for each small region (S103). Specifically, the control unit 116 assumes constant-velocity linear motion and evaluates the correlation between reference pixels corresponding to each motion vector for each small region. And the control part 116 selects a motion vector with a high correlation for every small area
  • the small area may be not only a rectangular block such as 4 ⁇ 4 pixels or 2 ⁇ 2 pixels but also one pixel.
  • the control unit 116 evaluates the correlation in a wider range such as 3 ⁇ 3 pixels or 5 pixels including upper, lower, left, and right pixels.
  • the control unit 116 takes measures such as applying a low-pass filter such as 3 ⁇ 3 pixels to the reference pixel, or selecting the same vector when the vectors selected in the surrounding pixels are complete. May be.
  • the prediction unit 110 generates a prediction image 132 of each small region (S104).
  • a pixel of a reference frame whose temporal distance is close to the encoding target frame is used as a predicted image 132 (predicted value), or a weighted average value corresponding to the temporal distance is predicted using a plurality of reference pixels.
  • a method of making the image 132 can be used.
  • the weight may be explicitly notified in sequence, picture, or slice unit. There may also be a reference frame with a weight of zero.
  • step S103 in FIG. 5 it may be difficult to select a motion vector only by simple correlation evaluation between reference pixels, such as a reference pixel in the background area being hidden in the foreground. Therefore, the control unit 116 further obtains a corresponding point on the encoding target frame of the reference pixel using the foreground motion vector, and determines whether or not the motion vector selected in the corresponding point pixel is the foreground motion vector. Determine. For example, when a motion vector is notified from the image encoding device to the image decoding device, a rule is determined in advance, such as notification sequentially from the background motion vector. Thereby, the image decoding apparatus can know which motion vector is the background motion vector. In addition, the image coding apparatus can determine which region according to the motion vector is the background by evaluating the correlation between the reference pixel and the target pixel with respect to the region where it is difficult to select the motion vector.
  • the control unit 116 determines that the reference pixel belongs to an area according to the foreground motion vector, and predicts the area considered as a background area. Does not use the reference pixel.
  • the control unit 116 determines that the reference pixel belongs to the region according to the background motion vector, and predicts the region considered as the background region. The reference pixel is used for.
  • the control unit 116 is considered that the corresponding point belongs to a background area hidden in the foreground in the reference frame. Therefore, it is determined that the reference pixel belongs to an area according to the background motion vector, and the reference pixel is used for prediction of the area considered to be the background area.
  • FIG. 9 is a diagram illustrating an operation example in this case.
  • the motion vector MV0 is a background motion vector (background vector)
  • the motion vector MV1 is a foreground motion vector (foreground motion vector).
  • the encoding target frame is classified into a foreground area 151, a background area 152, or another unknown area 153 for each small area.
  • the foreground area 151 is a small area where the foreground motion vector is selected
  • the background area 152 is a small area where the background motion vector is selected.
  • the unknown area 153 is an area other than the foreground area 151 and the background area 152. This unknown area 153 is considered as a background area hidden in the foreground in the reference frame.
  • the unknown area 153 is an area where the correlation between reference pixels is small in any motion vector. Note that high or low correlation means, for example, that the correlation is higher or lower than a predetermined reference value.
  • the control unit 116 obtains a corresponding point on the target frame based on the foreground vector MV01 for the reference pixel corresponding to the background vector MV0, and the corresponding point on the target frame is the foreground region. 151, the background area 152, and the unknown area 153 are determined to belong to. Then, the control unit 116 uses the reference pixels whose corresponding points belong to the background (background region 152 or unknown region 153) for prediction. In the example of the small region C01 shown in FIG. 9, there are reference pixels P01 (t ⁇ d) and P01 (t + d) corresponding to the background vector MV0.
  • the reference pixel P01 (td) Since the corresponding point X01A of the reference pixel P01 (td) belongs to the foreground area 151, the reference pixel P01 (td) is not used for prediction. Since the corresponding point X01B of the reference pixel P01 (t + d) belongs to the background region 152, the reference pixel P01 (t + d) is used for prediction. In the example of the small area C02, there are reference pixels P02 (t ⁇ d) and P02 (t + d) corresponding to the background vector MV0. Since the corresponding point X02A of the reference pixel P02 (td) belongs to the background region 152, the reference pixel P02 (td) is used for prediction. Since the corresponding point X02B of the reference pixel P02 (t + d) belongs to the foreground region 151, the reference pixel P02 (t + d) is not used for prediction.
  • the reference pixel when all the corresponding point pixels are unencoded (or undecoded) pixels outside the target block and cannot be used for determination, the reference pixel is used for prediction of the region. It is desirable not to use the reference pixel, but the reference pixel may be used for prediction of the region as long as the determination method yields the same result in the image encoding device and the image decoding device. Even when the corresponding point pixel is an unencoded (or undecoded) pixel outside the target block, when the other reference pixel is determined to be the foreground, the reference pixel is determined to be the background. May be used for prediction.
  • the control unit 116 determines that the pixels on all the reference frames corresponding to the pixel are hidden in the foreground. Then, the predicted value of the pixel is determined by copying the predicted value (predicted image) of the pixel in the neighboring background area.
  • FIG. 10 is a diagram illustrating an operation example in this case.
  • control unit 116 classifies each small area into a foreground area 151, a background area 152, and an unknown area 153. Furthermore, the control unit 116 classifies the unknown region 153 into a region 153A where one reference pixel can be used and a region 153B where there is no usable reference pixel.
  • reference pixels P03 (t-2d) and P03 (td) corresponding to the background vector MV0. Since the corresponding point X03A of the reference pixel P03 (t-2d) belongs to the foreground region 151, the reference pixel P03 (t-2d) is not used for prediction. Since the corresponding point X03B of the reference pixel P03 (t ⁇ d) belongs to the background region 152, the reference pixel P03 (t ⁇ d) is used for prediction.
  • the control unit 116 determines the predicted value of the pixel by, for example, copying the predicted value of the pixel in the nearby background region 152.
  • FIG. 11 is a diagram illustrating an operation example in this case.
  • control unit 116 classifies each small region into a foreground region 151, a background region 152 (152A and 152B), and an unknown region 153.
  • reference pixels P05 (t ⁇ 2d), P05 (t ⁇ d), and P05 (t + d) corresponding to the background vector MV0. Since the corresponding points X05A and X05B of the reference pixels P05 (t-2d) and P05 (td) belong to the foreground area 151, the reference pixels P05 (t-2d) and P05 (td) are not used for prediction. . Since the corresponding point X05C of the reference pixel P05 (t + d) belongs to the background region 152, the reference pixel P05 (t + d) is used for prediction.
  • the small area C06 belonging to the background area 152A is an area hidden in the foreground in the reference frame at time t + d, but the reference pixel P06 (td) and the reference pixel P06 (t ⁇ ) on the two reference frames. Correlation with 2d) is high. Therefore, the control unit 116 determines that the small region C06 is a background region, and uses the reference pixels P06 (t ⁇ d) and P06 (t ⁇ 2d) to determine the predicted image 132 of the small region C06.
  • the background region 152B is a region hidden in the foreground in the reference frame at time (t-2d), but the correlation between the reference pixels on the frame at time (td) and time (t + d) is high. high. Therefore, the control unit 116 uses the reference pixel on the frame at time (t ⁇ d) and time (t + d) for the background region 152B.
  • FIG. 12 is a flowchart of the motion vector and reference pixel selection processing (steps S103 and S104 in FIG. 5) according to the present embodiment. This process is performed for each small area.
  • the control unit 116 determines that the small area to be processed is the foreground. It is determined that the image belongs to an area, a foreground vector is selected, and it is determined that a plurality of reference pixels indicated by the foreground vector are used for prediction of a small area to be processed (S114).
  • control unit 116 determines that the small region to be processed belongs to the background region when the correlation between the plurality of reference pixels indicated by the background vector (motion vector corresponding to the background) is high (Yes in S112). Then, a background vector is selected, and it is determined that a plurality of reference pixels indicated by the background vector are used for prediction of a small area to be processed (S115).
  • the control unit 116 determines that the small area to be processed belongs to the background area when the correlation between at least two reference pixels is high. . In addition, the control unit 116 determines that a reference pixel having a high correlation among a plurality of reference pixels indicated by the background vector is used for prediction of a small area to be processed.
  • the control unit 116 selects the background region from the plurality of reference pixels indicated by the background vector. It is determined whether there is a reference pixel belonging to (S113). Specifically, as described above, when the corresponding point of the reference pixel belongs to the background area, the control unit 116 determines that the reference pixel belongs to the background area.
  • control unit 116 determines to use the reference pixel for prediction of the small area to be processed. (S116).
  • control unit 116 determines to use (copy) the predicted image of the small area included in the nearby background area as the predicted image of the small area to be processed (S117).
  • FIG. 13 is a diagram showing a hierarchical inter-screen predictive coding structure called HB3.
  • HB3 a hierarchical inter-screen predictive coding structure
  • the following method can be used as a method for notifying the image decoding apparatus of information indicating that the prediction method according to the present embodiment is used from the image encoding apparatus.
  • a prediction type indicating the prediction method may be added to the conventional prediction type as one of the prediction types notified for each prediction block.
  • the conventional bi-prediction that notifies two motion vectors only the prediction image generation method may be replaced with the prediction method of the present embodiment.
  • SPS sequence parameter set
  • PPS picture parameter set
  • SH slice header
  • Information for notifying whether or not the bi-prediction prediction method is replaced with the prediction method of the present embodiment may be embedded so that the prediction method can be switched in units of sequences, pictures, or slices.
  • prediction is performed by selecting a motion vector to be used and a reference frame in units of small regions (4 ⁇ 4 or 2 ⁇ 2 pixels) in the code block.
  • the size of this small area may be fixed to a predetermined size such as 4 ⁇ 4 or 2 ⁇ 2 pixels, or information indicating the size is embedded in SPS, PPS, SH, etc. Alternatively, switching may be possible in units of slices.
  • the size of the small area is based on a plurality of pixels such as 4 ⁇ 4 pixels, and prediction with a size smaller than 4 ⁇ 4 is considered effective, such as a case where an object boundary is included in 4 ⁇ 4 pixels.
  • Hierarchical switching that switches to 2 ⁇ 2 pixels or one pixel unit is also possible.
  • Information indicating whether to perform hierarchical switching can also be switched in units of sequence, picture, or slice by embedding switching information in SPS, PPS, SH, or the like.
  • the motion vector and the reference frame used for each small area in the code block are selected and prediction is performed.
  • parameters such as a threshold value, which are the determination criteria, in SPS, PPS, SH, etc., it is possible to make adjustments according to the amount of noise in the image during encoding.
  • FIG. 14 is a block diagram illustrating a configuration example of the image decoding apparatus 200 according to the present embodiment.
  • the image decoding apparatus 200 illustrated in FIG. 14 generates a decoded image 226 by decoding the bit stream 221 that is the bit stream 126 generated by the image encoding apparatus 100 described above.
  • the image decoding apparatus 200 includes an entropy decoding unit 201, an inverse quantization unit 202, an inverse transformation unit 203, an addition unit 204, a frame memory 205, and a prediction unit 206.
  • the entropy decoding unit 201 decodes the coefficient block 222 and the motion information 231 from the bit stream 221 generated by encoding a still image or moving image including one or more pictures.
  • the motion information 231 corresponds to the motion information 134 described above, and is information for specifying a plurality of motion vectors for each code block.
  • the inverse quantization unit 202 generates the coefficient block 223 by inversely quantizing the coefficient block 222.
  • the inverse conversion unit 203 generates a difference block 224 by performing inverse conversion on the coefficient block 223.
  • the addition unit 204 generates the decoded block 225 by adding the difference block 224 and the prediction block 230.
  • the decoded block 225 is stored in the frame memory 109, is output as a decoded image 226, and is used for prediction processing.
  • the sizes of the difference block 224, the decoding block 225, and the prediction block 230 are the same as the size of the above-described code block that is a prediction processing unit, for example.
  • the prediction unit 206 generates a prediction block 230 using the decoding block 225.
  • the prediction unit 206 includes a motion compensation unit 207, selectors 208 and 210, buffers 209 and 213, a control unit 211, and a predicted image generation unit 212.
  • each processing unit included in the prediction unit 206 is the same as the operation of each processing unit included in the prediction unit 110 included in the image encoding device 100 described above. However, in the prediction unit 110, a plurality of motion vectors for each code block are detected by the motion detection unit 111, but in the prediction unit 206, a plurality of motion vectors for each code block are determined by the motion information 231 included in the bit stream 221. Indicated.
  • the motion compensation unit 207 generates a plurality of reference blocks 227 by performing motion compensation using the N motion vectors indicated by the motion information 231.
  • a plurality (N ⁇ M) of buffers 209 are classified into N buffer groups.
  • the N buffer groups have a one-to-one correspondence with the N motion vectors.
  • Each buffer group includes M buffers, and the M buffers correspond to M reference frames on a one-to-one basis.
  • the N ⁇ M reference blocks 227 generated by the motion compensation unit 207 are temporarily held in the corresponding buffer 209 via the selector 208.
  • the control unit 211 evaluates the correlation between the M reference pixels 228 on the M reference frames for each motion vector in units of small areas in the code block, and uses one motion vector and a plurality of motion vectors used for prediction. Select a reference frame. Further, the control unit 211 outputs a plurality of reference pixels 228 indicated by the selected motion vector to the predicted image generation unit 212 via the selector 210 for each small region.
  • the predicted image generation unit 212 generates a predicted image 229 for each small region using the acquired plurality of reference pixels 228.
  • the prediction image 229 is stored in the buffer 213, and a plurality of prediction images 229 corresponding to the code block are output as the prediction block 230.
  • the inverse quantization and the inverse frequency conversion process may be performed sequentially as individual processes, or may be performed collectively.
  • inverse quantization and inverse frequency conversion processing are performed in a lump.
  • expressions such as scaling may be used for these processes.
  • the bitstream 221 includes information indicating which of the prediction processing, inter prediction, and intra prediction to be used, and the image decoding apparatus 200 selects a prediction method for each code block according to the information. To do.
  • a plurality of vectors may be used as at least one of the foreground vector and the background vector.
  • two foreground vectors and two background vectors may be used.
  • a plurality of motion vectors are obtained for each small region, and two motion vectors (foreground vector 1 and background vector 2) having a high appearance frequency are selected from among them.
  • a plurality of motion vectors are obtained for each small region, and two motion vectors (foreground vector 2 and background vector 2) having a high appearance frequency are selected from them.
  • the combinations of the foreground vector and the background vector are (foreground vector 1, background vector 1), (foreground vector 1, background vector 2), (foreground vector 2, background vector 1), (foreground vector 2, There are four possible background vectors 2). Therefore, the image encoding device 100 (or the image decoding device 200) calculates the cost value of these four combinations, and selects the combination of the foreground vector and the background vector that uses the combination having the lowest cost value.
  • the sum of the prediction residuals in the foreground area, the prediction residuals in the background area, and the prediction residuals in other areas is calculated as the residual of the code block. Also, the bit amount of the motion vector is calculated. An addition value or a weighted addition value of the code block residual and the motion vector bit amount is calculated as a cost value.
  • the cost value may be calculated only by the residual of the code block.
  • the prediction image of the nearby background region is used as the prediction image of the target small region (S117).
  • the prediction image of the target small region (S117).
  • intra prediction it is included in the target frame.
  • the pixel value of the background area in the vicinity of the target small area may be used as a predicted image of the target small area, or the pixel value may be copied as the pixel value of the target small area.
  • the image encoding device 100 performs the image encoding process shown in FIG. First, the motion detection unit 111 detects, for each of a plurality of processing units (code block 122) obtained by dividing the target frame, a plurality of motion vectors assigned to the processing unit (S121).
  • a motion vector to be used is selected from the vectors (S122).
  • the plurality of reference frames include a first frame and a second frame
  • the control unit 116 indicates, for each of the plurality of motion vectors, the target small region included in the target frame by the motion vector.
  • a correlation between an area on the first frame (reference pixel 131) and an area on the second frame (reference pixel 131) is obtained, and a motion vector having a high correlation is selected.
  • the motion vector used here is the motion vector itself or a motion vector obtained by scaling the motion vector according to the target frame, the reference frame, and the time distance.
  • the plurality of motion vectors include a background vector indicating the background motion and a foreground vector indicating the foreground motion.
  • the control unit 116 selects the background vector when both the background vector correlation and the foreground vector correlation are lower than a predetermined value.
  • the predicted image generation unit 117 generates a predicted image 132 by using the selected motion vector for each of the plurality of small regions (S123). For example, when the correlation between the background vector and the correlation between the foreground vectors is lower than a predetermined value, the predicted image generation unit 117 performs the second region on the first frame and the second frame on the second frame indicated by the background vector. A predicted image 132 is generated using a region belonging to the background among the regions. For example, when the corresponding point that is the region on the target frame indicated by the foreground vector from the first region (or the second region) belongs to the background, the predicted image generation unit 117 determines that the first region (or the second region) is the background. It is determined that it belongs to. In addition, when neither the first area nor the second area belongs to the background, the predicted image generation unit 117 uses the predicted image of the area near the target small area in the target frame to predict the predicted image 132 of the target small area. Is generated.
  • the encoding unit (the subtraction unit 102, the conversion unit 103, the quantization unit 104, the entropy encoding unit 105, and the like) selects each of the plurality of small regions as the predicted image 132 generated for the small region. It encodes using (S124). Specifically, the encoding unit calculates a difference between the pixel value of the small region and the prediction image 132, and performs frequency conversion, quantization, and entropy encoding (variable length encoding) on the difference to generate a bit stream. 126 is generated.
  • information indicating a plurality of motion vectors for each processing unit detected in step S121 is included in the bitstream 126 by being encoded.
  • information indicating the motion vector for each small area selected in step S122 is not included in the bitstream 126. That is, information indicating the motion vector for each small area is not sent to the image decoding apparatus.
  • the image decoding apparatus 200 performs the image decoding process shown in FIG.
  • the entropy decoding unit 201 acquires, for each of a plurality of processing units (code blocks) obtained by dividing the target frame, a plurality of motion vectors assigned to the processing unit (S131). .
  • the entropy decoding unit 201 acquires motion information 231 indicating a plurality of motion vectors assigned to a processing unit from the bit stream 221.
  • the control unit 211 performs a plurality of motions based on a plurality of motion vectors and a plurality of reference frames at different times.
  • a motion vector to be used is selected from the vectors (S132).
  • the plurality of reference frames include a first frame and a second frame
  • the control unit 211 indicates, for each of the plurality of motion vectors, the target small region included in the target frame by the motion vector.
  • a correlation between an area on the first frame (reference pixel 228) and an area on the second frame (reference pixel 228) is obtained, and a motion vector having a high correlation is selected.
  • the plurality of motion vectors include a background vector indicating the background motion and a foreground vector indicating the foreground motion.
  • the control unit 211 selects a background vector when both the background vector correlation and the foreground vector correlation are lower than a predetermined value.
  • the predicted image generation unit 212 generates a predicted image 229 using the selected motion vector for each of the plurality of small regions (S133). For example, when the correlation between the background vector and the correlation between the foreground vectors is lower than a predetermined value, the predicted image generation unit 212 determines that the first region on the first frame and the second frame on the second frame indicated by the background vector A predicted image is generated using a region belonging to the background among the regions. For example, when the corresponding point that is the region on the target frame indicated by the foreground vector from the first region (or the second region) belongs to the background, the predicted image generation unit 212 determines that the first region (or the second region) is the background. It is determined that it belongs to. In addition, when neither the first region nor the second region belongs to the background, the predicted image generation unit 212 uses the predicted image of the region near the target small region in the target frame to predict the predicted image 229 of the target small region. Is generated.
  • the decoding unit selects each of the plurality of small regions from the predicted image 229 generated for the small region. And decrypting it (S134). Specifically, the decoding unit restores the difference value of the small region by entropy decoding (variable length decoding), inverse quantization, and inverse frequency conversion of the encoded data of the small region. The decoding unit restores the pixel value of the small region by adding the prediction image 229 to the difference value.
  • bitstream 221 does not include information indicating a motion vector for each small area. That is, information indicating the motion vector for each small area is not sent to the image decoding apparatus.
  • the motion vector used in the small area can be selected from the plurality of motion vectors associated with the processing unit in the image decoding apparatus. Therefore, it is possible to use different motion vectors for a plurality of small regions included in the processing unit. In addition, since it is not necessary to include information for specifying a motion vector for each small region in the encoded bitstream, an increase in the data amount of the encoded bitstream can be suppressed. Thus, the image coding apparatus 100 and the image decoding apparatus 200 according to the present embodiment can improve the coding efficiency.
  • each processing unit included in the image encoding device and the image decoding device according to the above embodiment is typically realized as an LSI that is an integrated circuit. These may be individually made into one chip, or may be made into one chip so as to include a part or all of them.
  • circuits are not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor.
  • An FPGA Field Programmable Gate Array
  • reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
  • each component may be configured by dedicated hardware or may be realized by executing a software program suitable for each component.
  • Each component may be realized by a program execution unit such as a CPU or a processor reading and executing a software program recorded on a recording medium such as a hard disk or a semiconductor memory.
  • the image encoding device and the image decoding device include a processing circuit and a storage device (storage) electrically connected to the processing circuit (accessible from the processing circuit).
  • the processing circuit includes at least one of dedicated hardware and a program execution unit. Further, when the processing circuit includes a program execution unit, the storage device stores a software program executed by the program execution unit. The processing circuit executes the image encoding method or the image decoding method in the above embodiment using a storage device.
  • the present disclosure may be the above software program or a non-transitory computer readable recording medium on which the above program is recorded. Needless to say, the program can be distributed via a transmission medium such as the Internet.
  • division of functional blocks in the block diagram is an example, and a plurality of functional blocks can be realized as one functional block, a single functional block can be divided into a plurality of functions, or some functions can be transferred to other functional blocks. May be.
  • functions of a plurality of functional blocks having similar functions may be processed in parallel or time-division by a single hardware or software.
  • the order in which the steps included in the image encoding method or the image decoding method are executed is for illustrating the present disclosure specifically, and may be in an order other than the above. . Also, some of the above steps may be executed simultaneously (in parallel) with other steps.
  • the image encoding device, the image decoding device, the image encoding method, and the image decoding method according to one or more aspects of the present disclosure have been described based on the embodiments. It is not limited to. Unless it deviates from the gist of the present disclosure, one or more of the present disclosure may be applied to various modifications conceived by those skilled in the art in this embodiment, or a combination of components in different embodiments. It may be included within the scope of the embodiments.
  • each of the functional blocks can usually be realized by an MPU, a memory, and the like. Further, the processing by each functional block is usually realized by a program execution unit such as a processor reading and executing software (program) recorded on a recording medium such as a ROM. The software may be distributed by downloading or the like, or may be distributed by being recorded on a recording medium such as a semiconductor memory. Naturally, each functional block can be realized by hardware (dedicated circuit).
  • each embodiment may be realized by centralized processing using a single device (system), or may be realized by distributed processing using a plurality of devices. Good.
  • the number of processors that execute the program may be one or more. That is, centralized processing may be performed, or distributed processing may be performed.
  • the system includes an image encoding device using an image encoding method, an image decoding device using an image decoding method, and an image encoding / decoding device including both.
  • Other configurations in the system can be appropriately changed according to circumstances.
  • FIG. 17 is a diagram showing an overall configuration of a content supply system ex100 that implements a content distribution service.
  • the communication service providing area is divided into desired sizes, and base stations ex105, ex106, ex107, ex108, ex109, ex110, ex110, which are fixed radio stations, are installed in each cell.
  • the devices such as a computer ex111, a game machine ex112, a camera ex113, a home appliance ex114, and a smartphone ex115 via the Internet ex101, the Internet service provider ex102 or the communication network ex104, and the base stations ex105 to ex111.
  • the content supply system ex100 may be connected by combining any of the above elements.
  • Each device may be directly or indirectly connected to each other via a telephone network or a short-range wireless communication without using the base stations ex105 to ex111 which are fixed wireless stations.
  • the streaming server ex103 is connected to devices such as a computer ex111, a game machine ex112, a camera ex113, a home appliance ex114, and a smartphone ex115 via the Internet ex201.
  • the streaming server ex103 is connected to a terminal in a hot spot in the airplane ex117 via the satellite ex116.
  • the streaming server ex103 may be directly connected to the communication network ex104 without going through the Internet ex101 or the Internet service provider ex102, or may be directly connected to the airplane ex117 without going through the satellite ex116.
  • the camera ex113 is a device that can shoot still images and moving images such as a digital camera.
  • the smartphone ex115 is a smartphone, a cellular phone, or a PHS (Personal Handyphone System) that is compatible with a mobile communication system generally called 2G, 3G, 3.9G, 4G, and 5G in the future.
  • a mobile communication system generally called 2G, 3G, 3.9G, 4G, and 5G in the future.
  • the home appliance ex118 is a device included in a refrigerator or a household fuel cell cogeneration system.
  • a terminal having a shooting function is connected to the streaming server ex103 through the base station ex105 or the like, thereby enabling live distribution or the like.
  • the terminal (computer ex111, game machine ex112, camera ex113, home appliance ex114, smartphone ex115, terminal in airplane ex117, etc.) is used for the still image or video content captured by the user using the terminal.
  • the encoding process described in each embodiment is performed, and the video data obtained by the encoding and the sound data obtained by encoding the sound corresponding to the video are multiplexed, and the obtained data is transmitted to the streaming server ex103. That is, each terminal functions as an image encoding device according to an aspect of the present disclosure.
  • the streaming server ex103 streams the content data transmitted to the requested client.
  • the client is a computer ex111, a game machine 112, a camera ex113, a home appliance ex114, a smartphone ex115, a terminal in the airplane ex117, or the like that can decode the encoded data.
  • Each device that has received the distributed data decrypts and reproduces the received data. That is, each device functions as an image decoding device according to an aspect of the present disclosure.
  • the streaming server ex103 may be a plurality of servers or a plurality of computers, and may process, record, and distribute data in a distributed manner.
  • the streaming server ex103 may be realized by a CDN (Contents Delivery Network), and content distribution may be realized by a network connecting a large number of edge servers and edge servers distributed all over the world.
  • CDN Contents Delivery Network
  • edge servers that are physically close to each other are dynamically allocated according to clients. Then, the content can be cached and distributed to the edge server, thereby reducing the delay.
  • the processing is distributed among multiple edge servers, the distribution subject is switched to another edge server, or the part of the network where the failure has occurred Since detouring can be continued, high-speed and stable distribution can be realized.
  • the captured data may be encoded at each terminal, may be performed on the server side, or may be shared with each other.
  • a processing loop is performed twice.
  • the first loop the complexity of the image or the code amount in units of frames or scenes is detected.
  • the second loop processing for maintaining the image quality and improving the coding efficiency is performed.
  • the terminal performs the first encoding process
  • the server receiving the content performs the second encoding process, thereby improving the quality and efficiency of the content while reducing the processing load on each terminal. it can.
  • the encoded data of the first time performed by the terminal can be received and reproduced by another terminal, enabling more flexible real-time distribution.
  • the camera ex113 or the like extracts a feature amount from an image, compresses data relating to the feature amount as metadata, and transmits the metadata to the server.
  • the server performs compression according to the meaning of the image, for example, by determining the importance of the object from the feature amount and switching the quantization accuracy.
  • the feature data is particularly effective for improving the accuracy and efficiency of motion vector prediction at the time of re-compression on the server.
  • simple coding such as VLC (variable length coding) may be performed at the terminal, and coding with a large processing load such as CABAC (context adaptive binary arithmetic coding) may be performed at the server.
  • a plurality of video data in which almost the same scene is captured by a plurality of terminals.
  • a GOP Group of Picture
  • a picture unit or a tile obtained by dividing a picture using a plurality of terminals that have performed shooting and other terminals and servers that have not performed shooting as necessary.
  • Distributed processing is performed by assigning encoding processing in units or the like. Thereby, delay can be reduced and real-time property can be realized.
  • the server may manage and / or instruct the video data captured by each terminal to refer to each other.
  • the encoded data from each terminal may be received by the server and the reference relationship may be changed among a plurality of data, or the picture itself may be corrected or replaced to be encoded again. This makes it possible to generate a stream with improved quality and efficiency of each piece of data.
  • the server may distribute the video data after performing transcoding to change the encoding method of the video data.
  • the server may convert the MPEG encoding system to the VP encoding. H.264 in H.264. It may be converted into H.265.
  • the encoding process can be performed by a terminal or one or more servers. Therefore, in the following, description such as “server” or “terminal” is used as the subject performing processing, but part or all of processing performed by the server may be performed by the terminal, or processing performed by the terminal may be performed. Some or all may be performed at the server. The same applies to the decoding process.
  • the server not only encodes a two-dimensional moving image, but also encodes a still image automatically based on a scene analysis of the moving image or at a time specified by the user and transmits it to the receiving terminal. Also good.
  • the server can acquire the relative positional relationship between the photographing terminals, the server obtains the three-dimensional shape of the scene based on not only the two-dimensional moving image but also the video obtained by photographing the same scene from different angles. Can be generated.
  • the server may separately encode the three-dimensional data generated by the point cloud or the like, and the video to be transmitted to the receiving terminal based on the result of recognizing or tracking the person or the object using the three-dimensional data.
  • the images may be selected or reconstructed from videos captured by a plurality of terminals.
  • the user can arbitrarily select each video corresponding to each photographing terminal and enjoy a scene, or can display a video of an arbitrary viewpoint from three-dimensional data reconstructed using a plurality of images or videos. You can also enjoy the clipped content.
  • sound is collected from a plurality of different angles, and the server may multiplex and transmit sound from a specific angle or space according to the video.
  • the server may create viewpoint images for the right eye and the left eye, respectively, and perform encoding that allows reference between each viewpoint video by Multi-View Coding (MVC) or the like. You may encode as another stream, without referring. At the time of decoding another stream, it is preferable to reproduce in synchronization with each other so that a virtual three-dimensional space is reproduced according to the viewpoint of the user.
  • MVC Multi-View Coding
  • the server superimposes virtual object information in the virtual space on the camera information in the real space based on the three-dimensional position or the movement of the user's viewpoint.
  • the decoding device may acquire or hold virtual object information and three-dimensional data, generate a two-dimensional image according to the movement of the user's viewpoint, and create superimposition data by connecting them smoothly.
  • the decoding device transmits the movement of the user's viewpoint to the server in addition to the request for the virtual object information, and the server creates superimposition data according to the movement of the viewpoint received from the three-dimensional data held in the server,
  • the superimposed data may be encoded and distributed to the decoding device.
  • the superimposed data has an ⁇ value indicating transparency in addition to RGB
  • the server sets the ⁇ value of a portion other than the object created from the three-dimensional data to 0 or the like, and the portion is transparent. May be encoded.
  • the server may generate data in which a RGB value of a predetermined value is set as the background, such as a chroma key, and the portion other than the object is set to the background color.
  • the decryption processing of the distributed data may be performed at each terminal as a client, may be performed on the server side, or may be performed in a shared manner.
  • a terminal may once send a reception request to the server, receive content corresponding to the request at another terminal, perform a decoding process, and transmit a decoded signal to a device having a display.
  • a part of a region such as a tile in which a picture is divided may be decoded and displayed on a viewer's personal terminal while receiving large-size image data on a TV or the like. Accordingly, it is possible to confirm at hand the area in which the person is responsible or the area to be confirmed in more detail while sharing the whole image.
  • access to encoded data on the network such as when the encoded data is cached in a server that can be accessed from the receiving terminal in a short time, or copied to the edge server in the content delivery service. It is also possible to switch the bit rate of received data based on ease.
  • the content switching will be described using a scalable stream that is compression-encoded by applying the moving image encoding method shown in each of the above embodiments shown in FIG.
  • the server may have a plurality of streams of the same content and different quality as individual streams, but the temporal / spatial scalable implementation realized by dividing into layers as shown in the figure.
  • the configuration may be such that the content is switched by utilizing the characteristics of the stream.
  • the decoding side decides which layer to decode according to internal factors such as performance and external factors such as the state of communication bandwidth, so that the decoding side can combine low-resolution content and high-resolution content. You can switch freely and decrypt. For example, when the user wants to continue watching the video that was viewed on the smartphone ex115 while moving on a device such as an Internet TV after returning home, the device only has to decode the same stream to a different layer, so the load on the server side Can be reduced.
  • the enhancement layer includes meta information based on image statistical information, etc., in addition to the configuration in which the picture is encoded for each layer and the enhancement layer exists above the base layer.
  • the decoding side may generate content with high image quality by super-resolution of the base layer picture based on the meta information.
  • Super-resolution may be either improvement of the SN ratio at the same resolution or enlargement of the resolution.
  • the meta information includes information for specifying a linear or non-linear filter coefficient used for super-resolution processing, or information for specifying a parameter value in filter processing, machine learning, or least square calculation used for super-resolution processing. .
  • the picture may be divided into tiles or the like according to the meaning of the object in the image, and the decoding side may select only a part of the region by selecting the tile to be decoded.
  • the decoding side can determine the position of the desired object based on the meta information. Can be identified and the tile containing the object can be determined.
  • the meta information is stored using a data storage structure different from the pixel data such as the SEI message in HEVC. This meta information indicates, for example, the position, size, or color of the main object.
  • meta information may be stored in units composed of a plurality of pictures, such as streams, sequences, or random access units.
  • the decoding side can acquire the time when the specific person appears in the video, etc., and can match the picture in which the object exists and the position of the object in the picture by combining with the information in units of pictures.
  • FIG. 20 is a diagram illustrating a display screen example of a web page on the computer ex111 or the like.
  • FIG. 21 is a diagram illustrating a display screen example of a web page in the smartphone ex115 or the like.
  • the web page may include a plurality of ring images that are links to image content, and the appearance differs depending on the browsing device.
  • the display device when a plurality of link images are visible on the screen, the display device until the user explicitly selects the link image, or until the link image approaches the center of the screen or the entire link image enters the screen.
  • the (decoding device) displays a still image or I picture included in each content as a link image, displays a video like a gif animation with a plurality of still images or I pictures, or receives only the base layer. Decode and display video.
  • the display device When the link image is selected by the user, the display device decodes the base layer with the highest priority. If there is information indicating that the HTML constituting the web page is scalable content, the display device may decode up to the enhancement layer. Also, in order to ensure real-time properties, the display device only decodes forward reference pictures (I picture, P picture, forward reference only B picture) before being selected or when the communication band is very strict. In addition, the delay between the decoding time of the first picture and the display time (delay from the start of content decoding to the start of display) can be reduced by displaying. Further, the display device may intentionally ignore the reference relationship of pictures and roughly decode all B pictures and P pictures with forward reference, and perform normal decoding as the number of received pictures increases over time.
  • forward reference pictures I picture, P picture, forward reference only B picture
  • the receiving terminal when transmitting and receiving still image or video data such as two-dimensional or three-dimensional map information for automatic driving or driving support of a car, the receiving terminal adds meta data to image data belonging to one or more layers. Weather or construction information may also be received and decoded in association with each other. The meta information may belong to a layer or may be simply multiplexed with image data.
  • the receiving terminal since the car, drone, airplane, or the like including the receiving terminal moves, the receiving terminal transmits the position information of the receiving terminal at the time of the reception request, thereby seamless reception and decoding while switching the base stations ex106 to ex110. Can be realized.
  • the receiving terminal can dynamically switch how much meta-information is received or how much map information is updated according to the user's selection, the user's situation, or the communication band state. become.
  • the encoded information transmitted by the user can be received, decoded and reproduced in real time by the client.
  • the content supply system ex100 can perform not only high-quality and long-time content by a video distributor but also unicast or multicast distribution of low-quality and short-time content by an individual. Moreover, such personal contents are expected to increase in the future.
  • the server may perform the encoding process after performing the editing process. This can be realized, for example, with the following configuration.
  • the server After shooting, the server performs recognition processing such as shooting error, scene search, semantic analysis, and object detection from the original image or encoded data. Then, the server manually or automatically corrects out-of-focus or camera shake based on the recognition result, or selects a less important scene such as a scene whose brightness is lower than that of other pictures or is out of focus. Edit such as deleting, emphasizing the edge of an object, and changing the hue.
  • the server encodes the edited data based on the editing result. It is also known that if the shooting time is too long, the audience rating will decrease, and the server will move not only in the less important scenes as described above, but also in motion according to the shooting time. A scene with few images may be automatically clipped based on the image processing result. Alternatively, the server may generate and encode a digest based on the result of the semantic analysis of the scene.
  • the server may change and encode the face of the person in the periphery of the screen or the inside of the house into an unfocused image.
  • the server recognizes whether or not a face of a person different from the person registered in advance is shown in the encoding target image, and if so, performs processing such as applying a mosaic to the face part. May be.
  • the user designates a person or background area that the user wants to process an image from the viewpoint of copyright, etc., and the server replaces the designated area with another video or blurs the focus. It is also possible to perform such processing. If it is a person, the face image can be replaced while tracking the person in the moving image.
  • the decoding device first receives the base layer with the highest priority and performs decoding and reproduction, depending on the bandwidth.
  • the decoding device may receive the enhancement layer during this time, and may play back high-quality video including the enhancement layer when played back twice or more, such as when playback is looped.
  • a stream that is scalable in this way can provide an experience in which the stream becomes smarter and the image is improved gradually, although it is a rough moving picture when it is not selected or at the beginning of viewing.
  • the same experience can be provided even if the coarse stream played back the first time and the second stream coded with reference to the first video are configured as one stream. .
  • these encoding or decoding processes are generally processed in the LSI ex500 included in each terminal.
  • the LSI ex500 may be configured as a single chip or a plurality of chips.
  • moving image encoding or decoding software is incorporated into some recording medium (CD-ROM, flexible disk, hard disk, etc.) that can be read by the computer ex111 and the like, and encoding or decoding processing is performed using the software. Also good.
  • moving image data acquired by the camera may be transmitted. The moving image data at this time is data encoded by the LSI ex500 included in the smartphone ex115.
  • the LSI ex500 may be configured to download and activate application software.
  • the terminal first determines whether the terminal is compatible with the content encoding method or has a specific service execution capability. If the terminal does not support the content encoding method or does not have the capability to execute a specific service, the terminal downloads a codec or application software, and then acquires and reproduces the content.
  • the content supply system ex100 via the Internet ex101, but also a digital broadcasting system, at least the moving image encoding device (image encoding device) or the moving image decoding device (image decoding device) of the above embodiments. Any of these can be incorporated.
  • the unicasting of the content supply system ex100 is suitable for multicasting because it uses a satellite or the like to transmit and receive multiplexed data in which video and sound are multiplexed on broadcasting radio waves.
  • the same application is possible for the encoding process and the decoding process.
  • FIG. 22 is a diagram illustrating the smartphone ex115.
  • FIG. 23 is a diagram illustrating a configuration example of the smartphone ex115.
  • the smartphone ex115 receives the antenna ex450 for transmitting / receiving radio waves to / from the base station ex110, the camera unit ex465 capable of taking video and still images, the video captured by the camera unit ex465, and the antenna ex450.
  • a display unit ex458 for displaying data obtained by decoding the video or the like.
  • the smartphone ex115 further includes an operation unit ex466 that is a touch panel or the like, a voice output unit ex457 that is a speaker or the like for outputting voice or sound, a voice input unit ex456 that is a microphone or the like for inputting voice, and photographing.
  • Memory unit ex467 that can store encoded video or still image, recorded audio, received video or still image, encoded data such as mail, or decoded data, and a user, and network
  • An external memory may be used instead of the memory unit ex467.
  • a main control unit ex460 that comprehensively controls the display unit ex458, the operation unit ex466, and the like, a power supply circuit unit ex461, an operation input control unit ex462, a video signal processing unit ex455, a camera interface unit ex463, a display control unit ex459, a modulation / Demodulation unit ex452, multiplexing / demultiplexing unit ex453, audio signal processing unit ex454, slot unit ex464, and memory unit ex467 are connected via bus ex470.
  • the power supply circuit unit ex461 starts up the smartphone ex115 in an operable state by supplying power from the battery pack to each unit.
  • the smartphone ex115 performs processing such as calling and data communication based on the control of the main control unit ex460 having a CPU, a ROM, a RAM, and the like.
  • the voice signal picked up by the voice input unit ex456 is converted into a digital voice signal by the voice signal processing unit ex454, spread spectrum processing is performed by the modulation / demodulation unit ex452, and digital / analog conversion is performed by the transmission / reception unit ex451.
  • the data is transmitted via the antenna ex450.
  • the received data is amplified and subjected to frequency conversion processing and analog-digital conversion processing, spectrum despreading processing is performed by the modulation / demodulation unit ex452, and converted to analog audio signal by the audio signal processing unit ex454, and then this is output to the audio output unit ex457.
  • text, still image, or video data is sent to the main control unit ex460 via the operation input control unit ex462 by the operation of the operation unit ex466 of the main body unit, and transmission / reception processing is performed similarly.
  • the video signal processing unit ex455 uses the video signal stored in the memory unit ex467 or the video signal input from the camera unit ex465 as described above.
  • the video data is compressed and encoded by the moving image encoding method shown in the form, and the encoded video data is sent to the multiplexing / demultiplexing unit ex453.
  • the audio signal processing unit ex454 encodes the audio signal picked up by the audio input unit ex456 while the camera unit ex465 captures a video or a still image, and sends the encoded audio data to the multiplexing / separating unit ex453. To do.
  • the multiplexing / demultiplexing unit ex453 multiplexes the encoded video data and the encoded audio data by a predetermined method, and the modulation / demodulation unit (modulation / demodulation circuit unit) ex452 and the modulation / demodulation unit ex451 perform modulation processing and conversion.
  • the data is processed and transmitted via the antenna ex450.
  • the multiplexing / demultiplexing unit ex453 performs multiplexing By separating the data, the multiplexed data is divided into a bit stream of video data and a bit stream of audio data, and the encoded video data is supplied to the video signal processing unit ex455 via the synchronization bus ex470. The converted audio data is supplied to the audio signal processing unit ex454.
  • the video signal processing unit ex455 decodes the video signal by the video decoding method corresponding to the video encoding method shown in each of the above embodiments, and is linked from the display unit ex458 via the display control unit ex459.
  • a video or still image included in the moving image file is displayed.
  • the audio signal processing unit ex454 decodes the audio signal, and the audio is output from the audio output unit ex457. Since real-time streaming is widespread, depending on the user's situation, there may be occasions where audio playback is not socially appropriate. Therefore, it is desirable that the initial value is a configuration in which only the video data is reproduced without reproducing the audio signal. Audio may be synchronized and played back only when the user performs an operation such as clicking on video data.
  • the smartphone ex115 has been described here as an example, in addition to a transmission / reception terminal having both an encoder and a decoder as a terminal, a transmission terminal having only an encoder and a reception having only a decoder There are three possible mounting formats: terminals.
  • terminals In the digital broadcasting system, it has been described as receiving or transmitting multiplexed data in which music data or the like is multiplexed with video data.
  • multiplexed data includes character data related to video in addition to audio data. Multiplexing may be performed, and video data itself may be received or transmitted instead of multiplexed data.
  • the terminal often includes a GPU. Therefore, a configuration may be adopted in which a wide area is processed in a lump by utilizing the performance of the GPU by using a memory shared by the CPU and the GPU or a memory whose addresses are managed so as to be used in common. As a result, the encoding time can be shortened, real-time performance can be ensured, and low delay can be realized. In particular, it is efficient to perform motion search, deblocking filter, SAO (Sample Adaptive Offset), and transformation / quantization processing in batches in units of pictures or the like instead of the CPU.
  • SAO Sample Adaptive Offset
  • the present disclosure is applicable to an image decoding device and an image encoding device. Specifically, the present disclosure is applicable to televisions, recorders, personal computers, digital still cameras, digital video cameras, smartphones, and the like.

Landscapes

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

Abstract

画像復号方法は、対象フレームが分割されることで得られた複数の処理単位の各々に対して、当該処理単位に割り当てられた複数の動きベクトルを取得する取得ステップ(S131)と、前記処理単位が分割されることで得られた複数の小領域の各々に対して、前記複数の動きベクトルと、互いに異なる時刻の複数の参照フレームとに基づき、前記複数の動きベクトルから使用する動きベクトルを選択する選択ステップ(S132)と、前記複数の小領域の各々に対して、選択された前記動きベクトルを用いて予測画を生成する生成ステップ(S133)と、前記複数の小領域の各々を、当該小領域に対して生成された前記予測画を用いて復号する復号ステップ(S134)とを含む。

Description

画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、及び画像符号化復号装置
 本開示は、画像復号方法及び画像符号化方法に関する。
 最新の動画像符号化標準規格であるHEVC(High Efficiency Video Coding)規格では、符号化効率を向上させるために様々な検討がされている(例えば、非特許文献1参照)。この方式は、H.26xで示されるITU-T(国際電気通信連合電気通信標準化部門)規格、及び、MPEG-xで示されるISO/IEC規格であり、H.264/AVC、又はMPEG-4 AVCで示される規格の次の映像符号化規格として検討された。
ITU-T Recommendation H.265 「High efficiency video coding」、2015年4月
 このような、画像符号化方法及び画像復号方法では、符号化効率を向上することが望まれている。
 本開示は、符号化効率を向上できる画像復号方法又は画像符号化方法を提供することを目的とする。
 上記目的を達成するために、本開示の一態様に係る画像復号方法は、対象フレームが分割されることで得られた複数の処理単位の各々に対して、当該処理単位に割り当てられた複数の動きベクトルを取得する取得ステップと、前記処理単位が分割されることで得られた複数の小領域の各々に対して、前記複数の動きベクトルと、互いに異なる時刻の複数の参照フレームとに基づき、前記複数の動きベクトルから使用する動きベクトルを選択する選択ステップと、前記複数の小領域の各々に対して、選択された前記動きベクトルを用いて予測画を生成する生成ステップと、前記複数の小領域の各々を、当該小領域に対して生成された前記予測画を用いて復号する復号ステップとを含む。
 また、本開示の一態様に係る画像符号化方法は、対象フレームが分割されることで得られた複数の処理単位の各々に対して、当該処理単位に割り当てる複数の動きベクトルを検出する検出ステップと、前記処理単位が分割されることで得られた複数の小領域の各々に対して、前記複数の動きベクトルと、互いに異なる時刻の複数の参照フレームとに基づき、前記複数の動きベクトルから使用する動きベクトルを選択する選択ステップと、前記複数の小領域の各々に対して、選択された前記動きベクトルを用いて予測画を生成する生成ステップと、前記複数の小領域の各々を、当該小領域に対して生成された前記予測画を用いて符号化する符号化ステップとを含む。
 なお、これらの全般的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
 本開示は、符号化効率を向上できる画像復号方法又は画像符号化方法を提供できる。
図1は、実施の形態1に係る予測方法を説明するための図である。 図2は、実施の形態1に係る予測方法を説明するための図である。 図3は、実施の形態1に係る予測方法を説明するための図である。 図4は、実施の形態1に係る画像符号化装置のブロック図である。 図5は、実施の形態1に係る予測処理のフローチャートである。 図6は、実施の形態1に係る動き検出処理を説明するための図である。 図7は、実施の形態1に係る参照ブロック取得処理を説明するための図である。 図8は、実施の形態1に係る動きベクトル選択処理を説明するための図である。 図9は、実施の形態1に係る不明領域に対する処理を説明するための図である。 図10は、実施の形態1に不明領域に対する処理を説明するための図である。 図11は、実施の形態1に不明領域に対する処理を説明するための図である。 図12は、実施の形態1に係る動きベクトル及び参照画素の選択処理のフローチャートである。 図13は、実施の形態1に係る符号化構造の一例を示す図である。 図14は、実施の形態1に係る画像復号装置のブロック図である。 図15は、実施の形態1に係る画像符号化処理のフローチャートである。 図16は、実施の形態1に係る画像復号処理のフローチャートである。 図17は、コンテンツ配信サービスを実現するコンテンツ供給システムの全体構成図である。 図18は、スケーラブル符号化時の符号化構造の一例を示す図である。 図19は、スケーラブル符号化時の符号化構造の一例を示す図である。 図20は、webページの表示画面例を示す図である。 図21は、webページの表示画面例を示す図である。 図22は、スマートフォンの一例を示す図である。 図23は、スマートフォンの構成例を示すブロック図である。
 本開示の一態様に係る画像復号方法は、対象フレームが分割されることで得られた複数の処理単位の各々に対して、当該処理単位に割り当てられた複数の動きベクトルを取得する取得ステップと、前記処理単位が分割されることで得られた複数の小領域の各々に対して、前記複数の動きベクトルと、互いに異なる時刻の複数の参照フレームとに基づき、前記複数の動きベクトルから使用する動きベクトルを選択する選択ステップと、前記複数の小領域の各々に対して、選択された前記動きベクトルを用いて予測画を生成する生成ステップと、前記複数の小領域の各々を、当該小領域に対して生成された前記予測画を用いて復号する復号ステップとを含む。
 これによれば、画像復号装置において処理単位に対応付けられた複数の動きベクトルから小領域で用いる動きベクトルを選択できる。よって、処理単位に含まれる複数の小領域に対して異なる動きベクトルを用いることが可能なる。また、各小領域に対して動きベクトルを指定するための情報を符号化ビットストリームに含める必要がないため符号化ビットストリームのデータ量の増加を抑制できる。このように、当該画像復号方法は、符号化効率を向上できる。
 例えば、前記複数の参照フレームは、第1フレーム及び第2フレームを含み、前記選択ステップでは、前記複数の動きベクトルの各々に対して、前記対象フレームに含まれる対象小領域に対して当該動きベクトルにより示される前記第1フレーム上の領域と前記第2フレーム上の領域との相関を求め、当該相関に基づき前記使用する動きベクトルを選択してもよい。
 例えば、前記複数の動きベクトルは、背景の動きを示す背景ベクトルと、前景の動きを示す前景ベクトルとを含んでもよい。
 例えば、前記選択ステップでは、前記背景ベクトルの前記相関及び前記前景ベクトルの前記相関が共に予め定められた値より低い場合、前記背景ベクトルを選択してもよい。
 これによれば、参照フレームにおいて前景に隠れる領域等を背景領域と判定できるので、適切な動きベクトルを選択できる。
 例えば、前記生成ステップでは、前記背景ベクトルの前記相関及び前記前景ベクトルの前記相関が共に前記予め定められた値より低い場合、前記背景ベクトルにより示される前記第1フレーム上の第1領域と前記第2フレーム上の第2領域とのうち、背景に属する領域を用いて前記予測画を生成してもよい。
 これによれば、参照フレームにおいて前景に隠れる領域等においても適切な予測画を生成できる。
 例えば、前記生成ステップでは、前記第1領域又は前記第2領域から前記前景ベクトルにより示される前記対象フレーム上の領域である対応点が背景に属する場合、前記第1領域又は前記第2領域は背景に属すると判定してもよい。
 これによれば、背景ベクトルで示される参照フレーム上の領域が背景領域であるか前景領域であるかを適切に判定できる。
 例えば、前記生成ステップでは、前記第1領域及び前記第2領域がいずれも背景に属さない場合、前記対象フレーム内の前記対象小領域の近傍の領域の予測画を用いて当該対象小領域の予測画を生成してもよい。
 これによれば、適切な参照を行えない場合であっても予測画を生成できる。
 また、本開示の一態様に係る画像符号化方法は、対象フレームが分割されることで得られた複数の処理単位の各々に対して、当該処理単位に割り当てる複数の動きベクトルを検出する検出ステップと、前記処理単位が分割されることで得られた複数の小領域の各々に対して、前記複数の動きベクトルと、互いに異なる時刻の複数の参照フレームとに基づき、前記複数の動きベクトルから使用する動きベクトルを選択する選択ステップと、前記複数の小領域の各々に対して、選択された前記動きベクトルを用いて予測画を生成する生成ステップと、前記複数の小領域の各々を、当該小領域に対して生成された前記予測画を用いて符号化する符号化ステップとを含む。
 これによれば、画像復号装置において処理単位に対応付けられた複数の動きベクトルから小領域で用いる動きベクトルを選択できる。よって、処理単位に含まれる複数の小領域に対して異なる動きベクトルを用いることが可能なる。また、各小領域に対して動きベクトルを指定するための情報を符号化ビットストリームに含める必要がないため符号化ビットストリームのデータ量の増加を抑制できる。このように、当該画像符号化方法は、符号化効率を向上できる。
 例えば、前記複数の参照フレームは、第1フレーム及び第2フレームを含み、前記選択ステップでは、前記複数の動きベクトルの各々に対して、前記対象フレームに含まれる対象小領域に対して当該動きベクトルにより示される前記第1フレーム上の領域と前記第2フレーム上の領域との相関を求め、当該相関に基づき前記使用する動きベクトルを選択してもよい。
 例えば、前記複数の動きベクトルは、背景の動きを示す背景ベクトルと、前景の動きを示す前景ベクトルとを含んでもよい。
 例えば、前記選択ステップでは、前記背景ベクトルの前記相関及び前記前景ベクトルの前記相関が共に予め定められた値より低い場合、前記背景ベクトルを選択してもよい。
 これによれば、参照フレームにおいて前景に隠れる領域等を背景領域と判定できるので、適切な動きベクトルを選択できる。
 例えば、前記生成ステップでは、前記背景ベクトルの前記相関及び前記前景ベクトルの前記相関が共に前記予め定められた値より低い場合、前記背景ベクトルにより示される前記第1フレーム上の第1領域と前記第2フレーム上の第2領域とのうち、背景に属する領域を用いて前記予測画を生成してもよい。
 これによれば、参照フレームにおいて前景に隠れる領域等においても適切な予測画を生成できる。
 例えば、前記生成ステップでは、前記第1領域又は前記第2領域から前記前景ベクトルにより示される前記対象フレーム上の領域である対応点が背景に属する場合、前記第1領域又は前記第2領域は背景に属すると判定してもよい。
 これによれば、背景ベクトルで示される参照フレーム上の領域が背景領域であるか前景領域であるかを適切に判定できる。
 例えば、前記生成ステップでは、前記第1領域及び前記第2領域がいずれも背景に属さない場合、前記対象フレーム内の前記対象小領域の近傍の領域の予測画を用いて当該対象小領域の予測画を生成してもよい。
 これによれば、適切な参照を行えない場合であっても予測画を生成できる。
 本開示の一態様に係る画像復号装置は、処理回路と、前記処理回路からアクセス可能な記憶装置とを備え、前記処理回路は、前記記憶装置を用いて、前記画像復号方法を実行する。
 本開示の一態様に係る画像復号装置は、対象フレームが分割されることで得られた複数の処理単位の各々に対して、当該処理単位に割り当てられた複数の動きベクトルを取得する取得部と、前記処理単位が分割されることで得られた複数の小領域の各々に対して、前記複数の動きベクトルと、互いに異なる時刻の複数の参照フレームとに基づき、前記複数の動きベクトルから使用する動きベクトルを選択する選択部と、前記複数の小領域の各々に対して、選択された前記動きベクトルを用いて予測画を生成する生成部と、前記複数の小領域の各々を、当該小領域に対して生成された前記予測画を用いて復号する復号部とを備える。
 本開示の一態様に係る画像符号化装置は、処理回路と、前記処理回路からアクセス可能な記憶装置とを備え、前記処理回路は、前記記憶装置を用いて、前記画像符号化方法を実行する。
 本開示の一態様に係る画像符号化装置は、対象フレームが分割されることで得られた複数の処理単位の各々に対して、当該処理単位に割り当てる複数の動きベクトルを検出する検出部と、前記処理単位が分割されることで得られた複数の小領域の各々に対して、前記複数の動きベクトルと、互いに異なる時刻の複数の参照フレームとに基づき、前記複数の動きベクトルから使用する動きベクトルを選択する選択部と、前記複数の小領域の各々に対して、選択された前記動きベクトルを用いて予測画を生成する生成部と、前記複数の小領域の各々を、当該小領域に対して生成された前記予測画を用いて符号化する符号化部とを備える。
 本開示の一態様に係る画像符号化復号装置は、前記画像復号装置と、前記画像符号化装置とを備える。
 なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
 以下、実施の形態について、図面を参照しながら具体的に説明する。なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。
 なお、既によく知られた事項の詳細説明、及び実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
 また、本実施の形態では、フレームを、ピクチャ又は画像と言い換えて記載する場合がある。さらに、符号化対象又は復号対象のフレーム(ピクチャ或いは画像)又はブロックを対象ピクチャ(カレントピクチャ)或いは対象フレーム(カレントフレーム)、又は対象ブロック(カレントブロック)などと言い換える場合がある。これら以外にもコーデック技術分野において一般的に用いられる種々の用語にも言い換えられる。
 (実施の形態1)
 本実施の形態では、動画像の画面間予測符号化において、所定の処理単位に割り当てられた複数の動きベクトルと、時刻が異なる複数の参照フレームとに基づき、対象フレームの所定の処理単位より小さい小領域(第1サブブロック)毎に画面間予測で使用する動きベクトルと参照フレームとを選択する。
 また、複数の動きベクトルは、所定の処理単位中の動物体又は背景などの個々の動きを符号化の際に検知して決定される。
 また、時刻が異なる少なくとも2枚以上の参照フレーム上の参照画素間の相関に基づいて動きベクトルと参照フレームの選択が判断される。
 また、動きベクトルと参照フレームの選択において、時刻が異なる2枚以上の参照フレーム上の参照画素間で高い相関が認められなかった領域については、前景の動きベクトルを利用して各参照フレームを小領域の予測に利用するか否かが決定される。
 また、動きベクトルと参照フレームの選択において、参照フレームを選択できなかった領域については、周辺の画素の予測値を用いて、当該領域の画素の予測値が決定される。
 まず、本実施の形態に係る予測方法の概要について説明する。
 動画像の画面間予測符号化において、一つの符号ブロック(予測処理の処理単位)に対して複数の動きベクトルを画像符号化装置(エンコーダ)から画像復号装置(デコーダ)へ通知する。また、画像符号化装置及び画像復号装置は、フレーム間距離に応じてスケーリングした各動きベクトルが指し示す各参照フレーム上の対応領域(第2サブブロック)の間の相関に基づき、符号ブロック内の小領域単位で、使用する動きベクトルと参照フレームを選択して予測を行う。例えば、小領域及び対応領域のサイズは、4×4、3×3、2×2画素などである。また、対応領域間の相関は、対応領域内の画素値の差分絶対値和などにより評価される。
 なお、動きベクトルが選択される単位である小領域と、相関の判定に用いられる対応領域とは同一のサイズであってもよいし、互いに異なるサイズであってもよい。例えば、対応領域は、小領域と同サイズの領域と、その近傍の領域とを含んでもよい。
 これにより、動物体と背景など符号ブロック内に異なる動きが存在する場合でも、動物体と背景の境界位置を画像符号化装置から画像復号装置へ通知することなく、画像符号化装置及び画像復号装置は、使用する動きベクトルと参照フレームとを小領域単位で適切に切り替えて予測することが可能となる。これにより、符号ブロックを細分化せずとも予測残差を低減できる。結果として、予測残差を低減しつつ、動きベクトル及び符号ブロック分割の通知のためのオーバーヘッドを削減できるため、符号化効率が向上する。
 図1は、表示時刻が過去と未来の合計2枚の参照フレームを参照する場合の動作例を示す図である。なお、図1~図3において、参照フレーム又は対象フレームとして示される全体の矩形は、予測処理の処理単位(後述する符号ブロック122)である。また、背景画素C0、前景画素C1は、符号ブロックが分割された小領域に対応し、参照画素P0(t-2d)、P0(t-d)、P0(t+d)、P1(t-2d)、P1(t-d)及びP1(t+d)は、符号ブロックが分割された対応領域に対応する。
 画像符号化装置は、2つの動きベクトルMV0及びMV1を画像復号装置に通知する。画像符号化装置及び画像復号装置は、背景画素C0に対しては、動きベクトルMV0による参照画素P0(t-d)とP0(t+d)との相関が高いため、動きベクトルMV0と、参照画素P0(t-d)及びP0(t+d)とを選択する。
 また、画像符号化装置及び画像復号装置は、前景画素C1に対しては、動きベクトルMV1による参照画素P1(t-d)とP1(t+d)との相関が高いため、動きベクトルMV1と参照画素P1(t-d)及びP1(t+d)とを選択する。
 図2は、表示時刻が過去のみの合計2枚の参照フレームを参照する場合の動作例を示す図である。
 画像符号化装置は、動きベクトルMV0及びMV1を画像復号装置に通知する。画像符号化装置及び画像復号装置は、背景画素C0に対しては、動きベクトルMV0による参照画素P0(t-d)とP0(t-2d)との相関が高いため、動きベクトルMV0と参照画素P0(t-d)及びP0(t-2d)とを選択する。
 また、画像符号化装置及び画像復号装置は、前景画素C1に対しては、動きベクトルMV1による参照画素P1(t-d)とP1(t-2d)との相関が高いため、動きベクトルMV1と参照画素P1(t-d)及びP1(t-2d)とを選択する。
 図3は、表示時刻が過去と未来の合計3枚の参照フレームを参照する場合の動作例を示す図である。
 画像符号化装置は、動きベクトルMV0及びMV1を画像復号装置に通知する。画像符号化装置及び画像復号装置は、背景画素C0に対しては、動きベクトルMV0による参照画素P0(t-2d)とP0(t-d)とP0(t+d)との相関が高いため、動きベクトルMV0と参照画素P0(t-2d)、P0(t-d)及びP0(t+d)とを選択する。
 また、画像符号化装置及び画像復号装置は、前景画素C1に対しては、動きベクトルMV1による参照画素P1(t-2d)とP1(t-d)とP1(t+d)との相関が高いため、動きベクトルMV1と参照画素P1(t-2d)、P1(t-d)及びP1(t+d)を選択する。
 次に、本実施の形態に係る画像符号化装置の構成を説明する。図4は、本実施の形態に係る画像符号化装置の構成の一例を示すブロック図である。図4に示す画像符号化装置100は、画像復号装置が使用可能な復号済み参照フレームと動きベクトルに基づいて、小領域単位で予測に使用する動きベクトルと参照フレームとを選択し、画面間予測を実施する。この画像符号化装置100は、ブロック化部101と、減算部102と、変換部103と、量子化部104と、エントロピー符号化部105と、逆量子化部106と、逆変換部107と、加算部108と、フレームメモリ109と、予測部110とを備える。
 ブロック化部101は、入力画像121を符号化処理単位である複数の符号ブロック122に分割する。減算部102は、符号ブロック122と予測ブロック133との差分である差分ブロック123を生成する。変換部103は、差分ブロック123を周波数変換することで係数ブロック124を生成する。量子化部104は係数ブロック124を量子化することで係数ブロック125を生成する。
 エントロピー符号化部105は、係数ブロック125をエントロピー符号化することでビットストリーム126を生成する。また、逆量子化部106は、係数ブロック125を逆量子化することで係数ブロック127を生成し、逆変換部107は、係数ブロック127を逆周波数変換することで差分ブロック128を復元する。加算部108は、差分ブロック128と予測ブロック133とを加算することで復号ブロック129(再構成画像)を生成する。この復号ブロック129は、フレームメモリ109に格納され、予測処理に利用される。
 予測部110は、復号ブロック129を用いて予測ブロック133を生成する。この予測部110は、動き検出部111と、動き補償部112と、セレクタ113及び115と、バッファ114及び118と、制御部116と、予測画生成部117とを備える。
 動き検出部111は、符号ブロック122及び復号ブロック129を用いて動きベクトルを算出する動き検出を行う。ここで動き検出部111は、一つの符号ブロック122に対して、複数(N本:Nは2以上の整数)の動きベクトルを算出する。このN本の動きベクトルを特定するための動き情報134は、エントロピー符号化部105に送られ符号化される。つまり、符号化ビットストリーム126は、符号ブロック122毎にN本の動きベクトルを特定するための動き情報134を含む。
 動き補償部112は、算出されたN本の動きベクトルを用いて動き補償を行うことで複数の参照ブロック130を生成する。具体的には、M枚(Mは2以上の整数)の参照フレームが用いられる場合には、動き補償部112は、各動きベクトルに対してM個の参照ブロック130を生成する。つまり、N×M個の参照ブロック130が生成される。
 複数(N×M個)のバッファ114は、N個のバッファ群に分類される。N個のバッファ群はN個の動きベクトルと一対一に対応する。各バッファ群はM個バッファを含み、M個のバッファはM個の参照フレームと一対一に対応する。動き補償部112で生成されたN×M個の参照ブロック130はセレクタ113を介して、対応するバッファ114に一時的に保持される。
 制御部116は、符号ブロック122内の小領域単位で、各動きベクトルについて、M個の参照フレーム上のM個の参照画素131の間の相関を評価し、予測に使用する一つの動きベクトルと複数の参照フレームとを選択する。また、制御部116は、各小領域に対して、選択した動きベクトルで示される複数の参照画素131を、セレクタ115を介して予測画生成部117に出力する。ここで複数の参照画素131は、複数の参照フレーム(参照ブロック130)上の小領域と同一サイズの画像(画素値)である。
 予測画生成部117は、取得した複数の参照画素131を用いて各小領域の予測画132を生成する。例えば、予測画生成部117は、取得した複数の参照画素131の加重平均を用いて各小領域の予測画132を生成する。この予測画132は、バッファ118に格納され、符号ブロック122に対応する複数の予測画132が予測ブロック133として出力される。
 なお、周波数変換及び量子化処理は、それぞれ別処理として逐次行われてもよいし、一括して行われてもよい。同様に、逆量子化及び逆周波数変換処理は、それぞれを別処理として逐次行われてもよいし、一括して行われてもよい。
 また量子化とは、予め定められた間隔でサンプリングした値を予め定められたレベルに対応付けてデジタル化する処理である。逆量子化とは、量子化で得られた値を元の区間の値に戻す処理である。データ圧縮分野では、量子化は、値をオリジナルよりも粗い区間に分ける処理を意味し、逆量子化は粗い区間をオリジナルの細かい区間に分けなおす処理を意味する。コーデック技術分野では、量子化及び逆量子化を、丸め、ラウンディング、又はスケーリングと呼ぶ場合もある。
 また、図4では、主に本実施の形態の特徴的な構成のみを記載しているが、さらに、一般的に用いられるインター予測及びイントラ予測等が用いられてもよい。この場合には、上述した予測処理、インター予測及びイントラ予測のうち符号化効率が最も高い手法が、符号ブロック122毎に選択される。
 また、ここでは、符号ブロック122毎にN個の動きベクトルが選択される例を説明したが、符号ブロック122を分割した処理単位毎にN個の動きベクトルが選択されてもよい。
 次に、画像符号化装置100による動作を説明する。図5は、画像符号化装置100による画面間予測処理の動作例を示すフローチャートである。
 まず、動き検出部111は、動き検出により処理対象の符号ブロック122のN本の動きベクトルを算出する(S101)。具体的には、図6に示すように、動き検出部111は、小領域毎に動きベクトルを求め、求めた複数の動きベクトルのうち代表的な動きベクトルをN本選択する。例えば、複数の動きベクトルのうち出現頻度の高い(ヒストグラムのピークとなる)N本の動きベクトルが選択される。例えば、図6に示すように、背景の動きを示す動きベクトルMV0と、前景(移動物体)の動きを示す動きベクトルMV1とが選択される。
 また、符号化ビットストリーム126の一部として、選択されたN本の動きベクトルを示す情報が画像復号装置に通知される。なお、探索方法は、小領域毎の動きを検出できる方法であれば任意の方法を用いてよい。
 次に、動き補償部112は、複数の動きベクトルを用いて参照ブロックを取得する(S102)。具体的には、図7に示すように、動き補償部112は、ステップS101で取得した複数の動きベクトルをスケーリングし、各参照フレーム上の対応する参照ブロックを取得する。
 図7の例では、時刻tの対象フレームと、時刻t-2d、時刻t-d及び時刻t+dの参照フレーム1~3が存在する。この場合、動き補償部112は、動きベクトルMV0をスケーリングすることで動きベクトル-MV0及び-2MV0を導出し、動きベクトルMV0で示される参照フレーム3上の参照ブロックと、動きベクトル-MV0で示される参照フレーム2上の参照ブロックと、動きベクトル-2MV0で示される参照フレーム1上の参照ブロックとを取得する。同様に、動き補償部112は、動きベクトルMV1をスケーリングすることで動きベクトル-MV1及び-2MV1を導出し、動きベクトルMV1で示される参照フレーム3上の参照ブロックと、動きベクトル-MV1で示される参照フレーム2上の参照ブロックと、動きベクトル-2MV1で示される参照フレーム1上の参照ブロックとを取得する。取得されたこれらの参照ブロック130はバッファ114に保持される。
 次に、制御部116は、小領域毎に複数の動きベクトルから動きベクトルを選択する(S103)。具体的には、制御部116は、等速直線運動を仮定し、各動きベクトルに対応する参照画素間の相関を小領域毎に評価する。そして、制御部116は、図8に示すように小領域毎に相関の高い動きベクトルを選択する。
 なお、小領域は、4×4画素又は2×2画素などの矩形ブロックだけでなく、1画素であってもよい。1画素単位で動きベクトルを選択する場合には、前方及び後方の参照画素が偶然一致することがあるために判定が不安定になることが考えられる。これに対し、制御部116は、3×3画素又は上下左右画素含めた5画素など広めの範囲で相関を評価する。例えば、制御部116は、参照画素に対して3×3画素などのローパスフィルタをかける、又は、周囲の画素で選択されたベクトルが揃っている場合には同じベクトルを選択するなどの対策を講じてもよい。
 次に、予測部110は、各小領域の予測画132を生成する(S104)。例えば、この方法として、符号化対象フレームに時間距離が近い参照フレームの画素を予測画132(予測値)とする方法、又は、複数の参照画素を用いて時間距離に応じた加重平均値を予測画132とする方法などを用いることができる。加重平均のために、シーケンス、ピクチャ又はスライス単位で明示的に重みを通知してもよい。また、重みが0となる参照フレームがあってもよい。
 また、図5のステップS103において、背景領域の参照画素が前景に隠されるなど、単純な参照画素間の相関評価だけでは動きベクトルの選択が困難な場合がある。よって、制御部116は、さらに、前景の動きベクトルを用いて参照画素の符号化対象フレーム上における対応点を求め、対応点の画素において選択された動きベクトルが前景の動きベクトルであるか否かを判定する。例えば、画像符号化装置から画像復号装置に動きベクトルを通知する際、背景の動きベクトルから順に通知するなど予めルールを決めておく。これにより、画像復号装置はどの動きベクトルが背景の動きベクトルであるかを知ることができる。また、画像符号化装置は、動きベクトルの選択が困難な領域について、参照画素と対象画素の相関を評価することなどにより、いずれの動きベクトルに従う領域が背景であるかを判断できる。
 具体的には、対応点の画素が、前景の動きベクトルであった場合、制御部116は、参照画素が前景の動きベクトルに従う領域に属すると判定し、背景領域と考えられる当該領域の予測には当該参照画素を使用しない。一方、対応点の画素において選択された動きベクトルが背景の動きベクトルである場合、制御部116は、参照画素が背景の動きベクトルに従う領域に属すると判定し、背景領域と考えられる当該領域の予測に当該参照画素を使用する。また、制御部116は、単純な参照画素間の相関評価だけでは対応点の画素の動きベクトルの選択が困難な場合、参照フレームにおいて前景に隠されている背景領域に対応点が属すると考えられるため、参照画素は背景の動きベクトルに従う領域に属すると判定し、背景領域と考えられる当該領域の予測に参照画素を使用する。
 以下、表示時刻が過去と未来の合計2枚の参照フレームを参照する場合の例を説明する。図9は、この場合の動作例を示す図である。ここで動きベクトルMV0は背景の動きベクトル(背景ベクトル)であり、動きベクトルMV1は前景の動きベクトル(前景動きベクトル)である。
 まず、図5のステップS103により、図9に示すように、符号化対象フレームを小領域毎に前景領域151、背景領域152、又はそれ以外の不明領域153に分類する。前景領域151は、前景の動きベクトルが選択される小領域であり、背景領域152は、背景の動きベクトルが選択される小領域である。不明領域153は、前景領域151及び背景領域152以外の領域である。この不明領域153は、参照フレームにおいて前景に隠されている背景領域と考えられる。また、不明領域153は、いずれの動きベクトルでも参照画素間の相関が小さい領域である。なお、相関が高い又は低いとは、例えば、相関が予め定められた基準値より高い又は低いことを意味する。
 次に、制御部116は、不明領域153に対しては、背景ベクトルMV0に対応する参照画素について、前景ベクトルMV01に基づく対象フレーム上の対応点を求め、対象フレーム上の対応点が、前景領域151、背景領域152、及び不明領域153のうち、いずれの領域に属するか判定する。そして制御部116は、対応点が背景(背景領域152又は不明領域153)に属する参照画素を予測に使用する。図9に示す小領域C01の例では、背景ベクトルMV0に対応する参照画素P01(t-d)及びP01(t+d)が存在する。参照画素P01(t-d)の対応点X01Aは、前景領域151に属するため、参照画素P01(t-d)は予測に使用されない。参照画素P01(t+d)の対応点X01Bは、背景領域152に属するため、参照画素P01(t+d)は予測に使用される。また、小領域C02の例では、背景ベクトルMV0に対応する参照画素P02(t-d)及びP02(t+d)が存在する。参照画素P02(t-d)の対応点X02Aは、背景領域152に属するため、参照画素P02(t-d)は予測に使用される。参照画素P02(t+d)の対応点X02Bは、前景領域151に属するため、参照画素P02(t+d)は予測に使用されない。
 また、図9の方法において、対応点の画素が、全て対象ブロック外の未符号化(又は未復号)の画素などであり、判断に利用できない場合には、当該参照画素を当該領域の予測には使用しないことが望ましいが、画像符号化装置と画像復号装置とで同じ結果となる判定方法であれば当該参照画素を当該領域の予測に使用してもよい。なお、対応点の画素が、対象ブロック外の未符号化(又は未復号)の画素であった場合でも、他の参照画素が前景と判断された場合には、当該参照画素を背景と判断して予測に使用してもよい。
 また、図9の方法及び上記方法において、予測に使用する画素が見つからなかった場合には、制御部116は、当該画素に対応する全ての参照フレーム上の画素は前景に隠されていると判断し、近傍の背景領域の画素の予測値(予測画)をコピーするなどして当該画素の予測値を決定する。
 次に、表示時刻が過去のみの合計2枚の参照フレームを参照する場合の例を説明する。図10は、この場合の動作例を示す図である。
 図9の例と同様に、制御部116は、各小領域を、前景領域151、背景領域152及び不明領域153に分類する。さらに、制御部116は、不明領域153を、一つの参照画素を利用可能な領域153Aと、利用可能な参照画素が存在しない領域153Bとに分類する。
 具体的には、領域153Aに属する小領域C03の例では、背景ベクトルMV0に対応する参照画素P03(t-2d)及びP03(t-d)が存在する。参照画素P03(t-2d)の対応点X03Aは、前景領域151に属するため、参照画素P03(t-2d)は予測に使用されない。参照画素P03(t-d)の対応点X03Bは、背景領域152に属するため、参照画素P03(t-d)は予測に使用される。
 一方、領域153Bに属する小領域C04の例では、背景ベクトルMV0に対応する参照画素P04(t-2d)及びP04(t-d)が存在する。参照画素P04(t-2d)及びP04(t-d)は、いずれも前景領域151に属するため、参照画素P04(t-2d)及びP04(t-d)は予測に使用されない。この場合、参照に使用する画素が無いため、制御部116は、近傍の背景領域152の画素の予測値をコピーするなどして、当該画素の予測値を決定する。
 次に、表示時刻が過去と未来の合計3枚の参照フレームを参照する場合の例を説明する。図11は、この場合の動作例を示す図である。
 この場合も図9及び図10の例と同様に、制御部116は、各小領域を、前景領域151、背景領域152(152A並びに152B)及び不明領域153に分類する。
 具体的には、領域153に属する小領域C05の例では、背景ベクトルMV0に対応する参照画素P05(t-2d)、P05(t-d)及びP05(t+d)が存在する。参照画素P05(t-2d)及びP05(t-d)の対応点X05A及びX05Bは、前景領域151に属するため、参照画素P05(t-2d)及びP05(t-d)は予測に使用されない。参照画素P05(t+d)の対応点X05Cは、背景領域152に属するため、参照画素P05(t+d)は予測に使用される。
 また、背景領域152Aに属する小領域C06は、時刻t+dの参照フレームでは前景に隠されてしまう領域であるが、2つの参照フレーム上の参照画素P06(t-d)と参照画素P06(t-2d)との相関が高い。よって、制御部116は、この小領域C06を背景領域と判断し、参照画素P06(t-d)及びP06(t-2d)を小領域C06の予測画132の決定に使用する。同様に、背景領域152Bは、時刻(t-2d)の参照フレームでは前景に隠されてしまう領域であるが、時刻(t-d)及び時刻(t+d)のフレーム上の参照画素間の相関が高い。よって、制御部116は、背景領域152Bに対して、時刻(t-d)及び時刻(t+d)のフレーム上の参照画素を使用する。
 図12は、本実施の形態に係る動きベクトル及び参照画素の選択処理(図5のステップS103及びS104)のフローチャートである。この処理は、小領域毎に行われる。
 図12に示すように、制御部116は、前景ベクトル(前景に対応する動きベクトル)で示される複数の参照画素間の相関が高い場合(S111でYes)には、処理対象の小領域が前景領域に属すると判断し、前景ベクトルを選択し、前景ベクトルで示される複数の参照画素を処理対象の小領域の予測に使用すると決定する(S114)。
 また、制御部116は、背景ベクトル(背景に対応する動きベクトル)で示される複数の参照画素間の相関が高い場合(S112でYes)には、処理対象の小領域が背景領域に属すると判断し、背景ベクトルを選択し、背景ベクトルで示される複数の参照画素を処理対象の小領域の予測に使用すると決定する(S115)。
 なお、上述したように、3以上の参照フレームが用いられる場合には、制御部116は、少なくとも2つの参照画素間の相関が高い場合に、処理対象の小領域が背景領域に属すると判断する。また、制御部116は、背景ベクトルで示される複数の参照画素のうち、相関が高い参照画素を処理対象の小領域の予測に使用すると決定する。
 また、前景ベクトル及び背景ベクトルのいずれにおいても相関が高い参照画素が存在しない場合には(S111でNoかつS112でNo)、制御部116は、背景ベクトルで示される複数の参照画素のうち背景領域に属する参照画素が存在するかを判定する(S113)。具体的には、上述したように、制御部116は、参照画素の対応点が背景領域に属する場合には、当該参照画素が背景領域に属すると判定する。
 背景ベクトルで示される複数の参照画素のうち背景領域に属する参照画素が存在する場合には(S113でYes)、制御部116は、当該参照画素を処理対象の小領域の予測に使用すると決定する(S116)。
 一方、背景ベクトルで示される複数の参照画素に背景領域に属する参照画素が含まれない場合(S113でNo)、例えば、全ての参照画素が、前景領域に属する、又は、ブロック外に存在する場合には、制御部116は、近傍の背景領域に含まれる小領域の予測画を処理対象の小領域の予測画に使用する(コピーする)と決定する(S117)。
 次に、本実施の形態に係る予測方法の適用例を説明する。図13は、HB3と呼ばれる階層的な画面間予測符号化構造を示す図である。図13に示す、表示順序で0番目(ランダムアクセスポイント)及び4番目以外のフレームでは、2枚以上の参照フレームを利用可能である。よって、これらのフレームに対して本実施の形態に係る予測方法を適用することができる。
 なお、本実施の形態に係る予測方法が使用されていることを示す情報を画像符号化装置から画像復号装置に通知する方法としては以下の方法を用いることができる。
 例えば、予測ブロック毎に通知される予測タイプの1つとして従来の予測タイプに上記予測方法を示す予測タイプを追加してもよい。または、2本の動きベクトルを通知する従来の双予測において、予測画の生成方法のみを本実施の形態の予測方法に置換えてもよい。また、シーケンスパラメータセット(以下SPS)、ピクチャパラメータセット(以下PPS)、又はスライスヘッダ(以下SH)などに、新たな予測タイプとして本実施の形態の予測方法を追加するか否か、又は従来の双予測の予測方法を本実施の形態の予測方法に置換えるか否かなどを通知するための情報を埋め込み、シーケンス、ピクチャ又はスライス単位で予測方法を切替え可能としてもよい。
 なお、上記説明では、符号ブロック内の小領域(4×4又は2×2画素など)単位で、使用する動きベクトルと参照フレームとを選択して予測を行うとした。この小領域のサイズは、4×4又は2×2画素などの予め定められたサイズに固定されてもよいし、SPS、PPS、又はSHなどに、サイズを示す情報が埋め込まれ、シーケンス、ピクチャ又はスライス単位で切替え可能としてもよい。
 また、小領域のサイズは、4×4画素などの複数画素を基本とし、4×4画素内に物体境界が含まれるケースなどの4×4より小さなサイズでの予測が効果的と考えられる場合に限って2×2画素又は1画素単位に切替える階層的な切替えも実施可能である。階層的な切替えを行うか否かを示す情報も、SPS、PPS又はSHなどに切替え情報を埋め込むことで、シーケンス、ピクチャ又はスライス単位で制御を切替え可能である。
 また、上記説明では、各参照フレーム上の参照画素の間の相関に基づき、符号ブロック内の小領域単位で使用する動きベクトルと参照フレームを選択して予測を行うとしたが、相関の高さの判断基準となる閾値などのパラメータをSPS、PPS及びSHなどに埋め込むことで、符号化の際に画像のノイズの多さなどに合わせた調整が可能となる。
 次に、本誌実施の形態に係る画像復号装置の構成を説明する。図14は、本実施の形態に係る画像復号装置200の構成例を示すブロック図である。図14に示す画像復号装置200は、上述した画像符号化装置100により生成されたビットストリーム126であるビットストリーム221を復号することで復号画像226を生成する。
 この画像復号装置200は、エントロピー復号部201と、逆量子化部202と、逆変換部203と、加算部204と、フレームメモリ205と、予測部206とを備える。
 エントロピー復号部201は、1以上のピクチャを含む静止画又は動画が符号化されることで生成されたビットストリーム221から、係数ブロック222及び動き情報231を復号する。ここで動き情報231は、上述した動き情報134に対応し、符号ブロック毎に複数の動きベクトルを特定するための情報である。
 逆量子化部202は、係数ブロック222を逆量子化することで係数ブロック223を生成する。逆変換部203は、係数ブロック223を逆変換することで差分ブロック224を生成する。
 加算部204は、差分ブロック224と予測ブロック230とを加算することで復号ブロック225を生成する。この復号ブロック225は、フレームメモリ109に格納され、復号画像226として出力されるとともに、予測処理に利用される。
 なお、差分ブロック224、復号ブロック225及び予測ブロック230のサイズは、例えば、予測処理単位である上述した符号ブロックのサイズと同一である。
 予測部206は、復号ブロック225を用いて予測ブロック230を生成する。この予測部206は、動き補償部207と、セレクタ208及び210と、バッファ209及び213と、制御部211と、予測画生成部212とを備える。
 なお、予測部206に含まれる各処理部の動作は、上述した画像符号化装置100が備える予測部110に含まれる各処理部の動作と同様である。ただし、予測部110では、動き検出部111により符号ブロック毎の複数の動きベクトルが検出されたが、予測部206では、ビットストリーム221に含まれる動き情報231により符号ブロック毎の複数の動きベクトルが示される。
 つまり、動き補償部207は、動き情報231で示されるN本の動きベクトルを用いて動き補償を行うことで複数の参照ブロック227を生成する。複数(N×M個)のバッファ209は、N個のバッファ群に分類される。N個のバッファ群はN個の動きベクトルと一対一に対応する。各バッファ群はM個バッファを含み、M個のバッファはM個の参照フレームと一対一に対応する。動き補償部207で生成されたN×M個の参照ブロック227はセレクタ208を介して対応するバッファ209に一時的に保持される。
 制御部211は、符号ブロック内の小領域単位で、各動きベクトルについて、M個の参照フレーム上のM個の参照画素228の間の相関を評価し、予測に使用する一つの動きベクトルと複数の参照フレームとを選択する。また、制御部211は、各小領域に対して、選択した動きベクトルで示される複数の参照画素228を、セレクタ210を介して予測画生成部212に出力する。
 予測画生成部212は、取得した複数の参照画素228を用いて各小領域の予測画229を生成する。この予測画229は、バッファ213に格納され、符号ブロックに対応する複数の予測画229が予測ブロック230として出力される。
 なお、逆量子化及び逆周波数変換処理は、それぞれ個別の処理として逐次行われてもよいし、一括して行われてもよい。また、HEVCなどの現在主流のコーディング規格では、逆量子化及び逆周波数変換処理は一括して行われる。また、復号側においても、符号化側と同様に、これらの処理にスケーリング等の表現が用いられる場合がある。
 また、符号化側と同様に、さらに、一般的に用いられるインター予測及びイントラ予測等が用いられてもよい。この場合には、上述した予測処理、インター予測及びイントラ予測のうちいずれを用いるかを示す情報がビットストリーム221に含まれ、画像復号装置200は当該情報に応じて符号ブロック毎に予測方法を選択する。
 なお、上記説明では、符号ブロックに対して、それぞれ1つの前景ベクトル及び背景ベクトルが用いられる例を述べたが、前景ベクトル及び背景ベクトルの少なくとも一方に複数のベクトルが用いられてもよい。例えば、2つの前景ベクトルと、2つの背景ベクトルとが用いられてもよい。この場合、参照フレーム1に対して、小領域毎に複数の動きベクトルが求められ、その中から出現頻度の高い2つの動きベクトル(前景ベクトル1及び背景ベクトル2)が選択される。同様に、参照フレーム2に対して、小領域毎に複数の動きベクトルが求められ、その中から出現頻度の高い2つの動きベクトル(前景ベクトル2及び背景ベクトル2)が選択される。
 この場合、前景ベクトルと背景ベクトルとの組わせとしては、(前景ベクトル1、背景ベクトル1)、(前景ベクトル1、背景ベクトル2)、(前景ベクトル2、背景ベクトル1)、(前景ベクトル2、背景ベクトル2)の4通りが考えられる。よって、画像符号化装置100(又は画像復号装置200)は、これらの4通りの組み合わせのコスト値を算出し、コスト値が最も低い組み合わせを使用する前景ベクトル及び背景ベクトルの組として選択する。
 具体的には、前景領域の予測残差の合計と、背景領域の予測残差の合計と、それ以外の領域の予測残差の合計との和が、符号ブロックの残差として算出される。また、動きベクトルのビット量が算出される。この符号ブロックの残差と動きベクトルのビット量との加算値又は重み付け加算値がコスト値として算出される。
 なお、動きベクトルのビット量に差がない(又は少ない)場合には、符号ブロックの残差のみによりコスト値が算出されてもよい。
 また、上記説明では、参照フレームの参照画素を使用できない場合に、近傍の背景領域の予測画を対象小領域の予測画に用いる(S117)としたが、イントラ予測のように、対象フレームに含まれる対象小領域の近傍の背景領域の画素値を対象小領域の予測画として用いてもよいし、当該画素値を対象小領域の画素値としてコピーしてもよい。
 以上のように、本実施の形態に係る画像符号化装置100は、図15に示す画像符号化処理を行う。まず、動き検出部111は、対象フレームが分割されることで得られた複数の処理単位(符号ブロック122)の各々に対して、当該処理単位に割り当てる複数の動きベクトルを検出する(S121)。
 次に、制御部116は、処理単位が分割されることで得られた複数の小領域の各々に対して、複数の動きベクトルと、互いに異なる時刻の複数の参照フレームとに基づき、複数の動きベクトルから使用する動きベクトルを選択する(S122)。
 例えば、複数の参照フレームは、第1フレーム及び第2フレームを含み、制御部116は、複数の動きベクトルの各々に対して、対象フレームに含まれる対象小領域に対して当該動きベクトルにより示される第1フレーム上の領域(参照画素131)と第2フレーム上の領域(参照画素131)との相関を求め、当該相関が高い動きベクトルを選択する。なお、ここで用いられる動きベクトルとは、動きベクトルそのもの、又は当該動きベクトルを対象フレームと参照フレームと時間距離に応じてスケーリングした動きベクトルである。
 また、複数の動きベクトルは、背景の動きを示す背景ベクトルと、前景の動きを示す前景ベクトルとを含む。制御部116は、背景ベクトルの相関及び前景ベクトルの相関が共に予め定められた値より低い場合、背景ベクトルを選択する。
 次に、予測画生成部117は、複数の小領域の各々に対して、選択された動きベクトルを用いて予測画132を生成する(S123)。例えば、予測画生成部117は、背景ベクトルの相関及び前景ベクトルの相関が共に予め定められた値より低い場合、背景ベクトルにより示される第1フレーム上の第1領域と第2フレーム上の第2領域とのうち、背景に属する領域を用いて予測画132を生成する。例えば、予測画生成部117は、第1領域(又は第2領域)から前景ベクトルにより示される対象フレーム上の領域である対応点が背景に属する場合、第1領域(又は第2領域)は背景に属すると判定する。また、予測画生成部117は、第1領域及び第2領域がいずれも背景に属さない場合、対象フレーム内の対象小領域の近傍の領域の予測画を用いて当該対象小領域の予測画132を生成する。
 次に、符号化部(減算部102、変換部103、量子化部104及びエントロピー符号化部105等)は、複数の小領域の各々を、当該小領域に対して生成された予測画132を用いて符号化する(S124)。具体的には、符号化部は、小領域の画素値と予測画132との差分を算出し、当該差分に周波数変換、量子化及びエントロピー符号化(可変長符号化)を行うことでビットストリーム126を生成する。
 なお、ステップS121で検出された、処理単位毎の複数の動きベクトルを示す情報は符号化されることでビットストリーム126に含まれる。一方で、ステップS122で選択された小領域毎の動きベクトルを示す情報はビットストリーム126に含まれない。つまり、小領域毎の動きベクトルを示す情報は画像復号装置に送られない。
 また、本実施の形態に係る画像復号装置200は、図16に示す画像復号処理を行う。まず、エントロピー復号部201は、対象フレームが分割されることで得られた複数の処理単位(符号ブロック)の各々に対して、当該処理単位に割り当てられた複数の動きベクトルを取得する(S131)。具体的には、エントロピー復号部201は、ビットストリーム221から、処理単位に割り当てられた複数の動きベクトルを示す動き情報231を取得する。
 次に、制御部211は、処理単位が分割されることで得られた複数の小領域の各々に対して、複数の動きベクトルと、互いに異なる時刻の複数の参照フレームとに基づき、複数の動きベクトルから使用する動きベクトルを選択する(S132)。
 例えば、複数の参照フレームは、第1フレーム及び第2フレームを含み、制御部211は、複数の動きベクトルの各々に対して、対象フレームに含まれる対象小領域に対して当該動きベクトルにより示される第1フレーム上の領域(参照画素228)と第2フレーム上の領域(参照画素228)との相関を求め、当該相関が高い動きベクトルを選択する。
 また、複数の動きベクトルは、背景の動きを示す背景ベクトルと、前景の動きを示す前景ベクトルとを含む。制御部211は、背景ベクトルの相関及び前景ベクトルの相関が共に予め定められた値より低い場合、背景ベクトルを選択する。
 次に、予測画生成部212は、複数の小領域の各々に対して、選択された動きベクトルを用いて予測画229を生成する(S133)。例えば、予測画生成部212は、背景ベクトルの相関及び前景ベクトルの相関が共に予め定められた値より低い場合、背景ベクトルにより示される第1フレーム上の第1領域と第2フレーム上の第2領域とのうち、背景に属する領域を用いて予測画を生成する。例えば、予測画生成部212は、第1領域(又は第2領域)から前景ベクトルにより示される対象フレーム上の領域である対応点が背景に属する場合、第1領域(又は第2領域)は背景に属すると判定する。また、予測画生成部212は、第1領域及び第2領域がいずれも背景に属さない場合、対象フレーム内の対象小領域の近傍の領域の予測画を用いて当該対象小領域の予測画229を生成する。
 次に、復号部(エントロピー復号部201、逆量子化部202、逆変換部203及び加算部204等)は、複数の小領域の各々を、当該小領域に対して生成された予測画229を用いて復号する(S134)。具体的には、復号部は、小領域の符号化データをエントロピー復号(可変長復号)、逆量子化及び逆周波数変換することで、小領域の差分値を復元する。復号部は、当該差分値に予測画229を加算することで小領域の画素値を復元する。
 なお、ビットストリーム221には、小領域毎の動きベクトルを示す情報は含まれない。つまり、小領域毎の動きベクトルを示す情報は画像復号装置に送られない。
 以上により、画像復号装置において処理単位に対応付けられた複数の動きベクトルから小領域で用いる動きベクトルを選択できる。よって、処理単位に含まれる複数の小領域に対して異なる動きベクトルを用いることが可能なる。また、各小領域に対して動きベクトルを指定するための情報を符号化ビットストリームに含める必要がないため符号化ビットストリームのデータ量の増加を抑制できる。このように、本実施の形態に係る画像符号化装置100及び画像復号装置200は、符号化効率を向上できる。
 以上、本実施の形態に係る画像符号化装置に及び画像復号装置ついて説明したが、本開示は、この実施の形態に限定されるものではない。
 また、上記実施の形態に係る画像符号化装置及び画像復号装置に含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。
 また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
 上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPU又はプロセッサなどのプログラム実行部が、ハードディスク又は半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
 言い換えると、画像符号化装置及び画像復号装置は、処理回路(processing circuitry)と、当該処理回路に電気的に接続された(当該処理回路からアクセス可能な)記憶装置(storage)とを備える。処理回路は、専用のハードウェア及びプログラム実行部の少なくとも一方を含む。また、記憶装置は、処理回路がプログラム実行部を含む場合には、当該プログラム実行部により実行されるソフトウェアプログラムを記憶する。処理回路は、記憶装置を用いて、上記実施の形態に画像符号化方法又は画像復号方法を実行する。
 さらに、本開示は上記ソフトウェアプログラムであってもよいし、上記プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
 また、上記で用いた数字は、全て本開示を具体的に説明するために例示するものであり、本開示は例示された数字に制限されない。
 また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
 また、上記の画像符号化方法又は画像復号方法に含まれるステップが実行される順序は、本開示を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。
 以上、本開示の一つ又は複数の態様に係る画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法について、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の一つ又は複数の態様の範囲内に含まれてもよい。
 (実施の形態2)
 以上の各実施の形態において、機能ブロックの各々は、通常、MPU及びメモリ等によって実現可能である。また、機能ブロックの各々による処理は、通常、プロセッサなどのプログラム実行部が、ROM等の記録媒体に記録されたソフトウェア(プログラム)を読み出して実行することで実現される。当該ソフトウェアはダウンロード等により配布されてもよいし、半導体メモリなどの記録媒体に記録して配布されてもよい。なお、各機能ブロックをハードウェア(専用回路)によって実現することも、当然、可能である。
 また、各実施の形態において説明した処理は、単一の装置(システム)を用いて集中処理することによって実現してもよく、又は、複数の装置を用いて分散処理することによって実現してもよい。また、上記プログラムを実行するプロセッサは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、又は分散処理を行ってもよい。
 本開示は、以上の実施例に限定されることなく、種々の変更が可能であり、それらも本開示の範囲内に包含される。
 さらにここで、上記各実施の形態で示した動画像符号化方法(画像符号化方法)又は動画像復号化方法(画像復号方法)の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、画像復号方法を用いた画像復号装置、及び両方を備える画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
 [使用例]
 図17は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex105、ex106、ex107、ex108、ex109、ex110、ex110が設置されている。
 このコンテンツ供給システムex100では、インターネットex101に、インターネットサービスプロバイダex102又は通信網ex104、及び基地局ex105~ex111を介して、コンピュータex111、ゲーム機ex112、カメラex113、家電ex114、及びスマートフォンex115などの各機器が接続される。当該コンテンツ供給システムex100は、上記のいずれかの要素を組合せて接続するようにしてもよい。固定無線局である基地局ex105~ex111を介さずに、各機器が電話網又は近距離無線等を介して直接的又は間接的に相互に接続されていてもよい。また、ストリーミングサーバex103は、インターネットex201等を介して、コンピュータex111、ゲーム機ex112、カメラex113、家電ex114、及びスマートフォンex115などの各機器と接続される。また、ストリーミングサーバex103は、衛星ex116を介して、飛行機ex117内のホットスポット内の端末等と接続される。
 なお、基地局ex105~ex111の代わりに、無線アクセスポイント又はホットスポット等が用いられてもよい。また、ストリーミングサーバex103は、インターネットex101又はインターネットサービスプロバイダex102を介さずに直接通信網ex104と接続されてもよいし、衛星ex116を介さず直接飛行機ex117と接続されてもよい。
 カメラex113はデジタルカメラ等の静止画撮影、及び動画撮影が可能な機器である。また、スマートフォンex115は、一般に2G、3G、3.9G、4G、そして今後は5Gと呼ばれる移動通信システムの方式に対応したスマートフォン機、携帯電話機、又はPHS(Personal Handyphone System)等である。
 家電ex118は、冷蔵庫、又は家庭用燃料電池コージェネレーションシステムに含まれる機器等である。
 コンテンツ供給システムex100では、撮影機能を有する端末が基地局ex105等を通じてストリーミングサーバex103に接続されることで、ライブ配信等が可能になる。ライブ配信では、端末(コンピュータex111、ゲーム機ex112、カメラex113、家電ex114、スマートフォンex115、及び飛行機ex117内の端末等)は、ユーザが当該端末を用いて撮影した静止画又は動画コンテンツに対して上記各実施の形態で説明した符号化処理を行い、符号化により得られた映像データと、映像に対応する音を符号化した音データと多重化し、得られたデータをストリーミングサーバex103に送信する。即ち、各端末は、本開示の一態様に係る画像符号化装置として機能する。
 一方、ストリーミングサーバex103は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントは、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、ゲーム機112、カメラex113、家電ex114、スマートフォンex115、又は飛行機ex117内の端末等である。配信されたデータを受信した各機器は、受信したデータを復号化処理して再生する。即ち、各機器は、本開示の一態様に係る画像復号装置として機能する。
 [分散処理]
 また、ストリーミングサーバex103は複数のサーバ又は複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。例えば、ストリーミングサーバex103は、CDN(Contents Delivery Network)により実現され、世界中に分散された多数のエッジサーバとエッジサーバ間をつなぐネットワークによりコンテンツ配信が実現されていてもよい。CDNでは、クライアントに応じて物理的に近いエッジサーバが動的に割り当てられる。そして、当該エッジサーバにコンテンツがキャッシュ及び配信されることで遅延を減らすことができる。また、何らかのエラーが発生した場合又はトラフィックの増加などにより通信状態が変わる場合に複数のエッジサーバで処理を分散したり、他のエッジサーバに配信主体を切り替えたり、障害が生じたネットワークの部分を迂回して配信を続けることができるので、高速かつ安定した配信が実現できる。
 また、配信自体の分散処理にとどまらず、撮影したデータの符号化処理を各端末で行ってもよいし、サーバ側で行ってもよいし、互いに分担して行ってもよい。一例として、一般に符号化処理では、処理ループが2度行われる。1度目のループでフレーム又はシーン単位での画像の複雑さ、又は、符号量が検出される。また、2度目のループでは画質を維持して符号化効率を向上させる処理が行われる。例えば、端末が1度目の符号化処理を行い、コンテンツを受け取ったサーバ側が2度目の符号化処理を行うことで、各端末での処理負荷を減らしつつもコンテンツの質と効率を向上させることができる。この場合、ほぼリアルタイムで受信して復号する要求があれば、端末が行った一度目の符号化済みデータを他の端末で受信して再生することもできるので、より柔軟なリアルタイム配信も可能になる。
 他の例として、カメラex113等は、画像から特徴量抽出を行い、特徴量に関するデータをメタデータとして圧縮してサーバに送信する。サーバは、例えば特徴量からオブジェクトの重要性を判断して量子化精度を切り替えるなど、画像の意味に応じた圧縮を行う。特徴量データはサーバでの再度の圧縮時の動きベクトル予測の精度及び効率向上に特に有効である。また、端末でVLC(可変長符号化)などの簡易的な符号化を行い、サーバでCABAC(コンテキスト適応型二値算術符号化方式)など処理負荷の大きな符号化を行ってもよい。
 さらに他の例として、スタジアム、ショッピングモール、又は工場などにおいては、複数の端末によりほぼ同一のシーンが撮影された複数の映像データが存在する場合がある。この場合には、撮影を行った複数の端末と、必要に応じて撮影をしていない他の端末及びサーバを用いて、例えばGOP(Group of Picture)単位、ピクチャ単位、又はピクチャを分割したタイル単位などで符号化処理をそれぞれ割り当てて分散処理を行う。これにより、遅延を減らし、よりリアルタイム性を実現できる。
 また、複数の映像データはほぼ同一シーンであるため、各端末で撮影された映像データを互いに参照し合えるように、サーバで管理及び/又は指示をしてもよい。または、各端末からの符号化済みデータを、サーバが受信し複数のデータ間で参照関係を変更、又はピクチャ自体を補正或いは差し替えて符号化しなおしてもよい。これにより、一つ一つのデータの質と効率を高めたストリームを生成できる。
 また、サーバは、映像データの符号化方式を変更するトランスコードを行ったうえで映像データを配信してもよい。例えば、サーバは、MPEG系の符号化方式をVP系に変換してもよいし、H.264をH.265に変換してもよい。
 このように、符号化処理は、端末、又は1以上のサーバにより行うことが可能である。よって、以下では、処理を行う主体として「サーバ」又は「端末」等の記載を用いるが、サーバで行われる処理の一部又は全てが端末で行われてもよいし、端末で行われる処理の一部又は全てがサーバで行われてもよい。また、これらに関しては、復号処理についても同様である。
 [3D、マルチアングル]
 近年では、互いにほぼ同期した複数のカメラex113及び/又はスマートフォンex115などの端末により撮影された異なるシーン、又は、同一シーンを異なるアングルから撮影した画像或いは映像を統合して利用することも増えてきている。各端末で撮影した映像は、別途取得した端末間の相対的な位置関係、又は、映像に含まれる特徴点が一致する領域などに基づいて統合される。
 サーバは、2次元の動画像を符号化するだけでなく、動画像のシーン解析などに基づいて自動的に、又は、ユーザが指定した時刻において、静止画を符号化し、受信端末に送信してもよい。サーバは、さらに、撮影端末間の相対的な位置関係を取得できる場合には、2次元の動画像だけでなく、同一シーンが異なるアングルから撮影された映像に基づき、当該シーンの3次元形状を生成できる。なお、サーバは、ポイントクラウドなどにより生成した3次元のデータを別途符号化してもよいし、3次元データを用いて人物又はオブジェクトを認識或いは追跡した結果に基づいて、受信端末に送信する映像を、複数の端末で撮影した映像から選択、又は、再構成して生成してもよい。
 このようにして、ユーザは、各撮影端末に対応する各映像を任意に選択してシーンを楽しむこともできるし、複数画像又は映像を用いて再構成された3次元データから任意視点の映像を切り出したコンテンツを楽しむこともできる。さらに、映像と同様に音も複数の相異なるアングルから収音され、サーバは、映像に合わせて特定のアングル又は空間からの音を映像と多重化して送信してもよい。
 また、近年ではVirtual Reality(VR)及びAugmented Reality(AR)など、現実世界と仮想世界とを対応付けたコンテンツも普及してきている。VRの画像の場合、サーバは、右目用及び左目用の視点画像をそれぞれ作成し、Multi-View Coding(MVC)などにより各視点映像間で参照を許容する符号化を行ってもよいし、互いに参照せずに別ストリームとして符号化してもよい。別ストリームの復号時には、ユーザの視点に応じて仮想的な3次元空間が再現されるように互いに同期させて再生するとよい。
 ARの画像の場合には、サーバは、現実空間のカメラ情報に、仮想空間上の仮想物体情報を、3次元的位置又はユーザの視点の動きに基づいて重畳する。復号装置は、仮想物体情報及び3次元データを取得又は保持し、ユーザの視点の動きに応じて2次元画像を生成し、スムーズにつなげることで重畳データを作成してもよい。または、復号装置は仮想物体情報の依頼に加えてユーザの視点の動きをサーバに送信し、サーバは、サーバに保持される3次元データから受信した視点の動きに合わせて重畳データを作成し、重畳データを符号化して復号装置に配信してもよい。なお、重畳データは、RGB以外に透過度を示すα値を有し、サーバは、3次元データから作成されたオブジェクト以外の部分のα値が0などに設定し、当該部分が透過する状態で、符号化してもよい。もしくは、サーバは、クロマキーのように所定の値のRGB値を背景に設定し、オブジェクト以外の部分は背景色にしたデータを生成してもよい。
 同様に配信されたデータの復号処理はクライアントである各端末で行っても、サーバ側で行ってもよいし、互いに分担して行ってもよい。一例として、ある端末が、一旦サーバに受信リクエストを送り、そのリクエストに応じたコンテンツを他の端末で受信し復号処理を行い、ディスプレイを有する装置に復号済みの信号が送信されてもよい。通信可能な端末自体の性能によらず処理を分散して適切なコンテンツを選択することで画質のよいデータを再生ことができる。また、他の例として大きなサイズの画像データをTV等で受信しつつ、鑑賞者の個人端末にピクチャが分割されたタイルなど一部の領域が復号されて表示されてもよい。これにより、全体像を共有化しつつ、自身の担当分野又はより詳細に確認したい領域を手元で確認することができる。
 また今後は、屋内外にかかわらず近距離、中距離、又は長距離の無線通信が複数使用可能な状況下で、MPEG-DASHなどの配信システム規格を利用して、接続中の通信に対して適切なデータを切り替えながらシームレスにコンテンツを受信することが予想される。これにより、ユーザは、自身の端末のみならず屋内外に設置されたディスプレイなどの復号装置又は表示装置を自由に選択しながらリアルタイムで切り替えられる。また、自身の位置情報などに基づいて、復号する端末及び表示する端末を切り替えながら復号を行うことができる。これにより、目的地への移動中に、表示可能なデバイスが埋め込まれた隣の建物の壁面又は地面の一部に地図情報を表示させながら移動することも可能になる。また、符号化データが受信端末から短時間でアクセスできるサーバにキャッシュされている、又は、コンテンツ・デリバリー・サービスにおけるエッジサーバにコピーされている、などの、ネットワーク上での符号化データへのアクセス容易性に基づいて、受信データのビットレートを切り替えることも可能である。
 [スケーラブル符号化]
 コンテンツの切り替えに関して、図18に示す、上記各実施の形態で示した動画像符号化方法を応用して圧縮符号化されたスケーラブルなストリームを用いて説明する。サーバは、個別のストリームとして内容は同じで質の異なるストリームを複数有していても構わないが、図示するようにレイヤに分けて符号化を行うことで実現される時間的/空間的スケーラブルなストリームの特徴を活かして、コンテンツを切り替える構成であってもよい。つまり、復号側が性能という内的要因と通信帯域の状態などの外的要因とに応じてどのレイヤまで復号するかを決定することで、復号側は、低解像度のコンテンツと高解像度のコンテンツとを自由に切り替えて復号できる。例えば移動中にスマートフォンex115で視聴していた映像の続きを、帰宅後にインターネットTV等の機器で視聴したい場合には、当該機器は、同じストリームを異なるレイヤまで復号すればよいので、サーバ側の負担を軽減できる。
 さらに、上記のように、レイヤ毎にピクチャが符号化されており、ベースレイヤの上位にエンハンスメントレイヤが存在するスケーラビリティを実現する構成以外に、エンハンスメントレイヤが画像の統計情報などに基づくメタ情報を含み、復号側が、メタ情報に基づきベースレイヤのピクチャを超解像することで高画質化したコンテンツを生成してもよい。超解像とは、同一解像度におけるSN比の向上、及び、解像度の拡大のいずれであってもよい。メタ情報は、超解像処理に用いる線形或いは非線形のフィルタ係数を特定するため情報、又は、超解像処理に用いるフィルタ処理、機械学習或いは最小2乗演算におけるパラメータ値を特定する情報などを含む。
 または、画像内のオブジェクトなどの意味合いに応じてピクチャがタイル等に分割されており、復号側が、復号するタイルを選択することで一部の領域だけを復号する構成であってもよい。また、オブジェクトの属性(人物、車、ボールなど)と映像内の位置(同一画像における座標位置など)とをメタ情報として格納することで、復号側は、メタ情報に基づいて所望のオブジェクトの位置を特定し、そのオブジェクトを含むタイルを決定できる。例えば、図19に示すように、メタ情報は、HEVCにおけるSEIメッセージなど画素データとは異なるデータ格納構造を用いて格納される。このメタ情報は、例えば、メインオブジェクトの位置、サイズ、又は色彩などを示す。
 また、ストリーム、シーケンス又はランダムアクセス単位など、複数のピクチャから構成される単位でメタ情報が格納されてもよい。これにより、復号側は、特定人物が映像内に出現する時刻などが取得でき、ピクチャ単位の情報と合わせることで、オブジェクトが存在するピクチャ、及び、ピクチャ内でのオブジェクトの位置を特定できる。
 [Webページの最適化]
 図20は、コンピュータex111等におけるwebページの表示画面例を示す図である。図21は、スマートフォンex115等おけるwebページの表示画面例を示す図である。図20及び図21に示すようにwebページが、画像コンテンツへのリンクであるリング画像を複数含む場合があり、閲覧するデバイスによってその見え方は異なる。画面上に複数のリンク画像が見える場合には、ユーザが明示的にリンク画像を選択するまで、又は画面の中央付近にリンク画像が近付く或いはリンク画像の全体が画面内に入るまでは、表示装置(復号装置)は、リンク画像として各コンテンツが有する静止画又はIピクチャを表示したり、複数の静止画又はIピクチャ等でgifアニメのような映像を表示をしたり、ベースレイヤのみ受信して映像を復号及び表示したりする。
 ユーザによりリンク画像が選択された場合、表示装置は、ベースレイヤを最優先にして復号する。なお、webページを構成するHTMLにスケーラブルなコンテンツであることを示す情報があれば、表示装置は、エンハンスメントレイヤまで復号してもよい。また、リアルタイム性を担保するために、選択される前又は通信帯域が非常に厳しい場合には、表示装置は、前方参照のピクチャ(Iピクチャ、Pピクチャ、前方参照のみのBピクチャ)のみを復号及び表示することで、先頭ピクチャの復号時刻と表示時刻との間の遅延(コンテンツの復号開始から表示開始までの遅延)を低減できる。また、表示装置は、ピクチャの参照関係を敢えて無視して全てのBピクチャ及びPピクチャを前方参照にして粗く復号し、時間が経ち受信したピクチャが増えるにつれて正常の復号を行ってもよい。
 [自動走行]
 また、車の自動走行又は走行支援のため2次元又は3次元の地図情報などの静止画又は映像データを送受信する場合、受信端末は、1以上のレイヤに属する画像データに加えて、メタ情報として天候又は工事の情報なども受信し、これらを対応付けて復号してもよい。なお、メタ情報は、レイヤに属してもよいし、単に画像データと多重化されてもよい。
 この場合、受信端末を含む車、ドローン又は飛行機などが移動するため、受信端末は、当該受信端末の位置情報を受信要求時に送信することで、基地局ex106~ex110を切り替えながらシームレスな受信及び復号を実現できる。また、受信端末は、ユーザの選択、ユーザの状況又は通信帯域の状態に応じて、メタ情報をどの程度受信するか、又は地図情報をどの程度更新していくかを動的に切り替えることが可能になる。
 以上のようにして、コンテンツ供給システムex100では、ユーザが送信した符号化された情報をリアルタイムでクライアントが受信して復号し、再生することができる。
 [個人コンテンツの配信]
 また、コンテンツ供給システムex100では、映像配信業者による高画質で長時間のコンテンツのみならず、個人による低画質で短時間のコンテンツのユニキャスト、又はマルチキャスト配信が可能である。また、このような個人のコンテンツは今後も増加していくと考えられる。個人コンテンツをより優れたコンテンツにするために、サーバは、編集処理を行ってから符号化処理を行ってもよい。これは例えば、以下のような構成で実現できる。
 撮影時にリアルタイム又は蓄積して撮影後に、サーバは、原画又は符号化済みデータから撮影エラー、シーン探索、意味の解析、及びオブジェクト検出などの認識処理を行う。そして、サーバは、認識結果に基いて手動又は自動で、ピントずれ又は手ブレなどを補正したり、明度が他のピクチャに比べて低い又は焦点が合っていないシーンなどの重要性の低いシーンを削除したり、オブジェクトのエッジを強調したり、色合いを変化させるなどの編集を行う。サーバは、編集結果に基いて編集後のデータを符号化する。また撮影時刻が長すぎると視聴率が下がることも知られており、サーバは、撮影時間に応じて特定の時間範囲内のコンテンツになるように上記のように重要性が低いシーンのみならず動きが少ないシーンなどを、画像処理結果に基き自動でクリップしてもよい。または、サーバは、シーンの意味解析の結果に基づいてダイジェストを生成して符号化してもよい。
 なお、個人コンテンツには、そのままでは著作権、著作者人格権、又は肖像権等の侵害となるものが写り込んでいるケースもあり、共有する範囲が意図した範囲を超えてしまうなど個人にとって不都合な場合もある。よって、例えば、サーバは、画面の周辺部の人の顔、又は家の中などを敢えて焦点が合わない画像に変更して符号化してもよい。また、サーバは、符号化対象画像内に、予め登録した人物とは異なる人物の顔が映っているかどうかを認識し、映っている場合には、顔の部分にモザイクをかけるなどの処理を行ってもよい。または、符号化の前処理又は後処理として、著作権などの観点からユーザが画像を加工したい人物又は背景領域を指定し、サーバは、指定された領域を別の映像に置き換える、又は焦点をぼかすなどの処理を行うことも可能である。人物であれば、動画像において人物をトラッキングしながら、顔の部分の映像を置き換えることができる。
 また、データ量の小さい個人コンテンツの視聴はリアルタイム性の要求が強いため、帯域幅にもよるが、復号装置は、まずベースレイヤを最優先で受信して復号及び再生を行う。復号装置は、この間にエンハンスメントレイヤを受信し、再生がループされる場合など2回以上再生される場合に、エンハンスメントレイヤも含めて高画質の映像を再生してもよい。このようにスケーラブルな符号化が行われているストリームであれば、未選択時又は見始めた段階では粗い動画だが、徐々にストリームがスマートになり画像がよくなるような体験を提供することができる。スケーラブル符号化以外にも、1回目に再生される粗いストリームと、1回目の動画を参照して符号化される2回目のストリームとが1つのストリームとして構成されていても同様の体験を提供できる。
 [その他の使用例]
 また、これらの符号化又は復号処理は、一般的に各端末が有するLSIex500において処理される。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、動画像符号化又は復号用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD-ROM、フレキシブルディスク、又はハードディスクなど)に組み込み、そのソフトウェアを用いて符号化又は復号処理を行ってもよい。さらに、スマートフォンex115がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データはスマートフォンex115が有するLSIex500で符号化処理されたデータである。
 なお、LSIex500は、アプリケーションソフトをダウンロードしてアクティベートする構成であってもよい。この場合、端末は、まず、当該端末がコンテンツの符号化方式に対応しているか、又は、特定サービスの実行能力を有するかを判定する。端末がコンテンツの符号化方式に対応していない場合、又は、特定サービスの実行能力を有さない場合、端末は、コーデック又はアプリケーションソフトをダウンロードし、その後、コンテンツ取得及び再生する。
 また、インターネットex101を介したコンテンツ供給システムex100に限らず、デジタル放送用システムにも上記各実施の形態の少なくとも動画像符号化装置(画像符号化装置)又は動画像復号化装置(画像復号装置)のいずれかを組み込むことができる。衛星などを利用して放送用の電波に映像と音が多重化された多重化データを載せて送受信するため、コンテンツ供給システムex100のユニキャストがし易い構成に対してマルチキャスト向きであるという違いがあるが符号化処理及び復号処理に関しては同様の応用が可能である。
 [ハードウェア構成]
 図22は、スマートフォンex115を示す図である。また、図23は、スマートフォンex115の構成例を示す図である。スマートフォンex115は、基地局ex110との間で電波を送受信するためのアンテナex450と、映像及び静止画を撮ることが可能なカメラ部ex465と、カメラ部ex465で撮像した映像、及びアンテナex450で受信した映像等が復号されたデータを表示する表示部ex458とを備える。スマートフォンex115は、さらに、タッチパネル等である操作部ex466と、音声又は音響を出力するためのスピーカ等である音声出力部ex457と、音声を入力するためのマイク等である音声入力部ex456と、撮影した映像或いは静止画、録音した音声、受信した映像或いは静止画、メール等の符号化されたデータ、又は、復号化されたデータを保存可能なメモリ部ex467と、ユーザを特定し、ネットワークをはじめ各種データへのアクセスの認証をするためのSIMex468とのインタフェース部であるスロット部ex464とを備える。なお、メモリ部ex467の代わりに外付けメモリが用いられてもよい。
 また、表示部ex458及び操作部ex466等を統括的に制御する主制御部ex460と、電源回路部ex461、操作入力制御部ex462、映像信号処理部ex455、カメラインタフェース部ex463、ディスプレイ制御部ex459、変調/復調部ex452、多重/分離部ex453、音声信号処理部ex454、スロット部ex464、及びメモリ部ex467とがバスex470を介して接続されている。
 電源回路部ex461は、ユーザの操作により電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりスマートフォンex115を動作可能な状態に起動する。
 スマートフォンex115は、CPU、ROM及びRAM等を有する主制御部ex460の制御に基づいて、通話及データ通信等の処理を行う。通話時は、音声入力部ex456で収音した音声信号を音声信号処理部ex454でデジタル音声信号に変換し、これを変調/復調部ex452でスペクトラム拡散処理し、送信/受信部ex451でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex450を介して送信する。また受信データを増幅して周波数変換処理及びアナログデジタル変換処理を施し、変調/復調部ex452でスペクトラム逆拡散処理し、音声信号処理部ex454でアナログ音声信号に変換した後、これを音声出力部ex457から出力する。データ通信モード時は、本体部の操作部ex466等の操作によってテキスト、静止画、又は映像データが操作入力制御部ex462を介して主制御部ex460に送出され、同様に送受信処理が行われる。データ通信モード時に映像、静止画、又は映像と音声を送信する場合、映像信号処理部ex455は、メモリ部ex467に保存されている映像信号又はカメラ部ex465から入力された映像信号を上記各実施の形態で示した動画像符号化方法によって圧縮符号化し、符号化された映像データを多重/分離部ex453に送出する。また、音声信号処理部ex454は、映像又は静止画等をカメラ部ex465で撮像中に音声入力部ex456で収音した音声信号を符号化し、符号化された音声データを多重/分離部ex453に送出する。多重/分離部ex453は、符号化済み映像データと符号化済み音声データを所定の方式で多重化し、変調/復調部(変調/復調回路部)ex452、及び送信/受信部ex451で変調処理及び変換処理を施してアンテナex450を介して送信する。
 電子メール又はチャットに添付された映像、又はウェブページ等にリンクされた映像を受信した場合、アンテナex450を介して受信された多重化データを復号するために、多重/分離部ex453は、多重化データを分離することにより、多重化データを映像データのビットストリームと音声データのビットストリームとに分け、同期バスex470を介して符号化された映像データを映像信号処理部ex455に供給するとともに、符号化された音声データを音声信号処理部ex454に供給する。映像信号処理部ex455は、上記各実施の形態で示した動画像符号化方法に対応した動画像復号化方法によって映像信号を復号し、ディスプレイ制御部ex459を介して表示部ex458から、リンクされた動画像ファイルに含まれる映像又は静止画が表示される。また音声信号処理部ex454は、音声信号を復号し、音声出力部ex457から音声が出力される。なおリアルタイムストリーミングが普及しているため、ユーザの状況によっては音声の再生が社会的にふさわしくない場も起こりえる。そのため、初期値としては、音声信号は再生せず映像データのみを再生する構成の方が望ましい。ユーザが映像データをクリックするなど操作を行った場合にのみ音声を同期して再生してもよい。
 またここではスマートフォンex115を例に説明したが、端末としては符号化器及び復号化器を両方持つ送受信型端末の他に、符号化器のみを有する送信端末、及び、復号化器のみを有する受信端末という3通りの実装形式が考えられる。さらに、デジタル放送用システムにおいて、映像データに音楽データなどが多重化された多重化データを受信又は送信するとして説明したが、多重化データには、音声データ以外に映像に関連する文字データなどが多重化されてもよいし、多重化データではなく映像データ自体が受信又は送信されてもよい。
 なお、CPUを含む主制御部ex460が符号化又は復号処理を制御するとして説明したが、端末はGPUを備えることも多い。よって、CPUとGPUで共通化されたメモリ、又は共通に使用できるようにアドレスが管理されているメモリにより、GPUの性能を活かして広い領域を一括して処理する構成でもよい。これにより符号化時間を短縮でき、リアルタイム性を確保し、低遅延を実現できる。特に動き探索、デブロックフィルタ、SAO(Sample Adaptive Offset)、及び変換・量子化の処理を、CPUではなく、GPUでピクチャなどの単位で一括して行うと効率的である。
 本開示は、画像復号装置及び画像符号化装置に適用可能である。具体的には、テレビ、レコーダ、パーソナルコンピュータ、デジタルスチルカメラ、デジタルビデオカメラ、及びスマートフォンなどに、本開示は適用可能である。
 100 画像符号化装置
 101 ブロック化部
 102 減算部
 103 変換部
 104 量子化部
 105 エントロピー符号化部
 106,202 逆量子化部
 107,203 逆変換部
 108,204 加算部
 109,205 フレームメモリ
 110,206 予測部
 111 動き検出部
 112,207 動き補償部
 113,115,208,210 セレクタ
 114,118,209,213 バッファ
 116,211 制御部
 117,212 予測画生成部
 121 入力画像
 122 符号ブロック
 123,128,224 差分ブロック
 124,125,127,222,223 係数ブロック
 126,221 ビットストリーム
 129,225 復号ブロック
 130,227 参照ブロック
 131,228 参照画素
 132,229 予測画
 133,230 予測ブロック
 134,231 動き情報
 200 画像復号装置
 201 エントロピー復号部
 226 復号画像

Claims (19)

  1.  対象フレームが分割されることで得られた複数の処理単位の各々に対して、当該処理単位に割り当てられた複数の動きベクトルを取得する取得ステップと、
     前記処理単位が分割されることで得られた複数の小領域の各々に対して、前記複数の動きベクトルと、互いに異なる時刻の複数の参照フレームとに基づき、前記複数の動きベクトルから使用する動きベクトルを選択する選択ステップと、
     前記複数の小領域の各々に対して、選択された前記動きベクトルを用いて予測画を生成する生成ステップと、
     前記複数の小領域の各々を、当該小領域に対して生成された前記予測画を用いて復号する復号ステップとを含む
     画像復号方法。
  2.  前記複数の参照フレームは、第1フレーム及び第2フレームを含み、
     前記選択ステップでは、
     前記複数の動きベクトルの各々に対して、前記対象フレームに含まれる対象小領域に対して当該動きベクトルにより示される前記第1フレーム上の領域と前記第2フレーム上の領域との相関を求め、当該相関に基づき前記使用する動きベクトルを選択する
     請求項1記載の画像復号方法。
  3.  前記複数の動きベクトルは、背景の動きを示す背景ベクトルと、前景の動きを示す前景ベクトルとを含む
     請求項2記載の画像復号方法。
  4.  前記選択ステップでは、
     前記背景ベクトルの前記相関及び前記前景ベクトルの前記相関が共に予め定められた値より低い場合、前記背景ベクトルを選択する
     請求項3記載の画像復号方法。
  5.  前記生成ステップでは、
     前記背景ベクトルの前記相関及び前記前景ベクトルの前記相関が共に前記予め定められた値より低い場合、前記背景ベクトルにより示される前記第1フレーム上の第1領域と前記第2フレーム上の第2領域とのうち、背景に属する領域を用いて前記予測画を生成する
     請求項4記載の画像復号方法。
  6.  前記生成ステップでは、
     前記第1領域又は前記第2領域から前記前景ベクトルにより示される前記対象フレーム上の領域である対応点が背景に属する場合、前記第1領域又は前記第2領域は背景に属すると判定する
     請求項5記載の画像復号方法。
  7.  前記生成ステップでは、
     前記第1領域及び前記第2領域がいずれも背景に属さない場合、前記対象フレーム内の前記対象小領域の近傍の領域の予測画を用いて当該対象小領域の予測画を生成する
     請求項5又は6記載の画像復号方法。
  8.  対象フレームが分割されることで得られた複数の処理単位の各々に対して、当該処理単位に割り当てる複数の動きベクトルを検出する検出ステップと、
     前記処理単位が分割されることで得られた複数の小領域の各々に対して、前記複数の動きベクトルと、互いに異なる時刻の複数の参照フレームとに基づき、前記複数の動きベクトルから使用する動きベクトルを選択する選択ステップと、
     前記複数の小領域の各々に対して、選択された前記動きベクトルを用いて予測画を生成する生成ステップと、
     前記複数の小領域の各々を、当該小領域に対して生成された前記予測画を用いて符号化する符号化ステップとを含む
     画像符号化方法。
  9.  前記複数の参照フレームは、第1フレーム及び第2フレームを含み、
     前記選択ステップでは、
     前記複数の動きベクトルの各々に対して、前記対象フレームに含まれる対象小領域に対して当該動きベクトルにより示される前記第1フレーム上の領域と前記第2フレーム上の領域との相関を求め、当該相関に基づき前記使用する動きベクトルを選択する
     請求項8記載の画像符号化方法。
  10.  前記複数の動きベクトルは、背景の動きを示す背景ベクトルと、前景の動きを示す前景ベクトルとを含む
     請求項9記載の画像符号化方法。
  11.  前記選択ステップでは、
     前記背景ベクトルの前記相関及び前記前景ベクトルの前記相関が共に予め定められた値より低い場合、前記背景ベクトルを選択する
     請求項10記載の画像符号化方法。
  12.  前記生成ステップでは、
     前記背景ベクトルの前記相関及び前記前景ベクトルの前記相関が共に前記予め定められた値より低い場合、前記背景ベクトルにより示される前記第1フレーム上の第1領域と前記第2フレーム上の第2領域とのうち、背景に属する領域を用いて前記予測画を生成する
     請求項11記載の画像符号化方法。
  13.  前記生成ステップでは、
     前記第1領域又は前記第2領域から前記前景ベクトルにより示される前記対象フレーム上の領域である対応点が背景に属する場合、前記第1領域又は前記第2領域は背景に属すると判定する
     請求項12記載の画像符号化方法。
  14.  前記生成ステップでは、
     前記第1領域及び前記第2領域がいずれも背景に属さない場合、前記対象フレーム内の前記対象小領域の近傍の領域の予測画を用いて当該対象小領域の予測画を生成する
     請求項12又は13記載の画像符号化方法。
  15.  処理回路と、
     前記処理回路からアクセス可能な記憶装置とを備え、
     前記処理回路は、前記記憶装置を用いて、請求項1記載の画像復号方法を実行する
     画像復号装置。
  16.  対象フレームが分割されることで得られた複数の処理単位の各々に対して、当該処理単位に割り当てられた複数の動きベクトルを取得する取得部と、
     前記処理単位が分割されることで得られた複数の小領域の各々に対して、前記複数の動きベクトルと、互いに異なる時刻の複数の参照フレームとに基づき、前記複数の動きベクトルから使用する動きベクトルを選択する選択部と、
     前記複数の小領域の各々に対して、選択された前記動きベクトルを用いて予測画を生成する生成部と、
     前記複数の小領域の各々を、当該小領域に対して生成された前記予測画を用いて復号する復号部とを備える
     画像復号装置。
  17.  処理回路と、
     前記処理回路からアクセス可能な記憶装置とを備え、
     前記処理回路は、前記記憶装置を用いて、請求項8記載の画像符号化方法を実行する
     画像符号化装置。
  18.  対象フレームが分割されることで得られた複数の処理単位の各々に対して、当該処理単位に割り当てる複数の動きベクトルを検出する検出部と、
     前記処理単位が分割されることで得られた複数の小領域の各々に対して、前記複数の動きベクトルと、互いに異なる時刻の複数の参照フレームとに基づき、前記複数の動きベクトルから使用する動きベクトルを選択する選択部と、
     前記複数の小領域の各々に対して、選択された前記動きベクトルを用いて予測画を生成する生成部と、
     前記複数の小領域の各々を、当該小領域に対して生成された前記予測画を用いて符号化する符号化部とを備える
     画像符号化装置。
  19.  請求項15又は16記載の画像復号装置と、
     請求項17又は18記載の画像符号化装置とを備える
     画像符号化復号装置。
PCT/JP2016/004616 2015-12-04 2016-10-19 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、及び画像符号化復号装置 WO2017094216A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/780,448 US20180352248A1 (en) 2015-12-04 2016-10-19 Image decoding method, image encoding method, image decoding device, image encoding device, and image encoding/decoding device

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562263113P 2015-12-04 2015-12-04
US62/263,113 2015-12-04
JP2016-100854 2016-05-19
JP2016100854A JP2017103744A (ja) 2015-12-04 2016-05-19 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、及び画像符号化復号装置

Publications (1)

Publication Number Publication Date
WO2017094216A1 true WO2017094216A1 (ja) 2017-06-08

Family

ID=58796798

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/004616 WO2017094216A1 (ja) 2015-12-04 2016-10-19 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、及び画像符号化復号装置

Country Status (1)

Country Link
WO (1) WO2017094216A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111566703A (zh) * 2018-01-17 2020-08-21 索尼公司 图像处理装置和方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06327003A (ja) * 1993-05-14 1994-11-25 Nec Corp 動画像の予測符号化方式
JPH09154138A (ja) * 1995-05-31 1997-06-10 Toshiba Corp 動画像符号化/復号化装置
JPH09307909A (ja) * 1996-05-17 1997-11-28 Oki Electric Ind Co Ltd 動き補償装置
JPH10208057A (ja) * 1997-01-20 1998-08-07 Matsushita Electric Ind Co Ltd 動物体分離装置および抽出装置
JP2004165703A (ja) * 2002-09-20 2004-06-10 Toshiba Corp 動画像符号化方法及び復号化方法
JP2008109632A (ja) * 2006-09-28 2008-05-08 Toshiba Corp 動きベクトル検出装置及びその方法
JP2011130265A (ja) * 2009-12-18 2011-06-30 Nippon Telegr & Teleph Corp <Ntt> 動きベクトル検出装置、動きベクトル検出方法およびプログラム
JP2015159569A (ja) * 2011-12-28 2015-09-03 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06327003A (ja) * 1993-05-14 1994-11-25 Nec Corp 動画像の予測符号化方式
JPH09154138A (ja) * 1995-05-31 1997-06-10 Toshiba Corp 動画像符号化/復号化装置
JPH09307909A (ja) * 1996-05-17 1997-11-28 Oki Electric Ind Co Ltd 動き補償装置
JPH10208057A (ja) * 1997-01-20 1998-08-07 Matsushita Electric Ind Co Ltd 動物体分離装置および抽出装置
JP2004165703A (ja) * 2002-09-20 2004-06-10 Toshiba Corp 動画像符号化方法及び復号化方法
JP2008109632A (ja) * 2006-09-28 2008-05-08 Toshiba Corp 動きベクトル検出装置及びその方法
JP2011130265A (ja) * 2009-12-18 2011-06-30 Nippon Telegr & Teleph Corp <Ntt> 動きベクトル検出装置、動きベクトル検出方法およびプログラム
JP2015159569A (ja) * 2011-12-28 2015-09-03 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111566703A (zh) * 2018-01-17 2020-08-21 索尼公司 图像处理装置和方法
CN111566703B (zh) * 2018-01-17 2023-10-20 索尼公司 图像处理装置和方法

Similar Documents

Publication Publication Date Title
JP6765520B2 (ja) 符号化装置、復号装置、符号化方法及び復号方法
WO2017199800A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
WO2018021374A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
WO2018101288A1 (ja) 符号化装置、符号化方法、復号装置および復号方法
WO2019155971A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
JP6756919B2 (ja) 復号装置及び復号方法
WO2018190207A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
JP2017103744A (ja) 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、及び画像符号化復号装置
WO2018008678A1 (ja) 復号装置、符号化装置、復号方法及び符号化方法
WO2019189346A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
WO2018212111A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
WO2018193968A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
WO2019208372A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
WO2018097115A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
WO2019221103A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
JP2021002891A (ja) 符号化装置及び符号化方法
WO2018225593A1 (ja) 符号化装置、復号装置、符号化方法および復号方法
WO2018199050A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
JP2020202597A (ja) 復号装置及び復号方法
JP2020198655A (ja) 復号装置及び復号方法
WO2018105579A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
WO2019189344A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
WO2018021373A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
JP6910461B2 (ja) 符号化装置、復号装置、符号化方法及び復号方法
WO2019163794A1 (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: 16870159

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: 16870159

Country of ref document: EP

Kind code of ref document: A1