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

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

Info

Publication number
WO2016194721A1
WO2016194721A1 PCT/JP2016/065390 JP2016065390W WO2016194721A1 WO 2016194721 A1 WO2016194721 A1 WO 2016194721A1 JP 2016065390 W JP2016065390 W JP 2016065390W WO 2016194721 A1 WO2016194721 A1 WO 2016194721A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
prediction
processing
current block
data
Prior art date
Application number
PCT/JP2016/065390
Other languages
English (en)
French (fr)
Inventor
央二 中神
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to JP2017521852A priority Critical patent/JP6711353B2/ja
Priority to US15/575,836 priority patent/US11140400B2/en
Priority to CN201680030966.7A priority patent/CN107683606B/zh
Priority to KR1020177031859A priority patent/KR20180016348A/ko
Priority to EP16803156.5A priority patent/EP3306925B1/en
Publication of WO2016194721A1 publication Critical patent/WO2016194721A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/57Motion estimation characterised by a search window with variable size or shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing

Definitions

  • the present disclosure relates to an image processing apparatus and an image processing method, and more particularly, to an image processing apparatus and an image processing method capable of reducing a processing load when performing intra-BC prediction using correlation in a screen.
  • H.264 / AVC High Efficiency Efficiency Video Video Coding
  • JCTVC Joint Collaboration Collaboration Team Video Video Coding
  • a range extension (HEVC Range Extension) is considered to support high-end formats such as 4: 2: 2 and 4: 4: 4 color difference signal format images and screen content profiles.
  • HEVC Range Extension HEVC Range Extension
  • IntraBlockCopy (Intra) BC) is a coding tool that performs prediction by performing motion compensation in the screen using the correlation in the screen.
  • Intra BC is known as a tool that contributes to improving the coding efficiency of artificial images such as computer screens and CG images.
  • Intra BC is not adopted for the above-described HEVC Range Extension extension, and technical studies are being continued with standardization of Screen Content Coding (SCC) extension (see, for example, Non-Patent Document 2).
  • SCC Screen Content Coding
  • Intra BC prediction all areas that are in the coding order before the current block that is the current CU (Coding Unit) in the current picture can be referenced.
  • filter processing such as deblocking filter processing and SAO (Sample-adaptive-offset) processing
  • SAO Sample-adaptive-offset
  • the reference picture in the inter prediction is a picture different from the current picture, all regions in the reference picture are filtered when the current block is encoded. Therefore, the inter prediction is performed with reference to the reference picture after the filtering process.
  • This disclosure has been made in view of such a situation, and is intended to reduce the processing load when performing intra-BC prediction using correlation within a screen.
  • An image processing apparatus limits a motion vector of a current block used for prediction using in-screen correlation so that neighboring pixels of the current block are not used for the prediction of the current block. It is an image processing apparatus provided with the restriction
  • the image processing method according to one aspect of the present disclosure corresponds to the image processing apparatus according to one aspect of the present disclosure.
  • a motion vector of a current block used for prediction using correlation within a screen is limited so that peripheral pixels of the current block are not used for the prediction of the current block.
  • the image processing apparatus can be realized by causing a computer to execute a program.
  • a program to be executed by a computer can be provided by being transmitted via a transmission medium or by being recorded on a recording medium.
  • the image processing apparatus may be an independent apparatus, or may be an internal block constituting one apparatus.
  • an image can be predicted. Also, according to one aspect of the present disclosure, it is possible to reduce a processing load when performing Intra BC prediction using correlation within a screen.
  • FIG. 1 It is a block diagram which shows the structural example of the hardware of a computer. It is a figure which shows the example of schematic structure of the television apparatus to which this indication is applied. It is a figure which shows the schematic structural example of the mobile telephone to which this indication is applied. It is a figure which shows the schematic structural example of the recording / reproducing apparatus to which this indication is applied. It is a figure which shows the schematic structural example of the imaging device to which this indication is applied. 2 illustrates an example of a schematic configuration of a video set to which the present disclosure is applied. 2 illustrates an example of a schematic configuration of a video processor to which the present disclosure is applied. The other example of the schematic structure of the video processor to which this indication is applied is shown.
  • FIG. 1 is a block diagram illustrating a configuration example of an embodiment of an encoding device as an image processing device to which the present disclosure is applied.
  • the encoding device 70 includes a filter 82, a frame memory 85, a switch 86, an intra prediction unit 87, a motion prediction / compensation unit 89, a predicted image selection unit 92, and a rate control unit 93.
  • the encoding device 70 encodes a picture in units of frames by a method according to HEVC.
  • the coding unit is Coding UNIT (CU) having a recursive hierarchical structure. Specifically, the CU is set by dividing a picture into CTUs (Coding
  • the maximum size of the CU is LCU (Largest Coding Unit), and the minimum size is SCU (Smallest Coding Unit).
  • the CU is divided into PU (Prediction unit) and TU (transform unit).
  • the A / D conversion unit 71 of the encoding device 70 performs A / D conversion on a frame-by-frame picture input as an encoding target.
  • the A / D conversion unit 71 outputs the picture, which is the converted digital signal, to the screen rearrangement buffer 72 for storage.
  • the screen rearrangement buffer 72 rearranges the stored frame-by-frame pictures in the order for encoding according to the GOP structure.
  • the screen rearrangement buffer 72 sets the rearranged picture as the current picture, and sequentially sets each CU of the current picture as the current block.
  • the screen rearrangement buffer 72 outputs the current block to the calculation unit 73, the intra prediction unit 87, and the motion prediction / compensation unit 89.
  • the calculation unit 73 performs encoding by subtracting the prediction image supplied from the prediction image selection unit 92 from the current block supplied from the screen rearrangement buffer 72.
  • the computing unit 73 outputs the resulting picture to the orthogonal transform unit 74 as residual information.
  • the calculation unit 73 outputs the current block read from the screen rearrangement buffer 72 as it is to the orthogonal transform unit 74 as residual information.
  • the orthogonal transform unit 74 orthogonally transforms the residual information from the calculation unit 73 in units of TUs.
  • the orthogonal transform unit 74 supplies an orthogonal transform coefficient obtained as a result of the orthogonal transform to the quantization unit 75.
  • the quantization unit 75 performs quantization on the orthogonal transform coefficient supplied from the orthogonal transform unit 74.
  • the quantization unit 75 supplies the quantized orthogonal transform coefficient to the lossless encoding unit 76.
  • the lossless encoding unit 76 acquires the intra prediction mode information indicating the optimal intra prediction mode from the intra prediction unit 87. Further, the lossless encoding unit 76 acquires, from the motion prediction / compensation unit 89, inter prediction mode information indicating an optimal inter prediction mode, a motion vector, reference picture specifying information for specifying a reference picture, and the like. Furthermore, the lossless encoding unit 76 acquires offset filter information related to adaptive offset filter processing from the filter 82.
  • the lossless encoding unit 76 performs variable length coding (for example, CAVLC (Context-Adaptive Variable Length Coding)), arithmetic coding (for example, for the quantized orthogonal transform coefficient supplied from the quantization unit 75, for example. , CABAC (Context-Adaptive Binary Arithmetic Coding) etc.).
  • variable length coding for example, CAVLC (Context-Adaptive Variable Length Coding)
  • arithmetic coding for example, for the quantized orthogonal transform coefficient supplied from the quantization unit 75, for example.
  • CABAC Context-Adaptive Binary Arithmetic Coding
  • the lossless encoding unit 76 performs lossless encoding on intra prediction mode information, inter prediction mode information, motion vectors, reference picture specifying information, offset filter information, and the like as encoding information related to encoding.
  • the lossless encoding unit 76 adds losslessly encoded encoding information and the like to the losslessly encoded orthogonal transform coefficient and supplies the result to the accumulation buffer 77 as encoded data.
  • the accumulation buffer 77 temporarily stores the encoded data supplied from the lossless encoding unit 76. Further, the accumulation buffer 77 supplies the stored encoded data to the generation unit 78.
  • the generating unit 78 generates and outputs an encoded stream from a parameter set such as SPS (Sequence Parameter Set), PPS (Picture Parameter Set), and the encoded data supplied from the accumulation buffer 77.
  • a parameter set such as SPS (Sequence Parameter Set), PPS (Picture Parameter Set), and the encoded data supplied from the accumulation buffer 77.
  • the quantized orthogonal transform coefficient output from the quantization unit 75 is also input to the inverse quantization unit 79.
  • the inverse quantization unit 79 performs inverse quantization on the orthogonal transform coefficient quantized by the quantization unit 75 by a method corresponding to the quantization method in the quantization unit 75.
  • the inverse quantization unit 79 supplies the orthogonal transform coefficient obtained as a result of the inverse quantization to the inverse orthogonal transform unit 80.
  • the inverse orthogonal transform unit 80 performs inverse orthogonal transform on the orthogonal transform coefficient supplied from the inverse quantization unit 79 by a method corresponding to the orthogonal transform method in the orthogonal transform unit 74 in units of TUs.
  • the inverse orthogonal transform unit 80 supplies the residual information obtained as a result to the addition unit 81.
  • the adding unit 81 decodes the current block by adding the residual information supplied from the inverse orthogonal transform unit 80 and the predicted image supplied from the predicted image selecting unit 92. When the predicted image is not supplied from the predicted image selection unit 92, the adding unit 81 uses the residual information supplied from the inverse orthogonal transform unit 80 as a decoding result. The adder 81 supplies the current block to the frame memory 85 and the filter 82.
  • the filter 82 holds the current block supplied from the adding unit 81 as an encoded CU.
  • the filter 82 is centered on the boundary between the current block and the adjacent block using the current block supplied from the adder 81 and the encoded CU adjacent to the held current block (hereinafter referred to as an adjacent block).
  • the deblocking filter process is performed on each of up to three pixels arranged in the direction perpendicular to the boundary.
  • the filter 82 performs SAO processing on the pixel after the deblocking filter processing.
  • Types of SAO processing include edge offset processing and band offset processing, which are selected in units of LCUs.
  • Edge offset processing is performed using pixel values of two pixels arranged in a horizontal direction, a vertical direction, or an oblique direction with a pixel to be processed as a center. Therefore, the edge offset processing for each maximum pixel arranged in the direction perpendicular to the boundary around the boundary between adjacent CUs is performed using another adjacent CU.
  • the filter 82 supplies the pixel after SAO processing to the frame memory 85. Further, the filter 82 supplies information indicating the type and offset of the SAO processing performed to the lossless encoding unit 76 as offset filter information.
  • the frame memory 85 is composed of, for example, DRAM (Dynamic Random Access Memory).
  • the frame memory 85 stores a part of the current block before the deblocking filter process supplied from the adding unit 81 and the pixel after the SAO process supplied from the filter 82.
  • the pixels adjacent to the PU are supplied as peripheral pixels to the intra prediction unit 87 via the switch 86.
  • the current picture after the SAO process stored in the frame memory 85 and the picture after the SAO process preceding in encoding order from the current picture are sent to the motion prediction / compensation unit 89 via the switch 86 as reference picture candidates. Is output.
  • the intra prediction unit 87 performs intra prediction processing in all candidate intra prediction modes using peripheral pixels read from the frame memory 85 via the switch 86 in units of PUs.
  • the intra prediction unit 87 performs, on a PU basis, all candidate intra prediction modes based on the current block supplied from the screen rearrangement buffer 72 and the prediction image generated as a result of the intra prediction process.
  • the cost function value (details will be described later) is calculated. Then, the intra prediction unit 87 determines the intra prediction mode that minimizes the cost function value as the optimal intra prediction mode for each PU.
  • the intra prediction unit 87 supplies the predicted image generated in the optimal intra prediction mode and the corresponding cost function value to the predicted image selection unit 92 for the current block.
  • the intra prediction unit 87 supplies the intra prediction mode information of each PU of the current block to the lossless encoding unit 76 when the prediction image selection unit 92 is notified of the selection of the prediction image generated in the optimal intra prediction mode.
  • the cost function value is also called RD (Rate Distortion) cost. It is calculated based on the method of High Complexity mode or Low Complexity mode defined by JM (Joint Model) which is reference software in the H.264 / AVC format. H. Reference software in the H.264 / AVC format is published at http://iphome.hhi.de/suehring/tml/index.htm.
  • the motion prediction / compensation unit 89 performs inter prediction and Intra-BC prediction for all candidate PU modes in units of PUs.
  • the PU mode is a mode that represents a partitioning method for the CU of the PU.
  • the motion prediction / compensation unit 89 precedes the encoded region of the current picture and the current picture in which the horizontal and vertical resolution is quadrupled in the encoding order. Are divided into PU-sized areas, and these areas are sequentially set as search areas.
  • the motion prediction / compensation unit 89 sets a predetermined range excluding peripheral pixels of the current block in the current picture as a reference range used for detecting a motion vector of the current block.
  • the motion prediction / compensation unit 89 reads the search area of the current picture after the SAO process from the frame memory 85 via the switch 86 as a reference block candidate of the reference picture.
  • the motion prediction / compensation unit 89 obtains a correlation value between each PU of the current block supplied from the screen rearrangement buffer 72 and a reference block candidate of the reference picture. For each PU in each PU mode, the motion prediction / compensation unit 89, when the obtained correlation value is larger than the correlation value held, the PU of the current block corresponding to the correlation value and the reference block of the reference picture The motion vector with integer pixel accuracy between the candidates is determined as the best vector for Intra BC prediction.
  • the motion prediction / compensation unit 89 holds the best vector of Intra BC prediction and the corresponding correlation value for each PU in each PU mode.
  • the motion prediction / compensation unit 89 performs compensation processing on the reference block candidate of the reference picture based on the best vector of Intra-BC prediction for each PU in each PU mode, and generates a predicted image.
  • the motion prediction / compensation unit 89 also selects an area corresponding to the search area of the picture after the SAO process as a reference block candidate for the reference picture when the search area exists in the previous picture in the coding order from the current picture. Read from the frame memory 85. The motion prediction / compensation unit 89 quadruples the horizontal and vertical resolutions of the reference block candidates for the current block and the reference picture.
  • the motion prediction / compensation unit 89 obtains a correlation value between each PU of the current block whose resolution is quadrupled and a reference block candidate of the reference picture. For each PU in each PU mode, the motion prediction / compensation unit 89, when the obtained correlation value is larger than the correlation value held, the PU of the current block corresponding to the correlation value and the reference block of the reference picture The motion vector with 1/4 pixel accuracy between the candidates is determined as the best vector for inter prediction. The motion prediction / compensation unit 89 holds the best vector of inter prediction and the corresponding correlation value for each PU in each PU mode. The motion prediction / compensation unit 89 performs compensation processing on the reference block candidate of the reference picture based on the best vector of inter prediction for each PU in each PU mode, and generates a predicted image.
  • the motion prediction / compensation unit 89 calculates cost function values for all candidate PU modes for intra prediction and intra-BC prediction based on the current block and the predicted image in units of PUs.
  • the motion prediction / compensation unit 89 determines, for each PU, a mode representing a PU mode having a minimum cost function value and inter prediction or Intra-BC prediction as the optimal inter prediction mode. Then, the motion prediction / compensation unit 89 supplies the predicted image generated in the optimal inter prediction mode and the corresponding cost function value to the predicted image selection unit 92 for the current block.
  • the motion prediction / compensation unit 89 determines a reference picture candidate as a reference picture when the prediction image selection unit 92 is notified of selection of a prediction image generated in the optimal inter prediction mode. Then, the motion prediction / compensation unit 89 supplies the motion vector, the reference picture specifying information, and the inter prediction mode information corresponding to the predicted image to the lossless encoding unit 76.
  • the predicted image selection unit 92 Based on the cost function values supplied from the intra prediction unit 87 and the motion prediction / compensation unit 89, the predicted image selection unit 92 has a smaller corresponding cost function value among the optimal intra prediction mode and the optimal inter prediction mode. Are determined as the optimum prediction mode. Then, the predicted image selection unit 92 supplies the predicted image in the optimal prediction mode to the calculation unit 73 and the addition unit 81. Further, the predicted image selection unit 92 notifies the intra prediction unit 87 or the motion prediction / compensation unit 89 of selection of the predicted image in the optimal prediction mode.
  • the rate control unit 93 controls the rate of the quantization operation of the quantization unit 75 based on the encoded data stored in the storage buffer 77 so that overflow or underflow does not occur.
  • FIG. 2 is a block diagram illustrating a configuration example of an Intra BC prediction unit that performs Intra BC prediction and the like in the motion prediction / compensation unit 89 of FIG.
  • the 2 is composed of a restriction unit 101, a detection unit 102, and a prediction unit 103.
  • the restriction unit 101 sets a predetermined range excluding peripheral pixels of the current block in the current picture as a reference range used for detecting a motion vector of the current block. That is, the restriction unit 101 restricts the motion vector of the current block used for Intra BC prediction so that peripheral pixels of the current block are not used for Intra BC prediction of the current block.
  • the restriction unit 101 supplies the reference range to the detection unit 102.
  • the detection unit 102 sets the search region after the SAO process as a reference block candidate of the reference picture from the frame memory 85 via the switch 86. read out.
  • the detecting unit 102 obtains a correlation value between each PU of the current block supplied from the screen rearrangement buffer 72 and the reference block candidate of the reference picture. When the obtained correlation value is larger than the held correlation value for each PU in each PU mode, the detection unit 102 determines whether the PU of the current block corresponding to the correlation value and the reference block candidate of the reference picture The motion vector with integer pixel accuracy between them is determined as the best vector for Intra BC prediction. The detection unit 102 holds the best vector of Intra BC prediction and the corresponding correlation value. Then, for each PU mode, the detection unit 102 supplies the intra-BC prediction best vector of each PU to the prediction unit 103 when all the encoded regions of the current picture are set as search regions.
  • the prediction unit 103 performs Intra BC prediction by performing compensation processing on the reference block candidate of the reference picture based on the best vector supplied from the detection unit 102 for each PU in each PU mode, and performs prediction image prediction. Is generated. Further, the prediction unit 103 calculates cost function values for all the intra-BC predictions of candidate PU modes based on the current block and the predicted image supplied from the screen rearrangement buffer 72 in units of PUs. . The prediction unit 103 outputs the calculated cost function value and the predicted image.
  • the cost function value output from the Intra BC prediction unit 100 is compared with the cost function value corresponding to the inter prediction of each PU mode, and the optimal inter prediction mode is determined.
  • FIG. 3 is a diagram illustrating an example of a reference range.
  • the image to be encoded is divided into 7 (horizontal) ⁇ 5 (vertical) CUs.
  • the CU group 112 including the CUs existing above the CU 111 or having the same vertical position as the CU 111 and existing on the left side of the CU 111 is already encoded. ing.
  • the CU 111 and the CU group 113 that is located below the CU 111 or has the same position in the vertical direction as the CU 111 and is located on the right side of the CU 111 are not yet encoded.
  • a maximum of three pixels arranged in a direction perpendicular to the boundary from the boundary with the adjacent CU in the CU are affected by the adjacent CU.
  • a maximum of one pixel arranged in a direction perpendicular to the boundary from the boundary with the adjacent CU in the CU is affected by the adjacent CU.
  • the restriction unit 101 excludes, from the reference range, the region 114 in the CU group 112 that has a horizontal or vertical distance of 3 pixels or less from the CU group 113.
  • intra-BC prediction can be performed using a region other than the region 114 of the CU group 112 on which the SAO processing has been performed. Therefore, unlike the case where the CU group 112 before the deblocking filter processing and the SAO processing are temporarily held in a cache or the like and used for Intra-BC prediction, there is no need to provide a cache for Intra-BC prediction. As a result, an increase in memory bandwidth, processing load, and mounting cost can be prevented.
  • the motion vector (mvLX [0] z >> 2, mvLX [1] >> 2) of the PU 115 in the CU 111 satisfies the following expression (1).
  • xBl and yBl are the x-coordinate and y-coordinate of the top left vertex of the PU 115, respectively.
  • nPbW and nPbH are the size of the PU 115 in the horizontal direction and the size in the vertical direction, respectively.
  • xCb and yCb are the x coordinate and y coordinate of the upper left vertex of the CU 111, respectively.
  • the restriction unit 101 is configured to include a CTU including the CU 111 so that the reference range can be referred to.
  • the 2N right CTU of the N upper CTUs and the CTU existing to the right or upper right of the CTU are excluded from the reference range.
  • the restriction unit 101 excludes the region 118 including the two right CUs 117 of the CU one above the CU 111 and the CUs existing on the right or upper right of the CU 117 from the reference range.
  • the reference range at the time of intra-BC prediction is an area excluding the area 114 and the area 118 in the CU group 112. Therefore, the block 119 having the same size as the PU 115 adjacent to the left of the CU 111 and the block 120 having the same size as the PU 115 adjacent on the CU 111 are not used for detecting the motion vector of the PU 115. As described above, the image used for detecting the motion vector is limited, but the influence on the encoding efficiency is negligible.
  • xCb and yCb may be the x-coordinate and y-coordinate of the upper left vertex of the CTU including CU111 instead of CU111.
  • step S31 of FIG. 4 the A / D conversion unit 71 of the encoding device 70 performs A / D conversion on the frame unit picture input as an encoding target, and rearranges the picture that is the converted digital signal on the screen.
  • the data is output to the buffer 72 and stored.
  • step S32 the screen rearrangement buffer 72 rearranges the stored frame-by-frame pictures in the order of encoding in accordance with the GOP structure.
  • the screen rearrangement buffer 72 sets the frame-by-frame picture after the rearrangement as the current picture, and sequentially sets each CU of the current picture as the current block.
  • the screen rearrangement buffer 72 supplies the current block to the calculation unit 73, the intra prediction unit 87, and the motion prediction / compensation unit 89.
  • the intra prediction unit 87 performs intra prediction processing of all candidate intra prediction modes using peripheral pixels read from the frame memory 85 via the switch 86 in units of PUs.
  • the intra prediction unit 87 performs, on a PU basis, all candidate intra prediction modes based on the current block supplied from the screen rearrangement buffer 72 and the prediction image generated as a result of the intra prediction process. To calculate the cost function value. Then, the intra prediction unit 87 determines the intra prediction mode that minimizes the cost function value as the optimal intra prediction mode for each PU.
  • the intra prediction unit 87 supplies the predicted image generated in the optimal intra prediction mode and the corresponding cost function value to the predicted image selection unit 92 for the current block.
  • the intra prediction unit 87 supplies the intra prediction mode information to the lossless encoding unit 76 when the prediction image selection unit 92 is notified of the selection of the prediction image generated in the optimal intra prediction mode.
  • the motion prediction / compensation unit 89 performs inter prediction and Intra BC prediction of all candidate PU modes for each PU. In addition, the motion prediction / compensation unit 89 performs inter prediction and Intra BC prediction for all candidate PU modes based on the current block and the prediction image generated as a result of the inter prediction and Intra BC prediction in units of PUs. For this, a cost function value is calculated. The motion prediction / compensation unit 89 determines, for each PU, a mode representing a PU mode having the smallest cost function value and inter prediction or Intra-BC prediction as the optimal inter prediction mode. Then, the motion prediction / compensation unit 89 supplies the predicted image generated in the optimal inter prediction mode and the minimum value of the corresponding cost function value to the predicted image selection unit 92 for the current block.
  • step S ⁇ b> 34 the predicted image selection unit 92 has a minimum cost function value of the optimal intra prediction mode and the optimal inter prediction mode based on the cost function values supplied from the intra prediction unit 87 and the motion prediction / compensation unit 89. Is determined as the optimum prediction mode. Then, the predicted image selection unit 92 supplies the predicted image in the optimal prediction mode to the calculation unit 73 and the addition unit 81.
  • step S35 the predicted image selecting unit 92 determines whether or not the optimal prediction mode is the optimal inter prediction mode.
  • the predicted image selection unit 92 notifies the motion prediction / compensation unit 89 of the selection of the predicted image generated in the optimal inter prediction mode.
  • step S36 the motion prediction / compensation unit 89 supplies the inter prediction mode information, the motion vector, and the reference picture specifying information corresponding to the prediction image selected by the prediction image selection unit 92 to the lossless encoding unit 76. Then, the process proceeds to step S38.
  • step S35 when it is determined in step S35 that the optimal prediction mode is not the optimal inter prediction mode, that is, when the optimal prediction mode is the optimal intra prediction mode, the predicted image selection unit 92 performs the prediction generated in the optimal intra prediction mode.
  • the intra prediction unit 87 is notified of image selection.
  • step S37 the intra prediction unit 87 supplies the intra prediction mode information corresponding to the prediction image selected by the prediction image selection unit 92 to the lossless encoding unit 76, and the process proceeds to step S38.
  • step S38 the calculation unit 73 performs encoding by subtracting the prediction image supplied from the prediction image selection unit 92 from the current block supplied from the screen rearrangement buffer 72.
  • the computing unit 73 outputs the resulting picture to the orthogonal transform unit 74 as residual information.
  • step S39 the orthogonal transform unit 74 performs orthogonal transform on the residual information from the calculation unit 73 in units of TUs, and supplies the resulting orthogonal transform coefficient to the quantization unit 75.
  • step S40 the quantization unit 75 quantizes the orthogonal transform coefficient supplied from the orthogonal transform unit 74, and supplies the quantized orthogonal transform coefficient to the lossless encoding unit 76 and the inverse quantization unit 79.
  • the inverse quantization unit 79 inversely quantizes the quantized coefficient supplied from the quantization unit 75 and supplies the resulting orthogonal transform coefficient to the inverse orthogonal transform unit 80.
  • step S42 the inverse orthogonal transform unit 80 performs inverse orthogonal transform on the orthogonal transform coefficient supplied from the inverse quantization unit 79 in units of TUs, and supplies residual information obtained as a result to the adder 81.
  • step S43 the addition unit 81 adds the residual information supplied from the inverse orthogonal transform unit 80 and the prediction image supplied from the prediction image selection unit 92, and decodes the current block.
  • the adder 81 supplies the decoded current block to the frame memory 85 and the filter 82.
  • the filter 82 holds the current block supplied from the adding unit 81 as an encoded CU.
  • step S44 the filter 82 uses the current block and the adjacent block supplied from the adder 81, and performs the decoding on a maximum of three pixels arranged in the direction perpendicular to the boundary around the boundary between the current block and the adjacent block. Perform block filter processing.
  • step S45 the filter 82 performs SAO processing on the pixel after the deblocking filter processing.
  • the filter 82 supplies the pixel after SAO processing to the frame memory 85. Further, the filter 82 supplies information indicating the type and offset of the SAO processing performed to the lossless encoding unit 76 as offset filter information.
  • step S46 the frame memory 85 stores a part of the current block before the deblocking filter process supplied from the adding unit 81 and the pixel after the SAO process supplied from the filter 82.
  • the pixels adjacent to the PU are supplied as peripheral pixels to the intra prediction unit 87 via the switch 86.
  • the current picture after the SAO process stored in the frame memory 85 and the picture after the SAO process preceding in encoding order from the current picture are sent to the motion prediction / compensation unit 89 via the switch 86 as reference picture candidates. Is output.
  • step S47 the lossless encoding unit 76 losslessly encodes the intra prediction mode information, the inter prediction mode information, the motion vector, the reference picture specifying information, and the offset filter information as the encoding information.
  • step S48 the lossless encoding unit 76 performs lossless encoding on the quantized orthogonal transform coefficient supplied from the quantization unit 75. Then, the lossless encoding unit 76 generates encoded data from the encoding information that has been losslessly encoded in the process of step S 47 and the orthogonal transform coefficient that has been losslessly encoded, and supplies the encoded data to the accumulation buffer 77.
  • step S49 the accumulation buffer 77 temporarily accumulates the encoded data supplied from the lossless encoding unit 76.
  • step S50 the rate control unit 93 controls the rate of the quantization operation of the quantization unit 75 based on the encoded data stored in the storage buffer 77 so that overflow or underflow does not occur.
  • step S51 the generation unit 78 generates and outputs an encoded stream from the encoded data and parameter set stored in the accumulation buffer 77.
  • the intra prediction process, the Intra BC prediction, and the inter prediction are always performed. Only one of them may be performed.
  • FIG. 6 is a flowchart for explaining the details of the Intra-BC prediction process for performing Intra-BC prediction and the like in the process of Step S33 of FIG.
  • the limiting unit 101 (FIG. 2) of the motion prediction / compensation unit 89 determines the reference range of the current block and supplies it to the detection unit 102.
  • the processes in steps S62 to S70 are performed for each PU mode.
  • step S62 the detection unit 102 determines whether or not a new search region has been set by the motion prediction / compensation unit 89. If it is determined in step S62 that a new search area has not yet been set, the detection unit 102 waits until a new search area is set.
  • step S63 the detection unit 102 determines whether or not the newly set search area exists in the current picture.
  • step S64 the detection unit 102 determines whether the search area exists in the reference range supplied from the restriction unit 101.
  • the detection unit 102 reads out the search area after the SAO processing as a reference block candidate of the reference picture from the frame memory 85 via the switch 86. .
  • step S65 the detection unit 102 obtains a correlation value between each PU of the current block supplied from the screen rearrangement buffer 72 and a reference block candidate of the reference picture.
  • step S66 the detection unit 102 determines whether the correlation value obtained in step S65 is greater than the correlation value corresponding to the best vector held for each PU. If it is determined in step S66 that the correlation value is greater than the correlation value corresponding to the best vector, the process proceeds to step S67.
  • step S67 the detection unit 102 sets the motion vector of integer pixel accuracy between the PU of the current block corresponding to the correlation value obtained in step S65 and the reference block candidate of the reference picture as the best vector, and uses the best vector. And the corresponding correlation value is held. Then, the process proceeds to step S68.
  • step S63 If it is determined in step S63 that the search area does not exist in the current picture, if it is determined in step S64 that the search area does not exist in the reference range, or if the correlation value corresponds to the best vector in step S66. If it is determined that the correlation value is not greater than the correlation value, the process proceeds to step S68.
  • step S68 the detection unit 102 determines whether all the encoded regions of the current picture have been set as search regions by the motion prediction / compensation unit 89. If it is determined in step S68 that not all areas have been set as search areas, the process returns to step S62, and the processes in steps S62 to S68 are repeated until all areas are set as search areas. .
  • step S68 the detection unit 102 supplies the best vector of each held PU to the prediction unit 103.
  • step S69 the prediction unit 103 performs IntraInBC prediction by performing compensation processing on the reference block candidate of the reference picture based on the best vector supplied from the detection unit 102 in units of PUs. A prediction image is generated.
  • step S70 the prediction unit 103 calculates a cost function value in units of PUs based on the current block and the predicted image supplied from the screen rearrangement buffer 72.
  • the prediction unit 103 outputs a cost function value and a predicted image.
  • the cost function value output from the Intra BC prediction unit 100 as described above is compared with the cost function value corresponding to the inter prediction of each PU mode by the motion prediction / compensation unit 89 to determine the optimal inter prediction mode. .
  • the encoding device 70 restricts the motion vector of the current block used for intra-BC prediction so that an area other than the reference range in the current picture is not used for prediction of the current block. Therefore, for example, in intra-BC prediction, a picture after SAO processing can be referred to as a reference picture. As a result, there is no need to prepare a cache or the like for the reference picture for Intra-BC prediction, and an increase in memory bandwidth, processing load, and mounting cost when performing Intra-BC prediction can be prevented.
  • FIG. 7 is a block diagram illustrating a configuration example of an embodiment of a decoding device as an image processing device to which the present disclosure is applied, which decodes an encoded stream transmitted from the encoding device 70 of FIG.
  • the decoding device 130 includes a frame memory 141, a switch 142, an intra prediction unit 143, a motion compensation unit 147, and a switch 148.
  • the accumulation buffer 131 of the decoding device 130 receives and accumulates the encoded stream from the encoding device 70 of FIG.
  • the accumulation buffer 131 sequentially supplies the encoded data of each CU in the stored encoded stream to the lossless decoding unit 132 as encoded data of the current block. Note that the parameter set in the encoded stream is supplied to each unit of the decoding device 130 as necessary, and used for processing.
  • the lossless decoding unit 132 performs lossless decoding such as variable length decoding and arithmetic decoding corresponding to the lossless encoding of the lossless encoding unit 76 of FIG. Obtained orthogonal transform coefficients and encoding information.
  • the lossless decoding unit 132 supplies the quantized orthogonal transform coefficient to the inverse quantization unit 133.
  • the lossless decoding unit 132 supplies intra prediction mode information and the like as encoded information to the intra prediction unit 143, and supplies reference picture specifying information, motion vectors, inter prediction mode information, and the like to the motion compensation unit 147.
  • the lossless decoding unit 132 supplies intra prediction mode information or inter prediction mode information as encoded information to the switch 148.
  • the lossless decoding unit 132 supplies offset filter information as encoded information to the filter 136.
  • the inverse quantization unit 133, the inverse orthogonal transform unit 134, the addition unit 135, the filter 136, the frame memory 141, the switch 142, the intra prediction unit 143, and the motion compensation unit 147 are the inverse quantization unit 79 and the inverse orthogonal transform unit illustrated in FIG. 80, the adding unit 81, the filter 82, the frame memory 85, the switch 86, the intra prediction unit 87, and the motion prediction / compensation unit 89, the same process is performed, whereby the current block is decoded.
  • the inverse quantization unit 133 inversely quantizes the quantized orthogonal transform coefficient from the lossless decoding unit 132 and supplies the orthogonal transform coefficient obtained as a result to the inverse orthogonal transform unit 134.
  • the inverse orthogonal transform unit 134 performs inverse orthogonal transform on the orthogonal transform coefficient from the inverse quantization unit 133 in units of TUs.
  • the inverse orthogonal transform unit 134 supplies residual information obtained as a result of the inverse orthogonal transform to the addition unit 135.
  • the adding unit 135 decodes the current block by adding the residual information supplied from the inverse orthogonal transform unit 134 and the prediction image supplied from the switch 148. Note that, when the predicted image is not supplied from the switch 148, the adding unit 135 uses the residual information supplied from the inverse orthogonal transform unit 134 as a decoding result. The adding unit 135 supplies the current block obtained as a result of decoding to the frame memory 141 and the filter 136.
  • the filter 136 holds the current block supplied from the adding unit 135 as an encoded CU.
  • the filter 136 uses the current block and the adjacent block supplied from the addition unit 135 to perform deblock filter processing on a maximum of three pixels arranged in the direction perpendicular to the boundary around the boundary between the current block and the adjacent block. I do.
  • the filter 136 uses the offset represented by the offset filter information supplied from the lossless decoding unit 132 to perform the type of SAO processing represented by the offset filter information on the pixel after the deblocking filter processing.
  • the filter 136 supplies the pixels after the SAO processing to the frame memory 141 and the screen rearrangement buffer 139.
  • the screen rearrangement buffer 139 stores the pixels after SAO processing supplied from the filter 136 in units of frames.
  • the screen rearrangement buffer 139 rearranges the stored pictures in frame units for encoding in the original display order and supplies them to the D / A converter 140.
  • the D / A conversion unit 140 D / A converts the picture supplied from the screen rearrangement buffer 139 and outputs it.
  • the frame memory 141 is composed of, for example, DRAM.
  • the frame memory 141 stores a part of the current block before the deblocking filter processing supplied from the adding unit 135 and the pixel after the SAO processing supplied from the filter 136.
  • the pixels adjacent to the PU are supplied to the intra prediction unit 143 via the switch 142 as peripheral pixels.
  • the current picture after the SAO process stored in the frame memory 141 and the picture after the SAO process before the current picture in the coding order are output to the motion compensation unit 147 via the switch 142 as a reference picture.
  • the intra prediction unit 143 uses the peripheral pixels read from the frame memory 141 via the switch 142 in units of PUs, and performs intra prediction in the optimal intra prediction mode indicated by the intra prediction mode information supplied from the lossless decoding unit 132. Process.
  • the intra prediction unit 143 supplies the prediction image generated as a result to the switch 148.
  • the motion compensation unit 147 performs motion compensation processing on a PU basis based on the inter prediction mode information, the reference picture specifying information, and the motion vector supplied from the lossless decoding unit 132.
  • the motion compensation unit 147 reads the reference picture specified by the reference picture specifying information from the frame memory 141 via the switch 142.
  • the motion compensation unit 147 performs motion compensation processing in the optimal inter prediction mode indicated by the inter prediction mode information, using the reference picture and the motion vector.
  • the motion compensation unit 147 supplies the predicted image generated as a result to the switch 148.
  • the switch 148 supplies the prediction image supplied from the intra prediction unit 143 to the addition unit 135.
  • the switch 148 supplies the prediction image supplied from the motion compensation unit 147 to the adding unit 135.
  • FIG. 8 is a flowchart for explaining the decoding process of the decoding device 130 of FIG.
  • the accumulation buffer 131 of the decoding device 130 receives the encoded stream from the encoding device 70 of FIG. 1 and accumulates it.
  • the accumulation buffer 131 sequentially supplies the encoded data of each CU in the stored encoded stream to the lossless decoding unit 132 as encoded data of the current block.
  • step S132 the lossless decoding unit 132 performs lossless decoding such as variable length decoding and arithmetic decoding corresponding to the lossless encoding of the lossless encoding unit 76 of FIG. 1 on the encoded data from the accumulation buffer 131.
  • lossless decoding unit 132 supplies the quantized orthogonal transform coefficient to the inverse quantization unit 133.
  • the lossless decoding unit 132 supplies intra prediction mode information and the like as encoded information to the intra prediction unit 143, and supplies reference picture specifying information, motion vectors, inter prediction mode information, and the like to the motion compensation unit 147.
  • the lossless decoding unit 132 supplies intra prediction mode information or inter prediction mode information as encoded information to the switch 148.
  • the lossless decoding unit 132 supplies offset filter information as encoded information to the filter 136.
  • step S133 the inverse quantization unit 133 inversely quantizes the quantized orthogonal transform coefficient from the lossless decoding unit 132, and supplies the resulting orthogonal transform coefficient to the inverse orthogonal transform unit 134.
  • step S134 the inverse orthogonal transform unit 134 performs inverse orthogonal transform on the orthogonal transform coefficient from the inverse quantization unit 133, and supplies the residual information obtained as a result to the addition unit 135.
  • the processes in steps S136 to S141 and step S148 are performed in units of PUs.
  • step S135 the motion compensation unit 147 determines whether the inter prediction mode information of the PU to be processed is supplied from the lossless decoding unit 132. If it is determined in step S135 that the inter prediction mode information has been supplied, the process proceeds to step S136.
  • step S136 the motion compensation unit 147 determines whether or not the optimal inter prediction mode represented by the inter prediction mode information of the processing target PU is a mode representing Intra BC prediction. If it is determined in step S136 that the optimal inter prediction mode is a mode representing Intra BC prediction, the process proceeds to step S137.
  • step S137 the motion compensation unit 147 determines whether the reference picture is the current picture based on the reference picture specifying information of the processing target PU supplied from the lossless decoding unit 132.
  • step S138 the processing target PU that is a motion vector supplied from the lossless decoding unit 132 is a vector between the current block and the processing target PU. It is determined whether a block of the same size as is within the reference range.
  • the reference range is determined by the motion compensation unit 147 based on the current block, similarly to the restriction unit 101.
  • step S138 it is determined that a block having the same size as that of the processing target PU, which is a motion vector supplied from the lossless decoding unit 132, between the current block and the processing target PU is within the reference range. If YES, the process proceeds to step S139.
  • step S139 the motion compensation unit 147 reads the current picture from the frame memory 141 based on the PU mode and the motion vector represented by the inter prediction mode information of the processing target PU, thereby performing Intra BC prediction on the processing target PU. Do.
  • the motion compensation unit 147 supplies the predicted image generated as a result to the switch 148, and the process proceeds to step S142.
  • step S136 if it is determined in step S136 that the optimum inter prediction mode is not a mode representing Intra BC prediction, that is, if the optimum inter prediction mode is a mode representing inter prediction, the process proceeds to step S140.
  • step S140 the motion compensation unit 147 reads the reference picture from the frame memory 141 based on the PU mode, the reference picture specifying information, and the motion vector represented by the inter prediction mode information of the PU to be processed, thereby processing the processing target. Inter prediction for PU.
  • the motion compensation unit 147 supplies the predicted image generated as a result to the switch 148, and the process proceeds to step S142.
  • step S135 when it is determined in step S135 that the inter prediction mode information is not supplied, that is, when the intra prediction mode information is supplied to the intra prediction unit 143, the process proceeds to step S141.
  • step S141 the intra prediction unit 143 performs intra prediction processing in the optimal intra prediction mode indicated by the intra prediction mode information using the peripheral pixels read from the frame memory 141 via the switch 142 with respect to the current block. Do.
  • the intra prediction unit 143 supplies the prediction image generated as a result of the intra prediction process to the addition unit 135 via the switch 148, and the process proceeds to step S142.
  • step S142 the adding unit 135 decodes the current block by adding the residual information supplied from the inverse orthogonal transform unit 134 and the prediction image supplied from the switch 148.
  • the adding unit 135 supplies the current block obtained as a result of decoding to the frame memory 141 and the filter 136.
  • the filter 136 holds the current block supplied from the adding unit 135 as an encoded CU.
  • step S143 the filter 136 uses the current block and the adjacent block supplied from the addition unit 135 to perform the decoding on each of up to three pixels arranged in the direction perpendicular to the boundary centering on the boundary between the current block and the adjacent block. Perform block filter processing.
  • step S144 the filter 136 uses the offset represented by the offset filter information supplied from the lossless decoding unit 132 to perform the type of SAO processing represented by the offset filter information on the pixel after the deblocking filter processing.
  • the filter 136 supplies the pixels after the SAO processing to the frame memory 141 and the screen rearrangement buffer 139.
  • step S145 the frame memory 141 stores a part of the current block before the deblocking filter processing supplied from the adding unit 135 and the pixel after the SAO processing supplied from the filter 136.
  • the pixels adjacent to the PU are supplied to the intra prediction unit 143 via the switch 142 as peripheral pixels.
  • the current picture after the SAO process stored in the frame memory 141 and the picture after the SAO process preceding the current picture in the coding order are output to the motion compensation unit 147 via the switch 142 as a reference picture.
  • step S146 the screen rearrangement buffer 139 stores the pixels after the SAO processing supplied from the filter 136 in units of frames, and returns to the original display order of the stored frame-by-frame pictures for encoding. Sort the.
  • the screen rearrangement buffer 139 supplies the rearranged picture to the D / A conversion unit 140.
  • step S147 the D / A conversion unit 140 D / A converts the picture supplied from the screen rearrangement buffer 139 and outputs it. Then, the process ends.
  • step S137 if it is determined in step S137 that the reference picture is not the current picture, or the processing target PU whose motion vector supplied from the lossless decoding unit 132 is a vector between the current block and the processing target PU. If it is determined that a block having the same size as is not within the reference range, the process proceeds to step S148.
  • step S148 the decoding device 130 performs predetermined error processing on the processing target PU, and ends the processing.
  • the decoding apparatus 130 performs Intra BC prediction using the motion vector of the current block that is restricted so that a region other than the reference range in the current picture is not used for prediction of the current block. Therefore, for example, in intra-BC prediction, a picture after SAO processing can be referred to as a reference picture. As a result, there is no need to prepare a cache or the like for the reference picture for Intra-BC prediction, and an increase in memory bandwidth, processing load, and mounting cost when performing Intra-BC prediction can be prevented.
  • the region 114 having a horizontal or vertical distance of 3 pixels or less from the CU group 113 that has not yet been encoded is excluded from the reference range, but is within a multiple of 4 pixels.
  • the region may be excluded from the reference range.
  • Intra BC prediction can be performed. Therefore, encoding processing and decoding processing can be performed in parallel on a CU or PU basis, and the processing load can be reduced.
  • ⁇ Second Embodiment> (Description of computer to which the present disclosure is applied)
  • 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 capable of executing various functions by installing various programs by installing a computer incorporated in dedicated hardware.
  • FIG. 9 is a block diagram showing an example of the hardware configuration of a computer that executes the above-described series of processing by a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input / output interface 205 is further connected to the bus 204.
  • An input unit 206, an output unit 207, a storage unit 208, a communication unit 209, and a drive 210 are connected to the input / output interface 205.
  • the input unit 206 includes a keyboard, a mouse, a microphone, and the like.
  • the output unit 207 includes a display, a speaker, and the like.
  • the storage unit 208 includes a hard disk, a nonvolatile memory, and the like.
  • the communication unit 209 includes a network interface and the like.
  • the drive 210 drives a removable medium 211 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 201 loads, for example, the program stored in the storage unit 208 to the RAM 203 via the input / output interface 205 and the bus 204 and executes the program. Is performed.
  • the program executed by the computer (CPU 201) can be provided by being recorded in the removable medium 211 as a package medium or the like, for example.
  • the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be installed in the storage unit 208 via the input / output interface 205 by attaching the removable medium 211 to the drive 210.
  • the program can be received by the communication unit 209 via a wired or wireless transmission medium and installed in the storage unit 208.
  • the program can be installed in the ROM 202 or the storage unit 208 in advance.
  • the program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
  • FIG. 10 illustrates a schematic configuration of a television apparatus to which the present disclosure 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, and an external interface unit 909. Furthermore, the television apparatus 900 includes a control unit 910, a user interface unit 911, and the like.
  • the tuner 902 selects a desired channel from the broadcast wave signal received by the antenna 901, demodulates it, and outputs the obtained encoded bit stream to the demultiplexer 903.
  • the demultiplexer 903 extracts video and audio packets of the program to be viewed from the encoded bit stream, and outputs the extracted packet data to the decoder 904. Further, the demultiplexer 903 supplies a packet of data such as EPG (Electronic Program Guide) to the control unit 910. If scrambling is being performed, descrambling is performed by a demultiplexer or the like.
  • EPG Electronic Program Guide
  • the decoder 904 performs packet decoding processing, and outputs video data generated by the decoding processing to the video signal processing unit 905 and audio data to the audio signal processing unit 907.
  • the video signal processing unit 905 performs noise removal, video processing according to user settings, and the like on the video data.
  • the video signal processing unit 905 generates video data of a program to be displayed on the display unit 906, image data by processing based on an application supplied via a network, and the like.
  • the video signal processing unit 905 generates video data for displaying a menu screen for selecting an item and the like, and superimposes the video data on the video data of the program.
  • the video signal processing unit 905 generates a drive signal based on the video data generated in this way, and drives the display unit 906.
  • the display unit 906 drives a display device (for example, a liquid crystal display element or the like) based on a drive signal from the video signal processing unit 905 to display a program video or the like.
  • a display device for example, a liquid crystal display element or the like
  • the audio signal processing unit 907 performs predetermined processing such as noise removal on the audio data, performs D / A conversion processing and amplification processing on the processed audio data, and outputs the audio data to the speaker 908.
  • the external interface unit 909 is an interface for connecting to an external device or a network, and transmits and receives data such as video data and audio data.
  • a user interface unit 911 is connected to the control unit 910.
  • the user interface unit 911 includes an operation switch, a remote control signal receiving unit, and the like, and supplies an operation signal corresponding to a user operation to the control unit 910.
  • the control unit 910 is configured using a CPU (Central Processing Unit), a memory, and the like.
  • the memory stores a program executed by the CPU, various data necessary for the CPU to perform processing, EPG data, data acquired via a network, and the like.
  • the program stored in the memory is read and executed by the CPU at a predetermined timing such as when the television device 900 is activated.
  • the CPU executes each program to control each unit so that the television device 900 operates in accordance with the user operation.
  • the television device 900 includes a bus 912 for connecting the tuner 902, the demultiplexer 903, the video signal processing unit 905, the audio signal processing unit 907, the external interface unit 909, and the control unit 910.
  • the decoder 904 is provided with the function of the decoding apparatus (decoding method) of the present application. For this reason, the processing load at the time of performing Intra
  • FIG. 11 illustrates a schematic configuration of a mobile phone to which the present disclosure is applied.
  • the cellular phone 920 includes a communication unit 922, an audio codec 923, a camera unit 926, an image processing unit 927, a demultiplexing unit 928, a recording / reproducing unit 929, a display unit 930, and a control unit 931. These are connected to each other via a bus 933.
  • an antenna 921 is connected to the communication unit 922, and a speaker 924 and a microphone 925 are connected to the audio codec 923. Further, an operation unit 932 is connected to the control unit 931.
  • the mobile phone 920 performs various operations such as transmission / reception of voice signals, transmission / reception of e-mail and image data, image shooting, and data recording in various modes such as a voice call mode and a data communication mode.
  • the voice signal generated by the microphone 925 is converted into voice data and compressed by the voice codec 923 and supplied to the communication unit 922.
  • the communication unit 922 performs audio data modulation processing, frequency conversion processing, and the like to generate a transmission signal.
  • the communication unit 922 supplies a transmission signal to the antenna 921 and transmits it to a base station (not shown).
  • the communication unit 922 performs amplification, frequency conversion processing, demodulation processing, and the like of the reception signal received by the antenna 921, and supplies the obtained audio data to the audio codec 923.
  • the audio codec 923 performs data expansion of the audio data and conversion to an analog audio signal and outputs the result to the speaker 924.
  • the control unit 931 receives character data input by operating the operation unit 932 and displays the input characters on the display unit 930.
  • the control unit 931 generates mail data based on a user instruction or the like in the operation unit 932 and supplies the mail data to the communication unit 922.
  • the communication unit 922 performs mail data modulation processing, frequency conversion processing, and the like, and transmits the obtained transmission signal from the antenna 921.
  • the communication unit 922 performs amplification, frequency conversion processing, demodulation processing, and the like of the reception signal received by the antenna 921, and restores mail data. This mail data is supplied to the display unit 930 to display the mail contents.
  • the mobile phone 920 can also store the received mail data in a storage medium by the recording / playback unit 929.
  • the storage medium is any rewritable storage medium.
  • the storage medium is a removable memory such as a RAM, a semiconductor memory such as a built-in flash memory, a hard disk, a magnetic disk, a magneto-optical disk, an optical disk, a USB (Universal Serial Bus) memory, or a memory card.
  • the image data generated by the camera unit 926 is supplied to the image processing unit 927.
  • the image processing unit 927 performs encoding processing of image data and generates encoded data.
  • the demultiplexing unit 928 multiplexes the encoded data generated by the image processing unit 927 and the audio data supplied from the audio codec 923 by a predetermined method, and supplies the multiplexed data to the communication unit 922.
  • the communication unit 922 performs modulation processing and frequency conversion processing of multiplexed data, and transmits the obtained transmission signal from the antenna 921.
  • the communication unit 922 performs amplification, frequency conversion processing, demodulation processing, and the like of the reception signal received by the antenna 921, and restores multiplexed data. This multiplexed data is supplied to the demultiplexing unit 928.
  • the demultiplexing unit 928 performs demultiplexing of the multiplexed data, and supplies the encoded data to the image processing unit 927 and the audio data to the audio codec 923.
  • the image processing unit 927 performs a decoding process on the encoded data to generate image data.
  • the image data is supplied to the display unit 930 and the received image is displayed.
  • the audio codec 923 converts the audio data into an analog audio signal, supplies the analog audio signal to the speaker 924, and outputs the received audio.
  • the image processing unit 927 is provided with the functions of the encoding device and the decoding device (encoding method and decoding method) of the present application. For this reason, the processing load at the time of performing Intra
  • FIG. 12 illustrates a schematic configuration of a recording / reproducing apparatus to which the present disclosure is applied.
  • the recording / reproducing apparatus 940 records, for example, audio data and video data of a received broadcast program on a recording medium, and provides the recorded data to the user at a timing according to a user instruction.
  • the recording / reproducing device 940 can also acquire audio data and video data from another device, for example, and record them on a recording medium. Further, the recording / reproducing apparatus 940 decodes and outputs the audio data and video data recorded on the recording medium, thereby enabling image display and audio output on the monitor apparatus or the like.
  • the recording / reproducing apparatus 940 includes a tuner 941, an external interface unit 942, an encoder 943, an HDD (Hard Disk Drive) unit 944, a disk drive 945, a selector 946, a decoder 947, an OSD (On-Screen Display) unit 948, a control unit 949, A user interface unit 950 is included.
  • Tuner 941 selects a desired channel from a broadcast signal received by an antenna (not shown).
  • the tuner 941 outputs an encoded bit stream obtained by demodulating the received signal of a desired channel to the selector 946.
  • the external interface unit 942 includes at least one of an IEEE 1394 interface, a network interface unit, a USB interface, a flash memory interface, and the like.
  • the external interface unit 942 is an interface for connecting to an external device, a network, a memory card, and the like, and receives data such as video data and audio data to be recorded.
  • the encoder 943 performs encoding by a predetermined method when the video data and audio data supplied from the external interface unit 942 are not encoded, and outputs an encoded bit stream to the selector 946.
  • the HDD unit 944 records content data such as video and audio, various programs, and other data on a built-in hard disk, and reads them from the hard disk during playback.
  • the disk drive 945 records and reproduces signals with respect to the mounted optical disk.
  • An optical disk such as a DVD disk (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD + R, DVD + RW, etc.), a Blu-ray (registered trademark) disk, or the like.
  • the selector 946 selects one of the encoded bit streams from the tuner 941 or the encoder 943 and supplies it to either the HDD unit 944 or the disk drive 945 when recording video or audio. Further, the selector 946 supplies the encoded bit stream output from the HDD unit 944 or the disk drive 945 to the decoder 947 at the time of reproduction of video and audio.
  • the decoder 947 performs a decoding process on the encoded bit stream.
  • the decoder 947 supplies the video data generated by performing the decoding process to the OSD unit 948.
  • the decoder 947 outputs audio data generated by performing the decoding process.
  • the OSD unit 948 generates video data for displaying a menu screen for selecting an item and the like, and superimposes it on the video data output from the decoder 947 and outputs the video data.
  • a user interface unit 950 is connected to the control unit 949.
  • the user interface unit 950 includes an operation switch, a remote control signal receiving unit, and the like, and supplies an operation signal corresponding to a user operation to the control unit 949.
  • the control unit 949 is configured using a CPU, a memory, and the like.
  • the memory stores programs executed by the CPU and various data necessary for the CPU to perform processing.
  • the program stored in the memory is read and executed by the CPU at a predetermined timing such as when the recording / reproducing apparatus 940 is activated.
  • the CPU executes the program to control each unit so that the recording / reproducing device 940 operates according to the user operation.
  • the encoder 943 is provided with the function of the encoding apparatus (encoding method) of the present application
  • the decoder 947 is provided with the function of the decoding apparatus (decoding method) of the present application. For this reason, the processing load at the time of performing Intra
  • FIG. 13 illustrates a schematic configuration of an imaging apparatus to which the present disclosure is applied.
  • the imaging device 960 images a subject, displays an image of the subject on a display unit, and records it on a recording medium as image data.
  • the imaging device 960 includes an optical block 961, an imaging unit 962, a camera signal processing unit 963, an image data processing unit 964, a display unit 965, an external interface unit 966, a memory unit 967, a media drive 968, an OSD unit 969, and a control unit 970. Have. In addition, a user interface unit 971 is connected to the control unit 970. Furthermore, the image data processing unit 964, the external interface unit 966, the memory unit 967, the media drive 968, the OSD unit 969, the control unit 970, and the like are connected via a bus 972.
  • the optical block 961 is configured using a focus lens, a diaphragm mechanism, and the like.
  • the optical block 961 forms an optical image of the subject on the imaging surface of the imaging unit 962.
  • the imaging unit 962 is configured using a CCD or CMOS image sensor, generates an electrical signal corresponding to the optical image by photoelectric conversion, and supplies the electrical signal to the camera signal processing unit 963.
  • the camera signal processing unit 963 performs various camera signal processing such as knee correction, gamma correction, and color correction on the electrical signal supplied from the imaging unit 962.
  • the camera signal processing unit 963 supplies the image data after the camera signal processing to the image data processing unit 964.
  • the image data processing unit 964 performs an encoding process on the image data supplied from the camera signal processing unit 963.
  • the image data processing unit 964 supplies the encoded data generated by performing the encoding process to the external interface unit 966 and the media drive 968. Further, the image data processing unit 964 performs a decoding process on the encoded data supplied from the external interface unit 966 and the media drive 968.
  • the image data processing unit 964 supplies the image data generated by performing the decoding process to the display unit 965. Further, the image data processing unit 964 superimposes the processing for supplying the image data supplied from the camera signal processing unit 963 to the display unit 965 and the display data acquired from the OSD unit 969 on the image data. To supply.
  • the OSD unit 969 generates display data such as a menu screen and icons made up of symbols, characters, or figures and outputs them to the image data processing unit 964.
  • the external interface unit 966 includes, for example, a USB input / output terminal, and is connected to a printer 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 appropriately mounted, and a computer program read from them is installed as necessary.
  • the external interface unit 966 has a network interface connected to a predetermined network such as a LAN or the Internet.
  • the control unit 970 reads encoded data from the media drive 968 in accordance with an instruction from the user interface unit 971, and supplies the encoded data to the other device connected via the network from the external interface unit 966. it can.
  • the control unit 970 may acquire encoded data and image data supplied from another device via the network via the external interface unit 966 and supply the acquired data to the image data processing unit 964. it can.
  • any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory is used.
  • the recording medium may be any type of removable medium, and may be a tape device, a disk, or a memory card. Of course, a non-contact IC (Integrated Circuit) card may be used.
  • media drive 968 and the recording medium may be integrated and configured by a non-portable storage medium such as a built-in hard disk drive or an SSD (Solid State Drive).
  • a non-portable storage medium such as a built-in hard disk drive or an SSD (Solid State Drive).
  • the control unit 970 is configured using a CPU.
  • the memory unit 967 stores a program executed by the control unit 970, various data necessary for the control unit 970 to perform processing, and the like.
  • the program stored in the memory unit 967 is read and executed by the control unit 970 at a predetermined timing such as when the imaging device 960 is activated.
  • the control unit 970 controls each unit so that the imaging device 960 performs an operation according to a user operation by executing a program.
  • the image data processing unit 964 is provided with the functions of the encoding apparatus and decoding apparatus (encoding method and decoding method) of the present application. For this reason, the processing load at the time of performing Intra
  • FIG. 14 illustrates an example of a schematic configuration of a video set to which the present disclosure is applied.
  • the video set 1300 shown in FIG. 14 has such a multi-functional configuration, and a device having a function relating 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 cocoon module is a component that has several functions that are related to each other and that have a coherent function.
  • the specific physical configuration is arbitrary. For example, a plurality of processors each having a function, electronic circuit elements such as resistors and capacitors, and other devices arranged on a wiring board or the like can be considered. . It is also possible to combine the module with another module, a processor, or the like to form a new module.
  • the video module 1311 is a combination of configurations having functions related to image processing, and includes an application processor, a video processor, a broadband modem 1333, and an RF module 1334.
  • the processor is a configuration in which a configuration having a predetermined function is integrated on a semiconductor chip by an SoC (System On Chip), and for example, there is also a system LSI (Large Scale Integration) or the like.
  • the configuration having the predetermined function may be a logic circuit (hardware configuration), a CPU, a ROM, a RAM, and the like, and a program (software configuration) executed using them. , Or a combination of both.
  • a processor has a logic circuit and a CPU, ROM, RAM, etc., a part of the function is realized by a logic circuit (hardware configuration), and other functions are executed by the CPU (software configuration) It may be realized by.
  • the application processor 1331 in FIG. 14 is a processor that executes an application related to image processing.
  • the application executed in the application processor 1331 not only performs arithmetic processing to realize a predetermined function, but also can control the internal and external configurations of the video module 1311 such as the video processor 1332 as necessary. .
  • the video processor 1332 is a processor having a function related to image encoding / decoding (one or both of them).
  • the broadband modem 1333 is a processor (or module) that performs processing related to wired or wireless (or both) broadband communication performed via a broadband line such as the Internet or a public telephone line network.
  • the broadband modem 1333 digitally modulates data to be transmitted (digital signal) to convert it into an analog signal, or demodulates the received analog signal to convert it into data (digital signal).
  • the broadband modem 1333 can digitally modulate and demodulate arbitrary information such as image data processed by the video processor 1332, a stream obtained by encoding the image data, an application program, setting data, and the like.
  • the RF module 1334 is a module that performs frequency conversion, modulation / demodulation, amplification, filter processing, and the like on an RF (Radio RF Frequency) signal transmitted and received via an antenna. For example, the RF module 1334 generates an RF signal by performing frequency conversion or the like on the baseband signal generated by the broadband modem 1333. Further, for example, the RF module 1334 generates a baseband signal by performing frequency conversion or the like on the RF signal received via the front end module 1314.
  • RF Radio RF Frequency
  • the application processor 1331 and the video processor 1332 may be integrated into a single processor.
  • the external memory 1312 is a module having a storage device that is provided outside the video module 1311 and is used by the video module 1311.
  • the storage device of the external memory 1312 may be realized by any physical configuration, but is generally used for storing a large amount of data such as image data in units of frames. For example, it is desirable to realize it with a relatively inexpensive and large-capacity semiconductor memory such as DRAM (Dynamic Random Access Memory).
  • the power management module 1313 manages and controls power supply to the video module 1311 (each component in the video module 1311).
  • the front end module 1314 is a module that provides the RF module 1334 with a front end function (a circuit on a transmitting / receiving end on the antenna side). As illustrated in FIG. 14, the front end module 1314 includes, for example, an antenna unit 1351, a filter 1352, and an amplification unit 1353.
  • Antenna unit 1351 has an antenna for transmitting and receiving a radio signal and its peripheral configuration.
  • the antenna unit 1351 transmits the signal supplied from the amplification unit 1353 as a radio signal, and supplies the received radio signal to the filter 1352 as an electric signal (RF signal).
  • the filter 1352 performs a filtering process on the RF signal received via the antenna unit 1351 and supplies the processed RF signal to the RF module 1334.
  • the amplifying unit 1353 amplifies the RF signal supplied from the RF module 1334 and supplies the amplified RF signal to the antenna unit 1351.
  • Connectivity 1321 is a module having a function related to connection with the outside.
  • the physical configuration of the connectivity 1321 is arbitrary.
  • the connectivity 1321 has a configuration having a communication function other than the communication standard supported by the broadband modem 1333, an external input / output terminal, and the like.
  • the communication 1321 is compliant with wireless communication standards such as Bluetooth (registered trademark), IEEE 802.11 (for example, Wi-Fi (Wireless Fidelity, registered trademark)), NFC (Near Field Communication), IrDA (InfraRed Data Association), etc. You may make it have a module which has a function, an antenna etc. which transmit / receive the signal based on the standard.
  • the connectivity 1321 has a module having a communication function compliant with a wired communication standard such as USB (Universal Serial Bus), HDMI (registered trademark) (High-Definition Multimedia Interface), or a terminal compliant with the standard. You may do it.
  • the connectivity 1321 may have other data (signal) transmission functions such as analog input / output terminals.
  • the connectivity 1321 may include a data (signal) transmission destination device.
  • the drive 1321 reads and writes data to and from a recording medium such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory (not only a removable medium drive, but also a hard disk, SSD (Solid State Drive) NAS (including Network Attached Storage) and the like.
  • the connectivity 1321 may include an image or audio output device (a monitor, a speaker, or the like).
  • the eyelid camera 1322 is a module having a function of capturing an image of a subject and obtaining image data of the subject.
  • Image data obtained by imaging by the camera 1322 is supplied to, for example, a video processor 1332 and encoded.
  • the sensor 1323 includes, for example, a voice sensor, an ultrasonic sensor, an optical sensor, an illuminance sensor, an infrared sensor, an image sensor, a rotation sensor, an angle sensor, an angular velocity sensor, a velocity sensor, an acceleration sensor, an inclination sensor, a magnetic identification sensor, an impact sensor, It is a module having an arbitrary sensor function such as a temperature sensor.
  • the data detected by the sensor 1323 is supplied to the application processor 1331 and used by an application or the like.
  • the configuration described above as a module may be realized as a processor, or conversely, the configuration described as a processor may be realized as a module.
  • the present disclosure can be applied to the video processor 1332 as described later. Accordingly, the video set 1300 can be implemented as a set to which the present disclosure is applied.
  • FIG. 15 illustrates an example of a schematic configuration of a video processor 1332 (FIG. 14) to which the present disclosure 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 demultiplexing unit
  • the video input processing unit 1401 acquires a video signal input from, for example, the connectivity 1321 (FIG. 14) 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, connectivity 1321 (FIG. 14).
  • the frame memory 1405 is a memory for image data shared by the video input processing unit 1401, the first image scaling unit 1402, the second image scaling unit 1403, the video output processing unit 1404, and the encoding / decoding engine 1407. .
  • the frame memory 1405 is realized as a semiconductor memory such as a DRAM, for example.
  • the memory control unit 1406 receives the synchronization signal from the encoding / decoding engine 1407, and controls the writing / reading access to the frame memory 1405 according to the access schedule to the frame memory 1405 written in the access management table 1406A.
  • the access management table 1406A is updated by the memory control unit 1406 in accordance with processing executed by the encoding / decoding engine 1407, the first image enlargement / reduction unit 1402, the second image enlargement / reduction unit 1403, and the like.
  • the encoding / decoding engine 1407 performs encoding processing of image data and decoding processing of a video stream that is data obtained by encoding the image data. For example, the encoding / decoding engine 1407 encodes the image data read from the frame memory 1405 and sequentially writes the data as a video stream in the video ES buffer 1408A. Further, for example, the video stream is sequentially read from the video ES buffer 1408B, decoded, and sequentially written in the frame memory 1405 as image data.
  • the encoding / decoding engine 1407 uses the frame memory 1405 as a work area in the encoding and decoding. Also, the encoding / decoding engine 1407 outputs a synchronization signal to the memory control unit 1406, for example, at a timing at which processing for each macroblock is started.
  • the video ES buffer 1408A buffers the video stream generated by the encoding / decoding engine 1407 and supplies the buffered video stream to the multiplexing unit (MUX) 1412.
  • the video ES buffer 1408B buffers the video stream supplied from the demultiplexer (DMUX) 1413 and supplies the buffered video stream to the encoding / decoding engine 1407.
  • the audio ES buffer 1409A buffers the audio stream generated by the audio encoder 1410 and supplies the buffered audio stream to the multiplexing unit (MUX) 1412.
  • the audio ES buffer 1409B buffers the audio stream supplied from the demultiplexer (DMUX) 1413 and supplies the buffered audio stream to the audio decoder 1411.
  • the audio encoder 1410 converts, for example, an audio signal input from the connectivity 1321 (FIG. 14), for example, into a digital format, and encodes the audio signal using a predetermined method such as the MPEG audio method or the AC3 (Audio Code number 3) method.
  • the audio encoder 1410 sequentially writes an audio stream, which is data obtained by encoding an audio signal, 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 (FIG. 14).
  • Multiplexer (MUX) 1412 multiplexes the video stream and the audio stream.
  • the multiplexing method (that is, the format of the bit stream generated by multiplexing) is arbitrary.
  • the multiplexing unit (MUX) 1412 can also add predetermined header information or the like to the bit stream. That is, the multiplexing unit (MUX) 1412 can convert the stream format by multiplexing. For example, the multiplexing unit (MUX) 1412 multiplexes the video stream and the audio stream to convert it into a transport stream that is a bit stream in a transfer format. Further, for example, the multiplexing unit (MUX) 1412 multiplexes the video stream and the audio stream, thereby converting the data into file format data (file data) for recording.
  • the demultiplexing unit (DMUX) 1413 demultiplexes the bit stream in which the video stream and the audio stream are multiplexed by a method corresponding to the multiplexing by the multiplexing unit (MUX) 1412. That is, the demultiplexer (DMUX) 1413 extracts the video stream and the audio stream from the bit stream read from the stream buffer 1414 (separates the video stream and the audio stream). That is, the demultiplexer (DMUX) 1413 can convert the stream format by demultiplexing (inverse conversion of the conversion by the multiplexer (MUX) 1412).
  • the demultiplexing unit (DMUX) 1413 obtains a transport stream supplied from, for example, the connectivity 1321 and the broadband modem 1333 (both in FIG. 14) via the stream buffer 1414 and demultiplexes the transport stream. Can be converted into a video stream and an audio stream. Further, for example, the demultiplexing unit (DMUX) 1413 obtains file data read from various recording media by, for example, the connectivity 1321 (FIG. 14) via the stream buffer 1414, and demultiplexes the file data. It can be converted into a video stream and an audio stream.
  • the stream buffer 1414 buffers the bit stream.
  • the stream buffer 1414 buffers the transport stream supplied from the multiplexing unit (MUX) 1412 and, for example, at the predetermined timing or based on a request from the outside, for example, the connectivity 1321 or the broadband modem 1333 (whichever Are also supplied to FIG.
  • MUX multiplexing unit
  • the stream buffer 1414 buffers the file data supplied from the multiplexing unit (MUX) 1412, and at a predetermined timing or based on an external request, for example, the connectivity 1321 (FIG. 14) or the like. To be recorded on various recording media.
  • MUX multiplexing unit
  • the stream buffer 1414 buffers the transport stream acquired through, for example, the connectivity 1321 and the broadband modem 1333 (both of which are shown in FIG. 14), and performs reverse processing at a predetermined timing or based on an external request or the like.
  • the data is supplied to a multiplexing unit (DMUX) 1413.
  • DMUX multiplexing unit
  • the stream buffer 1414 buffers file data read from various recording media in, for example, the connectivity 1321 (FIG. 14), and the demultiplexing unit at a predetermined timing or based on an external request or the like. (DMUX) 1413.
  • DMUX demultiplexing unit
  • a video signal input to the video processor 1332 from the connectivity 1321 (FIG. 14) 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.
  • the data is sequentially written into the frame memory 1405.
  • This digital image data is read by the first image enlargement / reduction unit 1402 or the second image enlargement / reduction unit 1403, and format conversion to a predetermined method such as 4: 2: 0Y / Cb / Cr method and enlargement / reduction processing are performed. Is written again in the frame memory 1405.
  • This image data is encoded by the encoding / decoding engine 1407 and written as a video stream in the video ES buffer 1408A.
  • an audio signal input to the video processor 1332 from the connectivity 1321 (FIG. 14) or the like is encoded by the audio encoder 1410 and written as an audio stream in the audio ES buffer 1409A.
  • the video stream of the video ES buffer 1408A and the audio stream of the audio ES buffer 1409A are read and multiplexed by the multiplexing unit (MUX) 1412 and converted into a transport stream or file data.
  • the transport stream generated by the multiplexing unit (MUX) 1412 is buffered in the stream buffer 1414 and then output to the external network via, for example, the connectivity 1321 and the broadband modem 1333 (both of which are shown in FIG. 14).
  • the file data generated by the multiplexing unit (MUX) 1412 is buffered in the stream buffer 1414, and then output to, for example, the connectivity 1321 (FIG. 14) and recorded on various recording media.
  • the transport stream input from the 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 (DMUX). 1413 is demultiplexed.
  • the file data read from various recording media in the connectivity 1321 (FIG. 14) and inputted to the video processor 1332 is buffered in the stream buffer 1414 and then demultiplexed by the demultiplexer (DMUX) 1413. It becomes. That is, the transport stream or file data input to the video processor 1332 is separated into a video stream and an audio stream by the demultiplexer (DMUX) 1413.
  • the audio stream is supplied to the audio decoder 1411 via the audio ES buffer 1409B and decoded to reproduce the audio signal.
  • the video stream is written to the video ES buffer 1408B, and then sequentially read and decoded by the encoding / decoding engine 1407, and written to the frame memory 1405.
  • the decoded image data is enlarged / reduced by the second image enlargement / reduction unit 1403 and written to the frame memory 1405.
  • the decoded image data is read out to the video output processing unit 1404, format-converted to a predetermined system such as 4: 2: 2Y / Cb / Cr system, and further converted into an analog signal to be converted into a video signal. Is played out.
  • the present disclosure when the present disclosure is applied to the video processor 1332 configured as described above, the present disclosure according to each of the above-described embodiments may be applied to the encoding / decoding engine 1407. That is, for example, the encoding / decoding engine 1407 may have the functions of the encoding device and the decoding device according to the first to third embodiments. In this way, the video processor 1332 can obtain the same effects as those described above with reference to FIGS. 1 to 8.
  • the present disclosure (that is, the functions of the encoding device and the decoding device according to each of the above-described embodiments) may be realized by hardware such as a logic circuit or an embedded program. It may be realized by software such as the above, or may be realized by both of them.
  • FIG. 16 illustrates another example of a schematic configuration of the video processor 1332 (FIG. 14) to which the present disclosure 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 eyelid control unit 1511 controls the operation of each processing unit in the video processor 1332 such as the display interface 1512, the display engine 1513, the image processing engine 1514, and the codec engine 1516.
  • the control unit 1511 includes, for example, a main CPU 1531, a sub CPU 1532, and a system controller 1533.
  • the main CPU 1531 executes a program and the like for controlling the operation of each processing unit in the video processor 1332.
  • the main CPU 1531 generates a control signal according to the program and supplies it to each processing unit (that is, controls the operation of each processing unit).
  • the sub CPU 1532 plays an auxiliary role of the main CPU 1531.
  • the sub CPU 1532 executes a child process such as a program executed by the main CPU 1531, a subroutine, or the like.
  • the system controller 1533 controls operations of the main CPU 1531 and the sub CPU 1532 such as designating a program to be executed by the main CPU 1531 and the sub CPU 1532.
  • the display interface 1512 outputs image data to, for example, the connectivity 1321 (FIG. 14) or the like under the control of the control unit 1511.
  • the display interface 1512 converts image data of digital data into an analog signal, and outputs it to a monitor device or the like of the connectivity 1321 (FIG. 14) as a reproduced video signal or as image data of digital data.
  • the display engine 1513 Under the control of the control unit 1511, the display engine 1513 performs various conversion processes such as format conversion, size conversion, color gamut conversion, and the like so as to match the image data with hardware specifications such as a monitor device that displays the image. I do.
  • the eyelid image processing engine 1514 performs predetermined image processing such as filter processing for improving image quality on the image data under the control of the control unit 1511.
  • the internal memory 1515 is a memory provided inside the video processor 1332 that is shared by the display engine 1513, the image processing engine 1514, and the codec engine 1516.
  • the internal memory 1515 is used, for example, for data exchange performed between the display engine 1513, the image processing engine 1514, and the codec engine 1516.
  • the internal memory 1515 stores data supplied from the display engine 1513, the image processing engine 1514, or the codec engine 1516, and stores the data as needed (eg, upon request). This is supplied to the image processing engine 1514 or the codec engine 1516.
  • the internal memory 1515 may be realized by any storage device, but is generally used for storing a small amount of data such as image data or parameters in units of blocks. It is desirable to realize a semiconductor memory having a relatively small capacity but a high response speed (for example, as compared with the external memory 1312) such as “Static Random Access Memory”.
  • the codec engine 1516 performs processing related to encoding and decoding of image data.
  • the encoding / decoding scheme supported by the codec engine 1516 is arbitrary, and the number thereof may be one or plural.
  • the codec engine 1516 may be provided with codec functions of a plurality of encoding / decoding schemes, and may be configured to perform encoding of image data or decoding of encoded data using one selected from them.
  • the codec engine 1516 includes, for example, MPEG-2 video 1541, AVC / H.2641542, HEVC / H.2651543, HEVC / H.265 (Scalable) 1544, HEVC / H.265 (Multi-view) 1545 and MPEG-DASH 1551 are included.
  • MPEG-2 Video 1541 is a functional block that encodes and decodes image data in the MPEG-2 format.
  • AVC / H.2641542 is a functional block that encodes and decodes image data in the AVC / H.264 format.
  • HEVC / H.2651543 is a functional block that encodes and decodes image data using HEVC.
  • HEVC / H.265 (Scalable) 1544 is a functional block that performs scalable encoding and scalable decoding of image data using HEVC.
  • HEVC / H.265 (Multi-view) 1545 is a functional block that multi-view encodes or multi-view decodes image data using HEVC.
  • MPEG-DASH 1551 is a functional block that transmits and receives image data in the MPEG-DASH (MPEG-Dynamic Adaptive Streaming over HTTP) method.
  • MPEG-DASH is a technology for streaming video using HTTP (HyperText Transfer Protocol), and selects and transmits appropriate data from multiple encoded data with different resolutions prepared in advance in segments. This is one of the features.
  • MPEG-DASH 1551 generates a stream compliant with the standard, controls transmission of the stream, and the like.
  • MPEG-2 Video 1541 to HEVC / H.265 (Multi-view) 1545 described above are used. Is used.
  • the memory interface 1517 is an interface for the external memory 1312. Data supplied from the image processing engine 1514 or the codec engine 1516 is supplied to the external memory 1312 via the memory interface 1517. The data read from the external memory 1312 is supplied to the video processor 1332 (the image processing engine 1514 or the codec engine 1516) via the memory interface 1517.
  • a multiplexing / demultiplexing unit (MUX DMUX) 1518 multiplexes and demultiplexes various data related to images such as a bit stream of encoded data, image data, and a video signal.
  • This multiplexing / demultiplexing method is arbitrary.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 can not only combine a plurality of data into one but also add predetermined header information or the like to the data.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 not only divides one data into a plurality of data but also adds predetermined header information or the like to each divided data. it can.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 can convert the data format by multiplexing / demultiplexing.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 multiplexes the bitstream, thereby transporting the transport stream, which is a bit stream in a transfer format, or data in a file format for recording (file data).
  • the transport stream which is a bit stream in a transfer format, or data in a file format for recording (file data).
  • file data file format for recording
  • the network interface 1519 is an interface for a broadband modem 1333, connectivity 1321 (both in FIG. 14), and the like.
  • the video interface 1520 is an interface for, for example, the connectivity 1321 and the camera 1322 (both are FIG. 14).
  • the transport stream is transmitted to the multiplexing / demultiplexing unit (MUX DMUX) via the network interface 1519. ) 1518 to be demultiplexed and decoded by the codec engine 1516.
  • MUX DMUX multiplexing / demultiplexing unit
  • the image data obtained by decoding by the codec engine 1516 is subjected to predetermined image processing by the image processing engine 1514, subjected to predetermined conversion by the display engine 1513, and connected to, for example, the connectivity 1321 (see FIG. 14), and the image is displayed on the monitor.
  • image data obtained by decoding by the codec engine 1516 is re-encoded by the codec engine 1516, multiplexed by a multiplexing / demultiplexing unit (MUX DMUX) 1518, converted into file data, and video
  • MUX DMUX multiplexing / demultiplexing unit
  • the data is output to, for example, the connectivity 1321 (FIG. 14) via the interface 1520 and recorded on various recording media.
  • encoded data file data obtained by encoding image data read from a recording medium (not shown) by the connectivity 1321 (FIG. 14) or the like is multiplexed / demultiplexed via the video interface 1520.
  • Image data obtained by decoding by the codec engine 1516 is subjected to predetermined image processing by the image processing engine 1514, subjected to predetermined conversion by the display engine 1513, and, for example, connectivity 1321 (FIG. 14) via 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 the multiplexing / demultiplexing unit (MUX DMUX) 1518, and converted into a transport stream,
  • MUX DMUX multiplexing / demultiplexing unit
  • the connectivity 1321 and the broadband modem 1333 are supplied via the network interface 1519 and transmitted to another device (not shown).
  • image data and other data are exchanged between the processing units in the video processor 1332 using, for example, the internal memory 1515 and the external memory 1312.
  • the power management module 1313 controls power supply to the control unit 1511, for example.
  • the present disclosure when the present disclosure is applied to the video processor 1332 configured as described above, the present disclosure according to each embodiment described above may be applied to the codec engine 1516. That is, for example, the codec engine 1516 may have a functional block that realizes the encoding device and the decoding device according to the first to third embodiments. With the codec engine 1516 doing in this way, the video processor 1332 can obtain the same effects as those described above with reference to FIGS. 1 to 8.
  • the present disclosure (that is, the functions of the encoding device and the decoding device according to each of the above-described embodiments) may be realized by hardware such as a logic circuit, an embedded program, or the like. It may be realized by software, or may be realized by both of them.
  • the configuration of the video processor 1332 is arbitrary and may be other than the two examples described above.
  • the video processor 1332 may be configured as one semiconductor chip, but may be configured as a plurality of semiconductor chips. For example, a three-dimensional stacked LSI in which a plurality of semiconductors are stacked may be used. Further, it may be realized by a plurality of LSIs.
  • Video set 1300 can be incorporated into various devices that process image data.
  • the video set 1300 can be incorporated in the television device 900 (FIG. 10), the mobile phone 920 (FIG. 11), the recording / reproducing device 940 (FIG. 12), the imaging device 960 (FIG. 13), or the like.
  • the apparatus can obtain the same effects as those described above with reference to FIGS.
  • each configuration of the video set 1300 described above can be implemented as a configuration to which the present disclosure is applied as long as it includes the video processor 1332.
  • the video processor 1332 can be implemented as a video processor to which the present disclosure is applied.
  • the processor, the video module 1311, and the like indicated by the dotted line 1341 can be implemented as a processor, a module, or the like to which the present disclosure 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 disclosure is applied. In any case, the same effects as those described above with reference to FIGS. 1 to 8 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. 10), a mobile phone 920 (FIG. 11), a recording / playback device 940 (FIG. 12), It can be incorporated in an imaging device 960 (FIG. 13) or the like.
  • the apparatus can obtain the same effects as those described above with reference to FIGS. 1 to 8 as in the case of the video set 1300. .
  • 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 data without being multiplexed with the encoded data.
  • 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, the information may be transmitted on a transmission path different from the encoded data.
  • the information may be recorded on a recording medium different from the encoded data (or another recording area of the same recording medium). Furthermore, the information and the encoded data 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 disclosure receives bitstreams compressed by orthogonal transform such as discrete cosine transform and motion compensation, such as MPEG, H.26x, etc., via network media such as satellite broadcasting, cable TV, the Internet, and mobile phones.
  • orthogonal transform such as discrete cosine transform and motion compensation
  • the present invention can be applied to an encoding device or a decoding device that is used when processing on a storage medium such as an optical, magnetic disk, or flash memory.
  • 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 present disclosure can take a cloud computing configuration in which one function is shared by a plurality of devices via a network and is processed jointly.
  • 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.
  • This disclosure can have the following configurations.
  • An image processing apparatus comprising: a limiting unit that restricts a motion vector of a current block used for prediction using correlation in a screen so that neighboring pixels of the current block are not used for the prediction of the current block.
  • the image according to (1) further comprising: a prediction unit that performs the prediction using a reference range that does not include the surrounding pixels in the screen including the current block based on the motion vector limited by the limitation unit. Processing equipment.
  • the peripheral pixel is configured such that a horizontal or vertical distance with a region in the screen that has not been encoded at the time of encoding the current block is within a predetermined range. ).
  • the image processing device configured to perform the prediction using an image in the reference range after deblocking filter processing and SAO (Sample adaptive offset) processing.
  • the image processing apparatus wherein the predetermined range is configured to be within three pixels.
  • the image processing apparatus wherein the predetermined range is configured to be within a pixel that is a multiple of four.
  • the image processing device according to any one of (1) to (6), wherein the current block is configured to be a CU (Coding Unit).
  • the image processing device An image processing method including a restriction step of restricting a motion vector of a current block used for prediction using correlation in a screen so that neighboring pixels of the current block are not used for the prediction of the current block.

Abstract

本開示は、画面内の相関性を利用したIntra BC予測を行う際の処理負荷を低減することができるようにする画像処理装置および画像処理方法に関する。 制限部は、画面内の相関性を利用したIntra BC予測に用いられるカレントブロックの動きベクトルを、カレントブロックの周辺画素がカレントブロックのIntra BC予測に用いられないように制限する。本開示は、例えば、HEVC(High Efficiency Video Coding)方式に準ずる方式でCU(Coding Unit)単位で符号化を行う際Intra BC予測を行う符号化装置等に適用することができる。

Description

画像処理装置および画像処理方法
 本開示は、画像処理装置および画像処理方法に関し、特に、画面内の相関性を利用したIntra BC予測を行う際の処理負荷を低減することができるようにした画像処理装置および画像処理方法に関する。
 近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮する符号化方式を採用して画像を圧縮符号する装置が普及しつつある。この符号化方式には、例えば、MPEG(Moving Picture Experts Group)やH.264/MPEG-4 Part10 Advanced Video Coding(以下、H.264/AVCまたはAVC/H.264という)などがある。
 そして、現在、H.264/AVCより更なる符号化効率の向上を目的として、ITU-TとISO/IECとの共同の標準化団体であるJCTVC(Joint Collaboration Team - Video Coding)により、HEVC(High Efficiency Video Coding)と呼ばれる符号化方式の標準化が進められている。
 また、HEVCにおいて、4:2:2や4:4:4といった色差信号フォーマットの画像や、スクリーンコンテンツ用のプロファイル等、例えばハイエンド向けのフォーマットをサポートするようにレンジエクステンション(HEVC Range Extension)の検討が行われている(例えば、非特許文献1参照)。
 ところで、IntraBlockCopy(Intra BC)は、画面内の相関性を利用して画面内で動き補償を行うことにより予測を行う符号化ツールである。Intra BCは、コンピュータ画面やCG画像のような人工画像に対し、符号化効率改善に貢献するツールとして知られている。Intra BCは、上述したHEVC Range Extension拡張には技術採用されず、Screen Content Coding(SCC)拡張の標準化で技術検討が続けられている(例えば、非特許文献2参照)。
 現状のIntra BC予測では、カレントピクチャ内の現在の符号化対象のCU(Coding Unit)であるカレントブロックより符号化順が前である全ての領域が参照可能になっている。しかしながら、デブロッキングフィルタ処理やSAO(Sample adaptive offset)処理等のフィルタ処理では、あるCUの周囲の領域が、そのCUの影響を受ける。従って、参照可能領域のうちのカレントブロックの周辺の領域では、カレントブロックの符号化時にまだフィルタ処理が行われていない。よって、Intra BC予測は、フィルタ処理前のカレントピクチャ内の参照可能領域を参照して行われる。
 一方、インター予測における参照ピクチャは、カレントピクチャとは異なるピクチャであるため、カレントブロックの符号化時に、参照ピクチャ内の全ての領域に対してフィルタ処理が行われている。従って、インター予測は、フィルタ処理後の参照ピクチャを参照して行われる。
 以上のように、現状のIntra BC予測では、カレントブロックより符号化順が前である全ての領域が参照可能になっているので、インター予測とは異なり、フィルタ処理前のピクチャが参照される。従って、フィルタ処理前のピクチャをキャッシュ等に一時的に保持する必要があり、メモリ帯域および処理負荷が増加する。また、実装コストも増加する。
 また、符号化を並列に行う場合、カレントブロックの符号化時にカレントブロックの近傍の画素の復号が間に合わない。従って、カレントブロックより符号化順が前である全ての領域を参照可能にすることはできない。よって、現状のIntra BC予測では、符号化を並列に行うことにより、処理負荷を軽減することは困難である。
 以上により、画面内の相関性を利用したIntra BC予測を行う際の処理負荷を低減することが望まれている。
 本開示は、このような状況に鑑みてなされたものであり、画面内の相関性を利用したIntra BC予測を行う際の処理負荷を低減することができるようにするものである。
 本開示の一側面の画像処理装置は、画面内の相関性を利用した予測に用いられるカレントブロックの動きベクトルを、前記カレントブロックの周辺画素が前記カレントブロックの前記予測に用いられないように制限する制限部を備える画像処理装置である。
 本開示の一側面の画像処理方法は、本開示の一側面の画像処理装置に対応する。
 本開示の一側面においては、画面内の相関性を利用した予測に用いられるカレントブロックの動きベクトルが、前記カレントブロックの周辺画素が前記カレントブロックの前記予測に用いられないように制限される。
 なお、本開示の一側面の画像処理装置は、コンピュータにプログラムを実行させることにより実現することができる。
 また、本開示の一側面の画像処理装置を実現するために、コンピュータに実行させるプログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
 本開示の一側面の画像処理装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
 本開示の一側面によれば、画像を予測することができる。また、本開示の一側面によれば、画面内の相関性を利用したIntra BC予測を行う際の処理負荷を低減することができる。
 なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
本開示を適用した符号化装置の一実施の形態の構成例を示すブロック図である。 Intra BC予測部の構成例を示すブロック図である。 参照範囲の例を示す図である。 図1の符号化装置の符号化処理を説明するフローチャートである。 図1の符号化装置の符号化処理を説明するフローチャートである。 Intra BC予測処理の詳細を説明するフローチャートである。 本開示を適用した復号装置の一実施の形態の構成例を示すブロック図である。 図7の復号装置の復号処理を説明するフローチャートである。 コンピュータのハードウエアの構成例を示すブロック図である。 本開示を適用したテレビジョン装置の概略構成例を示す図である。 本開示を適用した携帯電話機の概略構成例を示す図である。 本開示を適用した記録再生装置の概略構成例を示す図である。 本開示を適用した撮像装置の概略構成例を示す図である。 本開示を適用したビデオセットの概略的な構成の一例を示している。 本開示を適用したビデオプロセッサの概略的な構成の一例を示している。 本開示を適用したビデオプロセッサの概略的な構成の他の例を示している。
 以下、本開示を実施するための形態(以下、実施の形態という)について説明する。なお、説明は以下の順序で行う。
 1.第1実施の形態:符号化装置および復号装置(図1乃至図8)
 2.第2実施の形態:コンピュータ(図9)
 3.第3実施の形態:テレビジョン装置(図10)
 4.第4実施の形態:携帯電話機(図11)
 5.第5実施の形態:記録再生装置(図12)
 6.第6実施の形態:撮像装置(図13)
 7.第7実施の形態:ビデオセット(図14乃至図16)
 <第1実施の形態>
 (符号化装置の一実施の形態の構成例)
 図1は、本開示を適用した画像処理装置としての符号化装置の一実施の形態の構成例を示すブロック図である。
 図1の符号化装置70は、A/D変換部71、画面並べ替えバッファ72、演算部73、直交変換部74、量子化部75、可逆符号化部76、蓄積バッファ77、生成部78、逆量子化部79、逆直交変換部80、および加算部81を有する。また、符号化装置70は、フィルタ82、フレームメモリ85、スイッチ86、イントラ予測部87、動き予測・補償部89、予測画像選択部92、およびレート制御部93を有する。符号化装置70は、フレーム単位のピクチャをHEVCに準ずる方式で符号化する。
 符号化単位は、再帰的な階層構造を有するCoding UNIT(CU)である。具体的には、CUは、ピクチャを固定サイズのCTU(Coding Tree Unit)に分割し、そのCTUを任意の回数だけ水平方向および垂直方向に2分割することにより設定される。CUの最大のサイズはLCU(Largest Coding Unit)であり、最小サイズはSCU(Smallest Coding Unit)である。また、CUは、PU(Prediction Unit)やTU(transform unit)に分割される。
 符号化装置70のA/D変換部71は、符号化対象として入力されたフレーム単位のピクチャをA/D変換する。A/D変換部71は、変換後のデジタル信号であるピクチャを画面並べ替えバッファ72に出力して記憶させる。
 画面並べ替えバッファ72は、記憶した表示の順番のフレーム単位のピクチャを、GOP構造に応じて、符号化のための順番に並べ替える。画面並べ替えバッファ72は、並べ替え後のピクチャをカレントピクチャとし、カレントピクチャの各CUを順にカレントブロックとする。画面並べ替えバッファ72は、カレントブロックを、演算部73、イントラ予測部87、および動き予測・補償部89に出力する。
 演算部73は、画面並べ替えバッファ72から供給されるカレントブロックから、予測画像選択部92から供給される予測画像を減算することにより符号化を行う。演算部73は、その結果得られるピクチャを、残差情報として直交変換部74に出力する。なお、予測画像選択部92から予測画像が供給されない場合、演算部73は、画面並べ替えバッファ72から読み出されたカレントブロックをそのまま残差情報として直交変換部74に出力する。
 直交変換部74は、演算部73からの残差情報をTU単位で直交変換する。直交変換部74は、直交変換の結果得られる直交変換係数を量子化部75に供給する。
 量子化部75は、直交変換部74から供給される直交変換係数に対して量子化を行う。量子化部75は、量子化された直交変換係数を可逆符号化部76に供給する。
 可逆符号化部76は、最適イントラ予測モードを示すイントラ予測モード情報をイントラ予測部87から取得する。また、可逆符号化部76は、最適インター予測モードを示すインター予測モード情報、動きベクトル、参照ピクチャを特定する参照ピクチャ特定情報などを動き予測・補償部89から取得する。さらに、可逆符号化部76は、フィルタ82から適応オフセットフィルタ処理に関するオフセットフィルタ情報を取得する。
 可逆符号化部76は、量子化部75から供給される量子化された直交変換係数に対して、可変長符号化(例えば、CAVLC(Context-Adaptive Variable Length Coding)など)、算術符号化(例えば、CABAC(Context-Adaptive Binary Arithmetic Coding)など)などの可逆符号化を行う。
 また、可逆符号化部76は、イントラ予測モード情報、または、インター予測モード情報、動きベクトル、および参照ピクチャ特定情報、並びにオフセットフィルタ情報等を、符号化に関する符号化情報として可逆符号化する。可逆符号化部76は、可逆符号化された符号化情報などを可逆符号化された直交変換係数に付加し、符号化データとして蓄積バッファ77に供給する。
 蓄積バッファ77は、可逆符号化部76から供給される符号化データを、一時的に記憶する。また、蓄積バッファ77は、記憶している符号化データを生成部78に供給する。
 生成部78は、SPS(Sequence Parameter Set),PPS(Picture Parameter Set)などのパラメータセットと蓄積バッファ77から供給される符号化データから符号化ストリームを生成し、出力する。
 また、量子化部75より出力された、量子化された直交変換係数は、逆量子化部79にも入力される。逆量子化部79は、量子化部75により量子化された直交変換係数に対して、量子化部75における量子化方法に対応する方法で逆量子化を行う。逆量子化部79は、逆量子化の結果得られる直交変換係数を逆直交変換部80に供給する。
 逆直交変換部80は、TU単位で、逆量子化部79から供給される直交変換係数に対して、直交変換部74における直交変換方法に対応する方法で逆直交変換を行う。逆直交変換部80は、その結果得られる残差情報を加算部81に供給する。
 加算部81は、逆直交変換部80から供給される残差情報と、予測画像選択部92から供給される予測画像を加算することにより、カレントブロックを復号する。なお、予測画像選択部92から予測画像が供給されない場合、加算部81は、逆直交変換部80から供給される残差情報を復号結果とする。加算部81は、カレントブロックをフレームメモリ85とフィルタ82に供給する。
 フィルタ82は、加算部81から供給されたカレントブロックを、符号化済みのCUとして保持する。フィルタ82は、加算部81から供給されたカレントブロックと、保持されているカレントブロックに隣接する符号化済みのCU(以下、隣接ブロックという)とを用いて、カレントブロックと隣接ブロックの境界を中心として、境界と垂直な方向に並ぶ最大3画素ずつに対してデブロックフィルタ処理を行う。
 フィルタ82は、デブロックフィルタ処理後の画素に対してSAO処理を行う。SAO処理の種類としては、エッジオフセット処理とバンドオフセット処理があり、LCU単位で選択される。
 エッジオフセット処理は、処理対象の画素を中心として、水平方向、垂直方向、または斜め方に並ぶ2つの画素の画素値を用いて行われる。従って、隣接するCU間の境界を中心として、境界と垂直な方向に並ぶ最大1画素ずつに対するエッジオフセット処理は、隣接する他のCUを用いて行われる。
 フィルタ82は、SAO処理後の画素をフレームメモリ85に供給する。また、フィルタ82は、行われたSAO処理の種類とオフセットを示す情報を、オフセットフィルタ情報として可逆符号化部76に供給する。
 フレームメモリ85は、例えば、DRAM(Dynamic Random Access Memory)により構成される。フレームメモリ85は、加算部81から供給されるデブロックフィルタ処理前のカレントブロックの一部とフィルタ82から供給されるSAO処理後の画素を記憶する。フレームメモリ85に記憶されたデブロックフィルタ処理前の画素のうちのPUに隣接する画素は、周辺画素としてスイッチ86を介してイントラ予測部87に供給される。
 また、フレームメモリ85に記憶されたSAO処理後のカレントピクチャと、カレントピクチャより符号化順で前のSAO処理後のピクチャは、参照ピクチャの候補としてスイッチ86を介して動き予測・補償部89に出力される。
 イントラ予測部87は、PU単位で、フレームメモリ85からスイッチ86を介して読み出された周辺画素を用いて、候補となる全てのイントラ予測モードのイントラ予測処理を行う。
 また、イントラ予測部87は、PU単位で、画面並べ替えバッファ72から供給されるカレントブロックと、イントラ予測処理の結果生成される予測画像とに基づいて、候補となる全てのイントラ予測モードに対してコスト関数値(詳細は後述する)を算出する。そして、イントラ予測部87は、PU単位で、コスト関数値が最小となるイントラ予測モードを、最適イントラ予測モードに決定する。
 イントラ予測部87は、カレントブロックについて、最適イントラ予測モードで生成された予測画像と、対応するコスト関数値とを、予測画像選択部92に供給する。イントラ予測部87は、予測画像選択部92から最適イントラ予測モードで生成された予測画像の選択が通知された場合、カレントブロックの各PUのイントラ予測モード情報を可逆符号化部76に供給する。
 なお、コスト関数値は、RD(Rate Distortion)コストともいい、例えば、H.264/AVC方式における参照ソフトウエアであるJM(Joint Model)で定められている、High Complexity モードまたはLow Complexity モードの手法に基づいて算出される。なお、H.264/AVC方式における参照ソフトウエアは、http://iphome.hhi.de/suehring/tml/index.htmにおいて公開されている。
 動き予測・補償部89は、PU単位で、候補となる全てのPUモードのインター予測およびIntra BC予測を行う。PUモードとは、PUのCUに対する分割方式等を表すモードである。
 具体的には、動き予測・補償部89は、PUモードごとに、カレントピクチャの符号化済みの領域、および、水平方向および垂直方向の解像度が4倍にされたカレントピクチャより符号化順で前のピクチャを、PUのサイズの領域に分割し、その領域を順に探索領域とする。
 また、動き予測・補償部89は、カレントピクチャ内のカレントブロックの周辺画素等を除く所定の範囲を、カレントブロックの動きベクトルの検出に用いる参照範囲とする。動き予測・補償部89は、探索領域が参照範囲内に存在する場合、SAO処理後のカレントピクチャの探索領域を、参照ピクチャの参照ブロックの候補として、フレームメモリ85からスイッチ86を介して読み出す。
 動き予測・補償部89は、画面並べ替えバッファ72から供給されるカレントブロックの各PUと参照ピクチャの参照ブロックの候補との相関値を求める。動き予測・補償部89は、各PUモードのPUごとに、求められた相関値が、保持している相関値より大きい場合、その相関値に対応するカレントブロックのPUと参照ピクチャの参照ブロックの候補との間の整数画素精度の動きベクトルを、Intra BC予測の最善ベクトルに決定する。動き予測・補償部89は、各PUモードのPUごとに、Intra BC予測の最善ベクトルと、対応する相関値を保持する。動き予測・補償部89は、各PUモードのPUごとに、Intra BC予測の最善ベクトルに基づいて、参照ピクチャの参照ブロックの候補に対して補償処理を施し、予測画像を生成する。
 また、動き予測・補償部89は、探索領域がカレントピクチャより符号化順で前のピクチャ内に存在する場合、SAO処理後のピクチャの探索領域に対応する領域を、参照ピクチャの参照ブロックの候補として、フレームメモリ85から読み出す。動き予測・補償部89は、カレントブロックと参照ピクチャの参照ブロックの候補の水平方向および垂直方向の解像度を4倍にする。
 動き予測・補償部89、解像度が4倍にされたカレントブロックの各PUと参照ピクチャの参照ブロックの候補との相関値を求める。動き予測・補償部89は、各PUモードのPUごとに、求められた相関値が、保持している相関値より大きい場合、その相関値に対応するカレントブロックのPUと参照ピクチャの参照ブロックの候補との間の1/4画素精度の動きベクトルを、インター予測の最善ベクトルに決定する。動き予測・補償部89は、各PUモードのPUごとに、インター予測の最善ベクトルと、対応する相関値を保持する。動き予測・補償部89は、各PUモードのPUごとに、インター予測の最善ベクトルに基づいて、参照ピクチャの参照ブロックの候補に対して補償処理を施し、予測画像を生成する。
 また、動き予測・補償部89は、PU単位で、カレントブロックと予測画像とに基づいて、候補となる全てのPUモードのイントラ予測およびIntra BC予測に対してコスト関数値を算出する。動き予測・補償部89は、PU単位で、コスト関数値が最小となるPUモードとインター予測またはIntra BC予測とを表すモードを、最適インター予測モードに決定する。そして、動き予測・補償部89は、カレントブロックについて、最適インター予測モードで生成された予測画像と、対応するコスト関数値とを予測画像選択部92に供給する。
 動き予測・補償部89は、予測画像選択部92から最適インター予測モードで生成された予測画像の選択が通知された場合、参照ピクチャの候補を参照ピクチャに決定する。そして、動き予測・補償部89は、その予測画像に対応する動きベクトル、参照ピクチャ特定情報、およびインター予測モード情報を、可逆符号化部76に供給する。
 予測画像選択部92は、イントラ予測部87および動き予測・補償部89から供給されるコスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの、対応するコスト関数値が小さい方を、最適予測モードに決定する。そして、予測画像選択部92は、最適予測モードの予測画像を、演算部73および加算部81に供給する。また、予測画像選択部92は、最適予測モードの予測画像の選択をイントラ予測部87または動き予測・補償部89に通知する。
 レート制御部93は、蓄積バッファ77に蓄積された符号化データに基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部75の量子化動作のレートを制御する。
 (Intra BC予測部の構成例)
 図2は、図1の動き予測・補償部89のうちのIntra BC予測等を行うIntra BC予測部の構成例を示すブロック図である。
 図2のIntra BC予測部100は、制限部101、検出部102、および予測部103により構成される。
 制限部101は、カレントピクチャ内のカレントブロックの周辺画素等を除く所定の範囲を、カレントブロックの動きベクトルの検出に用いる参照範囲とする。即ち、制限部101は、Intra BC予測に用いられるカレントブロックの動きベクトルを、カレントブロックの周辺画素がカレントブロックのIntra BC予測に用いられないように制限する。制限部101は、参照範囲を検出部102に供給する。
 検出部102は、探索領域が、制限部101から供給される参照範囲内に存在する場合、SAO処理後の探索領域を、参照ピクチャの参照ブロックの候補として、フレームメモリ85からスイッチ86を介して読み出す。
 検出部102は、画面並べ替えバッファ72から供給されるカレントブロックの各PUと参照ピクチャの参照ブロックの候補との相関値を求める。検出部102は、各PUモードのPUごとに、求められた相関値が、保持している相関値より大きい場合、その相関値に対応するカレントブロックのPUと参照ピクチャの参照ブロックの候補との間の整数画素精度の動きベクトルを、Intra BC予測の最善ベクトルに決定する。検出部102は、Intra BC予測の最善ベクトルと、対応する相関値を保持する。そして、検出部102は、PUモードごとに、カレントピクチャの符号化済みの全ての領域が探索領域にされたとき、各PUのIntra BC予測の最善ベクトルを予測部103に供給する。
 予測部103は、各PUモードのPUごとに、検出部102から供給される最善ベクトルに基づいて、参照ピクチャの参照ブロックの候補に対して補償処理を施すことによりIntra BC予測を行い、予測画像を生成する。また、予測部103は、PU単位で、画面並べ替えバッファ72から供給されるカレントブロックと予測画像とに基づいて、候補となる全てのPUモードのIntra BC予測に対してコスト関数値を算出する。予測部103は、算出されたコスト関数値と予測画像を出力する。
 以上のようにしてIntra BC予測部100から出力されたコスト関数値は、各PUモードのインター予測に対応するコスト関数値と比較され、最適インター予測モードが決定される。
 (参照範囲の例)
 図3は、参照範囲の例を示す図である。
 図3の例では、符号化対象の画像が、7(横)×5(縦)個のCUに分割されている。
 カレントブロックが中央のCU111である場合、CU111より上に存在するか、または、CU111と垂直方向の位置が同一で、かつ、CU111の左側に存在するCUからなるCU群112は、既に符号化されている。一方、CU111と、CU111より下に存在するか、または、CU111と垂直方向の位置が同一で、かつ、CU111の右側に存在するCUからなるCU群113は、まだ符号化されていない。
 また、上述したように、デブロックフィルタ処理では、CU内の隣接するCUとの境界から、その境界と垂直な方向に並ぶ最大3画素が、その隣接するCUの影響を受ける。また、SAO処理では、CU内の隣接するCUとの境界から、その境界と垂直な方向に並ぶ最大1画素が、その隣接するCUの影響を受ける。
 従って、図3に示すように、CU群112とCU群113の境界から、その境界と垂直な方向に3画素だけ並ぶCU群112内の領域114については、まだSAO処理が行われていない可能性がある。よって、制限部101は、CU群112のうちの、CU群113との水平方向または垂直方向の距離が3画素以内である領域114を参照範囲から除外する。
 これにより、SAO処理が行われた、CU群112の領域114以外の領域を用いて、Intra BC予測を行うことができる。従って、デブロックフィルタ処理およびSAO処理が行われる前のCU群112を一時的にキャッシュ等に保持し、Intra BC予測に用いる場合のように、Intra BC予測用のキャッシュを設ける必要がない。その結果、メモリ帯域、処理負荷、および実装コストの増加を防止することができる。
 参照範囲から領域114を除いた場合、CU111内のPU115の動きベクトル(mvLX[0]z>>2,mvLX[1]>>2)は、以下の式(1)の条件を満たす。
Figure JPOXMLDOC01-appb-M000001
 なお、xBl,yBlは、それぞれ、PU115の左上の頂点のx座標、y座標である。nPbW,nPbHは、それぞれ、PU115の水平方向のサイズ、垂直方向のサイズである。xCb,yCbは、それぞれ、CU111の左上の頂点のx座標、y座標である。
 また、WPP(Wavefront Parallel Processing)を用いてカレントピクチャに対して並列に符号化処理が行われる場合であっても、参照範囲を参照可能にするために、制限部101は、CU111を含むCTUのN個上のCTUの2N個右のCTUと、そのCTUの右または右上に存在するCTUを、参照範囲から除外する。
 図3の例では、CUがCTUであり、Nが1である。従って、制限部101は、CU111の1個上のCUの2個右のCU117と、CU117の右または右上に存在するCUとを含む領域118を、参照範囲から除外する。
 以上のように、Intra BC予測時の参照範囲は、CU群112内の領域114および領域118を除いた領域である。従って、CU111の左に隣接するPU115と同一のサイズのブロック119や、CU111の上に隣接するPU115と同一のサイズのブロック120は、PU115の動きベクトルの検出に用いられない。このように、動きベクトルの検出の際に用いられる画像が制限されるが、符号化効率への影響は無視できる程度である。
 なお、xCb,yCbは、CU111ではなくCU111を含むCTUの左上の頂点のx座標、y座標であってもよい。
 (符号化装置の処理の説明)
 図4および図5は、図1の符号化装置70の符号化処理を説明するフローチャートである。
 図4のステップS31において、符号化装置70のA/D変換部71は、符号化対象として入力されたフレーム単位のピクチャをA/D変換し、変換後のデジタル信号であるピクチャを画面並べ替えバッファ72に出力して記憶させる。
 ステップS32において、画面並べ替えバッファ72は、記憶した表示の順番のフレーム単位のピクチャを、GOP構造に応じて、符号化のための順番に並べ替える。画面並べ替えバッファ72は、並べ替え後のフレーム単位のピクチャをカレントピクチャとし、カレントピクチャの各CUを順にカレントブロックとする。画面並べ替えバッファ72は、カレントブロックを、演算部73、イントラ予測部87、および動き予測・補償部89に供給する。
 ステップS33において、イントラ予測部87は、PU単位で、フレームメモリ85からスイッチ86を介して読み出された周辺画素を用いて、候補となる全てのイントラ予測モードのイントラ予測処理を行う。また、イントラ予測部87は、PU単位で、画面並べ替えバッファ72から供給されるカレントブロックと、イントラ予測処理の結果生成される予測画像とに基づいて、候補となる全てのイントラ予測モードに対してコスト関数値を算出する。そして、イントラ予測部87は、PU単位で、コスト関数値が最小となるイントラ予測モードを、最適イントラ予測モードに決定する。
 イントラ予測部87は、カレントブロックについて、最適イントラ予測モードで生成された予測画像と、対応するコスト関数値とを、予測画像選択部92に供給する。イントラ予測部87は、予測画像選択部92から最適イントラ予測モードで生成された予測画像の選択が通知された場合、イントラ予測モード情報を可逆符号化部76に供給する。
 また、動き予測・補償部89は、PU単位で、候補となる全てのPUモードのインター予測およびIntra BC予測を行う。また、動き予測・補償部89は、PU単位で、カレントブロックとインター予測およびIntra BC予測の結果生成された予測画像とに基づいて、候補となる全てのPUモードのインター予測およびIntra BC予測に対してコスト関数値を算出する。動き予測・補償部89は、PU単位で、コスト関数値が最小となるPUモードとインター予測またはIntra BC予測とを表すモードを最適インター予測モードに決定する。そして、動き予測・補償部89は、カレントブロックについて、最適インター予測モードで生成された予測画像と、対応するコスト関数値の最小値とを予測画像選択部92に供給する。
 ステップS34において、予測画像選択部92は、イントラ予測部87および動き予測・補償部89から供給されるコスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちのコスト関数値が最小となる方を、最適予測モードに決定する。そして、予測画像選択部92は、最適予測モードの予測画像を、演算部73および加算部81に供給する。
 ステップS35において、予測画像選択部92は、最適予測モードが最適インター予測モードであるかどうかを判定する。ステップS35で最適予測モードが最適インター予測モードであると判定された場合、予測画像選択部92は、最適インター予測モードで生成された予測画像の選択を動き予測・補償部89に通知する。
 ステップS36において、動き予測・補償部89は、予測画像選択部92により選択された予測画像に対応するインター予測モード情報、動きベクトル、および参照ピクチャ特定情報を、可逆符号化部76に供給する。そして、処理はステップS38に進む。
 一方、ステップS35で最適予測モードが最適インター予測モードではないと判定された場合、即ち最適予測モードが最適イントラ予測モードである場合、予測画像選択部92は、最適イントラ予測モードで生成された予測画像の選択をイントラ予測部87に通知する。そして、ステップS37において、イントラ予測部87は、予測画像選択部92により選択された予測画像に対応するイントラ予測モード情報を可逆符号化部76に供給し、処理をステップS38に進める。
 ステップS38において、演算部73は、画面並べ替えバッファ72から供給されるカレントブロックから、予測画像選択部92から供給される予測画像を減算することにより符号化を行う。演算部73は、その結果得られるピクチャを、残差情報として直交変換部74に出力する。
 ステップS39において、直交変換部74は、演算部73からの残差情報に対してTU単位で直交変換を施し、その結果得られる直交変換係数を量子化部75に供給する。
 ステップS40において、量子化部75は、直交変換部74から供給される直交変換係数を量子化し、量子化された直交変換係数を可逆符号化部76と逆量子化部79に供給する。
 図5のステップS41において、逆量子化部79は、量子化部75から供給される量子化された係数を逆量子化し、その結果得られる直交変換係数を逆直交変換部80に供給する。
 ステップS42において、逆直交変換部80は、逆量子化部79から供給される直交変換係数に対してTU単位で逆直交変換を施し、その結果得られる残差情報を加算部81に供給する。
 ステップS43において、加算部81は、逆直交変換部80から供給される残差情報と、予測画像選択部92から供給される予測画像を加算し、カレントブロックを復号する。加算部81は、復号されたカレントブロックをフレームメモリ85とフィルタ82に供給する。フィルタ82は、加算部81から供給されたカレントブロックを、符号化済みのCUとして保持する。
 ステップS44において、フィルタ82は、加算部81から供給されたカレントブロックと隣接ブロックを用いて、カレントブロックと隣接ブロックの境界を中心として、境界と垂直な方向に並ぶ最大3画素ずつに対してデブロックフィルタ処理を行う。
 ステップS45において、フィルタ82は、デブロックフィルタ処理後の画素に対してSAO処理を行う。フィルタ82は、SAO処理後の画素をフレームメモリ85に供給する。また、フィルタ82は、行われたSAO処理の種類とオフセットを示す情報を、オフセットフィルタ情報として可逆符号化部76に供給する。
 ステップS46において、フレームメモリ85は、加算部81から供給されるデブロックフィルタ処理前のカレントブロックの一部とフィルタ82から供給されるSAO処理後の画素を記憶する。フレームメモリ85に記憶されたデブロックフィルタ処理前の画素のうちのPUに隣接する画素は、周辺画素としてスイッチ86を介してイントラ予測部87に供給される。
 また、フレームメモリ85に記憶されたSAO処理後のカレントピクチャと、カレントピクチャより符号化順で前のSAO処理後のピクチャは、参照ピクチャの候補としてスイッチ86を介して動き予測・補償部89に出力される。
 ステップS47において、可逆符号化部76は、イントラ予測モード情報、または、インター予測モード情報、動きベクトル、および参照ピクチャ特定情報、並びにオフセットフィルタ情報を、符号化情報として可逆符号化する。
 ステップS48において、可逆符号化部76は、量子化部75から供給される量子化された直交変換係数を可逆符号化する。そして、可逆符号化部76は、ステップS47の処理で可逆符号化された符号化情報と可逆符号化された直交変換係数から、符号化データを生成し、蓄積バッファ77に供給する。
 ステップS49において、蓄積バッファ77は、可逆符号化部76から供給される符号化データを、一時的に蓄積する。
 ステップS50において、レート制御部93は、蓄積バッファ77に蓄積された符号化データに基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部75の量子化動作のレートを制御する。
 ステップS51において、生成部78は、蓄積バッファ77に記憶されている符号化データとパラメータセットから符号化ストリームを生成し、出力する。
 なお、図4および図5の符号化処理では、説明を簡単化するため、常に、イントラ予測処理とIntra BC予測およびインター予測とが行われるようにしたが、実際には、ピクチャタイプ等によっていずれか一方のみが行われる場合もある。
 図6は、図4のステップS33の処理のうちの、Intra BC予測等を行うIntra BC予測処理の詳細を説明するフローチャートである。
 図6のステップS61において、動き予測・補償部89の制限部101(図2)は、カレントブロックの参照範囲を決定し、検出部102に供給する。ステップS62乃至S70の処理は、PUモードごとに行われる。
 ステップS62において、検出部102は、動き予測・補償部89により新たな探索領域が設定されたかどうかを判定する。ステップS62でまだ新たな探索領域が設定されていないと判定された場合、検出部102は、新たな探索領域が設定されるまで待機する。
 一方、ステップS62で新たな探索領域が設定されたと判定された場合、ステップS63において、検出部102は、新たに設定された探索領域がカレントピクチャ内に存在するかどうかを判定する。
 ステップS63で探索領域がカレントピクチャ内に存在すると判定された場合、ステップS64において、検出部102は、探索領域が制限部101から供給された参照範囲内に存在するかどうかを判定する。
 ステップS64で、探索領域が参照範囲内に存在すると判定された場合、検出部102は、SAO処理後の探索領域を、参照ピクチャの参照ブロックの候補として、フレームメモリ85からスイッチ86を介して読み出す。
 そして、ステップS65において、検出部102は、画面並べ替えバッファ72から供給されるカレントブロックの各PUと参照ピクチャの参照ブロックの候補との相関値を求める。ステップS66において、検出部102は、PU単位で、ステップS65で求められた相関値が、保持している最善ベクトルに対応する相関値より大きいかどうかを判定する。ステップS66で相関値が最善ベクトルに対応する相関値より大きいと判定された場合、処理はステップS67に進む。
 ステップS67において、検出部102は、ステップS65で求められた相関値に対応するカレントブロックのPUと参照ピクチャの参照ブロックの候補との間の整数画素精度の動きベクトルを最善ベクトルとして、その最善ベクトルと、対応する相関値を保持する。そして、処理はステップS68に進む。
 また、ステップS63で探索領域がカレントピクチャ内に存在しないと判定された場合、ステップS64で探索領域が参照範囲内に存在しないと判定された場合、またはステップS66で相関値が最善ベクトルに対応する相関値より大きくはないと判定された場合、処理はステップS68に進む。
 ステップS68において、検出部102は、動き予測・補償部89によりカレントピクチャの符号化済みの全ての領域が探索領域に設定されたかどうかを判定する。ステップS68で、まだ全ての領域が探索領域に設定されていないと判定された場合、処理はステップS62に戻り、全ての領域が探索領域に設定されるまで、ステップS62乃至S68の処理が繰り返される。
 一方、ステップS68で全ての領域が探索領域に設定されたと判定された場合、検出部102は、保持している各PUの最善ベクトルを予測部103に供給する。そして、ステップS69において、予測部103は、PU単位で、検出部102から供給される最善ベクトルに基づいて、参照ピクチャの参照ブロックの候補に対して補償処理を施すことによりIntra BC予測を行い、予測画像を生成する。
 ステップS70において、予測部103は、画面並べ替えバッファ72から供給されるカレントブロックと予測画像とに基づいて、PU単位でコスト関数値を算出する。予測部103は、コスト関数値と予測画像を出力する。
 以上のようにしてIntra BC予測部100から出力されたコスト関数値は、動き予測・補償部89により各PUモードのインター予測に対応するコスト関数値と比較され、最適インター予測モードが決定される。
 以上のように、符号化装置70は、Intra BC予測に用いられるカレントブロックの動きベクトルを、カレントピクチャ内の参照範囲以外の領域がカレントブロックの予測に用いられないように制限する。従って、例えば、Intra BC予測において、SAO処理後のピクチャを参照ピクチャとして参照することができる。その結果、Intra BC予測の参照ピクチャ用にキャッシュ等を用意する必要がなくなり、Intra BC予測を行う際のメモリ帯域、処理負荷、および実装コストの増加を防止することができる。
 (復号装置の一実施の形態の構成例)
 図7は、図1の符号化装置70から伝送される符号化ストリームを復号する、本開示を適用した画像処理装置としての復号装置の一実施の形態の構成例を示すブロック図である。
 図7の復号装置130は、蓄積バッファ131、可逆復号部132、逆量子化部133、逆直交変換部134、加算部135、フィルタ136、画面並べ替えバッファ139およびD/A変換部140を有する。また、復号装置130は、フレームメモリ141、スイッチ142、イントラ予測部143、動き補償部147、およびスイッチ148を有する。
 復号装置130の蓄積バッファ131は、図1の符号化装置70から符号化ストリームを受け取り、蓄積する。蓄積バッファ131は、蓄積されている符号化ストリームのうちの各CUの符号化データを順に、カレントブロックの符号化データとして可逆復号部132に供給する。なお、符号化ストリームのうちのパラメータセットは、必要に応じて、復号装置130の各部に供給され、処理に用いられる。
 可逆復号部132は、蓄積バッファ131からの符号化データに対して、図1の可逆符号化部76の可逆符号化に対応する、可変長復号や算術復号等の可逆復号を施すことで、量子化された直交変換係数と符号化情報を得る。可逆復号部132は、量子化された直交変換係数を逆量子化部133に供給する。また、可逆復号部132は、符号化情報としてのイントラ予測モード情報などをイントラ予測部143に供給し、参照ピクチャ特定情報、動きベクトル、インター予測モード情報などを動き補償部147に供給する。
 さらに、可逆復号部132は、符号化情報としてのイントラ予測モード情報またはインター予測モード情報をスイッチ148に供給する。可逆復号部132は、符号化情報としてのオフセットフィルタ情報をフィルタ136に供給する。
 逆量子化部133、逆直交変換部134、加算部135、フィルタ136、フレームメモリ141、スイッチ142、イントラ予測部143、動き補償部147は、図1の逆量子化部79、逆直交変換部80、加算部81、フィルタ82、フレームメモリ85、スイッチ86、イントラ予測部87、動き予測・補償部89とそれぞれ同様の処理を行い、これにより、カレントブロックが復号される。
 具体的には、逆量子化部133は、可逆復号部132からの量子化された直交変換係数を逆量子化し、その結果得られる直交変換係数を逆直交変換部134に供給する。
 逆直交変換部134は、逆量子化部133からの直交変換係数に対してTU単位で逆直交変換を行う。逆直交変換部134は、逆直交変換の結果得られる残差情報を加算部135に供給する。
 加算部135は、逆直交変換部134から供給される残差情報と、スイッチ148から供給される予測画像を加算することにより、カレントブロックを復号する。なお、スイッチ148から予測画像が供給されない場合、加算部135は、逆直交変換部134から供給される残差情報を復号結果とする。加算部135は、復号の結果得られるカレントブロックをフレームメモリ141とフィルタ136に供給する。
 フィルタ136は、加算部135から供給されるカレントブロックを、符号化済みのCUとして保持する。フィルタ136は、加算部135から供給されたカレントブロックと隣接ブロックとを用いて、カレントブロックと隣接ブロックの境界を中心として、境界と垂直な方向に並ぶ最大3画素ずつに対してデブロックフィルタ処理を行う。
 フィルタ136は、可逆復号部132から供給されるオフセットフィルタ情報が表すオフセットを用いて、デブロックフィルタ処理後の画素に対して、オフセットフィルタ情報が表す種類のSAO処理を行う。フィルタ136は、SAO処理後の画素をフレームメモリ141および画面並べ替えバッファ139に供給する。
 画面並べ替えバッファ139は、フィルタ136から供給されるSAO処理後の画素をフレーム単位で記憶する。画面並べ替えバッファ139は、記憶した符号化のための順番のフレーム単位のピクチャを、元の表示の順番に並び替え、D/A変換部140に供給する。
 D/A変換部140は、画面並べ替えバッファ139から供給されるピクチャをD/A変換し、出力する。
 フレームメモリ141は、例えば、DRAMにより構成される。フレームメモリ141は、加算部135から供給されるデブロックフィルタ処理前のカレントブロックの一部とフィルタ136から供給されるSAO処理後の画素を記憶する。フレームメモリ141に記憶されたデブロックフィルタ処理前の画素のうちのPUに隣接する画素は、周辺画素としてスイッチ142を介してイントラ予測部143に供給される。
 また、フレームメモリ141に記憶されたSAO処理後のカレントピクチャと、カレントピクチャより符号化順で前のSAO処理後のピクチャは、参照ピクチャとしてスイッチ142を介して動き補償部147に出力される。
 イントラ予測部143は、PU単位で、フレームメモリ141からスイッチ142を介して読み出された周辺画素を用いて、可逆復号部132から供給されるイントラ予測モード情報が示す最適イントラ予測モードのイントラ予測処理を行う。イントラ予測部143は、その結果生成される予測画像をスイッチ148に供給する。
 動き補償部147は、PU単位で、可逆復号部132から供給されるインター予測モード情報、参照ピクチャ特定情報、および動きベクトルに基づいて、動き補償処理を行う。
 具体的には、動き補償部147は、フレームメモリ141からスイッチ142を介して、参照ピクチャ特定情報により特定される参照ピクチャを読み出す。動き補償部147は、参照ピクチャと動きベクトルとを用いて、インター予測モード情報が示す最適インター予測モードの動き補償処理を行う。動き補償部147は、その結果生成される予測画像をスイッチ148に供給する。
 スイッチ148は、可逆復号部132からイントラ予測モード情報が供給された場合、イントラ予測部143から供給される予測画像を加算部135に供給する。一方、可逆復号部132からインター予測モード情報が供給された場合、スイッチ148は、動き補償部147から供給される予測画像を加算部135に供給する。
 (復号装置の処理の説明)
 図8は、図7の復号装置130の復号処理を説明するフローチャートである。
 図8のステップS131において、復号装置130の蓄積バッファ131は、図1の符号化装置70から符号化ストリームを受け取り、蓄積する。蓄積バッファ131は、蓄積されている符号化ストリームのうちの各CUの符号化データを順に、カレントブロックの符号化データとして可逆復号部132に供給する。
 ステップS132において、可逆復号部132は、蓄積バッファ131からの符号化データに対して、図1の可逆符号化部76の可逆符号化に対応する、可変長復号や算術復号等の可逆復号を施すことで、量子化された直交変換係数と符号化情報を得る。可逆復号部132は、量子化された直交変換係数を逆量子化部133に供給する。また、可逆復号部132は、符号化情報としてのイントラ予測モード情報などをイントラ予測部143に供給し、参照ピクチャ特定情報、動きベクトル、インター予測モード情報などを動き補償部147に供給する。
 さらに、可逆復号部132は、符号化情報としてのイントラ予測モード情報またはインター予測モード情報をスイッチ148に供給する。可逆復号部132は、符号化情報としてのオフセットフィルタ情報をフィルタ136に供給する。
 ステップS133において、逆量子化部133は、可逆復号部132からの量子化された直交変換係数を逆量子化し、その結果得られる直交変換係数を逆直交変換部134に供給する。
 ステップS134において、逆直交変換部134は、逆量子化部133からの直交変換係数に対して逆直交変換を施し、その結果得られる残差情報を加算部135に供給する。ステップS136乃至S141およびステップS148の処理は、PU単位で行われる。
 ステップS135において、動き補償部147は、可逆復号部132から処理対象のPUのインター予測モード情報が供給されたかどうかを判定する。ステップS135でインター予測モード情報が供給されたと判定された場合、処理はステップS136に進む。
 ステップS136において、動き補償部147は、処理対象のPUのインター予測モード情報が表す最適インター予測モードは、Intra BC予測を表すモードであるかどうかを判定する。ステップS136で最適インター予測モードは、Intra BC予測を表すモードであると判定された場合、処理はステップS137に進む。
 ステップS137において、動き補償部147は、可逆復号部132から供給される処理対象のPUの参照ピクチャ特定情報に基づいて、参照ピクチャがカレントピクチャであるかどうかを判定する。
 ステップS137で参照ピクチャがカレントピクチャであると判定された場合、ステップS138において、カレントブロックの処理対象のPUとの間のベクトルが、可逆復号部132から供給される動きベクトルである処理対象のPUと同一のサイズのブロックが、参照範囲内にあるかどうかを判定する。参照範囲は、動き補償部147により、制限部101と同様に、カレントブロックに基づいて決定される。
 ステップS138で、カレントブロックの処理対象のPUとの間のベクトルが、可逆復号部132から供給される動きベクトルである処理対象のPUと同一のサイズのブロックが、参照範囲内にあると判定された場合、処理はステップS139に進む。
 ステップS139において、動き補償部147は、処理対象のPUのインター予測モード情報が表すPUモードと動きベクトルに基づいて、フレームメモリ141からカレントピクチャを読み出すことにより、処理対象のPUについてIntra BC予測を行う。動き補償部147は、その結果生成される予測画像をスイッチ148に供給し、処理をステップS142に進める。
 一方、ステップS136で最適インター予測モードがIntra BC予測を表すモードではないと判定された場合、即ち最適インター予測モードがインター予測を表すモードである場合、処理はステップS140に進む。
 ステップS140において、動き補償部147は、処理対象のPUのインター予測モード情報が表すPUモード、参照ピクチャ特定情報、および動きベクトルに基づいて、フレームメモリ141から参照ピクチャを読み出すことにより、処理対象のPUについてインター予測を行う。動き補償部147は、その結果生成される予測画像をスイッチ148に供給し、処理をステップS142に進める。
 一方、ステップS135でインター予測モード情報が供給されていないと判定された場合、即ちイントラ予測モード情報がイントラ予測部143に供給された場合、処理はステップS141に進む。
 ステップS141において、イントラ予測部143は、カレントブロックに対して、フレームメモリ141からスイッチ142を介して読み出された周辺画素を用いて、イントラ予測モード情報が示す最適イントラ予測モードのイントラ予測処理を行う。イントラ予測部143は、イントラ予測処理の結果生成される予測画像を、スイッチ148を介して加算部135に供給し、処理をステップS142に進める。
 ステップS142において、加算部135は、逆直交変換部134から供給される残差情報と、スイッチ148から供給される予測画像を加算することにより、カレントブロックを復号する。加算部135は、復号の結果得られるカレントブロックをフレームメモリ141とフィルタ136に供給する。フィルタ136は、加算部135から供給されたカレントブロックを、符号化済みのCUとして保持する。
 ステップS143において、フィルタ136は、加算部135から供給されたカレントブロックと隣接ブロックを用いて、カレントブロックと隣接ブロックの境界を中心として、境界と垂直な方向に並ぶ最大3画素ずつに対してデブロックフィルタ処理を行う。
 ステップS144において、フィルタ136は、可逆復号部132から供給されるオフセットフィルタ情報が表すオフセットを用いて、デブロックフィルタ処理後の画素に対して、オフセットフィルタ情報が表す種類のSAO処理を行う。フィルタ136は、SAO処理後の画素をフレームメモリ141および画面並べ替えバッファ139に供給する。
 ステップS145において、フレームメモリ141は、加算部135から供給されるデブロックフィルタ処理前のカレントブロックの一部とフィルタ136から供給されるSAO処理後の画素を記憶する。フレームメモリ141に記憶されたデブロックフィルタ処理前の画素のうちのPUに隣接する画素は、周辺画素としてスイッチ142を介してイントラ予測部143に供給される。また、フレームメモリ141に記憶されたSAO処理後のカレントピクチャと、カレントピクチャより符号化順で前のSAO処理後のピクチャは、参照ピクチャとしてスイッチ142を介して動き補償部147に出力される。
 ステップS146において、画面並べ替えバッファ139は、フィルタ136から供給されるSAO処理後の画素をフレーム単位で記憶し、記憶した符号化のための順番のフレーム単位のピクチャの、元の表示の順番への並び替えを行う。画面並べ替えバッファ139は、並び替え後のピクチャをD/A変換部140に供給する。
 ステップS147において、D/A変換部140は、画面並べ替えバッファ139から供給されるピクチャをD/A変換し、出力する。そして、処理は終了する。
 一方、ステップS137で参照ピクチャはカレントピクチャではないと判定された場合、または、カレントブロックの処理対象のPUとの間のベクトルが、可逆復号部132から供給される動きベクトルである処理対象のPUと同一のサイズのブロックが、参照範囲内にないと判定された場合、処理はステップS148に進む。ステップS148において、復号装置130は、処理対象のPUに対して所定のエラー処理を行い、処理を終了する。
 以上のように、復号装置130は、カレントピクチャ内の参照範囲以外の領域がカレントブロックの予測に用いられないように制限されたカレントブロックの動きベクトルを用いて、Intra BC予測を行う。従って、例えば、Intra BC予測において、SAO処理後のピクチャを参照ピクチャとして参照することができる。その結果、Intra BC予測の参照ピクチャ用にキャッシュ等を用意する必要がなくなり、Intra BC予測を行う際のメモリ帯域、処理負荷、および実装コストの増加を防止することができる。
 なお、第1実施の形態では、まだ符号化されていないCU群113との水平方向または垂直方向の距離が3画素以内である領域114を参照範囲から除外したが、4の倍数画素以内である領域を参照範囲から除外するようにしてもよい。この場合、CUまたはPU単位で、符号化処理および復号処理を並列に行う場合であっても、カレントブロックの符号化時に、Intra BC予測で参照可能な範囲の復号が完了しているため、Intra BC予測を行うことができる。従って、CUまたはPU単位で符号化処理および復号処理を並列に行い、処理負荷を低減することができる。
 <第2実施の形態>
 (本開示を適用したコンピュータの説明)
 上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
 図9は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 コンピュータにおいて、CPU(Central Processing Unit)201,ROM(Read Only Memory)202,RAM(Random Access Memory)203は、バス204により相互に接続されている。
 バス204には、さらに、入出力インタフェース205が接続されている。入出力インタフェース205には、入力部206、出力部207、記憶部208、通信部209、及びドライブ210が接続されている。
 入力部206は、キーボード、マウス、マイクロホンなどよりなる。出力部207は、ディスプレイ、スピーカなどよりなる。記憶部208は、ハードディスクや不揮発性のメモリなどよりなる。通信部209は、ネットワークインタフェースなどよりなる。ドライブ210は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア211を駆動する。
 以上のように構成されるコンピュータでは、CPU201が、例えば、記憶部208に記憶されているプログラムを、入出力インタフェース205及びバス204を介して、RAM203にロードして実行することにより、上述した一連の処理が行われる。
 コンピュータ(CPU201)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア211に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
 コンピュータでは、プログラムは、リムーバブルメディア211をドライブ210に装着することにより、入出力インタフェース205を介して、記憶部208にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部209で受信し、記憶部208にインストールすることができる。その他、プログラムは、ROM202や記憶部208に、あらかじめインストールしておくことができる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 <第3実施の形態>
 (テレビジョン装置の構成例)
 図10は、本開示を適用したテレビジョン装置の概略構成を例示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース部909を有している。さらに、テレビジョン装置900は、制御部910、ユーザインタフェース部911等を有している。
 チューナ902は、アンテナ901で受信された放送波信号から所望のチャンネルを選局して復調を行い、得られた符号化ビットストリームをデマルチプレクサ903に出力する。
 デマルチプレクサ903は、符号化ビットストリームから視聴対象である番組の映像や音声のパケットを抽出して、抽出したパケットのデータをデコーダ904に出力する。また、デマルチプレクサ903は、EPG(Electronic Program Guide)等のデータのパケットを制御部910に供給する。なお、スクランブルが行われている場合、デマルチプレクサ等でスクランブルの解除を行う。
 デコーダ904は、パケットの復号化処理を行い、復号処理化によって生成された映像データを映像信号処理部905、音声データを音声信号処理部907に出力する。
 映像信号処理部905は、映像データに対して、ノイズ除去やユーザ設定に応じた映像処理等を行う。映像信号処理部905は、表示部906に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成する。また、映像信号処理部905は、項目の選択などのメニュー画面等を表示するための映像データを生成し、それを番組の映像データに重畳する。映像信号処理部905は、このようにして生成した映像データに基づいて駆動信号を生成して表示部906を駆動する。
 表示部906は、映像信号処理部905からの駆動信号に基づき表示デバイス(例えば液晶表示素子等)を駆動して、番組の映像などを表示させる。
 音声信号処理部907は、音声データに対してノイズ除去などの所定の処理を施し、処理後の音声データのD/A変換処理や増幅処理を行いスピーカ908に供給することで音声出力を行う。
 外部インタフェース部909は、外部機器やネットワークと接続するためのインタフェースであり、映像データや音声データ等のデータ送受信を行う。
 制御部910にはユーザインタフェース部911が接続されている。ユーザインタフェース部911は、操作スイッチやリモートコントロール信号受信部等で構成されており、ユーザ操作に応じた操作信号を制御部910に供給する。
 制御部910は、CPU(Central Processing Unit)やメモリ等を用いて構成されている。メモリは、CPUにより実行されるプログラムやCPUが処理を行う上で必要な各種のデータ、EPGデータ、ネットワークを介して取得されたデータ等を記憶する。メモリに記憶されているプログラムは、テレビジョン装置900の起動時などの所定タイミングでCPUにより読み出されて実行される。CPUは、プログラムを実行することで、テレビジョン装置900がユーザ操作に応じた動作となるように各部を制御する。
 なお、テレビジョン装置900では、チューナ902、デマルチプレクサ903、映像信号処理部905、音声信号処理部907、外部インタフェース部909等と制御部910を接続するためバス912が設けられている。
 このように構成されたテレビジョン装置では、デコーダ904に本願の復号装置(復号方法)の機能が設けられる。このため、画面内の相関性を利用したIntra BC予測を行う際の処理負荷を低減することができる。
 <第4実施の形態>
 (携帯電話機の構成例)
 図11は、本開示を適用した携帯電話機の概略構成を例示している。携帯電話機920は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931を有している。これらは、バス933を介して互いに接続されている。
 また、通信部922にはアンテナ921が接続されており、音声コーデック923には、スピーカ924とマイクロホン925が接続されている。さらに制御部931には、操作部932が接続されている。
 携帯電話機920は、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行う。
 音声通話モードにおいて、マイクロホン925で生成された音声信号は、音声コーデック923で音声データへの変換やデータ圧縮が行われて通信部922に供給される。通信部922は、音声データの変調処理や周波数変換処理等を行い、送信信号を生成する。また、通信部922は、送信信号をアンテナ921に供給して図示しない基地局へ送信する。また、通信部922は、アンテナ921で受信した受信信号の増幅や周波数変換処理および復調処理等を行い、得られた音声データを音声コーデック923に供給する。音声コーデック923は、音声データのデータ伸張やアナログ音声信号への変換を行いスピーカ924に出力する。
 また、データ通信モードにおいて、メール送信を行う場合、制御部931は、操作部932の操作によって入力された文字データを受け付けて、入力された文字を表示部930に表示する。また、制御部931は、操作部932におけるユーザ指示等に基づいてメールデータを生成して通信部922に供給する。通信部922は、メールデータの変調処理や周波数変換処理等を行い、得られた送信信号をアンテナ921から送信する。また、通信部922は、アンテナ921で受信した受信信号の増幅や周波数変換処理および復調処理等を行い、メールデータを復元する。このメールデータを、表示部930に供給して、メール内容の表示を行う。
 なお、携帯電話機920は、受信したメールデータを、記録再生部929で記憶媒体に記憶させることも可能である。記憶媒体は、書き換え可能な任意の記憶媒体である。例えば、記憶媒体は、RAMや内蔵型フラッシュメモリ等の半導体メモリ、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB(Universal Serial Bus)メモリ、またはメモリカード等のリムーバブルメディアである。
 データ通信モードにおいて画像データを送信する場合、カメラ部926で生成された画像データを、画像処理部927に供給する。画像処理部927は、画像データの符号化処理を行い、符号化データを生成する。
 多重分離部928は、画像処理部927で生成された符号化データと、音声コーデック923から供給された音声データを所定の方式で多重化して通信部922に供給する。通信部922は、多重化データの変調処理や周波数変換処理等を行い、得られた送信信号をアンテナ921から送信する。また、通信部922は、アンテナ921で受信した受信信号の増幅や周波数変換処理および復調処理等を行い、多重化データを復元する。この多重化データを多重分離部928に供給する。多重分離部928は、多重化データの分離を行い、符号化データを画像処理部927、音声データを音声コーデック923に供給する。画像処理部927は、符号化データの復号化処理を行い、画像データを生成する。この画像データを表示部930に供給して、受信した画像の表示を行う。音声コーデック923は、音声データをアナログ音声信号に変換してスピーカ924に供給して、受信した音声を出力する。
 このように構成された携帯電話装置では、画像処理部927に本願の符号化装置および復号装置(符号化方法および復号方法)の機能が設けられる。このため、画面内の相関性を利用したIntra BC予測を行う際の処理負荷を低減することができる。
 <第5実施の形態>
 (記録再生装置の構成例)
 図12は、本開示を適用した記録再生装置の概略構成を例示している。記録再生装置940は、例えば受信した放送番組のオーディオデータとビデオデータを、記録媒体に記録して、その記録されたデータをユーザの指示に応じたタイミングでユーザに提供する。また、記録再生装置940は、例えば他の装置からオーディオデータやビデオデータを取得し、それらを記録媒体に記録させることもできる。さらに、記録再生装置940は、記録媒体に記録されているオーディオデータやビデオデータを復号して出力することで、モニタ装置等において画像表示や音声出力を行うことができるようにする。
 記録再生装置940は、チューナ941、外部インタフェース部942、エンコーダ943、HDD(Hard Disk Drive)部944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)部948、制御部949、ユーザインタフェース部950を有している。
 チューナ941は、図示しないアンテナで受信された放送信号から所望のチャンネルを選局する。チューナ941は、所望のチャンネルの受信信号を復調して得られた符号化ビットストリームをセレクタ946に出力する。
 外部インタフェース部942は、IEEE1394インタフェース、ネットワークインタフェース部、USBインタフェース、フラッシュメモリインタフェース等の少なくともいずれかで構成されている。外部インタフェース部942は、外部機器やネットワーク、メモリカード等と接続するためのインタフェースであり、記録する映像データや音声データ等のデータ受信を行う。
 エンコーダ943は、外部インタフェース部942から供給された映像データや音声データが符号化されていないとき所定の方式で符号化を行い、符号化ビットストリームをセレクタ946に出力する。
 HDD部944は、映像や音声等のコンテンツデータ、各種プログラムやその他のデータ等を内蔵のハードディスクに記録し、また再生時等にそれらを当該ハードディスクから読み出す。
 ディスクドライブ945は、装着されている光ディスクに対する信号の記録および再生を行う。光ディスク、例えばDVDディスク(DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等)やBlu-ray(登録商標)ディスク等である。
 セレクタ946は、映像や音声の記録時には、チューナ941またはエンコーダ943からのいずれかの符号化ビットストリームを選択して、HDD部944やディスクドライブ945のいずれかに供給する。また、セレクタ946は、映像や音声の再生時に、HDD部944またはディスクドライブ945から出力された符号化ビットストリームをデコーダ947に供給する。
 デコーダ947は、符号化ビットストリームの復号化処理を行う。デコーダ947は、復号処理化を行うことにより生成された映像データをOSD部948に供給する。また、デコーダ947は、復号処理化を行うことにより生成された音声データを出力する。
 OSD部948は、項目の選択などのメニュー画面等を表示するための映像データを生成し、それをデコーダ947から出力された映像データに重畳して出力する。
 制御部949には、ユーザインタフェース部950が接続されている。ユーザインタフェース部950は、操作スイッチやリモートコントロール信号受信部等で構成されており、ユーザ操作に応じた操作信号を制御部949に供給する。
 制御部949は、CPUやメモリ等を用いて構成されている。メモリは、CPUにより実行されるプログラムやCPUが処理を行う上で必要な各種のデータを記憶する。メモリに記憶されているプログラムは、記録再生装置940の起動時などの所定タイミングでCPUにより読み出されて実行される。CPUは、プログラムを実行することで、記録再生装置940がユーザ操作に応じた動作となるように各部を制御する。
 このように構成された記録再生装置では、エンコーダ943に本願の符号化装置(符号化方法)の機能が設けられ、デコーダ947に本願の復号装置(復号方法)の機能が設けられる。このため、画面内の相関性を利用したIntra BC予測を行う際の処理負荷を低減することができる。
 <第6実施の形態>
 (撮像装置の構成例)
 図13は、本開示を適用した撮像装置の概略構成を例示している。撮像装置960は、被写体を撮像し、被写体の画像を表示部に表示させたり、それを画像データとして、記録媒体に記録する。
 撮像装置960は、光学ブロック961、撮像部962、カメラ信号処理部963、画像データ処理部964、表示部965、外部インタフェース部966、メモリ部967、メディアドライブ968、OSD部969、制御部970を有している。また、制御部970には、ユーザインタフェース部971が接続されている。さらに、画像データ処理部964や外部インタフェース部966、メモリ部967、メディアドライブ968、OSD部969、制御部970等は、バス972を介して接続されている。
 光学ブロック961は、フォーカスレンズや絞り機構等を用いて構成されている。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCDまたはCMOSイメージセンサを用いて構成されており、光電変換によって光学像に応じた電気信号を生成してカメラ信号処理部963に供給する。
 カメラ信号処理部963は、撮像部962から供給された電気信号に対してニー補正やガンマ補正、色補正等の種々のカメラ信号処理を行う。カメラ信号処理部963は、カメラ信号処理後の画像データを画像データ処理部964に供給する。
 画像データ処理部964は、カメラ信号処理部963から供給された画像データの符号化処理を行う。画像データ処理部964は、符号化処理を行うことにより生成された符号化データを外部インタフェース部966やメディアドライブ968に供給する。また、画像データ処理部964は、外部インタフェース部966やメディアドライブ968から供給された符号化データの復号化処理を行う。画像データ処理部964は、復号化処理を行うことにより生成された画像データを表示部965に供給する。また、画像データ処理部964は、カメラ信号処理部963から供給された画像データを表示部965に供給する処理や、OSD部969から取得した表示用データを、画像データに重畳させて表示部965に供給する。
 OSD部969は、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを生成して画像データ処理部964に出力する。
 外部インタフェース部966は、例えば、USB入出力端子などで構成され、画像の印刷を行う場合に、プリンタと接続される。また、外部インタフェース部966には、必要に応じてドライブが接続され、磁気ディスク、光ディスク等のリムーバブルメディアが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、インストールされる。さらに、外部インタフェース部966は、LANやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。制御部970は、例えば、ユーザインタフェース部971からの指示にしたがって、メディアドライブ968から符号化データを読み出し、それを外部インタフェース部966から、ネットワークを介して接続される他の装置に供給させることができる。また、制御部970は、ネットワークを介して他の装置から供給される符号化データや画像データを、外部インタフェース部966を介して取得し、それを画像データ処理部964に供給したりすることができる。
 メディアドライブ968で駆動される記録メディアとしては、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアが用いられる。また、記録メディアは、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触IC(Integrated Circuit)カード等であってもよい。
 また、メディアドライブ968と記録メディアを一体化し、例えば、内蔵型ハードディスクドライブやSSD(Solid State Drive)等のように、非可搬性の記憶媒体により構成されるようにしてもよい。
 制御部970は、CPUを用いて構成されている。メモリ部967は、制御部970により実行されるプログラムや制御部970が処理を行う上で必要な各種のデータ等を記憶する。メモリ部967に記憶されているプログラムは、撮像装置960の起動時などの所定タイミングで制御部970により読み出されて実行される。制御部970は、プログラムを実行することで、撮像装置960がユーザ操作に応じた動作となるように各部を制御する。
 このように構成された撮像装置では、画像データ処理部964に本願の符号化装置および復号装置(符号化方法および復号方法)の機能が設けられる。このため、画面内の相関性を利用したIntra BC予測を行う際の処理負荷を低減することができる。
 <第7実施の形態>
 (実施のその他の例)
  以上において本開示を適用する装置やシステム等の例を説明したが、本開示は、これに限らず、このような装置またはシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。
 (ビデオセットの構成例)
  本開示をセットとして実施する場合の例について、図14を参照して説明する。図14は、本開示を適用したビデオセットの概略的な構成の一例を示している。
  近年、電子機器の多機能化が進んでおり、その開発や製造において、その一部の構成を販売や提供等として実施する場合、1機能を有する構成として実施を行う場合だけでなく、関連する機能を有する複数の構成を組み合わせ、複数の機能を有する1セットとして実施を行う場合も多く見られるようになってきた。
  図14に示されるビデオセット1300は、このような多機能化された構成であり、画像の符号化や復号(いずれか一方でもよいし、両方でも良い)に関する機能を有するデバイスに、その機能に関連するその他の機能を有するデバイスを組み合わせたものである。
  図14に示されるように、ビデオセット1300は、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、およびフロントエンドモジュール1314等のモジュール群と、コネクティビティ1321、カメラ1322、およびセンサ1323等の関連する機能を有するデバイスとを有する。
  モジュールは、互いに関連するいくつかの部品的機能をまとめ、まとまりのある機能を持った部品としたものである。具体的な物理的構成は任意であるが、例えば、それぞれ機能を有する複数のプロセッサ、抵抗やコンデンサ等の電子回路素子、その他のデバイス等を配線基板等に配置して一体化したものが考えられる。また、モジュールに他のモジュールやプロセッサ等を組み合わせて新たなモジュールとすることも考えられる。
  図14の例の場合、ビデオモジュール1311は、画像処理に関する機能を有する構成を組み合わせたものであり、アプリケーションプロセッサ、ビデオプロセッサ、ブロードバンドモデム1333、およびRFモジュール1334を有する。
  プロセッサは、所定の機能を有する構成をSoC(System On a Chip)により半導体チップに集積したものであり、例えばシステムLSI(Large Scale Integration)等と称されるものもある。この所定の機能を有する構成は、論理回路(ハードウエア構成)であってもよいし、CPU、ROM、RAM等と、それらを用いて実行されるプログラム(ソフトウエア構成)であってもよいし、その両方を組み合わせたものであってもよい。例えば、プロセッサが、論理回路とCPU、ROM、RAM等とを有し、機能の一部を論理回路(ハードウエア構成)により実現し、その他の機能をCPUにおいて実行されるプログラム(ソフトウエア構成)により実現するようにしてもよい。
  図14のアプリケーションプロセッサ1331は、画像処理に関するアプリケーションを実行するプロセッサである。このアプリケーションプロセッサ1331において実行されるアプリケーションは、所定の機能を実現するために、演算処理を行うだけでなく、例えばビデオプロセッサ1332等、ビデオモジュール1311内外の構成を必要に応じて制御することもできる。
  ビデオプロセッサ1332は、画像の符号化・復号(その一方若しくは両方)に関する機能を有するプロセッサである。
  ブロードバンドモデム1333は、インターネットや公衆電話回線網等の広帯域の回線を介して行われる有線若しくは無線(またはその両方)の広帯域通信に関する処理を行うプロセッサ(若しくはモジュール)である。例えば、ブロードバンドモデム1333は、送信するデータ(デジタル信号)をデジタル変調する等してアナログ信号に変換したり、受信したアナログ信号を復調してデータ(デジタル信号)に変換したりする。例えば、ブロードバンドモデム1333は、ビデオプロセッサ1332が処理する画像データや画像データが符号化されたストリーム、アプリケーションプログラム、設定データ等、任意の情報をデジタル変調・復調することができる。
  RFモジュール1334は、アンテナを介して送受信されるRF(Radio Frequency)信号に対して、周波数変換、変復調、増幅、フィルタ処理等を行うモジュールである。例えば、RFモジュール1334は、ブロードバンドモデム1333により生成されたベースバンド信号に対して周波数変換等を行ってRF信号を生成する。また、例えば、RFモジュール1334は、フロントエンドモジュール1314を介して受信されたRF信号に対して周波数変換等を行ってベースバンド信号を生成する。
  なお、図14において点線1341に示されるように、アプリケーションプロセッサ1331とビデオプロセッサ1332を、一体化し、1つのプロセッサとして構成されるようにしてもよい。
  外部メモリ1312は、ビデオモジュール1311の外部に設けられた、ビデオモジュール1311により利用される記憶デバイスを有するモジュールである。この外部メモリ1312の記憶デバイスは、どのような物理構成により実現するようにしてもよいが、一般的にフレーム単位の画像データのような大容量のデータの格納に利用されることが多いので、例えばDRAM(Dynamic Random Access Memory)のような比較的安価で大容量の半導体メモリにより実現するのが望ましい。
  パワーマネージメントモジュール1313は、ビデオモジュール1311(ビデオモジュール1311内の各構成)への電力供給を管理し、制御する。
  フロントエンドモジュール1314は、RFモジュール1334に対してフロントエンド機能(アンテナ側の送受信端の回路)を提供するモジュールである。図14に示されるように、フロントエンドモジュール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は、本開示を適用したセットとして実施することができる。
 (ビデオプロセッサの構成例)
  図15は、本開示を適用したビデオプロセッサ1332(図14)の概略的な構成の一例を示している。
  図15の例の場合、ビデオプロセッサ1332は、ビデオ信号およびオーディオ信号の入力を受けてこれらを所定の方式で符号化する機能と、符号化されたビデオデータおよびオーディオデータを復号し、ビデオ信号およびオーディオ信号を再生出力する機能とを有する。
  図15に示されるように、ビデオプロセッサ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(図14)等から入力されたビデオ信号を取得し、デジタル画像データに変換する。第1画像拡大縮小部1402は、画像データに対してフォーマット変換や画像の拡大縮小処理等を行う。第2画像拡大縮小部1403は、画像データに対して、ビデオ出力処理部1404を介して出力する先でのフォーマットに応じて画像の拡大縮小処理を行ったり、第1画像拡大縮小部1402と同様のフォーマット変換や画像の拡大縮小処理等を行ったりする。ビデオ出力処理部1404は、画像データに対して、フォーマット変換やアナログ信号への変換等を行って、再生されたビデオ信号として例えばコネクティビティ1321(図14)等に出力する。
  フレームメモリ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(図14)等から入力されたオーディオ信号を例えばデジタル変換し、例えばMPEGオーディオ方式やAC3(AudioCode number 3)方式等の所定の方式で符号化する。オーディオエンコーダ1410は、オーディオ信号が符号化されたデータであるオーディオストリームをオーディオESバッファ1409Aに順次書き込む。オーディオデコーダ1411は、オーディオESバッファ1409Bから供給されたオーディオストリームを復号し、例えばアナログ信号への変換等を行って、再生されたオーディオ信号として例えばコネクティビティ1321(図14)等に供給する。
  多重化部(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等(いずれも図14)から供給されたトランスポートストリームを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。また、例えば、逆多重化部(DMUX)1413は、例えばコネクティビティ1321により(図14)各種記録媒体から読み出されたファイルデータを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。
  ストリームバッファ1414は、ビットストリームをバッファリングする。例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図14)等に供給する。
  また、例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ1321(図14)等に供給し、各種記録媒体に記録させる。
  さらに、ストリームバッファ1414は、例えばコネクティビティ1321やブロードバンドモデム1333等(いずれも図14)を介して取得したトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
  また、ストリームバッファ1414は、例えばコネクティビティ1321(図14)等において各種記録媒体から読み出されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
  次に、このような構成のビデオプロセッサ1332の動作の例について説明する。例えば、コネクティビティ1321(図14)等からビデオプロセッサ1332に入力されたビデオ信号は、ビデオ入力処理部1401において4:2:2Y/Cb/Cr方式等の所定の方式のデジタル画像データに変換され、フレームメモリ1405に順次書き込まれる。このデジタル画像データは、第1画像拡大縮小部1402または第2画像拡大縮小部1403に読み出されて、4:2:0Y/Cb/Cr方式等の所定の方式へのフォーマット変換および拡大縮小処理が行われ、再びフレームメモリ1405に書き込まれる。この画像データは、エンコード・デコードエンジン1407によって符号化され、ビデオストリームとしてビデオESバッファ1408Aに書き込まれる。
  また、コネクティビティ1321(図14)等からビデオプロセッサ1332に入力されたオーディオ信号は、オーディオエンコーダ1410によって符号化され、オーディオストリームとして、オーディオESバッファ1409Aに書き込まれる。
  ビデオESバッファ1408Aのビデオストリームと、オーディオESバッファ1409Aのオーディオストリームは、多重化部(MUX)1412に読み出されて多重化され、トランスポートストリーム若しくはファイルデータ等に変換される。多重化部(MUX)1412により生成されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図14)等を介して外部ネットワークに出力される。また、多重化部(MUX)1412により生成されたファイルデータは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321(図14)等に出力され、各種記録媒体に記録される。
  また、例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図14)等を介して外部ネットワークからビデオプロセッサ1332に入力されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、逆多重化部(DMUX)1413により逆多重化される。また、例えばコネクティビティ1321(図14)等において各種記録媒体から読み出され、ビデオプロセッサ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が、第1乃至第3実施の形態に係る符号化装置や復号装置の機能を有するようにすればよい。このようにすることにより、ビデオプロセッサ1332は、図1乃至図8を参照して上述した効果と同様の効果を得ることができる。
  なお、エンコード・デコードエンジン1407において、本開示(すなわち、上述した各実施形態に係る符号化装置や復号装置の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
 (ビデオプロセッサの他の構成例)
  図16は、本開示を適用したビデオプロセッサ1332(図14)の概略的な構成の他の例を示している。図16の例の場合、ビデオプロセッサ1332は、ビデオデータを所定の方式で符号化・復号する機能を有する。
  より具体的には、図16に示されるように、ビデオプロセッサ1332は、制御部1511、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、および内部メモリ1515を有する。また、ビデオプロセッサ1332は、コーデックエンジン1516、メモリインタフェース1517、多重化・逆多重化部(MUX DMUX)1518、ネットワークインタフェース1519、およびビデオインタフェース1520を有する。
  制御部1511は、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516等、ビデオプロセッサ1332内の各処理部の動作を制御する。
  図16に示されるように、制御部1511は、例えば、メインCPU1531、サブCPU1532、およびシステムコントローラ1533を有する。メインCPU1531は、ビデオプロセッサ1332内の各処理部の動作を制御するためのプログラム等を実行する。メインCPU1531は、そのプログラム等に従って制御信号を生成し、各処理部に供給する(つまり、各処理部の動作を制御する)。サブCPU1532は、メインCPU1531の補助的な役割を果たす。例えば、サブCPU1532は、メインCPU1531が実行するプログラム等の子プロセスやサブルーチン等を実行する。システムコントローラ1533は、メインCPU1531およびサブCPU1532が実行するプログラムを指定する等、メインCPU1531およびサブCPU1532の動作を制御する。
  ディスプレイインタフェース1512は、制御部1511の制御の下、画像データを例えばコネクティビティ1321(図14)等に出力する。例えば、ディスプレイインタフェース1512は、デジタルデータの画像データをアナログ信号に変換し、再生されたビデオ信号として、またはデジタルデータの画像データのまま、コネクティビティ1321(図14)のモニタ装置等に出力する。
  ディスプレイエンジン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は、複数の符号化・復号方式のコーデック機能を備え、その中から選択されたもので画像データの符号化若しくは符号化データの復号を行うようにしてもよい。
  図16に示される例において、コーデックエンジン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/H.264方式で符号化したり復号したりする機能ブロックである。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(いずれも図14)等向けのインタフェースである。ビデオインタフェース1520は、例えばコネクティビティ1321やカメラ1322(いずれも図14)等向けのインタフェースである。
  次に、このようなビデオプロセッサ1332の動作の例について説明する。例えば、コネクティビティ1321やブロードバンドモデム1333(いずれも図14)等を介して外部ネットワークからトランスポートストリームを受信すると、そのトランスポートストリームは、ネットワークインタフェース1519を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、例えば、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321(図14)等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてファイルデータに変換され、ビデオインタフェース1520を介して例えばコネクティビティ1321(図14)等に出力され、各種記録媒体に記録される。
  さらに、例えば、コネクティビティ1321(図14)等により図示せぬ記録媒体から読み出された、画像データが符号化された符号化データのファイルデータは、ビデオインタフェース1520を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321(図14)等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてトランスポートストリームに変換され、ネットワークインタフェース1519を介して例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図14)等に供給され図示せぬ他の装置に伝送される。
  なお、ビデオプロセッサ1332内の各処理部の間での画像データやその他のデータの授受は、例えば、内部メモリ1515や外部メモリ1312を利用して行われる。また、パワーマネージメントモジュール1313は、例えば制御部1511への電力供給を制御する。
  このように構成されるビデオプロセッサ1332に本開示を適用する場合、コーデックエンジン1516に、上述した各実施形態に係る本開示を適用すればよい。つまり、例えば、コーデックエンジン1516が、第1乃至第3実施の形態に係る符号化装置や復号装置を実現する機能ブロックを有するようにすればよい。コーデックエンジン1516が、このようにすることにより、ビデオプロセッサ1332は、図1乃至図8を参照して上述した効果と同様の効果を得ることができる。
  なお、コーデックエンジン1516において、本開示(すなわち、上述した各実施形態に係る符号化装置や復号装置の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
  以上にビデオプロセッサ1332の構成を2例示したが、ビデオプロセッサ1332の構成は任意であり、上述した2例以外のものであってもよい。また、このビデオプロセッサ1332は、1つの半導体チップとして構成されるようにしてもよいが、複数の半導体チップとして構成されるようにしてもよい。例えば、複数の半導体を積層する3次元積層LSIとしてもよい。また、複数のLSIにより実現されるようにしてもよい。
 (装置への適用例)
  ビデオセット1300は、画像データを処理する各種装置に組み込むことができる。例えば、ビデオセット1300は、テレビジョン装置900(図10)、携帯電話機920(図11)、記録再生装置940(図12)、撮像装置960(図13)等に組み込むことができる。ビデオセット1300を組み込むことにより、その装置は、図1乃至図8を参照して上述した効果と同様の効果を得ることができる。
  なお、上述したビデオセット1300の各構成の一部であっても、ビデオプロセッサ1332を含むものであれば、本開示を適用した構成として実施することができる。例えば、ビデオプロセッサ1332のみを本開示を適用したビデオプロセッサとして実施することができる。また、例えば、上述したように点線1341により示されるプロセッサやビデオモジュール1311等を本開示を適用したプロセッサやモジュール等として実施することができる。さらに、例えば、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、およびフロントエンドモジュール1314を組み合わせ、本開示を適用したビデオユニット1361として実施することもできる。いずれの構成の場合であっても、図1乃至図8を参照して上述した効果と同様の効果を得ることができる。
  つまり、ビデオプロセッサ1332を含むものであればどのような構成であっても、ビデオセット1300の場合と同様に、画像データを処理する各種装置に組み込むことができる。例えば、ビデオプロセッサ1332、点線1341により示されるプロセッサ、ビデオモジュール1311、または、ビデオユニット1361を、テレビジョン装置900(図10)、携帯電話機920(図11)、記録再生装置940(図12)、撮像装置960(図13)等に組み込むことができる。そして、本開示を適用したいずれかの構成を組み込むことにより、その装置は、ビデオセット1300の場合と同様に、図1乃至図8を参照して上述した効果と同様の効果を得ることができる。
 なお、本明細書では、各種情報が、符号化データに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化データに多重化されることなく、符号化データと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライスやブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、符号化データとは別の伝送路上で伝送されてもよい。また、情報は、符号化データとは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と符号化データとは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
 本開示は、MPEG,H.26x等のように、離散コサイン変換等の直交変換と動き補償によって圧縮されたビットストリームを、衛星放送、ケーブルTV、インターネット、携帯電話などのネットワークメディアを介して受信する際、または光、磁気ディスク、フラッシュメモリのような記憶メディア上で処理する際に用いられる符号化装置や復号装置に適用することができる。
 また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 さらに、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
 また、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、本開示は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 本開示は、以下のような構成もとることができる。
 (1)
 画面内の相関性を利用した予測に用いられるカレントブロックの動きベクトルを、前記カレントブロックの周辺画素が前記カレントブロックの前記予測に用いられないように制限する制限部
 を備える画像処理装置。
 (2)
 前記制限部により制限された前記動きベクトルに基づいて、前記カレントブロックを含む画面内の前記周辺画素を含まない参照範囲を用いて前記予測を行う予測部
 をさらに備える
 前記(1)に記載の画像処理装置。
 (3)
 前記周辺画素は、前記カレントブロックの符号化時にまだ符号化されていない前記画面内の領域との水平方向または垂直方向の距離が所定の範囲内である画素である
 ように構成された
 前記(2)に記載の画像処理装置。
 (4)
 前記予測部は、デブロックフィルタ処理およびSAO(Sample adaptive offset)処理後の前記参照範囲の画像を用いて前記予測を行う
 ように構成された
 前記(3)に記載の画像処理装置。
 (5)
 前記所定の範囲は、3画素以内である
 ように構成された
 前記(4)に記載の画像処理装置。
 (6)
 前記所定の範囲は、4の倍数の画素以内である
 ように構成された
 前記(3)に記載の画像処理装置。
 (7)
 前記カレントブロックは、CU(Coding Unit)である
 ように構成された
 前記(1)乃至(6)のいずれかに記載の画像処理装置。
 (8)
 画像処理装置が、
 画面内の相関性を利用した予測に用いられるカレントブロックの動きベクトルを、前記カレントブロックの周辺画素が前記カレントブロックの前記予測に用いられないように制限する制限ステップ
 を含む画像処理方法。
 70 符号化装置, 101 制限部, 103 予測部

Claims (8)

  1.  画面内の相関性を利用した予測に用いられるカレントブロックの動きベクトルを、前記カレントブロックの周辺画素が前記カレントブロックの前記予測に用いられないように制限する制限部
     を備える画像処理装置。
  2.  前記制限部により制限された前記動きベクトルに基づいて、前記カレントブロックを含む画面内の前記周辺画素を含まない参照範囲を用いて前記予測を行う予測部
     をさらに備える
     請求項1に記載の画像処理装置。
  3.  前記周辺画素は、前記カレントブロックの符号化時にまだ符号化されていない前記画面内の領域との水平方向または垂直方向の距離が所定の範囲内である画素である
     ように構成された
     請求項2に記載の画像処理装置。
  4.  前記予測部は、デブロックフィルタ処理およびSAO(Sample adaptive offset)処理後の前記参照範囲の画像を用いて前記予測を行う
     ように構成された
     請求項3に記載の画像処理装置。
  5.  前記所定の範囲は、3画素以内である
     ように構成された
     請求項4に記載の画像処理装置。
  6.  前記所定の範囲は、4の倍数の画素以内である
     ように構成された
     請求項3に記載の画像処理装置。
  7.  前記カレントブロックは、CU(Coding Unit)である
     ように構成された
     請求項1に記載の画像処理装置。
  8.  画像処理装置が、
     画面内の相関性を利用した予測に用いられるカレントブロックの動きベクトルを、前記カレントブロックの周辺画素が前記カレントブロックの前記予測に用いられないように制限する制限ステップ
     を含む画像処理方法。
PCT/JP2016/065390 2015-06-05 2016-05-25 画像処理装置および画像処理方法 WO2016194721A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2017521852A JP6711353B2 (ja) 2015-06-05 2016-05-25 画像処理装置および画像処理方法
US15/575,836 US11140400B2 (en) 2015-06-05 2016-05-25 Image processing apparatus and image processing method for intra BC prediction
CN201680030966.7A CN107683606B (zh) 2015-06-05 2016-05-25 图像处理装置和图像处理方法
KR1020177031859A KR20180016348A (ko) 2015-06-05 2016-05-25 화상 처리 장치 및 화상 처리 방법
EP16803156.5A EP3306925B1 (en) 2015-06-05 2016-05-25 Image processing device and image processing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015114915 2015-06-05
JP2015-114915 2015-06-05

Publications (1)

Publication Number Publication Date
WO2016194721A1 true WO2016194721A1 (ja) 2016-12-08

Family

ID=57440967

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/065390 WO2016194721A1 (ja) 2015-06-05 2016-05-25 画像処理装置および画像処理方法

Country Status (6)

Country Link
US (1) US11140400B2 (ja)
EP (1) EP3306925B1 (ja)
JP (1) JP6711353B2 (ja)
KR (1) KR20180016348A (ja)
CN (1) CN107683606B (ja)
WO (1) WO2016194721A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11700391B2 (en) * 2017-05-18 2023-07-11 Hfi Innovation Inc. Method and apparatus of motion vector constraint for video coding
WO2019187096A1 (ja) * 2018-03-30 2019-10-03 株式会社ソシオネクスト 復号方法、復号装置、符号化装置及びプログラム
CN113366848A (zh) * 2019-02-02 2021-09-07 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的缓冲区重置
CN113508597B (zh) 2019-03-01 2023-11-21 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的基于方向的预测
BR112022000358A2 (pt) 2019-07-10 2022-05-10 Beijing Bytedance Network Tech Co Ltd Método e aparelho para processar dados de vídeo e meios de armazenamento e gravação não transitórios legíveis por computador
US20230061216A1 (en) * 2021-08-25 2023-03-02 Tencent America LLC Intra block copy with an adaptive local reference range

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014050695A1 (ja) * 2012-09-28 2014-04-03 ソニー株式会社 画像処理装置および方法
WO2014050948A1 (ja) * 2012-09-28 2014-04-03 シャープ株式会社 画像復号装置及び画像符号化装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2012327672B2 (en) * 2011-10-24 2015-09-03 Hfi Innovation Inc. Method and apparatus for non-cross-tile loop filtering
US10015515B2 (en) 2013-06-21 2018-07-03 Qualcomm Incorporated Intra prediction from a predictive block
US20150071357A1 (en) * 2013-09-12 2015-03-12 Qualcomm Incorporated Partial intra block copying for video coding
AU2013403224B2 (en) 2013-10-14 2018-10-18 Microsoft Technology Licensing, Llc Features of intra block copy prediction mode for video and image coding and decoding
US10477232B2 (en) * 2014-03-21 2019-11-12 Qualcomm Incorporated Search region determination for intra block copy in video coding
WO2016048834A1 (en) * 2014-09-26 2016-03-31 Vid Scale, Inc. Intra block copy coding with temporal block vector prediction
RU2679201C2 (ru) * 2014-09-30 2019-02-06 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Правила для режимов внутрикадрового прогнозирования, когда активируется волновая параллельная обработка данных
US10212445B2 (en) * 2014-10-09 2019-02-19 Qualcomm Incorporated Intra block copy prediction restrictions for parallel processing
US10306246B2 (en) * 2015-02-13 2019-05-28 Mediatek Inc. Method and apparatus of loop filters for efficient hardware implementation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014050695A1 (ja) * 2012-09-28 2014-04-03 ソニー株式会社 画像処理装置および方法
WO2014050948A1 (ja) * 2012-09-28 2014-04-03 シャープ株式会社 画像復号装置及び画像符号化装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
RAPAKA, KRISHNA ET AL.: "On parallel processing capability of intra block copy", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP3 AND ISO/IEC JTC1/ SC29/WG11 JCTVC-S0220R1, 24 October 2014 (2014-10-24), pages 1 - 9, XP030117009 *

Also Published As

Publication number Publication date
CN107683606B (zh) 2021-11-05
EP3306925A4 (en) 2019-01-02
JPWO2016194721A1 (ja) 2018-03-22
JP6711353B2 (ja) 2020-06-17
US11140400B2 (en) 2021-10-05
KR20180016348A (ko) 2018-02-14
EP3306925A1 (en) 2018-04-11
CN107683606A (zh) 2018-02-09
US20180124411A1 (en) 2018-05-03
EP3306925B1 (en) 2019-09-18

Similar Documents

Publication Publication Date Title
US20230224459A1 (en) Image encoding device and method, and image decoding device and method
US20210218983A1 (en) Image processing apparatus and image processing method
JP6287035B2 (ja) 復号装置および復号方法
JP6711353B2 (ja) 画像処理装置および画像処理方法
WO2015053116A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
WO2015163146A1 (ja) 符号化装置および符号化方法
WO2015098559A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
KR102338669B1 (ko) 화상 처리 장치 및 방법, 및 기록 매체
JP6477930B2 (ja) 符号化装置および符号化方法
WO2016199574A1 (ja) 画像処理装置および画像処理方法
JP6402802B2 (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: 16803156

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2016803156

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2017521852

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 20177031859

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15575836

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE