WO2014050675A1 - 画像処理装置および方法 - Google Patents
画像処理装置および方法 Download PDFInfo
- Publication number
- WO2014050675A1 WO2014050675A1 PCT/JP2013/075226 JP2013075226W WO2014050675A1 WO 2014050675 A1 WO2014050675 A1 WO 2014050675A1 JP 2013075226 W JP2013075226 W JP 2013075226W WO 2014050675 A1 WO2014050675 A1 WO 2014050675A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- unit
- vector
- prediction
- image
- motion vector
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 172
- 238000000034 method Methods 0.000 title abstract description 126
- 239000013598 vector Substances 0.000 claims abstract description 1007
- 230000005540 biological transmission Effects 0.000 claims description 51
- 238000003672 processing method Methods 0.000 claims description 6
- 230000015654 memory Effects 0.000 description 154
- 230000006854 communication Effects 0.000 description 128
- 238000004891 communication Methods 0.000 description 124
- 230000008569 process Effects 0.000 description 88
- 239000000872 buffer Substances 0.000 description 74
- 230000000875 corresponding effect Effects 0.000 description 61
- 238000006243 chemical reaction Methods 0.000 description 58
- 230000006870 function Effects 0.000 description 45
- 238000005516 engineering process Methods 0.000 description 42
- 238000003384 imaging method Methods 0.000 description 40
- 238000003860 storage Methods 0.000 description 37
- 238000010586 diagram Methods 0.000 description 36
- 238000013139 quantization Methods 0.000 description 27
- 230000008707 rearrangement Effects 0.000 description 26
- 238000004364 calculation method Methods 0.000 description 25
- 238000013500 data storage Methods 0.000 description 19
- 230000005236 sound signal Effects 0.000 description 18
- 230000003287 optical effect Effects 0.000 description 17
- 238000009826 distribution Methods 0.000 description 15
- 230000004044 response Effects 0.000 description 15
- 230000002123 temporal effect Effects 0.000 description 15
- 230000009467 reduction Effects 0.000 description 14
- 230000000694 effects Effects 0.000 description 11
- 239000004065 semiconductor Substances 0.000 description 11
- 239000000284 extract Substances 0.000 description 10
- 238000009825 accumulation Methods 0.000 description 9
- 230000009466 transformation Effects 0.000 description 9
- 238000001914 filtration Methods 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 230000002596 correlated effect Effects 0.000 description 5
- 239000000523 sample Substances 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 230000003321 amplification Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 238000003199 nucleic acid amplification method Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 210000000744 eyelid Anatomy 0.000 description 3
- 239000012536 storage buffer Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001629 suppression Effects 0.000 description 2
- APLNAFMUEHKRLM-UHFFFAOYSA-N 2-[5-[2-(2,3-dihydro-1H-inden-2-ylamino)pyrimidin-5-yl]-1,3,4-oxadiazol-2-yl]-1-(3,4,6,7-tetrahydroimidazo[4,5-c]pyridin-5-yl)ethanone Chemical compound C1C(CC2=CC=CC=C12)NC1=NC=C(C=N1)C1=NN=C(O1)CC(=O)N1CC2=C(CC1)N=CN2 APLNAFMUEHKRLM-UHFFFAOYSA-N 0.000 description 1
- 102100037812 Medium-wave-sensitive opsin 1 Human genes 0.000 description 1
- 101100537098 Mus musculus Alyref gene Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 101150095908 apex1 gene Proteins 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005401 electroluminescence Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007306 functionalization reaction Methods 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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 picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/53—Multi-resolution motion estimation; Hierarchical motion estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/58—Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
Definitions
- the present disclosure relates to an image processing apparatus and method, and more particularly, to an image processing apparatus and method capable of improving the encoding efficiency of motion vector encoding or decoding in a multi-viewpoint image.
- Non-Patent Document 1 a method of changing the CU level to improve the encoding performance of non-base views is being studied.
- IVMP Inter-view motion prediction
- the motion vector of the reference PU is used as a prediction vector candidate of the current PU. I could't.
- the present disclosure has been made in view of such a situation, and can improve the coding efficiency of motion vector coding or decoding in a non-base view.
- the image processing device is a reference block that is a block at a position shifted from the position of the current block in an image of a different view by the amount of parallax obtained from the periphery of the current block in a non-base view image.
- a prediction vector generation unit that generates a prediction vector used to encode the motion vector of the current block by scaling the motion vector of the current block according to a reference destination of the current block and a reference destination of the reference block;
- a motion vector encoding unit that encodes the motion vector of the current block using the prediction vector generated by the vector generation unit, and a code that encodes an image in units having a hierarchical structure to generate an encoded stream And a conversion unit.
- the prediction vector generation unit scales the motion vector of the reference block according to the reference image POC of the current block and the reference image POC of the reference block, and generates a prediction vector using the prediction vector as a candidate for the prediction vector be able to.
- It may further include a transmission unit that transmits the motion vector of the current block encoded by the motion vector encoding unit and the encoded stream generated by the encoding unit.
- the image processing apparatus is a block at a position shifted from the position of the current block in the image of a different view by the amount of parallax obtained from the periphery of the current block in the image of the non-base view.
- a motion vector of a reference block is scaled according to a reference destination of the current block and a reference destination of the reference block to generate a prediction vector used for encoding the motion vector of the current block, and the generated prediction
- the motion vector of the current block is encoded using the vector, and the image is encoded in units having a hierarchical structure to generate an encoded stream.
- the second image processing apparatus moves a reference block that is a block at a position shifted from the position of the current block in an image of a different view by the amount of parallax obtained from the periphery of the current block in a non-base view image.
- a prediction vector generation unit that generates a prediction vector used to encode a motion vector of the current block by scaling a vector according to a reference destination of the current block and a reference destination of the reference block;
- a motion vector decoding unit that decodes a motion vector of the current block using a prediction vector generated by a unit, and a decoding unit that decodes an encoded stream encoded in a unit having a hierarchical structure to generate an image With.
- the prediction vector generation unit scales the motion vector of the reference block according to the reference image POC of the current block and the reference image POC of the reference block, and generates a prediction vector using the prediction vector as a candidate for the prediction vector be able to.
- It may further include a receiving unit that receives the encoded stream and the encoded motion vector of the current block.
- an image processing apparatus shifts a position shifted from the position of the current block in an image of a different view by the amount of parallax obtained from the periphery of the current block in the image of the non-base view.
- a motion vector of a reference block that is a block is scaled according to a reference destination of the current block and a reference destination of the reference block, and a prediction vector used to encode the motion vector of the current block is generated and generated.
- the motion vector of the current block is decoded using the predicted vector, and the encoded stream encoded in a unit having a hierarchical structure is decoded to generate an image.
- a motion vector of a reference block that is a block at a position shifted from the position of the current block in an image of a different view by the amount of parallax obtained from the periphery of the current block in a non-base view image are scaled according to the reference destination of the current block and the reference destination of the reference block to generate a prediction vector used for encoding the motion vector of the current block. Then, the motion vector of the current block is encoded using the generated prediction vector, the image is encoded in units having a hierarchical structure, and an encoded stream is generated.
- a motion vector of a reference block that is a block at a position shifted from the position of the current block in an image of a different view by the amount of parallax obtained from the periphery of the current block in a non-base view image are scaled according to the reference destination of the current block and the reference destination of the reference block to generate a prediction vector used for encoding the motion vector of the current block. Then, the motion vector of the current block is decoded using the generated prediction vector, and the encoded stream encoded in units having a hierarchical structure is decoded to generate an image.
- the above-described image processing apparatus may be an independent apparatus, or may be an internal block constituting one image encoding apparatus or image decoding apparatus.
- an image can be encoded.
- the encoding efficiency of motion vector encoding or decoding in a multi-viewpoint image can be improved.
- an image can be decoded.
- the encoding efficiency of motion vector encoding or decoding in a multi-viewpoint image can be improved.
- FIG. 20 is a block diagram illustrating a main configuration example of a computer. It is a block diagram which shows an example of a schematic structure of a television apparatus. It is a block diagram which shows an example of a schematic structure of a mobile telephone. It is a block diagram which shows an example of a schematic structure of a recording / reproducing apparatus. It is a block diagram which shows an example of a schematic structure of an imaging device. It is a block diagram which shows an example of scalable encoding utilization. It is a block diagram which shows the other example of scalable encoding utilization.
- IVMP Inter-view motion prediction
- the vertical axis represents a view
- the view V0 represents a base view
- the view V1 represents a non-base view.
- the horizontal axis indicates time T1 to time T4.
- the base view V0 has already been encoded, and the motion prediction and compensation of the current PU (Curr) PU) of the image at time T3 of the non-base view V1 is performed, and motion vectors in the L0 and L1 directions are obtained. Yes.
- the motion vector of the current PU is encoded in the base view in addition to the motion vector candidate in the conventional AMVP (Advanced Motion Vector Prediction) as a prediction vector candidate to be obtained when encoding the motion vector of the current PU. Can be added to the motion vector.
- AMVP Advanced Motion Vector Prediction
- the motion vectors MV L0 and MV L1 of the current PU and the reference PU (Cor PU) in the base view V0 at the same time Can be one of the prediction vector candidates.
- the reference PU of the base view V0 searches for a disparity vector from the motion vectors of neighboring PUs adjacent to the current PU (that is, neighboring PUs adjacent to the current PU), and in the base view image, the PU in the non-base view image. It is the PU at a position shifted from the same position by the amount of the disparity vector.
- the time T2 and T4 of the image referred to by the motion vectors MV L0 and MV L1 of the reference PU in the base view V0 refer to the motion vector of the current PU in the non-base view V1. Only when the times T2 and T4 of the image are the same.
- the motion vector of the reference PU can be a candidate for the predicted motion vector of the current PU.
- the prediction vector PMV L1 of the current PU is the motion vector MV L1 of the reference PU.
- Ref POC is the same. Therefore, the motion vector MV L1 of the reference PU at time T3 in the base view V0 can be used as a prediction vector candidate of the current PU.
- the prediction vector PMV L0 current PU includes a motion vector MV L0 reference PU, since Ref POC is not the same, becomes unusable (false), can not be the motion vector MV L0 reference PU and the predicted vector . That is, as described above, although there is a correlation between the view and the non-base view, a highly correlated prediction vector cannot be generated, resulting in a decrease in coding efficiency.
- the motion vector of the reference PU is scaled to predict the current PU.
- Candidate for vector the Ref POC (Ref 0) of the current PU is different from the Ref POC (Ref 0) of the reference PU in different views.
- the prediction vector PMV L0 of the current PU is not the same as the motion vector MV L0 of the reference PU as in the example of FIG. Therefore, in the present technology, the motion vector MV L0 of the reference PU is scaled according to the reference destination of the current PU and the reference PU. That is, the motion vector MV L0 of the reference PU is scaled according to the distance between the current PU and the Ref POC of the reference PU, and the scaled MV L0 is used as a prediction vector candidate of the current PU.
- the characteristics of the camera are slightly different. Therefore, even if the motion vector of the same object is used, the picture to be referenced may be different. In such a case, since a highly correlated motion vector can be scaled and used instead of being disabled, it is quite effective in improving coding efficiency.
- FIG. 4 illustrates a configuration of an embodiment of an encoder that configures a multi-view image encoding device as an image processing device to which the present disclosure is applied.
- the multi-view image encoding device is configured by encoders 11-1 to 11-M that encode multi-view images, for example.
- the encoder 11-1 encodes an image such as a captured multi-viewpoint image by the HEVC method. For example, a non-base view color image for each frame is input to the encoder 11-1 as an input image, and the encoder 11-1 encodes the non-base view color image.
- the encoder 11-M and the encoder 11-N that encode color images of other views (including the base view) in frame units are configured in the same manner as the encoder 11-1. Further, when there is an encoder that encodes not only a color image but also a color difference information image, the encoder 11-1 is configured in the same manner.
- the encoder 11-1 includes an A / D (Analog / Digital) conversion unit 21, a screen rearrangement buffer 22, a calculation unit 23, an orthogonal transformation unit 24, a quantization unit 25, a lossless encoding unit 26, a storage buffer 27, an inverse quantum It is comprised so that the conversion part 28, the inverse orthogonal transformation part 29, and the calculating part 30 may be included.
- the encoder 11-1 includes an in-loop filter 31, a DPB (Decoded Picture Buffer) 32-1, an in-screen prediction unit 33, a motion prediction / compensation unit 34, a predicted image selection unit 35, and an MV (motion vector) memory 36-. 1 is included.
- the A / D converter 21 is sequentially supplied with pictures of non-base view color images, which are images to be encoded (moving images), in the display order.
- the A / D converter 21 When the picture supplied thereto is an analog signal, the A / D converter 21 performs A / D conversion on the analog signal and supplies it to the screen rearrangement buffer 22.
- the screen rearrangement buffer 22 is supplied with an encoding order as encoding information from, for example, a preceding syntax encoding unit (not shown).
- the screen rearrangement buffer 22 temporarily stores the pictures from the A / D conversion unit 21 and reads out the pictures according to the GOP (Group of Pictures) structure indicated by the supplied encoding order, thereby arranging the pictures. Is rearranged from the display order to the encoding order (decoding order).
- the picture read from the screen rearrangement buffer 22 is supplied to the calculation unit 23, the intra-screen prediction unit 33, and the motion prediction / compensation unit 34.
- the calculation unit 23 is supplied with the prediction image generated by the intra prediction unit 33 or the motion prediction / compensation unit 34 from the prediction image selection unit 35.
- the calculation unit 23 sets the picture read from the screen rearrangement buffer 22 as a target picture that is a picture to be encoded, and further sequentially selects macro blocks (LCUs) that constitute the target picture. Let it be a block.
- LCUs macro blocks
- the calculation unit 23 performs prediction encoding by calculating a subtraction value obtained by subtracting the pixel value of the prediction image supplied from the prediction image selection unit 35 from the pixel value of the target block as necessary, and performs orthogonal encoding. This is supplied to the conversion unit 24.
- the orthogonal transform unit 24 performs orthogonal transform such as discrete cosine transform or Karoonen-Labe transform on the target block (the pixel value or the residual obtained by subtracting the predicted image) from the computation unit 23 using TU as a unit.
- the conversion is performed, and the conversion coefficient obtained as a result is supplied to the quantization unit 25.
- the quantization unit 25 quantizes the transform coefficient supplied from the orthogonal transform unit 24 and supplies the resulting quantized value to the lossless encoding unit 26.
- the lossless encoding unit 26 performs variable-length encoding (for example, CAVLC (Context-Adaptive Variable Length Coding)) or arithmetic encoding (for example, CABAC (Context-Context-Context-Coding)) on the quantized value from the quantization unit 25. Adaptive ⁇ Binary Arithmetic Coding) etc. is applied, and the resulting encoded data is supplied to the storage buffer 27.
- variable-length encoding for example, CAVLC (Context-Adaptive Variable Length Coding)
- CABAC Context-Context-Context-Coding
- the lossless encoding unit 26 is supplied with the quantization value from the quantization unit 25 and the header information included in the header of the encoded data from the intra-screen prediction unit 33 and the motion prediction / compensation unit 34.
- the lossless encoding unit 26 encodes the header information from the in-screen prediction unit 33 and the motion prediction / compensation unit 34 and includes it in the header of the encoded data.
- the accumulation buffer 27 temporarily stores the encoded data from the lossless encoding unit 26 and outputs it at a predetermined data rate.
- the accumulation buffer 27 also functions as a transmission unit.
- the encoded data output from the accumulation buffer 27 is multiplexed with encoded data of other views encoded by other encoders 11-M and the like, and transmitted to a multi-viewpoint image decoding apparatus to be described later.
- the quantization value obtained by the quantization unit 25 is also supplied to the inverse quantization unit 28, and the inverse quantization unit 28, the inverse orthogonal transform unit 29, and the arithmetic unit At 30, local decoding is performed.
- the inverse quantization unit 28 inversely quantizes the quantized value from the quantization unit 25 into a transform coefficient, and supplies it to the inverse orthogonal transform unit 29.
- the inverse orthogonal transform unit 29 performs inverse orthogonal transform on the transform coefficient from the inverse quantization unit 28 and supplies the transform coefficient to the arithmetic unit 30.
- the computing unit 30 decodes the target block by adding the pixel value of the predicted image supplied from the predicted image selecting unit 35 to the data supplied from the inverse orthogonal transform unit 29 as necessary.
- the decoded image is obtained and supplied to the in-loop filter 31.
- the in-loop filter 31 is constituted by a deblocking filter, for example.
- the in-loop filter 31 includes a deblocking filter and an adaptive offset filter (Sample (Adaptive Offset: SAO).
- SAO Sample (Adaptive Offset: SAO).
- SAO adaptive Offset
- the DPB 32-1 predicts the decoded image from the in-loop filter 31, that is, the prediction code that is performed later in time for the picture of the non-base view color image that is encoded by the encoder 11-1 and locally decoded. This is stored as a reference picture (candidate) to be referred to when generating a predicted image used for encoding (encoding in which the predicted image is subtracted by the calculation unit 23).
- the DPB 32-1 is shared by the encoders 11-M of other views.
- local decoding by the inverse quantization unit 28, the inverse orthogonal transform unit 29, and the calculation unit 30 is performed on, for example, I pictures and P pictures, which are referenceable pictures that can be reference pictures.
- I pictures and P pictures which are referenceable pictures that can be reference pictures.
- DPB 32-1 decoded pictures of I picture and P picture are stored.
- the in-screen prediction unit 33 and the motion prediction / compensation unit 34 perform prediction processing in units of PUs as target blocks.
- the in-screen prediction unit 33 extracts the target picture from the in-loop filter 31. A portion (decoded image) that has already been locally decoded is read out. Then, the intra-screen prediction unit 33 sets a part of the decoded image of the target picture read from the in-loop filter 31 as the predicted image of the target block of the target picture supplied from the screen rearrangement buffer 22.
- the intra prediction unit 33 calculates the encoding cost required to encode the target block using the predicted image, that is, the encoding cost required to encode the residual of the target block with respect to the predicted image. Obtained and supplied to the predicted image selection unit 35 together with the predicted image.
- the motion prediction / compensation unit 34 performs AMVP mode vector prediction processing and M / S mode (Merge / Skip mode) vector prediction processing when the target picture is a P picture or B picture that can be inter-predicted. I do.
- the motion prediction / compensation unit 34 reads, from the DPB 32-1, one or more pictures that are encoded before the target picture and locally decoded as candidate pictures (inter prediction reference picture candidates).
- the motion prediction / compensation unit 34 uses one or more pictures that have been encoded and locally decoded in the different views from the DPB 32-N included in the encoders of different views (for example, the encoder 11-N) in the different views. Are read out as candidate pictures (interview prediction reference picture candidates).
- the DPB 32-N refers to a picture of a color image of a different view that is encoded and locally decoded by the encoder 11-N when generating a prediction image used for prediction encoding performed later in time. It is stored as a picture (candidate).
- the motion prediction / compensation unit 34 performs ME (Motion ⁇ ⁇ Estimation) (motion detection) using the target block of the target picture from the screen rearrangement buffer 22 and the candidate picture, and the candidate picture.
- ME Motion ⁇ ⁇ Estimation
- a shift vector representing a motion as a shift from a corresponding block corresponding to the target block (a block that minimizes SAD (Sum of Absolute Differences) with the target block) is detected.
- the detected motion vectors include an inter motion vector representing a temporal shift and an inter-view motion vector representing a shift between views.
- the motion prediction / compensation unit 34 generates a predicted image by performing motion compensation that compensates for the shift of the motion of the candidate pictures from the DPB 32-1 and DPB 32-N according to the motion vector of the target block.
- the motion prediction / compensation unit 34 acquires, as a predicted image, a corresponding block that is a block (region) at a position shifted (shifted) from the position of the target block of the candidate picture according to the motion vector of the target block. .
- the motion prediction / compensation unit 34 uses a spatial adjacent block adjacent in the same picture as a prediction vector candidate for encoding a motion vector.
- the motion prediction / compensation unit 34 reads, from the MV memory 36-1, the motion vectors of the corresponding blocks associated with the motion vectors in the pictures of the same view at different times, and sets them as prediction vector candidates.
- the motion prediction / compensation unit 34 reads the motion vector of the reference block in the different view at the same time from the MV memory 36-N in which the motion vector of the different view is stored, and sets it as a prediction vector candidate.
- the reference block (Cor PU in FIG. 1) in a different view refers to a disparity vector by searching for a disparity vector from the motion vectors of adjacent blocks adjacent to the periphery of the target block (Curr PU in FIG. 1). Is a block at a position shifted by the amount corresponding to the disparity vector from the same position as the target block.
- the motion prediction / compensation unit 34 uses a spatial adjacent block adjacent in the same picture as a motion vector candidate.
- the motion prediction / compensation unit 34 reads out the motion vectors of the corresponding blocks associated with the motion vectors in the pictures of the same view at different times from the MV memory 36-1, and sets them as motion vector candidates.
- the motion prediction / compensation unit 34 reads the motion vector of the reference block in the different view at the same time from the MV memory 36-N in which the motion vector of the different view is stored, and sets it as a motion vector candidate.
- the motion prediction / compensation unit 34 generates candidate pictures using these motion vector candidates.
- the motion prediction / compensation unit 34 uses the encoding cost required to encode the target block using the prediction image, candidate pictures used for generation of the prediction image, motion vector candidates, prediction vector candidates, Obtained for each inter prediction mode (including inter-view prediction mode) or M / S mode with different block sizes.
- the motion prediction / compensation unit 34 sets the inter prediction mode or the inter-view prediction mode with the minimum coding cost as the optimal inter prediction mode that is the optimal inter prediction mode, and the prediction image and the code obtained in the optimal inter prediction mode. Is supplied to the predicted image selection unit 35.
- the motion prediction / compensation unit 34 uses the prediction vector candidate in the optimal inter prediction mode as a prediction vector, obtains a difference from the motion vector, and supplies the motion vector information as an index of the prediction vector to the lossless encoding unit 26. Supply. Further, the motion prediction / compensation unit 34 stores the motion vector in the optimal inter prediction mode in the MV memory 36-1.
- the predicted image selection unit 35 selects a prediction image having a lower encoding cost from among the predicted images from the intra-screen prediction unit 33 and the motion prediction / compensation unit 34, and supplies the selected one to the calculation unit 23 and the calculation unit 30. To do.
- the intra prediction unit 33 supplies information related to intra prediction to the lossless encoding unit 26 as header information.
- the motion prediction / compensation unit 34 supplies information related to inter prediction (such as motion vector information) to the lossless encoding unit 26 as header information.
- the lossless encoding unit 26 selects the header information from the one in which the prediction image with the lower encoding cost is generated among the header information from each of the in-screen prediction unit 33 and the motion prediction / compensation unit 34, Include in encoded data header.
- the MV memory 36-1 refers to a motion vector (candidate) that is referred to when generating a motion vector determined by the motion prediction / compensation unit 34 for encoding a motion vector performed later in time.
- the MV memory 36-1 is shared by the encoders 11-M of other views.
- the MV memory 36-N has encoders 11-N of different views, and the motion vectors determined by the encoder 11-N are predicted vectors for encoding motion vectors performed later in time. Are stored as motion vector (candidates) to be referred to.
- the MV memory 36-N is shared by the motion prediction / compensation unit 34 and the encoder 11-M of other views.
- FIG. 5 is a block diagram illustrating a configuration example of the motion prediction / compensation unit in FIG.
- the motion prediction / compensation unit 34 includes a motion prediction mode generation unit 51, an automatic reference index generation unit 52, an AMVP mode vector prediction unit 53, an M / S mode vector prediction unit 54, and a mode determination unit 55. It is configured to include.
- the motion prediction mode generation unit 51 generates motion prediction modes such as an inter prediction mode, a merge mode, and a skip mode.
- the motion prediction mode generation unit 51 supplies information indicating the inter prediction mode and a reference image index (Ref index) to the AMVP mode vector prediction unit 53.
- the motion prediction mode generation unit 51 supplies the merge mode or the skip mode (M / S mode) to the reference index automatic generation unit 52.
- the reference index automatic generation unit 52 automatically generates a reference image index, and combines the generated reference image index (Ref index) together with the Merge mode or Skip mode from the motion prediction mode generation unit 51 with the M / S mode vector prediction unit 54. To supply.
- the AMVP mode vector prediction unit 53 is encoded and decoded locally from the DPB 32-1 or DPB 32-N before the target picture according to the prediction mode from the motion prediction mode generation unit 51 and the reference image index. One or more pictures are read out as candidate pictures.
- the AMVP mode vector prediction unit 53 detects the shift between the target block and the corresponding block of the candidate picture corresponding to the target block by motion detection using the target block of the target picture from the screen rearrangement buffer 22 and the candidate picture. A motion vector representing the motion is detected.
- the AMVP mode vector prediction unit 53 generates a predicted image by performing motion compensation that compensates for the shift of the motion of the candidate picture from the DPB 32-1 and DPB 32-N according to the motion vector of the target block.
- the AMVP mode vector prediction unit 53 uses a spatial adjacent block adjacent in the same picture as a prediction vector candidate for encoding a motion vector.
- the motion prediction / compensation unit 34 reads out the motion vectors of temporally adjacent blocks corresponding to or adjacent to each other in the pictures of the same view at different times from the MV memory 36-1, and sets them as prediction vector candidates.
- the AMVP mode vector prediction unit 53 reads out motion vectors of reference blocks in different views at the same time from the MV memory 36-N in which motion vectors of different views are stored, and sets them as prediction vector candidates.
- the AMVP mode vector prediction unit 53 uses the encoding cost required to encode the target block using the predicted image, the candidate picture used for generating the predicted image, , Motion vector candidates, prediction vector candidates, and inter prediction modes having different block sizes.
- the AMVP mode vector prediction unit 53 supplies the optimum coding cost among the obtained coding costs to the mode determination unit 55 as the mode cost.
- the AMVP mode vector prediction unit 53 uses the prediction vector candidate at the optimal encoding cost as a prediction vector, obtains a difference from the motion vector, calculates the motion vector difference (Mvd), and the prediction vector index. (Mv index) is encoded as motion vector information.
- the M / S mode vector prediction unit 54 encodes the DPB 32-1 or DPB 32-N encoded in advance before the target picture and locally decoded according to the mode and reference image index from the reference index automatic generation unit 52. The above pictures are read out as candidate pictures.
- the M / S mode vector prediction unit 54 uses the adjacent spatial block in the same picture as a motion vector candidate.
- the M / S mode vector prediction unit 54 reads out motion vectors of temporally adjacent blocks corresponding to or adjacent to each other in the pictures at different times in the same view from the MV memory 36-1, and sets them as motion vector candidates.
- the M / S mode vector prediction unit 54 reads out motion vectors of reference blocks in different views at the same time from the MV memory 36-N in which motion vectors of different views are stored, and sets them as motion vector candidates.
- the M / S mode vector prediction unit 54 uses these motion vector candidates to generate candidate pictures.
- the M / S mode vector prediction unit 54 uses the encoding cost required for encoding the target block using the predicted image based on the original image from the image rearrangement buffer 22 as a candidate for generating the predicted image. Obtained for each picture, motion vector candidate, and M / S mode. The M / S mode vector prediction unit 54 supplies the optimum coding cost among the obtained coding costs to the mode determination unit 55 as the mode cost. Also, the M / S mode vector prediction unit 54 encodes a merge index (Merge index) indicating a motion vector as motion vector information.
- merge index Merge index
- the mode determination unit 55 refers to the encoding cost from the AMVP mode vector prediction unit 53 and the M / S mode vector prediction unit 54, and selects the inter prediction mode or the inter-view prediction mode with the minimum encoding cost as the optimal motion prediction. The mode is determined as the optimum prediction mode. The mode determination unit 55 returns the determination result of the optimal prediction mode to the AMVP mode vector prediction unit 53 and the M / S mode vector prediction unit 54.
- the AMVP mode vector prediction unit 53 supplies the prediction image (Pred. Image) obtained in the optimal prediction mode and the coding cost to the prediction image selection unit 35 based on the determination result from the mode determination unit 55.
- the AMVP mode vector prediction unit 53 supplies the inter prediction mode (Inter mode), the reference image index (Ref index), and the encoded motion vector information determined as the optimal prediction mode to the lossless encoding unit 26.
- the M / S mode vector prediction unit 54 supplies the prediction image (Pred. Image) obtained in the optimal prediction mode and the encoding cost to the prediction image selection unit 35. To do. Further, the M / S mode vector prediction unit 54 supplies the prediction mode (M / S mode) determined to be the optimal prediction mode and the encoded motion vector information to the lossless encoding unit 26. At this time, the motion vector information of the optimal encoding cost is temporarily stored (overwritten) in the Spatial MV memory 64 of FIG.
- FIG. 6 is a block diagram illustrating a configuration example of the AMVP mode vector prediction unit in FIG.
- the AMVP mode vector prediction unit 53 includes a vector search unit 61, a prediction image generation unit 62, a vector cost determination unit 63, a Spatial MV memory 64, a prediction vector generation unit 65, a prediction vector generation unit 66, and a switch 67.
- the subtracting unit 68 and the POC converting unit 69 are included.
- the reference image index from the motion prediction mode generation unit 51 is supplied to the vector search unit 61, the POC conversion unit 69, and the lossless encoding unit 26.
- the vector search unit 61 is also supplied with a prediction mode from the motion prediction mode generation unit 51.
- the vector search unit 61 encodes the DPB 32-1 or DPB 32-N from the DPB 32-1 or DPB 32-N according to the prediction mode from the motion prediction mode generation unit 51 and the local picture and performs local decoding. Are read as candidate pictures.
- the vector search unit 61 performs motion detection using the target block of the target picture from the screen rearrangement buffer 22 and the candidate picture as a shift between the target block and the corresponding block of the candidate picture corresponding to the target block. A motion vector representing motion is detected.
- the vector search unit 61 supplies the detected motion vector to the predicted image generation unit 62 and the vector cost determination unit 63.
- the predicted image generation unit 62 generates a predicted image by performing motion compensation that compensates for the shift of the motion of the candidate pictures from the DPB 32-1 and DPB 32-N according to the motion vector of the target block from the vector search unit 61. To do.
- the generated predicted image is supplied to the predicted image selection unit 35 and the vector cost determination unit 63.
- the vector cost determination unit 63 includes the original image from the screen rearrangement buffer 22, the motion vector from the vector search unit 61, the prediction image from the prediction image generation unit 62, the prediction vector from the prediction vector generation units 65 and 66, and its MV. An encoding cost is obtained using an index or the like. Then, the vector cost determination unit 63 determines the smallest coding cost, and supplies the smallest coding cost (Best cost) and its prediction mode to the mode determination unit 55. The vector cost determination unit 63 temporarily stores the motion vector having the lowest coding cost in the Spatial MV memory 64.
- the Spatial MV memory 64 stores the motion vector with the lowest coding cost as a candidate used for generation of a prediction vector performed later in time.
- a motion vector is stored for each block unit (PU) for which the motion vector is obtained. If the encoding cost in the M / S mode is optimal, the motion vector in the Spatial MV memory 64 is overwritten with the motion vector in the M / S mode.
- the Spatial MV memory 64 supplies the subtraction unit 68 with the best motion vector (Best MV).
- the prediction vector generation unit 65 reads a motion vector of a spatially adjacent block adjacent in the same picture from the Spatial MV memory 64, and generates a Spatial prediction vector.
- the prediction vector generation unit 65 supplies the generated spatial prediction vector to the vector cost determination unit 63 and the subtraction unit 68 through the switch 67 together with the MV index indicating the prediction vector.
- the prediction vector generation unit 66 generates a prediction vector by TMVP (Temporal Moving Vector Prediction). That is, the prediction vector generation unit 66 reads the motion vector of the temporally adjacent block corresponding to or adjacent to the pictures at different times in the same view from the MV memory 36-1, and generates a prediction vector. At that time, if the reference POC of the target block (Ref ⁇ POC) and the reference POC of the temporally adjacent block (Ref POC) are different based on the POC information from the POC conversion unit 69, scaling is performed. That is, the scaled motion vector is used as the prediction vector.
- the prediction vector generation unit 66 supplies the generated temporal prediction vector to the vector cost determination unit 63 and the subtraction unit 68 via the switch 67 together with the MV index indicating the prediction vector.
- the prediction vector generation unit 66 generates a prediction vector by inter-view prediction (IVMP).
- IVMP inter-view prediction
- the predicted vector generation unit 66 searches the Spatial MV memory 64 for a disparity vector from motion vectors of adjacent blocks adjacent to the target block, and obtains reference blocks in different views at the same time based on the searched disparity vector. Then, the prediction vector generation unit 66 reads the motion vector of the reference block in the different view at the same time from the MV memory 36-N in which the motion vector of the different view is stored, and generates the prediction vector.
- the prediction vector generation unit 66 supplies the generated inter-view prediction vector together with the MV index indicating the prediction vector to the vector cost determination unit 63 and the subtraction unit 68 via the switch 67.
- the switch 67 selects the prediction vector from the prediction vector generation unit 65 or the prediction vector from the prediction vector generation unit 66, and supplies the selected prediction vector and its MV index to the vector cost determination unit 63 and the subtraction unit 68.
- the subtracting unit 68 moves the difference (MVd) between the motion vector (Best MV) considered to be the least cost from the Spatial MV memory 64 and the prediction vector from the switch 67 together with the MV index indicating the index of the prediction vector. Encode as vector information.
- the subtraction unit 68 supplies the encoded motion vector information to the lossless encoding unit 26.
- the POC conversion unit 69 converts the reference image index (Ref index) of the target block from the motion prediction mode generation unit 51 into a POC, and supplies the POC information indicating the converted POC to the prediction vector generation unit 66.
- FIG. 7 is a block diagram illustrating a configuration example of the non-spatial prediction vector generation unit in FIG. 6.
- the prediction vector generation unit 66 is configured to include a prediction vector index generation unit 81, an intra-view reference vector generation unit 82, and an inter-view reference vector generation unit 83.
- the prediction vector index generation unit 81 generates a TMVP prediction vector index (MV index) and supplies it to the in-view reference vector generation unit 82.
- the prediction vector index generation unit 81 generates an IVMP prediction vector index (MV index) and supplies the IVMP prediction vector index (MV index) to the inter-view reference vector generation unit 83.
- the in-view reference vector generation unit 82 generates a prediction vector by TMVP. That is, the intra-view reference vector generation unit 82 reads out the motion vector of the corresponding block associated with the motion vector in the picture of the same view at different times from the MV memory 36-1, and generates a prediction vector.
- the motion vector of the corresponding block is scaled. Is done. That is, the scaled motion vector is used as the prediction vector.
- the in-view reference vector generation unit 82 supplies the generated temporal prediction vector (PMV) to the vector cost determination unit 63 and the subtraction unit 68 through the switch 67 together with the MV index indicating the prediction vector.
- the inter-view reference vector generation unit 83 generates a prediction vector by IVMP.
- the inter-view reference vector generation unit 83 searches a disparity vector from the spatial vector of the adjacent block adjacent to the target block from the Spatial MV memory 64, and based on the searched disparity vector, finds reference blocks in different views at the same time. Ask. Then, the inter-view reference vector generation unit 83 reads the motion vector of the reference block in the different view at the same time from the MV memory 36-N in which the motion vector of the different view is stored, and generates a prediction vector.
- the motion vector of the reference block is scaled. Is done. That is, the scaled motion vector is used as the prediction vector.
- the inter-view reference vector generation unit 83 supplies the generated inter-view prediction vector to the vector cost determination unit 63 and the subtraction unit 68 via the switch 67 together with the MV index indicating the prediction vector.
- the A / D converter 21 is sequentially supplied with pictures of non-base view color images, which are images to be encoded (moving images), in the display order.
- step S ⁇ b> 11 when the picture is an analog signal, the A / D conversion unit 21 performs A / D conversion on the analog signal and supplies the analog signal to the screen rearrangement buffer 22.
- the screen rearrangement buffer 22 temporarily stores the pictures from the A / D conversion unit 21 and reads out the pictures according to the GOP (Group of Pictures) structure indicated by the supplied encoding order, thereby arranging the pictures. Is rearranged from the display order to the encoding order (decoding order).
- the picture read from the screen rearrangement buffer 22 is supplied to the calculation unit 23, the intra-screen prediction unit 33, and the motion prediction / compensation unit 34.
- step S12 the intra-screen prediction unit 33 performs intra-screen prediction. That is, the in-screen prediction unit 33 reads from the in-loop filter 31 a part (decoded image) of the target picture that has already been locally decoded. Then, the intra prediction unit 33 reads a part of the decoded image of the target picture read out from the in-loop filter 31 as a predicted image of the target block (PU) of the target picture supplied from the screen rearrangement buffer 22. To do.
- the in-screen prediction unit 33 obtains the encoding cost required to encode the target block using the predicted image, that is, the encoding cost required to encode the residual of the target block with respect to the predicted image,
- the predicted image is supplied to the predicted image selection unit 35 together with the predicted image.
- step S13 the motion prediction / compensation unit 34 performs motion prediction and compensation. This motion prediction and compensation process will be described later in detail with reference to FIG.
- step S13 motion prediction and compensation in all inter prediction modes, prediction vector generation, motion vector generation in M / S mode, and the like are performed, and all inter prediction modes (including M / S mode) are performed.
- a predicted image is generated.
- the encoding cost required to encode the target block (PU) using the prediction image differs from the candidate picture used for generating the prediction image, the motion vector candidate, the prediction vector candidate, and the macroblock type.
- the optimum inter prediction mode is determined for each inter prediction mode (including the inter-view prediction mode) or M / S mode, and the coding cost is supplied to the prediction image selection unit 35 together with the prediction image.
- the intra prediction unit 33 supplies information related to intra prediction to the lossless encoding unit 26 as header information.
- the motion prediction / compensation unit 34 supplies information related to inter prediction (such as motion vector information) to the lossless encoding unit 26 as header information.
- step S ⁇ b> 14 the predicted image selection unit 35 selects a predicted image with the lower coding cost from the predicted images from the intra-screen prediction unit 33 and the motion prediction / compensation unit 34. To the unit 30.
- step S15 the motion prediction / compensation unit 34 (vector cost determination unit 63 in FIG. 6) displays the motion vector of the optimal inter prediction mode when motion prediction is selected (instead of intra-screen prediction) in step S14. 6 is temporarily stored in the Spatial IV MV memory 64. That is, also in the process of step S13, the motion vector in the AMVP mode is stored in the Spatial MV memory 64. However, in step S15, for example, when the optimum encoding cost is the M / S mode, the M / S The motion vector in the Spatial MV memory 64 of FIG. 6 is overwritten with the mode motion vector.
- step S16 the calculation unit 23 calculates the difference between the original image from the screen rearrangement buffer 22 and the prediction image from the prediction image selection unit 35, and supplies the calculation result to the orthogonal transformation unit 24. That is, the calculation unit 23 performs prediction encoding by calculating a subtraction value obtained by subtracting the pixel value of the prediction image supplied from the prediction image selection unit 35 from the pixel value of the target block as necessary, and performs orthogonal encoding. This is supplied to the conversion unit 24.
- step S ⁇ b> 17 the orthogonal transform unit 24 performs discrete cosine transform, caronen labeling, and the like on the target block (the pixel value or the residual obtained by subtracting the predicted image) from the computing unit 23 in units of TU. Orthogonal transformation such as transformation is performed, and the resulting transformation coefficient is supplied to the quantization unit 25.
- step S18 the quantization unit 25 quantizes the transform coefficient supplied from the orthogonal transform unit 24, and supplies the resulting quantized value to the inverse quantization unit 28 and the lossless encoding unit 26.
- step S19 the inverse quantization unit 28 inversely quantizes the quantized value from the quantization unit 25 into a transform coefficient and supplies the transform coefficient to the inverse orthogonal transform unit 29.
- step S ⁇ b> 20 the inverse orthogonal transform unit 29 performs inverse orthogonal transform on the transform coefficient from the inverse quantization unit 28 and supplies the transform unit 30 with the transform coefficient.
- step S ⁇ b> 21 the lossless encoding unit 26 performs lossless encoding on the residual coefficient that is the quantized value from the quantization unit 25, and supplies the encoded data obtained as a result to the accumulation buffer 27. .
- the lossless encoding unit 26 encodes header information such as prediction mode information and motion vector information from the intra-screen prediction unit 33 and the motion prediction / compensation unit 34, and includes them in the header of the encoded data.
- step S ⁇ b> 22 the calculation unit 30 adds the pixel value of the predicted image supplied from the predicted image selection unit 35 to the data supplied from the inverse orthogonal transform unit 29, as necessary.
- a decoded image obtained by decoding (local decoding) is obtained and supplied to the in-loop filter 31.
- step S23 the in-loop filter 31 determines whether it is the end of the LCU. If it is determined in step S23 that it is not the end of the LCU, the process returns to step S12, and the subsequent processes are repeated.
- step S23 If it is determined in step S23 that the terminal is the end of the LCU, the process proceeds to step S24.
- step S ⁇ b> 24 the in-loop filter 31 removes (reduces) block distortion generated in the decoded image by filtering the decoded image from the calculation unit 30.
- step S25 the in-loop filter 31 stores the decoded image after filtering in the DPB 32-1.
- step S26 the motion prediction / compensation unit 34 compresses the motion vector stored in step S15. That is, in the Spatial MV memory 64, for example, one motion vector is stored for each 4 ⁇ 4 block, but the motion vector is stored so that one motion vector is stored for each 16 ⁇ 16 block. Compressed. For example, the motion vector of the upper left block in the 16 ⁇ 16 block is selected.
- step S27 the motion prediction / compensation unit 34 stores the compressed motion vector in the MV memory 36-1.
- step S28 the encoder 11-M of the other view encodes the picture of the other view.
- This encoding process is basically the same process as the encoding process of FIG.
- the encoding process is performed as described above.
- the motion prediction mode generation unit 51 generates motion prediction modes such as an inter prediction mode (including an inter-view prediction mode), a merge mode, and a skip mode.
- step S42 the motion prediction mode generation unit 51 determines whether the generated motion prediction mode is the inter prediction mode. When it is determined in step S42 that the mode is the inter prediction mode, the motion prediction mode generation unit 51 supplies the inter prediction mode (Inter ⁇ ⁇ ⁇ mode) and the reference image index (Ref index) to the AMVP mode vector prediction unit 53. The process proceeds to step S43.
- step S43 the AMVP mode vector prediction unit 53 performs AMVP mode vector prediction. Details of the vector prediction in the AMVP mode will be described later with reference to FIG.
- a motion vector for the inter prediction mode is searched, a prediction image is generated, a residual image is generated, and spatial (non-spatial) and non-spatial prediction vectors are generated.
- a prediction vector if the ref POC of the current PU ⁇ and the ref POC of the reference PU in different views are different, the motion vector of the reference PU is scaled and the current PU prediction vector candidate It is said.
- the prediction vector with the minimum cost is selected by calculating the difference between the prediction vector candidate and the motion vector.
- the minimum cost of the selected prediction vector is supplied to the mode determination unit 55.
- the difference between the selected prediction vector of the minimum cost and the motion vector and the index of the prediction vector are encoded as motion vector information.
- step S42 when it is determined in step S42 that the mode is not the inter prediction mode, the motion prediction mode generation unit 51 supplies the Merge mode or the Skip mode (M / S mode) to the reference index automatic generation unit 52, and the processing is performed. The process proceeds to step S44.
- the reference index automatic generation unit 52 automatically generates a reference image index, and includes the generated reference image index (Ref index) together with information indicating the Merge mode or Skip mode from the motion prediction mode generation unit 51. It supplies to / S mode vector prediction part 54.
- step S45 the M / S mode vector prediction unit 54 performs vector prediction in the Merge mode or Skip mode.
- the M / S mode vector prediction unit 54 is encoded from the DPB 32-1 or DPB 32-N before the target picture and locally decoded in accordance with the mode and reference image index from the reference index automatic generation unit 52. One or more pictures are read out as candidate pictures.
- the M / S mode vector prediction unit 54 uses the adjacent spatial block in the same picture as a motion vector candidate.
- the M / S mode vector prediction unit 54 reads out motion vectors of temporally adjacent blocks corresponding to or adjacent to each other in the pictures at different times in the same view from the MV memory 36-1, and sets them as motion vector candidates.
- the M / S mode vector prediction unit 54 reads out motion vectors of reference blocks in different views at the same time from the MV memory 36-N in which motion vectors of different views are stored, and sets them as motion vector candidates.
- the M / S mode vector prediction unit 54 uses these motion vector candidates to generate candidate pictures.
- the M / S mode vector prediction unit 54 uses the encoding cost required for encoding the target block using the predicted image based on the original image from the image rearrangement buffer 22 as a candidate for generating the predicted image. Obtained for each picture, motion vector candidate, and M / S mode.
- the M / S mode vector prediction unit 54 supplies the optimum coding cost among the obtained coding costs to the mode determination unit 55 as the mode cost.
- the M / S mode vector prediction unit 54 encodes a merge index (Merge index) indicating a motion vector having an optimal encoding cost as motion vector information.
- the mode determination unit 55 refers to the encoding cost from the AMVP mode vector prediction unit 53 and the M / S mode vector prediction unit 54, and selects the inter prediction mode or the inter-view prediction mode with the minimum encoding cost.
- the optimum inter prediction mode which is the optimum inter prediction mode, is determined.
- the mode determination unit 55 returns the determination result of the optimal inter prediction mode to the AMVP mode vector prediction unit 53 and the M / S mode vector prediction unit 54.
- step S47 the AMVP mode vector prediction unit 53 or the M / S mode vector prediction unit 54 selects and selects the encoded motion information of the mode with the low encoding cost based on the determination result from the mode determination unit 55.
- the motion information is supplied to the lossless encoding unit 26.
- the prediction mode from the motion prediction mode generation unit 51 is supplied to the vector search unit 61 together with the reference image index.
- step S61 the vector search unit 61 searches for a vector according to the prediction mode from the motion prediction mode generation unit 51 and the reference image index.
- the vector search unit 61 is encoded and locally decoded from the DPB 32-1 or DPB 32-N before the target picture according to the prediction mode from the motion prediction mode generation unit 51 and the reference image index. One or more pictures are read out as candidate pictures.
- the vector search unit 61 performs motion detection using the target block of the target picture from the screen rearrangement buffer 22 and the candidate picture as a shift between the target block and the corresponding block of the candidate picture corresponding to the target block. A motion vector representing motion is detected.
- the vector search unit 61 supplies the detected motion vector to the predicted image generation unit 62 and the vector cost determination unit 63.
- step S62 the predicted image generation unit 62 generates a predicted image according to the motion vector of the target block from the vector search unit 61.
- the predicted image generation unit 62 performs motion compensation that compensates for the shift of the motion of the candidate pictures from the DPB 32-1 and DPB 32-N according to the motion vector of the target block from the vector search unit 61, so that the predicted image Is generated.
- the generated predicted image is supplied to the predicted image selection unit 35 and the vector cost determination unit 63.
- step S63 the vector determination unit 63 generates a residual image using the original image from the screen rearrangement buffer 22, the motion vector from the vector search unit 61, and the predicted image from the predicted image generation unit 62.
- the generated residual image is used for calculating the encoding cost in step S67 described later.
- step S64 the prediction vector generation unit 65 generates a Spatial prediction vector. That is, the prediction vector generation unit 65 reads a motion vector of a spatially adjacent block adjacent in the same picture from the Spatial MV memory 64, and generates a Spatial prediction vector. The prediction vector generation unit 65 supplies the generated spatial prediction vector to the vector cost determination unit 63 and the subtraction unit 68 through the switch 67 together with the MV index indicating the prediction vector.
- step S65 the prediction vector generation unit 66 generates a Non- Spatial prediction vector. That is, the prediction vector generation unit 66 generates a prediction vector based on TMVP and a prediction vector based on IVMP. The process of generating the Non- Spatial prediction vector will be described later with reference to FIG.
- a prediction vector is generated by TMVP, and a prediction vector is generated by IVMP.
- a disparity vector is searched from motion vectors of adjacent blocks adjacent to the target block, and reference blocks in different views at the same time are obtained based on the searched disparity vector. .
- the motion vector of the reference block in the different view at the same time is read from the MV memory 36-N in which the motion vector of the different view is stored, and the reference POC (Ref POC) of the target block and the reference block reference When the POC (Ref POC) is different, scaling is performed.
- the POC information is converted from the Ref index by the POC conversion unit 69 and supplied.
- the TMVP prediction vector and the IVMP prediction vector generated by the process of step S65 are supplied to the vector cost determination unit 63 and the subtraction unit 68 via the switch 67 together with the MV index indicating the prediction vector.
- step S66 the vector cost determination unit 63 calculates a residual between the motion vector of the target block and the prediction vector of the target block supplied from the prediction vector generation units 65 and 66.
- step S67 the vector cost determination unit 63 obtains an encoding cost using the residual image obtained in step S63, the vector residual obtained in step S66, and the like, and from the obtained encoding cost, The prediction vector with the lowest cost is selected, and the motion vector (Best MV) corresponding to the selected prediction vector is stored in the Spatial MV memory 64.
- the motion vector (Best MV) is supplied to the subtraction unit 68 via the Spatial MV memory 64.
- step S68 the difference (MVd) between the motion vector (Best MV) considered to be the least cost from the Spatial MV memory 64 and the prediction vector from the switch 67 corresponding to this motion vector is calculated as an index of the prediction vector. It encodes as motion vector information with MV index which shows.
- Non-Spatial prediction vector generation processing example Next, non-spatial prediction vector generation processing in step S65 of FIG. 10 will be described with reference to the flowchart of FIG.
- the prediction vector index generation unit 81 generates a TMVP prediction vector index (MV index) and supplies it to the in-view reference vector generation unit 82.
- the prediction vector index generation unit 81 generates an IVMP prediction vector index (MV index) and supplies the IVMP prediction vector index (MV index) to the inter-view reference vector generation unit 83.
- step S81 the in-view reference vector generation unit 82 generates a prediction vector by TMVP.
- the in-view reference vector generation unit 82 reads out the motion vector of the temporally adjacent block corresponding to or adjacent to the pictures at different times in the same view from the MV memory 36-1, and generates a prediction vector.
- the in-view reference vector generation unit 82 supplies the generated temporal prediction vector (PMV) to the vector cost determination unit 63 and the subtraction unit 68 through the switch 67 together with the MV index indicating the prediction vector.
- PMV temporal prediction vector
- the inter-view reference vector generation unit 83 generates a prediction vector by IVMP.
- step S82 the inter-view reference vector generation unit 83 searches the disparity vector from the spatial vector of the adjacent block adjacent to the target block (PU) from the Spatial MV memory 64, and based on the searched disparity vector, Parallax is calculated.
- step S83 the inter-view reference vector generation unit 83 selects a PU at a position shifted by the amount of parallax obtained in step S82 in a different view as a reference PU.
- step S84 the inter-view reference vector generation unit 83 reads the motion vector of the selected reference PU from the MV memory 36-N in which motion vectors of different views are stored, and predicts the motion vector of the selected reference PU. Is generated. This prediction vector generation process will be described later with reference to FIGS. 12 and 13.
- step S84 the generated IVMP prediction vector is supplied to the vector cost determination unit 63 and the subtraction unit 68 via the switch 67 together with the MV index indicating the prediction vector.
- step S102 the inter-view reference vector generation unit 83 determines whether POCcurr_l0 that is the Ref POC of the target PU and POCbase_l0 that is the Ref POC of the reference PU are equal.
- step S102 If it is determined in step S102 that POCcurr_l0 and POCbase_l0 are equal, the process proceeds to step S103.
- step S105 the inter-view reference vector generation unit 83 determines whether POCcurr_l0 which is the Ref POC of the target PU and POCbase_l1 which is the Ref POC of the reference PU are equal.
- step S105 If it is determined in step S105 that POCcurr_l0 and POCbase_l1 are equal, the process proceeds to step S106.
- step S111 the inter-view reference vector generation unit 83 assumes that there is no prediction vector PMV_L0 in the L0 direction of the target PU, and the prediction vector generation processing ends.
- step S132 the inter-view reference vector generation unit 83 determines whether POCcurr_l1 which is the Ref POC of the target PU is equal to POCbase_l1 which is the Ref POC of the reference PU.
- step S132 If it is determined in step S132 that POCcurr_l1 and POCbase_l1 are equal, the process proceeds to step S133.
- step S135 the inter-view reference vector generation unit 83 determines whether POCcurr_l1 that is the Ref POC of the target PU is equal to POCbase_l0 that is the Ref POC of the reference PU.
- step S135 If it is determined in step S135 that POCcurr_l1 and POCbase_l0 are equal, the process proceeds to step S136.
- step S141 the inter-view reference vector generation unit 83 assumes that there is no prediction vector PMV_L1 in the L1 direction of the target PU, and the prediction vector generation process ends.
- the motion vector of the reference PU is scaled and the current PU prediction vector candidate I was supposed to be.
- FIG. 16 illustrates a configuration of an embodiment of a decoder that configures a multi-viewpoint image decoding device as an image processing device to which the present disclosure is applied.
- the multi-viewpoint image decoding apparatus includes, for example, decoders 211-1 to 211 -M that respectively decode multi-viewpoint images.
- the decoder 211-1 decodes the encoded data corresponding to the non-base view color image in the encoded stream encoded by the encoder 11-1 by the HEVC method to generate a non-base view color image.
- a decoder 211-M that decodes the corresponding encoded data of the encoded streams encoded by the encoders 11-M and 11-N and generates a color image of another view (including a base view) in units of frames.
- the decoder 211-N is configured in the same manner as the decoder 211-1.
- the decoder 211-1 is configured in the same manner.
- the decoder 211-1 includes a storage buffer 221, a lossless decoding unit 222, an inverse quantization unit 223, an inverse orthogonal transform unit 224, a calculation unit 225, an in-loop filter 226, a screen rearrangement buffer 227, and a D An / A (Digital / Analog) conversion unit 228 is included.
- the decoder 211-1 is configured to include a DPB 229-1, an intra-screen prediction unit 230, a motion compensation unit 231, a predicted image selection unit 232, and an MV memory 233-1.
- the accumulation buffer 221 is also a receiving unit that receives the corresponding encoded data in the encoded stream from the encoder 11-1.
- the accumulation buffer 221 temporarily stores the received encoded data and supplies it to the lossless decoding unit 222.
- the encoded data includes header information as well as encoded data (quantized residual coefficient) of the color image of the base view.
- the lossless decoding unit 222 restores the quantized residual coefficient and header information by variable-length decoding the encoded data from the accumulation buffer 221. Then, the lossless decoding unit 222 supplies the quantized value to the inverse quantization unit 223 and supplies the corresponding header information to the intra-screen prediction unit 230 and the motion compensation unit 231.
- the inverse quantization unit 223 dequantizes the quantized residual coefficient from the lossless decoding unit 222 into a transform coefficient and supplies the transform coefficient to the inverse orthogonal transform unit 224.
- the inverse orthogonal transform unit 224 performs inverse orthogonal transform on the transform coefficient from the inverse quantization unit 223 in units of TU, and supplies the transform unit 225 in units of blocks (for example, LCUs).
- the calculation unit 225 sets the block supplied from the inverse orthogonal transform unit 224 as a target block to be decoded, and adds the predicted image supplied from the predicted image selection unit 232 to the target block as necessary. Then, decryption is performed. The calculation unit 225 supplies the decoded image obtained as a result to the in-loop filter 226.
- the in-loop filter 226 is constituted by a deblocking filter, for example.
- the in-loop filter 226 includes a deblocking filter and an adaptive offset filter.
- the in-loop filter 226 performs, for example, the same filtering as the in-loop filter 31 in FIG. 4 on the decoded image from the calculation unit 225 and supplies the filtered decoded image to the screen rearrangement buffer 227.
- the screen rearrangement buffer 227 temporarily stores and reads out the picture of the decoded image from the in-loop filter 226, rearranges the picture arrangement to the original arrangement (display order), and supplies it to the D / A conversion unit 228. To do.
- the D / A conversion unit 228 When the D / A conversion unit 228 needs to output the picture from the screen rearrangement buffer 227 as an analog signal, the D / A conversion unit 228 performs D / A conversion on the picture and outputs it.
- the in-loop filter 226 supplies the decoded images of the I picture, the P picture, and the Bs picture, which are referenceable pictures among the decoded images after filtering, to the DPB 229-1.
- the in-loop filter 226 supplies the decoded image that has not been filtered to the intra-screen prediction unit 230.
- the DPB 229-1 is a predictive code that is obtained by temporally processing the decoded image from the in-loop filter 226, that is, the picture of the color image of the non-base view that is encoded by the decoder 211-1 and locally decoded. This is stored as a reference picture (candidate) to be referred to when generating a predicted image used for encoding (encoding in which the predicted image is subtracted by the calculation unit 225).
- the DPB 229-1 is shared by the decoders 211-M of other views.
- the intra prediction unit 230 is based on the header information (intra prediction mode) from the lossless decoding unit 222 and the target block (PU) is encoded using a prediction image generated by intra prediction (intra prediction). Recognize whether or not
- the intra prediction unit 230 extracts the target block from the in-loop filter 226 in the same manner as the intra prediction unit 33 in FIG. Of the included picture (target picture), the already decoded part (decoded image) is read. Then, the intra-screen prediction unit 230 supplies a part of the decoded image of the target picture read from the in-loop filter 226 to the predicted image selection unit 232 as a predicted image of the target block.
- the motion compensation unit 231 Based on the header information from the lossless decoding unit 222, the motion compensation unit 231 recognizes whether or not the target block is encoded using a prediction image generated by inter prediction.
- the motion compensation unit 231 recognizes the optimal prediction mode of the target block based on the header information from the lossless decoding unit 222.
- the motion compensation unit 231 performs vector prediction processing in the AMVP mode when the optimal prediction mode is the inter prediction mode, and vector prediction processing in the M / S mode (Merge / Skip mode) when the optimal prediction mode is the Merge / Skip mode. I do.
- the motion compensation unit 231 reads candidate pictures (Inter Pred. Reference picture and Inter-view Pred. Reference picture) corresponding to the reference image index from the candidate pictures stored in the DPB 229-1 or DPB 229-N.
- the motion compensation unit 231 generates a prediction vector used for decoding the motion vector based on the prediction vector index in the header information from the lossless decoding unit 222.
- the motion compensation unit 231 when the prediction vector index indicates a Spatial prediction vector, the motion compensation unit 231 generates a prediction vector using adjacent spatial neighboring blocks in the same picture.
- the motion compensation unit 231 reads the motion vector of a temporally adjacent block corresponding to or adjacent to a picture at a different time in the same view from the MV memory 233-1. Is generated.
- the motion compensation unit 231 reads the reference blocks (Cor PU in FIG. 1) in different views at the same time from the MV memory 233-N in which the motion vectors of different views are stored. Are read out, and a prediction vector is generated.
- the motion compensation unit 231 recognizes a motion vector representing the motion used to generate the predicted image of the target block by adding the motion information in the header information from the lossless decoding unit 222 and the generated prediction vector. . Then, similarly to the motion prediction / compensation unit 34 in FIG. 4, the motion compensation unit 231 generates a predicted image by performing motion compensation of the reference picture according to the motion vector.
- the motion compensation unit 231 acquires, as a predicted image, a block (corresponding block) at a position shifted (shifted) from the position of the target block of the candidate picture according to the shift vector of the target block.
- the motion compensation unit 231 In the M / S mode, the motion compensation unit 231 generates a motion vector based on the merge index in the header information from the lossless decoding unit 222.
- the motion compensation unit 231 when the merge index indicates a Spatial prediction vector, the motion compensation unit 231 generates a motion vector using adjacent spatial neighboring blocks in the same picture.
- the motion compensation unit 231 When the merge index indicates a temporal prediction vector, the motion compensation unit 231 generates, from the MV memory 233-1, a motion vector of a temporally adjacent block corresponding to or adjacent to a picture at a different time in the same view, and generates a motion vector To do.
- the motion compensation unit 231 moves the motion vector of the reference block (Cor PU in FIG. 1) in the different view at the same time from the MV memory 233-N in which the motion vector of the different view is stored. To generate a motion vector.
- the motion compensation unit 231 similarly to the motion prediction / compensation unit 34 in FIG. 4, the motion compensation unit 231 generates a predicted image by performing motion compensation of the reference picture according to the motion vector. The motion compensation unit 231 supplies the predicted image to the predicted image selection unit 232.
- the prediction image selection unit 232 selects the prediction image when the prediction image is supplied from the intra-screen prediction unit 230, and selects the prediction image when the prediction image is supplied from the motion compensation unit 231. And supplied to the calculation unit 225.
- the MV memory 233-1 stores the motion vector determined by the motion compensation unit 231 as a motion vector (candidate) to be referred to when generating a prediction vector for encoding a motion vector performed later in time. To do.
- the MV memory 233-1 is shared by the decoders 211-M of other views.
- the MV memory 233-N is included in the encoder 11-N of a different view, and the motion vector determined by the decoder 211-N is a prediction vector for encoding a motion vector performed later in time. Are stored as motion vector (candidates) to be referred to.
- the MV memory 233-N is shared by the motion compensation unit 231 and the decoder 211-M of other views.
- FIG. 15 is a block diagram illustrating a configuration example of the motion compensation unit in FIG.
- the motion compensation unit 231 is configured to include an automatic reference index generation unit 251, an AMVP mode vector prediction unit 252, and an M / S mode vector prediction unit 253.
- the merge mode or the Skip mode and the merge index in the header information are supplied from the lossless decoding unit 222 to the reference index automatic generation unit 251.
- the reference index automatic generation unit 251 automatically generates a reference image index, and, together with the Merge mode or Skip mode from the lossless decoding unit 222, the generated reference image index (Ref index) and the merge index are used as an M / S mode vector prediction unit. 253.
- the prediction mode is the inter prediction mode
- the inter prediction mode (Inter mode)
- the reference image index (Ref index)
- the motion vector difference information (Mvd)
- the prediction vector index (Mv index)
- the AMVP mode vector prediction unit 252 selects a candidate picture (Inter
- the AMVP mode vector prediction unit 252 generates a prediction vector used for decoding a motion vector based on the prediction vector index.
- the AMVP mode vector prediction unit 252 when the index of the prediction vector indicates a Spatial prediction vector, the AMVP mode vector prediction unit 252 generates a prediction vector using adjacent spatial neighboring blocks in the same picture.
- the AMVP mode vector prediction unit 252 reads from the MV memory 233-1 a motion vector of a temporally adjacent block corresponding to or adjacent to a picture at a different time in the same view, Generate a prediction vector.
- the AMVP mode vector prediction unit 252 reads the reference blocks in the different views at the same time (Cor in FIG. 1) from the MV memory 233-N in which the motion vectors of the different views are stored. The motion vector of PU) is read and a prediction vector is generated.
- the AMVP mode vector prediction unit 252 recognizes a motion vector representing the motion used for generating the predicted image of the target block by adding the motion vector difference information and the generated prediction vector. Then, the AMVP mode vector prediction unit 252 generates a predicted image (Pred. Image) by performing motion compensation of the reference picture according to the motion vector. The generated predicted image is supplied to the predicted image selection unit 232.
- the M / S mode vector prediction unit 253 reads a candidate picture (Inter Pred. Reference picture) corresponding to the reference picture index from the candidate pictures stored in the DPB 229-1 or DPB 229-N.
- a candidate picture Inter Pred. Reference picture
- the M / S mode vector prediction unit 253 generates a motion vector based on the merge index in the header information from the lossless decoding unit 222.
- the M / S mode vector prediction unit 253 when the merge index indicates a Spatial prediction vector, the M / S mode vector prediction unit 253 generates a motion vector using adjacent spatial neighboring blocks in the same picture.
- the M / S mode vector prediction unit 253 reads out the motion vector of the corresponding block associated with the motion vector in the pictures at different times in the same view from the MV memory 233-1. To generate a motion vector.
- the M / S mode vector prediction unit 253 reads reference blocks (Cor PU in FIG. 1) from different views at the same time from the MV memory 233-N in which motion vectors of different views are stored. ) To generate a motion vector.
- the generated motion vector information is temporarily stored in the Spatial MV memory 262 of FIG.
- the M / S mode vector prediction unit 253 generates a predicted image by performing motion compensation of the reference picture according to the motion vector.
- the generated predicted image is supplied to the predicted image selection unit 232.
- FIG. 16 is a block diagram illustrating a configuration example of the AMVP mode vector prediction unit in FIG.
- the AMVP mode vector prediction unit 252 includes a prediction image generation unit 261, a Spatial MV memory 262, an addition unit 263, a prediction vector generation unit 264, a prediction vector generation unit 265, a switch 266, and a POC conversion unit 267. It is configured to include.
- the predicted image generation unit 261 inputs the motion vector (MV) generated by adding the prediction vector to the motion vector difference information by the addition unit 263 via the Spatial MV memory 262.
- the predicted image generation unit 261 reads the reference image corresponding to the reference image index (Ref index) from the lossless decoding unit 222 from the DPB 229-1 or DPB 229-N, and performs motion compensation of the read reference image according to the motion vector.
- a predicted image (Pred.dimage) is generated.
- the generated predicted image is supplied to the predicted image selection unit 232.
- the Spatial MV memory 262 stores the motion vector (MV) generated by the adding unit 263 as a candidate used for generation of a prediction vector performed later in time.
- a motion vector is stored for each block unit (PU) for which the motion vector is obtained.
- the motion vector in the M / S mode is also stored in the Spatial MV memory 64.
- the addition unit 263 receives the prediction vector generated by the prediction vector generation unit 264 or the prediction vector generation unit 265 via the switch 266, and the input prediction vector is the difference information of the motion vector supplied from the lossless decoding unit 222. Is added to generate a motion vector.
- the adder 263 stores the generated motion vector in the Spatial MV memory 262.
- the prediction vector generation unit 264 reads the motion vector indicated by the index of the prediction vector supplied from the lossless decoding unit 222 from the Spatial MV memory 262, and generates a Spatial prediction vector.
- the prediction vector generation unit 264 supplies the generated prediction vector to the addition unit 263 via the switch 266.
- the prediction vector generation unit 265 reads the motion vector indicated by the index of the prediction vector supplied from the lossless decoding unit 222 from the MV memory 233-1 or the MV memory 233-N, and performs Non- Spatial (that is, TMVP or IVMP). Generate a prediction vector.
- the prediction vector generation unit 265 supplies the generated prediction vector to the addition unit 263 via the switch 266.
- the prediction vector generation unit 265 obtains the motion vector of the corresponding block associated with the motion vector from the MV memory 233-1 in the pictures of the same view at different times. Read out to generate a prediction vector.
- the reference POC (Ref POC) of the target block is different from the reference POC (Ref POC) of the corresponding block based on the POC information from the POC conversion unit 267, scaling is performed on the motion vector of the corresponding block. Is called. That is, the scaled motion vector is used as the prediction vector.
- the AMVP mode vector prediction unit 252 reads the reference blocks in the different views at the same time from the MV memory 233 -N in which the motion vectors of the different views are stored ( The motion vector of PU) is read and a prediction vector is generated.
- the reference POC (Ref POC) of the target block is different from the reference POC (Ref POC) of the reference block based on the POC information from the POC conversion unit 267, scaling is performed on the motion vector of the reference block. Is called. That is, the scaled motion vector is used as the prediction vector.
- the POC conversion unit 267 converts the reference image index (Ref index) of the target block from the lossless decoding unit 222 into the POC, and supplies the POC information indicating the converted POC to the prediction vector generation unit 265.
- FIG. 17 is a block diagram illustrating a configuration example of the non-spatial prediction vector generation unit in FIG.
- the prediction vector generation unit 265 is configured to include an intra-view reference vector generation unit 281 and an inter-view reference vector generation unit 282.
- the lossless decoding unit 222 supplies the prediction vector index (MV index) to the in-view reference vector generation unit 281.
- the intra-view reference vector generation unit 281 reads out the motion vector of the corresponding block indicated by the index of the prediction vector, that is, the motion vector of the corresponding block indicated by the motion vector in the pictures of the same view at different times from the MV memory 233-1 Generate a vector.
- the in-view reference vector generation unit 281 supplies the generated prediction vector to the addition unit 263 via the switch 266.
- the lossless decoding unit 222 supplies the prediction vector index (MV index) to the inter-view reference vector generation unit 282.
- the inter-view reference vector generation unit 282 generates a prediction vector by IVMP.
- the inter-view reference vector generation unit 282 searches the Spatial 26 MV memory 262 for a disparity vector from the motion vectors of adjacent blocks adjacent to the target block, and based on the searched disparity vector, finds reference blocks in different views at the same time. Ask. Then, the inter-view reference vector generation unit 282 reads the motion vector of the reference block indicated by the index of the prediction vector from the MV memory 233-N in which the motion vector of the different view is stored, and generates the prediction vector.
- the inter-view reference vector generation unit 282 supplies the generated prediction vector to the addition unit 263 via the switch 266.
- the accumulation buffer 221 temporarily stores the encoded data corresponding to the received non-base view color image, and supplies the encoded data to the lossless decoding unit 222.
- step S211 the lossless decoding unit 222 decodes the quantized residual coefficient of the encoded data from the accumulation buffer 221.
- step S212 the inverse quantization unit 223 dequantizes the quantized residual coefficient from the lossless decoding unit 222 into a transform coefficient and supplies the transform coefficient to the inverse orthogonal transform unit 224.
- step S ⁇ b> 213 the inverse orthogonal transform unit 224 performs inverse orthogonal transform on the transform coefficient from the inverse quantization unit 223, and supplies the transform unit 225 with the transform coefficient.
- step S214 the intra prediction unit 230 determines whether the prediction for the target block (PU) is intra prediction based on the header information (intra prediction mode) from the lossless decoding unit 222. If it is determined in step S214 that the prediction is intra-screen prediction, the process proceeds to step S215. In step S215, the intra prediction unit 230 performs intra prediction.
- step S214 If it is determined in step S214 that the prediction is not in-screen prediction, the process proceeds to step S216.
- the motion compensation unit 231 performs motion compensation processing. This motion compensation process will be described later with reference to FIG.
- step S216 when the motion prediction is in the motion prediction mode, a prediction vector corresponding to the prediction vector index is generated, and a motion vector is generated. Also, a reference image corresponding to the reference image index is read out, motion compensation is performed according to the generated motion vector, and a predicted image is generated.
- a motion vector corresponding to the merge index is generated, a reference image is read, motion compensation is performed according to the generated motion vector, and a predicted image is generated.
- the generated predicted image is supplied to the predicted image selection unit 232.
- step S217 the motion compensation unit 231 (adding unit 263) stores the generated motion vector in the Spatial MV memory 262.
- the prediction image selection unit 232 selects the prediction image when the prediction image is supplied from the intra-screen prediction unit 230, and selects the prediction image when the prediction image is supplied from the motion compensation unit 231. And supplied to the calculation unit 225.
- step S218, the calculation unit 225 adds the prediction image supplied from the prediction image selection unit 232 to the block (difference) supplied from the inverse orthogonal transform unit 224.
- the calculation unit 225 supplies the decoded image obtained as a result to the in-loop filter 226.
- step S219 the in-loop filter 226 determines whether it is the end of the LCU. If it is determined in step S219 that the LCU is not terminated, the process returns to step S211 and the subsequent processes are repeated.
- step S219 If it is determined in step S219 that the terminal is the end of the LCU, the process proceeds to step S220.
- step S220 the in-loop filter 226 removes (reduces) block distortion generated in the decoded image by filtering the decoded image from the calculation unit 225.
- step S221 the in-loop filter 226 stores the filtered decoded image in the DPB 229-1.
- step S222 the motion compensation unit 231 compresses the motion vector stored in step S217. That is, in the Spatial MV memory 262, for example, one motion vector is stored for each 4 ⁇ 4 block, as in the Spatial MV memory 64 of FIG. 6, but one motion vector is stored for each 16 ⁇ 16 block. The motion vector is compressed so that the motion vector is preserved. For example, the motion vector of the upper left block in the 16 ⁇ 16 block is selected.
- step S223 the motion compensation unit 231 stores the compressed motion vector in the MV memory 233-1.
- step S224 the decoder 211-M for the other view decodes the picture for the other view.
- This decoding process is basically the same as the decoding process of FIG.
- Decryption processing is performed as described above.
- the lossless decoding unit 222 decodes the motion prediction mode in the header information in step S241, and determines in step S242 whether or not it is the inter prediction mode.
- the lossless decoding unit 222 determines that the inter prediction mode (Inter mode), the reference image index (Ref index), the motion vector difference information (Mvd), and the prediction vector index (Mv index) is supplied to the AMVP mode vector prediction unit 252, and the process proceeds to step S243.
- step S243 the AMVP mode vector prediction unit 252 performs AMVP mode vector prediction. This vector prediction processing in AMVP mode will be described later with reference to the flowchart of FIG.
- step S243 a prediction vector is generated according to the index of the prediction vector, and the motion vector difference information and the generated prediction vector are added to generate a motion vector of the target block.
- a predicted image is generated.
- the generated predicted image is supplied to the predicted image selection unit 232.
- step S242 when it is determined in step S242 that the mode is not the inter prediction mode, the lossless decoding unit 222 supplies the merge mode or the skip mode and the merge index to the reference index automatic generation unit 251, and the process proceeds to step S244. move on.
- step S244 the reference index automatic generation unit 251 automatically generates a reference image index and, together with the Merge mode or Skip mode from the lossless decoding unit 222, the generated reference image index (Ref index) and merge index are converted into M / S. This is supplied to the mode vector prediction unit 253.
- step S245 the M / S mode vector prediction unit 253 performs vector prediction processing in the Merge mode or Skip mode. That is, the M / S mode vector prediction unit 253 reads a candidate picture (Inter Pred. Reference picture) corresponding to the reference picture index from the candidate pictures stored in the DPB 229-1 or DPB 229-N.
- a candidate picture Inter Pred. Reference picture
- the M / S mode vector prediction unit 253 generates a motion vector based on the merge index in the header information from the lossless decoding unit 222.
- the M / S mode vector prediction unit 253 when the merge index indicates a Spatial prediction vector, the M / S mode vector prediction unit 253 generates a motion vector using adjacent spatial neighboring blocks in the same picture.
- the M / S mode vector prediction unit 253 reads out the motion vector of the corresponding block associated with the motion vector in the pictures at different times in the same view from the MV memory 233-1. To generate a motion vector.
- the M / S mode vector prediction unit 253 reads reference blocks (Cor PU in FIG. 1) from different views at the same time from the MV memory 233-N in which motion vectors of different views are stored. ) To generate a motion vector.
- the M / S mode vector prediction unit 253 generates a predicted image by performing motion compensation of the reference picture according to the motion vector.
- the generated predicted image is supplied to the predicted image selection unit 232.
- step S261 the lossless decoding unit 222 decodes the motion vector difference information (MVd) in the header information, and supplies the decoded motion vector difference information to the addition unit 263.
- MVd motion vector difference information
- step S262 the lossless decoding unit 222 decodes the reference image index in the header information, and supplies the decoded reference image index (Ref index) to the predicted image generation unit 261 and the POC conversion unit 267.
- step S263 the lossless decoding unit 222 decodes the prediction vector index in the header information.
- step S264 the lossless decoding unit 222 refers to the prediction vector index decoded in step S263, and determines whether or not the prediction vector is Spatial.
- step S264 If it is determined in step S264 that the prediction vector is Spatial, the lossless decoding unit 222 supplies the decoded prediction vector index to the prediction vector generation unit 264, and the process proceeds to step S265.
- step S265 the prediction vector generation unit 264 generates a spatial prediction vector. That is, the prediction vector generation unit 264 reads the motion vector indicated by the index of the prediction vector supplied from the lossless decoding unit 222 from the Spatial MV memory 262, and generates a Spatial prediction vector. The prediction vector generation unit 264 supplies the generated prediction vector to the addition unit 263 via the switch 266.
- step S264 If it is determined in step S264 that the prediction vector is not spatial, the process proceeds to step S266.
- step S266 the prediction vector generation unit 265 generates a non-spatial prediction vector.
- the non-spatial prediction vector generation process will be described later with reference to FIG.
- the prediction vector index is supplied from the lossless decoding unit 222, and the motion vector indicated by the prediction vector index is read from the MV memory 233-1 or the MV memory 233-N, and Non- Spatial (ie, , TMVP or IVMP) prediction vectors are generated.
- the generated prediction vector is supplied to the adding unit 263 via the switch 266.
- step S267 the addition unit 263 generates a motion vector. That is, the prediction vector generated by the prediction vector generation unit 264 or the prediction vector generation unit 265 is input to the addition unit 263 via the switch 266.
- the adding unit 263 adds the input prediction vector to the motion vector difference information supplied from the lossless decoding unit 222 to generate a motion vector.
- step S268 the addition unit 263 stores the generated motion vector in the Spatial MV memory 262. At this time, the generated motion vector is also supplied to the predicted image generation unit 261 via the Spatial MV memory 262.
- the predicted image generation unit 261 generates a predicted image (Pred. Image). That is, the predicted image generation unit 261 reads a reference image corresponding to the reference image index (Ref index) from the lossless decoding unit 222 from the DPB 229-1 or DPB 229-N. The predicted image generation unit 261 generates a predicted image by performing motion compensation on the read reference image according to the motion vector from the Spatial MV memory 262.
- step S281 the lossless decoding unit 222 refers to the prediction vector index decoded in step S263 of FIG. 20, and determines whether or not the prediction vector is temporal. If it is determined in step S281 that it is temporal, the lossless decoding unit 222 supplies the prediction vector index to the in-view reference vector generation unit 281 and the process proceeds to step S282.
- step S282 the in-view reference vector generation unit 281 generates a prediction vector by TMVP. That is, the intra-view reference vector generation unit 281 reads out the motion vector of the corresponding block indicated by the index of the prediction vector, that is, associated with the motion vector, in the pictures at different times of the same view from the MV memory 233-1. Generate a prediction vector. The generated prediction vector is supplied to the adding unit 263 via the switch 266.
- step S281 When it is determined in step S281 that the current vector is not temporal, the lossless decoding unit 222 supplies the prediction vector index to the inter-view reference vector generation unit 282, and the process proceeds to step S283.
- the inter-view reference vector generation unit 282 generates a prediction vector by IVMP.
- step S283 the inter-view reference vector generation unit 282 searches the disparity vector from the motion vector of the adjacent block adjacent to the target block (PU) from the Spatial MV memory 262, and based on the searched disparity vector, Parallax is calculated.
- step S284 the inter-view reference vector generation unit 282 selects, as a reference PU, a position shifted by the amount of parallax obtained in step S283 in a different view.
- step S285 the inter-view reference vector generation unit 282 reads the motion vector of the selected reference PU from the MV memory 233-N in which motion vectors of different views are stored, and predicts the motion vector of the selected reference PU. Is generated. Since this prediction vector generation process is basically the same process as the prediction vector generation process described above with reference to FIGS. 12 and 13, the description thereof is omitted.
- step S285 based on the POC information from the POC conversion unit 267, it is determined whether the reference POC (Ref POC) of the target block is the same as or different from the reference POC (Ref POC) of the reference block. If it is determined that they are different, scaling is performed on the motion vector of the reference block. That is, when it is determined that Ref POC is different, the motion vector of the reference block is scaled to generate a prediction vector.
- the prediction vector of the IVMP generated by the processing in step S285 is supplied to the vector cost determination unit 63 and the subtraction unit 68 through the switch 67 together with the MV index indicating the prediction vector.
- the motion vector of the reference block is scaled to obtain the scaled motion vector. It can be a prediction vector. That is, motion vectors of reference blocks in different views can also be used as prediction vector candidates. Therefore, a highly correlated motion vector can be scaled and used, which is very effective for improving the coding efficiency.
- the AMVP mode has been described in detail, but the present technology can also be applied to the Merge mode.
- Ref0index is fixed to 0, and if the Ref POC of the reference PU in the base view is different from the Ref POC of the current PU, the motion vector of the reference PU is scaled. The prediction vector.
- TMVP and IVMP can be shared.
- the inter motion vector of the reference block shifted by the disparity indicated by the disparity vector of the adjacent block of the target block is used.
- the example of scaling in the time direction according to the POC has been explained.
- the present technology can also be applied to the case where an inter-view motion vector is used as a prediction vector. That is, if the motion vector of the corresponding block at a different time corresponding to the target block at a certain time is an inter-view motion vector that points to a view different from the target block, the motion vector of the corresponding block is scaled according to the view id. Can be used as a prediction vector of the target block.
- the HEVC method is used as the encoding method.
- the present disclosure is not limited to this, and other encoding / decoding methods can be applied.
- the present disclosure discloses, for example, image information (bitstream) compressed by orthogonal transformation such as discrete cosine transformation and motion compensation, such as HEVC, satellite broadcasting, cable television, the Internet, or a mobile phone.
- the present invention can be applied to an image encoding device and an image decoding device used when receiving via a network medium.
- the present disclosure can be applied to an image encoding device and an image decoding device that are used when processing on a storage medium such as an optical disk, a magnetic disk, and a flash memory.
- the present technology is also applicable to HTTP streaming such as MPEG DASH, in which an appropriate one is selected from a plurality of encoded data having different resolutions prepared in advance and used in segment units. Can do.
- FIG. 22 is a block diagram showing an example of the hardware configuration of a computer that executes the above-described series of processing by a program.
- a CPU Central Processing Unit
- ROM Read Only Memory
- RAM Random Access Memory
- an input / output interface 805 is connected to the bus 804.
- An input unit 806, an output unit 807, a storage unit 808, a communication unit 809, and a drive 810 are connected to the input / output interface 805.
- the input unit 806 includes a keyboard, a mouse, a microphone, and the like.
- the output unit 807 includes a display, a speaker, and the like.
- the storage unit 808 includes a hard disk, a nonvolatile memory, and the like.
- the communication unit 809 includes a network interface or the like.
- the drive 810 drives a removable medium 811 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
- the CPU 801 loads the program stored in the storage unit 808 to the RAM 803 via the input / output interface 805 and the bus 804 and executes the program, for example. Is performed.
- the program executed by the computer 800 can be provided by being recorded in, for example, a removable medium 811 as a package medium or the like.
- the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
- the program can be installed in the storage unit 808 via the input / output interface 805 by attaching the removable medium 811 to the drive 810.
- the program can be received by the communication unit 809 via a wired or wireless transmission medium and installed in the storage unit 808.
- the program can be installed in the ROM 802 or the storage unit 808 in advance.
- the program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
- the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but may be performed in parallel or It also includes processes that are executed individually.
- system represents the entire apparatus composed of a plurality of devices (apparatuses).
- the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
- the configurations described above as a plurality of devices (or processing units) may be combined into a single device (or processing unit).
- a configuration other than that described above may be added to the configuration of each device (or each processing unit).
- a part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or other processing unit). . That is, the present technology is not limited to the above-described embodiment, and various modifications can be made without departing from the gist of the present technology.
- An image encoding device and an image decoding device include a transmitter or a receiver in optical broadcasting, satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication, etc.
- the present invention can be applied to various electronic devices such as a recording device that records an image on a medium such as a magnetic disk and a flash memory, or a playback device that reproduces an image from these storage media.
- a recording device that records an image on a medium such as a magnetic disk and a flash memory
- a playback device that reproduces an image from these storage media.
- FIG. 23 shows an example of a schematic configuration of a television apparatus to which the above-described embodiment is applied.
- the television apparatus 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a speaker 908, an external interface 909, a control unit 910, a user interface 911, And a bus 912.
- Tuner 902 extracts a signal of a desired channel from a broadcast signal received via antenna 901, and demodulates the extracted signal. Then, the tuner 902 outputs the encoded bit stream obtained by the demodulation to the demultiplexer 903. In other words, the tuner 902 serves as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded.
- the demultiplexer 903 separates the video stream and audio stream of the viewing target program from the encoded bit stream, and outputs each separated stream to the decoder 904. Further, the demultiplexer 903 extracts auxiliary data such as EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 910. Note that the demultiplexer 903 may perform descrambling when the encoded bit stream is scrambled.
- EPG Electronic Program Guide
- the decoder 904 decodes the video stream and audio stream input from the demultiplexer 903. Then, the decoder 904 outputs the video data generated by the decoding process to the video signal processing unit 905. In addition, the decoder 904 outputs audio data generated by the decoding process to the audio signal processing unit 907.
- the video signal processing unit 905 reproduces the video data input from the decoder 904 and causes the display unit 906 to display the video.
- the video signal processing unit 905 may cause the display unit 906 to display an application screen supplied via a network.
- the video signal processing unit 905 may perform additional processing such as noise removal (suppression) on the video data according to the setting.
- the video signal processing unit 905 may generate a GUI (Graphical User Interface) image such as a menu, a button, or a cursor, and superimpose the generated image on the output image.
- GUI Graphic User Interface
- the display unit 906 is driven by a drive signal supplied from the video signal processing unit 905, and displays an image on a video screen of a display device (for example, a liquid crystal display, a plasma display, or an OELD (Organic ElectroLuminescence Display) (organic EL display)). Or an image is displayed.
- a display device for example, a liquid crystal display, a plasma display, or an OELD (Organic ElectroLuminescence Display) (organic EL display)). Or an image is displayed.
- the audio signal processing unit 907 performs reproduction processing such as D / A conversion and amplification on the audio data input from the decoder 904, and outputs audio from the speaker 908.
- the audio signal processing unit 907 may perform additional processing such as noise removal (suppression) on the audio data.
- the external interface 909 is an interface for connecting the television apparatus 900 to an external device or a network.
- a video stream or an audio stream received via the external interface 909 may be decoded by the decoder 904. That is, the external interface 909 also has a role as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded.
- the control unit 910 includes a processor such as a CPU and memories such as a RAM and a ROM.
- the memory stores a program executed by the CPU, program data, EPG data, data acquired via a network, and the like.
- the program stored in the memory is read and executed by the CPU when the television apparatus 900 is activated.
- the CPU executes the program to control the operation of the television device 900 according to an operation signal input from the user interface 911, for example.
- the user interface 911 is connected to the control unit 910.
- the user interface 911 includes, for example, buttons and switches for the user to operate the television device 900, a remote control signal receiving unit, and the like.
- the user interface 911 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 910.
- the bus 912 connects the tuner 902, the demultiplexer 903, the decoder 904, the video signal processing unit 905, the audio signal processing unit 907, the external interface 909, and the control unit 910 to each other.
- the decoder 904 has the function of the image decoding apparatus according to the above-described embodiment. Therefore, when decoding the image by the television apparatus 900, the encoding efficiency of the motion vector encoding or decoding in the multi-viewpoint image can be improved.
- FIG. 24 shows an example of a schematic configuration of a mobile phone to which the above-described embodiment is applied.
- a cellular phone 920 includes an antenna 921, a communication unit 922, an audio codec 923, a speaker 924, a microphone 925, a camera unit 926, an image processing unit 927, a demultiplexing unit 928, a recording / reproducing unit 929, a display unit 930, a control unit 931, an operation A portion 932 and a bus 933.
- the antenna 921 is connected to the communication unit 922.
- the speaker 924 and the microphone 925 are connected to the audio codec 923.
- the operation unit 932 is connected to the control unit 931.
- the bus 933 connects the communication unit 922, the audio codec 923, the camera unit 926, the image processing unit 927, the demultiplexing unit 928, the recording / reproducing unit 929, the display unit 930, and the control unit 931 to each other.
- the mobile phone 920 has various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode, and is used for sending and receiving voice signals, sending and receiving e-mail or image data, taking images, and recording data. Perform the action.
- the analog voice signal generated by the microphone 925 is supplied to the voice codec 923.
- the audio codec 923 converts an analog audio signal into audio data, A / D converts the compressed audio data, and compresses it. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922.
- the communication unit 922 encodes and modulates the audio data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921. In addition, the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
- the communication unit 922 demodulates and decodes the received signal to generate audio data, and outputs the generated audio data to the audio codec 923.
- the audio codec 923 decompresses the audio data and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
- the control unit 931 generates character data constituting the e-mail in response to an operation by the user via the operation unit 932.
- the control unit 931 causes the display unit 930 to display characters.
- the control unit 931 generates e-mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated e-mail data to the communication unit 922.
- the communication unit 922 encodes and modulates email data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
- the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
- the communication unit 922 demodulates and decodes the received signal to restore the email data, and outputs the restored email data to the control unit 931.
- the control unit 931 displays the content of the electronic mail on the display unit 930 and stores the electronic mail data in the storage medium of the recording / reproducing unit 929.
- the recording / reproducing unit 929 has an arbitrary readable / writable storage medium.
- the storage medium may be a built-in storage medium such as RAM or flash memory, and is externally mounted such as a hard disk, magnetic disk, magneto-optical disk, optical disk, USB (Unallocated Space Space Bitmap) memory, or memory card. It may be a storage medium.
- the camera unit 926 images a subject to generate image data, and outputs the generated image data to the image processing unit 927.
- the image processing unit 927 encodes the image data input from the camera unit 926 and stores the encoded stream in the storage medium of the storage / playback unit 929.
- the demultiplexing unit 928 multiplexes the video stream encoded by the image processing unit 927 and the audio stream input from the audio codec 923, and the multiplexed stream is the communication unit 922. Output to.
- the communication unit 922 encodes and modulates the stream and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
- the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
- These transmission signal and reception signal may include an encoded bit stream.
- the communication unit 922 demodulates and decodes the received signal to restore the stream, and outputs the restored stream to the demultiplexing unit 928.
- the demultiplexing unit 928 separates the video stream and the audio stream from the input stream, and outputs the video stream to the image processing unit 927 and the audio stream to the audio codec 923.
- the image processing unit 927 decodes the video stream and generates video data.
- the video data is supplied to the display unit 930, and a series of images is displayed on the display unit 930.
- the audio codec 923 decompresses the audio stream and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
- the image processing unit 927 has the functions of the image encoding device and the image decoding device according to the above-described embodiment. Thereby, when encoding and decoding an image with the mobile phone 920, the encoding efficiency of motion vector encoding or decoding in a multi-view image can be improved.
- FIG. 25 shows an example of a schematic configuration of a recording / reproducing apparatus to which the above-described embodiment is applied.
- the recording / reproducing device 940 encodes audio data and video data of a received broadcast program and records the encoded data on a recording medium.
- the recording / reproducing device 940 may encode audio data and video data acquired from another device and record them on a recording medium, for example.
- the recording / reproducing device 940 reproduces data recorded on the recording medium on a monitor and a speaker, for example, in accordance with a user instruction. At this time, the recording / reproducing device 940 decodes the audio data and the video data.
- the recording / reproducing apparatus 940 includes a tuner 941, an external interface 942, an encoder 943, an HDD (Hard Disk Drive) 944, a disk drive 945, a selector 946, a decoder 947, an OSD (On-Screen Display) 948, a control unit 949, and a user interface. 950.
- Tuner 941 extracts a signal of a desired channel from a broadcast signal received via an antenna (not shown), and demodulates the extracted signal. Then, the tuner 941 outputs the encoded bit stream obtained by the demodulation to the selector 946. That is, the tuner 941 has a role as a transmission unit in the recording / reproducing apparatus 940.
- the external interface 942 is an interface for connecting the recording / reproducing apparatus 940 to an external device or a network.
- the external interface 942 may be, for example, an IEEE1394 interface, a network interface, a USB interface, or a flash memory interface.
- video data and audio data received via the external interface 942 are input to the encoder 943. That is, the external interface 942 serves as a transmission unit in the recording / reproducing device 940.
- the encoder 943 encodes video data and audio data when the video data and audio data input from the external interface 942 are not encoded. Then, the encoder 943 outputs the encoded bit stream to the selector 946.
- the HDD 944 records an encoded bit stream in which content data such as video and audio is compressed, various programs, and other data on an internal hard disk. Further, the HDD 944 reads out these data from the hard disk when reproducing video and audio.
- the disk drive 945 performs recording and reading of data to and from the mounted recording medium.
- the recording medium mounted on the disk drive 945 is, for example, a DVD disk (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD + R, DVD + RW, etc.) or a Blu-ray (registered trademark) disk. It may be.
- the selector 946 selects an encoded bit stream input from the tuner 941 or the encoder 943 when recording video and audio, and outputs the selected encoded bit stream to the HDD 944 or the disk drive 945. In addition, the selector 946 outputs the encoded bit stream input from the HDD 944 or the disk drive 945 to the decoder 947 during video and audio reproduction.
- the decoder 947 decodes the encoded bit stream and generates video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD 948. The decoder 904 outputs the generated audio data to an external speaker.
- OSD 948 reproduces the video data input from the decoder 947 and displays the video. Further, the OSD 948 may superimpose a GUI image such as a menu, a button, or a cursor on the video to be displayed.
- the control unit 949 includes a processor such as a CPU and memories such as a RAM and a ROM.
- the memory stores a program executed by the CPU, program data, and the like.
- the program stored in the memory is read and executed by the CPU when the recording / reproducing apparatus 940 is activated, for example.
- the CPU controls the operation of the recording / reproducing apparatus 940 in accordance with an operation signal input from the user interface 950, for example, by executing the program.
- the user interface 950 is connected to the control unit 949.
- the user interface 950 includes, for example, buttons and switches for the user to operate the recording / reproducing device 940, a remote control signal receiving unit, and the like.
- the user interface 950 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 949.
- the encoder 943 has the function of the image encoding apparatus according to the above-described embodiment.
- the decoder 947 has the function of the image decoding apparatus according to the above-described embodiment.
- FIG. 26 illustrates an example of a schematic configuration of an imaging apparatus to which the above-described embodiment is applied.
- the imaging device 960 images a subject to generate an image, encodes the image data, and records it on a recording medium.
- the imaging device 960 includes an optical block 961, an imaging unit 962, a signal processing unit 963, an image processing unit 964, a display unit 965, an external interface 966, a memory 967, a media drive 968, an OSD 969, a control unit 970, a user interface 971, and a bus. 972.
- the optical block 961 is connected to the imaging unit 962.
- the imaging unit 962 is connected to the signal processing unit 963.
- the display unit 965 is connected to the image processing unit 964.
- the user interface 971 is connected to the control unit 970.
- the bus 972 connects the image processing unit 964, the external interface 966, the memory 967, the media drive 968, the OSD 969, and the control unit 970 to each other.
- the optical block 961 includes a focus lens and a diaphragm mechanism.
- the optical block 961 forms an optical image of the subject on the imaging surface of the imaging unit 962.
- the imaging unit 962 includes an image sensor such as a CCD (Charge-Coupled Device) or a CMOS (Complementary Metal-Oxide Semiconductor), and converts an optical image formed on the imaging surface into an image signal as an electrical signal by photoelectric conversion. Then, the imaging unit 962 outputs the image signal to the signal processing unit 963.
- CCD Charge-Coupled Device
- CMOS Complementary Metal-Oxide Semiconductor
- the signal processing unit 963 performs various camera signal processing such as knee correction, gamma correction, and color correction on the image signal input from the imaging unit 962.
- the signal processing unit 963 outputs the image data after the camera signal processing to the image processing unit 964.
- the image processing unit 964 encodes the image data input from the signal processing unit 963 and generates encoded data. Then, the image processing unit 964 outputs the generated encoded data to the external interface 966 or the media drive 968. The image processing unit 964 also decodes encoded data input from the external interface 966 or the media drive 968 to generate image data. Then, the image processing unit 964 outputs the generated image data to the display unit 965. In addition, the image processing unit 964 may display the image by outputting the image data input from the signal processing unit 963 to the display unit 965. Further, the image processing unit 964 may superimpose display data acquired from the OSD 969 on an image output to the display unit 965.
- the OSD 969 generates a GUI image such as a menu, a button, or a cursor, and outputs the generated image to the image processing unit 964.
- the external interface 966 is configured as a USB input / output terminal, for example.
- the external interface 966 connects the imaging device 960 and a printer, for example, when printing an image.
- a drive is connected to the external interface 966 as necessary.
- a removable medium such as a magnetic disk or an optical disk is attached to the drive, and a program read from the removable medium can be installed in the imaging device 960.
- the external interface 966 may be configured as a network interface connected to a network such as a LAN or the Internet. That is, the external interface 966 has a role as a transmission unit in the imaging device 960.
- the recording medium mounted on the media drive 968 may be any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
- a recording medium may be fixedly mounted on the media drive 968, and a non-portable storage unit such as an internal hard disk drive or an SSD (Solid State Drive) may be configured.
- the control unit 970 includes a processor such as a CPU and memories such as a RAM and a ROM.
- the memory stores a program executed by the CPU, program data, and the like.
- the program stored in the memory is read and executed by the CPU when the imaging device 960 is activated, for example.
- the CPU controls the operation of the imaging device 960 according to an operation signal input from the user interface 971 by executing the program.
- the user interface 971 is connected to the control unit 970.
- the user interface 971 includes, for example, buttons and switches for the user to operate the imaging device 960.
- the user interface 971 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 970.
- the image processing unit 964 has the functions of the image encoding device and the image decoding device according to the above-described embodiment. Thereby, when encoding and decoding an image by the imaging device 960, the encoding efficiency of the motion vector encoding or decoding in the multi-viewpoint image can be improved.
- the distribution server 1002 reads the scalable encoded data stored in the scalable encoded data storage unit 1001, and via the network 1003, the personal computer 1004, the AV device 1005, the tablet This is distributed to the terminal device such as the device 1006 and the mobile phone 1007.
- the distribution server 1002 selects and transmits encoded data of appropriate quality according to the capability of the terminal device, the communication environment, and the like. Even if the distribution server 1002 transmits high-quality data unnecessarily, a high-quality image is not always obtained in the terminal device, which may cause a delay or an overflow. Moreover, there is a possibility that the communication band is unnecessarily occupied or the load on the terminal device is unnecessarily increased. On the other hand, even if the distribution server 1002 transmits unnecessarily low quality data, there is a possibility that an image with sufficient image quality cannot be obtained in the terminal device. Therefore, the distribution server 1002 appropriately reads and transmits the scalable encoded data stored in the scalable encoded data storage unit 1001 as encoded data having an appropriate quality with respect to the capability and communication environment of the terminal device. .
- the scalable encoded data storage unit 1001 stores scalable encoded data (BL + EL) 1011 encoded in a scalable manner.
- the scalable encoded data (BL + EL) 1011 is encoded data including both a base layer and an enhancement layer, and is a data that can be decoded to obtain both a base layer image and an enhancement layer image. It is.
- the distribution server 1002 selects an appropriate layer according to the capability of the terminal device that transmits data, the communication environment, and the like, and reads the data of the layer. For example, the distribution server 1002 reads high-quality scalable encoded data (BL + EL) 1011 from the scalable encoded data storage unit 1001 and transmits it to the personal computer 1004 and the tablet device 1006 with high processing capability as they are. . On the other hand, for example, the distribution server 1002 extracts base layer data from the scalable encoded data (BL + EL) 1011 for the AV device 1005 and the cellular phone 1007 having a low processing capability, and performs scalable encoding. Although it is data of the same content as the data (BL + EL) 1011, it is transmitted as scalable encoded data (BL) 1012 having a lower quality than the scalable encoded data (BL + EL) 1011.
- BL scalable encoded data
- scalable encoded data By using scalable encoded data in this way, the amount of data can be easily adjusted, so that the occurrence of delays and overflows can be suppressed, and unnecessary increases in the load on terminal devices and communication media can be suppressed. be able to.
- scalable encoded data (BL + EL) 1011 since scalable encoded data (BL + EL) 1011 has reduced redundancy between layers, the amount of data can be reduced as compared with the case where encoded data of each layer is used as individual data. . Therefore, the storage area of the scalable encoded data storage unit 1001 can be used more efficiently.
- the hardware performance of the terminal device varies depending on the device.
- the application which a terminal device performs is also various, the capability of the software is also various.
- the network 1003 serving as a communication medium can be applied to any communication network including wired, wireless, or both, such as the Internet and a LAN (Local Area Network), and has various data transmission capabilities. Furthermore, there is a risk of change due to other communications.
- the distribution server 1002 communicates with the terminal device that is the data transmission destination before starting data transmission, and the hardware performance of the terminal device, the performance of the application (software) executed by the terminal device, etc. Information regarding the capability of the terminal device and information regarding the communication environment such as the available bandwidth of the network 1003 may be obtained. The distribution server 1002 may select an appropriate layer based on the information obtained here.
- the layer extraction may be performed by the terminal device.
- the personal computer 1004 may decode the transmitted scalable encoded data (BL + EL) 1011 and display a base layer image or an enhancement layer image. Further, for example, the personal computer 1004 extracts the base layer scalable encoded data (BL) 1012 from the transmitted scalable encoded data (BL + EL) 1011 and stores it or transfers it to another device. The base layer image may be displayed after decoding.
- the numbers of the scalable encoded data storage unit 1001, the distribution server 1002, the network 1003, and the terminal devices are arbitrary.
- the example in which the distribution server 1002 transmits data to the terminal device has been described, but the usage example is not limited to this.
- the data transmission system 1000 may be any system as long as it transmits a scalable encoded data to a terminal device by selecting an appropriate layer according to the capability of the terminal device or a communication environment. Can be applied to the system.
- scalable coding is used for transmission via a plurality of communication media as in the example shown in FIG. 28, for example.
- a broadcasting station 1101 transmits base layer scalable encoded data (BL) 1121 through terrestrial broadcasting 1111.
- the broadcast station 1101 transmits enhancement layer scalable encoded data (EL) 1122 via an arbitrary network 1112 including a wired or wireless communication network or both (for example, packetized transmission).
- BL base layer scalable encoded data
- EL enhancement layer scalable encoded data
- the terminal apparatus 1102 has a reception function of the terrestrial broadcast 1111 broadcast by the broadcast station 1101 and receives base layer scalable encoded data (BL) 1121 transmitted via the terrestrial broadcast 1111.
- the terminal apparatus 1102 further has a communication function for performing communication via the network 1112, and receives enhancement layer scalable encoded data (EL) 1122 transmitted via the network 1112.
- BL base layer scalable encoded data
- EL enhancement layer scalable encoded data
- the terminal device 1102 decodes the base layer scalable encoded data (BL) 1121 acquired via the terrestrial broadcast 1111 according to, for example, a user instruction, and obtains or stores a base layer image. Or transmit to other devices.
- BL base layer scalable encoded data
- the terminal device 1102 for example, in response to a user instruction, the base layer scalable encoded data (BL) 1121 acquired via the terrestrial broadcast 1111 and the enhancement layer scalable encoded acquired via the network 1112 Data (EL) 1122 is combined to obtain scalable encoded data (BL + EL), or decoded to obtain an enhancement layer image, stored, or transmitted to another device.
- BL base layer scalable encoded data
- EL enhancement layer scalable encoded acquired via the network 1112 Data
- the scalable encoded data can be transmitted via a communication medium that is different for each layer, for example. Therefore, the load can be distributed, and the occurrence of delay and overflow can be suppressed.
- the communication medium used for transmission may be selected for each layer. For example, scalable encoded data (BL) 1121 of a base layer having a relatively large amount of data is transmitted via a communication medium having a wide bandwidth, and scalable encoded data (EL) 1122 having a relatively small amount of data is transmitted. You may make it transmit via a communication medium with a narrow bandwidth. Further, for example, the communication medium for transmitting the enhancement layer scalable encoded data (EL) 1122 is switched between the network 1112 and the terrestrial broadcast 1111 according to the available bandwidth of the network 1112. May be. Of course, the same applies to data of an arbitrary layer.
- the number of layers is arbitrary, and the number of communication media used for transmission is also arbitrary.
- the number of terminal devices 1102 serving as data distribution destinations is also arbitrary.
- broadcasting from the broadcasting station 1101 has been described as an example, but the usage example is not limited to this.
- the data transmission system 1100 can be applied to any system as long as it is a system that divides scalable encoded data into a plurality of layers and transmits them through a plurality of lines.
- scalable encoding is used for storing encoded data as in the example shown in FIG. 29, for example.
- the imaging device 1201 performs scalable coding on image data obtained by imaging the subject 1211, and as scalable coded data (BL + EL) 1221, a scalable coded data storage device 1202. To supply.
- the scalable encoded data storage device 1202 stores the scalable encoded data (BL + EL) 1221 supplied from the imaging device 1201 with quality according to the situation. For example, in the normal case, the scalable encoded data storage device 1202 extracts base layer data from the scalable encoded data (BL + EL) 1221, and the base layer scalable encoded data ( BL) 1222. On the other hand, for example, in the case of attention, the scalable encoded data storage device 1202 stores scalable encoded data (BL + EL) 1221 with high quality and a large amount of data.
- the scalable encoded data storage device 1202 can store an image with high image quality only when necessary, so that an increase in the amount of data can be achieved while suppressing a reduction in the value of the image due to image quality degradation. And the use efficiency of the storage area can be improved.
- the imaging device 1201 is a surveillance camera.
- the monitoring target for example, an intruder
- the content of the captured image is likely to be unimportant, so reduction of the data amount is given priority, and the image data (scalable coding) Data) is stored in low quality.
- the image quality is given priority and the image data (scalable) (Encoded data) is stored with high quality.
- whether it is normal time or attention time may be determined by the scalable encoded data storage device 1202 analyzing an image, for example.
- the imaging apparatus 1201 may make a determination, and the determination result may be transmitted to the scalable encoded data storage device 1202.
- the criterion for determining whether the time is normal or noting is arbitrary, and the content of the image as the criterion is arbitrary. Of course, conditions other than the contents of the image can also be used as the criterion. For example, it may be switched according to the volume or waveform of the recorded sound, may be switched at every predetermined time, or may be switched by an external instruction such as a user instruction.
- the number of states is arbitrary, for example, normal, slightly attention, attention, very attention, etc.
- three or more states may be switched.
- the upper limit number of states to be switched depends on the number of layers of scalable encoded data.
- the imaging apparatus 1201 may determine the number of layers for scalable coding according to the state. For example, in a normal case, the imaging apparatus 1201 may generate base layer scalable encoded data (BL) 1222 with low quality and a small amount of data, and supply the scalable encoded data storage apparatus 1202 to the scalable encoded data storage apparatus 1202. For example, when attention is paid, the imaging device 1201 generates scalable encoded data (BL + EL) 1221 having a high quality and a large amount of data, and supplies the scalable encoded data storage device 1202 to the scalable encoded data storage device 1202. May be.
- BL base layer scalable encoded data
- BL + EL scalable encoded data
- the monitoring camera has been described as an example.
- the use of the imaging system 1200 is arbitrary and is not limited to the monitoring camera.
- FIG. 30 illustrates an example of a schematic configuration of a video set to which the present technology is applied.
- the video set 1300 shown in FIG. 30 has such a multi-functional configuration, and the device has a function related to image encoding and decoding (either one or both). It is a combination of devices having other related functions.
- a video set 1300 includes a module group such as a video module 1311, an external memory 1312, a power management module 1313, and a front-end module 1314, and an associated module 1321, a camera 1322, a sensor 1323, and the like. And a device having a function.
- a cocoon module is a component that has several functions that are related to each other and that have a coherent function.
- the specific physical configuration is arbitrary. For example, a plurality of processors each having a function, electronic circuit elements such as resistors and capacitors, and other devices arranged on a wiring board or the like can be considered. . It is also possible to combine the module with another module, a processor, or the like to form a new module.
- the video module 1311 is a combination of components having functions related to image processing, and includes an application processor, a video processor, a broadband modem 1333, and an RF module 1334.
- the processor is a configuration in which a configuration having a predetermined function is integrated on a semiconductor chip by an SoC (System On Chip), and for example, there is also a system LSI (Large Scale Integration) or the like.
- the configuration having the predetermined function may be a logic circuit (hardware configuration), a CPU, a ROM, a RAM, and the like, and a program (software configuration) executed using them. , Or a combination of both.
- a processor has a logic circuit and a CPU, ROM, RAM, etc., a part of the function is realized by a logic circuit (hardware configuration), and other functions are executed by the CPU (software configuration) It may be realized by.
- the application processor 1331 in FIG. 30 is a processor that executes an application related to image processing.
- the application executed in the application processor 1331 not only performs arithmetic processing to realize a predetermined function, but also can control the internal and external configurations of the video module 1311 such as the video processor 1332 as necessary. .
- the video processor 1332 is a processor having a function related to image encoding / decoding (one or both of them).
- the broadband modem 1333 is a processor (or module) that performs processing related to wired or wireless (or both) broadband communication performed via a broadband line such as the Internet or a public telephone line network.
- the broadband modem 1333 digitally modulates data to be transmitted (digital signal) to convert it into an analog signal, or demodulates the received analog signal to convert it into data (digital signal).
- the broadband modem 1333 can digitally modulate and demodulate arbitrary information such as image data processed by the video processor 1332, a stream obtained by encoding the image data, an application program, setting data, and the like.
- the RF module 1334 is a module that performs frequency conversion, modulation / demodulation, amplification, filter processing, and the like on an RF (Radio RF Frequency) signal transmitted and received via an antenna. For example, the RF module 1334 generates an RF signal by performing frequency conversion or the like on the baseband signal generated by the broadband modem 1333. Further, for example, the RF module 1334 generates a baseband signal by performing frequency conversion or the like on the RF signal received via the front end module 1314.
- RF Radio RF Frequency
- the application processor 1331 and the video processor 1332 may be integrated into a single processor.
- the external memory 1312 is a module having a storage device that is provided outside the video module 1311 and is used by the video module 1311.
- the storage device of the external memory 1312 may be realized by any physical configuration, but is generally used for storing a large amount of data such as image data in units of frames. For example, it is desirable to realize it with a relatively inexpensive and large-capacity semiconductor memory such as DRAM (Dynamic Random Access Memory).
- the power management module 1313 manages and controls power supply to the video module 1311 (each component in the video module 1311).
- the front end module 1314 is a module that provides the RF module 1334 with a front end function (a circuit on a transmitting / receiving end on the antenna side). As illustrated in FIG. 30, the front end module 1314 includes, for example, an antenna unit 1351, a filter 1352, and an amplification unit 1353.
- Antenna unit 1351 has an antenna for transmitting and receiving a radio signal and its peripheral configuration.
- the antenna unit 1351 transmits the signal supplied from the amplification unit 1353 as a radio signal, and supplies the received radio signal to the filter 1352 as an electric signal (RF signal).
- the filter 1352 performs a filtering process on the RF signal received via the antenna unit 1351 and supplies the processed RF signal to the RF module 1334.
- the amplifying unit 1353 amplifies the RF signal supplied from the RF module 1334 and supplies the amplified RF signal to the antenna unit 1351.
- Connectivity 1321 is a module having a function related to connection with the outside.
- the physical configuration of the connectivity 1321 is arbitrary.
- the connectivity 1321 has a configuration having a communication function other than the communication standard supported by the broadband modem 1333, an external input / output terminal, and the like.
- the communication 1321 is compliant with wireless communication standards such as Bluetooth (registered trademark), IEEE 802.11 (for example, Wi-Fi (Wireless Fidelity, registered trademark)), NFC (Near Field Communication), IrDA (InfraRed Data Association), etc. You may make it have a module which has a function, an antenna etc. which transmit / receive the signal based on the standard.
- the connectivity 1321 has a module having a communication function compliant with a wired communication standard such as USB (Universal Serial Bus), HDMI (registered trademark) (High-Definition Multimedia Interface), or a terminal compliant with the standard. You may do it.
- the connectivity 1321 may have other data (signal) transmission functions such as analog input / output terminals.
- the connectivity 1321 may include a data (signal) transmission destination device.
- the drive 1321 reads and writes data to and from a recording medium such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory (not only a removable medium drive, but also a hard disk, SSD (Solid State Drive) NAS (including Network Attached Storage) and the like.
- the connectivity 1321 may include an image or audio output device (a monitor, a speaker, or the like).
- the eyelid camera 1322 is a module having a function of capturing an image of a subject and obtaining image data of the subject.
- Image data obtained by imaging by the camera 1322 is supplied to, for example, a video processor 1332 and encoded.
- the sensor 1323 includes, for example, a voice sensor, an ultrasonic sensor, an optical sensor, an illuminance sensor, an infrared sensor, an image sensor, a rotation sensor, an angle sensor, an angular velocity sensor, a velocity sensor, an acceleration sensor, an inclination sensor, a magnetic identification sensor, an impact sensor, It is a module having an arbitrary sensor function such as a temperature sensor.
- the data detected by the sensor 1323 is supplied to the application processor 1331 and used by an application or the like.
- the configuration described above as a module may be realized as a processor, or conversely, the configuration described as a processor may be realized as a module.
- the present technology can be applied to the video processor 1332 as described later. Therefore, the video set 1300 can be implemented as a set to which the present technology is applied.
- FIG. 31 illustrates an example of a schematic configuration of a video processor 1332 (FIG. 30) to which the present technology is applied.
- the video processor 1332 receives the video signal and the audio signal, encodes them in a predetermined method, decodes the encoded video data and audio data, A function of reproducing and outputting an audio signal.
- the video processor 1332 includes a video input processing unit 1401, a first image scaling unit 1402, a second image scaling unit 1403, a video output processing unit 1404, a frame memory 1405, and a memory control unit 1406.
- the video processor 1332 includes an encoding / decoding engine 1407, video ES (ElementaryElementStream) buffers 1408A and 1408B, and audio ES buffers 1409A and 1409B.
- the video processor 1332 includes an audio encoder 1410, an audio decoder 1411, a multiplexing unit (MUX (Multiplexer)) 1412, a demultiplexing unit (DMUX (Demultiplexer)) 1413, and a stream buffer 1414.
- MUX Multiplexing unit
- DMUX demultiplexing unit
- the video input processing unit 1401 acquires a video signal input from, for example, the connectivity 1321 (FIG. 30) and converts it into digital image data.
- the first image enlargement / reduction unit 1402 performs format conversion, image enlargement / reduction processing, and the like on the image data.
- the second image enlargement / reduction unit 1403 performs image enlargement / reduction processing on the image data in accordance with the format of the output destination via the video output processing unit 1404, or is the same as the first image enlargement / reduction unit 1402. Format conversion and image enlargement / reduction processing.
- the video output processing unit 1404 performs format conversion, conversion to an analog signal, and the like on the image data and outputs the reproduced video signal to, for example, the connectivity 1321 (FIG. 30).
- the frame memory 1405 is a memory for image data shared by the video input processing unit 1401, the first image scaling unit 1402, the second image scaling unit 1403, the video output processing unit 1404, and the encoding / decoding engine 1407. .
- the frame memory 1405 is realized as a semiconductor memory such as a DRAM, for example.
- the memory control unit 1406 receives the synchronization signal from the encoding / decoding engine 1407, and controls the writing / reading access to the frame memory 1405 according to the access schedule to the frame memory 1405 written in the access management table 1406A.
- the access management table 1406A is updated by the memory control unit 1406 in accordance with processing executed by the encoding / decoding engine 1407, the first image enlargement / reduction unit 1402, the second image enlargement / reduction unit 1403, and the like.
- the encoding / decoding engine 1407 performs encoding processing of image data and decoding processing of a video stream that is data obtained by encoding the image data. For example, the encoding / decoding engine 1407 encodes the image data read from the frame memory 1405 and sequentially writes the data as a video stream in the video ES buffer 1408A. Further, for example, the video stream is sequentially read from the video ES buffer 1408B, decoded, and sequentially written in the frame memory 1405 as image data.
- the encoding / decoding engine 1407 uses the frame memory 1405 as a work area in the encoding and decoding. Also, the encoding / decoding engine 1407 outputs a synchronization signal to the memory control unit 1406, for example, at a timing at which processing for each macroblock is started.
- the video ES buffer 1408A buffers the video stream generated by the encoding / decoding engine 1407 and supplies the buffered video stream to the multiplexing unit (MUX) 1412.
- the video ES buffer 1408B buffers the video stream supplied from the demultiplexer (DMUX) 1413 and supplies the buffered video stream to the encoding / decoding engine 1407.
- the audio ES buffer 1409A buffers the audio stream generated by the audio encoder 1410 and supplies the buffered audio stream to the multiplexing unit (MUX) 1412.
- the audio ES buffer 1409B buffers the audio stream supplied from the demultiplexer (DMUX) 1413 and supplies the buffered audio stream to the audio decoder 1411.
- the audio encoder 1410 converts, for example, an audio signal input from the connectivity 1321 (FIG. 30), for example, into a digital format, and encodes the audio signal according to a predetermined method such as an MPEG audio method or an AC3 (Audio Code number 3) method.
- the audio encoder 1410 sequentially writes an audio stream, which is data obtained by encoding an audio signal, in the audio ES buffer 1409A.
- the audio decoder 1411 decodes the audio stream supplied from the audio ES buffer 1409B, performs conversion to, for example, an analog signal, and supplies the reproduced audio signal to, for example, the connectivity 1321 (FIG. 30).
- Multiplexer (MUX) 1412 multiplexes the video stream and the audio stream.
- the multiplexing method (that is, the format of the bit stream generated by multiplexing) is arbitrary.
- the multiplexing unit (MUX) 1412 can also add predetermined header information or the like to the bit stream. That is, the multiplexing unit (MUX) 1412 can convert the stream format by multiplexing. For example, the multiplexing unit (MUX) 1412 multiplexes the video stream and the audio stream to convert it into a transport stream that is a bit stream in a transfer format. Further, for example, the multiplexing unit (MUX) 1412 multiplexes the video stream and the audio stream, thereby converting the data into file format data (file data) for recording.
- the demultiplexing unit (DMUX) 1413 demultiplexes the bit stream in which the video stream and the audio stream are multiplexed by a method corresponding to the multiplexing by the multiplexing unit (MUX) 1412. That is, the demultiplexer (DMUX) 1413 extracts the video stream and the audio stream from the bit stream read from the stream buffer 1414 (separates the video stream and the audio stream). That is, the demultiplexer (DMUX) 1413 can convert the stream format by demultiplexing (inverse conversion of the conversion by the multiplexer (MUX) 1412). For example, the demultiplexing unit (DMUX) 1413 obtains the transport stream supplied from, for example, the connectivity 1321 and the broadband modem 1333 (both in FIG.
- the demultiplexer (DMUX) 1413 obtains the file data read from various recording media by the connectivity 1321 (FIG. 30) via the stream buffer 1414, and demultiplexes the file data, for example. It can be converted into a video stream and an audio stream.
- DMUX demultiplexer
- the stream buffer 1414 buffers the bit stream.
- the stream buffer 1414 buffers the transport stream supplied from the multiplexing unit (MUX) 1412 and, for example, at the predetermined timing or based on a request from the outside, for example, the connectivity 1321 or the broadband modem 1333 (whichever Are also supplied to FIG.
- MUX multiplexing unit
- the stream buffer 1414 buffers the file data supplied from the multiplexing unit (MUX) 1412 and, for example, connectivity 1321 (FIG. 30) or the like at a predetermined timing or based on an external request or the like. To be recorded on various recording media.
- MUX multiplexing unit
- connectivity 1321 FIG. 30
- the stream buffer 1414 buffers the transport stream acquired through, for example, the connectivity 1321 and the broadband modem 1333 (both of which are shown in FIG. 30), and performs reverse processing at a predetermined timing or based on an external request or the like.
- the data is supplied to a multiplexing unit (DMUX) 1413.
- DMUX multiplexing unit
- the stream buffer 1414 buffers file data read from various recording media in the connectivity 1321 (FIG. 30), for example, and at a predetermined timing or based on an external request or the like, a demultiplexing unit (DMUX) 1413.
- DMUX demultiplexing unit
- a video signal input from the connectivity 1321 (FIG. 30) or the like to the video processor 1332 is converted into digital image data of a predetermined format such as 4: 2: 2Y / Cb / Cr format in the video input processing unit 1401.
- the data is sequentially written into the frame memory 1405.
- This digital image data is read by the first image enlargement / reduction unit 1402 or the second image enlargement / reduction unit 1403, and format conversion to a predetermined method such as 4: 2: 0Y / Cb / Cr method and enlargement / reduction processing are performed. Is written again in the frame memory 1405.
- This image data is encoded by the encoding / decoding engine 1407 and written as a video stream in the video ES buffer 1408A.
- an audio signal input to the video processor 1332 from the connectivity 1321 (FIG. 30) or the like is encoded by the audio encoder 1410 and written as an audio stream in the audio ES buffer 1409A.
- the video stream of the video ES buffer 1408A and the audio stream of the audio ES buffer 1409A are read and multiplexed by the multiplexing unit (MUX) 1412 and converted into a transport stream or file data.
- the transport stream generated by the multiplexing unit (MUX) 1412 is buffered in the stream buffer 1414 and then output to the external network via, for example, the connectivity 1321 and the broadband modem 1333 (both of which are shown in FIG. 30).
- the file data generated by the multiplexing unit (MUX) 1412 is buffered in the stream buffer 1414, and then output to, for example, the connectivity 1321 (FIG. 30) and recorded on various recording media.
- a transport stream input from an external network to the video processor 1332 via the connectivity 1321 and the broadband modem 1333 (both in FIG. 30) is buffered in the stream buffer 1414 and then demultiplexed (DMUX) 1413 is demultiplexed.
- DMUX demultiplexed
- file data read from various recording media in the connectivity 1321 (FIG. 30) and input to the video processor 1332 is buffered in the stream buffer 1414 and then demultiplexed by the demultiplexer (DMUX) 1413. It becomes. That is, the transport stream or file data input to the video processor 1332 is separated into a video stream and an audio stream by the demultiplexer (DMUX) 1413.
- the audio stream is supplied to the audio decoder 1411 via the audio ES buffer 1409B and decoded to reproduce the audio signal.
- the video stream is written to the video ES buffer 1408B, and then sequentially read and decoded by the encoding / decoding engine 1407, and written to the frame memory 1405.
- the decoded image data is enlarged / reduced by the second image enlargement / reduction unit 1403 and written to the frame memory 1405.
- the decoded image data is read out to the video output processing unit 1404, format-converted to a predetermined system such as 4: 2: 2Y / Cb / Cr system, and further converted into an analog signal to be converted into a video signal. Is played out.
- the present technology when the present technology is applied to the video processor 1332 configured as described above, the present technology according to each embodiment described above may be applied to the encoding / decoding engine 1407. That is, for example, the encoding / decoding engine 1407 has the functions of the image encoding device according to the first embodiment (FIG. 4) and the image decoding device according to the second embodiment (FIG. 14). That's fine. In this way, the video processor 1332 can obtain the same effects as those described above with reference to FIGS.
- the present technology (that is, the functions of the image encoding device and the image decoding device according to each embodiment described above) may be realized by hardware such as a logic circuit. It may be realized by software such as an embedded program, or may be realized by both of them.
- FIG. 32 illustrates another example of a schematic configuration of the video processor 1332 (FIG. 30) to which the present technology is applied.
- the video processor 1332 has a function of encoding / decoding video data by a predetermined method.
- the video processor 1332 includes a control unit 1511, a display interface 1512, a display engine 1513, an image processing engine 1514, and an internal memory 1515.
- the video processor 1332 includes a codec engine 1516, a memory interface 1517, a multiplexing / demultiplexing unit (MUX DMUX) 1518, a network interface 1519, and a video interface 1520.
- MUX DMUX multiplexing / demultiplexing unit
- the eyelid control unit 1511 controls the operation of each processing unit in the video processor 1332 such as the display interface 1512, the display engine 1513, the image processing engine 1514, and the codec engine 1516.
- the control unit 1511 includes, for example, a main CPU 1531, a sub CPU 1532, and a system controller 1533.
- the main CPU 1531 executes a program and the like for controlling the operation of each processing unit in the video processor 1332.
- the main CPU 1531 generates a control signal according to the program and supplies it to each processing unit (that is, controls the operation of each processing unit).
- the sub CPU 1532 plays an auxiliary role of the main CPU 1531.
- the sub CPU 1532 executes a child process such as a program executed by the main CPU 1531, a subroutine, or the like.
- the system controller 1533 controls operations of the main CPU 1531 and the sub CPU 1532 such as designating a program to be executed by the main CPU 1531 and the sub CPU 1532.
- the display interface 1512 outputs image data to, for example, the connectivity 1321 (FIG. 30) or the like under the control of the control unit 1511.
- the display interface 1512 converts image data of digital data into an analog signal, and outputs it to a monitor device of the connectivity 1321 (FIG. 30) as a reproduced video signal or as image data of the digital data.
- the display engine 1513 Under the control of the control unit 1511, the display engine 1513 performs various conversion processes such as format conversion, size conversion, color gamut conversion, and the like so as to match the image data with hardware specifications such as a monitor device that displays the image. I do.
- the eyelid image processing engine 1514 performs predetermined image processing such as filter processing for improving image quality on the image data under the control of the control unit 1511.
- the internal memory 1515 is a memory provided inside the video processor 1332 that is shared by the display engine 1513, the image processing engine 1514, and the codec engine 1516.
- the internal memory 1515 is used, for example, for data exchange performed between the display engine 1513, the image processing engine 1514, and the codec engine 1516.
- the internal memory 1515 stores data supplied from the display engine 1513, the image processing engine 1514, or the codec engine 1516, and stores the data as needed (eg, upon request). This is supplied to the image processing engine 1514 or the codec engine 1516.
- the internal memory 1515 may be realized by any storage device, but is generally used for storing a small amount of data such as image data or parameters in units of blocks. It is desirable to realize a semiconductor memory having a relatively small capacity but a high response speed (for example, as compared with the external memory 1312) such as “Static Random Access Memory”.
- the codec engine 1516 performs processing related to encoding and decoding of image data.
- the encoding / decoding scheme supported by the codec engine 1516 is arbitrary, and the number thereof may be one or plural.
- the codec engine 1516 may be provided with codec functions of a plurality of encoding / decoding schemes, and may be configured to perform encoding of image data or decoding of encoded data using one selected from them.
- the codec engine 1516 includes, for example, MPEG-2 video 1541, AVC / H.2641542, HEVC / H.2651543, HEVC / H.265 (Scalable) 1544, as function blocks for processing related to the codec.
- HEVC / H.265 (Multi-view) 1545 and MPEG-DASH 1551 are included.
- “MPEG-2” Video 1541 is a functional block that encodes and decodes image data in the MPEG-2 format.
- AVC / H.2641542 is a functional block that encodes and decodes image data using the AVC method.
- HEVC / H.2651543 is a functional block that encodes and decodes image data using the HEVC method.
- HEVC / H.265 (Scalable) 1544 is a functional block that performs scalable encoding and scalable decoding of image data using the HEVC method.
- HEVC / H.265 (Multi-view) 1545 is a functional block that multi-view encodes or multi-view decodes image data using the HEVC method.
- MPEG-DASH 1551 is a functional block that transmits and receives image data in the MPEG-DASH (MPEG-Dynamic Adaptive Streaming over HTTP) method.
- MPEG-DASH is a technology for streaming video using HTTP (HyperText Transfer Protocol), and selects and transmits appropriate data from multiple encoded data with different resolutions prepared in advance in segments. This is one of the features.
- MPEG-DASH 1551 generates a stream compliant with the standard, controls transmission of the stream, and the like.
- MPEG-2 Video 1541 to HEVC / H.265 (Multi-view) 1545 described above are used. Is used.
- the memory interface 1517 is an interface for the external memory 1312. Data supplied from the image processing engine 1514 or the codec engine 1516 is supplied to the external memory 1312 via the memory interface 1517. The data read from the external memory 1312 is supplied to the video processor 1332 (the image processing engine 1514 or the codec engine 1516) via the memory interface 1517.
- a multiplexing / demultiplexing unit (MUX DMUX) 1518 multiplexes and demultiplexes various data related to images such as a bit stream of encoded data, image data, and a video signal.
- This multiplexing / demultiplexing method is arbitrary.
- the multiplexing / demultiplexing unit (MUX DMUX) 1518 can not only combine a plurality of data into one but also add predetermined header information or the like to the data.
- the multiplexing / demultiplexing unit (MUX DMUX) 1518 not only divides one data into a plurality of data but also adds predetermined header information or the like to each divided data. it can.
- the multiplexing / demultiplexing unit (MUX DMUX) 1518 can convert the data format by multiplexing / demultiplexing.
- the multiplexing / demultiplexing unit (MUX DMUX) 1518 multiplexes the bitstream, thereby transporting the transport stream, which is a bit stream in a transfer format, or data in a file format for recording (file data).
- the transport stream which is a bit stream in a transfer format, or data in a file format for recording (file data).
- file data file format for recording
- the network interface 1519 is an interface for a broadband modem 1333, connectivity 1321 (both in FIG. 30) and the like.
- the video interface 1520 is an interface for, for example, the connectivity 1321 and the camera 1322 (both are FIG. 30).
- the transport stream is transmitted to the multiplexing / demultiplexing unit (MUX DMUX via the network interface 1519).
- MUX DMUX multiplexing / demultiplexing unit
- the codec engine 1516 the image data obtained by decoding by the codec engine 1516 is subjected to predetermined image processing by the image processing engine 1514, subjected to predetermined conversion by the display engine 1513, and connected to, for example, the connectivity 1321 (see FIG. 30), and the image is displayed on the monitor.
- image data obtained by decoding by the codec engine 1516 is re-encoded by the codec engine 1516, multiplexed by a multiplexing / demultiplexing unit (MUX DMUX) 1518, converted into file data, and video
- MUX DMUX multiplexing / demultiplexing unit
- the data is output to, for example, the connectivity 1321 (FIG. 30) via the interface 1520 and recorded on various recording media.
- encoded data file data obtained by encoding image data read from a recording medium (not shown) by the connectivity 1321 (FIG. 30) is multiplexed / demultiplexed via the video interface 1520. Is supplied to a unit (MUX DMUX) 1518, demultiplexed, and decoded by the codec engine 1516. Image data obtained by decoding by the codec engine 1516 is subjected to predetermined image processing by the image processing engine 1514, subjected to predetermined conversion by the display engine 1513, and, for example, connectivity 1321 (FIG. 30) via the display interface 1512. And the image is displayed on the monitor.
- MUX DMUX unit
- image data obtained by decoding by the codec engine 1516 is re-encoded by the codec engine 1516, multiplexed by the multiplexing / demultiplexing unit (MUX DMUX) 1518, and converted into a transport stream,
- MUX DMUX multiplexing / demultiplexing unit
- the connectivity 1321 and the broadband modem 1333 are supplied via the network interface 1519 and transmitted to another device (not shown).
- image data and other data are exchanged between the processing units in the video processor 1332 using, for example, the internal memory 1515 and the external memory 1312.
- the power management module 1313 controls power supply to the control unit 1511, for example.
- the present technology when the present technology is applied to the video processor 1332 configured as described above, the present technology according to each of the above-described embodiments may be applied to the codec engine 1516. That is, for example, the codec engine 1516 has a functional block that realizes the image encoding device (FIG. 4) according to the first embodiment and the image decoding device (FIG. 14) according to the second embodiment. do it. In this way, the video processor 1332 can obtain the same effects as those described above with reference to FIGS.
- the present technology (that is, the functions of the image encoding device and the image decoding device according to each of the above-described embodiments) may be realized by hardware such as a logic circuit or an embedded program. It may be realized by software such as the above, or may be realized by both of them.
- the configuration of the video processor 1332 is arbitrary and may be other than the two examples described above.
- the video processor 1332 may be configured as one semiconductor chip, but may be configured as a plurality of semiconductor chips. For example, a three-dimensional stacked LSI in which a plurality of semiconductors are stacked may be used. Further, it may be realized by a plurality of LSIs.
- Video set 1300 can be incorporated into various devices that process image data.
- the video set 1300 can be incorporated in the television device 900 (FIG. 23), the mobile phone 920 (FIG. 24), the recording / reproducing device 940 (FIG. 25), the imaging device 960 (FIG. 26), or the like.
- the device can obtain the same effects as those described above with reference to FIGS.
- the video set 1300 includes, for example, terminal devices such as the personal computer 1004, the AV device 1005, the tablet device 1006, and the mobile phone 1007 in the data transmission system 1000 in FIG. 27, the broadcasting station 1101 in the data transmission system 1100 in FIG. It can also be incorporated into the terminal device 1102, the imaging device 1201 in the imaging system 1200 of FIG. 29, the scalable encoded data storage device 1202, and the like. By incorporating the video set 1300, the device can obtain the same effects as those described above with reference to FIGS. Furthermore, it can also be incorporated into each device in the content reproduction system of FIG. 33 and the wireless communication system of FIG.
- each configuration of the video set 1300 described above can be implemented as a configuration to which the present technology is applied as long as it includes the video processor 1332.
- the video processor 1332 can be implemented as a video processor to which the present technology is applied.
- the processor or the video module 1311 indicated by the dotted line 1341 can be implemented as a processor or a module to which the present technology is applied.
- the video module 1311, the external memory 1312, the power management module 1313, and the front end module 1314 can be combined and implemented as a video unit 1361 to which the present technology is applied. In any case, the same effects as those described above with reference to FIGS. 1 to 21 can be obtained.
- any configuration including the video processor 1332 can be incorporated into various devices that process image data, as in the case of the video set 1300.
- a video processor 1332 a processor indicated by a dotted line 1341, a video module 1311, or a video unit 1361, a television device 900 (FIG. 23), a mobile phone 920 (FIG. 24), a recording / playback device 940 (FIG. 25), Imaging device 960 (FIG. 26), terminal devices such as personal computer 1004, AV device 1005, tablet device 1006, and mobile phone 1007 in data transmission system 1000 in FIG. 27, broadcast station 1101 and terminal in data transmission system 1100 in FIG. It can be incorporated in the apparatus 1102, the imaging apparatus 1201 in the imaging system 1200 of FIG.
- the scalable encoded data storage apparatus 1202 can also be incorporated into each device in the content reproduction system of FIG. 33 and the wireless communication system of FIG. Then, by incorporating any configuration to which the present technology is applied, the apparatus can obtain the same effects as those described above with reference to FIGS. 1 to 21, as in the case of the video set 1300. .
- this technology selects and uses an appropriate one of a plurality of pieces of encoded data having different resolutions prepared in advance for each segment, for example, HTTP streaming content such as MPEG DASH to be described later
- HTTP streaming content such as MPEG DASH to be described later
- the present invention can also be applied to a reproduction system and a Wi-Fi standard wireless communication system.
- FIG. 33 is an explanatory diagram showing the configuration of the content reproduction system.
- the content reproduction system includes content servers 1610 and 1611, a network 1612, and a content reproduction device 1620 (client device).
- the content servers 1610 and 1611 and the content playback device 1620 are connected via a network 1612.
- the network 1612 is a wired or wireless transmission path for information transmitted from a device connected to the network 1612.
- the network 1612 may include a public line network such as the Internet, a telephone line network, a satellite communication network, various local area networks (LAN) including Ethernet (registered trademark), a wide area network (WAN), and the like.
- the network 1612 may include a dedicated line network such as IP-VPN (Internet Protocol-Virtual Private Network).
- the content server 1610 encodes the content data, and generates and stores the encoded data and a data file including the meta information of the encoded data.
- the encoded data corresponds to “mdat” and the meta information corresponds to “moov”.
- the content data may be music data such as music, lectures and radio programs, video data such as movies, television programs, video programs, photographs, documents, pictures and charts, games and software, etc. .
- the content server 1610 generates a plurality of data files at different bit rates for the same content.
- the content server 1611 includes the URL information of the content server 1610 in the content playback device 1620, including information on parameters to be added to the URL by the content playback device 1620. Send.
- the matter will be specifically described with reference to FIG.
- FIG. 32 is an explanatory diagram showing a data flow in the content reproduction system of FIG.
- the content server 1610 encodes the same content data at different bit rates, and generates, for example, a 2 Mbps file A, a 1.5 Mbps file B, and a 1 Mbps file C as shown in FIG. In comparison, file A has a high bit rate, file B has a standard bit rate, and file C has a low bit rate.
- the encoded data of each file is divided into a plurality of segments.
- the encoded data of file A is divided into segments “A1”, “A2”, “A3”,... “An”
- the encoded data of file B is “B1”, “B2”, “B3”,... “Bn” is segmented
- the encoded data of file C is segmented as “C1”, “C2”, “C3”,. .
- Each segment consists of one or more video encoded data and audio encoded data that can be reproduced independently, starting with an MP4 sync sample (for example, IDR-picture for AVC / H.264 video encoding). It may be constituted by. For example, when video data of 30 frames per second is encoded by a GOP (Group of Picture) having a fixed length of 15 frames, each segment is 2 seconds worth of video and audio encoded data corresponding to 4 GOPs. Alternatively, it may be video and audio encoded data for 10 seconds corresponding to 20 GOP.
- an MP4 sync sample for example, IDR-picture for AVC / H.264 video encoding.
- GOP Group of Picture
- each segment is 2 seconds worth of video and audio encoded data corresponding to 4 GOPs.
- it may be video and audio encoded data for 10 seconds corresponding to 20 GOP.
- the playback range (the range of the time position from the beginning of the content) by the segment with the same arrangement order in each file is the same.
- the playback ranges of the segment “A2”, the segment “B2”, and the segment “C2” are the same and each segment is encoded data for 2 seconds
- the segment “A2”, the segment “B2”, and The playback range of the segment “C2” is 2 to 4 seconds for the content.
- the content server 1610 When the content server 1610 generates the file A to the file C composed of such a plurality of segments, the content server 1610 stores the file A to the file C. Then, as shown in FIG. 34, the content server 1610 sequentially transmits segments constituting different files to the content reproduction device 1620, and the content reproduction device 1620 performs streaming reproduction of the received segments.
- the content server 1610 transmits a playlist file (MPD: MediaMPPresentation Description) including the bit rate information and access information of each encoded data to the content playback device 1620, and the content playback device 1620. Selects one of a plurality of bit rates based on the MPD, and requests the content server 1610 to transmit a segment corresponding to the selected bit rate.
- MPD MediaMPPresentation Description
- FIG. 35 is an explanatory diagram showing a specific example of MPD.
- the MPD includes access information regarding a plurality of pieces of encoded data having different bit rates (BANDWIDTH).
- BANDWIDTH bit rates
- the MPD shown in FIG. 35 indicates that each encoded data of 256 Kbps, 1.024 Mbps, 1.384 Mbps, 1.536 Mbps, and 2.048 Mbps exists, and includes access information regarding each encoded data.
- the content playback device 1620 can dynamically change the bit rate of encoded data to be streamed based on the MPD.
- FIG. 33 shows a mobile terminal as an example of the content playback device 1620
- the content playback device 1620 is not limited to such an example.
- the content playback device 1620 is an information processing device such as a PC (Personal Computer), a home video processing device (DVD recorder, VCR, etc.), a PDA (Personal Digital Assistant), a home game device, or a home appliance.
- the content playback device 1620 may be an information processing device such as a mobile phone, a PHS (Personal Handyphone System), a portable music playback device, a portable video processing device, or a portable game device.
- PHS Personal Handyphone System
- FIG. 36 is a functional block diagram showing the configuration of the content server 1610.
- the content server 1610 includes a file generation unit 1631, a storage unit 1632, and a communication unit 1633.
- the file generation unit 1631 includes an encoder 1641 that encodes content data, and generates a plurality of encoded data having the same content and different bit rates, and the MPD described above. For example, when generating each encoded data of 256 Kbps, 1.024 Mbps, 1.384 Mbps, 1.536 Mbps, and 2.048 Mbps, the file generation unit 1631 generates an MPD as shown in FIG.
- the storage unit 1632 stores a plurality of encoded data and MPD having different bit rates generated by the file generation unit 1631.
- the storage unit 1632 may be a storage medium such as a non-volatile memory, a magnetic disk, an optical disk, and an MO (Magneto Optical) disk.
- Non-volatile memory includes, for example, EEPROM (Electrically Erasable Programmable Read-Only ⁇ Memory) and EPROM (Erasable Programmable ROM).
- Examples of the magnetic disk include a hard disk and a disk type magnetic disk.
- Examples of the optical disc include CD (Compact Disc, DVD-R (Digital Versatile Disc Discable), BD (Blu-Ray Disc (registered trademark)), and the like.
- the communication unit 1633 is an interface with the content reproduction device 1620 and communicates with the content reproduction device 1620 via the network 1612. More specifically, the communication unit 1633 has a function as an HTTP server that communicates with the content reproduction device 1620 according to HTTP. For example, the communication unit 1633 transmits the MPD to the content reproduction device 1620, extracts encoded data requested from the content reproduction device 1620 based on the MPD according to HTTP from the storage unit 1632, and transmits the encoded data to the content reproduction device 1620 as an HTTP response. Transmit encoded data.
- FIG. 37 is a functional block diagram showing the configuration of the content reproduction apparatus 1620.
- the content reproduction device 1620 includes a communication unit 1651, a storage unit 1652, a reproduction unit 1653, a selection unit 1654, and a current location acquisition unit 1656.
- the communication unit 1651 is an interface with the content server 1610, requests data from the content server 1610, and acquires data from the content server 1610. More specifically, the communication unit 1651 has a function as an HTTP client that communicates with the content reproduction device 1620 according to HTTP. For example, the communication unit 1651 can selectively acquire an MPD or encoded data segment from the content server 1610 by using HTTP Range.
- the storage unit 1652 stores various information related to content reproduction. For example, the segments acquired from the content server 1610 by the communication unit 1651 are sequentially buffered. The segments of the encoded data buffered in the storage unit 1652 are sequentially supplied to the reproduction unit 1653 by FIFO (First In First Out).
- FIFO First In First Out
- the storage unit 1652 adds a parameter to the URL by the communication unit 1651 based on an instruction to add a parameter to the URL of the content described in the MPD requested from the content server 1611 described later, and accesses the URL.
- the definition to do is memorized.
- the playback unit 1653 sequentially plays back the segments supplied from the storage unit 1652. Specifically, the playback unit 1653 performs segment decoding, DA conversion, rendering, and the like.
- the selection unit 1654 sequentially selects, in the same content, which segment of the encoded data to acquire corresponding to which bit rate included in the MPD. For example, when the selection unit 1654 sequentially selects the segments “A1”, “B2”, and “A3” according to the bandwidth of the network 1612, the communication unit 1651 causes the segment “A1” from the content server 1610 as illustrated in FIG. ”,“ B2 ”, and“ A3 ”are acquired sequentially.
- the current location acquisition unit 1656 acquires the current position of the content playback device 1620, and may be configured with a module that acquires the current location, such as a GPS (Global Positioning System) receiver.
- the current location acquisition unit 1656 may acquire the current position of the content reproduction device 1620 using a wireless network.
- FIG. 38 is an explanatory diagram showing a configuration example of the content server 1611. As illustrated in FIG. 38, the content server 1611 includes a storage unit 1671 and a communication unit 1672.
- the storage unit 1671 stores the MPD URL information.
- the MPD URL information is transmitted from the content server 1611 to the content reproduction device 1620 in response to a request from the content reproduction device 1620 that requests content reproduction.
- the storage unit 1671 stores definition information when the content playback device 1620 adds a parameter to the URL described in the MPD.
- the communication unit 1672 is an interface with the content reproduction device 1620 and communicates with the content reproduction device 1620 via the network 1612. That is, the communication unit 1672 receives an MPD URL information request from the content reproduction device 1620 that requests content reproduction, and transmits the MPD URL information to the content reproduction device 1620.
- the MPD URL transmitted from the communication unit 1672 includes information for adding a parameter by the content reproduction device 1620.
- the parameters added to the MPD URL by the content playback device 1620 can be variously set by definition information shared by the content server 1611 and the content playback device 1620. For example, information such as the current position of the content playback device 1620, the user ID of the user who uses the content playback device 1620, the memory size of the content playback device 1620, the storage capacity of the content playback device 1620, and the like. Can be added to the MPD URL.
- the encoder 1641 of the content server 1610 has the function of the image encoding device (FIG. 4) according to the above-described embodiment.
- the playback unit 1653 of the content playback device 1620 has the function of the image decoding device (FIG. 14) according to the above-described embodiment.
- Examples of Wi-Fi standard wireless communication systems> [Example of basic operation of wireless communication device] A basic operation example of a wireless communication device in a wireless communication system to which the present technology can be applied will be described.
- wireless packet transmission / reception is performed until a specific application is operated after a P2P (Peer-to-Peer) connection is established.
- P2P Peer-to-Peer
- wireless packet transmission / reception is performed from the time when the specific application to be used is specified until the P2P connection is established and the specific application is operated. Thereafter, after connection in the second layer, radio packet transmission / reception is performed when a specific application is started.
- FIG. 39 and FIG. 40 are examples of wireless packet transmission / reception until the above-described P2P (Peer to Peer) connection is established and a specific application is operated, and shows an example of communication processing by each device serving as the basis of wireless communication. It is a sequence chart. Specifically, an example of a procedure for establishing a direct connection leading to a connection based on the Wi-Fi Direct (Direct) standard (sometimes referred to as Wi-Fi P2P) standardized by the Wi-Fi Alliance is shown.
- Direct Wi-Fi Direct
- Wi-Fi Direct multiple wireless communication devices detect each other's presence (Device Discovery, Service Discovery).
- WPS Wi-Fi Protected Setup
- Wi-Fi Direct a communication group is formed by determining whether a plurality of wireless communication devices play a role as a parent device (Group Owner) or a child device (Client).
- some packet transmission / reception is omitted.
- packet exchange for using WPS is necessary, and packet exchange is also necessary for exchange of Authentication Request / Response.
- FIG. 39 and FIG. 40 illustration of these packet exchanges is omitted, and only the second and subsequent connections are shown.
- 39 and 40 show examples of communication processing between the first wireless communication device 1701 and the second wireless communication device 1702, the same applies to communication processing between other wireless communication devices.
- Device Discovery is performed between the first wireless communication device 1701 and the second wireless communication device 1702 (1711).
- the first wireless communication device 1701 transmits a Probe request (response request signal) and receives a Probe response (response signal) for the Probe request from the second wireless communication device 1702.
- the first wireless communication device 1701 and the second wireless communication device 1702 can discover each other's presence.
- Device Discovery can acquire the device name and type (TV, PC, smartphone, etc.) of the other party.
- Service Discovery is performed between the first wireless communication device 1701 and the second wireless communication device 1702 (1712).
- the first wireless communication device 1701 transmits a Service Discovery Query that inquires about the service supported by the second wireless communication device 1702 discovered by Device Discovery.
- the first wireless communication device 1701 receives a Service Discovery Response from the second wireless communication device 1702, thereby acquiring a service supported by the second wireless communication device 1702.
- a service or the like that can be executed by the other party can be acquired by Service Discovery.
- Services that can be executed by the other party are, for example, service and protocol (DLNA (Digital Living Network Alliance) DMR (Digital Media Renderer), etc.).
- DLNA Digital Living Network Alliance
- DMR Digital Media Renderer
- connection partner selection operation (connection partner selection operation) is performed by the user (1713).
- This connection partner selection operation may occur only in one of the first wireless communication device 1701 and the second wireless communication device 1702.
- a connection partner selection screen is displayed on the display unit of the first wireless communication device 1701, and the second wireless communication device 1702 is selected as a connection partner on the connection partner selection screen by a user operation.
- Group Owner Negotiation is performed between the first wireless communication device 1701 and the second wireless communication device 1702 (1714).
- 39 and 40 show an example in which the first wireless communication device 1701 becomes the group owner (Group Owner) 1715 and the second wireless communication device 1702 becomes the client (Client) 1716 based on the result of Group Owner Negotiation.
- L2 (second layer) link establishment
- Secure link establishment (1718)
- L4 setup (1720) on L3 by IP ⁇ Address Assignment (1719), SSDP (Simple Service Discovery Protocol) or the like is sequentially performed.
- L2 (layer2) means the second layer (data link layer)
- L3 (layer3) means the third layer (network layer)
- L4 (layer4) means the fourth layer (transport layer) ).
- the user designates or activates a specific application (application designation / activation operation) (1721).
- This application designation / activation operation may occur only in one of the first wireless communication device 1701 and the second wireless communication device 1702.
- an application designation / startup operation screen is displayed on the display unit of the first wireless communication apparatus 1701, and a specific application is selected by a user operation on the application designation / startup operation screen.
- connection between AP (Access Point) and STA (Station) is performed within the scope of the specifications before Wi-Fi Direct (standardized by IEEE802.11).
- Wi-Fi Direct standardized by IEEE802.11.
- connection partner when searching for a connection candidate partner in Device Discovery or Service Discovery (option), information on the connection partner can be acquired.
- the information of the connection partner is, for example, a basic device type, a corresponding specific application, or the like. And based on the acquired information of a connection other party, a user can be made to select a connection other party.
- This mechanism can be expanded to realize a wireless communication system in which a specific application is specified before connection at the second layer, a connection partner is selected, and the specific application is automatically started after this selection. Is possible.
- An example of the sequence leading to the connection in such a case is shown in FIG.
- FIG. 41 shows a configuration example of a frame format (frame format) transmitted and received in this communication process.
- FIG. 41 is a diagram schematically illustrating a configuration example of a frame format transmitted and received in communication processing performed by each device serving as the basis of the present technology. That is, FIG. 41 shows a configuration example of a MAC frame for establishing a connection in the second layer. Specifically, it is an example of a frame format of Association Request / Response (1787) for realizing the sequence shown in FIG.
- the MAC frame shown in FIG. 41 is basically the Association Request / Response frame format described in sections 7.2.3.4 and 7.2.3.5 of the IEEE802.11-2007 specification. However, the difference is that it includes not only Information (Element (hereinafter abbreviated as IE) defined in the IEEE802.11 specification but also its own extended IE.
- IE Information
- IE Type Information Element ID (1761)
- Length field (1762) and the OUI field (1763) follow, followed by vendor specific content (1764).
- Vendor specific content a field indicating the type of vendor specific IE (IE type (1765)) is first provided. Then, it is conceivable that a plurality of subelements (1766) can be stored thereafter.
- the contents of the subelement (1766) include the name (1767) of a specific application to be used and the role of the device (1768) when the specific application is operating.
- information such as a port number used for control of a specific application (information for L4 setup) (1769) and information about Capability in a specific application (Capability information) may be included.
- the Capability information is information for specifying, for example, that audio transmission / reproduction is supported, video transmission / reproduction, and the like when the specific application to be specified is DLNA.
- the same effects as those described with reference to FIGS. 1 to 21 are obtained. be able to. That is, it is possible to improve the encoding efficiency of motion vector encoding or decoding in a multi-viewpoint image. Also, in the wireless communication system described above, the encoding efficiency of motion vector encoding or decoding in a multi-view image can be improved by transmitting and receiving data encoded by the present technology.
- the method for transmitting such information is not limited to such an example.
- these pieces of information may be transmitted or recorded as separate data associated with the encoded bitstream without being multiplexed into the encoded bitstream.
- the term “associate” means that an image (which may be a part of an image such as a slice or a block) included in the bitstream and information corresponding to the image can be linked at the time of decoding. Means. That is, information may be transmitted on a transmission path different from that of the image (or bit stream).
- Information may be recorded on a recording medium (or another recording area of the same recording medium) different from the image (or bit stream). Furthermore, the information and the image (or bit stream) may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part of the frame.
- a motion vector of a reference block which is a block at a position shifted from the position of the current block in a different view image by the amount of parallax obtained from the periphery of the current block in the non-base view image is referred to the current block.
- a prediction vector generation unit that generates a prediction vector to be used for encoding a motion vector of the current block by scaling according to a destination and a reference destination of the reference block;
- a motion vector encoding unit that encodes a motion vector of the current block using the prediction vector generated by the prediction vector generation unit;
- An image processing apparatus comprising: an encoding unit that encodes an image in a unit having a hierarchical structure to generate an encoded stream.
- the prediction vector generation unit scales the motion vector of the reference block according to the reference image POC of the current block and the reference image POC of the reference block, and uses it as a candidate for the prediction vector.
- the image processing apparatus according to (1).
- the transmission unit (1) or (2) further including a transmission unit that transmits the motion vector of the current block encoded by the motion vector encoding unit and the encoded stream generated by the encoding unit.
- An image processing apparatus according to 1.
- the image processing device The motion vector of the reference block, which is a block shifted from the position of the current block in the image of the different view by the amount of parallax obtained from the periphery of the current block in the non-base view image, and the reference destination of the current block and the Scaling according to the reference destination of the reference block to generate a prediction vector used to encode the motion vector of the current block; Using the generated prediction vector, encode the motion vector of the current block, An image processing method for generating an encoded stream by encoding an image in a unit having a hierarchical structure.
- a motion vector of a reference block that is a block shifted from the position of the current block in a different view image by the amount of parallax obtained from the periphery of the current block in the non-base view image is referred to the current block.
- a prediction vector generation unit that generates a prediction vector to be used for encoding a motion vector of the current block by scaling according to a destination and a reference destination of the reference block;
- a motion vector decoding unit that decodes a motion vector of the current block using the prediction vector generated by the prediction vector generation unit;
- An image processing apparatus comprising: a decoding unit that decodes an encoded stream encoded in units having a hierarchical structure to generate an image.
- the prediction vector generation unit scales the motion vector of the reference block according to the reference image POC of the current block and the reference image POC of the reference block, and uses the prediction vector as a prediction vector candidate.
- the image processing apparatus according to (5).
- the image processing device further including a reception unit that receives the encoded stream and the encoded motion vector of the current block.
- the image processing apparatus is The motion vector of the reference block, which is a block shifted from the position of the current block in the image of the different view by the amount of parallax obtained from the periphery of the current block in the non-base view image, and the reference destination of the current block and the Scaling according to the reference destination of the reference block to generate a prediction vector used to encode the motion vector of the current block; Using the generated prediction vector, decode the motion vector of the current block; An image processing method for generating an image by decoding an encoded stream encoded in a unit having a hierarchical structure.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
1.従来と本技術の概要
2.第1の実施の形態(多視点画像符号化装置)
3.第2の実施の形態(多視点画像復号装置)
4.第3の実施の形態(コンピュータ)
5.応用例
6.スケーラブル符号化の応用例
7.第6の実施の形態(セット・ユニット・モジュール・プロセッサ)
8.MPEG-DASHのコンテンツ再生システムの応用例
9.Wi-Fi規格の無線通信システムの応用例
[従来の説明]
ノンベースビューの符号化性能を改善する方式の1つとして、異なるビューの符号化済みベクトルを、ノンベースビューの予測ベクトルの候補にする、Inter-view motion prediction(IVMP)がある。
[多視点画像符号化装置の構成例]
図4は、本開示を適用した画像処理装置としての多視点画像符号化装置を構成するエンコーダの一実施の形態の構成を表している。
図5は、図4の動き予測・補償部の構成例を示すブロック図である。
図6は、図5のAMVPモードベクトル予測部の構成例を示すブロック図である。
図7は、図6のNon-Spatialの予測ベクトル生成部の構成例を示すブロック図である。
次に、図8のフローチャートを参照して、図4のエンコーダ11-1の符号化処理について説明する。なお、他のビューの画像の符号化処理を行うエンコーダ11-Nおよび11-Mも同様の符号化処理を行う。
次に、図9のフローチャートを参照して、図8のステップS13の動き予測、補償処理について説明する。
次に、図10のフローチャートを参照して、図9のステップS43のAMVPモードのベクトル予測処理について説明する。
次に、図11のフローチャートを参照して、図10のステップS65におけるNon-Spatialの予測ベクトル生成処理について説明する。
次に、図12のフローチャートを参照して、図11のステップS84の予測ベクトル生成処理について説明する。なお、図12の例においては、L0方向についての予測ベクトル生成処理が示されている。
次に、図13のフローチャートを参照して、図11のステップS84の予測ベクトル生成処理について説明する。なお、図13の例においては、L1方向についての予測ベクトル生成処理が示されている。
[多視点画像復号装置の構成例]
図16は、本開示を適用した画像処理装置としての多視点画像復号装置を構成するデコーダの一実施の形態の構成を表している。
図15は、図14の動き補償部の構成例を示すブロック図である。
図16は、図15のAMVPモードベクトル予測部の構成例を示すブロック図である。
図17は、図16のNon-Spatialの予測ベクトル生成部の構成例を示すブロック図である。
次に、図18のフローチャートを参照して、図14のデコーダ211-1の復号処理について説明する。なお、他のビューの画像の復号処理を行うデコーダ211-Nおよび211-Mも同様の復号処理を行う。
次に、図19のフローチャートを参照して、図18のステップS216の動き補償処理を説明する。
次に、図20のフローチャートを参照して、AMVPモードのベクトル予測処理について説明する。
次に、図21のフローチャートを参照して、図20のステップS266におけるNon-Spatialの予測ベクトルの生成処理について説明する。
[コンピュータの構成例]
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
[第1の応用例:テレビジョン受像機]
図23は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース909、制御部910、ユーザインタフェース911、及びバス912を備える。
図24は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
図25は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号する。
図26は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
[第1のシステム]
次に、スケーラブル符号化(階層符号化)されたスケーラブル符号化データの具体的な利用例について説明する。スケーラブル符号化は、例えば、図27に示される例のように、伝送するデータの選択のために利用される。
また、スケーラブル符号化は、例えば、図28に示される例のように、複数の通信媒体を介する伝送のために利用される。
また、スケーラブル符号化は、例えば、図29に示される例のように、符号化データの記憶に利用される。
[実施のその他の例]
以上において本技術を適用する装置やシステム等の例を説明したが、本技術は、これに限らず、このような装置またはシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。
本技術をセットとして実施する場合の例について、図30を参照して説明する。図30は、本技術を適用したビデオセットの概略的な構成の一例を示している。
図31は、本技術を適用したビデオプロセッサ1332(図30)の概略的な構成の一例を示している。
図32は、本技術を適用したビデオプロセッサ1332(図30)の概略的な構成の他の例を示している。図32の例の場合、ビデオプロセッサ1332は、ビデオデータを所定の方式で符号化・復号する機能とを有する。
ビデオセット1300は、画像データを処理する各種装置に組み込むことができる。例えば、ビデオセット1300は、テレビジョン装置900(図23)、携帯電話機920(図24)、記録再生装置940(図25)、撮像装置960(図26)等に組み込むことができる。ビデオセット1300を組み込むことにより、その装置は、図1乃至図21を参照して上述した効果と同様の効果を得ることができる。
[コンテンツ再生システムの概要]
まず、図33乃至図35を参照し、本技術を適用可能なコンテンツ再生システムについて概略的に説明する。
以上、図33乃至図35を参照し、コンテンツ再生システムの概要を説明した。続いて、図36を参照し、コンテンツサーバ1610の構成を説明する。
以上、本実施形態によるコンテンツサーバ1610の構成を説明した。続いて、図37を参照し、コンテンツ再生装置1620の構成を説明する。
図38は、コンテンツサーバ1611の構成例を示す説明図である。図38に示したように、コンテンツサーバ1611は、記憶部1671と、通信部1672と、を備える。
[無線通信装置の基本動作例]
本技術を適用可能な無線通信システムにおける無線通信装置の基本動作例について説明する。
図39および図40は、上述したP2P(Peer to Peer)接続を確立して特定のアプリケーションを動作させるまでの無線パケット送受信の例であり、無線通信の基礎となる各装置による通信処理例を示すシーケンスチャートである。具体的には、Wi-Fi Allianceにおいて標準化されているWi-Fiダイレクト(Direct)規格(Wi-Fi P2Pと呼ばれることもある)での接続に至るダイレクト接続の確立手順の一例を示す。
図41は、本技術の基礎となる各装置による通信処理において送受信されるフレームフォーマット(frame format)の構成例を模式的に示す図である。すなわち、図41には、第2層での接続を確立するためのMAC frameの構成例を示す。具体的には、図42に示すシーケンスを実現するためのAssociation Request/Response(1787)のフレームフォーマットの一例である。
(1) ノンベースビューの画像におけるカレントブロックの周辺から求まる視差分だけ、異なるビューの画像において前記カレントブロックの位置からシフトさせた位置のブロックである参照ブロックの動きベクトルを、前記カレントブロックの参照先と前記参照ブロックの参照先とに応じてスケーリングして、前記カレントブロックの動きベクトルの符号化に用いる予測ベクトルを生成する予測ベクトル生成部と、
前記予測ベクトル生成部により生成された予測ベクトルを用いて、前記カレントブロックの動きベクトルを符号化する動きベクトル符号化部と、
画像を、階層構造を有する単位で符号化して、符号化ストリームを生成する符号化部と
を備える画像処理装置。
(2) 前記予測ベクトル生成部は、前記参照ブロックの動きベクトルを、前記カレントブロックの参照画像POCと前記参照ブロックの参照画像POCに応じてスケーリングして、前記予測ベクトルの候補として用いて予測ベクトルを生成する
前記(1)に記載の画像処理装置。
(3) 前記動きベクトル符号化部により符号化された前記カレントブロックの動きベクトルと、前記符号化部により生成された符号化ストリームとを伝送する伝送部を
さらに備える前記(1)または(2)に記載の画像処理装置。
(4) 画像処理装置が、
ノンベースビューの画像におけるカレントブロックの周辺から求まる視差分だけ、異なるビューの画像において前記カレントブロックの位置からシフトさせた位置のブロックである参照ブロックの動きベクトルを、前記カレントブロックの参照先と前記参照ブロックの参照先とに応じてスケーリングして、前記カレントブロックの動きベクトルの符号化に用いる予測ベクトルを生成し、
生成された予測ベクトルを用いて、前記カレントブロックの動きベクトルを符号化し、
画像を、階層構造を有する単位で符号化して、符号化ストリームを生成する
画像処理方法。
(5) ノンベースビューの画像におけるカレントブロックの周辺から求まる視差分だけ、異なるビューの画像において前記カレントブロックの位置からシフトさせた位置のブロックである参照ブロックの動きベクトルを、前記カレントブロックの参照先と前記参照ブロックの参照先とに応じてスケーリングして、前記カレントブロックの動きベクトルの符号化に用いる予測ベクトルを生成する予測ベクトル生成部と、
前記予測ベクトル生成部により生成された予測ベクトルを用いて、前記カレントブロックの動きベクトルを復号する動きベクトル復号部と、
階層構造を有する単位で符号化された符号化ストリームを復号して、画像を生成する復号部と
を備える画像処理装置。
(6) 前記予測ベクトル生成部は、前記参照ブロックの動きベクトルを、前記カレントブロックの参照画像POCと前記参照ブロックの参照画像POCに応じてスケーリングして、前記予測ベクトルの候補として用いて予測ベクトルを生成する
前記(5)に記載の画像処理装置。
(7) 前記符号化ストリームと、符号化された前記カレントブロックの動きベクトルを受け取る受け取り部を
さらに備える前記(5)または(6)のいずれかに記載の画像処理装置。
(8) 画像処理装置が、
ノンベースビューの画像におけるカレントブロックの周辺から求まる視差分だけ、異なるビューの画像において前記カレントブロックの位置からシフトさせた位置のブロックである参照ブロックの動きベクトルを、前記カレントブロックの参照先と前記参照ブロックの参照先とに応じてスケーリングして、前記カレントブロックの動きベクトルの符号化に用いる予測ベクトルを生成し、
生成された予測ベクトルを用いて、前記カレントブロックの動きベクトルを復号し、
階層構造を有する単位で符号化された符号化ストリームを復号して、画像を生成する
画像処理方法。
Claims (8)
- ノンベースビューの画像におけるカレントブロックの周辺から求まる視差分だけ、異なるビューの画像において前記カレントブロックの位置からシフトさせた位置のブロックである参照ブロックの動きベクトルを、前記カレントブロックの参照先と前記参照ブロックの参照先とに応じてスケーリングして、前記カレントブロックの動きベクトルの符号化に用いる予測ベクトルを生成する予測ベクトル生成部と、
前記予測ベクトル生成部により生成された予測ベクトルを用いて、前記カレントブロックの動きベクトルを符号化する動きベクトル符号化部と、
画像を、階層構造を有する単位で符号化して、符号化ストリームを生成する符号化部と
を備える画像処理装置。 - 前記予測ベクトル生成部は、前記参照ブロックの動きベクトルを、前記カレントブロックの参照画像POCと前記参照ブロックの参照画像POCに応じてスケーリングして、前記予測ベクトルの候補として用いて予測ベクトルを生成する
請求項1に記載の画像処理装置。 - 前記動きベクトル符号化部により符号化された前記カレントブロックの動きベクトルと、前記符号化部により生成された符号化ストリームとを伝送する伝送部を
さらに備える請求項1に記載の画像処理装置。 - 画像処理装置が、
ノンベースビューの画像におけるカレントブロックの周辺から求まる視差分だけ、異なるビューの画像において前記カレントブロックの位置からシフトさせた位置のブロックである参照ブロックの動きベクトルを、前記カレントブロックの参照先と前記参照ブロックの参照先とに応じてスケーリングして、前記カレントブロックの動きベクトルの符号化に用いる予測ベクトルを生成し、
生成された予測ベクトルを用いて、前記カレントブロックの動きベクトルを符号化し、
画像を、階層構造を有する単位で符号化して、符号化ストリームを生成する
画像処理方法。 - ノンベースビューの画像におけるカレントブロックの周辺から求まる視差分だけ、異なるビューの画像において前記カレントブロックの位置からシフトさせた位置のブロックである参照ブロックの動きベクトルを、前記カレントブロックの参照先と前記参照ブロックの参照先とに応じてスケーリングして、前記カレントブロックの動きベクトルの符号化に用いる予測ベクトルを生成する予測ベクトル生成部と、
前記予測ベクトル生成部により生成された予測ベクトルを用いて、前記カレントブロックの動きベクトルを復号する動きベクトル復号部と、
階層構造を有する単位で符号化された符号化ストリームを復号して、画像を生成する復号部と
を備える画像処理装置。 - 前記予測ベクトル生成部は、前記参照ブロックの動きベクトルを、前記カレントブロックの参照画像POCと前記参照ブロックの参照画像POCに応じてスケーリングして、前記予測ベクトルの候補として用いて予測ベクトルを生成する
請求項5に記載の画像処理装置。 - 前記符号化ストリームと、符号化された前記カレントブロックの動きベクトルを受け取る受け取り部を
さらに備える請求項5に記載の画像処理装置。 - 画像処理装置が、
ノンベースビューの画像におけるカレントブロックの周辺から求まる視差分だけ、異なるビューの画像において前記カレントブロックの位置からシフトさせた位置のブロックである参照ブロックの動きベクトルを、前記カレントブロックの参照先と前記参照ブロックの参照先とに応じてスケーリングして、前記カレントブロックの動きベクトルの符号化に用いる予測ベクトルを生成し、
生成された予測ベクトルを用いて、前記カレントブロックの動きベクトルを復号し、
階層構造を有する単位で符号化された符号化ストリームを復号して、画像を生成する
画像処理方法。
Priority Applications (13)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020157006899A KR20150065674A (ko) | 2012-09-28 | 2013-09-19 | 화상 처리 장치 및 방법 |
AU2013321313A AU2013321313B2 (en) | 2012-09-28 | 2013-09-19 | Image processing device and method |
JP2014538424A JP6172155B2 (ja) | 2012-09-28 | 2013-09-19 | 画像処理装置および方法 |
MYPI2015700887A MY186413A (en) | 2012-09-28 | 2013-09-19 | Image processing device and method |
CN201380049112.XA CN104662907B (zh) | 2012-09-28 | 2013-09-19 | 图像处理设备和方法 |
RU2015109932A RU2639647C2 (ru) | 2012-09-28 | 2013-09-19 | Устройство и способ обработки изображений |
US14/422,473 US10516894B2 (en) | 2012-09-28 | 2013-09-19 | Image processing device and method |
EP13840430.6A EP2903286A4 (en) | 2012-09-28 | 2013-09-19 | IMAGE PROCESSING DEVICE AND METHOD |
BR112015006317A BR112015006317A2 (pt) | 2012-09-28 | 2013-09-19 | dispositivo e método de processamento de imagem |
CA2885642A CA2885642A1 (en) | 2012-09-28 | 2013-09-19 | Image processing device and method |
MX2015003590A MX339432B (es) | 2012-09-28 | 2013-09-19 | Dispositivo y metodo para el procesamiento de imagenes. |
SG11201502200RA SG11201502200RA (en) | 2012-09-28 | 2013-09-19 | Image processing device and method |
US16/569,668 US10917656B2 (en) | 2012-09-28 | 2019-09-13 | Image processing device and method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012218304 | 2012-09-28 | ||
JP2012-218304 | 2012-09-28 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/422,473 A-371-Of-International US10516894B2 (en) | 2012-09-28 | 2013-09-19 | Image processing device and method |
US16/569,668 Continuation US10917656B2 (en) | 2012-09-28 | 2019-09-13 | Image processing device and method |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014050675A1 true WO2014050675A1 (ja) | 2014-04-03 |
Family
ID=50388080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2013/075226 WO2014050675A1 (ja) | 2012-09-28 | 2013-09-19 | 画像処理装置および方法 |
Country Status (13)
Country | Link |
---|---|
US (2) | US10516894B2 (ja) |
EP (1) | EP2903286A4 (ja) |
JP (1) | JP6172155B2 (ja) |
KR (1) | KR20150065674A (ja) |
CN (1) | CN104662907B (ja) |
AU (1) | AU2013321313B2 (ja) |
BR (1) | BR112015006317A2 (ja) |
CA (1) | CA2885642A1 (ja) |
MX (1) | MX339432B (ja) |
MY (1) | MY186413A (ja) |
RU (1) | RU2639647C2 (ja) |
SG (1) | SG11201502200RA (ja) |
WO (1) | WO2014050675A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016521486A (ja) * | 2013-04-02 | 2016-07-21 | ヴィド スケール インコーポレイテッド | スケーラブルビデオコーディングのための拡張時間的動きベクトル予測 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101861714B1 (ko) | 2010-09-02 | 2018-05-28 | 엘지전자 주식회사 | 영상 부호화 및 복호화 방법과 이를 이용한 장치 |
CA2885408C (en) * | 2012-09-28 | 2021-11-30 | Sony Corporation | Image processing device and method |
US10218644B1 (en) * | 2016-09-21 | 2019-02-26 | Apple Inc. | Redundant communication path transmission |
FI3780616T3 (fi) * | 2018-04-13 | 2024-03-25 | Lg Electronics Inc | Menetelmä ja laite inter-ennustusta varten videonkäsittelyjärjestelmässä |
BR112021000616A2 (pt) * | 2018-09-05 | 2021-04-13 | Panasonic Intellectual Property Corporation Of America | Codificador, decodificador, método de codificação e método de decodificação |
US11418793B2 (en) * | 2018-10-04 | 2022-08-16 | Qualcomm Incorporated | Adaptive affine motion vector coding |
CN111107354A (zh) | 2018-10-29 | 2020-05-05 | 华为技术有限公司 | 一种视频图像预测方法及装置 |
KR102192980B1 (ko) * | 2018-12-13 | 2020-12-18 | 주식회사 픽스트리 | 기계 학습 기반으로 파라미터를 학습하는 영상 처리 장치 및 동작 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010516158A (ja) * | 2007-01-11 | 2010-05-13 | サムスン エレクトロニクス カンパニー リミテッド | 多視点映像の符号化、復号化方法及び装置 |
JP2010525724A (ja) * | 2007-04-25 | 2010-07-22 | エルジー エレクトロニクス インコーポレイティド | ビデオ信号をデコーディング/エンコーディングする方法および装置 |
JP2012182616A (ja) * | 2011-03-01 | 2012-09-20 | Fujitsu Ltd | 動画像復号方法、動画像符号化方法、動画像復号装置、及び動画像復号プログラム |
WO2012124121A1 (ja) * | 2011-03-17 | 2012-09-20 | 富士通株式会社 | 動画像復号方法、動画像符号化方法、動画像復号装置及び動画像復号プログラム |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7133380B1 (en) * | 2000-01-11 | 2006-11-07 | At&T Corp. | System and method for selecting a transmission channel in a wireless communication system that includes an adaptive array |
US7710462B2 (en) * | 2004-12-17 | 2010-05-04 | Mitsubishi Electric Research Laboratories, Inc. | Method for randomly accessing multiview videos |
US8644386B2 (en) * | 2005-09-22 | 2014-02-04 | Samsung Electronics Co., Ltd. | Method of estimating disparity vector, and method and apparatus for encoding and decoding multi-view moving picture using the disparity vector estimation method |
ZA200805337B (en) * | 2006-01-09 | 2009-11-25 | Thomson Licensing | Method and apparatus for providing reduced resolution update mode for multiview video coding |
CN101785317B (zh) * | 2007-08-15 | 2013-10-16 | 汤姆逊许可证公司 | 使用区域视差向量的多视角编码视频中的运动跳过模式的方法和装置 |
WO2010043773A1 (en) * | 2008-10-17 | 2010-04-22 | Nokia Corporation | Sharing of motion vector in 3d video coding |
US9124898B2 (en) * | 2010-07-12 | 2015-09-01 | Mediatek Inc. | Method and apparatus of temporal motion vector prediction |
US9357229B2 (en) * | 2010-07-28 | 2016-05-31 | Qualcomm Incorporated | Coding motion vectors in video coding |
US8755437B2 (en) * | 2011-03-17 | 2014-06-17 | Mediatek Inc. | Method and apparatus for derivation of spatial motion vector candidate and motion vector prediction candidate |
US9247249B2 (en) | 2011-04-20 | 2016-01-26 | Qualcomm Incorporated | Motion vector prediction in video coding |
JP5786478B2 (ja) * | 2011-06-15 | 2015-09-30 | 富士通株式会社 | 動画像復号装置、動画像復号方法、及び動画像復号プログラム |
US20130188717A1 (en) * | 2012-01-20 | 2013-07-25 | Qualcomm Incorporated | Motion prediction in svc using partition mode without split flag |
US9445076B2 (en) * | 2012-03-14 | 2016-09-13 | Qualcomm Incorporated | Disparity vector construction method for 3D-HEVC |
US20130343459A1 (en) * | 2012-06-22 | 2013-12-26 | Nokia Corporation | Method and apparatus for video coding |
US9635356B2 (en) * | 2012-08-07 | 2017-04-25 | Qualcomm Incorporated | Multi-hypothesis motion compensation for scalable video coding and 3D video coding |
WO2014049196A1 (en) * | 2012-09-27 | 2014-04-03 | Nokia Corporation | Method and techniqal equipment for scalable video coding |
US20140085415A1 (en) * | 2012-09-27 | 2014-03-27 | Nokia Corporation | Method and apparatus for video coding |
-
2013
- 2013-09-19 US US14/422,473 patent/US10516894B2/en not_active Expired - Fee Related
- 2013-09-19 RU RU2015109932A patent/RU2639647C2/ru not_active IP Right Cessation
- 2013-09-19 JP JP2014538424A patent/JP6172155B2/ja not_active Expired - Fee Related
- 2013-09-19 CA CA2885642A patent/CA2885642A1/en not_active Abandoned
- 2013-09-19 MY MYPI2015700887A patent/MY186413A/en unknown
- 2013-09-19 CN CN201380049112.XA patent/CN104662907B/zh not_active Expired - Fee Related
- 2013-09-19 MX MX2015003590A patent/MX339432B/es active IP Right Grant
- 2013-09-19 KR KR1020157006899A patent/KR20150065674A/ko not_active Application Discontinuation
- 2013-09-19 EP EP13840430.6A patent/EP2903286A4/en not_active Ceased
- 2013-09-19 SG SG11201502200RA patent/SG11201502200RA/en unknown
- 2013-09-19 BR BR112015006317A patent/BR112015006317A2/pt not_active Application Discontinuation
- 2013-09-19 AU AU2013321313A patent/AU2013321313B2/en not_active Ceased
- 2013-09-19 WO PCT/JP2013/075226 patent/WO2014050675A1/ja active Application Filing
-
2019
- 2019-09-13 US US16/569,668 patent/US10917656B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010516158A (ja) * | 2007-01-11 | 2010-05-13 | サムスン エレクトロニクス カンパニー リミテッド | 多視点映像の符号化、復号化方法及び装置 |
JP2010525724A (ja) * | 2007-04-25 | 2010-07-22 | エルジー エレクトロニクス インコーポレイティド | ビデオ信号をデコーディング/エンコーディングする方法および装置 |
JP2012182616A (ja) * | 2011-03-01 | 2012-09-20 | Fujitsu Ltd | 動画像復号方法、動画像符号化方法、動画像復号装置、及び動画像復号プログラム |
WO2012124121A1 (ja) * | 2011-03-17 | 2012-09-20 | 富士通株式会社 | 動画像復号方法、動画像符号化方法、動画像復号装置及び動画像復号プログラム |
Non-Patent Citations (4)
Title |
---|
GERHARD TECH; KRZYSZTOF WEGNER; YING CHEN; SEHOON YEA: "3D-HEVC Test Model Description draft 1", JCT3V-A1005_DO, JOINT COLLABORATIVE TEAM ON 3D VIDEO CODING EXTENSION DEVELOPMENT OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 1TH MEETING: STOCKHOLM, SE, 16 July 2012 (2012-07-16) |
JICHENG AN ET AL.: "3D-CE5.h related: Inter -view motion prediction for HEVC-based 3D video coding", JOINT COLLABORATIVE TEAM ON 3D VIDEO CODING EXTENSION DEVELOPMENTOF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 111ST MEETING, 10 July 2012 (2012-07-10), STOCKHOLM, SE, XP030054254 * |
See also references of EP2903286A4 |
YOSHIYA YAMAMOTO ET AL.: "3D-CE5.h related: Simplification of AMVP", JOINT COLLABORATIVE TEAM ON 3D VIDEO CODING EXTENSION DEVELOPMENTOF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 111ST MEETING, 11 July 2012 (2012-07-11), STOCKHOLM, SE, XP030130013 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016521486A (ja) * | 2013-04-02 | 2016-07-21 | ヴィド スケール インコーポレイテッド | スケーラブルビデオコーディングのための拡張時間的動きベクトル予測 |
KR101804652B1 (ko) | 2013-04-02 | 2017-12-04 | 브이아이디 스케일, 인크. | 스케일러블 비디오 코딩용의 향상된 시간적 움직임 벡터 예측 |
US10057594B2 (en) | 2013-04-02 | 2018-08-21 | Vid Scale, Inc. | Enhanced temporal motion vector prediction for scalable video coding |
Also Published As
Publication number | Publication date |
---|---|
MX339432B (es) | 2016-05-26 |
CN104662907A (zh) | 2015-05-27 |
CN104662907B (zh) | 2019-05-03 |
SG11201502200RA (en) | 2015-07-30 |
EP2903286A4 (en) | 2016-05-25 |
RU2639647C2 (ru) | 2017-12-21 |
JP6172155B2 (ja) | 2017-08-02 |
MY186413A (en) | 2021-07-22 |
KR20150065674A (ko) | 2015-06-15 |
BR112015006317A2 (pt) | 2017-07-04 |
AU2013321313A1 (en) | 2015-03-26 |
CA2885642A1 (en) | 2014-04-03 |
MX2015003590A (es) | 2015-06-22 |
US20150237365A1 (en) | 2015-08-20 |
US10516894B2 (en) | 2019-12-24 |
AU2013321313B2 (en) | 2016-10-27 |
JPWO2014050675A1 (ja) | 2016-08-22 |
US10917656B2 (en) | 2021-02-09 |
RU2015109932A (ru) | 2016-10-10 |
EP2903286A1 (en) | 2015-08-05 |
US20200007887A1 (en) | 2020-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11245925B2 (en) | Image processing apparatus and image processing method | |
US10075719B2 (en) | Image coding apparatus and method | |
JP6172155B2 (ja) | 画像処理装置および方法 | |
KR102135986B1 (ko) | 화상 처리 장치 및 방법 | |
US10616598B2 (en) | Image processing device and method | |
JP6607414B2 (ja) | 画像符号化装置および方法 | |
MX2015006474A (es) | Dispositivo y metodo de procesamiento de imagenes. | |
WO2014203763A1 (ja) | 復号装置および復号方法、並びに、符号化装置および符号化方法 | |
WO2015005132A1 (ja) | 画像符号化装置および方法、並びに画像復号装置および方法 | |
WO2014097912A1 (ja) | 画像処理装置および方法 | |
JP2015005893A (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: 13840430 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2014538424 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14422473 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2013840430 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 20157006899 Country of ref document: KR Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 2885642 Country of ref document: CA |
|
ENP | Entry into the national phase |
Ref document number: 2015109932 Country of ref document: RU Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: MX/A/2015/003590 Country of ref document: MX |
|
ENP | Entry into the national phase |
Ref document number: 2013321313 Country of ref document: AU Date of ref document: 20130919 Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
REG | Reference to national code |
Ref country code: BR Ref legal event code: B01A Ref document number: 112015006317 Country of ref document: BR |
|
ENP | Entry into the national phase |
Ref document number: 112015006317 Country of ref document: BR Kind code of ref document: A2 Effective date: 20150320 |