WO2017073362A1 - 画像処理装置および方法 - Google Patents
画像処理装置および方法 Download PDFInfo
- Publication number
- WO2017073362A1 WO2017073362A1 PCT/JP2016/080497 JP2016080497W WO2017073362A1 WO 2017073362 A1 WO2017073362 A1 WO 2017073362A1 JP 2016080497 W JP2016080497 W JP 2016080497W WO 2017073362 A1 WO2017073362 A1 WO 2017073362A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- intra prediction
- unit
- prediction
- processing target
- Prior art date
Links
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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- 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/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- 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/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/182—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 a pixel
-
- 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/187—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 a scalable video layer
-
- 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
- H04N19/33—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
-
- 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
- H04N19/36—Scalability techniques involving formatting the layers as a function of picture distortion after decoding, e.g. signal-to-noise [SNR] 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/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 suppressing a reduction in encoding efficiency.
- JCTVC Joint Collaboration Collaboration Team Video Coding
- HEVC High Efficiency Video Coding
- image data in a predetermined encoding unit is processed in raster order, Z order, or the like (see, for example, Non-Patent Document 1).
- the present disclosure has been made in view of such a situation, and is intended to suppress a reduction in encoding efficiency.
- the image processing device sets a plurality of intra prediction modes for a processing target region of an image, performs intra prediction using the plurality of set intra prediction modes, and predicts the processing target region.
- An image processing apparatus comprising: a prediction unit that generates an image; and an encoding unit that encodes the image using the prediction image generated by the prediction unit.
- the prediction unit sets the candidates for the intra prediction mode in a direction from the center of the rectangular processing target region toward each of three or more sides, and selects a plurality of candidates from the candidates and sets them as the intra prediction mode. And the said intra prediction can be performed using the set some said intra prediction mode.
- the prediction unit sets a reference pixel on each of the three or more sides of the processing target region, and uses a reference pixel corresponding to each of the plurality of set intra prediction modes in the reference pixel.
- the intra prediction can be performed.
- the prediction unit sets the intra prediction mode candidates to a direction toward the right side or a direction toward the lower side, or both in addition to a direction toward the upper side and a direction toward the left side from the center of the processing target region,
- the intra prediction can be performed using the plurality of intra prediction modes selected and set from candidates.
- the prediction unit includes a reference pixel located on the right side of the processing target area or the processing target area. It is possible to set the reference pixel or both located on the lower side, and perform the intra prediction using the reference pixel corresponding to each of the set intra prediction modes among the reference pixels.
- the prediction unit can set the reference pixel using a reconstructed image.
- the prediction unit sets a reference pixel located above the processing target region and a reference pixel located on the left side of the processing target region using a reconstructed image of the processed region of the processing target picture. Can do.
- the prediction unit may set a reference pixel located on the right side of the processing target region, a reference pixel located below the processing target region, or both using a reconstructed image of another picture. it can.
- the prediction unit can set a reference pixel located on the right side of the processing target area, a reference pixel located below the processing target area, or both by interpolation processing.
- the prediction unit duplicates or calculates a neighboring pixel according to the position of the pixel to be processed, thereby calculating a reference pixel located on the right side of the processing target region or the processing target region.
- a reference pixel located on the lower side or both can be set.
- the prediction unit can set a reference pixel located on the right side of the processing target region, a reference pixel located below the processing target region, or both by performing inter prediction.
- the prediction unit selects a single candidate from the candidates for the intra prediction mode in the direction from the center of the processing target area toward the upper side or the left side, and sets the selected candidate as a forward intra prediction mode. From the center of the processing target area, Select the candidate for the intra prediction mode in the direction toward the right side, the candidate for the intra prediction mode in the direction toward the lower side of the processing target area, or a single candidate from both, and set it as the backward intra prediction mode.
- the intra prediction can be performed using the set forward intra prediction mode and the backward intra prediction mode.
- the prediction unit includes a reference pixel corresponding to the forward intra prediction mode among a reference pixel positioned above the processing target region and a reference pixel positioned on the right side of the processing target region, and a right side of the processing target region.
- the intra prediction can be performed using a reference pixel corresponding to the backward intra prediction mode, or a reference pixel located below or a reference pixel located below the processing target region, or both.
- the prediction unit performs intra prediction on a partial region of the processing target region using reference pixels corresponding to the forward intra prediction mode, and uses the reference pixels corresponding to the backward intra prediction mode to perform the processing. Intra prediction for other regions of the target region can be performed.
- the prediction unit generates the prediction image by performing a weighting operation on a reference pixel corresponding to the forward intra prediction mode and a reference pixel corresponding to the backward intra prediction mode according to a position of a processing target pixel. can do.
- a generation unit that generates information related to the intra prediction can be further provided.
- the encoding unit can encode a residual image indicating a difference between the image and the predicted image generated by the prediction unit.
- the image processing method sets a plurality of intra prediction modes for a processing target region of an image, performs intra prediction using the plurality of set intra prediction modes, and predicts the processing target region.
- An image processing device uses a decoding unit that decodes encoded data of an image to generate a residual image, and a plurality of intra prediction modes set for the processing target region of the image. Decoding the image using a prediction unit that performs intra prediction and generates a prediction image of the processing target region, the residual image generated by the decoding unit, and the prediction image generated by the prediction unit
- An image processing apparatus includes a generation unit that generates an image.
- the image processing method decodes encoded data of an image to generate a residual image, and performs intra prediction using a plurality of intra prediction modes set for the processing target region of the image.
- This is an image processing method for generating a predicted image of the processing target region and generating a decoded image of the image using the generated residual image and the generated predicted image.
- a plurality of intra prediction modes are set for a processing target region of an image, and intra prediction is performed using the plurality of set intra prediction modes.
- the predicted image is generated, and the image is encoded using the generated predicted image.
- encoded image data is decoded to generate a residual image, and intra prediction is performed using a plurality of intra prediction modes set for the processing target region of the image. Prediction is performed, a predicted image of the processing target region is generated, and a decoded image of the image is generated using the generated residual image and the generated predicted image.
- an image can be processed.
- a reduction in encoding efficiency can be suppressed.
- 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.
- AVC Advanced Video Coding
- encoding processing is executed in processing units (coding units) called CU (Coding Unit).
- the CU is a block having a variable size formed by recursively dividing an LCU (Largest Coding Unit) that is a maximum coding unit.
- the maximum selectable CU size is 64x64 pixels.
- the minimum selectable CU size is 8x8 pixels.
- the minimum size CU is called a SCU (Smallest Coding Unit).
- Prediction processing for predictive coding is executed in a processing unit (prediction unit) called PU (Prediction Unit).
- PU processing unit
- a PU is formed by dividing a CU with one of several division patterns.
- the orthogonal transformation process is executed in a processing unit (transformation unit) called TU (Transform Unit).
- a TU is formed by dividing a CU or PU to a certain depth.
- FIG. 1 is an explanatory diagram for explaining an outline of recursive block division for a CU in HEVC.
- An entire quadtree is called a CTB (Coding Tree Block), and a logical unit corresponding to the CTB is called a CTU (Coding Tree Unit).
- C01 which is a CU having a size of 64 ⁇ 64 pixels
- the division depth of C01 is equal to zero. This means that C01 is the root of the CTU and corresponds to the LCU.
- the LCU size can be specified by a parameter encoded in SPS (Sequence Parameter Set) or PPS (Picture Parameter Set).
- C02 which is a CU is one of four CUs divided from C01 and has a size of 32 ⁇ 32 pixels.
- the division depth of C02 is equal to 1.
- C03 which is a CU, is one of four CUs divided from C02 and has a size of 16 ⁇ 16 pixels.
- the division depth of C03 is equal to 2.
- C04 which is a CU, is one of the four CUs divided from C03 and has a size of 8 ⁇ 8 pixels.
- the division depth of C04 is equal to 3.
- the CU is formed by recursively dividing an image to be encoded.
- the depth of division is variable. For example, a CU having a larger size (that is, a smaller depth) can be set in a flat image region such as a blue sky. On the other hand, a CU having a smaller size (that is, having a large depth) can be set in a steep image area including many edges.
- Each set CU is a processing unit of the encoding process.
- ⁇ Setting of PU to CU> PU is a processing unit of prediction processing including intra prediction and inter prediction.
- a PU is formed by dividing a CU with one of several division patterns.
- FIG. 2 is an explanatory diagram for describing setting of a PU to the CU illustrated in FIG. The right side of FIG. 2 shows eight types of division patterns, 2Nx2N, 2NxN, Nx2N, NxN, 2NxnU, 2NxnD, nLx2N, and nRx2N.
- two types of 2Nx2N and NxN can be selected in intra prediction (NxN can be selected only in the SCU).
- the inter prediction when the asymmetric motion division is enabled, all eight types of division patterns can be selected.
- TU is a processing unit of orthogonal transform processing.
- a TU is formed by dividing a CU (for an intra CU, each PU in the CU) to a certain depth.
- FIG. 3 is an explanatory diagram for explaining the setting of the TU in the CU shown in FIG.
- the right side of FIG. 3 shows one or more TUs that can be set to C02.
- T01 which is a TU
- T02 which is a TU
- T03 which is a TU, has a size of 8 ⁇ 8 pixels
- the depth of the TU division is equal to 2.
- the block division to be performed in order to set the blocks such as CU, PU, and TU described above to an image is typically determined based on a cost comparison that affects coding efficiency. For example, the encoder compares the cost between one 2Mx2M pixel CU and four MxM pixel CUs, and if the encoding efficiency is higher when four MxM pixel CUs are set, the encoder is 2Mx2M pixel CU. Is divided into 4 MxM pixel CUs.
- CTBs or LCUs set in a grid pattern in the image (or slice or tile) are scanned in raster scan order.
- the picture 1 in FIG. 4 is processed for each LCU 2 indicated by a rectangle in the figure. In FIG. 4, only the LCU at the lower right corner is labeled for convenience.
- the picture 1 is divided by a slice boundary 3 indicated by a bold line in the drawing, and two slices are formed.
- the first slice of picture 1 (the upper slice in the figure) is further divided by a slice segment boundary 4 and a slice segment boundary 5 indicated by dotted lines in the figure.
- the first slice segment of picture 1 (four LCUs 2 at the upper left in the figure) is an independent slice segment 6.
- the second slice segment of picture 1 (LCU 2 group between slice segment boundary 4 and slice segment boundary 5 in the figure) is dependent slice segment 7.
- each LCU 2 is processed in raster scan order.
- each LCU 2 is processed in the order shown by the arrow 11. Therefore, for example, if the LCU 2A is a processing target, the LCU 2 indicated by the hatched pattern is the processed LCU at that time.
- CTB or LCU
- CUs are scanned in Z order to follow the quadtree from left to right and from top to bottom.
- FIG. 5 shows the processing order of CUs in two LCUs 2 (LCU 2-1 and LCU 2-2).
- 14 CUs 21 are formed in the LCU 2-1 and the LCU 2-2.
- the CUs 21 are processed in the order indicated by the arrows (Z order). Therefore, for example, if the CU 21A is a processing target, the CU 21 indicated by the hatched pattern is the processed CU at that time.
- ⁇ Reference pixels for intra prediction a pixel (a pixel of a reconstructed image) in a region (a block such as an LCU or a CU) that has been processed in generating a predicted image is referred to. That is, pixels above and to the left of the processing target area (blocks such as LCU and CU) can be referenced, but pixels on the right and bottom cannot be referred to because they have not been processed.
- the pixels of the gray region 32 of the reconstructed image (lower left, left, upper left, upper, and upper right of the processing target region 31) with respect to the processing target region 31.
- Pixel is a candidate for a reference pixel (that is, it can be a reference pixel).
- the lower left pixel and the left pixel of the processing target region 31 are also referred to as the left pixel of the processing target region 31, and the upper pixel and the upper right pixel of the processing target region 31 are also referred to as the upper pixel of the processing target region 31, respectively.
- the upper left pixel of the processing target area 31 may be referred to as the left pixel of the processing target area 31 or may be referred to as the upper pixel of the processing target area 31. Therefore, for example, when the intra prediction mode (prediction direction) is the direction (horizontal direction) indicated by the arrow in the figure, the predicted image (predicted pixel value) of the pixel 33 is the pixel value on the left of the processing target area 31 (in the figure). It is generated with reference to the pixel at the tip of the arrow shown in FIG.
- the region located on the right side of the processing target region 31 and the region located below the unprocessed region 31 are unprocessed and there is no reconstructed image. Therefore, as shown in FIG. 7, although the prediction modes are assigned from “0” to “34”, the direction of the right side or the lower side of the processing target area 31 that is an unprocessed area (the direction toward the lower right corner). Prediction mode is not assigned.
- the pixel 34B adjacent to the pixel 33 (the pixel adjacent to the right side of the processing target region 31) is not referred to.
- the partial area 31A of the processing target area 31 is a diagonal pattern
- the partial area 31B is a horizontal pattern. Therefore, the prediction accuracy of the intra prediction mode in the oblique direction in the drawing tends to be high in the partial region 31A, and the prediction accuracy of the intra prediction mode in the horizontal direction in the drawing tends to increase in the partial region 31B.
- a plurality of intra prediction modes are set for the processing target area of the image, and intra prediction is performed using the set plurality of intra prediction modes, thereby generating a predicted image of the processing target area. That is, a plurality of intra prediction modes can be selected as the optimal prediction mode.
- the arrows 41 to 43 indicate the intra prediction modes selected as the optimum prediction mode.
- the number of intra prediction modes that can be selected as the optimum prediction mode is not limited as long as it is plural, and may be two or four or more.
- the reference pixel may be set at a position where the reference pixel has not been set in intra prediction such as AVC or HEVC.
- the position of the reference pixel is arbitrary as long as it is different from the position of the conventional reference pixel.
- a reference pixel may be set at a position adjacent to the right side of the processing target area (also referred to as a current block), such as the area 51 in FIG. 10, or at a position adjacent to the lower side of the current block. .
- the reference pixel may not be adjacent to the current block. That is, the reference pixel may be set on the right side or the lower side of the current block on which intra prediction is performed.
- the region (block) is an arbitrary region composed of one or a plurality of pixels, for example, TU, PU, CU, SCU, LCU, CTU, CTB, macroblock, sub macroblock, tile, slice, Such as a picture.
- the pixel on the right side of the current block may include a pixel located on the upper right side of the current block in addition to the pixel located on the right side of the current block.
- the pixel below the current block may include a pixel located at the lower left of the current block in addition to the pixel located below the current block.
- the pixel located at the lower right of the current block may be a pixel on the right side of the current block or a pixel below the current block.
- intra prediction can be performed using reference pixels at more various positions.
- reference pixels with higher prediction accuracy can be referred to, reduction in the quality (prediction accuracy) of the predicted image can be suppressed, residual components can be reduced, and encoding can be performed. Reduction in efficiency can be suppressed. That is, the code amount of the bit stream can be reduced. In other words, the image quality of the decoded image can be improved by maintaining the code amount.
- the discontinuous components at the boundaries of the intra prediction block are reduced, so that the image quality of the decoded image can be improved.
- Intra prediction mode candidates are set in a direction from the center of the rectangular processing target area toward each of three or more sides, and a plurality of candidates are selected and set as intra prediction modes (optimal prediction modes). And you may make it perform intra prediction using the reference pixel corresponding to the set some intra prediction mode.
- the reference pixel is set on the side of each of three or more sides of the processing target region, and the intra prediction is performed using the reference pixel corresponding to each of the set intra prediction modes among the reference pixels. It may be.
- intra prediction mode candidates are set in the direction toward the right side, the direction toward the lower side, or both in addition to the direction from the center of the processing target region toward the upper side and the direction toward the left side.
- Intra prediction may be performed using a plurality of intra prediction modes selected and set from the above.
- the reference pixel positioned above the processing target area and the reference pixel positioned on the left side of the processing target area the reference pixel positioned on the right side of the processing target area or the reference positioned below the processing target area Pixels or both may be set, and intra prediction may be performed using reference pixels corresponding to each of a plurality of set intra prediction modes among the reference pixels.
- FIG. 11 shows an example in which candidates for an intra prediction mode are set in the direction from the center of the processing target region toward each of the four sides, and a plurality of intra prediction modes are selected from the candidates.
- three intra prediction modes indicated by arrows 52 to 54 are selected as the optimal prediction modes.
- the prediction directions are more diversified. Therefore, since more various reference pixels can be referred to, more various predicted images can be generated. Thereby, the reduction of the quality (prediction accuracy) of a prediction image can be suppressed, the residual component can be reduced, and the reduction of encoding efficiency can be suppressed. That is, the code amount of the bit stream can be reduced. In other words, the image quality of the decoded image can be improved by maintaining the code amount. Further, since the number of available prediction directions increases, discontinuous components at the boundaries of intra prediction blocks are reduced, so that the image quality of the decoded image can be improved.
- a reference pixel may be generated using an arbitrary pixel (existing pixel) of a reconstructed image that has already been generated by a prediction process.
- This existing pixel may be any pixel as long as it is a pixel of the reconstructed image (that is, a pixel that has undergone prediction processing).
- the existing pixel may be a pixel of a picture to be processed (also referred to as a current picture).
- a current picture also referred to as a current picture
- it may be a pixel located near the reference pixel to be set in the current picture.
- it may be a pixel at the same position as a reference pixel to be set in an image of another component of the current picture, or may be a pixel located in the vicinity of the reference pixel.
- the reference pixel to be set is a luminance component
- the pixel of another component is a pixel of a color difference component.
- the existing pixel may be a pixel of an image of a processed frame (past frame), for example.
- it may be a pixel at the same position as a reference pixel to be set in an image of a past frame different from a processing target frame (also referred to as a current frame), or may be a pixel located in the vicinity of the reference pixel.
- MV motion vector
- the existing pixels may be pixels of images of other views.
- it may be a pixel of the current picture of another view.
- it may be a pixel located in the vicinity of a reference pixel to be set in a current picture of another view.
- it may be a pixel at the same position as a reference pixel to be set in an image of another component of the current picture of another view, or may be a pixel located in the vicinity of the reference pixel.
- the existing pixel may be, for example, a pixel of an image of a past frame of another view.
- it may be a pixel at the same position as a reference pixel to be set in an image of a past frame of another view, may be a pixel located in the vicinity of the reference pixel, or a motion vector (MV)
- MV motion vector
- the existing pixels may be pixels of images of other layers.
- it may be a pixel of a current picture in another layer.
- it may be a pixel located in the vicinity of a reference pixel to be set in a current picture of another layer.
- it may be a pixel at the same position as a reference pixel to be set in an image of another component of the current picture of another layer, or may be a pixel located in the vicinity of the reference pixel.
- the existing pixel may be, for example, a pixel of an image of a past frame of another layer.
- it may be a pixel at the same position as a reference pixel to be set in an image of a past frame of another layer, may be a pixel located in the vicinity of the reference pixel, or a motion vector (MV)
- MV motion vector
- any one or a plurality of pixels are selected from the two or more of the pixels described in (A-1-1) to (A-1-4). It may be used as a pixel.
- the selection method is arbitrary. For example, selectable pixels may be selected according to a predetermined priority order. Further, a pixel may be selected according to a cost function value when each pixel is used as a reference pixel. Further, for example, a pixel may be selected in accordance with an external designation such as a user or control information. Further, a method for selecting (for example, selecting) a pixel to be used as an existing pixel may be set.
- the reference pixel adjacent to the upper side of the processing target area and the reference pixel adjacent to the right side of the processing target area may be set using a reconstructed image of the processed area of the processing target picture. Further, for example, the reference pixel adjacent to the right side of the processing target area, the reference pixel adjacent to the lower side of the processing target area, or both may be set using a reconstructed image of another picture. .
- the reference pixel generation method using the existing pixels as described above is arbitrary.
- the reference pixel may be generated by directly using an existing pixel.
- the pixel value of an existing pixel may be copied (copied) as a reference pixel. That is, in this case, the same number of reference pixels as the existing pixels are generated (in other words, the same number of existing pixels as the reference pixels to be set are used).
- the reference pixel may be generated by indirectly using an existing pixel, for example.
- the reference pixel may be generated by interpolation using an existing pixel. That is, in this case, a larger number of reference pixels are generated than the existing pixels (in other words, a smaller number of existing pixels are used than the reference pixels to be set).
- This interpolation method is arbitrary.
- a reference pixel set based on an existing pixel may be further copied (copied) to set another reference pixel.
- the pixel values of the reference pixels set in this way are the same.
- other reference pixels may be set by linearly converting pixel values of reference pixels set based on existing pixels.
- the pixel value of each reference pixel set in this way is a value corresponding to a function of linear transformation.
- the linear transformation function is arbitrary, and may be linear (for example, a linear function such as proportionality) or a curve (for example, an inversely proportional function or a quadratic or higher function). Also good.
- other reference pixels may be set by nonlinearly converting the pixel values of the reference pixels set based on the existing pixels.
- any one or a plurality of methods may be selected from two or more of the generation methods described above.
- the selection method is arbitrary. For example, it may be selected according to a predetermined priority order. Moreover, you may make it select according to the cost function value at the time of using each method. Further, for example, it may be selected in accordance with designation from the outside such as a user or control information.
- the generation method is set (selected) in this way, information on the setting (selection) (for example, which method is used and parameters necessary for the method used at that time) is sent to the decoding side. You may make it transmit.
- the reference pixel may be generated by inter prediction. For example, inter prediction is performed on a part of a region within a certain processing target region (current block), and then intra prediction is performed on another region. Then, a reference pixel used for intra prediction (a reference pixel at a position not set in intra prediction such as AVC or HEVC) is set using a reconstructed image generated using a prediction image of inter prediction. Such a prediction process is also called an inter destination intra prediction process.
- both the various methods using the existing pixels described above in (A) and (B) and the method for generating the inter prediction may be used in combination.
- some reference pixels may be generated using existing pixels, and other reference pixels may be generated by inter prediction.
- any one (single or plural methods) of the various methods described in (A) and (B) may be selected.
- the selection method is arbitrary. For example, it may be selected according to a predetermined priority order. Moreover, you may make it select according to the cost function value at the time of using each method. Further, for example, it may be selected in accordance with designation from the outside such as a user or control information.
- setting (selecting) a reference pixel generation method in this way, information on the setting (selection) (for example, which method is used, parameters necessary for the method used at that time), You may make it transmit to the decoding side.
- a reference pixel located on the right side of the processing target area, a reference pixel located on the lower side of the processing target area, or both may be set by interpolation processing.
- a reference pixel located on the right side of the processing target region, a reference pixel located below the processing target region, or both are weighted according to the position of the processing target pixel by duplicating nearby pixels. You may make it set by.
- a reference pixel located on the right side of the processing target area, a reference pixel located on the lower side of the processing target area, or both may be set by performing inter prediction.
- the selection method of the several intra prediction mode mentioned above is arbitrary.
- the number of intra prediction modes that can be selected as the optimum mode may be variable or fixed (may be determined in advance). If variable, information indicating the number may be transmitted to the decoding side.
- the number of intra prediction mode candidates (prediction direction range) may be limited. This restriction may be fixed or variable. If variable, information regarding the restriction (for example, information indicating the number or range) may be transmitted to the decoding side. In addition, at least a part of the range of candidates for each intra prediction mode may not overlap. The setting of this range may be fixed or variable. If variable, information regarding this range may be transmitted to the decoding side.
- a single candidate is selected from the candidates for the intra prediction mode in the direction from the center of the processing target region toward the upper side or the left side, and is set as the forward intra prediction mode, and the intra in the direction from the center of the processing target region to the right side is selected.
- a single candidate may be selected from the prediction mode candidates, the intra prediction mode candidates in the direction toward the lower side of the processing target region, or both, and set as the backward intra prediction mode.
- intra prediction may be performed using the set forward intra prediction mode and backward intra prediction mode.
- the intra prediction mode (candidate) may be a direction from a position other than the center of the processing target region toward each side.
- the position is arbitrary. For example, it may be the center of gravity or the intersection of diagonal lines.
- Intra prediction may be performed using reference pixels corresponding to the backward intra prediction mode in the reference pixels located below the target region or both.
- the forward intra prediction mode (fw) and the backward intra prediction mode (bw) are set for the processing target region 31.
- the forward intra prediction mode (fw) is a single intra prediction mode selected as an optimal prediction mode from a group of intra prediction modes in a direction toward the upper side or the left side of the processing target region 31.
- the backward intra prediction mode (bw) is a candidate group of intra prediction modes in the direction toward the right side of the processing target region 31, or a candidate group of intra prediction modes in the direction toward the lower side of the processing target region 31, or both of them. This is a single intra prediction mode selected as the optimal prediction mode from the candidate group.
- the forward intra prediction mode (fw) and the backward intra prediction mode (bw) may be set independently of each other. And intra prediction about the process target area
- region 31 is performed using such forward intra prediction mode (fw) and back intra prediction mode (bw).
- a prediction image is generated by referring to a reference pixel in a region 32 including a reference pixel adjacent to the upper side of the processing target region 31 and a reference pixel adjacent to the left side. Is done.
- a reference image in a region 51 including a reference pixel adjacent to the right side of the processing target region 31 and a reference pixel adjacent to the lower side is referred to as a predicted image. Is generated.
- a prediction image is generated using reference pixels in two prediction directions that are independent from each other in one processing target region 31. Can be generated. Therefore, in this case, even if the pattern of the processing target area 31 is as in the example of FIG. 8, as shown in FIG. A predicted image can be generated using the mode (arrow 61), and a predicted image can be generated using the horizontal backward intra prediction mode (arrow 62) in the drawing for the partial region 31B having a horizontal line pattern. . Therefore, it is possible to suppress a reduction in prediction accuracy of the prediction image, and it is possible to suppress a reduction in encoding efficiency.
- FIG. 14 is a diagram illustrating an example of an index in the intra prediction mode in this case.
- Each arrow in the figure indicates a candidate for the intra prediction mode, and the number after that indicates the index.
- the intra prediction mode is specified using this index.
- the forward intra prediction mode is selected from the candidates for the intra prediction mode in the direction toward the upper side or the left side of the processing target region. That is, the forward intra prediction mode is selected from the intra prediction modes in the range indicated by the double-headed arrow 63 in FIG. As shown in FIG. 14, since this range matches the index range of the intra prediction mode, the forward intra prediction mode can be specified in accordance with the intra prediction mode index of FIG.
- the index “(fw) 10” of the forward intra prediction mode indicates the forward intra prediction mode (arrow 65) in the direction of the index “10” of the intra prediction mode.
- the index “(fw) 26” of the forward intra prediction mode indicates the forward intra prediction mode (indicated by the arrow 66) in the direction of the index “26” of the intra prediction mode.
- the forward intra prediction mode can be specified by indexes “0” to “34”.
- the backward intra prediction mode is selected from the candidates for the intra prediction mode in the direction toward the right side or the lower side of the processing target region. That is, the backward intra prediction mode is selected from the intra prediction modes in the range of the double arrow 64 in FIG. As shown in FIG. 14, since this range is the reverse direction (180 degree opposite direction) of the index range of the intra prediction mode (the range of the forward intra prediction mode), the backward intra prediction mode is the intra prediction mode of FIG. You can specify the mode index in the reverse direction.
- the backward intra prediction mode index “(bw) 5” indicates the backward intra prediction mode (arrow 67) in the reverse direction to the intra prediction mode index “5”.
- the index “(bw) 10” in the backward intra prediction mode indicates the backward intra prediction mode (arrow 68) in the reverse direction to the index “10” in the intra prediction mode.
- the index “(bw) 18” in the backward intra prediction mode indicates the backward intra prediction mode (arrow 69) in the reverse direction to the index “18” in the intra prediction mode.
- the backward intra prediction mode can also be specified by indexes “0” to “34”.
- This index is transmitted to the decoding side as prediction information.
- the code amount increases. Therefore, an increase in the index value can be suppressed by limiting the number of candidates for each intra prediction mode.
- the prediction direction that can be designated as the optimum mode can be increased. That is, by setting the index of each intra prediction mode as described above, it is possible to increase the number of intra prediction modes designated as the optimum mode without increasing the index value. Furthermore, the prediction mode (prediction direction) candidates can also be increased. Therefore, a reduction in encoding efficiency can be suppressed.
- the processing target area may be divided into a plurality of partial areas, and the intra prediction mode used in each partial area may be designated.
- information for example, an index or the like
- the size and shape of each partial area are arbitrary, and the partial areas do not have to be unified.
- the partial region may be composed of a single pixel or a plurality of pixels.
- this partial area may be determined in advance or may be set.
- the method of setting the partial area is arbitrary. For example, it may be performed based on an external designation such as a user or control information, may be performed based on a cost function value, or may be performed based on the characteristics of the input image. It may be.
- a plurality of setting method candidates prepared in advance may be selected and used.
- information on the set partial area for example, information indicating the position, shape, size, etc. of each partial area
- information on the setting of the partial area for example, determined by any method
- Information indicating whether or not it has been performed may be transmitted to the decoding side.
- intra prediction for a part of the processing target region is performed using reference pixels corresponding to the forward intra prediction mode. It is also possible to perform intra prediction for other regions of the processing target region using reference pixels corresponding to the backward intra prediction mode.
- intra prediction also referred to as forward prediction
- intra prediction for setting the forward intra prediction mode is performed on the upper left partial area 71 of the processing target area 31, and the lower right partial area 72 of the processing target area 31 is set.
- intra prediction also referred to as backward prediction
- the forward intra prediction mode is used to generate a prediction image of the partial region 71
- the backward intra prediction mode is used to generate a prediction image of the partial region 72.
- each intra prediction mode may be mixed (synthesized) and used.
- the intra prediction mode mixing method is arbitrary. For example, when generating each pixel of the predicted image, an average value, a median value, or the like of the reference pixels corresponding to each intra prediction mode may be used, or each weighting calculation according to the pixel position or the like may be used. You may make it mix the pixel value of the reference pixel which intra prediction mode shows.
- the forward intra prediction mode and the backward intra prediction mode are set as the optimal modes
- the reference pixels corresponding to the forward intra prediction mode may be mixed and used by weighting calculation.
- the predicted image (predicted pixel value) of the processing target pixel (x, y) in the processing target region is the pixel value pf (x, x) of the reference pixel corresponding to the forward intra prediction mode obtained by forward prediction.
- y and the pixel value pb (x, y) of the reference pixel corresponding to the backward intra prediction mode obtained by backward prediction using a weighting factor corresponding to the pixel position (x, y) Is produced by mixing.
- each pixel value p (x, y) of the predicted image can be obtained as in the following formula (1), for example.
- wf (x, y) indicates the weighting factor of the reference pixel corresponding to the forward intra prediction mode.
- the weighting coefficient wf (x, y) can be obtained as shown in the following equation (2), for example, as shown on the left side of FIG.
- L indicates the maximum value of the x coordinate and the y coordinate.
- the value of the weighting coefficient wf (x, y) at each pixel position is as shown in the table on the left of FIG.
- wb (x, y) indicates the weighting factor of the reference pixel corresponding to the backward intra prediction mode.
- the weighting factor wb (x, y) can be obtained as shown in the following equation (3), for example, as shown on the right side of FIG.
- L indicates the maximum value of the x coordinate and the y coordinate.
- the value of the weighting factor wb (x, y) at each pixel position is as shown in the table on the right side of FIG.
- This mixing method may be determined in advance or may be set.
- the setting method is arbitrary. For example, it may be set based on a predetermined priority order, may be set based on an external designation such as a user or control information, or may be based on a cost function value or the like. It may be set, or may be set based on the characteristics of the input image. In this case, information regarding the setting of the mixing method (for example, information indicating what method has been determined) may be transmitted to the decoding side.
- the weighting of the weighting calculation may be performed based on arbitrary information without being limited to the pixel position. For example, it may be performed based on the pixel value of the input image.
- any one or a plurality of methods may be selected and used from the methods described above in (D) to (F).
- the selection method is arbitrary. For example, it may be selected based on a predetermined priority order, may be selected based on an external designation such as a user or control information, or may be based on a cost function value or the like. It may be selected, or may be selected based on the characteristics of the input image. In this case, information related to the selection (for example, information indicating how the method is determined) may be transmitted to the decoding side.
- FIG. 18 is a block diagram illustrating an example of a configuration of an image encoding device that is an aspect of an image processing device to which the present technology is applied.
- the image encoding device 100 illustrated in FIG. 18 encodes moving image image data using, for example, HEVC prediction processing or prediction processing according to (or similar to) a method similar thereto.
- FIG. 18 shows main components such as a processing unit and a data flow, and the ones shown in FIG. 18 are not limited to all. That is, in the image encoding apparatus 100, there may be a processing unit not shown as a block in FIG. 18, or there may be a process or data flow not shown as an arrow or the like in FIG.
- the image encoding device 100 includes a screen rearrangement buffer 111, a calculation unit 112, an orthogonal transformation unit 113, a quantization unit 114, a lossless encoding unit 115, an additional information generation unit 116, a storage buffer 117, An inverse quantization unit 118 and an inverse orthogonal transform unit 119 are included.
- the image coding apparatus 100 includes a calculation unit 120, a loop filter 121, a frame memory 122, an intra prediction unit 123, an inter prediction unit 124, an inter destination intra prediction unit 125, a predicted image selection unit 126, and a rate control unit 127. Have.
- the screen rearrangement buffer 111 stores the images of the frames of the input image data in the display order, and the images of the frames in the stored display order are encoded for encoding according to GOP (Group Of Picture). The images are rearranged in the order of the frames, and the image in which the order of the frames is rearranged is supplied to the calculation unit 112. Further, the screen rearrangement buffer 111 also supplies the images in which the order of the frames is rearranged to the intra prediction unit 123 to the inter destination intra prediction unit 125.
- GOP Group Of Picture
- the calculation unit 112 subtracts the prediction image supplied from any of the intra prediction unit 123 to the inter destination intra prediction unit 125 via the prediction image selection unit 126 from the image read from the screen rearrangement buffer 111,
- the difference information (residual data) is supplied to the orthogonal transform unit 113.
- the calculation unit 112 subtracts the prediction image supplied from the intra prediction unit 123 from the image read from the screen rearrangement buffer 111.
- the calculation unit 112 subtracts the prediction image supplied from the inter prediction unit 124 from the image read from the screen rearrangement buffer 111.
- the calculation unit 112 subtracts the prediction image supplied from the inter destination intra prediction unit 125 from the image read from the screen rearrangement buffer 111.
- the orthogonal transform unit 113 performs orthogonal transform such as discrete cosine transform and Karhunen-Loeve transform on the residual data supplied from the computing unit 112.
- the orthogonal transform unit 113 supplies the residual data after the orthogonal transform to the quantization unit 114.
- the quantization unit 114 quantizes the residual data after orthogonal transformation supplied from the orthogonal transformation unit 113.
- the quantization unit 114 sets a quantization parameter based on the information regarding the target value of the code amount supplied from the rate control unit 127, and performs the quantization.
- the quantization unit 114 supplies the quantized residual data to the lossless encoding unit 115.
- the lossless encoding unit 115 encodes the quantized residual data using an arbitrary encoding method, and generates encoded data (also referred to as an encoded stream).
- Examples of the encoding method of the lossless encoding unit 115 include variable length encoding or arithmetic encoding.
- Examples of variable length coding include H.264.
- CAVLC Context-Adaptive Variable Length Coding
- a TR code is used for the coefficient information data syntax processing called coeff_abs_level_remaining.
- Examples of arithmetic coding include CABAC (Context-Adaptive Binary Arithmetic Coding).
- the lossless encoding unit 115 supplies various types of information to the additional information generation unit 116 in order to make information (additional information) added to the encoded data.
- the lossless encoding unit 115 may supply information related to an input image or encoding added to the input image or the like to the additional information generation unit 116 in order to make additional information.
- the lossless encoding unit 115 supplies information added to the residual data in the orthogonal transform unit 113, the quantization unit 114, and the like to the additional information generation unit 116 in order to make additional information. Good.
- the lossless encoding unit 115 acquires information related to intra prediction, inter prediction, inter inter prediction, or the like from the predicted image selection unit 126, and supplies the information to the additional information generation unit 116 in order to use it as additional information. You may make it do.
- the lossless encoding unit 115 acquires arbitrary information from other processing units such as the loop filter 121 and the rate control unit 127, and supplies it to the additional information generation unit 116 in order to use it as additional information. May be.
- the lossless encoding unit 115 may supply information generated by itself to the additional information generation unit 116 in order to make it additional information.
- the lossless encoding unit 115 adds various types of additional information generated by the additional information generation unit 116 to the encoded data. Then, the lossless encoding unit 115 supplies the encoded data to the accumulation buffer 117 for accumulation.
- the additional information generation unit 116 generates information (additional information) to be added to the encoded data of the image data (residual data).
- This additional information may be any information.
- the additional information generation unit 116 includes, as additional information, a video parameter set (VPS (Video Parameter Set)), a sequence parameter set (SPS (Sequence Parameter Set)), a picture parameter set (PPS (Picture Parameter Set)), and a slice. Information such as a header may be generated.
- the additional information generation unit 116 generates information to be added to the encoded data for each arbitrary data unit such as a slice, tile, LCU, CU, PU, TU, macro block, sub macro block, and the like as additional information. You may make it do.
- the additional information generation unit 116 may generate information such as SEI (Supplemental / Enhancement / Information) and VUI (Video / Usability / Information) as additional information.
- SEI Supplemental / Enhancement / Information
- VUI Video / Usability / Information
- the additional information generation unit 116 may generate other information as additional information.
- the additional information generation unit 116 may generate additional information using information supplied from the lossless encoding unit 115, for example. Further, the additional information generation unit 116 may generate additional information using information generated by itself, for example.
- the additional information generation unit 116 supplies the generated additional information to the lossless encoding unit 115 and adds it to the encoded data.
- the accumulation buffer 117 temporarily holds the encoded data supplied from the lossless encoding unit 115.
- the accumulation buffer 117 outputs the held encoded data to the outside of the image encoding device 100 at a predetermined timing. That is, the accumulation buffer 117 is also a transmission unit that transmits encoded data.
- the quantized residual data obtained in the quantization unit 114 is also supplied to the inverse quantization unit 118.
- the inverse quantization unit 118 performs inverse quantization on the quantized residual data by a method corresponding to the quantization performed by the quantization unit 114.
- the inverse quantization unit 118 supplies residual data after orthogonal transform obtained by the inverse quantization to the inverse orthogonal transform unit 119.
- the inverse orthogonal transform unit 119 performs inverse orthogonal transform on the residual data after the orthogonal transform by a method corresponding to the orthogonal transform processing by the orthogonal transform unit 113.
- the inverse orthogonal transform unit 119 supplies the output (restored residual data) subjected to inverse orthogonal transform to the computation unit 120.
- the calculation unit 120 supplies the restored residual data supplied from the inverse orthogonal transform unit 119 from the intra prediction unit 123, the inter prediction unit 124, or the inter destination intra prediction unit 125 via the predicted image selection unit 126.
- the predicted images to be added are added to obtain a locally reconstructed image (hereinafter also referred to as a reconstructed image).
- the reconstructed image is supplied to the loop filter 121, the intra prediction unit 123, and the inter destination intra prediction unit 125.
- the loop filter 121 appropriately performs a loop filter process on the decoded image supplied from the calculation unit 120.
- the contents of this loop filter processing are arbitrary.
- the loop filter 121 may perform deblocking filter processing on the decoded image to remove deblocking distortion.
- the loop filter 121 may perform image quality improvement by performing an adaptive loop filter process using a Wiener filter.
- the loop filter 121 performs sample adaptive offset (SAO (Sample Adaptive Offset)) processing to reduce linking caused by the motion compensation filter and to correct pixel value deviation that may occur on the decoding screen. By doing so, the image quality may be improved.
- filter processing other than these may be performed.
- a plurality of filter processes may be performed.
- the loop filter 121 can supply information such as filter coefficients used for the filter processing to the lossless encoding unit 115 and encode it as necessary.
- the loop filter 121 supplies a reconstructed image (also referred to as a decoded image) appropriately subjected to filter processing to the frame memory 122.
- the frame memory 122 stores the supplied decoded image, and supplies the stored decoded image as a reference image to the inter prediction unit 124 and the inter destination intra prediction unit 125 at a predetermined timing.
- the intra prediction unit 123 performs intra prediction (intra-screen prediction) that generates a predicted image using pixel values in a processing target picture that is a reconstructed image supplied as a reference image from the calculation unit 120.
- the intra prediction unit 123 performs this intra prediction in a plurality of intra prediction modes prepared in advance.
- the intra prediction unit 123 generates a prediction image in all candidate intra prediction modes, evaluates the cost function value of each prediction image using the input image supplied from the screen rearrangement buffer 111, and selects the optimum mode. select.
- the intra prediction unit 123 selects the optimal intra prediction mode, the prediction image generated in the optimal intra prediction mode, intra prediction mode information that is information related to intra prediction such as an index indicating the optimal intra prediction mode, and the like. Then, the cost function value of the optimal intra prediction mode and the like are supplied to the predicted image selection unit 126.
- the inter prediction unit 124 performs inter prediction processing (motion prediction processing and compensation processing) using the input image supplied from the screen rearrangement buffer 111 and the reference image supplied from the frame memory 122. More specifically, the inter prediction unit 124 performs motion compensation processing according to the motion vector detected by performing motion prediction as the inter prediction processing, and generates a prediction image (inter prediction image information). The inter prediction unit 124 performs such inter prediction in a plurality of inter prediction modes prepared in advance.
- the inter prediction unit 124 generates a prediction image in all candidate inter prediction modes.
- the inter prediction unit 124 evaluates the cost function value of each prediction image using the input image supplied from the screen rearrangement buffer 111 and information on the generated differential motion vector, and selects an optimal mode.
- the inter prediction mode is information related to inter prediction such as a prediction image generated in the optimal inter prediction mode, an index indicating the optimal inter prediction mode, and motion information.
- Information, the cost function value of the optimal inter prediction mode, and the like are supplied to the predicted image selection unit 126.
- the inter destination intra prediction unit 125 is an aspect of a prediction unit to which the present technology is applied.
- the inter destination intra prediction unit 125 uses the input image supplied from the screen rearrangement buffer 111, the reconstructed image supplied as a reference image from the calculation unit 120, and the reference image supplied from the frame memory 122. Performs the intra prediction process.
- Inter-destination intra prediction processing refers to inter prediction for a part of the image processing target area, sets reference pixels using a reconstructed image corresponding to the prediction image generated by the inter prediction, and sets the processing target. This is a process of performing intra prediction using the set reference pixels for other regions.
- the inter destination intra prediction unit 125 performs such processing in a plurality of modes, and selects an optimal inter destination intra prediction mode based on the cost function value.
- the inter destination intra prediction unit 125 selects the optimal inter destination intra prediction mode, the inter destination intra prediction mode, the inter destination intra prediction mode information that is information related to the inter destination intra prediction,
- the cost function value of the optimal inter destination intra prediction mode is supplied to the predicted image selection unit 126.
- the prediction image selection unit 126 controls the prediction processing (intra prediction, inter prediction, inter destination intra prediction) by the intra prediction unit 123 to the inter destination intra prediction unit 125. More specifically, the prediction image selection unit 126 sets the CTB structure (CU in the LCU) and PU, and performs control related to prediction processing in these regions (blocks).
- the prediction image selection unit 126 controls the intra prediction unit 123 to the inter destination intra prediction unit 125 to cause each of them to execute the prediction processing on the processing target region, and predict the prediction result from each. Get information about.
- the predicted image selection unit 126 selects a prediction mode in the region by selecting any one of them.
- the predicted image selection unit 126 supplies the predicted image of the selected mode to the calculation unit 112 and the calculation unit 120. Further, the predicted image selection unit 126 supplies the prediction information of the selected mode and information (block information) regarding the setting of the block to the lossless encoding unit 115.
- the rate control unit 127 controls the rate of the quantization operation of the quantization unit 114 based on the code amount of the encoded data stored in the storage buffer 117 so that overflow or underflow does not occur.
- FIG. 19 is a block diagram illustrating a main configuration example of the inter destination intra prediction unit 125. As illustrated in FIG. 19, the inter destination intra prediction unit 125 includes an inter prediction unit 131 and a multi-directional intra prediction unit 132.
- the inter prediction unit 131 performs processing related to inter prediction for a part of the processing target area.
- a part of the area where the inter prediction is performed is also referred to as an inter area.
- the inter prediction unit 131 acquires an input image from the screen rearrangement buffer 111 and acquires a reference image from the frame memory 122
- the inter prediction unit 131 performs inter prediction on the inter region using each of them, and performs inter prediction images of each divided pattern and each mode. And inter prediction information is generated.
- the inter area in the processing target area is set according to the division pattern of the processing target area.
- the inter prediction unit 131 performs inter prediction on the inter areas of all the divided patterns, and generates a prediction image (and prediction information), respectively.
- the inter prediction unit 131 calculates a cost function value for each division pattern and each mode.
- This cost function is arbitrary.
- the inter prediction unit 131 may perform RD optimization. In RD optimization, the method with the lowest RD cost is selected.
- the RD cost can be obtained by, for example, the following formula (4).
- J is the RD cost.
- D indicates the amount of distortion, and the sum of square errors (SSE: SumSEof Square Error) with the input image is often used.
- R indicates the number of bits in the bit stream for the block (corresponding to a bit rate when converted per time).
- ⁇ is a Lagrange coefficient in the Lagrange multiplier method.
- the inter prediction unit 131 selects an optimum mode for each division pattern based on the cost function value. For example, the inter prediction unit 131 selects a mode with the smallest RD cost for each division pattern.
- the inter prediction unit 131 supplies information on the selected mode to the predicted image selection unit 126. For example, the inter prediction unit 131 supplies the inter prediction image of the optimal mode, the inter prediction information, and the cost function value of each division pattern to the prediction image selection unit 126.
- the multi-directional intra prediction unit 132 performs intra prediction using a reference pixel corresponding to each of a plurality of intra prediction modes to generate a predicted image.
- intra prediction is also referred to as multi-directional intra prediction.
- generated by this multi-directional intra prediction is also called a multi-directional intra prediction image.
- the prediction information composed of information on the multi-directional intra prediction is also referred to as multi-directional intra prediction information.
- the multi-directional intra prediction unit 132 performs multi-directional intra prediction on the remaining area in the processing target area.
- the remaining area where the multi-directional intra prediction is performed is also referred to as an intra area.
- the multi-directional intra prediction unit 132 acquires an input image from the screen rearrangement buffer 111 and acquires a reconstructed image from the calculation unit 120.
- This reconstructed image includes a reconstructed image of an inter region of the processing target region in addition to a reconstructed image of a past processing target region (a region where prediction processing, encoding, or the like has been performed).
- the multi-directional intra prediction unit 132 performs multi-directional intra prediction on the inter region using the information.
- Multi-directional intra prediction can be performed by various methods as described above in the first embodiment. Any of these various methods may be applied.
- the forward intra prediction mode (fw) and the backward intra prediction mode (bw) are set as the optimum modes for the processing target region, and a prediction image is generated using them. Will be described.
- the multi-directional intra prediction unit 132 generates a multi-directional intra-predicted image, multi-directional intra-prediction information, and a cost function value in the optimum mode of each division pattern. Then, the multi-directional intra prediction unit 132 supplies the information to the predicted image selection unit 126.
- the predicted image selection unit 126 acquires information supplied from the inter prediction unit 131 and the multi-directional intra prediction unit 132 as information related to the inter destination intra prediction.
- the prediction image selection unit 126 includes the inter prediction image of the optimum mode of each division pattern supplied from the inter prediction unit 131 and the multi-directional intra prediction of the optimum mode of each division pattern supplied from the multi-direction intra prediction unit 132.
- An image is acquired as an inter-destination inter-predicted image in the optimum mode of each divided pattern.
- the predicted image selection unit 126 includes the inter prediction information of the optimum mode of each division pattern supplied from the inter prediction unit 131 and the multiple directions of the optimum mode of each division pattern supplied from the multi-directional intra prediction unit 132.
- Intra prediction information is acquired as inter-destination inter prediction information in the optimum mode of each divided pattern.
- the predicted image selection unit 126 includes the cost function value of the optimum mode of each division pattern supplied from the inter prediction unit 131 and the cost function of the optimum mode of each division pattern supplied from the multi-directional intra prediction unit 132. Value is obtained as the cost function value of the optimum mode of each divided pattern.
- FIG. 20 is a block diagram illustrating a main configuration example of the multi-directional intra prediction unit 132.
- the multi-directional intra prediction unit 132 includes a reference pixel setting unit 141, a predicted image generation unit 142, a mode selection unit 143, a cost function calculation unit 144, and a mode selection unit 145.
- the reference pixel setting unit 141 performs processing related to setting of reference pixels.
- the reference pixel setting unit 141 acquires a reconstructed image from the calculation unit 120 and uses it to set reference pixel candidates for a region where multi-directional intra prediction is performed.
- the predicted image generation unit 142 performs processing related to generation of an intra predicted image. For example, the predicted image generation unit 142 uses the reference pixels set by the reference pixel setting unit 141 to generate intra prediction images of all modes of all divided patterns for each of the forward intra prediction mode and the backward intra prediction mode. The prediction image generation unit 142 supplies the mode selection unit 143 with the generated intra prediction images of all the divided patterns in each direction (each of the forward intra prediction mode and the backward intra prediction mode).
- the predicted image generation unit 142 acquires information specifying the three modes selected by the mode selection unit 143 from the mode selection unit 143 for all divided patterns in each direction. Based on the information, the prediction image generation unit 142 performs multi-directional intra prediction images for all combinations (9 types) of the three modes of the forward intra prediction mode and the backward intra prediction mode selected by the mode selection unit 143. Multi-directional intra prediction information is generated. The predicted image generation unit 142 supplies the cost function calculation unit 144 with the nine-direction (9 types) multi-directional intra-predicted images and multi-directional intra-prediction information generated for each division pattern.
- the mode selection unit 143 acquires the input image from the screen rearrangement buffer 111. In addition, the mode selection unit 143 acquires an intra prediction image of all modes of all the division patterns in each direction from the prediction image generation unit 142. The mode selection unit 143 obtains an error between the predicted image and the input image for all divided patterns in each direction, and selects three modes with small errors as candidate modes. The mode selection unit 143 supplies information specifying the selected three modes to the predicted image generation unit 142 for all divided patterns in each direction.
- the cost function calculation unit 144 acquires an input image from the screen rearrangement buffer 111. In addition, the cost function calculation unit 144 acquires the 9-mode multi-directional intra-predicted image and multi-directional intra-prediction information of all the divided patterns from the predicted image generating unit 142. The cost function calculation unit 144 obtains a cost function value (for example, RD cost) for each of the nine modes of all division patterns using them. The cost function calculation unit 144 supplies the mode selection unit 145 with the 9-mode multi-directional intra prediction images, multi-directional intra prediction information, and cost function values of all the division patterns.
- RD cost cost function value
- the mode selection unit 145 acquires, from the cost function calculation unit 144, the nine-mode multi-directional intra prediction images, multi-directional intra prediction information, and cost function values of all division patterns.
- the mode selection unit 145 selects an optimal mode based on the cost function value. For example, in the case of RD cost, the mode selection unit 145 selects the mode with the lowest cost.
- the mode selection unit 145 performs such mode selection for all division patterns.
- the mode selection unit 145 supplies the prediction image selection unit 126 with the multi-directional intra prediction image, the multi-directional intra prediction information, and the cost function value of the optimal mode of each division pattern. .
- FIG. 21 is a block diagram illustrating a main configuration example of the predicted image selection unit 126.
- the predicted image selection unit 126 includes a block setting unit 151, a block prediction control unit 152, a storage unit 153, and a cost comparison unit 154.
- the block setting unit 151 performs processing related to block setting. As described with reference to FIGS. 1 to 3, the blocks are formed in a hierarchical structure (tree structure). The block setting unit 151 sets such a block structure for each LCU.
- the structure of the block may be set by any method. For example, as shown in FIG. 22, it is performed using a cost function value (for example, RD cost).
- RD cost for example, RD cost
- the cost function value is compared between the case where the block is divided and the case where the block is not divided, and the more appropriate structure (the smaller value in the case of RD cost) is selected.
- Information indicating the result of this selection is set as, for example, split_cu_flag.
- split_cu_flag is information indicating whether or not to divide a block.
- the information indicating the selection result is arbitrary, and information other than the split_cu_flag may be included.
- Such processing is recursively repeated from the LCU toward the lower layer, and the block structure is determined in a state where all the blocks are not divided.
- the block setting unit 151 divides the block to be processed into four, and sets a block one layer below.
- the block setting unit 151 supplies division information, which is information regarding the divided blocks, to the block prediction control unit 152.
- the block prediction control unit 152 determines an optimal prediction mode for each block set by the block setting unit 151.
- the determination method of this optimal prediction mode is arbitrary, it is performed using a cost function value (for example, RD cost) as shown, for example in FIG.
- RD cost for example, RD cost
- the RD cost of the optimal mode of each prediction mode is compared, and the prediction of the more appropriate one (the smaller value in the case of RD cost) A mode is selected.
- a division pattern as shown in FIG. 24 is prepared as a division pattern of a block (CU).
- each divided area (partition) is set as a PU.
- 2Nx2N or NxN division patterns can be selected.
- eight patterns shown in FIG. 24 can be selected.
- the eight patterns shown in FIG. 24 can be selected.
- FIG. 23 only a part of the inter-intra-prediction split patterns is shown, but actually, the RD costs of all the split patterns are compared.
- the division pattern is arbitrary and is not limited to this example.
- Information indicating the result of this selection is set as, for example, cu_skip_flag, pred_mode_flag, partition_mode, etc.
- cu_skip_flag is information indicating whether the mode is merge mode
- pred_mode_flag is information indicating the prediction method (whether it is intra prediction, inter prediction, or inter destination intra prediction)
- partition_mode is , Information indicating the division pattern (which is the division pattern of the block).
- the information indicating the result of this selection is arbitrary, and information other than these information may be included.
- the block prediction control unit 152 controls the intra prediction unit 123 to the inter destination intra prediction unit 125 based on the division information acquired from the block setting unit 151, and sets each block set by the block setting unit 151. The prediction process is executed for the block. From the intra prediction unit 123 to the inter destination intra prediction unit 125, information on the optimum mode of each divided pattern of each prediction method is supplied. The block prediction control unit 152 selects an optimum mode from among them based on the cost function value.
- the block prediction control unit 152 supplies the prediction image, the prediction information, and the cost function value of the selected optimum mode of each block to the storage unit 153. Note that information indicating the result of the selection described above, division information, and the like are included in the prediction information as necessary.
- the storage unit 153 stores various types of information supplied from the block prediction control unit 152.
- the cost comparison unit 154 acquires the cost function value of each block from the storage unit 153, compares the cost function value of the processing target block with the sum of the cost function values of each of the divided blocks one level below, Information indicating a comparison result (in the case of RD cost, which RD cost is smaller) is supplied to the block setting unit 151.
- the block setting unit 151 sets whether to divide the processing target block based on the comparison result by the cost comparison unit 154. That is, the block setting unit 151 sets, for example, information indicating the selection result such as split_cu_flag as block information that is information related to the block structure.
- the block setting unit 151 supplies the block information to the storage unit 153 and stores it.
- the above processing is recursively repeated from the LCU toward the lower layer, so that the block structure in the LCU is set and the optimum prediction mode for each block is selected.
- the prediction image of the optimal prediction mode of each block stored in the storage unit 153 is supplied to the calculation unit 112 and the calculation unit 120 as appropriate. Also, the prediction information and block information of the optimal prediction mode of each block stored in the storage unit 153 are supplied to the lossless encoding unit 115 as appropriate.
- Inter-destination intra prediction allocation> In the case of inter-destination intra prediction, a PU that performs intra prediction and a PU that performs inter prediction are assigned to each division pattern illustrated in FIG. 24 as illustrated in FIG. In the figure, the area indicated by the diagonal line pattern in the upper right and lower left is the PU (inter area) where inter prediction is performed, and the area indicated by the diagonal line pattern in the upper right and lower left is the PU (intra area) where intra prediction is performed. is there.
- the numbers of each PU indicate the processing order. That is, first, inter prediction is performed, and intra prediction (multi-directional intra prediction) is performed using the result as a reference pixel.
- the image encoding device 100 since the image encoding device 100 performs image encoding using the multi-directional intra prediction process, it is possible to suppress a decrease in encoding efficiency as described above in the first embodiment.
- the screen rearrangement buffer 111 stores the images of the frames (pictures) of the input moving image in the order in which the images are displayed. Rearrange in the order of conversion.
- step S102 the intra prediction unit 123 to the predicted image selection unit 126 perform a prediction process.
- step S103 the calculation unit 112 calculates a difference between the input image whose frame order is rearranged by the process of step S101 and the predicted image obtained by the prediction process of step S102. That is, the calculation unit 112 generates residual data between the input image and the predicted image.
- the residual data obtained in this way is reduced in data amount compared to the original image data. Therefore, the data amount can be compressed as compared with the case where the image is encoded as it is.
- step S104 the orthogonal transform unit 113 performs orthogonal transform on the residual data generated by the process in step S103.
- step S105 the quantization unit 114 quantizes the residual data after the orthogonal transform obtained by the process in step S104, using the quantization parameter calculated by the rate control unit 127.
- step S106 the inverse quantization unit 118 inversely quantizes the residual data after quantization generated by the process in step S105 with characteristics corresponding to the characteristics of the quantization.
- step S107 the inverse orthogonal transform unit 119 performs inverse orthogonal transform on the residual data after the orthogonal transform obtained by the process in step S106.
- step S108 the arithmetic unit 120 generates image data of a reconstructed image by adding the prediction image obtained by the prediction process of step S102 to the residual data restored by the process of step S107.
- step S109 the loop filter 121 appropriately performs loop filter processing on the image data of the reconstructed image obtained by the processing in step S108.
- step S110 the frame memory 122 stores the locally decoded image obtained by the process in step S109.
- step S111 the additional information generation unit 116 generates additional information to be added to the encoded data.
- step S112 the lossless encoding unit 115 encodes the quantized residual data obtained by the process of step S105. That is, lossless encoding such as variable length encoding and arithmetic encoding is performed on the residual data after quantization. Further, the lossless encoding unit 115 adds the additional information generated by the process of step S111 to the encoded data.
- step S113 the accumulation buffer 117 accumulates the encoded data obtained by the process in step S112.
- the encoded data stored in the storage buffer 117 is appropriately read as a bit stream and transmitted to the decoding side via a transmission path or a recording medium.
- step S114 the rate control unit 127 performs step S105 so that an overflow or underflow does not occur based on the code amount (generated code amount) of the encoded data or the like accumulated in the accumulation buffer 117 by the process of step S113. Controls the rate of quantization processing.
- step S114 ends, the encoding process ends.
- the block setting unit 151 of the predicted image selection unit 126 sets the processing target layer as the highest layer (ie, LCU) in step S131.
- step S132 the block prediction control unit 152 controls the intra prediction unit 123 to the inter-destination intra prediction unit 125 to perform block prediction processing on the block (that is, LCU) in the processing target hierarchy.
- step S133 the block setting unit 151 sets a block one layer below for each block in the processing target layer.
- step S134 the block prediction control unit 152 controls the intra prediction unit 123 to the inter-destination intra prediction unit 125 to perform block prediction processing for each block one layer below the processing target layer.
- step S135 the cost comparison unit 154 compares the cost of the block in the processing target hierarchy with the sum of the costs of the blocks one hierarchy below that belong to the block.
- the cost comparison unit 154 performs such comparison for each block of the processing target hierarchy.
- step S136 the block setting unit 151 sets whether or not to divide the block of the processing target layer (whether or not to divide) based on the comparison result in step S135. For example, if the RD cost of a block in the processing target hierarchy is smaller than (or is less than or equal to) the total RD cost of each block one level below that block, the block setting unit 151 Set so that no block is split. Conversely, if the RD cost of a block in the processing target hierarchy is equal to or greater than (or is greater than) the total RD cost of each block one layer below that block, the block setting unit 151 determines that the processing target Set to split the blocks in the hierarchy. The block setting unit 151 performs such setting for each block in the processing target hierarchy.
- step S137 the storage unit 153 supplies the stored predicted image of each block of the processing target hierarchy that is not divided to the calculation unit 112 and the calculation unit 120, and also stores the prediction information and block information of each block in a lossless code. To the conversion unit 115.
- step S138 the block setting unit 151 determines whether or not a lower layer than the current processing target layer exists in the block structure of the LCU. That is, when it is set to divide the block of the processing target hierarchy in step S136, the block setting unit 151 determines that there is a lower layer and advances the process to step S139.
- step S139 the block setting unit 151 changes the processing target layer to one layer below.
- the process returns to step S133, and the subsequent processing is repeated for the new processing target hierarchy. That is, each process of step S133 to step S139 is executed for each layer of the block structure.
- step S138 when it is set in step S136 that the block is not divided for all blocks in the processing target hierarchy, the block setting unit 151 determines that there is no lower layer, and advances the process to step S140.
- step S140 the storage unit 153 supplies the prediction image of each block in the lowest layer to the calculation unit 112 and the calculation unit 120, and supplies the prediction information and block information of each block to the lossless encoding unit 115.
- step S140 ends, the prediction process ends, and the process returns to FIG.
- step S134 this block prediction process is executed for each block one layer below the processing target hierarchy. That is, when there are a plurality of blocks one layer below the processing target layer, this block prediction process is executed a plurality of times.
- the intra prediction unit 123 When the block prediction process is started, the intra prediction unit 123 performs the intra prediction process on the processing target block in step S161. This intra prediction process is performed using the same reference pixels as in the case of conventional AVC and HEVC.
- step S162 the inter prediction unit 124 performs inter prediction processing on the processing target block.
- step S163 the inter destination intra prediction unit 125 performs an inter destination intra prediction process on the processing target block.
- step S164 the block prediction control unit 152 compares the cost function values obtained in the processes of steps S161 to S163, and selects a prediction image according to the comparison result. That is, an optimal prediction mode is set.
- step S165 the block prediction control unit 152 generates prediction information for the optimal mode using the prediction information corresponding to the prediction image selected in step S164.
- step S165 When the process of step S165 is finished, the block prediction process is finished, and the process returns to FIG.
- the block prediction control unit 152 sets a division pattern for the processing target CU and assigns a prediction method to each PU in step S181. For example, the block prediction control unit 152 assigns a prediction method as in the example of FIG.
- step S182 the inter prediction unit 131 performs inter prediction in all modes for the inter regions of all divided patterns, obtains cost function values, and selects an optimal mode.
- step S183 the multi-directional intra prediction unit 132 performs multi-directional intra prediction on the intra area of all the divided patterns using the reconstructed image obtained by the process of step S182.
- step S184 the predicted image selection unit 126 uses the processing results in steps S182 and S183 to obtain the inter destination intra predicted image, the inter destination intra prediction information, and the cost function value in the optimum mode for all the division patterns. Generate.
- step S184 When the process of step S184 is completed, the process returns to FIG.
- step S191 the reference pixel setting unit 141 sets a reference pixel for the processing target PU. Then, the predicted image generation unit 142 generates a predicted image in all modes for each direction (each of the forward intra prediction mode and the backward intra prediction mode).
- step S192 the mode selection unit 143 obtains an error between the predicted image obtained by the process in step S191 and the input image for each direction, and selects three modes as candidate modes from the smaller error.
- step S193 the predicted image generation unit 142 performs multi-directional intra prediction for each of the nine modes (9 patterns) obtained by combining the candidate modes in the respective directions selected in the process of step S193, and multi-directional intra-predicted images. And multi-directional intra prediction information.
- step S194 the cost function calculation unit 144 obtains a cost function value (for example, RD cost) for each of the nine modes.
- step S195 the mode selection unit 145 selects the optimum mode based on the cost function value obtained by the process in step S194.
- step S195 ends, the multi-directional intra prediction process ends, and the process returns to FIG.
- intra prediction is assigned to the upper left quarter of the CU (intra region), and inter prediction is assigned to other regions (inter prediction). region).
- each process of inter prediction is performed on the inter area.
- motion prediction M (Motion Estimation)
- motion compensation M (Motion Compensation)
- residual data residual image between the input image and the inter-predicted image
- C in FIG. 31 residual data
- D in FIG. 31 residual data after orthogonal transformation
- E in FIG. 31 quantized residual data obtained in this way is encoded.
- the quantized residual data is inversely quantized (F in FIG. 31).
- the residual data after inverse quantization is subjected to inverse orthogonal transform (G in FIG. 31).
- the inter prediction image is added to the residual data after the inverse orthogonal transform to obtain a reconstructed image of this inter region (H in FIG. 31).
- each process of multi-directional intra prediction is performed on the intra area.
- the inter prediction processing result (reconstructed image) for the inter region is used (A in FIG. 32).
- a reference pixel is set (B in FIG. 32). That is, for the intra region 161, reference pixels (reference pixels on the upper side and the left side of the intra region 161) are set using the reconstructed image of the CU that has already undergone the prediction process. Further, reference pixels (reference pixels on the right side and below the intra region 161) located in the region 163 are set for the intra region 161 using the reconstructed image of the inter region of the CU.
- intra prediction image a prediction image
- residual data residual image
- E in FIG. 32 residual data
- the quantized residual data obtained in this way is encoded.
- the quantized residual data is inversely quantized and inversely orthogonal transformed (F in FIG. 32).
- an intra-predicted image is added to the residual data after inverse orthogonal transform, whereby a reconstructed image of this intra region is obtained (G in FIG. 32).
- the division pattern NxN is performed in the same manner as this 2Nx2N. That is, the upper left PU is set as the intra area, and the remaining PUs are set as the inter area.
- intra prediction is assigned to the upper half of the CU (intra region), and inter prediction is performed to the lower half of the CU. Is assigned (inter area).
- each process of inter prediction is performed on the inter area.
- motion prediction (ME) is performed on this inter area to obtain motion information (A in FIG. 33).
- motion compensation (MC) is performed using the motion information to generate an inter prediction image (B in FIG. 33).
- residual data between the input image and the inter predicted image is obtained (C in FIG. 33).
- the residual data is orthogonally transformed (D in FIG. 33).
- the residual data after orthogonal transformation is quantized (E in FIG. 33).
- the quantized residual data obtained in this way is encoded.
- the quantized residual data is inversely quantized (F in FIG. 33).
- the residual data after inverse quantization is subjected to inverse orthogonal transform (G in FIG. 33).
- the inter prediction image is added to the residual data after the inverse orthogonal transform to obtain a reconstructed image of the inter region (H in FIG. 33).
- the intra area is a rectangle, the intra area is divided into two areas (2a and 2b) as shown in FIG.
- a reference pixel is set.
- reference pixels located in the region 172 reference pixels on the upper side and left side of the intra region 171 can be set using a reconstructed image of a CU that has already undergone prediction processing.
- reference pixels reference pixels below the intra area 171 located in the area 173 indicated by the shaded pattern are inter-predicted in the inter area indicated by the hatched pattern, a reconstructed image has been generated. Can be set using it.
- the reference pixel located in the region 174 may be set by interpolation processing using reconstructed images of neighboring pixels (for example, the pixel 175 and the pixel 176). Further, multi-directional intra prediction may be performed without setting the reference pixel at the position of the region 174 (reference pixel on the right side of the intra region 171).
- the forward intra prediction may be performed using reference pixels (reference pixels on the upper side or the left side of the intra region 171) located in the region 172, as indicated by a bold frame in FIG. 36A.
- reference pixels reference pixels on the upper side or the left side of the intra region 171 located in the region 172, as indicated by a bold frame in FIG. 36A.
- the reference pixel instead of the reference pixel located in the lower left part of the intra region 171 of the region 172, the reference pixel (part of the intra region 171) located in a part of the region 173 The lower reference pixel) may be used for forward intra prediction.
- the backward intra prediction is performed by referring to a reference pixel located in a part of the region 172 and a reference pixel located in the region 173 (on the left side or lower side of the intra region 172, as indicated by a bold frame in FIG. 36B).
- Reference pixel may be used.
- a part of the region 172 (a reference pixel on the upper side of the intra region 171) is used for backward intra prediction instead of the reference pixel at the upper left of the intra region 171. May be.
- reference pixels are set for each of the forward intra prediction and the backward intra prediction. That is, as shown in FIG. 37, the range of forward intra prediction prediction mode candidates is limited as indicated by a double arrow 177, and the range of backward intra prediction prediction mode candidates is limited as indicated by a double arrow 178. It may be.
- an index similar to the HEVC intra prediction is assigned to the forward intra prediction mode.
- the index indicating the forward intra prediction mode (arrow 181) in the direction of the index “10” of the intra prediction mode is “(fw) 10”.
- the index indicating the forward intra prediction mode (arrow 182) in the direction of the index “26” of the intra prediction mode is “(fw) 26”.
- indexes of “2” to “34” are assigned to the backward intra prediction mode as shown in FIG.
- the index indicating the backward intra prediction mode (arrow 183) in the reverse direction to the index “18” of the intra prediction mode is “(bw) 2”.
- the index indicating the backward intra prediction mode (arrow 184) in the reverse direction to the index “26” of the intra prediction mode is “(bw) 10”.
- the index indicating the backward intra prediction mode (arrow 185) in the direction of the index “18” of the intra prediction mode is “(bw) 34”.
- each pixel value p (x, y) of the predicted image can be obtained by, for example, the following expression (5).
- wf (y) indicates the weighting factor of the reference pixel corresponding to the forward intra prediction mode.
- Wb (y) represents a weighting factor of a reference pixel corresponding to the backward intra prediction mode.
- the difference between the forward intra prediction mode and the backward intra prediction mode is whether the prediction mode candidates are in the upward direction or the downward direction, and thus the weighting factor is y. It depends on coordinates.
- the weighting factor wf (y) can be obtained as shown in the following equation (6) as shown on the left side of FIG.
- L indicates the maximum value of the x coordinate and the y coordinate. That is, as shown in FIG. 37, in the case of the forward intra prediction mode, since the prediction mode candidates exist in the upward direction and do not exist in the downward direction, the upper coordinate is closer to the reference pixel (the prediction accuracy becomes higher). )Probability is high. Therefore, the weight coefficient wf (y) is set so that the value of the upper coordinate increases. For example, assuming that the size of the processing target area is 8 ⁇ 8, the value of the weighting coefficient wf (y) at each pixel position is as shown in the table on the left in FIG.
- the weight coefficient wb (y) can be obtained as shown in the following equation (7) as shown on the right side of FIG.
- L indicates the maximum value of the x coordinate and the y coordinate. That is, as shown in FIG. 37, in the backward intra prediction mode, since the prediction mode candidates exist in the downward direction and do not exist in the upward direction, the lower coordinate is closer to the reference pixel (the prediction accuracy is high). Likely). Therefore, the weight coefficient wb (y) is set so that the lower coordinate value becomes larger. For example, assuming that the size of the processing target area is 8 ⁇ 8, the value of the weight coefficient wb (y) at each pixel position is as shown in the table on the right side of FIG.
- a reconstructed image of the region 171 (2a) is generated (B in FIG. 35).
- a reference pixel is set.
- a reference pixel located in the region 192 (a part of the pixel above the intra region 191 or a reference pixel on the left side) is a reconstructed image of a CU that has already undergone prediction processing, or a reconstructed inter region indicated by a diagonal pattern It can be set using an image.
- the remaining reference pixels above the intra area 191 may be set using the pixel values when the reconstructed image of the area 197 exists. If there is no reconstructed image in the region 197, these reference pixels may be set by duplicating the pixel value of the pixel 195 of the reconstructed image, for example.
- reference pixels reference pixels below the intra area 191 located in the area 193 indicated by the hatched pattern can be set using the reconstructed image of the inter area indicated by the hatched pattern.
- the reference pixel at the position of the region 198 may be set by duplicating the pixel value of the pixel 196 of the reconstructed image.
- the reference pixel located in the region 194 may be set by interpolation processing using reconstructed images of neighboring pixels (for example, the pixel 195 and the pixel 196). In this case, the setting of the area 197 and the area 198 described above can be omitted.
- multi-directional intra prediction may be performed without setting the reference pixel at the position of the region 194 (reference pixel on the right side of the intra region 191).
- the forward intra prediction uses reference pixels located in the region 192 and reference pixels located in the region 197 (reference pixels on the upper side and the left side of the intra region 191), as indicated by a thick frame in FIG. 40A. May be performed.
- the reference pixel located in the region 193 instead of the reference pixel located in the lower left part of the intra region 191 of the region 192, the reference pixel located in the region 193 (the lower side of the intra region 191) Reference pixels) may be used for forward intra prediction.
- the backward intra prediction includes reference pixels located in a part of the region 192, reference pixels located in the region 193, and reference pixels located in the region 198, as indicated by a bold frame in FIG. This may be performed using reference pixels on the left side or the lower side of the intra area 191. Also in this case, since a reconstructed image of the area 192 exists, a part of the area 192 (reference pixel on the upper side of the intra area 191) is used for backward intra prediction instead of the upper left reference pixel of the intra area 191. May be.
- a predicted image of the area 191 is generated using these reference pixels.
- the prediction image mixing of the forward intra prediction and the backward intra prediction may be performed by the same method as in the case of the region 171 (2a).
- a reconstructed image of the region 191 (2b) is generated using the multi-directional intra-predicted image generated as described above (B in FIG. 39).
- multi-directional intra prediction of the intra area is performed.
- the division patterns 2NxnU and 2NxnD are basically performed in the same manner as 2NxN.
- the multi-directional intra prediction may be executed by appropriately dividing the intra region into a shape capable of executing the multi-directional intra prediction.
- intra prediction is assigned to the left half region of the CU (intra region), and inter prediction is performed to the right half region of the CU. Is assigned (inter area).
- each process of inter prediction is performed on the inter area.
- motion prediction (ME) is performed on this inter area to obtain motion information (A in FIG. 41).
- motion compensation (MC) is performed using the motion information to generate an inter prediction image (B in FIG. 41).
- residual data between the input image and the inter prediction image is obtained (C in FIG. 41).
- the residual data is orthogonally transformed (D in FIG. 41).
- the residual data after orthogonal transform is quantized (E in FIG. 41).
- the quantized residual data obtained in this way is encoded.
- the quantized residual data is inversely quantized (F in FIG. 41).
- the residual data after inverse quantization is subjected to inverse orthogonal transform (G in FIG. 41).
- the inter prediction image is added to the residual data after the inverse orthogonal transform, thereby obtaining a reconstructed image of the inter region (H in FIG. 41).
- the intra area is a rectangle, the intra area is divided into two areas (2a and 2b) as shown in FIG.
- a reference pixel is set.
- reference pixels located in the region 202 reference pixels on the upper side and left side of the intra region 201 can be set using a reconstructed image of a CU that has already undergone prediction processing.
- the reference pixel (reference pixel on the right side of the intra region 201) located in the region 203 indicated by the shaded pattern is inter-predicted in the inter region indicated by the diagonal line pattern, a reconstructed image has been generated. It can be set using it.
- the reference pixel located in the region 204 may be set by interpolation processing using reconstructed images of neighboring pixels (for example, the pixel 205 and the pixel 206). Further, multi-directional intra prediction may be performed without setting the reference pixel at the position of the region 204 (reference pixel below the intra region 201).
- the forward intra prediction may be performed using reference pixels (reference pixels on the upper side and the left side of the intra region 201) located in the region 202, as indicated by a thick line frame in FIG. 44A.
- reference pixels reference pixels on the upper side and the left side of the intra region 201 located in the region 202, as indicated by a thick line frame in FIG. 44A.
- a reference pixel located in a part of the area 203 in the intra area 201) The right reference pixel
- the right reference pixel may be used for forward intra prediction.
- the backward intra prediction is performed by referring to a reference pixel located in a part of the area 202 and a reference pixel located in the area 203 (references above and to the right of the intra area 202, as indicated by a thick frame in FIG. 44B. (Pixel) may be used. Also in this case, since a reconstructed image of the area 202 exists, a part of the area 202 (the reference pixel on the left side of the intra area 201) is used for backward intra prediction instead of the upper left reference pixel of the intra area 201. May be.
- reference pixels are set for each of the forward intra prediction and the backward intra prediction. That is, as shown in FIG. 45, the range of forward intra prediction prediction mode candidates is limited as indicated by a double arrow 207, and the range of backward intra prediction prediction mode candidates is limited as indicated by a double arrow 208. It may be.
- an index similar to the HEVC intra prediction is assigned to the forward intra prediction mode.
- the index indicating the forward intra prediction mode (arrow 211) in the direction of the index “10” of the intra prediction mode is “(fw) 10”.
- the index indicating the forward intra prediction mode (arrow 212) in the direction of the index “26” of the intra prediction mode is “(fw) 26”.
- indexes of “2” to “34” are assigned to the backward intra prediction mode as shown in FIG.
- the index indicating the backward intra prediction mode (arrow 213) in the direction of the index “18” of the intra prediction mode is “(bw) 2”.
- the index indicating the backward intra prediction mode (arrow 214) in the reverse direction to the index “10” of the intra prediction mode is “(bw) 26”.
- the index indicating the backward intra prediction mode (arrow 215) in the reverse direction to the index “18” of the intra prediction mode is “(bw) 34”.
- a predicted image of the region 201 is generated using these reference pixels.
- the prediction image for the forward prediction and the prediction image for the backward prediction are weighted.
- An example of the weighting calculation in this case is shown in FIG.
- Each pixel value p (x, y) of the predicted image in this case can be obtained, for example, as in the following formula (8).
- wf (x) indicates the weighting factor of the reference pixel corresponding to the forward intra prediction mode.
- Wb (x) represents a weighting factor of a reference pixel corresponding to the backward intra prediction mode.
- the difference between the forward intra prediction mode and the backward intra prediction mode is whether the prediction mode candidate is in the left direction or the right direction, and thus the weighting factor is x It depends on coordinates.
- the weighting factor wf (x) can be obtained as shown in the following equation (9) as shown on the left side of FIG.
- L indicates the maximum value of the x coordinate and the y coordinate. That is, as shown in FIG. 45, in the case of the forward intra prediction mode, since the prediction mode candidates exist in the left direction and do not exist in the right direction, the left coordinate is closer to the reference pixel (prediction accuracy becomes higher). )Probability is high. Therefore, the weight coefficient wf (x) is set so that the value on the left side of the coordinate becomes larger. For example, assuming that the size of the processing target region is 8x8, the value of the weighting factor wf (x) at each pixel position is as shown in the table on the left of FIG.
- the weighting factor wb (x) can be obtained as shown in the following equation (10) as shown on the right side of FIG.
- L indicates the maximum value of the x coordinate and the y coordinate. That is, as shown in FIG. 45, in the backward intra prediction mode, since the prediction mode candidates exist in the right direction and do not exist in the left direction, the right coordinate is closer to the reference pixel (prediction accuracy increases). )Probability is high. Therefore, the weight coefficient wb (x) is set so that the value of the right coordinate increases. For example, assuming that the size of the processing target area is 8x8, the value of the weight coefficient wb (x) at each pixel position is as shown in the table on the right side of FIG.
- a reconstructed image of the area 201 (2a) is generated (B in FIG. 43).
- intra prediction is performed for the region 221 (2b) on the lower side of the intra region.
- a reference pixel is set.
- reference pixels located in the region 222 are reconstructed images of a CU that has already undergone prediction processing, or reconstructed inter regions indicated by diagonal lines It can be set using an image.
- the remaining reference pixels on the left side of the intra area 221 may be set using the pixel values when the reconstructed image of the area 227 exists. Further, when there is no reconstructed image of the region 227, these reference pixels may be set by duplicating the pixel value of the pixel 225 of the reconstructed image, for example.
- the reference pixels (reference pixels on the right side of the intra area 221) located in the area 223 indicated by the shaded pattern can be set using the reconstructed image of the inter area indicated by the hatched pattern.
- the reference pixel at the position of the region 228 may be set by duplicating the pixel value of the pixel 226 of the reconstructed image.
- the reference pixel located in the region 194 may be set by interpolation processing using reconstructed images of neighboring pixels (for example, the pixel 225 and the pixel 226). In this case, the setting of the region 227 and the region 228 described above can be omitted.
- multi-directional intra prediction may be performed without setting the reference pixel at the position of the region 224 (reference pixel below the intra region 221).
- the forward intra prediction uses a reference pixel located in the region 222 and a reference pixel located in the region 227 (a reference pixel above or to the left of the intra region 221), as indicated by a bold frame in FIG. 48A. May be performed.
- the reference pixel located in the region 223 instead of the reference pixel located in the upper right part of the intra region 221 of the region 222, the reference pixel located in the region 223 (the reference on the right side of the intra region 221) Pixel) may be used for forward intra prediction.
- the backward intra prediction includes a reference pixel located in a part of the region 222, a reference pixel located in the region 223, and a reference pixel located in the region 228, as indicated by a bold frame in FIG. This may be performed using reference pixels on the upper side or the right side of the intra area 221. Also in this case, since a reconstructed image of the region 222 exists, a part of the region 222 (a reference pixel on the left side of the intra region 221) is used for backward intra prediction instead of the reference pixel at the upper left of the intra region 221. May be.
- a predicted image of the region 221 is generated using these reference pixels.
- the prediction image mixing of the forward intra prediction and the backward intra prediction may be performed by the same method as in the region 201 (2a).
- a reconstructed image of the region 221 (2b) is generated using the multi-directional intra-predicted image generated as described above (B in FIG. 47).
- multi-directional intra prediction of the intra area is performed.
- the division patterns 2NxnU and 2NxnD are basically performed in the same manner as 2NxN.
- the multi-directional intra prediction may be executed by appropriately dividing the intra region into a shape capable of executing the multi-directional intra prediction.
- the pixel value of the reconstructed image used for the interpolation processing for generating the reference pixel described above may be a pixel value of a different picture.
- it may be a pixel value of a past frame, a pixel value of another view, a pixel value of another layer, or a pixel value of another component. Good.
- the prediction information may be, for example, intra prediction information that is information related to intra prediction, inter prediction information that is information related to inter prediction, or inter destination intra prediction information that is information related to inter destination intra prediction. It may be.
- multi-directional intra prediction information that is information related to multi-directional intra prediction executed as inter-intra intra prediction processing may be included.
- This multi-directional intra prediction information includes, for example, information indicating a plurality of adopted intra prediction modes.
- the multi-directional intra prediction information may include, for example, reference pixel generation method information that is information related to a reference pixel generation method.
- the reference pixel generation method information may include information indicating a reference pixel generation method, for example. Also, for example, when the reference pixel generation method is interpolation processing, information specifying the interpolation processing method may be included. Further, for example, when the interpolation processing method is a method of mixing a plurality of pixel values, information indicating the mixing method may be included. The information indicating the mixing method may include information such as functions and coefficients.
- the multi-directional intra prediction information may include, for example, use reconstructed image information that is information related to the reconstructed image used for generating the reference pixels.
- the use reconstructed image information may include, for example, information indicating which pixel in the reconstructed image is a pixel used for generating the reference pixel, information indicating the position of the pixel, and the like.
- the multi-directional intra prediction information may include reference method information that is information related to a reference pixel reference method.
- This reference method information may include information indicating the reference method, for example. Further, for example, when the reference method is a method of mixing a plurality of reference pixels, information indicating the mixing method may be included.
- the information indicating the mixing method may include information such as functions and coefficients.
- the additional information may include block information that is information regarding the block and the structure of the block.
- the block information may include information such as a split flag (split_cu_flag), a partition mode (partition_mode), a skip flag (cu_skip_flag), and a prediction mode (pred_mode_flag).
- the additional information may include control information for controlling the prediction process.
- This control information may include, for example, information related to restrictions on inter destination intra prediction. For example, in an area (for example, CU, PU, etc.) belonging to the area (for example, picture, slice, tile, LCU, CU, PU, etc.) to which the information is allocated, that is, in a lower layer area in the area, Information indicating whether or not inter destination intra prediction is allowed may be included in the control information.
- the control information may include information indicating whether or not inter destination intra prediction is disabled in a region belonging to the region.
- control information may include information related to restriction on multi-directional intra prediction.
- an area for example, CU, PU, etc.
- the area for example, picture, slice, tile, LCU, CU, PU, etc.
- Information indicating whether or not multi-directional intra prediction is allowed may be included in the control information.
- information indicating whether or not multi-directional intra prediction is disabled in a region belonging to the region may be included in the control information.
- control information may include, for example, information related to the restriction on the reference pixel generation method. For example, in a region (for example, CU, PU, etc.) belonging to the region to which the information is assigned (for example, picture, slice, tile, LCU, CU, PU, etc.), a predetermined generation method of reference pixels is permitted (information indicating whether or not able) may be included in the control information.
- the control information may include information indicating whether or not the generation method is disabled in an area belonging to the area.
- the generation method subject to this restriction is arbitrary. For example, duplication (copying), interpolation processing, or inter destination intra prediction may be used. Further, a plurality of methods may be targeted for restriction. When a plurality of generation methods are to be restricted, each method may be restricted individually or may be restricted collectively.
- control information may include, for example, information related to the restriction on the pixels of the reconstructed image used for generating the reference pixels. For example, in a region (for example, CU, PU, etc.) belonging to the region (for example, picture, slice, tile, LCU, CU, PU, etc.) to which the information is assigned, a reference pixel of a predetermined pixel of the reconstructed image
- the control information may include information indicating whether or not the use for generation of (allowable) is permitted. In other words, in the area belonging to the area, information indicating whether the use of a predetermined pixel of the reconstructed image for the generation of the reference pixel is prohibited (disabled) may be included in the control information. Good.
- This restriction may be performed on a pixel-by-pixel basis or may be performed for each region composed of a plurality of pixels.
- control information may include, for example, information related to the restriction of the reference pixel reference method (reference method).
- reference method information related to the restriction of the reference pixel reference method
- a predetermined reference method of reference pixels is permitted (information indicating whether or not able) may be included in the control information.
- information indicating whether or not a predetermined reference method of the reference pixel is disabled (disable) may be included in the control information.
- multi-directional intra prediction may be used.
- a plurality of these methods may be subject to restriction. Furthermore, in that case, each method may be restricted independently of each other, or a plurality of methods may be restricted collectively.
- a mode (prediction direction) that can be specified (or specification is prohibited) may be limited.
- the function, coefficient, and the like may be limited.
- control information may include, for example, information related to other information restrictions.
- the area (for example, CU, PU, etc.) belonging to the area to which the information is assigned for example, picture, slice, tile, LCU, CU, PU, etc.
- the size of the area for example, the lower limit of the CU size, etc.
- information that restricts the division patterns that can be set in an area (for example, CU, PU, etc.) belonging to the area (for example, picture, slice, tile, LCU, CU, PU, etc.) to which the information is assigned. May be included in the control information.
- control information may include initial values of various parameters in the area (for example, picture, slice, tile, LCU, CU, PU, etc.) to which the control information is assigned.
- control information may include information other than the example described above.
- FIG. 50 is a block diagram illustrating an example of a configuration of an image decoding device that is an aspect of an image processing device to which the present technology is applied.
- An image decoding apparatus 300 shown in FIG. 50 is an image decoding apparatus corresponding to the image encoding apparatus 100 of FIG. 18, and a decoding method corresponding to the encoding method of the encoded data generated by the image encoding apparatus 100. Decrypt with.
- FIG. 50 main components such as a processing unit and a data flow are shown, and what is shown in FIG. 50 is not all. That is, in the image decoding apparatus 300, there may be a processing unit that is not shown as a block in FIG. 50, or there may be a process or data flow that is not shown as an arrow or the like in FIG.
- the image decoding apparatus 300 includes a storage buffer 311, a lossless decoding unit 312, an inverse quantization unit 313, an inverse orthogonal transform unit 314, a calculation unit 315, a loop filter 316, and a screen rearrangement buffer 317. Further, the image decoding apparatus 300 includes a frame memory 318, an intra prediction unit 319, an inter prediction unit 320, an inter destination intra prediction unit 321, and a predicted image selection unit 322.
- the accumulation buffer 311 accumulates the transmitted encoded data, and supplies the encoded data to the lossless decoding unit 312 at a predetermined timing.
- the lossless decoding unit 312 decodes the encoded data supplied from the accumulation buffer 311 by a method corresponding to the encoding method of the lossless encoding unit 115 in FIG.
- the lossless decoding unit 312 supplies the residual data to the inverse quantization unit 313.
- the lossless decoding unit 312 refers to prediction information included in the additional information obtained by decoding the encoded data, and whether intra prediction is selected, inter prediction is selected, or inter destination intra prediction is selected. Determine whether it was done. Based on the determination result, the lossless decoding unit 312 supplies information necessary for prediction processing such as prediction information and block information to the intra prediction unit 319, the inter prediction unit 320, or the inter destination intra prediction unit 321.
- the inverse quantization unit 313 performs inverse quantization on the quantized residual data supplied from the lossless decoding unit 312. That is, the inverse quantization unit 313 performs inverse quantization by a method corresponding to the quantization method of the quantization unit 114 in FIG.
- the inverse quantization unit 313 obtains the residual data after the orthogonal transformation by the inverse quantization
- the inverse quantization unit 313 supplies it to the inverse orthogonal transformation unit 314.
- the inverse orthogonal transform unit 314 performs inverse orthogonal transform on the residual data after orthogonal transform supplied from the inverse quantization unit 313. That is, the inverse orthogonal transform unit 314 performs inverse orthogonal transform by a method corresponding to the orthogonal transform method of the orthogonal transform unit 113 in FIG. When the inverse orthogonal transform unit 314 obtains residual data by the inverse orthogonal transform process, the inverse orthogonal transform unit 314 supplies the residual data to the calculation unit 315.
- the calculation unit 315 adds the predicted image supplied from the predicted image selection unit 322 to the residual data supplied from the inverse orthogonal transform unit 314, and obtains a reconstructed image.
- the calculation unit 315 supplies the reconstructed image to the loop filter 316, the intra prediction unit 319, and the inter destination intra prediction unit 321.
- the loop filter 316 performs a loop filter process similar to that performed by the loop filter 121 of FIG. At that time, the loop filter 316 may perform loop filter processing using the filter coefficient supplied from the image encoding device 100 of FIG. The loop filter 316 supplies the decoded image as the filter processing result to the screen rearrangement buffer 317 and the frame memory 318.
- the screen rearrangement buffer 317 rearranges the supplied decoded images. That is, the order of frames rearranged for the encoding order by the screen rearrangement buffer 111 in FIG. 18 is rearranged in the original display order.
- the screen rearrangement buffer 317 outputs decoded image data in which the order of frames is rearranged to the outside of the image decoding device 300.
- the frame memory 318 stores the supplied decoded image.
- the frame memory 318 also stores the stored decoded image or the like at a predetermined timing or based on an external request from the inter prediction unit 320, the inter destination intra prediction unit 321, or the like. This is supplied to the prediction unit 321.
- the intra prediction unit 319 performs intra prediction using the reconstructed image supplied from the calculation unit 315.
- the inter prediction unit 320 performs inter prediction using the decoded image supplied from the frame memory 318.
- the inter destination intra prediction unit 321 is an aspect of a prediction unit to which the present technology is applied.
- the inter destination intra prediction unit 321 performs an inter destination intra prediction process using the reconstructed image supplied from the calculation unit 315 and the decoded image supplied from the frame memory 318.
- the intra prediction unit 319 to the inter destination intra prediction unit 321 perform prediction processing according to prediction information, block information, and the like supplied from the lossless decoding unit 312. That is, the intra prediction unit 319 to the inter destination intra prediction unit 321 perform prediction processing using a method (prediction method, division pattern, prediction mode, or the like) employed on the encoding side. For example, the inter-destination intra prediction unit 321 performs inter prediction on a partial region of the processing target region of the image, sets a reference pixel using a reconstructed image corresponding to a predicted image generated by the inter prediction, Multi-directional intra prediction is performed using the set reference pixels for other regions to be processed.
- a method prediction method, division pattern, prediction mode, or the like
- any one of intra prediction by the intra prediction unit 319, inter prediction by the inter prediction unit 320, and inter destination intra prediction by the inter destination intra prediction unit 321 is performed on each CU.
- the prediction unit one of the intra prediction unit 319 to the inter destination intra prediction unit 321) that has performed the prediction supplies a predicted image to the predicted image selection unit 322 as a prediction result.
- the predicted image selection unit 322 supplies the supplied predicted image to the calculation unit 315.
- the calculation unit 315 uses the residual data (residual image) obtained by decoding and the predicted image generated by the inter-destination intra prediction unit 321 or the like to generate a reconstructed image (decoded image). Generate.
- FIG. 51 is a block diagram illustrating a main configuration example of the inter destination intra prediction unit 321.
- the inter destination intra prediction unit 321 includes an inter prediction unit 331 and a multi-directional intra prediction unit 332.
- Inter prediction unit 331 performs processing related to inter prediction. For example, the inter prediction unit 331 acquires a reference image from the frame memory 318 based on the inter prediction information supplied from the lossless decoding unit 312, performs inter prediction on the inter region using the reference image, and performs inter prediction on the inter region. The inter prediction image is generated. The inter prediction unit 331 supplies the generated inter prediction image to the prediction image selection unit 322.
- the multi-directional intra prediction unit 332 performs processing related to multi-directional intra prediction. For example, the multi-directional intra prediction unit 332 acquires a reconstructed image including a reconstructed image of the inter region from the arithmetic unit 315 based on the multi-directional intra prediction information supplied from the lossless decoding unit 312 and reconstructs the reconstructed image. Multi-directional intra prediction of an intra region is performed using an image, and a multi-directional intra prediction image for the intra region is generated. The multi-directional intra prediction unit 332 supplies the generated multi-directional intra prediction image to the predicted image selection unit 322.
- the predicted image selection unit 322 combines the inter prediction image supplied from the inter prediction unit 331 and the multi-directional intra prediction image supplied from the multi-directional intra prediction unit 332, and sets the inter-prediction intra-prediction image.
- the predicted image selection unit 322 supplies the inter destination intra predicted image to the calculation unit 315 as a predicted image.
- FIG. 52 is a block diagram illustrating a main configuration example of the multi-directional intra prediction unit 332. As illustrated in FIG. 52, the multi-directional intra prediction unit 332 includes a reference pixel setting unit 341 and a predicted image generation unit 342.
- the reference pixel setting unit 341 Based on the multi-directional intra prediction information supplied from the lossless decoding unit 312, the reference pixel setting unit 341 acquires a reconstructed image including a reconstructed image of the inter region from the calculation unit 315, and uses the reconstructed image. To set the reference pixel. The reference pixel setting unit 341 supplies the set reference pixels to the predicted image generation unit 342.
- the predicted image generation unit 342 performs multi-directional intra prediction using the reference pixels supplied from the reference pixel setting unit 341, and generates a multi-directional intra predicted image.
- the predicted image generation unit 342 supplies the generated multi-directional intra predicted image to the predicted image selection unit 322.
- the image decoding apparatus 300 performs the prediction process in the same manner as the method employed in the image encoding apparatus 100, so that the bitstream encoded by the image encoding apparatus 100 can be correctly decoded. . Therefore, the image decoding apparatus 300 can realize suppression of reduction in encoding efficiency.
- step S301 the accumulation buffer 311 accumulates the transmitted encoded data (bit stream).
- step S302 the lossless decoding unit 312 decodes the encoded data supplied from the accumulation buffer 311.
- step S303 the lossless decoding unit 312 extracts and acquires additional information from the encoded data.
- step S304 the inverse quantization unit 313 inversely quantizes the residual data after quantization obtained by decoding the encoded data by the process in step S302.
- step S305 the inverse orthogonal transform unit 314 performs inverse orthogonal transform on the residual data after orthogonal transform obtained by inverse quantization in step S304.
- step S306 the lossless decoding unit 312 and the intra prediction unit 319 to the inter destination intra prediction unit 321 perform prediction processing using the supplied information, and generate a prediction image.
- step S307 the calculation unit 315 adds the prediction image generated in step S306 to the residual data obtained by the inverse orthogonal transform in step S305. Thereby, a reconstructed image is generated.
- step S308 the loop filter 316 appropriately performs loop filter processing on the reconstructed image obtained in step S307 to generate a decoded image.
- step S309 the screen rearrangement buffer 317 rearranges the decoded images generated by the loop filter process in step S308. That is, the order of frames rearranged for encoding by the screen rearrangement buffer 111 of the image encoding device 100 is rearranged to the original display order.
- step S310 the frame memory 318 stores the decoded image obtained by the loop filter process in step S308. This decoded image is used as a reference image in inter prediction or inter destination intra prediction.
- step S310 ends, the decryption process ends.
- the lossless decoding unit 312 determines that the prediction method employed in the image coding apparatus 100 for the processing target region is based on the additional information acquired from the encoded data in step S331. It is determined whether it is prediction. If it is determined in the image encoding device 100 that the inter destination intra prediction has been adopted, the process proceeds to step S332. In step S332, the inter destination intra prediction unit 321 performs an inter destination intra prediction process, and generates a predicted image of the processing target region. When the predicted image is generated, the prediction process ends, and the process returns to FIG.
- step S333 the lossless decoding unit 312 determines whether or not the prediction method employed in the image encoding device 100 is intra prediction for the processing target region, based on the additional information acquired from the encoded data. If it is determined in the image encoding device 100 that intra prediction has been adopted, the process proceeds to step S334. In step S334, the intra prediction unit 319 performs an intra prediction process, and generates a predicted image of the processing target region. When the predicted image is generated, the prediction process ends, and the process returns to FIG.
- step S333 If it is determined in step S333 that intra prediction is not employed, the process proceeds to step S335.
- the inter prediction unit 320 performs inter prediction and generates a predicted image of the processing target region. When the predicted image is generated, the prediction process ends, and the process returns to FIG.
- the inter destination intra prediction unit 321 is specified by the inter prediction information supplied from the lossless decoding unit 312 (that is, specified from the encoding side) in step S351. Set.
- step S352 the inter prediction unit 331 performs inter prediction on the inter region of the processing target region, and generates an inter prediction image.
- step S353 the inter prediction unit 331 supplies the inter prediction image generated by the processing in step S351 to the prediction image selection unit 322, and the arithmetic unit 315 adds the residual image to the residual data, thereby corresponding to the inter prediction image.
- a reconstructed image (that is, a reconstructed image of the inter area) is generated.
- step S354 the multi-directional intra prediction unit 332 performs intra prediction on the intra region in the processing target region using the reconstructed image including the reconstructed image obtained by the processing in step S353, and performs the intra region prediction.
- a multi-directional intra prediction image is generated.
- the reference pixel setting unit 341 specifies a plurality of intra-prediction modes (for example, a forward intra) specified by multi-directional intra prediction information (that is, specified on the encoding side). Reference pixels corresponding to each of the prediction mode and the backward intra prediction mode) are set.
- step S372 the prediction image generation unit 342 generates a multi-directional intra prediction image using the reference pixel set in step S371 by the same method as that on the encoding side described above in the second embodiment. .
- step S372 ends, the multi-directional intra prediction process ends, and the process returns to FIG.
- the image decoding apparatus 300 can realize suppression of reduction in encoding efficiency.
- the range of the direction of the candidate for the forward intra prediction mode and the range of the direction of the candidate for the backward intra prediction mode May not be completely identical to each other.
- a part of the range of the direction of each candidate may overlap.
- the range of the direction of the candidate of a forward intra prediction mode or a backward intra prediction mode, or both may be divided into plurality.
- the forward intra prediction mode and the backward intra prediction mode can be selected from candidates in arbitrary directions as long as at least a part of the candidate range is different from each other. Further, the widths of the ranges of the respective candidate directions may not be the same. For example, the forward intra prediction mode may be selected from candidates in the direction toward one side of the processing target area, and the backward intra prediction mode may be selected from candidates in the direction toward three sides of the processing target area. Good.
- the index of the backward intra prediction mode may be expressed by a difference from the index of the forward intra prediction mode.
- the forward intra prediction mode and the backward intra prediction mode selected as the optimal modes for multi-directional intra prediction are included in multi-directional intra prediction information as indexes and transmitted to the decoding side.
- intra prediction is adopted in HEVC, it is considered that coding efficiency is often improved by HEVC intra prediction. That is, in the case of multi-directional intra prediction, it is considered that there are many patterns close to this HEVC intra prediction. That is, it is considered that the backward intra prediction mode is often opposite to the forward intra prediction mode (the direction opposite to 180 degrees). For example, in the case of FIG. 14, when the forward intra prediction mode is “(fw) 10”, the backward intra prediction mode is likely to be “(bw) 10”.
- the index values are the same.
- the smaller the index value the more the code amount can be reduced. Therefore, the index of the backward intra prediction mode is reduced by representing the index of the backward intra prediction mode as a difference from the index of the forward intra prediction mode as in the examples of FIGS. 57 and 58. And the reduction in encoding efficiency can be further suppressed.
- the forward intra prediction mode is “(fw) 10”.
- the index of the backward intra prediction mode is “(bw) 0”.
- the index of the backward intra prediction mode is “(bw) ⁇ 1”.
- the index of the backward intra prediction mode is “(bw) +1”.
- the forward intra prediction mode is “(fw) 26”.
- the index of the backward intra prediction mode is “(bw) 0”.
- the index of the backward intra prediction mode is “(bw) ⁇ 1”.
- the index of the backward intra prediction mode is “(bw) +1”.
- ⁇ Multi-directional intra prediction> In the second embodiment and the third embodiment, the example in which the inter-intra prediction described in (B) of the first embodiment is applied as the reference pixel generation method has been described.
- the pixel generation method is arbitrary and is not limited to this.
- (A) ((A-1), (A-1-1) to (A-1-6), (A-2), (A-2-1), (A As described above in (A-2-2), a reference pixel may be generated using an arbitrary pixel (existing pixel) of a reconstructed image that has already been generated by performing a prediction process.
- FIG. 59 A main configuration example of the image encoding device 100 in this case is shown in FIG.
- main components such as a processing unit and a data flow are shown, and what is shown in FIG. 59 is not all. That is, in the image coding apparatus 100, there may be a processing unit not shown as a block in FIG. 59, or there may be a process or data flow not shown as an arrow or the like in FIG.
- the image encoding device 100 also has a configuration basically similar to that in FIG. However, a multi-directional intra prediction unit 401 is provided instead of the intra prediction unit 123 and the inter destination intra prediction unit 125, and a predicted image selection unit 402 is provided instead of the predicted image selection unit 126.
- the multi-directional intra prediction unit 401 is basically a processing unit similar to the multi-directional intra prediction unit 132. That is, the multi-directional intra prediction unit 401 has the same configuration as the multi-directional intra prediction unit 132 described with reference to FIG. That is, the block diagram of FIG. 20 can also be used to describe the multi-directional intra prediction unit 401.
- the multi-directional intra prediction unit 401 does not perform processing related to multi-directional intra prediction as inter-intra intra prediction processing. That is, the multi-directional intra prediction unit 401 generates the reference pixel using the existing pixel without generating the reference pixel using the inter prediction.
- the reference pixel setting unit 141 of the multi-directional intra prediction unit 401 acquires a reconstructed image of an already processed region (for example, a region above or to the left of the processing target region), and the reconstructed image (arbitrary image) Is used to generate a reference pixel for the processing target area.
- a method of generating a reference pixel using the existing pixel is arbitrary. For example, (A) ((A-1), (A-1-1) to (A-1-6), (A-2), (A-2-1), (A Any of the methods described above in (A-2-2)) may be used.
- the prediction image generation unit 142 to the mode selection unit 145 perform processing in the same manner as described in the second embodiment using the reference pixels, and the multi-directional intra prediction image of the optimum mode of each division pattern, Multi-directional intra prediction information, cost function values, etc. are generated.
- the multi-directional intra prediction unit 401 supplies the generated multi-directional intra-predicted image, multi-directional intra-prediction information, cost function value, and the like to the predicted image selecting unit 402 in the optimum mode of each division pattern.
- the predicted image selection unit 402 basically performs the same processing as the predicted image selection unit 126, but controls the multi-directional intra prediction unit 401 and the inter prediction unit 124.
- FIG. 60 is a block diagram illustrating a main configuration example of the predicted image selection unit 402. As illustrated in FIG. 60, the predicted image selection unit 402 basically has the same configuration as the predicted image selection unit 126. However, the predicted image selection unit 402 includes a block prediction control unit 411 instead of the block prediction control unit 152.
- the block prediction control unit 411 performs basically the same processing as the block prediction control unit 152, but controls the multi-directional intra prediction unit 401 and the inter prediction unit 124. That is, the block prediction control unit 411 controls the multi-directional intra prediction unit 401 and the inter prediction unit 124 based on the division information acquired from the block setting unit 151, and performs prediction processing for each block set by the block setting unit 151. Is executed.
- the block prediction control unit 411 acquires, from the multi-directional intra prediction unit 401, the multi-directional intra prediction image, the multi-directional intra prediction information, and the cost function value of the optimum mode of each division pattern. Further, the block prediction control unit 411 acquires, from the inter prediction unit 124, the inter prediction image, the inter prediction information, and the cost function value of the optimum mode of each division pattern.
- the block prediction control unit 411 compares the cost function values to select whether the optimal prediction method is multi-directional intra prediction or inter prediction, and further selects an optimal division pattern.
- the block prediction control unit 411 sets the prediction image, the prediction information, and the cost function value of the optimal prediction method and the optimal mode of the division pattern. That is, the information on the selected prediction method and the division pattern is set as information on the optimum prediction method and the optimum mode of the division pattern.
- the block prediction control unit 411 supplies the set optimal prediction method and the predicted image of the optimal mode of the divided pattern, the prediction information, and the cost function value to the storage unit 153 and stores them.
- the image coding apparatus 100 performs the image coding using the multi-directional intra prediction process, and thus the coding efficiency is improved as described above in the first embodiment. Reduction can be suppressed.
- the codes generated by the image coding apparatus 100 on the decoding side are transmitted by transmitting various types of information as described above in the first and second embodiments to the decoding side as additional information. Data can be correctly decoded.
- ⁇ Block prediction process flow> Also in this case, the encoding process and the prediction process are executed in the same manner as in the second embodiment. In other words, the encoding process is performed according to the flow described with reference to the flowchart of FIG. 26, and the prediction process is performed according to the flow described with reference to the flowchart of FIG. The
- step S134 this block prediction process is executed for each block one layer below the processing target hierarchy. That is, when there are a plurality of blocks one layer below the processing target layer, this block prediction process is executed a plurality of times.
- step S401 the block prediction control unit 411 sets a division pattern for the processing target CU, for example, as shown in FIG.
- step S402 the multi-directional intra prediction unit 401 performs multi-directional intra prediction processing on all the division patterns for multi-directional intra prediction processing set in step S401.
- This multi-directional intra prediction process is executed in the same manner as in the first embodiment (FIG. 30).
- step S403 the inter prediction unit 124 performs inter prediction processing for all the division patterns for inter prediction processing set in step S401.
- step S404 the block prediction control unit 411 compares the cost function values obtained in the processes of step S402 and step S403, and selects a prediction image according to the comparison result.
- step S405 the block prediction control unit 411 generates prediction information corresponding to the prediction image selected in step S404.
- the block prediction control unit 411 sets information on the optimal prediction mode (prediction image, prediction information, cost function value, etc.) of the optimal division pattern of the optimal prediction method through these processes.
- step S405 When the process of step S405 is completed, the block prediction process is completed, and the process returns to FIG.
- the image encoding device 100 can realize suppression of reduction in encoding efficiency.
- FIG. 62 is a block diagram illustrating a main configuration example of the image decoding device 300 in this case.
- An image decoding apparatus 300 shown in FIG. 62 is an image decoding apparatus corresponding to the image encoding apparatus 100 of FIG. 59, and the encoded data generated by the image encoding apparatus 100 is decoded corresponding to the encoding method. Decrypt with method. 62 shows main components such as a processing unit and a data flow, and the components shown in FIG. 62 are not limited to all. That is, in the image decoding apparatus 300, there may be a processing unit that is not shown as a block in FIG. 62, or there may be a process or data flow that is not shown as an arrow or the like in FIG.
- the image decoding apparatus 300 basically has the same configuration as in FIG. However, instead of the intra prediction unit 319 and the inter destination intra prediction unit 321, a multi-directional intra prediction unit 421 is provided.
- the multi-directional intra prediction unit 421 is basically a processing unit similar to the multi-directional intra prediction unit 332. That is, the multi-directional intra prediction unit 401 has the same configuration as the multi-directional intra prediction unit 332 described with reference to FIG. That is, the block diagram of FIG. 52 can also be used to describe the multi-directional intra prediction unit 421.
- the multi-directional intra prediction unit 421 does not perform the process related to multi-directional intra prediction as the inter destination intra prediction process. That is, the multi-directional intra prediction unit 421 generates the reference pixel using the existing pixel without generating the reference pixel using the inter prediction. At that time, the multi-directional intra prediction unit 421 generates reference pixels in the same manner as the multi-directional intra prediction unit 401 based on additional information supplied from the encoding side.
- the multi-directional intra prediction unit 421 uses the reference pixel to perform multi-directional intra prediction on a region where multi-directional intra prediction has been performed on the encoding side based on the configuration of the encoded data, additional information, and the like. I do.
- the image decoding apparatus 300 performs the prediction process in the same manner as the method employed in the image encoding apparatus 100, and therefore correctly decodes the bitstream encoded by the image encoding apparatus 100. Can do. Therefore, the image decoding apparatus 300 can realize suppression of reduction in encoding efficiency.
- ⁇ Prediction process flow> the decoding process is executed according to the flow described with reference to the flowchart of FIG. 53, as in the case of the third embodiment.
- the lossless decoding unit 312 determines that the prediction method employed in the image encoding device 100 for the processing target region is a multi-method intra, based on the additional information acquired from the encoded data in step S421. It is determined whether it is prediction. If it is determined in the image encoding device 100 that multi-method intra prediction has been adopted, the process proceeds to step S422.
- step S422 the multi-directional intra prediction unit 421 performs multi-directional intra prediction processing and generates a predicted image of the processing target region.
- the prediction process ends, and the process returns to FIG.
- step S421 If it is determined in step S421 that multi-directional intra prediction is not employed, the process proceeds to step S423.
- step S423 the inter prediction unit 320 performs inter prediction and generates a predicted image of the processing target region. When the predicted image is generated, the prediction process ends, and the process returns to FIG.
- the multi-directional intra prediction unit 421 sets the division pattern specified by the multi-directional intra prediction information transmitted from the encoding side in step S441.
- step S442 the reference pixel setting unit 341 performs, for each partition (PU) set in step S441, a multi-directional intra prediction mode (forward intra prediction) specified by the multi-directional intra prediction information supplied from the encoding side.
- the reference pixel corresponding to each of the mode and the backward intra prediction mode) is set.
- These reference pixels are set using, for example, pixel values of a reconstructed image of a processed block.
- step S443 the prediction image generation unit 342 performs multi-directional intra prediction on each partition (PU) set in step S441 using the reference pixel set in step S442, and multi-directional intra prediction of the prediction mode. Generate an image.
- step S443 ends, the multi-directional intra prediction process ends, and the process returns to FIG.
- the image decoding device 300 can realize suppression of reduction in encoding efficiency.
- this technology for example, image information, MPEG, H.264. Compressed by orthogonal transform such as discrete cosine transform and motion compensation, such as 26x, and used when transmitting the bitstream via network media such as satellite broadcasting, cable television, the Internet, or mobile phones It can be applied to an image processing apparatus.
- the present technology can be applied to an image processing device used when processing on a storage medium such as an optical, magnetic disk, and flash memory.
- FIG. 65 shows an example of a multi-view image encoding method.
- the multi-viewpoint image includes images of a plurality of viewpoints (views).
- the multiple views of this multi-viewpoint image are encoded using the base view that encodes and decodes using only the image of its own view without using the information of other views, and the information of other views.
- -It consists of a non-base view that performs decoding.
- Non-base view encoding / decoding may use base view information or other non-base view information.
- the multi-view image is encoded for each viewpoint.
- the encoded data of each viewpoint is decoded (that is, for each viewpoint).
- the method described in each of the above embodiments may be applied to such viewpoint encoding / decoding. By doing so, it is possible to suppress a reduction in encoding efficiency. That is, similarly, in the case of a multi-viewpoint image, it is possible to suppress a reduction in encoding efficiency.
- FIG. 66 is a diagram illustrating a multi-view image encoding apparatus of the multi-view image encoding / decoding system that performs the above-described multi-view image encoding / decoding.
- the multi-view image encoding device 600 includes an encoding unit 601, an encoding unit 602, and a multiplexing unit 603.
- the encoding unit 601 encodes the base view image and generates a base view image encoded stream.
- the encoding unit 602 encodes the non-base view image and generates a non-base view image encoded stream.
- the multiplexing unit 603 multiplexes the base view image encoded stream generated by the encoding unit 601 and the non-base view image encoded stream generated by the encoding unit 602 to generate a multi-view image encoded stream. To do.
- FIG. 67 is a diagram illustrating a multi-view image decoding apparatus that performs the above-described multi-view image decoding.
- the multi-view image decoding device 610 includes a demultiplexing unit 611, a decoding unit 612, and a decoding unit 613.
- the demultiplexing unit 611 demultiplexes the multi-view image encoded stream in which the base view image encoded stream and the non-base view image encoded stream are multiplexed, and the base view image encoded stream and the non-base view image The encoded stream is extracted.
- the decoding unit 612 decodes the base view image encoded stream extracted by the demultiplexing unit 611 to obtain a base view image.
- the decoding unit 613 decodes the non-base view image encoded stream extracted by the demultiplexing unit 611 to obtain a non-base view image.
- the image encoding device 100 described in each of the above embodiments is applied as the encoding unit 601 and the encoding unit 602 of the multi-view image encoding device 600. May be.
- the method described in each of the above embodiments can be applied to the encoding of multi-viewpoint images. That is, a reduction in encoding efficiency can be suppressed.
- the image decoding device 300 described in each of the above embodiments may be applied as the decoding unit 612 and the decoding unit 613 of the multi-view image decoding device 610.
- the method described in each of the above embodiments can be applied to decoding of encoded data of a multi-viewpoint image. That is, a reduction in encoding efficiency can be suppressed.
- FIG. 68 shows an example of a hierarchical image encoding method.
- Hierarchical image coding is a method in which image data is divided into a plurality of layers (hierarchization) so as to have a scalability function with respect to a predetermined parameter, and is encoded for each layer.
- the hierarchical image encoding (scalable decoding) is decoding corresponding to the hierarchical image encoding.
- the hierarchized image includes images of a plurality of hierarchies (layers) having different predetermined parameter values.
- a plurality of layers of this hierarchical image are encoded / decoded using only the image of the own layer without using the image of the other layer, and encoded / decoded using the image of the other layer.
- It consists of a non-base layer (also called enhancement layer) that performs decoding.
- the non-base layer an image of the base layer may be used, or an image of another non-base layer may be used.
- the non-base layer is composed of difference image data (difference data) between its own image and an image of another layer so that redundancy is reduced.
- difference image data difference data
- an image with lower quality than the original image can be obtained using only the base layer data.
- an original image that is, a high-quality image
- image compression information of only the base layer (base layer) is transmitted, and a moving image with low spatiotemporal resolution or poor image quality is reproduced.
- image enhancement information of the enhancement layer is transmitted.
- Image compression information corresponding to the capabilities of the terminal and the network can be transmitted from the server without performing transcoding processing, such as playing a moving image with high image quality.
- parameters having a scalability function are arbitrary.
- spatial resolution may be used as the parameter (spatial scalability).
- spatial scalability the resolution of the image is different for each layer.
- temporal resolution may be applied as a parameter for providing such scalability (temporal scalability).
- temporal scalability temporary scalability
- the frame rate is different for each layer.
- a signal-to-noise ratio (SNR (Signal-to-Noise-ratio)) may be applied (SNR-scalability) as a parameter for providing such scalability.
- SNR Signal-to-noise ratio
- the SN ratio is different for each layer.
- the parameters for providing scalability may be other than the examples described above.
- the base layer (base layer) consists of 8-bit (bit) images, and by adding an enhancement layer (enhancement layer) to this, the bit depth scalability (bit-depth ⁇ ⁇ ⁇ scalability) that can obtain a 10-bit (bit) image is is there.
- base layer (base ⁇ ⁇ layer) consists of component images in 4: 2: 0 format, and by adding the enhancement layer (enhancement layer) to this, chroma scalability (chroma) scalability).
- FIG. 69 is a diagram illustrating a hierarchical image encoding apparatus of the hierarchical image encoding / decoding system that performs the hierarchical image encoding / decoding described above.
- the hierarchical image encoding device 620 includes an encoding unit 621, an encoding unit 622, and a multiplexing unit 623.
- the encoding unit 621 encodes the base layer image and generates a base layer image encoded stream.
- the encoding unit 622 encodes the non-base layer image and generates a non-base layer image encoded stream.
- the multiplexing unit 623 multiplexes the base layer image encoded stream generated by the encoding unit 621 and the non-base layer image encoded stream generated by the encoding unit 622 to generate a hierarchical image encoded stream. .
- FIG. 70 is a diagram illustrating a hierarchical image decoding apparatus that performs the hierarchical image decoding described above.
- the hierarchical image decoding device 630 includes a demultiplexing unit 631, a decoding unit 632, and a decoding unit 633.
- the demultiplexing unit 631 demultiplexes the hierarchical image encoded stream in which the base layer image encoded stream and the non-base layer image encoded stream are multiplexed, and the base layer image encoded stream and the non-base layer image code Stream.
- the decoding unit 632 decodes the base layer image encoded stream extracted by the demultiplexing unit 631 to obtain a base layer image.
- the decoding unit 633 decodes the non-base layer image encoded stream extracted by the demultiplexing unit 631 to obtain a non-base layer image.
- the image encoding device 100 described in each of the above embodiments is applied as the encoding unit 621 and the encoding unit 622 of the hierarchical image encoding device 620. Also good. By doing so, the method described in each of the above embodiments can be applied to the encoding of the hierarchical image. That is, a reduction in encoding efficiency can be suppressed.
- the image decoding device 300 described in each of the above embodiments may be applied as the decoding unit 632 and the decoding unit 633 of the hierarchical image decoding device 630. By doing so, the method described in each of the above embodiments can be applied to decoding of the encoded data of the hierarchical image. That is, a reduction in encoding efficiency can be suppressed.
- ⁇ Computer> The series of processes described above can be executed by hardware or can be executed by software.
- a program constituting the software is installed in the computer.
- the computer includes, for example, a general-purpose personal computer that can execute various functions by installing a computer incorporated in dedicated hardware and various programs.
- FIG. 71 is a block diagram showing an example of the hardware configuration of a computer that executes the series of processes described above by a program.
- a CPU Central Processing Unit
- ROM Read Only Memory
- RAM Random Access Memory
- An input / output interface 810 is also connected to the bus 804.
- An input unit 811, an output unit 812, a storage unit 813, a communication unit 814, and a drive 815 are connected to the input / output interface 810.
- the input unit 811 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
- the output unit 812 includes, for example, a display, a speaker, an output terminal, and the like.
- the storage unit 813 includes, for example, a hard disk, a RAM disk, a nonvolatile memory, and the like.
- the communication unit 814 includes a network interface, for example.
- the drive 815 drives a removable medium 821 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 813 into the RAM 803 via the input / output interface 810 and the bus 804 and executes the program, for example. Is performed.
- the RAM 803 also appropriately stores data necessary for the CPU 801 to execute various processes.
- the program executed by the computer (CPU 801) can be recorded and applied to, for example, a removable medium 821 as a package medium or the like.
- the program can be installed in the storage unit 813 via the input / output interface 810 by attaching the removable medium 821 to the drive 815.
- This program can also be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting. In that case, the program can be received by the communication unit 814 and installed in the storage unit 813.
- a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
- the program can be received by the communication unit 814 and installed in the storage unit 813.
- this program can be installed in advance in the ROM 802 or the storage unit 813.
- 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.
- the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Accordingly, a plurality of devices housed in separate housings and connected via a network and a single device housing a plurality of modules in one housing are all systems. .
- the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
- the 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). .
- the present technology can take a configuration of cloud computing in which one function is shared by a plurality of devices via a network and is jointly processed.
- each step described in the above flowchart can be executed by one device or can be shared by a plurality of devices.
- the plurality of processes included in the one step can be executed by being shared by a plurality of apparatuses in addition to being executed by one apparatus.
- the image encoding device 100 and the image decoding device 300 are, for example, a transmitter and a receiver in cable broadcasting such as satellite broadcasting and cable TV, distribution on the Internet, and distribution to terminals by cellular communication.
- the present invention can be applied to various electronic devices such as a recording apparatus that records an image on a recording medium or a medium such as an optical disk, a magnetic disk, and a flash memory, and a reproducing apparatus that reproduces an image from these storage media.
- a recording apparatus that records an image on a recording medium or a medium such as an optical disk, a magnetic disk, and a flash memory
- a reproducing apparatus that reproduces an image from these storage media.
- FIG. 72 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 (I / F) unit 909, and a control unit. 910, a user interface (I / F) unit 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. That is, the tuner 902 has a role as a transmission unit in the television device 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 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 on the audio data.
- the external interface unit 909 is an interface for connecting the television device 900 to an external device or a network.
- a video stream or an audio stream received via the external interface unit 909 may be decoded by the decoder 904. That is, the external interface unit 909 also has a role as a transmission unit in the television apparatus 900 that receives 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 controls the operation of the television device 900 according to an operation signal input from the user interface unit 911 by executing the program.
- the user interface unit 911 is connected to the control unit 910.
- the user interface unit 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 unit 911 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 910.
- the bus 912 connects the tuner 902, the demultiplexer 903, the decoder 904, the video signal processing unit 905, the audio signal processing unit 907, the external interface unit 909, and the control unit 910 to each other.
- the decoder 904 may have the function of the image decoding apparatus 300 described above. That is, the decoder 904 may decode the encoded data by the method described in each embodiment. By doing in this way, the television apparatus 900 can suppress the reduction of the encoding efficiency of the received encoded bit stream.
- the video signal processing unit 905 encodes image data supplied from the decoder 904, for example, and the obtained encoded data is transmitted via the external interface unit 909. You may enable it to output to the exterior of the television apparatus 900.
- FIG. The video signal processing unit 905 may have the function of the image encoding device 100 described above. That is, the video signal processing unit 905 may encode the image data supplied from the decoder 904 by the method described in each embodiment. By doing in this way, the television apparatus 900 can suppress the reduction in the encoding efficiency of the encoded data to be output.
- FIG. 73 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, supplies the electronic mail data to the recording / reproducing unit 929, and writes the data in the storage medium.
- the recording / reproducing unit 929 has an arbitrary readable / writable storage medium.
- the storage medium may be a built-in storage medium such as a RAM or a flash memory, or an externally mounted type such as a hard disk, magnetic disk, magneto-optical disk, optical disk, USB (Universal Serial Bus) 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, supplies the encoded stream to the recording / reproducing unit 929, and writes the encoded stream in the storage medium.
- the recording / reproducing unit 929 reads out the encoded stream recorded in the storage medium and outputs the encoded stream to the image processing unit 927.
- the image processing unit 927 decodes the encoded stream input from the recording / reproducing unit 929, supplies the image data to the display unit 930, and displays the image.
- the demultiplexing unit 928 multiplexes the video stream encoded by the image processing unit 927 and the audio stream input from the audio codec 923, and the 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 may have the function of the image encoding device 100 described above. That is, the image processing unit 927 may encode the image data by the method described in each embodiment. In this way, the mobile phone 920 can suppress a reduction in encoding efficiency.
- the image processing unit 927 may have the function of the image decoding device 300 described above. That is, the image processing unit 927 may decode the encoded data by the method described in each embodiment. By doing in this way, the mobile phone 920 can suppress a reduction in encoding efficiency of encoded data.
- FIG. 74 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 (I / F) unit 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, and a control. Part 949 and a user interface (I / F) part 950.
- I / F external interface
- 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 serves as a transmission unit in the recording / reproducing apparatus 940.
- the external interface unit 942 is an interface for connecting the recording / reproducing device 940 to an external device or a network.
- the external interface unit 942 may be, for example, an IEEE (Institute of Electrical and Electronic Engineers) 1394 interface, a network interface, a USB interface, or a flash memory interface.
- IEEE Institute of Electrical and Electronic Engineers 1394 interface
- a network interface e.g., a USB interface
- a flash memory interface e.g., a flash memory interface.
- video data and audio data received via the external interface unit 942 are input to the encoder 943. That is, the external interface unit 942 has a role as a transmission unit in the recording / reproducing apparatus 940.
- the encoder 943 encodes video data and audio data when the video data and audio data input from the external interface unit 942 are not encoded. Then, the encoder 943 outputs the encoded bit stream to the selector 946.
- the HDD 944 records an encoded bit stream in which content data such as video and audio are 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.
- Recording media mounted on the disk drive 945 are, for example, DVD (Digital Versatile Disc) discs (DVD-Video, DVD-RAM (DVD -Random Access Memory), DVD-R (DVD-Recordable), DVD-RW (DVD-). Rewritable), DVD + R (DVD + Recordable), DVD + RW (DVD + Rewritable), etc.) or Blu-ray (registered trademark) disc.
- 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 947 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 executes the program to control the operation of the recording / reproducing device 940 in accordance with, for example, an operation signal input from the user interface unit 950.
- the user interface unit 950 is connected to the control unit 949.
- the user interface unit 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 unit 950 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 949.
- the encoder 943 may have the function of the above-described image encoding apparatus 100. That is, the encoder 943 may encode the image data by the method described in each embodiment. By doing in this way, the recording / reproducing apparatus 940 can suppress the reduction in encoding efficiency.
- the decoder 947 may have the function of the image decoding apparatus 300 described above. That is, the decoder 947 may decode the encoded data by the method described in each embodiment. By doing in this way, the recording / reproducing apparatus 940 can suppress the reduction of the encoding efficiency of encoding data.
- FIG. 75 shows 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 (I / F) unit 966, a memory unit 967, a media drive 968, an OSD 969, and a control unit 970.
- the optical block 961 is connected to the imaging unit 962.
- the imaging unit 962 is connected to the signal processing unit 963.
- the display unit 965 is connected to the image processing unit 964.
- the user interface unit 971 is connected to the control unit 970.
- the bus 972 connects the image processing unit 964, the external interface unit 966, the memory unit 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 unit 966 or the media drive 968. In addition, the image processing unit 964 decodes encoded data input from the external interface unit 966 or the media drive 968 to generate image data. Then, the image processing unit 964 outputs the generated image data to the display unit 965. 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 unit 966 is configured as a USB input / output terminal, for example.
- the external interface unit 966 connects the imaging device 960 and a printer, for example, when printing an image.
- a drive is connected to the external interface unit 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 unit 966 may be configured as a network interface connected to a network such as a LAN or the Internet. That is, the external interface unit 966 has a role as a transmission unit in the imaging device 960.
- the recording medium mounted 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 unit 971 by executing the program.
- the user interface unit 971 is connected to the control unit 970.
- the user interface unit 971 includes, for example, buttons and switches for the user to operate the imaging device 960.
- the user interface unit 971 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 970.
- the image processing unit 964 may have the function of the image encoding device 100 described above. That is, the image processing unit 964 may encode the image data by the method described in each embodiment. By doing in this way, the imaging device 960 can suppress a reduction in encoding efficiency.
- the image processing unit 964 may have the function of the image decoding device 300 described above. That is, the image processing unit 964 may decode the encoded data by the method described in each embodiment. By doing in this way, the imaging device 960 can suppress a reduction in encoding efficiency of encoded data.
- the present technology can also be applied to HTTP streaming such as MPEGASHDASH, for example, by selecting an appropriate piece of data from a plurality of encoded data with different resolutions prepared in advance. Can do. That is, information regarding encoding and decoding can be shared among a plurality of such encoded data.
- FIG. 76 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. 76 has such a multi-functional configuration, and a device having a function related to image encoding and decoding (either or both of them) can be used for the function. It is a combination of devices having other related functions.
- the 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 module is a component that has several functions that are related to each other and that has 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 configurations having functions related to image processing, and includes an application processor, a video processor, a broadband modem 1333, and an RF module 1334.
- a processor is a configuration in which a configuration having a predetermined function is integrated on a semiconductor chip by a SoC (System On a Chip), and for example, there is a system LSI (Large Scale Integration).
- 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 76 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 converts the data (digital signal) transmitted by wired or wireless (or both) broadband communication via a broadband line such as the Internet or a public telephone line network into an analog signal by digitally modulating the data.
- the analog signal received by the broadband communication is demodulated and converted into data (digital signal).
- the broadband modem 1333 processes 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 Frequency) signal transmitted / 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 Frequency
- the application processor 1331 and the video processor 1332 may be integrated into a single processor.
- the external memory 1312 is a module that is provided outside the video module 1311 and has a storage device 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 (circuit on the transmitting / receiving end on the antenna side). As illustrated in FIG. 76, the front end module 1314 includes, for example, an antenna unit 1351, a filter 1352, and an amplification unit 1353.
- the 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 camera 1322 is a module having a function of capturing 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 as a module in the above 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. 77 shows an example of a schematic configuration of a video processor 1332 (FIG. 76) 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 enlargement / reduction unit 1402, a second image enlargement / reduction 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 Demultiplexer
- the video input processing unit 1401 acquires a video signal input from, for example, the connectivity 1321 (FIG. 76) 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 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 or the like.
- the frame memory 1405 is a memory for image data shared by the video input processing unit 1401, the first image scaling unit 1402, the second image scaling unit 1403, the video output processing unit 1404, and the encoding / decoding engine 1407. .
- the frame memory 1405 is realized 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 write / read access to the frame memory 1405 according to the access schedule to the frame memory 1405 written in the access management table 1406A.
- the access 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 or the like, for example, into a digital format, and encodes it using 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 an analog signal, for example, and supplies the reproduced audio signal to, for example, the connectivity 1321 or the like.
- the multiplexing unit (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).
- the demultiplexing unit (DMUX) 1413 obtains a transport stream supplied from, for example, the connectivity 1321 or the broadband modem 1333 via the stream buffer 1414 and demultiplexes the video stream and the audio stream. And can be converted to Further, for example, the demultiplexer (DMUX) 1413 obtains the file data read from various recording media by the connectivity 1321, for example, via the stream buffer 1414, and demultiplexes the video stream and the audio. Can be converted to a stream.
- 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, in the connectivity 1321 or the broadband modem 1333 at a predetermined timing or based on an external request or the like. Supply.
- MUX multiplexing unit
- the stream buffer 1414 buffers the file data supplied from the multiplexing unit (MUX) 1412 and supplies it to the connectivity 1321 at a predetermined timing or based on an external request, for example. It is recorded on various recording media.
- MUX multiplexing unit
- the stream buffer 1414 buffers a transport stream acquired through, for example, the connectivity 1321 or the broadband modem 1333, and performs a demultiplexing unit (DMUX) at a predetermined timing or based on a request from the outside. 1413.
- DMUX demultiplexing unit
- the stream buffer 1414 buffers file data read from various recording media in, for example, the connectivity 1321, and the demultiplexer (DMUX) 1413 at a predetermined timing or based on an external request or the like. To supply.
- DMUX demultiplexer
- a video signal input to the video processor 1332 from the connectivity 1321 or the like is converted into digital image data of a predetermined format such as 4: 2: 2Y / Cb / Cr format by the video input processing unit 1401 and stored in 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 from the connectivity 1321 or the like to the video processor 1332 is encoded by the audio encoder 1410 and written as an audio stream 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, file data, or the like.
- 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 or the broadband modem 1333.
- the file data generated by the multiplexing unit (MUX) 1412 is buffered in the stream buffer 1414, and then output to, for example, the connectivity 1321 and recorded on various recording media.
- a transport stream input from an external network to the video processor 1332 via the connectivity 1321 or the broadband modem 1333 is buffered in the stream buffer 1414 and then demultiplexed by the demultiplexer (DMUX) 1413.
- DMUX demultiplexer
- file data read from various recording media by the connectivity 1321 and input to the video processor 1332 is buffered by the stream buffer 1414 and then demultiplexed by the demultiplexer (DMUX) 1413. That is, the transport stream or file data input to the video processor 1332 is separated into a video stream and an audio stream by the demultiplexer (DMUX) 1413.
- the audio stream is supplied to the audio decoder 1411 via the audio ES buffer 1409B and decoded to reproduce the audio signal.
- 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 may have the function of the image encoding device 100 and / or the function of the image decoding device 300 described above. In this way, the video processor 1332 can obtain the same effects as those of the embodiments described above with reference to FIGS.
- the present technology (that is, the function of the image encoding device 100 and / or the function of the image decoding device 300) 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. 78 illustrates another example of a schematic configuration of the video processor 1332 to which the present technology is applied.
- the video processor 1332 has a function of encoding and 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 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 the image data to, for example, the connectivity 1321 under the control of the control unit 1511.
- the display interface 1512 converts image data of digital data into an analog signal, and outputs it to a monitor device or the like of the connectivity 1321 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 hardware specifications of the monitor device or the like that displays the image data I do.
- the 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 in 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 Video1541 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 using 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 performs multiplexing and demultiplexing of 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, etc., for example.
- the video interface 1520 is an interface for the connectivity 1321, the camera 1322, and the like, for example.
- the transport stream is supplied to the multiplexing / demultiplexing unit (MUX DMUX) 1518 via the network interface 1519.
- MUX DMUX multiplexing / demultiplexing unit
- 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 is connected to, for example, the connectivity 1321 through the display interface 1512. 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
- encoded data file data obtained by encoding image data read from a recording medium (not shown) by the connectivity 1321 or the like is transmitted through a video interface 1520 via a multiplexing / demultiplexing unit (MUX DMUX). ) 1518 to be 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 supplied to, for example, the connectivity 1321 through the display interface 1512. 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 the multiplexing / demultiplexing unit (MUX DMUX) 1518, and converted into a transport stream,
- the data is supplied to, for example, the connectivity 1321 and the broadband modem 1333 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 or 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 embodiment described above may be applied to the codec engine 1516. That is, for example, the codec engine 1516 may have the function of the image encoding device 100 and / or the function of the image decoding device 300 described above. In this way, the video processor 1332 can obtain the same effects as those of the embodiments described above with reference to FIGS.
- the present technology (that is, the function of the image encoding device 100) may be realized by hardware such as a logic circuit, or may be realized by software such as an embedded program. Alternatively, it may be realized by both of them.
- the configuration of the video processor 1332 is arbitrary and may be other than the two examples described above.
- the video processor 1332 may be configured as one semiconductor chip, but may be configured as a plurality of semiconductor chips. 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. 72), the mobile phone 920 (FIG. 73), the recording / reproducing device 940 (FIG. 74), the imaging device 960 (FIG. 75), or the like.
- the apparatus can obtain the same effects as those of the embodiments described above with reference to FIGS.
- the video processor 1332 can implement as a structure to which this technique is applied.
- 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. Regardless of the configuration, the same effects as those of the embodiments described above with reference to FIGS. 1 to 64 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. 72), a mobile phone 920 (FIG. 73), a recording / playback device 940 (FIG. 74), The imaging device 960 (FIG. 75) can be incorporated.
- the apparatus obtains the same effects as those of the embodiments described above with reference to FIGS. 1 to 64 as in the case of the video set 1300. be able to.
- 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.
- this technique can also take the following structures.
- a prediction unit that sets a plurality of intra prediction modes for a processing target region of an image, performs intra prediction using the plurality of set intra prediction modes, and generates a prediction image of the processing target region;
- An image processing apparatus comprising: an encoding unit that encodes the image using the prediction image generated by the prediction unit.
- the prediction unit sets the intra prediction mode candidates in a direction from the center of the rectangular processing target region toward three or more sides, and selects a plurality of the candidates from the candidates to perform the intra prediction.
- the image processing device according to (1), wherein the image processing device is set as a mode, and the intra prediction is performed using the plurality of set intra prediction modes.
- the prediction unit sets a reference pixel on the side of each of the three or more sides of the processing target region, and a reference corresponding to each of the set plurality of intra prediction modes in the reference pixel.
- the prediction unit sets the intra prediction mode candidates in a direction toward the right side, a direction toward the lower side, or both in addition to a direction toward the upper side and a direction toward the left side from the center of the processing target region.
- the image processing apparatus according to (2), wherein the intra prediction is performed using the plurality of intra prediction modes selected and set from the candidates.
- the prediction unit may include a reference pixel positioned on the right side of the processing target area or the reference pixel The reference pixel or both positioned below the processing target region is set, and the intra prediction is performed using the reference pixel corresponding to each of the plurality of set intra prediction modes in the reference pixel.
- the image processing apparatus described. (6) The image processing device according to (5), wherein the prediction unit sets the reference pixel using a reconstructed image. (7) The prediction unit uses a reconstructed image of the processed region of the processing target picture to calculate a reference pixel located above the processing target region and a reference pixel located on the right side from the processing target region.
- the prediction unit sets a reference pixel located on the right side of the processing target region or a reference pixel located below the processing target region, or both, using a reconstructed image of another picture.
- the image processing apparatus according to (6) or (7).
- the prediction unit sets a reference pixel located on the right side of the processing target region or a reference pixel located on the lower side of the processing target region, or both by interpolation processing. (5) to (8 ).
- the prediction unit duplicates or weights a neighboring pixel according to the position of the processing target pixel, so that the reference pixel located on the right side of the processing target area, or the processing
- the image processing device (9), wherein the reference pixel located below the target region, or both are set.
- the prediction unit sets a reference pixel located on the right side of the processing target area, a reference pixel located on the lower side of the processing target area, or both by performing inter prediction.
- the image processing device according to any one of (10) to (10).
- (12) The prediction unit Select a single candidate from the candidates for the intra prediction mode in the direction from the center of the processing target region to the upper side or the left side, and set it as the forward intra prediction mode.
- the prediction unit includes a reference pixel corresponding to the forward intra prediction mode among a reference pixel located above the processing target area and a reference pixel located on the left side of the processing target area, and the processing target.
- the intra prediction is performed using a reference pixel located on the right side of the region, a reference pixel located below the processing target region, or a reference pixel corresponding to the backward intra prediction mode, or both.
- the prediction unit includes: Using reference pixels corresponding to the forward intra prediction mode, performing intra prediction on a partial area of the processing target area, The image processing device according to (12) or (13), wherein intra prediction is performed on another region of the processing target region using a reference pixel corresponding to the backward intra prediction mode.
- the prediction unit weights the reference pixel corresponding to the forward intra prediction mode and the reference pixel corresponding to the backward intra prediction mode according to the position of the processing target pixel, thereby performing the prediction.
- the image processing device according to any one of (12) to (14), which generates an image.
- (16) The image processing apparatus according to any one of (1) to (15), further including a generation unit that generates information related to the intra prediction.
- (17) The image processing device according to any one of (1) to (16), wherein the encoding unit encodes a residual image indicating a difference between the image and the predicted image generated by the prediction unit. .
- a decoding unit that decodes encoded data of an image to generate a residual image
- a prediction unit that performs intra prediction using a plurality of intra prediction modes set for the processing target region of the image, and generates a predicted image of the processing target region
- An image processing apparatus comprising: a generation unit that generates a decoded image of the image using the residual image generated by the decoding unit and the prediction image generated by the prediction unit.
- (20) Decode the encoded data of the image to generate a residual image, Performing intra prediction using a plurality of intra prediction modes set for the processing target area of the image, generating a prediction image of the processing target area; An image processing method for generating a decoded image of the image using the generated residual image and the generated predicted image.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本開示は、符号化効率の低減を抑制することができるようにする画像処理装置および方法に関する。 画像の処理対象領域について複数のイントラ予測モードを設定し、設定した複数のイントラ予測モードを用いてイントラ予測を行い、処理対象領域の予測画像を生成し、生成された予測画像を用いて画像を符号化するようにする。本開示は、例えば、画像処理装置、画像符号化装置、または画像復号装置等に適用することができる。
Description
本開示は、画像処理装置および方法に関し、特に、符号化効率の低減を抑制することができるようにした画像処理装置および方法に関する。
近年、MPEG-4 Part10 (Advanced Video Coding、以下AVCと記す)より更なる符号化効率の向上を目的として、ITU-T(International Telecommunication Union Telecommunication Standardization Sector)と、ISO/IEC(International Organization for Standardization / International Electrotechnical Commission)の共同の標準化団体であるJCTVC(Joint Collaboration Team - Video Coding)により、HEVC(High Efficiency Video Coding)と呼ばれる符号化方式の標準化が進められている。
これらの画像符号化方式においては、所定の符号化単位の画像データがラスタ順やZ順等に処理されていた(例えば、非特許文献1参照)。
Jill Boyce, Jianle Chen, Ying Chen, David Flynn, Miska M. Hannuksela, Matteo Naccari, Chris Rosewarne, Karl Sharman, Joel Sole, Gary J. Sullivan, Teruhiko Suzuki, Gerhard Tech, Ye-Kui Wang, Krzysztof Wegner, Yan Ye, "Draft high efficiency video coding (HEVC) version 2, combined format range extensions (RExt), scalability (SHVC), and multi-view (MV-HEVC) extensions", JCTVC-R1013_v6, 2014.10.1
しかしながら、従来の方法では、最適なイントラ予測モードとして、単数のイントラ予測モードしか選択することができなかった。そのため、利用する参照画素の予測精度が低減するとイントラ予測の予測精度が低減し、符号化効率が低減するおそれがあった。
本開示は、このような状況に鑑みてなされたものであり、符号化効率の低減を抑制することができるようにするものである。
本技術の第1の側面の画像処理装置は、画像の処理対象領域について複数のイントラ予測モードを設定し、設定した複数の前記イントラ予測モードを用いてイントラ予測を行い、前記処理対象領域の予測画像を生成する予測部と、前記予測部により生成される前記予測画像を用いて前記画像を符号化する符号化部とを備える画像処理装置である。
前記予測部は、前記イントラ予測モードの候補を、矩形の前記処理対象領域の中心から3以上の各辺に向かう方向に設定し、前記候補の中から複数を選択して前記イントラ予測モードとして設定し、設定した複数の前記イントラ予測モードを用いて前記イントラ予測を行うことができる。
前記予測部は、参照画素を、前記処理対象領域の前記3以上の各辺の側に設定し、前記参照画素の中の、設定した複数の前記イントラ予測モードのそれぞれに対応する参照画素を用いて前記イントラ予測を行うことができる。
前記予測部は、前記イントラ予測モードの候補を、前記処理対象領域の中心から上辺に向かう方向と左辺に向かう方向との他に、右辺に向かう方向若しくは下辺に向かう方向または両方に設定し、前記候補の中から選択して設定した複数の前記イントラ予測モードを用いて前記イントラ予測を行うことができる。
前記予測部は、前記処理対象領域より上側に位置する参照画素、および、前記処理対象領域より左側に位置する参照画素の他に、前記処理対象領域より右側に位置する参照画素若しくは前記処理対象領域より下側に位置する参照画素または両方を設定し、前記参照画素の中の、設定した複数のイントラ予測モードのそれぞれに対応する参照画素を用いて前記イントラ予測を行うことができる。
前記予測部は、再構成画像を用いて前記参照画素を設定することができる。
前記予測部は、処理対象ピクチャの処理済みの領域の再構成画像を用いて、前記処理対象領域より上側に位置する参照画素と、前記処理対象領域より左側に位置する参照画素とを設定することができる。
前記予測部は、他のピクチャの再構成画像を用いて、前記処理対象領域より右側に位置する参照画素、若しくは、前記処理対象領域より下側に位置する参照画素、または両方を設定することができる。
前記予測部は、補間処理により、前記処理対象領域より右側に位置する参照画素、若しくは、前記処理対象領域より下側に位置する参照画素、または両方を設定することができる。
前記予測部は、前記補間処理として、近傍の画素を複製若しくは処理対象画素の位置に応じて重みづけ演算することにより、前記処理対象領域より右側に位置する参照画素、若しくは、前記処理対象領域より下側に位置する参照画素、または両方を設定することができる。
前記予測部は、インター予測を行うことにより、前記処理対象領域より右側に位置する参照画素、若しくは、前記処理対象領域より下側に位置する参照画素、または両方を設定することができる。
前記予測部は、前記処理対象領域の中心から上辺若しくは左辺に向かう方向の前記イントラ予測モードの候補の中から単数の候補を選択して前方イントラ予測モードとして設定し、前記処理対象領域の中心から右辺に向かう方向の前記イントラ予測モードの候補、若しくは、前記処理対象領域の下辺に向かう方向の前記イントラ予測モードの候補、または両方の中から単数の候補を選択して後方イントラ予測モードとして設定し、設定した前記前方イントラ予測モードと前記後方イントラ予測モードとを用いて前記イントラ予測を行うことができる。
前記予測部は、前記処理対象領域より上側に位置する参照画素および前記処理対象領域より右側に位置する参照画素の中の、前記前方イントラ予測モードに対応する参照画素と、前記処理対象領域より右側に位置する参照画素若しくは前記処理対象領域より下側に位置する参照画素または両方の中の、前記後方イントラ予測モードに対応する参照画素とを用いて前記イントラ予測を行うことができる。
前記予測部は、前記前方イントラ予測モードに対応する参照画素を用いて、前記処理対象領域の一部の領域に対するイントラ予測を行い、前記後方イントラ予測モードに対応する参照画素を用いて、前記処理対象領域のその他の領域に対するイントラ予測を行うことができる。
前記予測部は、前記前方イントラ予測モードに対応する参照画素と、前記後方イントラ予測モードに対応する参照画素とを、処理対象画素の位置に応じて重みづけ演算することにより、前記予測画像を生成することができる。
前記イントラ予測に関する情報を生成する生成部をさらに備えることができる。
前記符号化部は、前記画像と前記予測部により生成される前記予測画像との差分を示す残差画像を符号化することができる。
本技術の第1の側面の画像処理方法は、画像の処理対象領域について複数のイントラ予測モードを設定し、設定した複数の前記イントラ予測モードを用いてイントラ予測を行い、前記処理対象領域の予測画像を生成し、生成された前記予測画像を用いて前記画像を符号化する画像処理方法である。
本技術の第2の側面の画像処理装置は、画像の符号化データを復号して残差画像を生成する復号部と、前記画像の処理対象領域について設定された複数のイントラ予測モードを用いてイントラ予測を行い、前記処理対象領域の予測画像を生成する予測部と、前記復号部により生成される前記残差画像と、前記予測部により生成される前記予測画像とを用いて前記画像の復号画像を生成する生成部とを備える画像処理装置である。
本技術の第2の側面の画像処理方法は、画像の符号化データを復号して残差画像を生成し、前記画像の処理対象領域について設定された複数のイントラ予測モードを用いてイントラ予測を行い、前記処理対象領域の予測画像を生成し、生成された前記残差画像と、生成された前記予測画像とを用いて前記画像の復号画像を生成する画像処理方法である。
本技術の第1の側面の画像処理装置および方法においては、画像の処理対象領域について複数のイントラ予測モードを設定し、設定した複数のイントラ予測モードを用いてイントラ予測が行われ、処理対象領域の予測画像が生成され、生成された予測画像を用いてその画像が符号化される。
本技術の第2の側面の画像処理装置および方法においては、画像の符号化データが復号されて残差画像が生成され、画像の処理対象領域について設定された複数のイントラ予測モードを用いてイントラ予測が行われ、処理対象領域の予測画像が生成され、生成された残差画像と、生成された予測画像とを用いて画像の復号画像が生成される。
本開示によれば、画像を処理することができる。特に、符号化効率の低減を抑制することができる。
以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(概要)
2.第2の実施の形態(画像符号化装置:インター先イントラ予測)
3.第3の実施の形態(画像復号装置:インター先イントラ予測)
4.第4の実施の形態(イントラ予測モードのインデックス)
5.第5の実施の形態(画像符号化装置:複数方向イントラ予測)
6.第6の実施の形態(画像復号装置:複数方向イントラ予測)
7.第7の実施の形態(その他)
1.第1の実施の形態(概要)
2.第2の実施の形態(画像符号化装置:インター先イントラ予測)
3.第3の実施の形態(画像復号装置:インター先イントラ予測)
4.第4の実施の形態(イントラ予測モードのインデックス)
5.第5の実施の形態(画像符号化装置:複数方向イントラ予測)
6.第6の実施の形態(画像復号装置:複数方向イントラ予測)
7.第7の実施の形態(その他)
<1.第1の実施の形態>
<符号化方式>
以下においては、画像データをHEVC(High Efficiency Video Coding)方式で符号化する際や、その符号化データを伝送して復号する際等に適用する場合を例に、本技術を説明する。
<符号化方式>
以下においては、画像データをHEVC(High Efficiency Video Coding)方式で符号化する際や、その符号化データを伝送して復号する際等に適用する場合を例に、本技術を説明する。
<ブロック分割>
MPEG2(Moving Picture Experts Group 2(ISO/IEC 13818-2))又はH.264及びMPEG-4 Part10(以下、AVC(Advanced Video Coding)と称する)などの旧来の画像符号化方式では、符号化処理は、マクロブロックと呼ばれる処理単位で実行される。マクロブロックは、16x16画素の均一なサイズを有するブロックである。これに対し、HEVCでは、符号化処理は、CU(Coding Unit)と呼ばれる処理単位(符号化単位)で実行される。CUは、最大符号化単位であるLCU(Largest Coding Unit)を再帰的に分割することにより形成される、可変的なサイズを有するブロックである。選択可能なCUの最大サイズは、64x64画素である。選択可能なCUの最小サイズは、8x8画素である。最小サイズのCUは、SCU(Smallest Coding Unit)と呼ばれる。
MPEG2(Moving Picture Experts Group 2(ISO/IEC 13818-2))又はH.264及びMPEG-4 Part10(以下、AVC(Advanced Video Coding)と称する)などの旧来の画像符号化方式では、符号化処理は、マクロブロックと呼ばれる処理単位で実行される。マクロブロックは、16x16画素の均一なサイズを有するブロックである。これに対し、HEVCでは、符号化処理は、CU(Coding Unit)と呼ばれる処理単位(符号化単位)で実行される。CUは、最大符号化単位であるLCU(Largest Coding Unit)を再帰的に分割することにより形成される、可変的なサイズを有するブロックである。選択可能なCUの最大サイズは、64x64画素である。選択可能なCUの最小サイズは、8x8画素である。最小サイズのCUは、SCU(Smallest Coding Unit)と呼ばれる。
このように、可変的なサイズを有するCUが採用される結果、HEVCでは、画像の内容に応じて画質及び符号化効率を適応的に調整することが可能である。予測符号化のための予測処理は、PU(Prediction Unit)と呼ばれる処理単位(予測単位)で実行される。PUは、CUをいくつかの分割パタンのうちの1つで分割することにより形成される。さらに、直交変換処理は、TU(Transform Unit)と呼ばれる処理単位(変換単位)で実行される。TUは、CU又はPUをある深さまで分割することにより形成される。
<再帰的なブロックの分割>
図1は、HEVCにおけるCUについての再帰的なブロック分割の概要を説明するための説明図である。CUのブロック分割は、1つのブロックの4(=2x2)個のサブブロックへの分割を再帰的に繰り返すことにより行われ、結果として四分木(Quad-Tree)状のツリー構造が形成される。1つの四分木の全体をCTB(Coding Tree Block)といい、CTBに対応する論理的な単位をCTU(Coding Tree Unit)という。
図1は、HEVCにおけるCUについての再帰的なブロック分割の概要を説明するための説明図である。CUのブロック分割は、1つのブロックの4(=2x2)個のサブブロックへの分割を再帰的に繰り返すことにより行われ、結果として四分木(Quad-Tree)状のツリー構造が形成される。1つの四分木の全体をCTB(Coding Tree Block)といい、CTBに対応する論理的な単位をCTU(Coding Tree Unit)という。
図1の上部には、一例として、64x64画素のサイズを有するCUであるC01が示されている。C01の分割の深さは、ゼロに等しい。これは、C01がCTUのルートでありLCUに相当することを意味する。LCUサイズは、SPS(Sequence Parameter Set)又はPPS(Picture Parameter Set)において符号化されるパラメータにより指定され得る。CUであるC02は、C01から分割される4つのCUのうちの1つであり、32x32画素のサイズを有する。C02の分割の深さは、1に等しい。CUであるC03は、C02から分割される4つのCUのうちの1つであり、16x16画素のサイズを有する。C03の分割の深さは、2に等しい。CUであるC04は、C03から分割される4つのCUのうちの1つであり、8x8画素のサイズを有する。C04の分割の深さは、3に等しい。このように、CUは、符号化される画像を再帰的に分割することにより形成される。分割の深さは、可変的である。例えば、青空のような平坦な画像領域には、より大きいサイズの(即ち、深さが小さい)CUが設定され得る。一方、多くのエッジを含む急峻な画像領域には、より小さいサイズの(即ち、深さが大きい)CUが設定され得る。そして、設定されたCUの各々が、符号化処理の処理単位となる。
<CUへのPUの設定>
PUは、イントラ予測及びインター予測を含む予測処理の処理単位である。PUは、CUをいくつかの分割パタンのうちの1つで分割することにより形成される。図2は、図1に示したCUへのPUの設定について説明するための説明図である。図2の右には、2Nx2N、2NxN、Nx2N、NxN、2NxnU、2NxnD、nLx2N及びnRx2Nという、8種類の分割パタンが示されている。これら分割パタンのうち、イントラ予測では、2Nx2N及びNxNの2種類が選択可能である(NxNはSCUでのみ選択可能)。これに対してインター予測では、非対称動き分割が有効化されている場合に、8種類の分割パタンの全てが選択可能である。
PUは、イントラ予測及びインター予測を含む予測処理の処理単位である。PUは、CUをいくつかの分割パタンのうちの1つで分割することにより形成される。図2は、図1に示したCUへのPUの設定について説明するための説明図である。図2の右には、2Nx2N、2NxN、Nx2N、NxN、2NxnU、2NxnD、nLx2N及びnRx2Nという、8種類の分割パタンが示されている。これら分割パタンのうち、イントラ予測では、2Nx2N及びNxNの2種類が選択可能である(NxNはSCUでのみ選択可能)。これに対してインター予測では、非対称動き分割が有効化されている場合に、8種類の分割パタンの全てが選択可能である。
<CUへのTUの設定>
TUは、直交変換処理の処理単位である。TUは、CU(イントラCUについては、CU内の各PU)をある深さまで分割することにより形成される。図3は、図1に示したCUへのTUの設定について説明するための説明図である。図3の右には、C02に設定され得る1つ以上のTUが示されている。例えば、TUであるT01は、32x32画素のサイズを有し、そのTU分割の深さはゼロに等しい。TUであるT02は、16x16画素のサイズを有し、そのTU分割の深さは1に等しい。TUであるT03は、8x8画素のサイズを有し、そのTU分割の深さは2に等しい。
TUは、直交変換処理の処理単位である。TUは、CU(イントラCUについては、CU内の各PU)をある深さまで分割することにより形成される。図3は、図1に示したCUへのTUの設定について説明するための説明図である。図3の右には、C02に設定され得る1つ以上のTUが示されている。例えば、TUであるT01は、32x32画素のサイズを有し、そのTU分割の深さはゼロに等しい。TUであるT02は、16x16画素のサイズを有し、そのTU分割の深さは1に等しい。TUであるT03は、8x8画素のサイズを有し、そのTU分割の深さは2に等しい。
上述したCU、PU及びTUといったブロックを画像に設定するためにどのようなブロック分割を行うかは、典型的には、符号化効率を左右するコストの比較に基づいて決定される。エンコーダは、例えば1つの2Mx2M画素のCUと、4つのMxM画素のCUとの間でコストを比較し、4つのMxM画素のCUを設定した方が符号化効率が高いならば、2Mx2M画素のCUを4つのMxM画素のCUへと分割することを決定する。
<CUとPUの走査順>
画像を符号化する際、画像(又はスライス、タイル)内に格子状に設定されるCTB(又はLCU)が、ラスタスキャン順に走査される。
画像を符号化する際、画像(又はスライス、タイル)内に格子状に設定されるCTB(又はLCU)が、ラスタスキャン順に走査される。
例えば、図4のピクチャ1は、図中に四角形で示されているLCU2毎に処理が行われる。なお、図4においては便宜上右下隅のLCUにのみ符号を付してある。ピクチャ1は、図中に太線で示されているスライス境界3によって区切られ、2つのスライスが形成されている。ピクチャ1の最初のスライス(図中上側のスライス)は、図中に点線で示されるスライスセグメント境界4とスライスセグメント境界5とでさらに区切られている。例えば、ピクチャ1の最初のスライスセグメント(図中左上の4つのLCU2)は、独立スライスセグメント6である。またピクチャ1の2番目のスライスセグメント(図中においてスライスセグメント境界4とスライスセグメント境界5との間のLCU2群)は、従属スライスセグメント7である。
各スライスセグメントにおいて、各LCU2は、ラスタスキャン順に処理される。例えば、従属スライスセグメント7において、各LCU2は、矢印11のような順に処理される。したがって例えば、LCU2Aが処理対象であるとすると、斜線模様で示されるLCU2がその時点の処理済みのLCUである。
そして、1つのCTB(又はLCU)の中では、CUは、四分木を左から右、上から下に辿るようにZ順に走査される。
例えば、図5は、2つのLCU2(LCU2-1とLCU2-2)におけるCUの処理順を示している。図5に示されるようにLCU2-1とLCU2-2には、14個のCU21が形成されている。なお、図5においては、便宜上左上隅のCUにのみ符号を付してある。CU21は、矢印に示される順(Z順)に処理される。したがって例えば、CU21Aが処理対象であるとすると、斜線模様で示されるCU21がその時点の処理済みのCUである。
<イントラ予測の参照画素>
イントラ予測では、予測画像の生成において処理済みの領域(LCUやCU等のブロック)の画素(再構成画像の画素)が参照される。つまり、処理対象領域(LCUやCU等のブロック)より上側や左側の画素は参照することができるが、右側や下側の画素は未処理のため参照することができない。
イントラ予測では、予測画像の生成において処理済みの領域(LCUやCU等のブロック)の画素(再構成画像の画素)が参照される。つまり、処理対象領域(LCUやCU等のブロック)より上側や左側の画素は参照することができるが、右側や下側の画素は未処理のため参照することができない。
つまり、イントラ予測においては、図6に示されるように、処理対象領域31に対して、再構成画像のグレーの領域32の画素(処理対象領域31の左下、左、左上、上、および右上の画素)が参照画素の候補となる(つまり参照画素になり得る)。なお、処理対象領域31の左下の画素および左の画素を処理対象領域31の左側の画素とも称し、処理対象領域31の上の画素および右上の画素を処理対象領域31の上側の画素とも称する。処理対象領域31の左上の画素は、処理対象領域31の左側の画素と称してもよいし、処理対象領域31の上側の画素と称してもよい。したがって、例えば、イントラ予測モード(予測方向)が図中矢印で示される方向(水平方向)の場合、画素33の予測画像(予測画素値)は、処理対象領域31の左の画素値(図中に示される矢印の先の画素)を参照して生成されることになる。
イントラ予測においては、一般的に処理対象画素と参照画素との距離が近いほど予測画像の予測精度が向上し、符号量を低減させたり、復号画像の画質の低減を抑制したりすることができる。しかしながら、上述したように処理対象領域31のより右側に位置する領域や下側に位置する領域は未処理であり、再構成画像が存在しない。そのため、図7に示されるように予測モードが「0」から「34」まで割り当てられているが、未処理の領域となる処理対象領域31の右辺や下辺の方向(右下の角に向かう方向も含む)には予測モードが割り当てられていない。
従って、例えば、処理対象領域31の右端の画素33の予測において水平方向の画素を参照する場合、その画素33に隣接する画素34B(処理対象領域31の右辺に隣接する画素)は参照されず、処理対象画素の反対側の画素である画素34Aが参照される(予測モード「10」が選択される)。従って、処理対象画素と参照画素との距離が遠くなり、その分予測画像の予測精度が低減する可能性があった。つまり、処理対象領域の右辺や下辺に近い画素の予測精度が低減する可能性があった。
また、ブロック内に互いに異なる特徴の画像が含まれる場合がある。例えば、図8の場合、処理対象領域31の部分領域31Aは、斜線模様の絵柄であり、部分領域31Bは、横線模様の絵柄である。したがって、部分領域31Aは、図中斜め方向のイントラ予測モードの予測精度が高くなりやすく、部分領域31Bは、図中水平方向のイントラ予測モードの予測精度が高くなりやすい。
このように、最適となるイントラ予測モードが互いに異なる絵柄がブロック内に混在する場合、いずれの予測モードを最適として選択しても予測精度が低減する部分が生じ、ブロック全体の予測画像の予測精度が低減する可能性があった。
<参照画素の設定>
そこで、画像の処理対象領域について複数のイントラ予測モードを設定し、設定した複数のイントラ予測モードを用いてイントラ予測を行い、処理対象領域の予測画像を生成するようにする。つまり、最適な予測モードとして複数のイントラ予測モードを選択することができるようにする。例えば、図9では、矢印41乃至矢印43が最適な予測モードとして選択されたイントラ予測モードを示している。もちろん、最適な予測モードとして選択することができるイントラ予測モードの数は、複数であればよく、2であってもよいし、4以上であってもよい。
そこで、画像の処理対象領域について複数のイントラ予測モードを設定し、設定した複数のイントラ予測モードを用いてイントラ予測を行い、処理対象領域の予測画像を生成するようにする。つまり、最適な予測モードとして複数のイントラ予測モードを選択することができるようにする。例えば、図9では、矢印41乃至矢印43が最適な予測モードとして選択されたイントラ予測モードを示している。もちろん、最適な予測モードとして選択することができるイントラ予測モードの数は、複数であればよく、2であってもよいし、4以上であってもよい。
このように複数のイントラ予測モードを最適な予測モードとして選択し、その複数のイントラ予測モードを適宜用いてイントラ予測画像を生成することができるようにすることにより、より多様な予測画像を生成することができるようになる。これにより、予測画像の品質(予測精度)の低減を抑制することができ、残差成分を低減させることができ、符号化効率の低減を抑制することができる。つまり、ビットストリームの符号量を低減させることができる。換言するに、符号量を保つことにより復号画像の画質を向上させることができる。また、利用可能な予測方向が増えることにより、イントラ予測のブロックの境界の不連続成分が低減するので、復号画像の画質を向上させることができる。
また、AVCやHEVC等のイントラ予測において参照画素が設定されていなかった位置に参照画素を設定することができるようにしてもよい。この参照画素の位置は従来の参照画素の位置と異なる位置であれば任意である。例えば、図10の領域51のような、処理対象領域(カレントブロックとも称する)の右辺に隣接する位置や、カレントブロックの下辺に隣接する位置に参照画素を設定することができるようにしてもよい。なお、参照画素はカレントブロックに隣接していなくてもよい。つまり、イントラ予測を行うカレントブロックより右側や下側に参照画素を設定することができるようにしてもよい。ここで、領域(ブロック)とは、単数または複数の画素からなる任意の領域であり、例えば、TU、PU、CU、SCU、LCU、CTU、CTB、マクロブロック、サブマクロブロック、タイル、スライス、ピクチャ等である。また、カレントブロックより右側の画素は、カレントブロックの右に位置する画素の他に、カレントブロックの右上に位置する画素を含むようにしてもよい。また、カレントブロックより下側の画素は、カレントブロックの下に位置する画素の他に、カレントブロックの左下に位置する画素を含むようにしてもよい。さらに、カレントブロックの右下に位置する画素は、カレントブロックより右側の画素としてもよいし、カレントブロックより下側の画素としてもよい。
このように参照画素の候補を従来よりも多く設定することにより、より多様な位置の参照画素を利用してイントラ予測を行うことができるようになる。これにより、より予測精度の高い参照画素を参照することができるようになるので、予測画像の品質(予測精度)の低減を抑制することができ、残差成分を低減させることができ、符号化効率の低減を抑制することができる。つまり、ビットストリームの符号量を低減させることができる。換言するに、符号量を保つことにより復号画像の画質を向上させることができる。また、参照可能な画素が増えることにより、イントラ予測のブロックの境界の不連続成分が低減するので、復号画像の画質を向上させることができる。
なお、イントラ予測モードの候補を、矩形の処理対象領域の中心から3以上の各辺に向かう方向に設定し、その候補の中から複数を選択してイントラ予測モード(最適な予測モード)として設定し、設定した複数のイントラ予測モードに対応する参照画素を用いてイントラ予測を行うようにしてもよい。例えば、参照画素を、その処理対象領域の3以上の各辺の側に設定し、参照画素の中の、設定した複数のイントラ予測モードのそれぞれに対応する参照画素を用いてイントラ予測を行うようにしてもよい。
より具体的には、イントラ予測モードの候補を、処理対象領域の中心から上辺に向かう方向と左辺に向かう方向との他に、右辺に向かう方向若しくは下辺に向かう方向または両方に設定し、その候補の中から選択して設定した複数のイントラ予測モードを用いてイントラ予測を行うようにしてもよい。例えば、処理対象領域より上側に位置する参照画素、および、処理対象領域より左側に位置する参照画素の他に、処理対象領域より右側に位置する参照画素若しくは処理対象領域より下側に位置する参照画素またはその両方を設定し、参照画素の中の、設定した複数のイントラ予測モードのそれぞれに対応する参照画素を用いてイントラ予測を行うようにしてもよい。
図11は、処理対象領域の中心から4辺のそれぞれに向かう方向にイントラ予測モードの候補を設定し、その候補の中から複数のイントラ予測モードを選択する場合の例を示している。図11においては、矢印52乃至矢印54の3つのイントラ予測モードが最適な予測モードとして選択されている。図9の例の場合と比較して、その予測方向がより多様化している。したがって、より多様な参照画素を参照することができるので、より多様な予測画像を生成することができる。これにより、予測画像の品質(予測精度)の低減を抑制することができ、残差成分を低減させることができ、符号化効率の低減を抑制することができる。つまり、ビットストリームの符号量を低減させることができる。換言するに、符号量を保つことにより復号画像の画質を向上させることができる。また、利用可能な予測方向が増えることにより、イントラ予測のブロックの境界の不連続成分が低減するので、復号画像の画質を向上させることができる。
なお、このような参照画素の生成方法は任意である。
(A) 例えば、既に予測処理が行われて生成された再構成画像の任意の画素(既存画素)を用いて参照画素を生成するようにしてもよい。
(A-1) この既存画素は、再構成画像の画素(つまり予測処理済みの画素)であればいずれの画素であってもよい。
(A-1-1) 例えば、既存画素は、処理対象のピクチャ(カレントピクチャとも称する)の画素であってもよい。例えば、カレントピクチャの、設定する参照画素の近傍に位置する画素であってもよい。また、例えば、カレントピクチャの他のコンポーネントの画像の、設定する参照画素と同じ位置の画素であってもよいし、その参照画素の近傍に位置する画素であってもよい。他のコンポーネントの画素とは、例えば、設定する参照画素が輝度成分の場合、色差成分の画素等である。
(A-1-2) また、既存画素は、例えば、処理済みのフレーム(過去フレーム)の画像の画素であってもよい。例えば、処理対象のフレーム(カレントフレームとも称する)と異なる過去フレームの画像の、設定する参照画素と同じ位置の画素であってもよいし、その参照画素の近傍に位置する画素であってもよいし、動きベクトル(MV)の先の画素であってもよい。
(A-1-3) また、符号化方式が、複数の視点(ビュー)の画像を符号化する多視点符号化の場合、既存画素は、他のビューの画像の画素であってもよい。例えば、他のビューのカレントピクチャの画素であってもよい。例えば、他のビューのカレントピクチャの、設定する参照画素の近傍に位置する画素であってもよい。また、例えば、他のビューのカレントピクチャの他のコンポーネントの画像の、設定する参照画素と同じ位置の画素であってもよいし、その参照画素の近傍に位置する画素であってもよい。また、既存画素は、例えば、他のビューの過去フレームの画像の画素であってもよい。例えば、他のビューの過去フレームの画像の、設定する参照画素と同じ位置の画素であってもよいし、その参照画素の近傍に位置する画素であってもよいし、動きベクトル(MV)の先の画素であってもよい。
(A-1-4) また、符号化方式が、複数の階層(レイヤ)の画像を符号化する階層符号化の場合、既存画素は、他のレイヤの画像の画素であってもよい。例えば、他のレイヤのカレントピクチャの画素であってもよい。例えば、他のレイヤのカレントピクチャの、設定する参照画素の近傍に位置する画素であってもよい。また、例えば、他のレイヤのカレントピクチャの他のコンポーネントの画像の、設定する参照画素と同じ位置の画素であってもよいし、その参照画素の近傍に位置する画素であってもよい。また、既存画素は、例えば、他のレイヤの過去フレームの画像の画素であってもよい。例えば、他のレイヤの過去フレームの画像の、設定する参照画素と同じ位置の画素であってもよいし、その参照画素の近傍に位置する画素であってもよいし、動きベクトル(MV)の先の画素であってもよい。
(A-1-5) また、(A-1-1)乃至(A-1-4)において上述した各画素の内2画素以上を併用するようにしてもよい。
(A-1-6) また、(A-1-1)乃至(A-1-4)において上述した各画素の内2画素以上の中からいずれかの単数若しくは複数の画素を選択して既存画素として用いるようにしてもよい。その選択方法は任意である。例えば、予め定められた優先順に従って選択可能な画素が選択されるようにしてもよい。また、各画素を参照画素として用いた場合のコスト関数値に応じて画素が選択されるようにしてもよい。また、例えばユーザや制御情報等の外部からの指定に応じて画素が選択されるようにしてもよい。さらに、これらのような、既存画素として利用する画素の選択方法を設定(例えば選択)することができるようにしてもよい。なお、このように既存画素として利用する画素(画素の位置)を設定(選択)する場合、その設定(選択)に関する情報(例えば、いずれの(位置の)画素を既存画素として用いるかや、どのような選択方法を用いるか等)を、復号側に伝送するようにしてもよい。
例えば、処理対象領域の上辺に隣接する参照画素と、処理対象領域の右辺に隣接する参照画素とは、処理対象ピクチャの処理済みの領域の再構成画像を用いて設定するようにしてもよい。また、例えば、処理対象領域の右辺に隣接する参照画素、若しくは、処理対象領域の下辺に隣接する参照画素、またはその両方は、他のピクチャの再構成画像を用いて設定するようにしてもよい。
(A-2) 以上のような既存画素を用いた参照画素の生成方法は、任意である。
(A-2-1) 例えば、参照画素は、既存画素を直接的に利用して生成するようにしてもよい。例えば、既存画素の画素値を複製(コピー)して参照画素とするようにしてもよい。つまり、この場合、既存画素と同数の参照画素が生成される(換言するに、設定する参照画素と同数の既存画素が用いられる)。
(A-2-1) 例えば、参照画素は、既存画素を直接的に利用して生成するようにしてもよい。例えば、既存画素の画素値を複製(コピー)して参照画素とするようにしてもよい。つまり、この場合、既存画素と同数の参照画素が生成される(換言するに、設定する参照画素と同数の既存画素が用いられる)。
(A-2-2) また、参照画素は、例えば、既存画素を間接的に利用して生成するようにしてもよい。例えば、既存画素を利用した補間等により参照画素を生成するようにしてもよい。つまり、この場合、既存画素より多数の参照画素が生成される(換言するに、設定する参照画素よりも少数の既存画素が用いられる)。
この補間の方法は任意である。例えば、既存画素に基づいて設定された参照画素をさらに複製(コピー)して他の参照画素を設定するようにしてもよい。この場合、このように設定された各参照画素の画素値は同一となる。また、例えば、既存画素に基づいて設定された参照画素の画素値を線形変換して他の参照画素を設定するようにしてもよい。この場合、このように設定された各参照画素の画素値は線形変換の関数に応じた値となる。この線形変換の関数は任意であり、直線状(例えば比例等のような1次関数等)であってもよいし、曲線(例えば反比例のような関数や2次以上の関数等)であってもよい。また、例えば、既存画素に基づいて設定された参照画素の画素値を非線形変換して他の参照画素を設定するようにしてもよい。
なお、(A-2-1)および(A-2-2)において上述した生成方法の内の2以上を併用するようにしてもよい。例えば、一部の参照画素をコピーにより生成し、他の参照画素を線形変換により求めるようにしてもよい。また、上述した生成方法の内の2以上の中からいずれかの単数若しくは複数の方法を選択することができるようにしてもよい。その選択方法は任意である。例えば、予め定められた優先順に従って選択されるようにしてもよい。また、各方法を用いた場合のコスト関数値に応じて選択されるようにしてもよい。さらに、例えばユーザや制御情報等の外部からの指定に応じて選択されるようにしてもよい。なお、このように生成方法を設定(選択)する場合、その設定(選択)に関する情報(例えば、いずれの方法を用いるかや、その際用された方法に必要なパラメータ等)を、復号側に伝送するようにしてもよい。
(B) また、参照画素は、インター予測により生成するようにしてもよい。例えば、ある処理対象領域(カレントブロック)内において、一部の領域に対してインター予測を行い、その後、他の領域についてイントラ予測を行うようにする。そして、インター予測の予測画像を用いて生成される再構成画像を用いてイントラ予測に用いる参照画素(AVCやHEVC等のイントラ予測において設定されなかった位置の参照画素)を設定するようにする。このような予測処理をインター先イントラ予測処理とも称する。
(C) また、参照画素の生成方法として、(A)および(B)において上述した既存画素を用いる各種方法とインター予測に生成する方法との両方を併用するようにしてもよい。例えば、一部の参照画素を既存画素を用いて生成し、他の参照画素をインター予測により生成するようにしてもよい。また、参照画素の生成方法として、(A)および(B)において上述した各種方法の内のいずれか(単数若しくは複数の方法)を選択するようにしてもよい。その選択方法は任意である。例えば、予め定められた優先順に従って選択されるようにしてもよい。また、各方法を用いた場合のコスト関数値に応じて選択されるようにしてもよい。さらに、例えばユーザや制御情報等の外部からの指定に応じて選択されるようにしてもよい。なお、このように参照画素の生成方法を設定(選択)する場合、その設定(選択)に関する情報(例えば、いずれの方法を用いるかや、その際用された方法に必要なパラメータ等)を、復号側に伝送するようにしてもよい。
例えば、処理対象領域より右側に位置する参照画素、若しくは、処理対象領域より下側に位置する参照画素、またはその両方を、補間処理により設定するようにしてもよい。また例えば、処理対象領域より右側に位置する参照画素、若しくは、処理対象領域より下側に位置する参照画素、または両方を、近傍の画素を複製若しくは処理対象画素の位置に応じて重みづけ演算することにより設定するようにしてもよい。さらに、例えば、前記処理対象領域より右側に位置する参照画素、若しくは、前記処理対象領域より下側に位置する参照画素、または両方を、インター予測を行うことにより設定するようにしてもよい。
<イントラ予測モード>
上述した複数のイントラ予測モードの選択方法は任意である。例えば、最適なモードとして選択することができるイントラ予測モードの数は、可変であってもよいし、固定であってもよい(予め定めらていてもよい)。可変の場合、その数を示す情報を復号側に伝送するようにしてもよい。また、各イントラ予測モードの候補の数(予測方向の範囲)が制限されているようにしてもよい。この制限は固定であってもよいし、可変であってもよい。可変の場合、その制限に関する情報(例えば数や範囲を示す情報)を復号側に伝送するようにしてもよい。また、各イントラ予測モードの候補の範囲の少なくとも一部が重複しないようにしてもよい。この範囲の設定は固定であってもよいし、可変であってもよい。可変の場合、この範囲に関する情報を復号側に伝送するようにしてもよい。
上述した複数のイントラ予測モードの選択方法は任意である。例えば、最適なモードとして選択することができるイントラ予測モードの数は、可変であってもよいし、固定であってもよい(予め定めらていてもよい)。可変の場合、その数を示す情報を復号側に伝送するようにしてもよい。また、各イントラ予測モードの候補の数(予測方向の範囲)が制限されているようにしてもよい。この制限は固定であってもよいし、可変であってもよい。可変の場合、その制限に関する情報(例えば数や範囲を示す情報)を復号側に伝送するようにしてもよい。また、各イントラ予測モードの候補の範囲の少なくとも一部が重複しないようにしてもよい。この範囲の設定は固定であってもよいし、可変であってもよい。可変の場合、この範囲に関する情報を復号側に伝送するようにしてもよい。
例えば、処理対象領域の中心から上辺若しくは左辺に向かう方向のイントラ予測モードの候補の中から単数の候補が選択されて前方イントラ予測モードとして設定され、処理対象領域の中心から右辺に向かう方向のイントラ予測モードの候補、若しくは、処理対象領域の下辺に向かう方向のイントラ予測モードの候補、またはその両方の中から単数の候補が選択されて後方イントラ予測モードとして設定されるようにしてもよい。そして、その設定した前方イントラ予測モードと後方イントラ予測モードとを用いてイントラ予測が行われるようにしてもよい。なお、イントラ予測モード(の候補)は、処理対象領域の中心以外の位置から各辺に向かう方向であってもよい。その位置は任意である。例えば、重心であってもよいし、対角線の交点であってもよい。
つまり、処理対象領域より上側に位置する参照画素および処理対象領域より左側に位置する参照画素の中の、前方イントラ予測モードに対応する参照画素と、処理対象領域より右側に位置する参照画素若しくは処理対象領域より下側に位置する参照画素またはその両方の中の、後方イントラ予測モードに対応する参照画素とを用いてイントラ予測が行われるようにしてもよい。
例えば、図12の矢印61と矢印62のように、処理対象領域31に対して前方イントラ予測モード(fw)と後方イントラ予測モード(bw)を設定するようにする。前方イントラ予測モード(fw)は、処理対象領域31の上辺若しくは左辺に向かう方向のイントラ予測モードの候補群の中から、最適な予測モードとして選択された単数のイントラ予測モードである。後方イントラ予測モード(bw)は、処理対象領域31の右辺に向かう方向のイントラ予測モードの候補群、若しくは、処理対象領域31の下辺に向かう方向のイントラ予測モードの候補群、またはそれらの両方の候補群の中から、最適な予測モードとして選択された単数のイントラ予測モードである。なお、前方イントラ予測モード(fw)と後方イントラ予測モード(bw)とは互いに独立に設定することができるようにしてもよい。そして、このような前方イントラ予測モード(fw)と後方イントラ予測モード(bw)とを用いて処理対象領域31についてのイントラ予測を行うようにする。前方イントラ予測モード(fw)を用いたイントラ予測の場合、例えば、処理対象領域31の上辺に隣接する参照画素と左辺に隣接する参照画素からなる領域32の参照画素が参照されて予測画像が生成される。また、後方イントラ予測モード(bw)を用いたイントラ予測の場合、例えば、処理対象領域31の右辺に隣接する参照画素と下辺に隣接する参照画素からなる領域51の参照画素が参照されて予測画像が生成される。
つまり、前方イントラ予測モード(fw)と後方イントラ予測モード(bw)とを用いたイントラ予測の場合、1つの処理対象領域31内において互いに独立した2つの予測方向の参照画素を用いて予測画像を生成することができる。したがって、この場合、処理対象領域31の絵柄が図8の例のような場合であっても、図13に示されるように、斜線模様の部分領域31Aについては、図中斜め方向の前方イントラ予測モード(矢印61)を用いて予測画像を生成することができ、横線模様の部分領域31Bについては、図中水平方向の後方イントラ予測モード(矢印62)を用いて予測画像を生成することができる。したがって、予測画像の予測精度の低減を抑制することができ、符号化効率の低減を抑制することができる。
図14は、この場合のイントラ予測モードのインデックスの例を示す図である。図中の各矢印は、イントラ予測モードの候補を示し、その先の数字は、そのインデックスを示す。イントラ予測モードはこのインデックスを用いて指定される。
上述したように前方イントラ予測モードは、処理対象領域の上辺若しくは左辺に向かう方向のイントラ予測モードの候補の中から選択される。つまり、前方イントラ予測モードは、図14の両矢印63の範囲のイントラ予測モードの中から選択される。図14に示されるようにこの範囲は、イントラ予測モードのインデックスの範囲と一致するので、前方イントラ予測モードは、図14のイントラ予測モードのインデックスの通りに指定することができる。
例えば、前方イントラ予測モードのインデックス「(fw)10」は、イントラ予測モードのインデックス「10」の方向の前方イントラ予測モード(矢印65)を示す。また、例えば、前方イントラ予測モードのインデックス「(fw)26」は、イントラ予測モードのインデックス「26」の方向の前方イントラ予測モード(矢印66で示される)を示す。このように前方イントラ予測モードは、「0」乃至「34」のインデックスで指定することができる。
また、上述したように後方イントラ予測モードは、処理対象領域の右辺若しくは下辺に向かう方向のイントラ予測モードの候補の中から選択される。つまり、後方イントラ予測モードは、図14の両矢印64の範囲のイントラ予測モードの中から選択される。図14に示されるようにこの範囲は、イントラ予測モードのインデックスの範囲(前方イントラ予測モードの範囲)の逆向き(180度反対方向)であるので、後方イントラ予測モードは、図14のイントラ予測モードのインデックスを逆向きに用いて指定することができる。
例えば、後方イントラ予測モードのインデックス「(bw)5」は、イントラ予測モードのインデックス「5」の逆向きの後方イントラ予測モード(矢印67)を示す。また、例えば、後方イントラ予測モードのインデックス「(bw)10」は、イントラ予測モードのインデックス「10」の逆向きの後方イントラ予測モード(矢印68)を示す。さらに、例えば、後方イントラ予測モードのインデックス「(bw)18」は、イントラ予測モードのインデックス「18」の逆向きの後方イントラ予測モード(矢印69)を示す。このように後方イントラ予測モードも、「0」乃至「34」のインデックスで指定することができる。
このインデックスは、予測情報等として復号側に伝送される。そして、このインデックスの値が大きくなると符号量が増大する。そのため、各イントラ予測モードの候補の数を制限することにより、インデックスの値の増大を抑制することができる。また、各イントラ予測モードの候補の範囲の少なくとも一部が重複しないようにすることにより、最適なモードとして指定することができる予測方向を増大させることができる。つまり、上述のように各イントラ予測モードのインデックスを設定することにより、インデックスの値を増大させずに、最適なモードとして指定するイントラ予測モードの数を増大させることができる。さらに、その予測モード(予測方向)の候補も増大させることができる。したがって、符号化効率の低減を抑制することができる。
<イントラ予測モードの利用方法>
以上のように複数のイントラ予測モードを最適なモードとして選択する場合、その複数のイントラ予測モードの利用方法は任意である。
以上のように複数のイントラ予測モードを最適なモードとして選択する場合、その複数のイントラ予測モードの利用方法は任意である。
(D) 例えば、処理対象領域を複数の部分領域に分け、各部分領域において使用するイントラ予測モードを指定するようにしてもよい。この場合、その部分領域毎にイントラ予測モードに関する情報(例えばインデックス等)が伝送されるようにしてもよい。各部分領域の大きさや形状は任意であり、部分領域同士でそれらが統一されていなくてもよい。例えば、部分領域は、単数の画素からなるようにしてもよいし、複数の画素からなるようにしてもよい。
また、この部分領域(位置、形状、大きさ等)は、予め定められていてもよいし、設定することができるようにしてもよい。部分領域の設定方法は任意である。例えば、ユーザや制御情報等の外部からの指定に基づいて行われるようにしてもよいし、コスト関数値等に基づいて行われるようにしてもよいし、入力画像の特徴に基づいて行われるようにしてもよい。また、予め用意された複数の設定方法の候補の中から選択して用いることができるようにしてもよい。部分領域を設定する場合、設定された部分領域に関する情報(例えば、各部分領域の位置、形状、大きさ等を示す情報)や、その部分領域の設定に関する情報(例えば、どのような方法で決定したかを示す情報等)を、復号側に伝送するようにしてもよい。
例えば図12のように、最適なモードとして前方イントラ予測モードと後方イントラ予測モードを設定する場合、前方イントラ予測モードに対応する参照画素を用いて、処理対象領域の一部の領域に対するイントラ予測を行い、後方イントラ予測モードに対応する参照画素を用いて、処理対象領域のその他の領域に対するイントラ予測を行うようにしてもよい。
例えば図15の場合、処理対象領域31の左上の部分領域71に対して前方イントラ予測モードを設定するイントラ予測(前方予測とも称する)が行われ、処理対象領域31の右下の部分領域72に対して後方イントラ予測モードを設定するイントラ予測(後方予測とも称する)が行われる。つまり、この場合、前方イントラ予測モードは、部分領域71の予測画像の生成に用いられ、後方イントラ予測モードは、部分領域72の予測画像の生成に用いられる。
(E) また、各イントラ予測モードを混合(合成)して利用するようにしてもよい。このイントラ予測モードの混合方法は任意である。例えば、予測画像の各画素を生成する際に、各イントラ予測モードに対応する参照画素の平均値や中央値等を用いるようにしてもよいし、その画素位置等に応じた重みづけ演算により各イントラ予測モードが示す参照画素の画素値を混合するようにしてもよい。
例えば図12のように、最適なモードとして前方イントラ予測モードと後方イントラ予測モードを設定する場合、処理対象領域の予測画像の各画素を生成する際に、前方イントラ予測モードに対応する参照画素と、後方イントラ予測モードに対応する参照画素とを重みづけ演算により混合して用いるようにしてもよい。
例えば図16の場合、処理対象領域の処理対象画素(x,y)の予測画像(予測画素値)は、前方予測により求められた前方イントラ予測モードに対応する参照画素の画素値pf(x,y)と、後方予測により求められた後方イントラ予測モードに対応する参照画素の画素値pb(x,y)とを、その画素位置(x,y)に応じた重み係数を用いて重みづけ演算により混合することにより生成される。
この重みづけ演算の例を図17に示す。つまり、予測画像の各画素値p(x,y)は、例えば、以下の式(1)のように求めることができる。
ここで、wf(x,y)は、前方イントラ予測モードに対応する参照画素の重み係数を示す。この重み係数wf(x,y)は、例えば、図17の左に示されるように、以下の式(2)のように求めることができる。
ここで、Lは、x座標とy座標の最大値を示す。例えば、処理対象領域のサイズが8x8であるとすると、各画素位置における重み係数wf(x,y)の値は、図17の左の表のようになる。
また、wb(x,y)は、後方イントラ予測モードに対応する参照画素の重み係数を示す。この重み係数wb(x,y)は、例えば、図17の右に示されるように、以下の式(3)のように求めることができる。
ここで、Lは、x座標とy座標の最大値を示す。例えば、処理対象領域のサイズが8x8であるとすると、各画素位置における重み係数wb(x,y)の値は、図17の右の表のようになる。
なお、このような混合に関する情報(例えば、関数や変数等)を復号側に伝送するようにしてもよい。また、この混合方法は予め定められていてもよいし、設定することができるようにしてもよい。混合方法を設定する場合(例えば予め用意された複数の混合方法の中から選択する場合)、その設定方法は任意である。例えば、予め定められた優先順に基づいて設定されるようにしてもよいし、ユーザや制御情報等の外部からの指定に基づいて設定されるようにしてもよいし、コスト関数値等に基づいて設定されるようにしてもよいし、入力画像の特徴に基づいて設定されるようにしてもよい。この場合、その混合方法の設定に関する情報(例えば、どのような方法で決定したかを示す情報等)を、復号側に伝送するようにしてもよい。
また、重みづけ演算の重みづけは、画素位置に限らず任意の情報に基づいて行われるようにしてもよい。例えば、入力画像の画素値に基づいて行われるようにしてもよい。
(F) また、(D)および(E)において上述した各方法を併用するようにしてもよい。その場合、その併用の旨を示す情報を復号側に伝送することができるようにしてもよい。
(G) また、(D)乃至(F)において上述した各方法の中からいずれかの単数若しくは複数の方法を選択して用いるようにしてもよい。その選択方法は任意である。例えば、予め定められた優先順に基づいて選択されるようにしてもよいし、ユーザや制御情報等の外部からの指定に基づいて選択されるようにしてもよいし、コスト関数値等に基づいて選択されるようにしてもよいし、入力画像の特徴に基づいて選択されるようにしてもよい。この場合、その選択に関する情報(例えば、どのような方法で決定したかを示す情報等)を、復号側に伝送するようにしてもよい。
<2.第2の実施の形態>
<画像符号化装置>
本実施の形態においては、符号化の際の、第1の実施の形態の(B)等において上述したインター先イントラ予測の具体例について説明する。図18は、本技術を適用した画像処理装置の一態様である画像符号化装置の構成の一例を示すブロック図である。図18に示される画像符号化装置100は、例えば、HEVCの予測処理、またはそれに準ずる(若しくは類似する)方式の予測処理を用いて動画像の画像データを符号化する。なお、図18においては、処理部やデータの流れ等の主なものを示しており、図18に示されるものが全てとは限らない。つまり、画像符号化装置100において、図18においてブロックとして示されていない処理部が存在したり、図18において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
<画像符号化装置>
本実施の形態においては、符号化の際の、第1の実施の形態の(B)等において上述したインター先イントラ予測の具体例について説明する。図18は、本技術を適用した画像処理装置の一態様である画像符号化装置の構成の一例を示すブロック図である。図18に示される画像符号化装置100は、例えば、HEVCの予測処理、またはそれに準ずる(若しくは類似する)方式の予測処理を用いて動画像の画像データを符号化する。なお、図18においては、処理部やデータの流れ等の主なものを示しており、図18に示されるものが全てとは限らない。つまり、画像符号化装置100において、図18においてブロックとして示されていない処理部が存在したり、図18において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
図18に示されるように画像符号化装置100は、画面並べ替えバッファ111、演算部112、直交変換部113、量子化部114、可逆符号化部115、付加情報生成部116、蓄積バッファ117、逆量子化部118、および逆直交変換部119を有する。また、画像符号化装置100は、演算部120、ループフィルタ121、フレームメモリ122、イントラ予測部123、インター予測部124、インター先イントラ予測部125、予測画像選択部126、およびレート制御部127を有する。
画面並べ替えバッファ111は、入力された画像データの各フレームの画像をその表示順に記憶し、記憶した表示の順番のフレームの画像を、GOP(Group Of Picture)に応じて、符号化のためのフレームの順番に並べ替え、フレームの順番を並び替えた画像を、演算部112に供給する。また、画面並べ替えバッファ111は、フレームの順番を並び替えた画像を、イントラ予測部123乃至インター先イントラ予測部125にも供給する。
演算部112は、画面並べ替えバッファ111から読み出された画像から、予測画像選択部126を介してイントラ予測部123乃至インター先イントラ予測部125のいずれかから供給される予測画像を減算し、その差分情報(残差データ)を直交変換部113に供給する。例えば、イントラ符号化が行われる画像の場合、演算部112は、画面並べ替えバッファ111から読み出された画像から、イントラ予測部123から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部112は、画面並べ替えバッファ111から読み出された画像から、インター予測部124から供給される予測画像を減算する。また、例えば、インター先イントラ符号化が行われる画像の場合、演算部112は、画面並べ替えバッファ111から読み出された画像から、インター先イントラ予測部125から供給される予測画像を減算する。
直交変換部113は、演算部112から供給される残差データに対して、離散コサイン変換やカルーネン・レーベ変換等の直交変換を施す。直交変換部113は、その直交変換後の残差データを量子化部114に供給する。
量子化部114は、直交変換部113から供給される直交変換後の残差データを量子化する。量子化部114は、レート制御部127から供給される符号量の目標値に関する情報に基づいて量子化パラメータを設定し、その量子化を行う。量子化部114は、量子化後の残差データを可逆符号化部115に供給する。
可逆符号化部115は、その量子化後の残差データを任意の符号化方式で符号化し、符号化データ(符号化ストリームとも称する)を生成する。
可逆符号化部115の符号化方式としては、例えば、可変長符号化または算術符号化等が挙げられる。可変長符号化としては、例えば、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などが挙げられる。また、coeff_abs_level_remainingと言う、係数情報データのシンタクス処理にTR符号が用いられる。算術符号化としては、例えば、CABAC(Context-Adaptive Binary Arithmetic Coding)などが挙げられる。
また、可逆符号化部115は、各種情報を、符号化データに付加する情報(付加情報)とするために付加情報生成部116に供給する。例えば、可逆符号化部115は、入力画像等に付加されている入力画像や符号化等に関する情報を、付加情報とするために付加情報生成部116に供給するようにしてもよい。また、例えば、可逆符号化部115は、直交変換部113や量子化部114等において残差データに付加された情報を、付加情報とするために付加情報生成部116に供給するようにしてもよい。また、例えば、可逆符号化部115は、イントラ予測、インター予測、またはインター先イントラ予測等に関する情報を予測画像選択部126から取得し、それを付加情報とするために付加情報生成部116に供給するようにしてもよい。また、可逆符号化部115は、例えばループフィルタ121やレート制御部127等、その他の処理部から任意の情報を取得し、それを付加情報とするために付加情報生成部116に供給するようにしてもよい。さらに、可逆符号化部115は、自身が生成した情報等を、付加情報とするために付加情報生成部116に供給するようにしてもよい。
可逆符号化部115は、付加情報生成部116により生成された各種付加情報を符号化データに付加する。そして、可逆符号化部115は、符号化データを蓄積バッファ117に供給して蓄積させる。
付加情報生成部116は、画像データ(残差データ)の符号化データに付加する情報(付加情報)を生成する。この付加情報はどのような情報であってもよい。例えば、付加情報生成部116は、付加情報として、ビデオパラメータセット(VPS(Video Parameter Set))、シーケンスパラメータセット(SPS(Sequence Parameter Set))、ピクチャパラメータセット(PPS(Picture Parameter Set))、スライスヘッダ等の情報を生成するようにしてもよい。また、付加情報生成部116は、付加情報として、例えば、スライス、タイル、LCU、CU、PU、TU、マクロブロック、サブマクロブロック等、任意のデータ単位毎に符号化データに付加する情報を生成するようにしてもよい。また、付加情報生成部116は、付加情報として、例えば、SEI(Supplemental Enhancement Information)やVUI(Video Usability Information)等の情報を生成するようにしてもよい。もちろん、付加情報生成部116は、付加情報として、その他の情報を生成するようにしてもよい。
付加情報生成部116は、例えば、可逆符号化部115から供給される情報を用いて付加情報を生成するようにしてもよい。また、付加情報生成部116は、例えば、自身が生成した情報を用いて付加情報を生成するようにしてもよい。
付加情報生成部116は、生成した付加情報を可逆符号化部115に供給し、符号化データに付加させる。
蓄積バッファ117は、可逆符号化部115から供給された符号化データを、一時的に保持する。蓄積バッファ117は、所定のタイミングにおいて、保持している符号化データを、画像符号化装置100の外部に出力する。すなわち、蓄積バッファ117は、符号化データを伝送する伝送部でもある。
また、量子化部114において得られた量子化後の残差データは、逆量子化部118にも供給される。逆量子化部118は、その量子化後の残差データを、量子化部114による量子化に対応する方法で逆量子化する。逆量子化部118は、その逆量子化により得られた直交変換後の残差データを、逆直交変換部119に供給する。
逆直交変換部119は、その直交変換後の残差データを、直交変換部113による直交変換処理に対応する方法で逆直交変換する。逆直交変換部119は、逆直交変換された出力(復元された残差データ)を演算部120に供給する。
演算部120は、逆直交変換部119から供給された、復元された残差データに、予測画像選択部126を介してイントラ予測部123、インター予測部124、若しくはインター先イントラ予測部125から供給される予測画像を加算し、局所的に再構成された画像(以下、再構成画像とも称する)を得る。その再構成画像は、ループフィルタ121、イントラ予測部123、およびインター先イントラ予測部125に供給される。
ループフィルタ121は、演算部120から供給される復号画像に対して適宜ループフィルタ処理を行う。このループフィルタ処理の内容は任意である。例えば、ループフィルタ121が、復号画像に対してデブロッキングフィルタ処理を行ってデブロック歪を除去するようにしてもよい。また例えば、ループフィルタ121が、ウィナーフィルタ(Wiener Filter)を用いて適応ループフィルタ処理を行うことにより画質改善を行うようにしてもよい。さらに例えば、ループフィルタ121が、サンプルアダプティブオフセット(SAO(Sample Adaptive Offset))処理を行うことにより、動き補償フィルタに起因するリンキングの低減や、デコード画面に発生する場合のある画素値のずれを補正することで画質改善を行うようにしてもよい。また、これら以外のフィルタ処理が行われるようにしてもよい。さらに、複数のフィルタ処理が行われるようにしてもよい。
ループフィルタ121は、必要に応じて、フィルタ処理に用いたフィルタ係数等の情報を可逆符号化部115に供給し、それを符号化させるようにすることもできる。ループフィルタ121は、フィルタ処理を適宜施した再構成画像(復号画像とも称する)をフレームメモリ122に供給する。
フレームメモリ122は、供給される復号画像を記憶し、所定のタイミングにおいて、記憶している復号画像を参照画像としてインター予測部124およびインター先イントラ予測部125に供給する。
イントラ予測部123は、演算部120から参照画像として供給される再構成画像である処理対象ピクチャ内の画素値を用いて予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部123は、予め用意された複数のイントラ予測モードでこのイントラ予測を行う。
イントラ予測部123は、候補となる全てのイントラ予測モードで予測画像を生成し、画面並べ替えバッファ111から供給される入力画像を用いて各予測画像のコスト関数値を評価し、最適なモードを選択する。イントラ予測部123は、最適なイントラ予測モードを選択すると、その最適なイントラ予測モードで生成された予測画像、最適なイントラ予測モードを示すインデックス等のイントラ予測に関する情報であるイントラ予測モード情報、並びに、最適なイントラ予測モードのコスト関数値等を予測画像選択部126に供給する。
インター予測部124は、画面並べ替えバッファ111から供給される入力画像と、フレームメモリ122から供給される参照画像とを用いてインター予測処理(動き予測処理および補償処理)を行う。より具体的には、インター予測部124は、インター予測処理として、動き予測を行って検出された動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。インター予測部124は、予め用意された複数のインター予測モードでこのようなインター予測を行う。
インター予測部124は、候補となる全てのインター予測モードで予測画像を生成する。インター予測部124は、画面並べ替えバッファ111から供給される入力画像と、生成した差分動きベクトルの情報などを用いて、各予測画像のコスト関数値を評価し、最適なモードを選択する。インター予測部124は、最適なインター予測モードを選択すると、その最適なインター予測モードで生成された予測画像、最適なインター予測モードを示すインデックスや動き情報等のインター予測に関する情報であるインター予測モード情報、並びに、最適なインター予測モードのコスト関数値等を予測画像選択部126に供給する。
インター先イントラ予測部125は、本技術を適用した予測部の一態様である。インター先イントラ予測部125は、画面並べ替えバッファ111から供給される入力画像と、演算部120から参照画像として供給される再構成画像と、フレームメモリ122から供給される参照画像とを用いてインター先イントラ予測処理を行う。インター先イントラ予測処理とは、画像の処理対象領域の一部の領域についてインター予測を行い、そのインター予測により生成される予測画像に対応する再構成画像を用いて参照画素を設定し、処理対象領域の他の領域についてその設定した参照画素を用いてイントラ予測を行う処理である。
インター先イントラ予測部125は、複数のモードでこのような処理を行い、コスト関数値に基づいて、最適なインター先イントラ予測モードを選択する。インター先イントラ予測部125は、最適なインター先イントラ予測モードを選択すると、その最適なインター先イントラ予測モードで生成された予測画像、インター先イントラ予測に関する情報であるインター先イントラ予測モード情報、並びに、最適なインター先イントラ予測モードのコスト関数値等を予測画像選択部126に供給する。
予測画像選択部126は、イントラ予測部123乃至インター先イントラ予測部125による予測処理(イントラ予測、インター予測、インター先イントラ予測)を制御する。より具体的には、予測画像選択部126は、CTBの構造(LCU内のCU)やPUを設定するとともに、これらの領域(ブロック)における予測処理に関する制御を行う。
予測処理に関する制御については、例えば、予測画像選択部126は、イントラ予測部123乃至インター先イントラ予測部125を制御し、それぞれに対して、処理対象領域に対する予測処理を実行させ、それぞれから予測結果に関する情報を取得する。予測画像選択部126は、それらの中からいずれか1つを選択することにより、その領域における予測モードを選択する。
予測画像選択部126は、選択したモードの予測画像を演算部112や演算部120に供給する。また、予測画像選択部126は、選択したモードの予測情報やブロックの設定に関する情報(ブロック情報)を可逆符号化部115に供給する。
レート制御部127は、蓄積バッファ117に蓄積された符号化データの符号量に基づいて、オーバフローあるいはアンダーフローが発生しないように、量子化部114の量子化動作のレートを制御する。
<インター先イントラ予測部>
図19は、インター先イントラ予測部125の主な構成例を示すブロック図である。図19に示されるように、インター先イントラ予測部125は、インター予測部131、および複数方向イントラ予測部132を有する。
図19は、インター先イントラ予測部125の主な構成例を示すブロック図である。図19に示されるように、インター先イントラ予測部125は、インター予測部131、および複数方向イントラ予測部132を有する。
インター予測部131は、処理対象領域内の一部の領域に対するインター予測に関する処理を行う。なお、以下において、このインター予測が行われる一部の領域をインター領域とも称する。インター予測部131は、画面並べ替えバッファ111から入力画像を取得し、フレームメモリ122から参照画像を取得するとそれらを用いて、インター領域に対するインター予測を行い、各分割パタン、各モードのインター予測画像とインター予測情報を生成する。詳細については後述するが、処理対象領域内においてインター領域は、処理対象領域の分割パタンに応じて設定される。インター予測部131は、その全ての分割パタンのインター領域についてインター予測を行い、それぞれ、予測画像(および予測情報)を生成する。
また、インター予測部131は、各分割パタン、各モードのコスト関数値を算出する。このコスト関数は任意である。例えば、インター予測部131がRD最適化を行うようにしてもよい。RD最適化では、RDコストが最小の方法が選択される。RDコストは、例えば以下の式(4)により求めることができる。
ここで、JはRDコストを示す。Dは歪量を示し、入力画像との2乗誤差総和(SSE: Sum of Square Error)が用いられることが多い。Rは当該ブロックに対するビットストリームにおけるビットの数(時間当たりに換算するとビットレートに相当する)を示す。λはラグランジェ未定乗数法におけるラグランジェ係数である。
インター予測部131は、このコスト関数値に基づいて各分割パタンの最適なモードを選択する。例えば、インター予測部131は、各分割パタンについて、RDコストが最小のモードを選択する。インター予測部131は、選択したモードの情報を予測画像選択部126に供給する。例えば、インター予測部131は、各分割パタンの、最適モードのインター予測画像とインター予測情報とコスト関数値とを予測画像選択部126に供給する。
複数方向イントラ予測部132は、複数のイントラ予測モードのそれぞれに対応する参照画素を用いて予測画像を生成するイントラ予測を行う。以下において、このようなイントラ予測を複数方向イントラ予測とも称する。また、この複数方向イントラ予測により生成される予測画像を複数方向イントラ予測画像とも称する。さらに、この複数方向イントラ予測に関する情報からなる予測情報を複数方向イントラ予測情報とも称する。
複数方向イントラ予測部132は、処理対象領域内の残りの領域に対して複数方向イントラ予測を行う。なお、以下において、この複数方向イントラ予測が行われる残りの領域をイントラ領域とも称する。複数方向イントラ予測部132は、画面並べ替えバッファ111から入力画像を取得し、演算部120から再構成画像を取得する。この再構成画像には、過去の処理対象領域(予測処理や符号化等が行われた領域)の再構成画像の他に、当該処理対象領域のインター領域の再構成画像も含まれる。複数方向イントラ予測部132は、それらの情報を用いて、インター領域に対する複数方向イントラ予測を行う。
複数方向イントラ予測は、第1の実施の形態において上述したように様々な方法で行うことができる。これらの各種方法うちのいずれを適用してもよい。以下においては、図12の例のように、処理対象領域に対して最適モードとして前方イントラ予測モード(fw)と後方イントラ予測モード(bw)を設定し、それらを用いて予測画像を生成する場合について説明する。
詳細については後述するが、複数方向イントラ予測部132は、各分割パタンの最適モードの、複数方向イントラ予測画像、複数方向イントラ予測情報、およびコスト関数値を生成する。そして、複数方向イントラ予測部132は、それらの情報を予測画像選択部126に供給する。
予測画像選択部126は、インター予測部131と複数方向イントラ予測部132から供給される情報を、インター先イントラ予測に関する情報として取得する。例えば、予測画像選択部126は、インター予測部131から供給される各分割パタンの最適モードのインター予測画像と、複数方向イントラ予測部132から供給される各分割パタンの最適モードの複数方向イントラ予測画像とを、各分割パタンの最適モードのインター先インター予測画像として取得する。また、例えば、予測画像選択部126は、インター予測部131から供給される各分割パタンの最適モードのインター予測情報と、複数方向イントラ予測部132から供給される各分割パタンの最適モードの複数方向イントラ予測情報とを、各分割パタンの最適モードのインター先インター予測情報として取得する。さらに、例えば、予測画像選択部126は、インター予測部131から供給される各分割パタンの最適モードのコスト関数値と、複数方向イントラ予測部132から供給される各分割パタンの最適モードのコスト関数値とを、各分割パタンの最適モードのコスト関数値として取得する。
<複数方向イントラ予測部>
図20は、複数方向イントラ予測部132の主な構成例を示すブロック図である。図20に示されるように、複数方向イントラ予測部132は、参照画素設定部141、予測画像生成部142、モード選択部143、コスト関数算出部144、およびモード選択部145を有する。
図20は、複数方向イントラ予測部132の主な構成例を示すブロック図である。図20に示されるように、複数方向イントラ予測部132は、参照画素設定部141、予測画像生成部142、モード選択部143、コスト関数算出部144、およびモード選択部145を有する。
参照画素設定部141は、参照画素の設定に関する処理を行う。参照画素設定部141は、演算部120から再構成画像を取得し、それを用いて、複数方向イントラ予測を行う領域に対する参照画素の候補を設定する。
予測画像生成部142は、イントラ予測画像の生成に関する処理を行う。例えば、予測画像生成部142は、参照画素設定部141が設定した参照画素を用いて、前方イントラ予測モードおよび後方イントラ予測モードのそれぞれについて、全分割パタンの全モードのイントラ予測画像を生成する。予測画像生成部142は、生成した各方向(前方イントラ予測モードおよび後方イントラ予測モードのそれぞれ)の全分割パタンの全モードのイントラ予測画像をモード選択部143に供給する。
また、予測画像生成部142は、モード選択部143から、各方向の全分割パタンについて、モード選択部143により選択された3モードを指定する情報を取得する。予測画像生成部142は、その情報に基づいて、モード選択部143により選択された前方イントラ予測モードの3モードと後方イントラ予測モードの3モードの全組み合わせ(9通り)について複数方向イントラ予測画像や複数方向イントラ予測情報を生成する。予測画像生成部142は、このようにして生成した各分割パタンの9モード(9通り)の複数方向イントラ予測画像と複数方向イントラ予測情報とをコスト関数算出部144に供給する。
モード選択部143は、画面並べ替えバッファ111から入力画像を取得する。また、モード選択部143は、予測画像生成部142から各方向の全分割パタンの全モードのイントラ予測画像を取得する。モード選択部143は、各方向の全分割パタンについて、予測画像と入力画像との誤差を求め、誤差の小さい3モードを候補モードとして選択する。モード選択部143は、選択した3モードを指定する情報を、各方向の全分割パタンについて、予測画像生成部142に供給する。
コスト関数算出部144は、画面並べ替えバッファ111から入力画像を取得する。また、コスト関数算出部144は、予測画像生成部142から全分割パタンの9モードの複数方向イントラ予測画像および複数方向イントラ予測情報を取得する。コスト関数算出部144は、それらを用いて全分割パタンの9モードのそれぞれについてコスト関数値(例えばRDコスト)を求める。コスト関数算出部144は、全分割パタンの9モードの複数方向イントラ予測画像、複数方向イントラ予測情報、およびコスト関数値をモード選択部145に供給する。
モード選択部145は、全分割パタンの9モードの複数方向イントラ予測画像、複数方向イントラ予測情報、およびコスト関数値をコスト関数算出部144から取得する。モード選択部145は、コスト関数値に基づいて最適なモードを選択する。例えば、RDコストの場合、モード選択部145は、コストが最小のモードを選択する。モード選択部145は、このようなモード選択を全分割パタンについて行う。このように最適なモードを選択すると、モード選択部145は、各分割パタンの最適モードの、複数方向イントラ予測画像、複数方向イントラ予測情報、およびコスト関数値を、予測画像選択部126に供給する。
<予測画像選択部>
図21は、予測画像選択部126の主な構成例を示すブロック図である。図21に示されるように、予測画像選択部126は、ブロック設定部151、ブロック予測制御部152、記憶部153、およびコスト比較部154を有する。
図21は、予測画像選択部126の主な構成例を示すブロック図である。図21に示されるように、予測画像選択部126は、ブロック設定部151、ブロック予測制御部152、記憶部153、およびコスト比較部154を有する。
ブロック設定部151は、ブロックの設定に関する処理を行う。図1乃至図3を参照して説明したように、ブロックは、階層構造(ツリー構造)に形成される。ブロック設定部151は、各LCUについて、このようなブロックの構造を設定する。ブロックの構造はどのような方法で設定されるようにしてもよいが、例えば、図22に示されるように、コスト関数値(例えばRDコスト)を用いて行われる。この場合、ブロックを分割する場合としない場合とでコスト関数値が比較され、より適切な方(RDコストの場合、その値が小さい方)の構造が選択される。この選択の結果を示す情報が、例えばsplit_cu_flag等として設定される。split_cu_flagは、ブロックを分割するか否かを示す情報である。もちろん、選択の結果を示す情報は、任意であり、このsplit_cu_flag以外の情報が含まれるようにしてもよい。このような処理をLCUから下位層に向かって再帰的に繰り返し、全てのブロックが分割されなくなった状態でブロック構造が決定される。
ブロック設定部151は、処理対象のブロックを4分割し、1階層下のブロックを設定する。ブロック設定部151は、その分割されたブロックに関する情報である分割情報をブロック予測制御部152に供給する。
ブロック予測制御部152は、ブロック設定部151により設定された各ブロックについて、最適な予測モードを決定する。この最適な予測モードの決定方法は任意であるが、例えば、図23に示されるように、コスト関数値(例えばRDコスト)を用いて行われる。この場合、各予測モード(イントラ予測、インター予測、インター先イントラ予測の各分割パタン)の最適モードのRDコストが比較され、より適切な方(RDコストの場合、その値が小さい方)の予測モードが選択される。
例えば、HEVCの場合、ブロック(CU)の分割パタンとして、例えば図24のような分割パタンが用意されている。予測処理においては、この分割された各領域(パーティション)がPUとされる。イントラ予測の場合、2Nx2N若しくはNxNの分割パタンが選択可能である。インター予測の場合、図24に示される8つのパタンが選択可能である。インター先イントラ予測の場合も、図24に示される8つのパタンが選択可能である。図23においては、インター先イントラ予測の分割パタンを一部のみ示しているが、実際には全ての分割パタンのRDコストが比較される。もちろん、分割パタンは任意であり、この例に限定されない。
この選択の結果を示す情報が、例えばcu_skip_flag、pred_mode_flag、partition_mode等として設定される。cu_skip_flagは、マージモードであるか否かを示す情報であり、pred_mode_flagは、予測方法(イントラ予測であるか、インター予測であるか、インター先イントラ予測であるか)を示す情報であり、partition_modeは、分割パタン(当該ブロックの分割パタンがいずれであるか)を示す情報である。もちろん、この選択の結果を示す情報は、任意であり、これらの情報以外の情報が含まれるようにしてもよい。
より具体的に説明すると、ブロック予測制御部152は、ブロック設定部151から取得した分割情報に基づいてイントラ予測部123乃至インター先イントラ予測部125を制御し、ブロック設定部151により設定された各ブロックについて、予測処理を実行させる。イントラ予測部123乃至インター先イントラ予測部125からは、それぞれの予測方法の各分割パタンの最適モードの情報が供給される。ブロック予測制御部152は、コスト関数値に基づいてそれらの中から最適なモードを選択する。
ブロック予測制御部152は、各ブロックの、選択した最適モードの予測画像、予測情報、およびコスト関数値を記憶部153に供給する。なお、上述した選択の結果を示す情報や分割情報等は、必要に応じて予測情報に含められる。
記憶部153は、ブロック予測制御部152から供給される各種情報を記憶する。
コスト比較部154は、記憶部153から各ブロックのコスト関数値を取得し、処理対象ブロックのコスト関数値と、その1階層下の分割された各ブロックのコスト関数値の総和を比較し、その比較結果(RDコストの場合、どちらのRDコストが小さいか)を示す情報をブロック設定部151に供給する。
ブロック設定部151は、コスト比較部154による比較の結果に基づいて、処理対象ブロックを分割するか否かを設定する。つまり、ブロック設定部151は、例えば、split_cu_flag等の選択の結果を示す情報を、ブロック構造に関する情報であるブロック情報として設定する。ブロック設定部151は、そのブロック情報を記憶部153に供給し、記憶させる。
以上のような処理がLCUから下位層に向かって再帰的に繰り返されることにより、LCU内のブロック構造が設定されるとともに、各ブロックの最適な予測モードが選択される。
記憶部153に記憶されている各ブロックの最適な予測モードの予測画像は、適宜、演算部112や演算部120に供給される。また、記憶部153に記憶されている各ブロックの最適な予測モードの予測情報やブロック情報は、適宜、可逆符号化部115に供給される。
<インター先イントラ予測の割り当て>
なお、インター先イントラ予測の場合、図24に示される各分割パタンに対して、イントラ予測を行うPUとインター予測を行うPUが、それぞれ、図25のように割り当てられる。図中、右上左下の斜線模様で示される領域が、インター予測が行われるPU(インター領域)であり、右下左上の斜線模様で示される領域が、イントラ予測が行われるPU(イントラ領域)である。なお、各PUの数字は、処理順を示している。つまり、まずインター予測が行われ、その結果を参照画素として利用してイントラ予測(複数方向イントラ予測)が行われる。
なお、インター先イントラ予測の場合、図24に示される各分割パタンに対して、イントラ予測を行うPUとインター予測を行うPUが、それぞれ、図25のように割り当てられる。図中、右上左下の斜線模様で示される領域が、インター予測が行われるPU(インター領域)であり、右下左上の斜線模様で示される領域が、イントラ予測が行われるPU(イントラ領域)である。なお、各PUの数字は、処理順を示している。つまり、まずインター予測が行われ、その結果を参照画素として利用してイントラ予測(複数方向イントラ予測)が行われる。
以上のように画像符号化装置100は、複数方向イントラ予測処理を用いて画像符号化を行うので、第1の実施の形態において上述したように符号化効率の低減を抑制することができる。
<符号化処理の流れ>
次に、画像符号化装置100により実行される各処理の流れの例を説明する。最初に、符号化処理の流れの例を、図26のフローチャートを参照して説明する。
次に、画像符号化装置100により実行される各処理の流れの例を説明する。最初に、符号化処理の流れの例を、図26のフローチャートを参照して説明する。
符号化処理が開始されると、ステップS101において、画面並べ替えバッファ111は、入力された動画像の各フレーム(ピクチャ)の画像をその表示する順番に記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
ステップS102において、イントラ予測部123乃至予測画像選択部126は、予測処理を行う。
ステップS103において、演算部112は、ステップS101の処理によりフレーム順を並び替えられた入力画像と、ステップS102の予測処理により得られた予測画像との差分を演算する。つまり、演算部112は、入力画像と予測画像との残差データを生成する。このようにして求められた残差データは、元の画像データに比べてデータ量が低減される。したがって、画像をそのまま符号化する場合に比べて、データ量を圧縮することができる。
ステップS104において、直交変換部113は、ステップS103の処理により生成された残差データを直交変換する。
ステップS105において、量子化部114は、レート制御部127により算出された量子化パラメータを用いて、ステップS104の処理により得られた直交変換後の残差データを量子化する。
ステップS106において、逆量子化部118は、ステップS105の処理により生成された量子化後の残差データを、その量子化の特性に対応する特性で逆量子化する。
ステップS107において、逆直交変換部119は、ステップS106の処理により得られた直交変換後の残差データを逆直交変換する。
ステップS108において、演算部120は、ステップS107の処理により復元された残差データに、ステップS102の予測処理により得られた予測画像を加算することにより、再構成画像の画像データを生成する。
ステップS109において、ループフィルタ121は、ステップS108の処理により得られた再構成画像の画像データに対して適宜ループフィルタ処理を行う。
ステップS110において、フレームメモリ122は、ステップS109の処理により得られた、局所的に復号された復号画像を記憶する。
ステップS111において、付加情報生成部116は、符号化データに付加する付加情報を生成する。
ステップS112において、可逆符号化部115は、ステップS105の処理により得られた量子化後の残差データを符号化する。すなわち、量子化後の残差データに対して、可変長符号化や算術符号化等の可逆符号化が行われる。また、可逆符号化部115は、ステップS111の処理により生成された付加情報を符号化データに付加する。
ステップS113において蓄積バッファ117は、ステップS112の処理により得られた符号化データを蓄積する。蓄積バッファ117に蓄積された符号化データは、ビットストリームとして適宜読み出され、伝送路や記録媒体を介して復号側に伝送される。
ステップS114においてレート制御部127は、ステップS113の処理により蓄積バッファ117に蓄積された符号化データ等の符号量(発生符号量)に基づいて、オーバフローあるいはアンダーフローが発生しないように、ステップS105の量子化処理のレートを制御する。
ステップS114の処理が終了すると、符号化処理が終了する。
<予測処理の流れ>
次に、図26のステップS102において実行される予測処理の流れの例を、図27のフローチャートを参照して説明する。
次に、図26のステップS102において実行される予測処理の流れの例を、図27のフローチャートを参照して説明する。
予測処理が開始されると、予測画像選択部126のブロック設定部151は、ステップS131において、処理対象階層を最上位階層(すなわちLCU)とする。
ステップS132において、ブロック予測制御部152は、イントラ予測部123乃至インター先イントラ予測部125を制御して、処理対象階層のブロック(すなわちLCU)に対するブロック予測処理を行う。
ステップS133において、ブロック設定部151は、処理対象階層の各ブロックについて1階層下のブロックを設定する。
ステップS134において、ブロック予測制御部152は、イントラ予測部123乃至インター先イントラ予測部125を制御して、処理対象階層の1階層下の各ブロックについてブロック予測処理を行う。
ステップS135において、コスト比較部154は、処理対象階層のブロックのコストと、そのブロックに属する1階層下のブロックのコストの総和とを比較する。コスト比較部154は、このような比較を、処理対象階層の各ブロックについて行う。
ステップS136において、ブロック設定部151は、ステップS135の比較結果に基づいて、処理対象階層のブロックの分割の有無(分割するか否か)を設定する。例えば、ブロック設定部151は、処理対象階層のブロックのRDコストの方がそのブロックの1階層下の各ブロックのRDコストの総和よりも小さい(若しくはその総和以下である)場合、その処理対象階層のブロックを分割しないように設定する。逆に、処理対象階層のブロックのRDコストの方がそのブロックの1階層下の各ブロックのRDコストの総和以上である(若しくはその総和よりも大きい)場合、ブロック設定部151は、その処理対象階層のブロックを分割するように設定する。ブロック設定部151は、このような設定を、処理対象階層の各ブロックについて行う。
ステップS137において、記憶部153は、記憶している、処理対象階層の分割しない各ブロックの予測画像を演算部112および演算部120に供給するとともに、その各ブロックの予測情報やブロック情報を可逆符号化部115に供給する。
ステップS138において、ブロック設定部151は、当該LCUのブロック構造において、現在の処理対象階層よりも下位層が存在するか否かを判定する。つまり、ステップS136において処理対象階層のブロックを分割するように設定した場合、ブロック設定部151は、下位層が存在すると判定し、処理をステップS139に進める。
ステップS139において、ブロック設定部151は、処理対象階層を1階層下に変更する。処理対象階層が更新されると、処理はステップS133に戻り、その新たな処理対象階層に対してそれ以降の処理が繰り返される。つまり、ステップS133乃至ステップS139の各処理がブロック構造の各階層について実行される。
そして、ステップS138において、ステップS136において処理対象階層の全ブロックに対してブロックを分割しないように設定した場合、ブロック設定部151は、下位層が存在しないと判定し、処理をステップS140に進める。
ステップS140において、記憶部153は、最下位層の各ブロックの予測画像を演算部112および演算部120に供給するとともに、その各ブロックの予測情報やブロック情報を可逆符号化部115に供給する。
ステップS140の処理が終了すると、予測処理が終了し、処理は図26に戻る。
<ブロック予測処理の流れ>
次に、図28のフローチャートを参照して、図27のステップS132やステップS134において実行されるブロック予測処理の流れの例を説明する。なお、ステップS134において実行される場合、このブロック予測処理は、処理対象階層の1階層下の各ブロックについて実行される。つまり、処理対象階層の1階層下のブロックが複数存在する場合、このブロック予測処理が複数回実行される。
次に、図28のフローチャートを参照して、図27のステップS132やステップS134において実行されるブロック予測処理の流れの例を説明する。なお、ステップS134において実行される場合、このブロック予測処理は、処理対象階層の1階層下の各ブロックについて実行される。つまり、処理対象階層の1階層下のブロックが複数存在する場合、このブロック予測処理が複数回実行される。
ブロック予測処理が開始されると、イントラ予測部123は、ステップS161において、処理対象ブロックに対してイントラ予測処理を行う。このイントラ予測処理は、従来のAVCやHEVCの場合と同様の参照画素を利用して行われる。
ステップS162において、インター予測部124は、処理対象ブロックに対してインター予測処理を行う。
ステップS163において、インター先イントラ予測部125は、処理対象ブロックに対してインター先イントラ予測処理を行う。
ステップS164において、ブロック予測制御部152は、ステップS161乃至ステップS163の各処理において得られたコスト関数値を比較し、その比較結果に応じて予測画像を選択する。つまり、最適な予測モードが設定される。
ステップS165において、ブロック予測制御部152は、ステップS164において選択された予測画像に対応する予測情報を用いて最適モードの予測情報を生成する。
ステップS165の処理が終了すると、ブロック予測処理が終了し、処理は図27に戻る。
<インター先イントラ予測処理の流れ>
次に、図28のステップS163において実行されるインター先イントラ予測処理の流れの例を、図29のフローチャートを参照して説明する。
次に、図28のステップS163において実行されるインター先イントラ予測処理の流れの例を、図29のフローチャートを参照して説明する。
インター先イントラ予測処理が開始されると、ブロック予測制御部152は、ステップS181において、処理対象CUについて分割パタンを設定し、各PUに予測方法を割り当てる。ブロック予測制御部152は、例えば、図25の例のように予測方法を割り当てる。
ステップS182において、インター予測部131は、全分割パタンのインター領域について、全モードでインター予測を行い、コスト関数値を求め、最適なモードを選択する。
ステップS183において、複数方向イントラ予測部132は、ステップS182の処理により得られた再構成画像等を用いて、全分割パタンのイントラ領域について、複数方向イントラ予測を行う。
ステップS184において、予測画像選択部126は、ステップS182およびステップS183の処理結果を用いて、全分割パタンについて、最適なモードの、インター先イントラ予測画像、インター先イントラ予測情報、およびコスト関数値を生成する。
ステップS184の処理が終了すると、処理は図28に戻る。
<複数方向イントラ予測処理の流れ>
次に、図30のフローチャートを参照して、図29のステップS183において実行される複数方向イントラ予測処理の流れの例を説明する。
次に、図30のフローチャートを参照して、図29のステップS183において実行される複数方向イントラ予測処理の流れの例を説明する。
複数方向イントラ予測処理が開始されると、ステップS191において、参照画素設定部141は、処理対象のPUについて参照画素を設定する。そして、予測画像生成部142は、各方向(前方イントラ予測モードおよび後方イントラ予測モードのそれぞれ)について、全モードの予測画像を生成する。
ステップS192において、モード選択部143は、各方向について、ステップS191の処理により得られた予測画像と入力画像との誤差を求め、その誤差の小さい方から3モードを候補モードとして選択する。
ステップS193において、予測画像生成部142は、ステップS193の処理により選択された各方向の各候補モードを組み合わせた9モード(9通り)のそれぞれについて、複数方向イントラ予測を行い、複数方向イントラ予測画像と複数方向イントラ予測情報とを生成する。
ステップS194において、コスト関数算出部144は、その9モードのそれぞれについて、コスト関数値(例えばRDコスト)を求める。
ステップS195において、モード選択部145は、ステップS194の処理により得られたコスト関数値に基づいて、最適モードを選択する。
ステップS195の処理が終了すると、複数方向イントラ予測処理が終了し、処理は図29に戻る。
以上のように各処理を実行することにより、より多様な予測画像を生成することができるので、イントラ予測の予測精度の低減を抑制することができる。これにより、符号化効率の低減を抑制することができる。換言するに、符号量の増大を抑制したり、画質の低減を抑制したりすることができる。
<2Nx2Nの処理>
次に、以上に説明したインター先イントラ予測処理のより具体的な例について説明する。最初に、分割パタン2Nx2NのCUに対するインター先イントラ予測処理の様子を説明する。
次に、以上に説明したインター先イントラ予測処理のより具体的な例について説明する。最初に、分割パタン2Nx2NのCUに対するインター先イントラ予測処理の様子を説明する。
分割パタン2Nx2Nの場合、図25に示されるように、CUの左上4分の1の領域に対してイントラ予測が割り当てられ(イントラ領域)、それ以外の領域に対してインター予測が割り当てられる(インター領域)。
まず、図31に示されるように、インター領域に対してインター予測の各処理が行われる。まず、このインター領域に対して動き予測(ME(Motion Estimation))が行われて動き情報が得られる(図31のA)。次に、その動き情報を用いて動き補償(MC(Motion Compensation))が行われて予測画像(インター予測画像)が生成される(図31のB)。次に、入力画像とそのインター予測画像との残差データ(残差画像)が得られる(図31のC)。次に、残差データが直交変換される(図31のD)。次に、直交変換後の残差データが量子化される(図31のE)。このようにして得られた量子化後の残差データは符号化される。また、量子化後の残差データは、逆量子化される(図31のF)。次に、逆量子化後の残差データは、逆直交変換される(図31のG)。次に、逆直交変換後の残差データにインター予測画像が加算されることにより、このインター領域の再構成画像が得られる(図31のH)。
次に、図32に示されるように、イントラ領域に対して複数方向イントラ予測の各処理が行われる。この複数方向イントラ予測においては、インター領域に対するインター予測の処理結果(再構成画像)が利用される(図32のA)。まず、参照画素が設定される(図32のB)。つまり、イントラ領域161に対して、既に予測処理が行われたCUの再構成画像を用いて領域162に位置する参照画素(イントラ領域161より上側や左側の参照画素)が設定される。さらに、イントラ領域161に対して、当該CUのインター領域の再構成画像を用いて領域163に位置する参照画素(イントラ領域161より右側や下側の参照画素)が設定される。
次に、それらの参照画素を用いてイントラ領域に対して複数方向イントラ予測が行われて予測画像(イントラ予測画像)が生成される(図32のC)。次に、入力画像とそのイントラ予測画像との残差データ(残差画像)が得られる(図32のD)。次に、残差データが直交変換されて量子化される(図32のE)。このようにして得られた量子化後の残差データは符号化される。また、量子化後の残差データは、逆量子化されて逆直交変換される(図32のF)。次に、逆直交変換後の残差データにイントラ予測画像が加算されることにより、このイントラ領域の再構成画像が得られる(図32のG)。
なお、分割パタンNxNの場合もこの2Nx2Nと同様に行われる。すなわち、左上のPUがイントラ領域として設定され、残りのPUがインター領域として設定される。
<2NxNの処理>
次に、分割パタン2NxNのCUに対するインター先イントラ予測処理の様子を説明する。
次に、分割パタン2NxNのCUに対するインター先イントラ予測処理の様子を説明する。
分割パタン2NxNの場合、図25に示されるように、CUの上2分の1の領域に対してイントラ予測が割り当てられ(イントラ領域)、CUの下2分の1の領域に対してインター予測が割り当てられる(インター領域)。
まず、図33に示されるように、インター領域に対してインター予測の各処理が行われる。まず、このインター領域に対して動き予測(ME)が行われて動き情報が得られる(図33のA)。次に、その動き情報を用いて動き補償(MC)が行われてインター予測画像が生成される(図33のB)。次に、入力画像とそのインター予測画像との残差データが得られる(図33のC)。次に、残差データが直交変換される(図33のD)。次に、直交変換後の残差データが量子化される(図33のE)。このようにして得られた量子化後の残差データは符号化される。また、量子化後の残差データは、逆量子化される(図33のF)。次に、逆量子化後の残差データは、逆直交変換される(図33のG)。次に、逆直交変換後の残差データにインター予測画像が加算されることにより、このインター領域の再構成画像が得られる(図33のH)。
次に、イントラ領域に対して複数方向イントラ予測が行われる。なお、この場合、イントラ領域が長方形であるので、図34に示されるように、このイントラ領域を2つの領域(2aおよび2b)に分けて処理する。
まず、図35のAに示されるように、イントラ領域の図中左側の領域171(2a)について複数方向イントラ予測が行われる。まず、参照画素が設定される。例えば、領域172に位置する参照画素(イントラ領域171より上側や左側の参照画素)は、既に予測処理が行われたCUの再構成画像を用いて設定することができる。また、網掛け模様で示される領域173に位置する参照画素(イントラ領域171より下側の参照画素)は、斜線模様で示されるインター領域はインター予測が行われており再構成画像が生成済みなので、それを用いて設定することができる。
この時点において点線枠で示される領域174の再構成画像は存在しない。そこで、領域174に位置する参照画素を、近傍の画素(例えば、画素175および画素176)の再構成画像を用いて補間処理により設定するようにしてもよい。また、領域174の位置の参照画素(イントラ領域171より右側の参照画素)を設定せずに複数方向イントラ予測を行うようにしてもよい。
例えば、前方イントラ予測は、図36のAにおいて太線枠で示されるように、領域172に位置する参照画素(イントラ領域171より上側や左側の参照画素)を用いて行われるようにしてもよい。なお、この場合、領域173の再構成画像が存在するので、領域172のイントラ領域171の左下の部分に位置する参照画素の代わりに、領域173の一部に位置する参照画素(イントラ領域171の下側の参照画素)を前方イントラ予測に用いるようにしてもよい。
また、例えば、後方イントラ予測は、図36のBにおいて太線枠で示されるように、領域172の一部に位置する参照画素と領域173に位置する参照画素(イントラ領域172より左側や下側の参照画素)を用いて行われるようにしてもよい。この場合も、領域172の再構成画像が存在するので、イントラ領域171の左上の参照画素の代わりに、領域172の一部(イントラ領域171の上側の参照画素)を後方イントラ予測に用いるようにしてもよい。
以上のように前方イントラ予測と後方イントラ予測のそれぞれについて参照画素が設定される。つまり、図37に示されるように、前方イントラ予測の予測モードの候補の範囲を両矢印177のように制限し、後方イントラ予測の予測モードの候補の範囲を両矢印178のように制限するようにしてもよい。
この例の場合、前方イントラ予測モードには、HEVCのイントラ予測と同様のインデックスが割り当てられる。例えば、イントラ予測モードのインデックス「10」の方向の前方イントラ予測モード(矢印181)を示すインデックスが「(fw)10」とされている。また、例えば、イントラ予測モードのインデックス「26」の方向の前方イントラ予測モード(矢印182)を示すインデックスが「(fw)26」とされている。
これに対して、後方イントラ予測モードには、「2」乃至「34」のインデックスが図37のように割り当てられる。例えば、イントラ予測モードのインデックス「18」と逆方向の後方イントラ予測モード(矢印183)を示すインデックスが「(bw)2」とされている。また、例えば、イントラ予測モードのインデックス「26」と逆方向の後方イントラ予測モード(矢印184)を示すインデックスが「(bw)10」とされている。さらに、例えば、イントラ予測モードのインデックス「18」の方向の後方イントラ予測モード(矢印185)を示すインデックスが「(bw)34」とされている。
次に、それらの参照画素を用いて領域171の予測画像が生成される。上述したように、複数方向イントラ予測においては、前方予測の予測画像と後方予測の予測画像とが重みづけ演算される。この場合の重みづけ演算の例を図38に示す。この場合の予測画像の各画素値p(x,y)は、例えば、以下の式(5)のように求めることができる。
ここで、wf(y)は、前方イントラ予測モードに対応する参照画素の重み係数を示す。また、wb(y)は、後方イントラ予測モードに対応する参照画素の重み係数を示す。ここで、図37を用いて説明したように、前方イントラ予測モードと後方イントラ予測モードとの違いは、予測モードの候補が上方向にあるか下方向にあるかであるので、重み係数はy座標に依存するものとしている。
例えば、重み係数wf(y)は、図38の左に示されるように、以下の式(6)のように求めることができる。
ここで、Lは、x座標とy座標の最大値を示す。つまり、図37に示されるように、前方イントラ予測モードの場合、予測モードの候補が上方向に存在し、下方向に存在しないので、上側の座標程参照画素に近くなる(予測精度が高くなる)可能性が高い。したがって重み係数wf(y)は、上側の座標程値が大きくなるようになされている。例えば、処理対象領域のサイズが8x8であるとすると、各画素位置における重み係数wf(y)の値は、図38の左の表のようになる。
また例えば、重み係数wb(y)は、図38の右に示されるように、以下の式(7)のように求めることができる。
ここで、Lは、x座標とy座標の最大値を示す。つまり、図37に示されるように、後方イントラ予測モードの場合、予測モードの候補は下方向に存在し、上方向に存在しないので、下側の座標程参照画素に近くなる(予測精度が高くなる)可能性が高い。したがって重み係数wb(y)は、下側の座標程値が大きくなるようになされている。例えば、処理対象領域のサイズが8x8であるとすると、各画素位置における重み係数wb(y)の値は、図38の右の表のようになる。
以上のように生成された複数方向イントラ予測画像を用いて、領域171(2a)の再構成画像が生成される(図35のB)。
次に、図39のAに示されるように、イントラ領域の図中右側の領域191(2b)についてイントラ予測が行われる。まず、参照画素が設定される。例えば、領域192に位置する参照画素(イントラ領域191より上側の一部や左側の参照画素)は、既に予測処理が行われたCUの再構成画像や、斜線模様で示されるインター領域の再構成画像を用いて設定することができる。
なお、イントラ領域191より上側の残りの参照画素(イントラ領域191の右上の参照画素)は、領域197の再構成画像が存在する場合、その画素値を用いて設定するようにしてもよい。また、領域197の再構成画像が存在しない場合、例えば再構成画像の画素195の画素値を複製することにより、これらの参照画素を設定するようにしてもよい。
また、網掛け模様で示される領域193に位置する参照画素(イントラ領域191より下側の参照画素)は、斜線模様で示されるインター領域の再構成画像を用いて設定することができる。
なお、この時点において領域198の再構成画像は存在しない。そこで、例えば再構成画像の画素196の画素値を複製することにより、領域198の位置の参照画素を設定するようにしてもよい。
そして、この時点において点線枠で示される領域194の再構成画像は存在しない。そこで、領域194に位置する参照画素を、近傍の画素(例えば、画素195および画素196)の再構成画像を用いて補間処理により設定するようにしてもよい。この場合、上述した領域197や領域198の設定は省略することができる。
また、領域194の位置の参照画素(イントラ領域191より右側の参照画素)を設定せずに複数方向イントラ予測を行うようにしてもよい。
例えば、前方イントラ予測は、図40のAにおいて太線枠で示されるように、領域192に位置する参照画素と領域197に位置する参照画素と(イントラ領域191より上側や左側の参照画素)を用いて行われるようにしてもよい。なお、この場合、領域193の再構成画像が存在するので、領域192のイントラ領域191の左下の部分に位置する参照画素の代わりに、領域193に位置する参照画素(イントラ領域191の下側の参照画素)を前方イントラ予測に用いるようにしてもよい。
また、例えば、後方イントラ予測は、図40のBにおいて太線枠で示されるように、領域192の一部に位置する参照画素と領域193に位置する参照画素と領域198に位置する参照画素と(イントラ領域191より左側や下側の参照画素)を用いて行われるようにしてもよい。この場合も、領域192の再構成画像が存在するので、イントラ領域191の左上の参照画素の代わりに、領域192の一部(イントラ領域191の上側の参照画素)を後方イントラ予測に用いるようにしてもよい。
次に、それらの参照画素を用いて領域191の予測画像が生成される。前方イントラ予測と後方イントラ予測との予測画像の混合は、領域171(2a)の場合と同様の方法で行えばよい。そして、以上のように生成された複数方向イントラ予測画像を用いて、領域191(2b)の再構成画像が生成される(図39のB)。
以上のようにしてイントラ領域の複数方向イントラ予測が行われる。なお、分割パタン2NxnUや2NxnDの場合もこの2NxNと基本的に同様に行われる。複数方向イントラ予測は、複数方向イントラ予測を実行することができるような形状にイントラ領域を適宜分割して実行するようにすればよい。
<Nx2Nの処理>
次に、分割パタンNx2NのCUに対するインター先イントラ予測処理の様子を説明する。
次に、分割パタンNx2NのCUに対するインター先イントラ予測処理の様子を説明する。
分割パタンNx2Nの場合、図25に示されるように、CUの左2分の1の領域に対してイントラ予測が割り当てられ(イントラ領域)、CUの右2分の1の領域に対してインター予測が割り当てられる(インター領域)。
まず、図41に示されるように、インター領域に対してインター予測の各処理が行われる。まず、このインター領域に対して動き予測(ME)が行われて動き情報が得られる(図41のA)。次に、その動き情報を用いて動き補償(MC)が行われてインター予測画像が生成される(図41のB)。次に、入力画像とそのインター予測画像との残差データが得られる(図41のC)。次に、残差データが直交変換される(図41のD)。次に、直交変換後の残差データが量子化される(図41のE)。このようにして得られた量子化後の残差データは符号化される。また、量子化後の残差データは、逆量子化される(図41のF)。次に、逆量子化後の残差データは、逆直交変換される(図41のG)。次に、逆直交変換後の残差データにインター予測画像が加算されることにより、このインター領域の再構成画像が得られる(図41のH)。
次に、イントラ領域に対して複数方向イントラ予測が行われる。なお、この場合、イントラ領域が長方形であるので、図42に示されるように、このイントラ領域を2つの領域(2aおよび2b)に分けて処理する。
まず、図43のAに示されるように、イントラ領域の図中左側の領域201(2a)について複数方向イントラ予測が行われる。まず、参照画素が設定される。例えば、領域202に位置する参照画素(イントラ領域201より上側や左側の参照画素)は、既に予測処理が行われたCUの再構成画像を用いて設定することができる。また、網掛け模様で示される領域203に位置する参照画素(イントラ領域201より右側の参照画素)は、斜線模様で示されるインター領域はインター予測が行われており再構成画像が生成済みなので、それを用いて設定することができる。
この時点において点線枠で示される領域204の再構成画像は存在しない。そこで、領域204に位置する参照画素を、近傍の画素(例えば、画素205および画素206)の再構成画像を用いて補間処理により設定するようにしてもよい。また、領域204の位置の参照画素(イントラ領域201より下側の参照画素)を設定せずに複数方向イントラ予測を行うようにしてもよい。
例えば、前方イントラ予測は、図44のAにおいて太線枠で示されるように、領域202に位置する参照画素(イントラ領域201より上側や左側の参照画素)を用いて行われるようにしてもよい。なお、この場合、領域203の再構成画像が存在するので、領域202のイントラ領域201の右上の部分に位置する参照画素の代わりに、領域203の一部に位置する参照画素(イントラ領域201の右側の参照画素)を前方イントラ予測に用いるようにしてもよい。
また、例えば、後方イントラ予測は、図44のBにおいて太線枠で示されるように、領域202の一部に位置する参照画素と領域203に位置する参照画素(イントラ領域202より上側や右側の参照画素)を用いて行われるようにしてもよい。この場合も、領域202の再構成画像が存在するので、イントラ領域201の左上の参照画素の代わりに、領域202の一部(イントラ領域201の左側の参照画素)を後方イントラ予測に用いるようにしてもよい。
以上のように前方イントラ予測と後方イントラ予測のそれぞれについて参照画素が設定される。つまり、図45に示されるように、前方イントラ予測の予測モードの候補の範囲を両矢印207のように制限し、後方イントラ予測の予測モードの候補の範囲を両矢印208のように制限するようにしてもよい。
この例の場合、前方イントラ予測モードには、HEVCのイントラ予測と同様のインデックスが割り当てられる。例えば、イントラ予測モードのインデックス「10」の方向の前方イントラ予測モード(矢印211)を示すインデックスが「(fw)10」とされている。また、例えば、イントラ予測モードのインデックス「26」の方向の前方イントラ予測モード(矢印212)を示すインデックスが「(fw)26」とされている。
これに対して、後方イントラ予測モードには、「2」乃至「34」のインデックスが図35のように割り当てられる。例えば、イントラ予測モードのインデックス「18」の方向の後方イントラ予測モード(矢印213)を示すインデックスが「(bw)2」とされている。また、例えば、イントラ予測モードのインデックス「10」と逆方向の後方イントラ予測モード(矢印214)を示すインデックスが「(bw)26」とされている。さらに、例えば、イントラ予測モードのインデックス「18」と逆方向の後方イントラ予測モード(矢印215)を示すインデックスが「(bw)34」とされている。
次に、それらの参照画素を用いて領域201の予測画像が生成される。上述したように、複数方向イントラ予測においては、前方予測の予測画像と後方予測の予測画像とが重みづけ演算される。この場合の重みづけ演算の例を図46に示す。この場合の予測画像の各画素値p(x,y)は、例えば、以下の式(8)のように求めることができる。
ここで、wf(x)は、前方イントラ予測モードに対応する参照画素の重み係数を示す。また、wb(x)は、後方イントラ予測モードに対応する参照画素の重み係数を示す。ここで、図45を用いて説明したように、前方イントラ予測モードと後方イントラ予測モードとの違いは、予測モードの候補が左方向にあるか右方向にあるかであるので、重み係数はx座標に依存するものとしている。
例えば、重み係数wf(x)は、図46の左に示されるように、以下の式(9)のように求めることができる。
ここで、Lは、x座標とy座標の最大値を示す。つまり、図45に示されるように、前方イントラ予測モードの場合、予測モードの候補が左方向に存在し、右方向に存在しないので、左側の座標程参照画素に近くなる(予測精度が高くなる)可能性が高い。したがって重み係数wf(x)は、左側の座標程値が大きくなるようになされている。例えば、処理対象領域のサイズが8x8であるとすると、各画素位置における重み係数wf(x)の値は、図46の左の表のようになる。
また例えば、重み係数wb(x)は、図46の右に示されるように、以下の式(10)のように求めることができる。
ここで、Lは、x座標とy座標の最大値を示す。つまり、図45に示されるように、後方イントラ予測モードの場合、予測モードの候補は右方向に存在し、左方向に存在しないので、右側の座標程参照画素に近くなる(予測精度が高くなる)可能性が高い。したがって重み係数wb(x)は、右側の座標程値が大きくなるようになされている。例えば、処理対象領域のサイズが8x8であるとすると、各画素位置における重み係数wb(x)の値は、図46の右の表のようになる。
以上のように生成された複数方向イントラ予測画像を用いて、領域201(2a)の再構成画像が生成される(図43のB)。
次に、図47のAに示されるように、イントラ領域の図中下側の領域221(2b)についてイントラ予測が行われる。まず、参照画素が設定される。例えば、領域222に位置する参照画素(イントラ領域221より上側や左側の一部の参照画素)は、既に予測処理が行われたCUの再構成画像や、斜線模様で示されるインター領域の再構成画像を用いて設定することができる。
なお、イントラ領域221より左側の残りの参照画素(イントラ領域221の左下の参照画素)は、領域227の再構成画像が存在する場合、その画素値を用いて設定するようにしてもよい。また、領域227の再構成画像が存在しない場合、例えば再構成画像の画素225の画素値を複製することにより、これらの参照画素を設定するようにしてもよい。
また、網掛け模様で示される領域223に位置する参照画素(イントラ領域221より右側の参照画素)は、斜線模様で示されるインター領域の再構成画像を用いて設定することができる。
なお、この時点において領域228の再構成画像は存在しない。そこで、例えば再構成画像の画素226の画素値を複製することにより、領域228の位置の参照画素を設定するようにしてもよい。
そして、この時点において点線枠で示される領域224の再構成画像は存在しない。そこで、領域194に位置する参照画素を、近傍の画素(例えば、画素225および画素226)の再構成画像を用いて補間処理により設定するようにしてもよい。この場合、上述した領域227や領域228の設定は省略することができる。
また、領域224の位置の参照画素(イントラ領域221より下側の参照画素)を設定せずに複数方向イントラ予測を行うようにしてもよい。
例えば、前方イントラ予測は、図48のAにおいて太線枠で示されるように、領域222に位置する参照画素と領域227に位置する参照画素と(イントラ領域221より上側や左側の参照画素)を用いて行われるようにしてもよい。なお、この場合、領域223の再構成画像が存在するので、領域222のイントラ領域221の右上の部分に位置する参照画素の代わりに、領域223に位置する参照画素(イントラ領域221の右側の参照画素)を前方イントラ予測に用いるようにしてもよい。
また、例えば、後方イントラ予測は、図48のBにおいて太線枠で示されるように、領域222の一部に位置する参照画素と領域223に位置する参照画素と領域228に位置する参照画素と(イントラ領域221より上側や右側の参照画素)を用いて行われるようにしてもよい。この場合も、領域222の再構成画像が存在するので、イントラ領域221の左上の参照画素の代わりに、領域222の一部(イントラ領域221の左側の参照画素)を後方イントラ予測に用いるようにしてもよい。
次に、それらの参照画素を用いて領域221の予測画像が生成される。前方イントラ予測と後方イントラ予測との予測画像の混合は、領域201(2a)の場合と同様の方法で行えばよい。そして、以上のように生成された複数方向イントラ予測画像を用いて、領域221(2b)の再構成画像が生成される(図47のB)。
以上のようにしてイントラ領域の複数方向イントラ予測が行われる。なお、分割パタン2NxnUや2NxnDの場合もこの2NxNと基本的に同様に行われる。複数方向イントラ予測は、複数方向イントラ予測を実行することができるような形状にイントラ領域を適宜分割して実行するようにすればよい。
なお、以上において説明した参照画素生成のための補間処理に用いる再構成画像の画素値は、異なるピクチャの画素値であってもよい。例えば、過去フレームの画素値であってもよいし、他のビューの画素値であってもよいし、他のレイヤの画素値であってもよいし、他のコンポーネントの画素値であってもよい。
<付加情報>
次に、インター先イントラ予測に関する、付加情報として復号側に伝送する情報について説明する。例えば、図49のように分割パタンNx2Nの場合、付加情報として図49に示されるような情報が復号側に伝送される。
次に、インター先イントラ予測に関する、付加情報として復号側に伝送する情報について説明する。例えば、図49のように分割パタンNx2Nの場合、付加情報として図49に示されるような情報が復号側に伝送される。
付加情報にどのような情報が含まれていてもよい。例えば、付加情報に、予測に関する情報(予測情報)が含まれていてもよい。予測情報は、例えば、イントラ予測に関する情報であるイントラ予測情報であってもよし、インター予測に関する情報であるインター予測情報であってもよいし、インター先イントラ予測に関する情報であるインター先イントラ予測情報であってもよい。
また、例えばインター先イントラ予測の処理として実行される複数方向イントラ予測に関する情報である複数方向イントラ予測情報が含まれていてもよい。この複数方向イントラ予測情報には、例えば、採用された複数のイントラ予測モードを示す情報が含まれる。また、この複数方向イントラ予測情報には、例えば、参照画素の生成方法に関する情報である参照画素生成方法情報が含まれるようにしてもよい。
この参照画素生成方法情報には、例えば、参照画素の生成方法を示す情報が含まれるようにしてもよい。また例えばその参照画素の生成方法が補間処理である場合、その補間処理の方法を指定する情報が含まれるようにしてもよい。さらに例えばその補間処理の方法が複数の画素値を混合する方法である場合、その混合の仕方を示す情報等が含まれるようにしてもよい。この混合の仕方を示す情報には、例えば関数や係数等の情報が含まれるようにしてもよい。
また、複数方向イントラ予測情報には、例えば、参照画素の生成に利用した再構成画像に関する情報である利用再構成画像情報が含まれるようにしてもよい。この利用再構成画像情報には、例えば、参照画素の生成に利用した画素が再構成画像のどの画素であるかを示す情報やその画素の位置を示す情報等が含まれるようにしてもよい。
また、複数方向イントラ予測情報には、参照画素の参照方法に関する情報である参照方法情報が含まれるようにしてもよい。この参照方法情報には、例えば、参照方法を示す情報が含まれるようにしてもよい。また例えばその参照方法が複数の参照画素を混合する方法の場合、その混合の仕方を示す情報等が含まれるようにしてもよい。この混合の仕方を示す情報には、例えば関数や係数等の情報が含まれるようにしてもよい。
また、例えば、付加情報に、ブロックやブロックの構造に関する情報であるブロック情報が含まれるようにしてもよい。ブロック情報には、例えば、分割フラグ(split_cu_flag)、分割モード(partition_mode)、スキップフラグ(cu_skip_flag)、予測モード(pred_mode_flag)等の情報が含まれるようにしてもよい。
さらに、例えば、付加情報に、予測処理を制御する制御情報が含まれるようにしてもよい。この制御情報には、例えば、インター先イントラ予測の制限に関する情報が含まれるようにしてもよい。例えば、その情報が割り当てられた当該領域(例えば、ピクチャ、スライス、タイル、LCU、CU、PU等)に属する領域(例えば、CU、PU等)、すなわち、当該領域内の下位層の領域において、インター先イントラ予測を許可する(able)か否かを示す情報が制御情報に含まれるようにしてもよい。換言するに、当該領域に属する領域においてインター先イントラ予測を禁止する(disable)か否かを示す情報が制御情報に含まれるようにしてもよい。
さらに、例えば、制御情報に、複数方向イントラ予測の制限に関する情報が含まれるようにしてもよい。例えば、その情報が割り当てられた当該領域(例えば、ピクチャ、スライス、タイル、LCU、CU、PU等)に属する領域(例えば、CU、PU等)、すなわち、当該領域内の下位層の領域において、複数方向イントラ予測を許可する(able)か否かを示す情報が制御情報に含まれるようにしてもよい。換言するに、当該領域に属する領域において複数方向イントラ予測を禁止する(disable)か否かを示す情報が制御情報に含まれるようにしてもよい。
また、制御情報には、例えば、参照画素の生成方法の制限に関する情報が含まれるようにしてもよい。例えば、その情報が割り当てられた当該領域(例えば、ピクチャ、スライス、タイル、LCU、CU、PU等)に属する領域(例えば、CU、PU等)において、参照画素の所定の生成方法を許可する(able)か否かを示す情報が制御情報に含まれるようにしてもよい。換言するに、当該領域に属する領域においてその生成方法を禁止する(disable)か否かを示す情報が制御情報に含まれるようにしてもよい。
なお、この制限の対象となる生成方法は任意である。例えば、複製(コピー)であってもよいし、補間処理であってもよいし、インター先イントラ予測であってもよい。また、それらの内複数の方法を制限の対象としてもよい。複数の生成方法を制限の対象とする場合、各方法を個別に制限するようにしてもよいし、まとめて制限するようにしてもよい。
また、制御情報には、例えば、参照画素の生成に利用する再構成画像の画素の制限に関する情報が含まれるようにしてもよい。例えば、その情報が割り当てられた当該領域(例えば、ピクチャ、スライス、タイル、LCU、CU、PU等)に属する領域(例えば、CU、PU等)において、再構成画像の所定の画素の、参照画素の生成への利用を許可する(able)か否かを示す情報が、制御情報に含まれるようにしてもよい。換言するに、当該領域に属する領域において、再構成画像の所定の画素の、参照画素の生成への利用を禁止する(disable)か否かを示す情報が、制御情報に含まれるようにしてもよい。
この制限は、画素単位で行われるようにしてもよいし、複数の画素からなる領域毎に行われるようにしてもよい。
また、制御情報には、例えば、参照画素の参照方法(参照の仕方)の制限に関する情報が含まれるようにしてもよい。例えば、その情報が割り当てられた当該領域(例えば、ピクチャ、スライス、タイル、LCU、CU、PU等)に属する領域(例えば、CU、PU等)において、参照画素の所定の参照方法を許可する(able)か否かを示す情報が、制御情報に含まれるようにしてもよい。換言するに、当該領域に属する領域において、参照画素の所定の参照方法を禁止する(disable)か否かを示す情報が、制御情報に含まれるようにしてもよい。例えば、複数方向イントラ予測であってもよい。また、これらの内複数の方法を制限の対象としてもよい。さらにその場合、各方法を互いに独立に制限するようにしてもよいし、複数の方法をまとめて制限するようにしてもよい。
例えば、指定可能な(若しくは指定が禁止される)モード(予測方向)を制限することができるようにしてもよい。また、例えば、参照の際に複数の参照画素を混合する場合、その関数や係数等を制限するようにしてもよい。
また、制御情報には、例えばその他の情報の制限に関する情報が含まれるようにしてもよい。例えば、その情報が割り当てられた当該領域(例えば、ピクチャ、スライス、タイル、LCU、CU、PU等)に属する領域(例えば、CU、PU等)において、その領域のサイズ(例えばCUサイズの下限等)を制限する情報が、制御情報に含まれるようにしてもよい。また、例えば、その情報が割り当てられた当該領域(例えば、ピクチャ、スライス、タイル、LCU、CU、PU等)に属する領域(例えば、CU、PU等)において、設定可能な分割パタンを制限する情報が、制御情報に含まれるようにしてもよい。
また、制御情報には、各種パラメータの、その制御情報が割り当てられた当該領域(例えば、ピクチャ、スライス、タイル、LCU、CU、PU等)内における初期値が含まれるようにしてもよい。
もちろん、制御情報には、上述した例以外の情報が含まれるようにしてもよい。
<3.第3の実施の形態>
<画像復号装置>
次に、以上のように符号化された符号化データの復号について説明する。図50は、本技術を適用した画像処理装置の一態様である画像復号装置の構成の一例を示すブロック図である。図50に示される画像復号装置300は、図18の画像符号化装置100に対応する画像復号装置であり、画像符号化装置100が生成した符号化データを、その符号化方法に対応する復号方法で復号する。なお、図50においては、処理部やデータの流れ等の主なものを示しており、図50に示されるものが全てとは限らない。つまり、画像復号装置300において、図50においてブロックとして示されていない処理部が存在したり、図50において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
<画像復号装置>
次に、以上のように符号化された符号化データの復号について説明する。図50は、本技術を適用した画像処理装置の一態様である画像復号装置の構成の一例を示すブロック図である。図50に示される画像復号装置300は、図18の画像符号化装置100に対応する画像復号装置であり、画像符号化装置100が生成した符号化データを、その符号化方法に対応する復号方法で復号する。なお、図50においては、処理部やデータの流れ等の主なものを示しており、図50に示されるものが全てとは限らない。つまり、画像復号装置300において、図50においてブロックとして示されていない処理部が存在したり、図50において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
図50に示されるように画像復号装置300は、蓄積バッファ311、可逆復号部312、逆量子化部313、逆直交変換部314、演算部315、ループフィルタ316、画面並べ替えバッファ317を有する。また、画像復号装置300は、フレームメモリ318、イントラ予測部319、インター予測部320、インター先イントラ予測部321、および予測画像選択部322を有する。
蓄積バッファ311は、伝送されてきた符号化データを蓄積し、所定のタイミングにおいてその符号化データを可逆復号部312に供給する。可逆復号部312は、蓄積バッファ311より供給された符号化データを、図18の可逆符号化部115の符号化方式に対応する方式で復号する。可逆復号部312は、符号化データを復号して量子化後の残差データを得ると、それを逆量子化部313に供給する。
また、可逆復号部312は、符号化データを復号して得られた付加情報に含まれる予測情報を参照し、イントラ予測が選択されたか、インター予測が選択されたか、若しくはインター先イントラ予測が選択されたかを判定する。可逆復号部312は、その判定結果に基づいて、予測情報やブロック情報等の予測処理に必要な情報を、イントラ予測部319、インター予測部320、若しくはインター先イントラ予測部321に供給する。
逆量子化部313は、可逆復号部312から供給された量子化後の残差データを逆量子化する。つまり、逆量子化部313は、図18の量子化部114の量子化方式に対応する方式で逆量子化を行う。逆量子化部313は、その逆量子化により直交変換後の残差データを得ると、それを逆直交変換部314に供給する。
逆直交変換部314は、逆量子化部313から供給された直交変換後の残差データを逆直交変換する。つまり、逆直交変換部314は、図18の直交変換部113の直交変換方式に対応する方式で逆直交変換を行う。逆直交変換部314は、この逆直交変換処理により残差データを得ると、それを演算部315に供給する。
演算部315は、逆直交変換部314から供給された残差データに、予測画像選択部322から供給された予測画像を加算し、再構成画像を得る。演算部315は、その再構成画像をループフィルタ316、イントラ予測部319、およびインター先イントラ予測部321に供給する。
ループフィルタ316は、図18のループフィルタ121が行うのと同様のループフィルタ処理を行う。その際、ループフィルタ316が、図18の画像符号化装置100から供給されたフィルタ係数等を用いてループフィルタ処理を行うようにしてもよい。ループフィルタ316は、フィルタ処理結果である復号画像を画面並べ替えバッファ317およびフレームメモリ318に供給する。
画面並べ替えバッファ317は、供給された復号画像の並べ替えを行う。すなわち、図18の画面並べ替えバッファ111により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。画面並べ替えバッファ317は、フレームの順番を並べ替えた復号画像データを画像復号装置300の外部に出力する。
フレームメモリ318は、供給される復号画像を記憶する。また、フレームメモリ318は、所定のタイミングにおいて、若しくは、インター予測部320やインター先イントラ予測部321等の外部の要求に基づいて、記憶している復号画像等をインター予測部320やインター先イントラ予測部321に供給する。
イントラ予測部319は、演算部315から供給される再構成画像を利用してイントラ予測を行う。インター予測部320は、フレームメモリ318から供給される復号画像を利用してインター予測を行う。インター先イントラ予測部321は、本技術を適用した予測部の一態様である。インター先イントラ予測部321は、演算部315から供給される再構成画像、並びに、フレームメモリ318から供給される復号画像を利用してインター先イントラ予測処理を行う。
イントラ予測部319乃至インター先イントラ予測部321は、可逆復号部312から供給される予測情報やブロック情報等に従って、予測処理を行う。つまり、イントラ予測部319乃至インター先イントラ予測部321は、符号化側において採用された方法(予測方法、分割パタン、予測モード等)で予測処理を行う。例えば、インター先イントラ予測部321は、画像の処理対象領域の一部の領域についてインター予測を行い、そのインター予測により生成される予測画像に対応する再構成画像を用いて参照画素を設定し、処理対象領域の他の領域についてその設定した参照画素を用いて複数方向イントラ予測を行う。
このように、各CUに対して、イントラ予測部319によるイントラ予測、インター予測部320によるインター予測、インター先イントラ予測部321によるインター先イントラ予測のいずれかが行われる。予測を行った予測部(イントラ予測部319乃至インター先イントラ予測部321のいずれか)は、予測結果として予測画像を予測画像選択部322に供給する。予測画像選択部322は、供給された予測画像を演算部315に供給する。
上述したように演算部315は、復号されて得られた残差データ(残差画像)と、インター先イントラ予測部321等により生成される予測画像とを用いて再構成画像(復号画像)を生成する。
<インター先イントラ予測部>
図51は、インター先イントラ予測部321の主な構成例を示すブロック図である。図51に示されるようにインター先イントラ予測部321は、インター予測部331および複数方向イントラ予測部332を有する。
図51は、インター先イントラ予測部321の主な構成例を示すブロック図である。図51に示されるようにインター先イントラ予測部321は、インター予測部331および複数方向イントラ予測部332を有する。
インター予測部331は、インター予測に関する処理を行う。例えば、インター予測部331は、可逆復号部312から供給されたインター予測情報に基づいて、フレームメモリ318から参照画像を取得し、その参照画像を用いてインター領域のインター予測を行い、インター領域についてのインター予測画像を生成する。インター予測部331は、生成したインター予測画像を予測画像選択部322に供給する。
複数方向イントラ予測部332は、複数方向イントラ予測に関する処理を行う。例えば、複数方向イントラ予測部332は、可逆復号部312から供給された複数方向イントラ予測情報に基づいて、演算部315から、インター領域の再構成画像を含む再構成画像を取得し、その再構成画像を用いてイントラ領域の複数方向イントラ予測を行い、イントラ領域についての複数方向イントラ予測画像を生成する。複数方向イントラ予測部332は、生成した複数方向イントラ予測画像を予測画像選択部322に供給する。
予測画像選択部322は、インター予測部331から供給されるインター予測画像と、複数方向イントラ予測部332から供給される複数方向イントラ予測画像とをまとめ、インター先イントラ予測画像とする。予測画像選択部322は、そのインター先イントラ予測画像を予測画像として演算部315に供給する。
<複数方向イントラ予測部>
図52は、複数方向イントラ予測部332の主な構成例を示すブロック図である。図52に示されるように、複数方向イントラ予測部332は、参照画素設定部341と予測画像生成部342とを有する。
図52は、複数方向イントラ予測部332の主な構成例を示すブロック図である。図52に示されるように、複数方向イントラ予測部332は、参照画素設定部341と予測画像生成部342とを有する。
参照画素設定部341は、可逆復号部312から供給された複数方向イントラ予測情報に基づいて、演算部315から、インター領域の再構成画像を含む再構成画像を取得し、その再構成画像を用いて参照画素を設定する。参照画素設定部341は、設定した参照画素を予測画像生成部342に供給する。
予測画像生成部342は、参照画素設定部341から供給された参照画素を用いて、複数方向イントラ予測を行い、複数方向イントラ予測画像を生成する。予測画像生成部342は、生成した複数方向イントラ予測画像を予測画像選択部322に供給する。
以上のように画像復号装置300は、画像符号化装置100において採用された方法と同様の方法で予測処理を行うので、画像符号化装置100により符号化されたビットストリームを正しく復号することができる。したがって、画像復号装置300は、符号化効率の低減の抑制を実現することができる。
<復号処理の流れ>
次に、以上のような画像復号装置300により実行される各処理の流れについて説明する。最初に、図53のフローチャートを参照して、復号処理の流れの例を説明する。
次に、以上のような画像復号装置300により実行される各処理の流れについて説明する。最初に、図53のフローチャートを参照して、復号処理の流れの例を説明する。
復号処理が開始されると、ステップS301において、蓄積バッファ311は、伝送されてきた符号化データ(ビットストリーム)を蓄積する。ステップS302において、可逆復号部312は、蓄積バッファ311から供給される符号化データを復号する。ステップS303において、可逆復号部312は、符号化データから付加情報を抽出し、取得する。
ステップS304において、逆量子化部313は、ステップS302の処理により符号化データが復号されて得られた量子化後の残差データを逆量子化する。ステップS305において逆直交変換部314は、ステップS304において逆量子化されて得られた直交変換後の残差データを逆直交変換する。
ステップS306において、可逆復号部312、並びに、イントラ予測部319乃至インター先イントラ予測部321は、供給された情報を用いて予測処理を行い、予測画像を生成する。ステップS307において、演算部315は、ステップS305において逆直交変換されて得られた残差データに、ステップS306において生成された予測画像を加算する。これにより再構成画像が生成される。
ステップS308において、ループフィルタ316は、ステップS307において得られた再構成画像に対してループフィルタ処理を適宜行い、復号画像を生成する。
ステップS309において、画面並べ替えバッファ317は、ステップS308においてループフィルタ処理されて生成された復号画像の並べ替えを行う。すなわち画像符号化装置100の画面並べ替えバッファ111により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
ステップS310において、フレームメモリ318は、ステップS308においてループフィルタ処理されて得られた復号画像を記憶する。この復号画像は、インター予測やインター先イントラ予測において参照画像として利用される。
ステップS310の処理が終了すると、復号処理が終了される。
<予測処理の流れ>
次に、図54のフローチャートを参照して、図53のステップS306において行われる予測処理の流れの例を説明する。
次に、図54のフローチャートを参照して、図53のステップS306において行われる予測処理の流れの例を説明する。
予測処理が開始されると、可逆復号部312は、ステップS331において、符号化データから取得した付加情報に基づいて、処理対象領域について、画像符号化装置100において採用された予測方法がインター先イントラ予測であるか否かを判定する。画像符号化装置100においてインター先イントラ予測が採用されたと判定すると、処理はステップS332に進む。ステップS332において、インター先イントラ予測部321は、インター先イントラ予測処理を行い、処理対象領域の予測画像を生成する。予測画像が生成されると予測処理が終了し、処理は図53に戻る。
また、ステップS331においてインター先イントラ予測が採用されていないと判定された場合、処理はステップS333に進む。ステップS333において、可逆復号部312は、符号化データから取得した付加情報に基づいて、処理対象領域について、画像符号化装置100において採用された予測方法がイントラ予測であるか否かを判定する。画像符号化装置100においてイントラ予測が採用されたと判定すると、処理はステップS334に進む。ステップS334において、イントラ予測部319は、イントラ予測処理を行い、処理対象領域の予測画像を生成する。予測画像が生成されると予測処理が終了し、処理は図53に戻る。
また、ステップS333においてイントラ予測が採用されていないと判定された場合、処理はステップS335に進む。ステップS335において、インター予測部320は、インター予測を行い、処理対象領域の予測画像を生成する。予測画像が生成されると予測処理が終了し、処理は図53に戻る。
<インター先イントラ予測処理の流れ>
次に、図55のフローチャートを参照して、図54のステップS332において実行されるインター先イントラ予測処理の流れの例を説明する。
次に、図55のフローチャートを参照して、図54のステップS332において実行されるインター先イントラ予測処理の流れの例を説明する。
インター先イントラ予測処理が開始されると、インター先イントラ予測部321は、ステップS351において、可逆復号部312から供給されるインター予測情報により指定される(すなわち符号化側から指定される)分割パタンを設定する。
ステップS352において、インター予測部331は、処理対象領域のインター領域について、インター予測を行い、インター予測画像を生成する。
ステップS353において、インター予測部331は、ステップS351の処理により生成されたインター予測画像を予測画像選択部322に供給し、演算部315において残差データに加算させることにより、そのインター予測画像に対応する再構成画像(すなわち当該インター領域の再構成画像)を生成する。
ステップS354において、複数方向イントラ予測部332は、ステップS353の処理により得られた再構成画像を含む再構成画像を用いて、処理対象領域内のイントラ領域について、イントラ予測を行い、当該イントラ領域の複数方向イントラ予測画像を生成する。ステップS354の処理が終了するとインター先イントラ予測処理が終了し、処理は図54に戻る。
<複数方向イントラ予測処理の流れ>
次に、図56のフローチャートを参照して、図55のステップS354において実行される複数方向イントラ予測処理の流れの例を説明する。
次に、図56のフローチャートを参照して、図55のステップS354において実行される複数方向イントラ予測処理の流れの例を説明する。
複数方向イントラ予測処理が開始されると、ステップS371において、参照画素設定部341は、複数方向イントラ予測情報により指定された(すなわち符号化側に指定された)複数のイントラ予測モード(例えば前方イントラ予測モードと後方イントラ予測モード)のそれぞれに対応する参照画素を設定する。
ステップS372において、予測画像生成部342は、ステップS371において設定された参照画素を用いて、第2の実施の形態において上述した符号化側の場合と同様の方法で複数方向イントラ予測画像を生成する。
ステップS372の処理が終了すると複数方向イントラ予測処理が終了し、処理は図55に戻る。
以上のように各処理を実行することにより、画像復号装置300は、符号化効率の低減の抑制を実現することができる。なお、上述した各実施の形態において、例えば、図14、図37、図45に示される例のように、前方イントラ予測モードの候補の方向の範囲と後方イントラ予測モードの候補の方向の範囲とは、互いに完全に同一でなければよい。例えば、図37や図45の例のように、それぞれの候補の方向の範囲の一部が重なっていてもよい。また、例えば、前方イントラ予測モード若しくは後方イントラ予測モードまたはその両方の候補の方向の範囲が、複数に分かれていてもよい。つまり、前方イントラ予測モードおよび後方イントラ予測モードは、その候補の範囲の少なくとも一部が互いに異なっている限り、それぞれ任意の方向の候補から選択されるようにすることができる。また、それぞれの候補の方向の範囲の広さが互いに同一でなくてもよい。例えば、前方イントラ予測モードが処理対象領域の1辺に向かう方向の候補の中から選択され、後方イントラ予測モードが処理対象領域の3辺に向かう方向の候補の中から選択されるようにしてもよい。
<4.第4の実施の形態>
<後方イントラ予測情報>
なお、後方イントラ予測モードのインデックスは、前方イントラ予測モードのインデックスとの差分で表すようにしてもよい。
<後方イントラ予測情報>
なお、後方イントラ予測モードのインデックスは、前方イントラ予測モードのインデックスとの差分で表すようにしてもよい。
複数方向イントラ予測の最適モードとして選択された前方イントラ予測モードおよび後方イントラ予測モードは、それぞれ、インデックスとして複数方向イントラ予測情報に含められ、復号側に伝送される。
HEVCにおいてイントラ予測が採用されていることを考慮すると、HEVCのイントラ予測により符号化効率が向上するケースが多いと考えられる。つまり、複数方向イントラ予測の場合も、このHEVCのイントラ予測に近いパタンが多くなると考えられる。すなわち、後方イントラ予測モードは、前方イントラ予測モードの逆向き(180度反対方向)となる場合が多いと考えられる。例えば、図14の場合、前方イントラ予測モードが「(fw)10」の場合、後方イントラ予測モードが「(bw)10」になる可能性が高い。
図14の場合、前方イントラ予測モードと後方イントラ予測モードとが互いに逆向きになるとき、互いのインデックスの値が同一となる。そして、上述したように、インデックスの値は小さい程符号量を低減させることができる。そこで、後方イントラ予測モードのインデックスを、図57や図58の例のように、前方イントラ予測モードのインデックスとの差分で表すようにすることにより、後方イントラ予測モードのインデックスの値を小さくすることができ、符号化効率の低減をより抑制することができる。
図57においては、前方イントラ予測モードが「(fw)10」である。後方イントラ予測モードがその逆向きである場合、その後方イントラ予測モードのインデックスは「(bw)0」となる。また、後方イントラ予測モードが図中1つ上のモード(イントラ予測モード「9」の逆向き)である場合、その後方イントラ予測モードのインデックスは「(bw)-1」となる。また、後方イントラ予測モードが図中1つ下のモード(イントラ予測モード「11」の逆向き)である場合、その後方イントラ予測モードのインデックスは「(bw)+1」となる。
図58においては、前方イントラ予測モードが「(fw)26」である。後方イントラ予測モードがその逆向きである場合、その後方イントラ予測モードのインデックスは「(bw)0」となる。また、後方イントラ予測モードが図中1つ右のモード(イントラ予測モード「25」の逆向き)である場合、その後方イントラ予測モードのインデックスは「(bw)-1」となる。また、後方イントラ予測モードが図中1つ左のモード(イントラ予測モード「27」の逆向き)である場合、その後方イントラ予測モードのインデックスは「(bw)+1」となる。
<5.第5の実施の形態>
<複数方向イントラ予測>
第2の実施の形態および第3の実施の形態においては、参照画素の生成方法として、第1の実施の形態の(B)において説明したインター先イントラ予測を適用する例について説明したが、参照画素の生成方法は任意であり、これに限定されない。例えば、第1の実施の形態の(A)((A-1)、(A-1-1)乃至(A-1-6)、(A-2)、(A-2-1)、(A-2-2)を含む)において上述したように、既に予測処理が行われて生成された再構成画像の任意の画素(既存画素)を用いて参照画素を生成するようにしてもよい。
<複数方向イントラ予測>
第2の実施の形態および第3の実施の形態においては、参照画素の生成方法として、第1の実施の形態の(B)において説明したインター先イントラ予測を適用する例について説明したが、参照画素の生成方法は任意であり、これに限定されない。例えば、第1の実施の形態の(A)((A-1)、(A-1-1)乃至(A-1-6)、(A-2)、(A-2-1)、(A-2-2)を含む)において上述したように、既に予測処理が行われて生成された再構成画像の任意の画素(既存画素)を用いて参照画素を生成するようにしてもよい。
<画像符号化装置>
この場合の画像符号化装置100の主な構成例を図59に示す。なお、図59においては、処理部やデータの流れ等の主なものを示しており、図59に示されるものが全てとは限らない。つまり、画像符号化装置100において、図59においてブロックとして示されていない処理部が存在したり、図59において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
この場合の画像符号化装置100の主な構成例を図59に示す。なお、図59においては、処理部やデータの流れ等の主なものを示しており、図59に示されるものが全てとは限らない。つまり、画像符号化装置100において、図59においてブロックとして示されていない処理部が存在したり、図59において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
図59に示されるように、画像符号化装置100は、この場合も、基本的に図18の場合と同様の構成を有する。ただし、イントラ予測部123およびインター先イントラ予測部125の代わりに、複数方向イントラ予測部401を有し、予測画像選択部126の代わりに予測画像選択部402を有する。
複数方向イントラ予測部401は、基本的に、複数方向イントラ予測部132と同様の処理部である。すなわち、複数方向イントラ予測部401は、図20を参照して説明した複数方向イントラ予測部132と同様の構成を有する。つまり、図20のブロック図は、複数方向イントラ予測部401の説明にも利用することができる。
また、複数方向イントラ予測部132と基本的に同様の処理(複数方向イントラ予測に関する処理)を行う。ただし、複数方向イントラ予測部401は、インター先イントラ予測の処理として複数方向イントラ予測に関する処理を行わない。すなわち、複数方向イントラ予測部401は、参照画素を、インター予測を用いて生成せずに、既存画素を用いて生成する。
例えば、複数方向イントラ予測部401の参照画素設定部141は、既に処理済みの領域(例えば、処理対象領域よりも上や左の領域)の再構成画像を取得し、その再構成画像(の任意の画素値)を用いて、処理対象領域に対する参照画素を生成する。この既存画素を利用した参照画素の生成方法は任意である。例えば、第1の実施の形態の(A)((A-1)、(A-1-1)乃至(A-1-6)、(A-2)、(A-2-1)、(A-2-2)を含む)において上述した方法のいずれかであってもよい。
予測画像生成部142乃至モード選択部145は、その参照画素を用いて、第2の実施の形態において説明した場合と同様に処理を行い、各分割パタンの最適モードの、複数方向イントラ予測画像、複数方向イントラ予測情報、およびコスト関数値等を生成する。
複数方向イントラ予測部401は、生成した、各分割パタンの最適モードの、複数方向イントラ予測画像、複数方向イントラ予測情報、およびコスト関数値等を予測画像選択部402に供給する。
予測画像選択部402は、基本的に予測画像選択部126と同様の処理を行うが、複数方向イントラ予測部401とインター予測部124を制御する。
<予測画像選択部>
図60は、予測画像選択部402の主な構成例を示すブロック図である。図60に示されるように、予測画像選択部402は、基本的に予測画像選択部126と同様の構成を有する。ただし、予測画像選択部402は、ブロック予測制御部152の代わりに、ブロック予測制御部411を有する。
図60は、予測画像選択部402の主な構成例を示すブロック図である。図60に示されるように、予測画像選択部402は、基本的に予測画像選択部126と同様の構成を有する。ただし、予測画像選択部402は、ブロック予測制御部152の代わりに、ブロック予測制御部411を有する。
ブロック予測制御部411は、ブロック予測制御部152と基本的に同様の処理を行うが、複数方向イントラ予測部401とインター予測部124を制御する。つまり、ブロック予測制御部411は、ブロック設定部151から取得した分割情報に基づいて複数方向イントラ予測部401およびインター予測部124を制御し、ブロック設定部151により設定された各ブロックについて、予測処理を実行させる。
ブロック予測制御部411は、複数方向イントラ予測部401から、各分割パタンの最適モードの、複数方向イントラ予測画像、複数方向イントラ予測情報、およびコスト関数値を取得する。また、ブロック予測制御部411は、インター予測部124から、各分割パタンの最適モードの、インター予測画像、インター予測情報、およびコスト関数値を取得する。
ブロック予測制御部411は、それらのコスト関数値を比較することにより、最適な予測方法が複数方向イントラ予測であるかインター予測であるかを選択し、さらに、最適な分割パタンを選択する。最適な予測方法と最適な分割パタンが選択されると、ブロック予測制御部411は、その最適な予測方法および分割パタンの最適モードの予測画像、予測情報、およびコスト関数値を設定する。つまり、選択された予測方法および分割パタンの情報が、最適な予測方法および分割パタンの最適モードの情報として設定される。ブロック予測制御部411は、設定した最適な予測方法および分割パタンの最適モードの予測画像、予測情報、およびコスト関数値を記憶部153に供給し、記憶させる。
以上のように、本実施の形態の場合も、画像符号化装置100は、複数方向イントラ予測処理を用いて画像符号化を行うので、第1の実施の形態において上述したように符号化効率の低減を抑制することができる。
なお、この場合も、第1の実施の形態や第2の実施の形態において上述したような各種情報を付加情報として復号側に伝送させることにより、復号側において画像符号化装置100が生成した符号化データを正しく復号することができる。
<ブロック予測処理の流れ>
この場合も、符号化処理および予測処理は、第2の実施の形態の場合と同様に実行される。つまり、符号化処理は、図26のフローチャートを参照して説明したような流れで各処理が実行され、予測処理は、図27のフローチャートを参照して説明したような流れで各処理が実行される。
この場合も、符号化処理および予測処理は、第2の実施の形態の場合と同様に実行される。つまり、符号化処理は、図26のフローチャートを参照して説明したような流れで各処理が実行され、予測処理は、図27のフローチャートを参照して説明したような流れで各処理が実行される。
この場合の図27のステップS132やステップS134において実行されるブロック予測処理の流れの例を、図61のフローチャートを参照して説明する。なお、ステップS134において実行される場合、このブロック予測処理は、処理対象階層の1階層下の各ブロックについて実行される。つまり、処理対象階層の1階層下のブロックが複数存在する場合、このブロック予測処理が複数回実行される。
ブロック予測処理が開始されると、ステップS401において、ブロック予測制御部411は、処理対象CUについて、例えば図24のように分割パタンを設定する。
ステップS402において、複数方向イントラ予測部401は、ステップS401において設定された複数方向イントラ予測処理用の全分割パタンについて複数方向イントラ予測処理を行う。この複数方向イントラ予測処理は、第1の実施の形態(図30)の場合と同様に実行される。
ステップS403において、インター予測部124は、ステップS401において設定されたインター予測処理用の全分割パタンについてインター予測処理を行う。
ステップS404において、ブロック予測制御部411は、ステップS402およびステップS403の各処理において得られたコスト関数値を比較し、その比較結果に応じて予測画像を選択する。そしてステップS405において、ブロック予測制御部411は、ステップS404において選択された予測画像に対応する予測情報を生成する。つまり、ブロック予測制御部411は、これらの処理により、最適な予測方法の最適な分割パタンの最適な予測モードの情報(予測画像、予測情報、コスト関数値等)を設定する。
ステップS405の処理が終了すると、ブロック予測処理が終了し、処理は図27に戻る。
以上のように各処理を実行することにより、画像符号化装置100は、符号化効率の低減の抑制を実現することができる。
<6.第6の実施の形態>
<画像復号装置>
図62は、この場合の画像復号装置300の主な構成例を示すブロック図である。図62に示される画像復号装置300は、図59の画像符号化装置100に対応する画像復号装置であり、この画像符号化装置100が生成した符号化データを、その符号化方法に対応する復号方法で復号する。なお、図62においては、処理部やデータの流れ等の主なものを示しており、図62に示されるものが全てとは限らない。つまり、画像復号装置300において、図62においてブロックとして示されていない処理部が存在したり、図62において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
<画像復号装置>
図62は、この場合の画像復号装置300の主な構成例を示すブロック図である。図62に示される画像復号装置300は、図59の画像符号化装置100に対応する画像復号装置であり、この画像符号化装置100が生成した符号化データを、その符号化方法に対応する復号方法で復号する。なお、図62においては、処理部やデータの流れ等の主なものを示しており、図62に示されるものが全てとは限らない。つまり、画像復号装置300において、図62においてブロックとして示されていない処理部が存在したり、図62において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
図62に示されるように、画像復号装置300は、この場合も、基本的に図50の場合と同様の構成を有する。ただし、イントラ予測部319およびインター先イントラ予測部321の代わりに、複数方向イントラ予測部421を有する。
複数方向イントラ予測部421は、基本的に、複数方向イントラ予測部332と同様の処理部である。すなわち、複数方向イントラ予測部401は、図52を参照して説明した複数方向イントラ予測部332と同様の構成を有する。つまり、図52のブロック図は、複数方向イントラ予測部421の説明にも利用することができる。
また、複数方向イントラ予測部332と基本的に同様の処理(複数方向イントラ予測に関する処理)を行う。ただし、複数方向イントラ予測部421は、複数方向イントラ予測部401の場合と同様に、インター先イントラ予測の処理として複数方向イントラ予測に関する処理を行わない。すなわち、複数方向イントラ予測部421は、参照画素を、インター予測を用いて生成せずに、既存画素を用いて生成する。その際、複数方向イントラ予測部421は、符号化側から供給される付加情報等に基づいて、複数方向イントラ予測部401と同様の方法で参照画素を生成する。
そして、複数方向イントラ予測部421は、その参照画素を用いて、符号化データの構成や付加情報等に基づいて、符号化側において複数方向イントラ予測が行われた領域に対して複数方向イントラ予測を行う。
したがって、この場合も、画像復号装置300は、画像符号化装置100において採用された方法と同様の方法で予測処理を行うので、画像符号化装置100により符号化されたビットストリームを正しく復号することができる。したがって、画像復号装置300は、符号化効率の低減の抑制を実現することができる。
<予測処理の流れ>
この場合も、復号処理は、第3の実施の形態の場合と同様に、図53のフローチャートを参照して説明したような流れで実行される。
この場合も、復号処理は、第3の実施の形態の場合と同様に、図53のフローチャートを参照して説明したような流れで実行される。
次に、図63のフローチャートを参照して、図53のステップS306において行われる予測処理の流れの例を説明する。
予測処理が開始されると、可逆復号部312は、ステップS421において、符号化データから取得した付加情報に基づいて、処理対象領域について、画像符号化装置100において採用された予測方法が複数方法イントラ予測であるか否かを判定する。画像符号化装置100において複数方法イントラ予測が採用されたと判定すると、処理はステップS422に進む。
ステップS422において、複数方向イントラ予測部421は、複数方向イントラ予測処理を行い、処理対象領域の予測画像を生成する。予測画像が生成されると予測処理が終了し、処理は図53に戻る。
また、ステップS421において複数方向イントラ予測が採用されていないと判定された場合、処理はステップS423に進む。ステップS423において、インター予測部320は、インター予測を行い、処理対象領域の予測画像を生成する。予測画像が生成されると予測処理が終了し、処理は図53に戻る。
<複数方向イントラ予測処理の流れ>
次に、図63のステップS422において実行される複数方向イントラ予測処理の流れの例を、図64のフローチャートを参照して説明する。
次に、図63のステップS422において実行される複数方向イントラ予測処理の流れの例を、図64のフローチャートを参照して説明する。
複数方向イントラ予測処理が開始されると、複数方向イントラ予測部421は、ステップS441において、符号化側から伝送された複数方向イントラ予測情報により指定された分割パタンを設定する。
ステップS442において、参照画素設定部341は、ステップS441において設定された各パーティション(PU)について、符号化側から供給される複数方向イントラ予測情報により指定された複数方向のイントラ予測モード(前方イントラ予測モードおよび後方イントラ予測モード)のそれぞれに対応する参照画素を設定する。これらの参照画素は、例えば、処理済みのブロックの再構成画像の画素値を用いて設定される。
ステップS443において、予測画像生成部342は、ステップS441において設定された各パーティション(PU)について、ステップS442において設定された参照画素を用いて複数方向イントラ予測を行い、その予測モードの複数方向イントラ予測画像を生成する。
ステップS443の処理が終了すると複数方向イントラ予測処理が終了し、処理は図63に戻る。
このように各処理を実行することにより、画像復号装置300は、符号化効率の低減の抑制を実現することができる。
以上においては、画像データをHEVC方式で符号化する際や、その符号化データを伝送して復号する際等に本技術を適用する例について説明したが、本技術は、予測処理を伴う画像符号化方式であれば、どのような符号化方式にも適用することができる。
また、本技術は、例えば、画像情報を、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮し、そのビットストリームを、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して送信する際に用いられる画像処理装置に適用することができる。また、本技術は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像処理装置に適用することができる。
<7.第7の実施の形態>
<多視点画像符号化・復号システムへの適用>
上述した一連の処理は、多視点画像符号化・復号システムに適用することができる。図65は、多視点画像符号化方式の一例を示す。
<多視点画像符号化・復号システムへの適用>
上述した一連の処理は、多視点画像符号化・復号システムに適用することができる。図65は、多視点画像符号化方式の一例を示す。
図65に示されるように、多視点画像は、複数の視点(ビュー(view))の画像を含む。この多視点画像の複数のビューは、他のビューの情報を利用せずに自身のビューの画像のみを用いて符号化・復号を行うベースビューと、他のビューの情報を利用して符号化・復号を行うノンベースビューとによりなる。ノンベースビューの符号化・復号は、ベースビューの情報を利用するようにしても良いし、他のノンベースビューの情報を利用するようにしてもよい。
図65の例のような多視点画像を符号化・復号する場合、多視点画像は、視点毎に符号化される。そして、そのようにして得られた符号化データを復号する場合、各視点の符号化データは、それぞれ(すなわち視点毎に)復号される。このような各視点の符号化・復号に対して、以上の各実施の形態において説明した方法を適用してもよい。このようにすることにより、符号化効率の低減を抑制することができる。つまり、多視点画像の場合も同様に、符号化効率の低減を抑制することができる。
<多視点画像符号化・復号システム>
図66は、上述した多視点画像符号化・復号を行う多視点画像符号化・復号システムの、多視点画像符号化装置を示す図である。図66に示されるように、多視点画像符号化装置600は、符号化部601、符号化部602、および多重化部603を有する。
図66は、上述した多視点画像符号化・復号を行う多視点画像符号化・復号システムの、多視点画像符号化装置を示す図である。図66に示されるように、多視点画像符号化装置600は、符号化部601、符号化部602、および多重化部603を有する。
符号化部601は、ベースビュー画像を符号化し、ベースビュー画像符号化ストリームを生成する。符号化部602は、ノンベースビュー画像を符号化し、ノンベースビュー画像符号化ストリームを生成する。多重化部603は、符号化部601において生成されたベースビュー画像符号化ストリームと、符号化部602において生成されたノンベースビュー画像符号化ストリームとを多重化し、多視点画像符号化ストリームを生成する。
図67は、上述した多視点画像復号を行う多視点画像復号装置を示す図である。図67に示されるように、多視点画像復号装置610は、逆多重化部611、復号部612、および復号部613を有する。
逆多重化部611は、ベースビュー画像符号化ストリームとノンベースビュー画像符号化ストリームとが多重化された多視点画像符号化ストリームを逆多重化し、ベースビュー画像符号化ストリームと、ノンベースビュー画像符号化ストリームとを抽出する。復号部612は、逆多重化部611により抽出されたベースビュー画像符号化ストリームを復号し、ベースビュー画像を得る。復号部613は、逆多重化部611により抽出されたノンベースビュー画像符号化ストリームを復号し、ノンベースビュー画像を得る。
例えば、このような多視点画像符号化・復号システムにおいて、多視点画像符号化装置600の符号化部601および符号化部602として、以上の各実施の形態において説明した画像符号化装置100を適用してもよい。このようにすることにより、多視点画像の符号化においても、以上の各実施の形態において説明した方法を適用することができる。すなわち、符号化効率の低減を抑制することができる。また例えば、多視点画像復号装置610の復号部612および復号部613として、以上の各実施の形態において説明した画像復号装置300を適用してもよい。このようにすることにより、多視点画像の符号化データの復号においても、以上の各実施の形態において説明した方法を適用することができる。すなわち、符号化効率の低減を抑制することができる。
<階層画像符号化・復号システムへの適用>
また、上述した一連の処理は、階層画像符号化(スケーラブル符号化)・復号システムに適用することができる。図68は、階層画像符号化方式の一例を示す。
また、上述した一連の処理は、階層画像符号化(スケーラブル符号化)・復号システムに適用することができる。図68は、階層画像符号化方式の一例を示す。
階層画像符号化(スケーラブル符号化)は、画像データを、所定のパラメータについてスケーラビリティ(scalability)機能を有するように、画像を複数レイヤ化(階層化)し、レイヤ毎に符号化するものである。階層画像復号は、その階層画像符号化(スケーラブル復号)は、その階層画像符号化に対応する復号である。
図68に示されるように、画像の階層化においては、スケーラビリティ機能を有する所定のパラメータを基準として1の画像が複数の画像(レイヤ)に分割される。つまり、階層化された画像(階層画像)は、その所定のパラメータの値が互いに異なる複数の階層(レイヤ)の画像を含む。この階層画像の複数のレイヤは、他のレイヤの画像を利用せずに自身のレイヤの画像のみを用いて符号化・復号を行うベースレイヤと、他のレイヤの画像を利用して符号化・復号を行うノンベースレイヤ(エンハンスメントレイヤとも称する)とによりなる。ノンベースレイヤは、ベースレイヤの画像を利用するようにしても良いし、他のノンベースレイヤの画像を利用するようにしてもよい。
一般的に、ノンベースレイヤは、冗長性が低減されるように、自身の画像と、他のレイヤの画像との差分画像のデータ(差分データ)により構成される。例えば、1の画像をベースレイヤとノンベースレイヤ(エンハンスメントレイヤとも称する)に2階層化した場合、ベースレイヤのデータのみで元の画像よりも低品質な画像が得られ、ベースレイヤのデータとノンベースレイヤのデータを合成することで、元の画像(すなわち高品質な画像)が得られる。
このように画像を階層化することにより、状況に応じて多様な品質の画像を容易に得ることができる。例えば携帯電話のような、処理能力の低い端末に対しては、ベースレイヤ(base layer)のみの画像圧縮情報を伝送し、空間時間解像度の低い、或いは、画質の良くない動画像を再生し、テレビやパーソナルコンピュータのような、処理能力の高い端末に対しては、ベースレイヤ(base layer)に加えて、エンハンスメントレイヤ(enhancement layer)の画像圧縮情報を伝送し、空間時間解像度の高い、或いは、画質の高い動画像を再生するといったように、トランスコード処理を行うことなく、端末やネットワークの能力に応じた画像圧縮情報を、サーバから送信することが可能となる。
図68の例のような階層画像を符号化・復号する場合、階層画像は、レイヤ毎に符号化される。そして、そのようにして得られた符号化データを復号する場合、各レイヤの符号化データは、それぞれ(すなわちレイヤ毎に)復号される。このような各レイヤの符号化・復号に対して、以上の各実施の形態において説明した方法を適用してもよい。このようにすることにより、符号化効率の低減を抑制することができる。つまり、階層画像の場合も同様に、符号化効率の低減を抑制することができる。
<スケーラブルなパラメータ>
このような階層画像符号化・階層画像復号(スケーラブル符号化・スケーラブル復号)において、スケーラビリティ(scalability)機能を有するパラメータは、任意である。例えば、空間解像度をそのパラメータとしてもよい(spatial scalability)。このスペーシャルスケーラビリティ(spatial scalability)の場合、レイヤ毎に画像の解像度が異なる。
このような階層画像符号化・階層画像復号(スケーラブル符号化・スケーラブル復号)において、スケーラビリティ(scalability)機能を有するパラメータは、任意である。例えば、空間解像度をそのパラメータとしてもよい(spatial scalability)。このスペーシャルスケーラビリティ(spatial scalability)の場合、レイヤ毎に画像の解像度が異なる。
また、このようなスケーラビリティ性を持たせるパラメータとして、他には、例えば、時間解像度を適用しても良い(temporal scalability)。このテンポラルスケーラビリティ(temporal scalability)の場合、レイヤ毎にフレームレートが異なる。
さらに、このようなスケーラビリティ性を持たせるパラメータとして、例えば、信号雑音比(SNR(Signal to Noise ratio))を適用しても良い(SNR scalability)。このSNRスケーラビリティ(SNR scalability)の場合、レイヤ毎にSN比が異なる。
スケーラビリティ性を持たせるパラメータは、上述した例以外であっても、もちろんよい。例えば、ベースレイヤ(base layer)が8ビット(bit)画像よりなり、これにエンハンスメントレイヤ(enhancement layer)を加えることにより、10ビット(bit)画像が得られるビット深度スケーラビリティ(bit-depth scalability)がある。
また、ベースレイヤ(base layer)が4:2:0フォーマットのコンポーネント画像よりなり、これにエンハンスメントレイヤ(enhancement layer)を加えることにより、4:2:2フォーマットのコンポーネント画像が得られるクロマスケーラビリティ(chroma scalability)がある。
<階層画像符号化・復号システム>
図69は、上述した階層画像符号化・復号を行う階層画像符号化・復号システムの、階層画像符号化装置を示す図である。図69に示されるように、階層画像符号化装置620は、符号化部621、符号化部622、および多重化部623を有する。
図69は、上述した階層画像符号化・復号を行う階層画像符号化・復号システムの、階層画像符号化装置を示す図である。図69に示されるように、階層画像符号化装置620は、符号化部621、符号化部622、および多重化部623を有する。
符号化部621は、ベースレイヤ画像を符号化し、ベースレイヤ画像符号化ストリームを生成する。符号化部622は、ノンベースレイヤ画像を符号化し、ノンベースレイヤ画像符号化ストリームを生成する。多重化部623は、符号化部621において生成されたベースレイヤ画像符号化ストリームと、符号化部622において生成されたノンベースレイヤ画像符号化ストリームとを多重化し、階層画像符号化ストリームを生成する。
図70は、上述した階層画像復号を行う階層画像復号装置を示す図である。図70に示されるように、階層画像復号装置630は、逆多重化部631、復号部632、および復号部633を有する。
逆多重化部631は、ベースレイヤ画像符号化ストリームとノンベースレイヤ画像符号化ストリームとが多重化された階層画像符号化ストリームを逆多重化し、ベースレイヤ画像符号化ストリームと、ノンベースレイヤ画像符号化ストリームとを抽出する。復号部632は、逆多重化部631により抽出されたベースレイヤ画像符号化ストリームを復号し、ベースレイヤ画像を得る。復号部633は、逆多重化部631により抽出されたノンベースレイヤ画像符号化ストリームを復号し、ノンベースレイヤ画像を得る。
例えば、このような階層画像符号化・復号システムにおいて、階層画像符号化装置620の符号化部621および符号化部622として、以上の各実施の形態において説明した画像符号化装置100を適用してもよい。このようにすることにより、階層画像の符号化においても、以上の各実施の形態において説明した方法を適用することができる。すなわち、符号化効率の低減を抑制することができる。また例えば、階層画像復号装置630の復号部632および復号部633として、以上の各実施の形態において説明した画像復号装置300を適用してもよい。このようにすることにより、階層画像の符号化データの復号においても、以上の各実施の形態において説明した方法を適用することができる。すなわち、符号化効率の低減を抑制することができる。
<コンピュータ>
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
図71は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
図71に示されるコンピュータ800において、CPU(Central Processing Unit)801、ROM(Read Only Memory)802、RAM(Random Access Memory)803は、バス804を介して相互に接続されている。
バス804にはまた、入出力インタフェース810も接続されている。入出力インタフェース810には、入力部811、出力部812、記憶部813、通信部814、およびドライブ815が接続されている。
入力部811は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部812は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部813は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部814は、例えば、ネットワークインタフェースよりなる。ドライブ815は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア821を駆動する。
以上のように構成されるコンピュータでは、CPU801が、例えば、記憶部813に記憶されているプログラムを、入出力インタフェース810およびバス804を介して、RAM803にロードして実行することにより、上述した一連の処理が行われる。RAM803にはまた、CPU801が各種の処理を実行する上において必要なデータなども適宜記憶される。
コンピュータ(CPU801)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア821に記録して適用することができる。その場合、プログラムは、リムーバブルメディア821をドライブ815に装着することにより、入出力インタフェース810を介して、記憶部813にインストールすることができる。
また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部814で受信し、記憶部813にインストールすることができる。
その他、このプログラムは、ROM802や記憶部813に、あらかじめインストールしておくこともできる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
上述した実施形態に係る画像符号化装置100や画像復号装置300は、例えば、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機や受信機、または、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置や、これら記憶媒体から画像を再生する再生装置などの、様々な電子機器に応用され得る。以下、4つの応用例について説明する。
<第1の応用例:テレビジョン受像機>
図72は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース(I/F)部909、制御部910、ユーザインタフェース(I/F)部911、及びバス912を備える。
図72は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース(I/F)部909、制御部910、ユーザインタフェース(I/F)部911、及びバス912を備える。
チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD(Organic ElectroLuminescence Display)(有機ELディスプレイ)など)の映像面上に映像又は画像を表示する。
音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
外部インタフェース部909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース部909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース部909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
制御部910は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
ユーザインタフェース部911は、制御部910と接続される。ユーザインタフェース部911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース部909及び制御部910を相互に接続する。
このように構成されたテレビジョン装置900において、デコーダ904が、上述した画像復号装置300の機能を有するようにしてもよい。つまり、デコーダ904が、符号化データを、各実施の形態において説明した方法で復号するようにしてもよい。このようにすることにより、テレビジョン装置900は、受信する符号化ビットストリームの符号化効率の低減を抑制することができる。
また、このように構成されたテレビジョン装置900において、映像信号処理部905が、例えば、デコーダ904から供給される画像データを符号化し、得られた符号化データを、外部インタフェース部909を介してテレビジョン装置900の外部に出力させることができるようにしてもよい。そして、その映像信号処理部905が、上述した画像符号化装置100の機能を有するようにしてもよい。つまり、映像信号処理部905が、デコーダ904から供給される画像データを、各実施の形態において説明した方法で符号化するようにしてもよい。このようにすることにより、テレビジョン装置900は、出力する符号化データの符号化効率の低減を抑制することができる。
<第2の応用例:携帯電話機>
図73は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
図73は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929に供給し、その記憶媒体に書き込ませる。
記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB(Universal Serial Bus)メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記録再生部929に供給し、その記憶媒体に書き込ませる。
さらに、画像表示モードにおいて、記録再生部929は、記憶媒体に記録されている符号化ストリームを読み出して画像処理部927へ出力する。画像処理部927は、記録再生部929から入力される符号化ストリームを復号し、画像データを表示部930に供給し、その画像を表示させる。
また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
このように構成された携帯電話機920において、例えば画像処理部927が、上述した画像符号化装置100の機能を有するようにしてもよい。つまり、画像処理部927が、画像データを、各実施の形態において説明した方法で符号化するようにしてもよい。このようにすることにより、携帯電話機920は、符号化効率の低減を抑制することができる。
また、このように構成された携帯電話機920において、例えば画像処理部927が、上述した画像復号装置300の機能を有するようにしてもよい。つまり、画像処理部927が、符号化データを、各実施の形態において説明した方法で復号するようにしてもよい。このようにすることにより、携帯電話機920は、符号化データの符号化効率の低減を抑制することができる。
<第3の応用例:記録再生装置>
図74は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データおよび映像データを復号する。
図74は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データおよび映像データを復号する。
記録再生装置940は、チューナ941、外部インタフェース(I/F)部942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、およびユーザインタフェース(I/F)部950を備える。
チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送部としての役割を有する。
外部インタフェース部942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース部942は、例えば、IEEE(Institute of Electrical and Electronic Engineers)1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース部942を介して受信される映像データおよび音声データは、エンコーダ943へ入力される。即ち、外部インタフェース部942は、記録再生装置940における伝送部としての役割を有する。
エンコーダ943は、外部インタフェース部942から入力される映像データおよび音声データが符号化されていない場合に、映像データおよび音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
HDD944は、映像および音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラムおよびその他のデータを内部のハードディスクに記録する。また、HDD944は、映像および音声の再生時に、これらデータをハードディスクから読み出す。
ディスクドライブ945は、装着されている記録媒体へのデータの記録および読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVD(Digital Versatile Disc)ディスク(DVD-Video、DVD-RAM(DVD - Random Access Memory)、DVD-R(DVD - Recordable)、DVD-RW(DVD - Rewritable)、DVD+R(DVD + Recordable)、DVD+RW(DVD + Rewritable)等)又はBlu-ray(登録商標)ディスクなどであってよい。
セレクタ946は、映像および音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ947は、生成した音声データを外部のスピーカへ出力する。
OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
ユーザインタフェース部950は、制御部949と接続される。ユーザインタフェース部950は、例えば、ユーザが記録再生装置940を操作するためのボタンおよびスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
このように構成された記録再生装置940において、例えばエンコーダ943が、上述した画像符号化装置100の機能を有するようにしてもよい。つまり、エンコーダ943が、画像データを、各実施の形態において説明方法で符号化するようにしてもよい。このようにすることにより、記録再生装置940は、符号化効率の低減を抑制することができる。
また、このように構成された記録再生装置940において、例えばデコーダ947が、上述した画像復号装置300の機能を有するようにしてもよい。つまり、デコーダ947が、符号化データを、各実施の形態において説明した方法で復号するようにしてもよい。このようにすることにより、記録再生装置940は、符号化データの符号化効率の低減を抑制することができる。
<第4の応用例:撮像装置>
図75は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
図75は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース(I/F)部966、メモリ部967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース(I/F)部971、およびバス972を備える。
光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース部971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース部966、メモリ部967、メディアドライブ968、OSD969、および制御部970を相互に接続する。
光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース部966またはメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース部966またはメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
外部インタフェース部966は、例えばUSB入出力端子として構成される。外部インタフェース部966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース部966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース部966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース部966は、撮像装置960における伝送部としての役割を有する。
メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部971から入力される操作信号に応じて、撮像装置960の動作を制御する。
ユーザインタフェース部971は、制御部970と接続される。ユーザインタフェース部971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース部971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
このように構成された撮像装置960において、例えば画像処理部964が、上述した画像符号化装置100の機能を有するようにしてもよい。つまり、画像処理部964が、画像データを、各実施の形態において説明した方法で符号化するようにしてもよい。このようにすることにより、撮像装置960は、符号化効率の低減を抑制することができる。
また、このように構成された撮像装置960において、例えば画像処理部964が、上述した画像復号装置300の機能を有するようにしてもよい。つまり、画像処理部964が、符号化データを、各実施の形態において説明した方法で復号するようにしてもよい。このようにすることにより、撮像装置960は、符号化データの符号化効率の低減を抑制することができる。
なお、本技術は、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択して使用する、例えばMPEG DASH等のようなHTTPストリーミングにも適用することができる。つまり、このような複数の符号化データ間で、符号化や復号に関する情報を共有することもできる。
<実施のその他の例>
以上において本技術を適用する装置やシステム等の例を説明したが、本技術は、これに限らず、このような装置またはシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。
以上において本技術を適用する装置やシステム等の例を説明したが、本技術は、これに限らず、このような装置またはシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。
<ビデオセット>
本技術をセットとして実施する場合の例について、図76を参照して説明する。図76は、本技術を適用したビデオセットの概略的な構成の一例を示している。
本技術をセットとして実施する場合の例について、図76を参照して説明する。図76は、本技術を適用したビデオセットの概略的な構成の一例を示している。
近年、電子機器の多機能化が進んでおり、その開発や製造において、その一部の構成を販売や提供等として実施する場合、1機能を有する構成として実施を行う場合だけでなく、関連する機能を有する複数の構成を組み合わせ、複数の機能を有する1セットとして実施を行う場合も多く見られるようになってきた。
図76に示されるビデオセット1300は、このような多機能化された構成であり、画像の符号化や復号(いずれか一方でもよいし、両方でも良い)に関する機能を有するデバイスに、その機能に関連するその他の機能を有するデバイスを組み合わせたものである。
図76に示されるように、ビデオセット1300は、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、およびフロントエンドモジュール1314等のモジュール群と、コネクティビティ1321、カメラ1322、およびセンサ1323等の関連する機能を有するデバイスとを有する。
モジュールは、互いに関連するいくつかの部品的機能をまとめ、まとまりのある機能を持った部品としたものである。具体的な物理的構成は任意であるが、例えば、それぞれ機能を有する複数のプロセッサ、抵抗やコンデンサ等の電子回路素子、その他のデバイス等を配線基板等に配置して一体化したものが考えられる。また、モジュールに他のモジュールやプロセッサ等を組み合わせて新たなモジュールとすることも考えられる。
図76の例の場合、ビデオモジュール1311は、画像処理に関する機能を有する構成を組み合わせたものであり、アプリケーションプロセッサ、ビデオプロセッサ、ブロードバンドモデム1333、およびRFモジュール1334を有する。
プロセッサは、所定の機能を有する構成をSoC(System On a Chip)により半導体チップに集積したものであり、例えばシステムLSI(Large Scale Integration)等と称されるものもある。この所定の機能を有する構成は、論理回路(ハードウエア構成)であってもよいし、CPU、ROM、RAM等と、それらを用いて実行されるプログラム(ソフトウエア構成)であってもよいし、その両方を組み合わせたものであってもよい。例えば、プロセッサが、論理回路とCPU、ROM、RAM等とを有し、機能の一部を論理回路(ハードウエア構成)により実現し、その他の機能をCPUにおいて実行されるプログラム(ソフトウエア構成)により実現するようにしてもよい。
図76のアプリケーションプロセッサ1331は、画像処理に関するアプリケーションを実行するプロセッサである。このアプリケーションプロセッサ1331において実行されるアプリケーションは、所定の機能を実現するために、演算処理を行うだけでなく、例えばビデオプロセッサ1332等、ビデオモジュール1311内外の構成を必要に応じて制御することもできる。
ビデオプロセッサ1332は、画像の符号化・復号(その一方若しくは両方)に関する機能を有するプロセッサである。
ブロードバンドモデム1333は、インターネットや公衆電話回線網等の広帯域の回線を介して行われる有線若しくは無線(またはその両方)の広帯域通信により送信するデータ(デジタル信号)をデジタル変調する等してアナログ信号に変換したり、その広帯域通信により受信したアナログ信号を復調してデータ(デジタル信号)に変換したりする。ブロードバンドモデム1333は、例えば、ビデオプロセッサ1332が処理する画像データ、画像データが符号化されたストリーム、アプリケーションプログラム、設定データ等、任意の情報を処理する。
RFモジュール1334は、アンテナを介して送受信されるRF(Radio Frequency)信号に対して、周波数変換、変復調、増幅、フィルタ処理等を行うモジュールである。例えば、RFモジュール1334は、ブロードバンドモデム1333により生成されたベースバンド信号に対して周波数変換等を行ってRF信号を生成する。また、例えば、RFモジュール1334は、フロントエンドモジュール1314を介して受信されたRF信号に対して周波数変換等を行ってベースバンド信号を生成する。
なお、図76において点線1341に示されるように、アプリケーションプロセッサ1331とビデオプロセッサ1332を、一体化し、1つのプロセッサとして構成されるようにしてもよい。
外部メモリ1312は、ビデオモジュール1311の外部に設けられた、ビデオモジュール1311により利用される記憶デバイスを有するモジュールである。この外部メモリ1312の記憶デバイスは、どのような物理構成により実現するようにしてもよいが、一般的にフレーム単位の画像データのような大容量のデータの格納に利用されることが多いので、例えばDRAM(Dynamic Random Access Memory)のような比較的安価で大容量の半導体メモリにより実現するのが望ましい。
パワーマネージメントモジュール1313は、ビデオモジュール1311(ビデオモジュール1311内の各構成)への電力供給を管理し、制御する。
フロントエンドモジュール1314は、RFモジュール1334に対してフロントエンド機能(アンテナ側の送受信端の回路)を提供するモジュールである。図76に示されるように、フロントエンドモジュール1314は、例えば、アンテナ部1351、フィルタ1352、および増幅部1353を有する。
アンテナ部1351は、無線信号を送受信するアンテナおよびその周辺の構成を有する。アンテナ部1351は、増幅部1353から供給される信号を無線信号として送信し、受信した無線信号を電気信号(RF信号)としてフィルタ1352に供給する。フィルタ1352は、アンテナ部1351を介して受信されたRF信号に対してフィルタ処理等を行い、処理後のRF信号をRFモジュール1334に供給する。増幅部1353は、RFモジュール1334から供給されるRF信号を増幅し、アンテナ部1351に供給する。
コネクティビティ1321は、外部との接続に関する機能を有するモジュールである。コネクティビティ1321の物理構成は、任意である。例えば、コネクティビティ1321は、ブロードバンドモデム1333が対応する通信規格以外の通信機能を有する構成や、外部入出力端子等を有する。
例えば、コネクティビティ1321が、Bluetooth(登録商標)、IEEE 802.11(例えばWi-Fi(Wireless Fidelity、登録商標))、NFC(Near Field Communication)、IrDA(InfraRed Data Association)等の無線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した信号を送受信するアンテナ等を有するようにしてもよい。また、例えば、コネクティビティ1321が、USB(Universal Serial Bus)、HDMI(登録商標)(High-Definition Multimedia Interface)等の有線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した端子を有するようにしてもよい。さらに、例えば、コネクティビティ1321が、アナログ入出力端子等のその他のデータ(信号)伝送機能等を有するようにしてもよい。
なお、コネクティビティ1321が、データ(信号)の伝送先のデバイスを含むようにしてもよい。例えば、コネクティビティ1321が、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等の記録媒体に対してデータの読み出しや書き込みを行うドライブ(リムーバブルメディアのドライブだけでなく、ハードディスク、SSD(Solid State Drive)、NAS(Network Attached Storage)等も含む)を有するようにしてもよい。また、コネクティビティ1321が、画像や音声の出力デバイス(モニタやスピーカ等)を有するようにしてもよい。
カメラ1322は、被写体を撮像し、被写体の画像データを得る機能を有するモジュールである。カメラ1322の撮像により得られた画像データは、例えば、ビデオプロセッサ1332に供給されて符号化される。
センサ1323は、例えば、音声センサ、超音波センサ、光センサ、照度センサ、赤外線センサ、イメージセンサ、回転センサ、角度センサ、角速度センサ、速度センサ、加速度センサ、傾斜センサ、磁気識別センサ、衝撃センサ、温度センサ等、任意のセンサ機能を有するモジュールである。センサ1323により検出されたデータは、例えば、アプリケーションプロセッサ1331に供給されてアプリケーション等により利用される。
以上においてモジュールとして説明した構成をプロセッサとして実現するようにしてもよいし、逆にプロセッサとして説明した構成をモジュールとして実現するようにしてもよい。
以上のような構成のビデオセット1300において、後述するようにビデオプロセッサ1332に本技術を適用することができる。したがって、ビデオセット1300は、本技術を適用したセットとして実施することができる。
<ビデオプロセッサの構成例>
図77は、本技術を適用したビデオプロセッサ1332(図76)の概略的な構成の一例を示している。
図77は、本技術を適用したビデオプロセッサ1332(図76)の概略的な構成の一例を示している。
図77の例の場合、ビデオプロセッサ1332は、ビデオ信号およびオーディオ信号の入力を受けてこれらを所定の方式で符号化する機能と、符号化されたビデオデータおよびオーディオデータを復号し、ビデオ信号およびオーディオ信号を再生出力する機能とを有する。
図77に示されるように、ビデオプロセッサ1332は、ビデオ入力処理部1401、第1画像拡大縮小部1402、第2画像拡大縮小部1403、ビデオ出力処理部1404、フレームメモリ1405、およびメモリ制御部1406を有する。また、ビデオプロセッサ1332は、エンコード・デコードエンジン1407、ビデオES(Elementary Stream)バッファ1408Aおよび1408B、並びに、オーディオESバッファ1409Aおよび1409Bを有する。さらに、ビデオプロセッサ1332は、オーディオエンコーダ1410、オーディオデコーダ1411、多重化部(MUX(Multiplexer))1412、逆多重化部(DMUX(Demultiplexer))1413、およびストリームバッファ1414を有する。
ビデオ入力処理部1401は、例えばコネクティビティ1321(図76)等から入力されたビデオ信号を取得し、デジタル画像データに変換する。第1画像拡大縮小部1402は、画像データに対してフォーマット変換や画像の拡大縮小処理等を行う。第2画像拡大縮小部1403は、画像データに対して、ビデオ出力処理部1404を介して出力する先でのフォーマットに応じて画像の拡大縮小処理を行ったり、第1画像拡大縮小部1402と同様のフォーマット変換や画像の拡大縮小処理等を行ったりする。ビデオ出力処理部1404は、画像データに対して、フォーマット変換やアナログ信号への変換等を行って、再生されたビデオ信号として例えばコネクティビティ1321等に出力する。
フレームメモリ1405は、ビデオ入力処理部1401、第1画像拡大縮小部1402、第2画像拡大縮小部1403、ビデオ出力処理部1404、およびエンコード・デコードエンジン1407によって共用される画像データ用のメモリである。フレームメモリ1405は、例えばDRAM等の半導体メモリとして実現される。
メモリ制御部1406は、エンコード・デコードエンジン1407からの同期信号を受けて、アクセス管理テーブル1406Aに書き込まれたフレームメモリ1405へのアクセススケジュールに従ってフレームメモリ1405に対する書き込み・読み出しのアクセスを制御する。アクセス管理テーブル1406Aは、エンコード・デコードエンジン1407、第1画像拡大縮小部1402、第2画像拡大縮小部1403等で実行される処理に応じて、メモリ制御部1406により更新される。
エンコード・デコードエンジン1407は、画像データのエンコード処理、並びに、画像データが符号化されたデータであるビデオストリームのデコード処理を行う。例えば、エンコード・デコードエンジン1407は、フレームメモリ1405から読み出した画像データを符号化し、ビデオストリームとしてビデオESバッファ1408Aに順次書き込む。また、例えば、ビデオESバッファ1408Bからビデオストリームを順次読み出して復号し、画像データとしてフレームメモリ1405に順次書き込む。エンコード・デコードエンジン1407は、これらの符号化や復号において、フレームメモリ1405を作業領域として使用する。また、エンコード・デコードエンジン1407は、例えばマクロブロック毎の処理を開始するタイミングで、メモリ制御部1406に対して同期信号を出力する。
ビデオESバッファ1408Aは、エンコード・デコードエンジン1407によって生成されたビデオストリームをバッファリングして、多重化部(MUX)1412に供給する。ビデオESバッファ1408Bは、逆多重化部(DMUX)1413から供給されたビデオストリームをバッファリングして、エンコード・デコードエンジン1407に供給する。
オーディオESバッファ1409Aは、オーディオエンコーダ1410によって生成されたオーディオストリームをバッファリングして、多重化部(MUX)1412に供給する。オーディオESバッファ1409Bは、逆多重化部(DMUX)1413から供給されたオーディオストリームをバッファリングして、オーディオデコーダ1411に供給する。
オーディオエンコーダ1410は、例えばコネクティビティ1321等から入力されたオーディオ信号を例えばデジタル変換し、例えばMPEGオーディオ方式やAC3(AudioCode number 3)方式等の所定の方式で符号化する。オーディオエンコーダ1410は、オーディオ信号が符号化されたデータであるオーディオストリームをオーディオESバッファ1409Aに順次書き込む。オーディオデコーダ1411は、オーディオESバッファ1409Bから供給されたオーディオストリームを復号し、例えばアナログ信号への変換等を行って、再生されたオーディオ信号として例えばコネクティビティ1321等に供給する。
多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化する。この多重化の方法(すなわち、多重化により生成されるビットストリームのフォーマット)は任意である。また、この多重化の際に、多重化部(MUX)1412は、所定のヘッダ情報等をビットストリームに付加することもできる。つまり、多重化部(MUX)1412は、多重化によりストリームのフォーマットを変換することができる。例えば、多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームに変換する。また、例えば、多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化することにより、記録用のファイルフォーマットのデータ(ファイルデータ)に変換する。
逆多重化部(DMUX)1413は、多重化部(MUX)1412による多重化に対応する方法で、ビデオストリームとオーディオストリームとが多重化されたビットストリームを逆多重化する。つまり、逆多重化部(DMUX)1413は、ストリームバッファ1414から読み出されたビットストリームからビデオストリームとオーディオストリームとを抽出する(ビデオストリームとオーディオストリームとを分離する)。つまり、逆多重化部(DMUX)1413は、逆多重化によりストリームのフォーマットを変換(多重化部(MUX)1412による変換の逆変換)することができる。例えば、逆多重化部(DMUX)1413は、例えばコネクティビティ1321やブロードバンドモデム1333等から供給されたトランスポートストリームを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。また、例えば、逆多重化部(DMUX)1413は、例えばコネクティビティ1321により各種記録媒体から読み出されたファイルデータを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。
ストリームバッファ1414は、ビットストリームをバッファリングする。例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ1321やブロードバンドモデム1333等に供給する。
また、例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ1321等に供給し、各種記録媒体に記録させる。
さらに、ストリームバッファ1414は、例えばコネクティビティ1321やブロードバンドモデム1333等を介して取得したトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
また、ストリームバッファ1414は、例えばコネクティビティ1321等において各種記録媒体から読み出されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
次に、このような構成のビデオプロセッサ1332の動作の例について説明する。例えば、コネクティビティ1321等からビデオプロセッサ1332に入力されたビデオ信号は、ビデオ入力処理部1401において4:2:2Y/Cb/Cr方式等の所定の方式のデジタル画像データに変換され、フレームメモリ1405に順次書き込まれる。このデジタル画像データは、第1画像拡大縮小部1402または第2画像拡大縮小部1403に読み出されて、4:2:0Y/Cb/Cr方式等の所定の方式へのフォーマット変換および拡大縮小処理が行われ、再びフレームメモリ1405に書き込まれる。この画像データは、エンコード・デコードエンジン1407によって符号化され、ビデオストリームとしてビデオESバッファ1408Aに書き込まれる。
また、コネクティビティ1321等からビデオプロセッサ1332に入力されたオーディオ信号は、オーディオエンコーダ1410によって符号化され、オーディオストリームとして、オーディオESバッファ1409Aに書き込まれる。
ビデオESバッファ1408Aのビデオストリームと、オーディオESバッファ1409Aのオーディオストリームは、多重化部(MUX)1412に読み出されて多重化され、トランスポートストリーム若しくはファイルデータ等に変換される。多重化部(MUX)1412により生成されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321やブロードバンドモデム1333等を介して外部ネットワークに出力される。また、多重化部(MUX)1412により生成されたファイルデータは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321等に出力され、各種記録媒体に記録される。
また、例えばコネクティビティ1321やブロードバンドモデム1333等を介して外部ネットワークからビデオプロセッサ1332に入力されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、逆多重化部(DMUX)1413により逆多重化される。また、例えばコネクティビティ1321等において各種記録媒体から読み出され、ビデオプロセッサ1332に入力されたファイルデータは、ストリームバッファ1414にバッファされた後、逆多重化部(DMUX)1413により逆多重化される。つまり、ビデオプロセッサ1332に入力されたトランスポートストリームまたはファイルデータは、逆多重化部(DMUX)1413によりビデオストリームとオーディオストリームとに分離される。
オーディオストリームは、オーディオESバッファ1409Bを介してオーディオデコーダ1411に供給され、復号されてオーディオ信号が再生される。また、ビデオストリームは、ビデオESバッファ1408Bに書き込まれた後、エンコード・デコードエンジン1407により順次読み出されて復号されてフレームメモリ1405に書き込まれる。復号された画像データは、第2画像拡大縮小部1403によって拡大縮小処理されて、フレームメモリ1405に書き込まれる。そして、復号された画像データは、ビデオ出力処理部1404に読み出されて、4:2:2Y/Cb/Cr方式等の所定の方式にフォーマット変換され、さらにアナログ信号に変換されて、ビデオ信号が再生出力される。
このように構成されるビデオプロセッサ1332に本技術を適用する場合、エンコード・デコードエンジン1407に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、エンコード・デコードエンジン1407が、上述した画像符号化装置100の機能若しくは画像復号装置300の機能またはその両方を有するようにしてもよい。このようにすることにより、ビデオプロセッサ1332は、図1乃至図64を参照して上述した各実施の形態と同様の効果を得ることができる。
なお、エンコード・デコードエンジン1407において、本技術(すなわち、画像符号化装置100の機能若しくは画像復号装置300の機能またはその両方)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
<ビデオプロセッサの他の構成例>
図78は、本技術を適用したビデオプロセッサ1332の概略的な構成の他の例を示している。図78の例の場合、ビデオプロセッサ1332は、ビデオデータを所定の方式で符号化・復号する機能を有する。
図78は、本技術を適用したビデオプロセッサ1332の概略的な構成の他の例を示している。図78の例の場合、ビデオプロセッサ1332は、ビデオデータを所定の方式で符号化・復号する機能を有する。
より具体的には、図78に示されるように、ビデオプロセッサ1332は、制御部1511、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、および内部メモリ1515を有する。また、ビデオプロセッサ1332は、コーデックエンジン1516、メモリインタフェース1517、多重化・逆多重化部(MUX DMUX)1518、ネットワークインタフェース1519、およびビデオインタフェース1520を有する。
制御部1511は、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516等、ビデオプロセッサ1332内の各処理部の動作を制御する。
図78に示されるように、制御部1511は、例えば、メインCPU1531、サブCPU1532、およびシステムコントローラ1533を有する。メインCPU1531は、ビデオプロセッサ1332内の各処理部の動作を制御するためのプログラム等を実行する。メインCPU1531は、そのプログラム等に従って制御信号を生成し、各処理部に供給する(つまり、各処理部の動作を制御する)。サブCPU1532は、メインCPU1531の補助的な役割を果たす。例えば、サブCPU1532は、メインCPU1531が実行するプログラム等の子プロセスやサブルーチン等を実行する。システムコントローラ1533は、メインCPU1531およびサブCPU1532が実行するプログラムを指定する等、メインCPU1531およびサブCPU1532の動作を制御する。
ディスプレイインタフェース1512は、制御部1511の制御の下、画像データを例えばコネクティビティ1321等に出力する。例えば、ディスプレイインタフェース1512は、デジタルデータの画像データをアナログ信号に変換し、再生されたビデオ信号として、またはデジタルデータの画像データのまま、コネクティビティ1321のモニタ装置等に出力する。
ディスプレイエンジン1513は、制御部1511の制御の下、画像データに対して、その画像を表示させるモニタ装置等のハードウエアスペックに合わせるように、フォーマット変換、サイズ変換、色域変換等の各種変換処理を行う。
画像処理エンジン1514は、制御部1511の制御の下、画像データに対して、例えば画質改善のためのフィルタ処理等、所定の画像処理を施す。
内部メモリ1515は、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516により共用される、ビデオプロセッサ1332の内部に設けられたメモリである。内部メモリ1515は、例えば、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516の間で行われるデータの授受に利用される。例えば、内部メモリ1515は、ディスプレイエンジン1513、画像処理エンジン1514、またはコーデックエンジン1516から供給されるデータを格納し、必要に応じて(例えば、要求に応じて)、そのデータを、ディスプレイエンジン1513、画像処理エンジン1514、またはコーデックエンジン1516に供給する。この内部メモリ1515は、どのような記憶デバイスにより実現するようにしてもよいが、一般的にブロック単位の画像データやパラメータ等といった小容量のデータの格納に利用することが多いので、例えばSRAM(Static Random Access Memory)のような比較的(例えば外部メモリ1312と比較して)小容量だが応答速度が高速な半導体メモリにより実現するのが望ましい。
コーデックエンジン1516は、画像データの符号化や復号に関する処理を行う。このコーデックエンジン1516が対応する符号化・復号の方式は任意であり、その数は1つであってもよいし、複数であってもよい。例えば、コーデックエンジン1516は、複数の符号化・復号方式のコーデック機能を備え、その中から選択されたもので画像データの符号化若しくは符号化データの復号を行うようにしてもよい。
図78に示される例において、コーデックエンジン1516は、コーデックに関する処理の機能ブロックとして、例えば、MPEG-2 Video1541、AVC/H.2641542、HEVC/H.2651543、HEVC/H.265(Scalable)1544、HEVC/H.265(Multi-view)1545、およびMPEG-DASH1551を有する。
MPEG-2 Video1541は、画像データをMPEG-2方式で符号化したり復号したりする機能ブロックである。AVC/H.2641542は、画像データをAVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.2651543は、画像データをHEVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.265(Scalable)1544は、画像データをHEVC方式でスケーラブル符号化したりスケーラブル復号したりする機能ブロックである。HEVC/H.265(Multi-view)1545は、画像データをHEVC方式で多視点符号化したり多視点復号したりする機能ブロックである。
MPEG-DASH1551は、画像データをMPEG-DASH(MPEG-Dynamic Adaptive Streaming over HTTP)方式で送受信する機能ブロックである。MPEG-DASHは、HTTP(HyperText Transfer Protocol)を使ってビデオのストリーミングを行う技術であり、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択し伝送することを特徴の1つとする。MPEG-DASH1551は、規格に準拠するストリームの生成やそのストリームの伝送制御等を行い、画像データの符号化・復号については、上述したMPEG-2 Video1541乃至HEVC/H.265(Multi-view)1545を利用する。
メモリインタフェース1517は、外部メモリ1312用のインタフェースである。画像処理エンジン1514やコーデックエンジン1516から供給されるデータは、メモリインタフェース1517を介して外部メモリ1312に供給される。また、外部メモリ1312から読み出されたデータは、メモリインタフェース1517を介してビデオプロセッサ1332(画像処理エンジン1514若しくはコーデックエンジン1516)に供給される。
多重化・逆多重化部(MUX DMUX)1518は、符号化データのビットストリーム、画像データ、ビデオ信号等、画像に関する各種データの多重化や逆多重化を行う。この多重化・逆多重化の方法は任意である。例えば、多重化の際に、多重化・逆多重化部(MUX DMUX)1518は、複数のデータを1つにまとめるだけでなく、所定のヘッダ情報等をそのデータに付加することもできる。また、逆多重化の際に、多重化・逆多重化部(MUX DMUX)1518は、1つのデータを複数に分割するだけでなく、分割した各データに所定のヘッダ情報等を付加することもできる。つまり、多重化・逆多重化部(MUX DMUX)1518は、多重化・逆多重化によりデータのフォーマットを変換することができる。例えば、多重化・逆多重化部(MUX DMUX)1518は、ビットストリームを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームや、記録用のファイルフォーマットのデータ(ファイルデータ)に変換することができる。もちろん、逆多重化によりその逆変換も可能である。
ネットワークインタフェース1519は、例えばブロードバンドモデム1333やコネクティビティ1321等向けのインタフェースである。ビデオインタフェース1520は、例えばコネクティビティ1321やカメラ1322等向けのインタフェースである。
次に、このようなビデオプロセッサ1332の動作の例について説明する。例えば、コネクティビティ1321やブロードバンドモデム1333等を介して外部ネットワークからトランスポートストリームを受信すると、そのトランスポートストリームは、ネットワークインタフェース1519を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、例えば、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてファイルデータに変換され、ビデオインタフェース1520を介して例えばコネクティビティ1321等に出力され、各種記録媒体に記録される。
さらに、例えば、コネクティビティ1321等により図示せぬ記録媒体から読み出された、画像データが符号化された符号化データのファイルデータは、ビデオインタフェース1520を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてトランスポートストリームに変換され、ネットワークインタフェース1519を介して例えばコネクティビティ1321やブロードバンドモデム1333等に供給され図示せぬ他の装置に伝送される。
なお、ビデオプロセッサ1332内の各処理部の間での画像データやその他のデータの授受は、例えば、内部メモリ1515や外部メモリ1312を利用して行われる。また、パワーマネージメントモジュール1313は、例えば制御部1511への電力供給を制御する。
このように構成されるビデオプロセッサ1332に本技術を適用する場合、コーデックエンジン1516に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、コーデックエンジン1516が、上述した画像符号化装置100の機能若しくは画像復号装置300の機能またはその両方を有するようにすればよい。このようにすることにより、ビデオプロセッサ1332は、図1乃至図64を参照して上述した各実施の形態と同様の効果を得ることができる。
なお、コーデックエンジン1516において、本技術(すなわち、画像符号化装置100の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
以上にビデオプロセッサ1332の構成を2例示したが、ビデオプロセッサ1332の構成は任意であり、上述した2例以外のものであってもよい。また、このビデオプロセッサ1332は、1つの半導体チップとして構成されるようにしてもよいが、複数の半導体チップとして構成されるようにしてもよい。例えば、複数の半導体を積層する3次元積層LSIとしてもよい。また、複数のLSIにより実現されるようにしてもよい。
<装置への適用例>
ビデオセット1300は、画像データを処理する各種装置に組み込むことができる。例えば、ビデオセット1300は、テレビジョン装置900(図72)、携帯電話機920(図73)、記録再生装置940(図74)、撮像装置960(図75)等に組み込むことができる。ビデオセット1300を組み込むことにより、その装置は、図1乃至図64を参照して上述した各実施の形態と同様の効果を得ることができる。
ビデオセット1300は、画像データを処理する各種装置に組み込むことができる。例えば、ビデオセット1300は、テレビジョン装置900(図72)、携帯電話機920(図73)、記録再生装置940(図74)、撮像装置960(図75)等に組み込むことができる。ビデオセット1300を組み込むことにより、その装置は、図1乃至図64を参照して上述した各実施の形態と同様の効果を得ることができる。
なお、上述したビデオセット1300の各構成の一部であっても、ビデオプロセッサ1332を含むものであれば、本技術を適用した構成として実施することができる。例えば、ビデオプロセッサ1332のみを本技術を適用したビデオプロセッサとして実施することができる。また、例えば、上述したように点線1341により示されるプロセッサやビデオモジュール1311等を、本技術を適用したプロセッサやモジュール等として実施することができる。さらに、例えば、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、およびフロントエンドモジュール1314を組み合わせ、本技術を適用したビデオユニット1361として実施することもできる。いずれの構成の場合であっても、図1乃至図64を参照して上述した各実施の形態と同様の効果を得ることができる。
つまり、ビデオプロセッサ1332を含むものであればどのような構成であっても、ビデオセット1300の場合と同様に、画像データを処理する各種装置に組み込むことができる。例えば、ビデオプロセッサ1332、点線1341により示されるプロセッサ、ビデオモジュール1311、または、ビデオユニット1361を、テレビジョン装置900(図72)、携帯電話機920(図73)、記録再生装置940(図74)、撮像装置960(図75)等に組み込むことができる。そして、本技術を適用したいずれかの構成を組み込むことにより、その装置は、ビデオセット1300の場合と同様に、図1乃至図64を参照して上述した各実施の形態と同様の効果を得ることができる。
また、本明細書では、各種情報が、符号化ストリームに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
なお、本技術は以下のような構成も取ることができる。
(1) 画像の処理対象領域について複数のイントラ予測モードを設定し、設定した複数の前記イントラ予測モードを用いてイントラ予測を行い、前記処理対象領域の予測画像を生成する予測部と、
前記予測部により生成される前記予測画像を用いて前記画像を符号化する符号化部と
を備える画像処理装置。
(2) 前記予測部は、前記イントラ予測モードの候補を、矩形の前記処理対象領域の中心から3以上の各辺に向かう方向に設定し、前記候補の中から複数を選択して前記イントラ予測モードとして設定し、設定した複数の前記イントラ予測モードを用いて前記イントラ予測を行う
(1)に記載の画像処理装置。
(3) 前記予測部は、参照画素を、前記処理対象領域の前記3以上の各辺の側に設定し、前記参照画素の中の、設定した複数の前記イントラ予測モードのそれぞれに対応する参照画素を用いて前記イントラ予測を行う
(2)に記載の画像処理装置。
(4) 前記予測部は、前記イントラ予測モードの候補を、前記処理対象領域の中心から上辺に向かう方向と左辺に向かう方向との他に、右辺に向かう方向若しくは下辺に向かう方向または両方に設定し、前記候補の中から選択して設定した複数の前記イントラ予測モードを用いて前記イントラ予測を行う
(2)に記載の画像処理装置。
(5) 前記予測部は、前記処理対象領域より上側に位置する参照画素、および、前記処理対象領域より左側に位置する参照画素の他に、前記処理対象領域より右側に位置する参照画素若しくは前記処理対象領域より下側に位置する参照画素または両方を設定し、前記参照画素の中の、設定した複数のイントラ予測モードのそれぞれに対応する参照画素を用いて前記イントラ予測を行う
(4)に記載の画像処理装置。
(6) 前記予測部は、再構成画像を用いて前記参照画素を設定する
(5)に記載の画像処理装置。
(7) 前記予測部は、処理対象ピクチャの処理済みの領域の再構成画像を用いて、前記処理対象領域より上側に位置する参照画素と、前記処理対象領域より右側に位置する参照画素とを設定する
(6)に記載の画像処理装置。
(8) 前記予測部は、他のピクチャの再構成画像を用いて、前記処理対象領域より右側に位置する参照画素、若しくは、前記処理対象領域より下側に位置する参照画素、または両方を設定する
(6)または(7)に記載の画像処理装置。
(9) 前記予測部は、補間処理により、前記処理対象領域より右側に位置する参照画素、若しくは、前記処理対象領域より下側に位置する参照画素、または両方を設定する
(5)乃至(8)のいずれかに記載の画像処理装置。
(10) 前記予測部は、前記補間処理として、近傍の画素を複製若しくは処理対象画素の位置に応じて重みづけ演算することにより、前記処理対象領域より右側に位置する参照画素、若しくは、前記処理対象領域より下側に位置する参照画素、または両方を設定する
(9)に記載の画像処理装置。
(11) 前記予測部は、インター予測を行うことにより、前記処理対象領域より右側に位置する参照画素、若しくは、前記処理対象領域より下側に位置する参照画素、または両方を設定する
(5)乃至(10)のいずれかに記載の画像処理装置。
(12) 前記予測部は、
前記処理対象領域の中心から上辺若しくは左辺に向かう方向の前記イントラ予測モードの候補の中から単数の候補を選択して前方イントラ予測モードとして設定し、
前記処理対象領域の中心から右辺に向かう方向の前記イントラ予測モードの候補、若しくは、前記処理対象領域の下辺に向かう方向の前記イントラ予測モードの候補、または両方の中から単数の候補を選択して後方イントラ予測モードとして設定し、
設定した前記前方イントラ予測モードと前記後方イントラ予測モードとを用いて前記イントラ予測を行う
(4)乃至(11)のいずれかに記載の画像処理装置。
(13) 前記予測部は、前記処理対象領域より上側に位置する参照画素および前記処理対象領域より左側に位置する参照画素の中の、前記前方イントラ予測モードに対応する参照画素と、前記処理対象領域より右側に位置する参照画素若しくは前記処理対象領域より下側に位置する参照画素または両方の中の、前記後方イントラ予測モードに対応する参照画素とを用いて前記イントラ予測を行う
(12)に記載の画像処理装置。
(14) 前記予測部は、
前記前方イントラ予測モードに対応する参照画素を用いて、前記処理対象領域の一部の領域に対するイントラ予測を行い、
前記後方イントラ予測モードに対応する参照画素を用いて、前記処理対象領域のその他の領域に対するイントラ予測を行う
(12)または(13)に記載の画像処理装置。
(15) 前記予測部は、前記前方イントラ予測モードに対応する参照画素と、前記後方イントラ予測モードに対応する参照画素とを、処理対象画素の位置に応じて重みづけ演算することにより、前記予測画像を生成する
(12)乃至(14)のいずれかに記載の画像処理装置。
(16) 前記イントラ予測に関する情報を生成する生成部をさらに備える
(1)乃至(15)のいずれかに記載の画像処理装置。
(17) 前記符号化部は、前記画像と前記予測部により生成される前記予測画像との差分を示す残差画像を符号化する
(1)乃至(16)のいずれかに記載の画像処理装置。
(18) 画像の処理対象領域について複数のイントラ予測モードを設定し、設定した複数の前記イントラ予測モードを用いてイントラ予測を行い、前記処理対象領域の予測画像を生成し、
生成された前記予測画像を用いて前記画像を符号化する
画像処理方法。
(19) 画像の符号化データを復号して残差画像を生成する復号部と、
前記画像の処理対象領域について設定された複数のイントラ予測モードを用いてイントラ予測を行い、前記処理対象領域の予測画像を生成する予測部と、
前記復号部により生成される前記残差画像と、前記予測部により生成される前記予測画像とを用いて前記画像の復号画像を生成する生成部と
を備える画像処理装置。
(20) 画像の符号化データを復号して残差画像を生成し、
前記画像の処理対象領域について設定された複数のイントラ予測モードを用いてイントラ予測を行い、前記処理対象領域の予測画像を生成し、
生成された前記残差画像と、生成された前記予測画像とを用いて前記画像の復号画像を生成する
画像処理方法。
(1) 画像の処理対象領域について複数のイントラ予測モードを設定し、設定した複数の前記イントラ予測モードを用いてイントラ予測を行い、前記処理対象領域の予測画像を生成する予測部と、
前記予測部により生成される前記予測画像を用いて前記画像を符号化する符号化部と
を備える画像処理装置。
(2) 前記予測部は、前記イントラ予測モードの候補を、矩形の前記処理対象領域の中心から3以上の各辺に向かう方向に設定し、前記候補の中から複数を選択して前記イントラ予測モードとして設定し、設定した複数の前記イントラ予測モードを用いて前記イントラ予測を行う
(1)に記載の画像処理装置。
(3) 前記予測部は、参照画素を、前記処理対象領域の前記3以上の各辺の側に設定し、前記参照画素の中の、設定した複数の前記イントラ予測モードのそれぞれに対応する参照画素を用いて前記イントラ予測を行う
(2)に記載の画像処理装置。
(4) 前記予測部は、前記イントラ予測モードの候補を、前記処理対象領域の中心から上辺に向かう方向と左辺に向かう方向との他に、右辺に向かう方向若しくは下辺に向かう方向または両方に設定し、前記候補の中から選択して設定した複数の前記イントラ予測モードを用いて前記イントラ予測を行う
(2)に記載の画像処理装置。
(5) 前記予測部は、前記処理対象領域より上側に位置する参照画素、および、前記処理対象領域より左側に位置する参照画素の他に、前記処理対象領域より右側に位置する参照画素若しくは前記処理対象領域より下側に位置する参照画素または両方を設定し、前記参照画素の中の、設定した複数のイントラ予測モードのそれぞれに対応する参照画素を用いて前記イントラ予測を行う
(4)に記載の画像処理装置。
(6) 前記予測部は、再構成画像を用いて前記参照画素を設定する
(5)に記載の画像処理装置。
(7) 前記予測部は、処理対象ピクチャの処理済みの領域の再構成画像を用いて、前記処理対象領域より上側に位置する参照画素と、前記処理対象領域より右側に位置する参照画素とを設定する
(6)に記載の画像処理装置。
(8) 前記予測部は、他のピクチャの再構成画像を用いて、前記処理対象領域より右側に位置する参照画素、若しくは、前記処理対象領域より下側に位置する参照画素、または両方を設定する
(6)または(7)に記載の画像処理装置。
(9) 前記予測部は、補間処理により、前記処理対象領域より右側に位置する参照画素、若しくは、前記処理対象領域より下側に位置する参照画素、または両方を設定する
(5)乃至(8)のいずれかに記載の画像処理装置。
(10) 前記予測部は、前記補間処理として、近傍の画素を複製若しくは処理対象画素の位置に応じて重みづけ演算することにより、前記処理対象領域より右側に位置する参照画素、若しくは、前記処理対象領域より下側に位置する参照画素、または両方を設定する
(9)に記載の画像処理装置。
(11) 前記予測部は、インター予測を行うことにより、前記処理対象領域より右側に位置する参照画素、若しくは、前記処理対象領域より下側に位置する参照画素、または両方を設定する
(5)乃至(10)のいずれかに記載の画像処理装置。
(12) 前記予測部は、
前記処理対象領域の中心から上辺若しくは左辺に向かう方向の前記イントラ予測モードの候補の中から単数の候補を選択して前方イントラ予測モードとして設定し、
前記処理対象領域の中心から右辺に向かう方向の前記イントラ予測モードの候補、若しくは、前記処理対象領域の下辺に向かう方向の前記イントラ予測モードの候補、または両方の中から単数の候補を選択して後方イントラ予測モードとして設定し、
設定した前記前方イントラ予測モードと前記後方イントラ予測モードとを用いて前記イントラ予測を行う
(4)乃至(11)のいずれかに記載の画像処理装置。
(13) 前記予測部は、前記処理対象領域より上側に位置する参照画素および前記処理対象領域より左側に位置する参照画素の中の、前記前方イントラ予測モードに対応する参照画素と、前記処理対象領域より右側に位置する参照画素若しくは前記処理対象領域より下側に位置する参照画素または両方の中の、前記後方イントラ予測モードに対応する参照画素とを用いて前記イントラ予測を行う
(12)に記載の画像処理装置。
(14) 前記予測部は、
前記前方イントラ予測モードに対応する参照画素を用いて、前記処理対象領域の一部の領域に対するイントラ予測を行い、
前記後方イントラ予測モードに対応する参照画素を用いて、前記処理対象領域のその他の領域に対するイントラ予測を行う
(12)または(13)に記載の画像処理装置。
(15) 前記予測部は、前記前方イントラ予測モードに対応する参照画素と、前記後方イントラ予測モードに対応する参照画素とを、処理対象画素の位置に応じて重みづけ演算することにより、前記予測画像を生成する
(12)乃至(14)のいずれかに記載の画像処理装置。
(16) 前記イントラ予測に関する情報を生成する生成部をさらに備える
(1)乃至(15)のいずれかに記載の画像処理装置。
(17) 前記符号化部は、前記画像と前記予測部により生成される前記予測画像との差分を示す残差画像を符号化する
(1)乃至(16)のいずれかに記載の画像処理装置。
(18) 画像の処理対象領域について複数のイントラ予測モードを設定し、設定した複数の前記イントラ予測モードを用いてイントラ予測を行い、前記処理対象領域の予測画像を生成し、
生成された前記予測画像を用いて前記画像を符号化する
画像処理方法。
(19) 画像の符号化データを復号して残差画像を生成する復号部と、
前記画像の処理対象領域について設定された複数のイントラ予測モードを用いてイントラ予測を行い、前記処理対象領域の予測画像を生成する予測部と、
前記復号部により生成される前記残差画像と、前記予測部により生成される前記予測画像とを用いて前記画像の復号画像を生成する生成部と
を備える画像処理装置。
(20) 画像の符号化データを復号して残差画像を生成し、
前記画像の処理対象領域について設定された複数のイントラ予測モードを用いてイントラ予測を行い、前記処理対象領域の予測画像を生成し、
生成された前記残差画像と、生成された前記予測画像とを用いて前記画像の復号画像を生成する
画像処理方法。
31 処理対象領域, 32 領域, 33 画素, 51 領域, 100 画像符号化装置, 115 可逆符号化部, 116 付加情報生成部, 123 イントラ予測部, 124 インター予測部, 125 インター先イントラ予測部, 126 予測画像選択部, 131 インター予測部, 132 複数方向イントラ予測部, 141 参照画素設定部, 142 予測画像生成部, 143 モード選択部, 144 コスト関数算出部, 145 モード選択部, 151 ブロック設定部, 152 ブロック予測制御部, 153 記憶部, 154 コスト比較部, 300 画像復号装置, 312 可逆復号部, 319 イントラ予測部, 320 インター予測部, 321 インター先イントラ予測部, 322 予測画像選択部, 331 インター予測部, 332 複数方向イントラ予測部, 341 参照画素設定部, 342 予測画像生成部, 401 複数方向イントラ予測部, 402 予測画像選択部, 411 ブロック予測制御部, 421 複数方向イントラ予測部
Claims (20)
- 画像の処理対象領域について複数のイントラ予測モードを設定し、設定した複数の前記イントラ予測モードを用いてイントラ予測を行い、前記処理対象領域の予測画像を生成する予測部と、
前記予測部により生成される前記予測画像を用いて前記画像を符号化する符号化部と
を備える画像処理装置。 - 前記予測部は、前記イントラ予測モードの候補を、矩形の前記処理対象領域の中心から3以上の各辺に向かう方向に設定し、前記候補の中から複数を選択して前記イントラ予測モードとして設定し、設定した複数の前記イントラ予測モードを用いて前記イントラ予測を行う
請求項1に記載の画像処理装置。 - 前記予測部は、参照画素を、前記処理対象領域の前記3以上の各辺の側に設定し、前記参照画素の中の、設定した複数の前記イントラ予測モードのそれぞれに対応する参照画素を用いて前記イントラ予測を行う
請求項2に記載の画像処理装置。 - 前記予測部は、前記イントラ予測モードの候補を、前記処理対象領域の中心から上辺に向かう方向と左辺に向かう方向との他に、右辺に向かう方向若しくは下辺に向かう方向または両方に設定し、前記候補の中から選択して設定した複数の前記イントラ予測モードを用いて前記イントラ予測を行う
請求項2に記載の画像処理装置。 - 前記予測部は、前記処理対象領域より上側に位置する参照画素、および、前記処理対象領域より左側に位置する参照画素の他に、前記処理対象領域より右側に位置する参照画素若しくは前記処理対象領域より下側に位置する参照画素または両方を設定し、前記参照画素の中の、設定した複数のイントラ予測モードのそれぞれに対応する参照画素を用いて前記イントラ予測を行う
請求項4に記載の画像処理装置。 - 前記予測部は、再構成画像を用いて前記参照画素を設定する
請求項5に記載の画像処理装置。 - 前記予測部は、処理対象ピクチャの処理済みの領域の再構成画像を用いて、前記処理対象領域より上側に位置する参照画素と、前記処理対象領域より左側に位置する参照画素とを設定する
請求項6に記載の画像処理装置。 - 前記予測部は、他のピクチャの再構成画像を用いて、前記処理対象領域より右側に位置する参照画素、若しくは、前記処理対象領域より下側に位置する参照画素、または両方を設定する
請求項6に記載の画像処理装置。 - 前記予測部は、補間処理により、前記処理対象領域より右側に位置する参照画素、若しくは、前記処理対象領域より下側に位置する参照画素、または両方を設定する
請求項5に記載の画像処理装置。 - 前記予測部は、前記補間処理として、近傍の画素を複製若しくは処理対象画素の位置に応じて重みづけ演算することにより、前記処理対象領域より右側に位置する参照画素、若しくは、前記処理対象領域より下側に位置する参照画素、または両方を設定する
請求項9に記載の画像処理装置。 - 前記予測部は、インター予測を行うことにより、前記処理対象領域より右側に位置する参照画素、若しくは、前記処理対象領域より下側に位置する参照画素、または両方を設定する
請求項5に記載の画像処理装置。 - 前記予測部は、
前記処理対象領域の中心から上辺若しくは左辺に向かう方向の前記イントラ予測モードの候補の中から単数の候補を選択して前方イントラ予測モードとして設定し、
前記処理対象領域の中心から右辺に向かう方向の前記イントラ予測モードの候補、若しくは、前記処理対象領域の下辺に向かう方向の前記イントラ予測モードの候補、または両方の中から単数の候補を選択して後方イントラ予測モードとして設定し、
設定した前記前方イントラ予測モードと前記後方イントラ予測モードとを用いて前記イントラ予測を行う
請求項4に記載の画像処理装置。 - 前記予測部は、前記処理対象領域より上側に位置する参照画素および前記処理対象領域より左側に位置する参照画素の中の、前記前方イントラ予測モードに対応する参照画素と、前記処理対象領域より右側に位置する参照画素若しくは前記処理対象領域より下側に位置する参照画素または両方の中の、前記後方イントラ予測モードに対応する参照画素とを用いて前記イントラ予測を行う
請求項12に記載の画像処理装置。 - 前記予測部は、
前記前方イントラ予測モードに対応する参照画素を用いて、前記処理対象領域の一部の領域に対するイントラ予測を行い、
前記後方イントラ予測モードに対応する参照画素を用いて、前記処理対象領域のその他の領域に対するイントラ予測を行う
請求項12に記載の画像処理装置。 - 前記予測部は、前記前方イントラ予測モードに対応する参照画素と、前記後方イントラ予測モードに対応する参照画素とを、処理対象画素の位置に応じて重みづけ演算することにより、前記予測画像を生成する
請求項12に記載の画像処理装置。 - 前記イントラ予測に関する情報を生成する生成部をさらに備える
請求項1に記載の画像処理装置。 - 前記符号化部は、前記画像と前記予測部により生成される前記予測画像との差分を示す残差画像を符号化する
請求項1に記載の画像処理装置。 - 画像の処理対象領域について複数のイントラ予測モードを設定し、設定した複数の前記イントラ予測モードを用いてイントラ予測を行い、前記処理対象領域の予測画像を生成し、
生成された前記予測画像を用いて前記画像を符号化する
画像処理方法。 - 画像の符号化データを復号して残差画像を生成する復号部と、
前記画像の処理対象領域について設定された複数のイントラ予測モードを用いてイントラ予測を行い、前記処理対象領域の予測画像を生成する予測部と、
前記復号部により生成される前記残差画像と、前記予測部により生成される前記予測画像とを用いて前記画像の復号画像を生成する生成部と
を備える画像処理装置。 - 画像の符号化データを復号して残差画像を生成し、
前記画像の処理対象領域について設定された複数のイントラ予測モードを用いてイントラ予測を行い、前記処理対象領域の予測画像を生成し、
生成された前記残差画像と、生成された前記予測画像とを用いて前記画像の復号画像を生成する
画像処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/768,664 US20180302629A1 (en) | 2015-10-30 | 2016-10-14 | Image processing apparatus and method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015-214251 | 2015-10-30 | ||
JP2015214251 | 2015-10-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017073362A1 true WO2017073362A1 (ja) | 2017-05-04 |
Family
ID=58630108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2016/080497 WO2017073362A1 (ja) | 2015-10-30 | 2016-10-14 | 画像処理装置および方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20180302629A1 (ja) |
WO (1) | WO2017073362A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020003583A1 (ja) * | 2018-06-26 | 2020-01-02 | 日本電気株式会社 | 映像符号化又は映像復号装置、映像符号化又は映像復号方法、プログラム、及び記録媒体 |
JPWO2020054060A1 (ja) * | 2018-09-14 | 2021-09-09 | 株式会社ソシオネクスト | 動画像符号化方法及び動画像符号化装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020120141A (ja) * | 2017-05-26 | 2020-08-06 | シャープ株式会社 | 動画像符号化装置及び動画像復号装置、フィルタ装置 |
CN118678067A (zh) * | 2017-10-18 | 2024-09-20 | 三星电子株式会社 | 视频解码方法、视频编码方法和装置 |
US10645381B2 (en) * | 2018-04-30 | 2020-05-05 | Google Llc | Intra-prediction for smooth blocks in image/video |
US11800099B2 (en) * | 2018-09-20 | 2023-10-24 | Electronics And Telecommunications Research Institute | Method and device for encoding/decoding image, and recording medium for storing bitstream |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008084817A1 (ja) * | 2007-01-09 | 2008-07-17 | Kabushiki Kaisha Toshiba | 画像符号化と復号化の方法及び装置 |
US20130064292A1 (en) * | 2010-05-17 | 2013-03-14 | Sk Telecom Co., Ltd. | Image coding/decoding device using coding block in which intra block and inter block are mixed, and method thereof |
JP2013524670A (ja) * | 2010-04-09 | 2013-06-17 | シャープ株式会社 | イントラ予測方法およびイントラ予測システム |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5321426B2 (ja) * | 2009-11-26 | 2013-10-23 | 株式会社Jvcケンウッド | 画像符号化装置、画像復号化装置、画像符号化方法、及び画像復号化方法 |
KR101623124B1 (ko) * | 2009-12-03 | 2016-05-24 | 에스케이 텔레콤주식회사 | 비디오 인코딩 장치 및 그 인코딩 방법, 비디오 디코딩 장치 및 그 디코딩 방법, 및 거기에 이용되는 방향적 인트라 예측방법 |
WO2011083573A1 (ja) * | 2010-01-07 | 2011-07-14 | 株式会社 東芝 | 動画像符号化装置及び動画像復号化装置 |
CN103081471B (zh) * | 2010-07-15 | 2017-06-06 | 夏普株式会社 | 帧内预测模式估计装置、编码装置、以及解码装置 |
AU2010357291B2 (en) * | 2010-07-15 | 2015-01-15 | Kabushiki Kaisha Toshiba | Image encoding method and image decoding method |
GB2501535A (en) * | 2012-04-26 | 2013-10-30 | Sony Corp | Chrominance Processing in High Efficiency Video Codecs |
US9264710B2 (en) * | 2012-07-06 | 2016-02-16 | Texas Instruments Incorporated | Method and system for video picture intra-prediction estimation |
US9451254B2 (en) * | 2013-07-19 | 2016-09-20 | Qualcomm Incorporated | Disabling intra prediction filtering |
US10404989B2 (en) * | 2016-04-26 | 2019-09-03 | Google Llc | Hybrid prediction modes for video coding |
US11128872B2 (en) * | 2018-07-16 | 2021-09-21 | Qualcomm Incorporated | Position dependent intra prediction combination with wide angle intra prediction |
-
2016
- 2016-10-14 US US15/768,664 patent/US20180302629A1/en not_active Abandoned
- 2016-10-14 WO PCT/JP2016/080497 patent/WO2017073362A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008084817A1 (ja) * | 2007-01-09 | 2008-07-17 | Kabushiki Kaisha Toshiba | 画像符号化と復号化の方法及び装置 |
JP2013524670A (ja) * | 2010-04-09 | 2013-06-17 | シャープ株式会社 | イントラ予測方法およびイントラ予測システム |
US20130064292A1 (en) * | 2010-05-17 | 2013-03-14 | Sk Telecom Co., Ltd. | Image coding/decoding device using coding block in which intra block and inter block are mixed, and method thereof |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102546650B1 (ko) | 2018-06-26 | 2023-06-21 | 닛본 덴끼 가부시끼가이샤 | 영상 부호화 장치와 방법, 영상 복호 장치와 방법, 및 기록 매체 |
KR20210013166A (ko) * | 2018-06-26 | 2021-02-03 | 닛본 덴끼 가부시끼가이샤 | 영상 부호화 또는 영상 복호 장치, 영상 부호화 또는 영상 복호 방법, 프로그램, 및 기록 매체 |
KR20220123324A (ko) * | 2018-06-26 | 2022-09-06 | 닛본 덴끼 가부시끼가이샤 | 영상 부호화 장치와 방법, 영상 복호 장치와 방법, 및 기록 매체 |
KR20220120722A (ko) * | 2018-06-26 | 2022-08-30 | 닛본 덴끼 가부시끼가이샤 | 영상 부호화 장치와 방법, 영상 복호 장치와 방법, 및 기록 매체 |
KR102610103B1 (ko) | 2018-06-26 | 2023-12-04 | 닛본 덴끼 가부시끼가이샤 | 영상 부호화 장치와 방법, 영상 복호 장치와 방법, 및 기록 매체 |
JP7060096B2 (ja) | 2018-06-26 | 2022-04-26 | 日本電気株式会社 | 映像符号化又は映像復号装置、映像符号化又は映像復号方法、及びプログラム |
JP2022092009A (ja) * | 2018-06-26 | 2022-06-21 | 日本電気株式会社 | 映像符号化又は映像復号装置、映像符号化又は映像復号方法、プログラム、及び記録媒体 |
KR102436953B1 (ko) | 2018-06-26 | 2022-08-25 | 닛본 덴끼 가부시끼가이샤 | 영상 부호화 또는 영상 복호 장치, 영상 부호화 또는 영상 복호 방법, 프로그램, 및 기록 매체 |
JP7521652B2 (ja) | 2018-06-26 | 2024-07-24 | 日本電気株式会社 | 映像符号化又は映像復号装置、映像符号化又は映像復号方法、プログラム、及び記録媒体 |
CN112313957A (zh) * | 2018-06-26 | 2021-02-02 | 日本电气株式会社 | 视频编码或解码装置、视频编码或解码方法、程序和记录介质 |
JPWO2020003583A1 (ja) * | 2018-06-26 | 2021-07-01 | 日本電気株式会社 | 映像符号化又は映像復号装置、映像符号化又は映像復号方法、及びプログラム |
US11785255B2 (en) | 2018-06-26 | 2023-10-10 | Nec Corporation | Video encoding or decoding apparatus, video encoding or decoding method, program, and recording medium |
WO2020003583A1 (ja) * | 2018-06-26 | 2020-01-02 | 日本電気株式会社 | 映像符号化又は映像復号装置、映像符号化又は映像復号方法、プログラム、及び記録媒体 |
JP7302700B2 (ja) | 2018-06-26 | 2023-07-04 | 日本電気株式会社 | 映像符号化又は映像復号装置、映像符号化又は映像復号方法、プログラム、及び記録媒体 |
US11736724B2 (en) | 2018-06-26 | 2023-08-22 | Nec Corporation | Video encoding or decoding apparatus, video encoding or decoding method, program, and recording medium |
JP7243732B2 (ja) | 2018-09-14 | 2023-03-22 | 株式会社ソシオネクスト | 動画像符号化方法及び動画像符号化装置 |
JPWO2020054060A1 (ja) * | 2018-09-14 | 2021-09-09 | 株式会社ソシオネクスト | 動画像符号化方法及び動画像符号化装置 |
US11516481B2 (en) | 2018-09-14 | 2022-11-29 | Socionext Inc. | Video encoding method and video encoding device |
Also Published As
Publication number | Publication date |
---|---|
US20180302629A1 (en) | 2018-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6780761B2 (ja) | 画像符号化装置および方法 | |
WO2019054200A1 (ja) | 画像処理装置および方法 | |
JP6607414B2 (ja) | 画像符号化装置および方法 | |
KR102338523B1 (ko) | 디코딩 디바이스, 디코딩 방법, 인코딩 디바이스, 및 인코딩 방법 | |
WO2017073362A1 (ja) | 画像処理装置および方法 | |
WO2017126333A1 (ja) | 画像処理装置および方法 | |
JP6451999B2 (ja) | 画像処理装置および方法 | |
WO2018131523A1 (ja) | 画像処理装置および画像処理方法 | |
JP6497562B2 (ja) | 画像符号化装置および方法 | |
WO2014050731A1 (ja) | 画像処理装置および方法 | |
WO2017073360A1 (ja) | 画像処理装置および方法 | |
WO2016147836A1 (ja) | 画像処理装置および方法 | |
JPWO2015098561A1 (ja) | 復号装置および復号方法、並びに、符号化装置および符号化方法 | |
JP2015005899A (ja) | 復号装置および復号方法、並びに、符号化装置および符号化方法 | |
WO2015064402A1 (ja) | 画像処理装置および方法 | |
WO2014156708A1 (ja) | 画像復号装置および方法 | |
WO2015064403A1 (ja) | 画像処理装置および方法 | |
JPWO2014097912A1 (ja) | 画像処理装置および方法 | |
WO2014208326A1 (ja) | 画像符号化装置および方法、並びに、画像復号装置および方法 | |
JPWO2015098563A1 (ja) | 画像符号化装置および方法、並びに画像復号装置および方法 | |
WO2015064401A1 (ja) | 画像処理装置および方法 | |
WO2014162916A1 (ja) | 画像符号化装置および方法、並びに、画像復号装置および方法 | |
WO2017126331A1 (ja) | 画像処理装置および方法 | |
JP6341067B2 (ja) | 画像処理装置および方法 | |
JP2015050738A (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: 16859592 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15768664 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 16859592 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |