Nothing Special   »   [go: up one dir, main page]

WO2016140090A1 - 画像符号化装置および方法 - Google Patents

画像符号化装置および方法 Download PDF

Info

Publication number
WO2016140090A1
WO2016140090A1 PCT/JP2016/055042 JP2016055042W WO2016140090A1 WO 2016140090 A1 WO2016140090 A1 WO 2016140090A1 JP 2016055042 W JP2016055042 W JP 2016055042W WO 2016140090 A1 WO2016140090 A1 WO 2016140090A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
unit
prediction mode
encoding
picture
Prior art date
Application number
PCT/JP2016/055042
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 US15/551,830 priority Critical patent/US10893276B2/en
Priority to JP2017503424A priority patent/JP6648753B2/ja
Publication of WO2016140090A1 publication Critical patent/WO2016140090A1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters

Definitions

  • the present disclosure relates to an image encoding apparatus and method, and more particularly, to an image encoding apparatus and method capable of improving encoding speed while maintaining image quality.
  • HEVC High Efficiency Video Coding
  • HEVC High Efficiency Video Coding
  • the encoding device uses the bit generation amount multiplied by a weighting factor (which depends on the quantization parameter Qp) and the distortion amount as the prediction mode cost. Is selected considering the optimal prediction mode.
  • Patent Document 1 H. A reduction in the amount of calculation for prediction mode selection in the case of H.264 and MPEG-4 Part 10 (Advanced Video Coding, hereinafter referred to as AVC) has been proposed.
  • the present disclosure has been made in view of such a situation, and can improve the encoding speed while maintaining the image quality.
  • An image encoding device provides a prediction used when an image is encoded in a state where types of prediction modes to be selected are limited according to a picture depth indicating a reference relationship between pictures of the image.
  • a setting unit configured to set a mode; and an encoding unit configured to encode the image for each encoded block recursively divided according to the prediction mode set by the setting unit.
  • the setting unit can set a prediction mode used when encoding an image in a state where a prediction mode having a small block size is selected.
  • the setting unit can set a prediction mode used when encoding an image in a state where the intra prediction mode is limited.
  • the setting unit can set a prediction mode used when encoding an image in a state where a prediction mode to be selected is limited according to the picture type of the image.
  • the setting unit can set a prediction mode used when encoding an image in a state where the intra prediction mode is selected when the picture type of the image is an I picture.
  • the setting unit can set a prediction mode used when encoding the image in a state where the inter prediction mode is selected.
  • the setting unit can set a prediction mode used when encoding an image in a state where a prediction mode to be selected is limited according to a quantization parameter used when encoding the image.
  • the setting unit can set a prediction mode used when encoding an image in a state where a prediction mode having a large block size is selected.
  • the setting unit can change the correspondence between the picture depth and the prediction mode to be selected according to the statistical information of the image.
  • the setting unit can change the correspondence relationship between the picture depth and the prediction mode to be selected for each CTB (Coding Tree Block) that is a starting point when the encoded block is recursively divided.
  • CTB Coding Tree Block
  • the statistical information of the image is dispersion information or motion information of the image.
  • the setting unit can change the correspondence between the picture depth and the prediction mode to be selected according to the application.
  • the setting unit can change the number of prediction modes to be selected according to the application.
  • the setting unit can change the type of prediction mode to be selected according to the application.
  • the image processing apparatus further includes a memory that stores a correspondence relationship between the picture depth and a prediction mode to be selected in a table format, and the setting unit sets a prediction mode using the table stored in the memory.
  • a learning unit that learns a limited prediction mode pattern according to the prediction mode set by the setting unit, and the setting unit sets the prediction mode according to the pattern learned by the learning unit.
  • the learning unit learns a limited prediction mode pattern according to the picture depth of the image or the picture type of the image.
  • an image encoding device encodes an image in a state where types of prediction modes to be selected are limited according to a picture depth indicating a reference relationship between pictures of the image.
  • a prediction mode used for conversion is set, and the image is encoded for each encoded block recursively divided according to the set prediction mode.
  • a prediction mode used when encoding an image is set in a state where the types of prediction modes to be selected are limited according to a picture depth indicating a reference relationship between pictures of the image. Then, according to the set prediction mode, the image is encoded for each encoded block that is recursively divided.
  • image encoding device may be an independent image processing device or may be an internal block constituting one image encoding device.
  • an image can be encoded.
  • the encoding speed can be improved while maintaining the image quality.
  • FIG. 1 It is a figure which shows the structural example of one Embodiment of a cloud computing system. It is a block diagram which shows the other structural example of a mode table setting part. 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.
  • AVC Block division
  • HEVC High Efficiency Video Coding
  • a CU Coding Unit
  • a CU is a block having a variable size, which is formed by recursively dividing a maximum coding unit (LCU).
  • LCU maximum coding unit
  • the maximum selectable CU size is 64 ⁇ 64 pixels.
  • the minimum selectable CU size is 8 ⁇ 8 pixels.
  • the minimum size CU is called (SCU: Smallest Coding Unit).
  • Prediction processing for predictive coding is executed in a processing unit called a prediction unit (PU).
  • the PU is formed by dividing the CU by one of several division patterns.
  • the orthogonal transformation process is executed in a processing unit called a transform unit (TU).
  • a TU is formed by dividing a CU or PU to a certain depth.
  • FIG. 1 is an explanatory diagram for explaining an outline of recursive block division for a CU in HEVC.
  • An entire quadtree is called a CTB (Coding Tree Block), and a logical unit corresponding to the CTB is called a CTU (Coding Tree Unit).
  • C01 which is a CU having a size of 64 ⁇ 64 pixels
  • the division depth of C01 is equal to zero. This means that C01 is the root of the CTU and corresponds to the LCU.
  • the LCU size can be specified by a parameter encoded in SPS (Sequence Parameter Set) or PPS (Picture Parameter Set).
  • C02 which is a CU, is one of four CUs divided from C01 and has a size of 32 ⁇ 32 pixels.
  • the division depth of C02 is equal to 1.
  • C03 which is a CU, is one of the four CUs divided from C02 and has a size of 16 ⁇ 16 pixels.
  • the division depth of C03 is equal to 2.
  • C04 which is a CU, is one of the four CUs divided from C03, and has a size of 8 ⁇ 8 pixels.
  • the division depth of C04 is equal to 3.
  • the CU is formed by recursively dividing an image to be encoded.
  • the depth of division is variable. For example, a CU having a larger size (that is, a smaller depth) can be set in a flat image region such as a blue sky. On the other hand, a CU having a smaller size (that is, having a large depth) can be set in a steep image area including many edges.
  • Each set CU is a processing unit of the encoding process.
  • FIG. 2 is an explanatory diagram for describing setting of a PU to the CU illustrated in FIG.
  • the right side of FIG. 2 shows 8 types of division patterns: 2N ⁇ 2N, 2N ⁇ N, N ⁇ 2N, N ⁇ N, 2N ⁇ nU, 2N ⁇ nD, nL ⁇ 2N, and nR ⁇ 2N. .
  • these division patterns two types of 2N ⁇ 2N and N ⁇ N can be selected in intra prediction (N ⁇ N can be selected only in the SCU).
  • the inter prediction when the asymmetric motion division is enabled, all eight types of division patterns can be selected.
  • FIG. 3 is an explanatory diagram for explaining the setting of the TU in the CU shown in FIG.
  • the right side of FIG. 3 shows one or more TUs that can be set to C02.
  • T01 which is a TU
  • T02 which is a TU
  • T03 has a size of 16 ⁇ 16 pixels
  • the depth of the TU division is equal to 2.
  • the block division to be performed in order to set the blocks such as CU, PU, and TU described above to an image is typically determined based on a cost comparison that affects coding efficiency. For example, the encoder compares the cost between one 2M ⁇ 2M pixel CU and four M ⁇ M pixel CUs, and if four M ⁇ M pixel CUs are set, the encoding efficiency is higher. For example, it is determined to divide a 2M ⁇ 2M pixel CU into four M ⁇ M pixel CUs.
  • the types of block sizes that can be selected in HEVC are much larger than the conventional image coding schemes.
  • the fact that there are many types of block sizes that can be selected means that there are many combinations of block sizes whose costs should be compared in order to search for an optimum block size.
  • the block size of a macroblock (which is a processing unit of encoding processing) in AVC is limited to 16 ⁇ 16 pixels.
  • the block size of the prediction block in AVC was variable, but the upper limit of the size was 16 ⁇ 16 pixels.
  • the block size of the transform block in AVC was 4 ⁇ 4 pixels or 8 ⁇ 8 pixels.
  • FIG. 4 is an explanatory diagram for explaining the scanning order of the CU / PU.
  • C10, C11, C12, and C13 which are four CUs that can be included in one CTB, are shown.
  • the numbers in the frame of each CU express the order of processing.
  • the encoding process is executed in the order of C10 which is the upper left CU, C11 which is the upper right CU, C12 which is the lower left CU, and C13 which is the lower right CU.
  • the right side of FIG. 4 shows one or more PUs for inter prediction that can be set to C11 which is a CU.
  • one or more PUs for intra prediction that can be set to C12 which is a CU are shown.
  • the PUs are also scanned from left to right and from top to bottom. If one block is divided into more sub-blocks, the number of sub-blocks to be scanned in series increases, resulting in a tight processing circuit clock and an increased number of memory accesses. Thus, block partitioning into smaller blocks can also cause an increase in encoder performance requirements.
  • FIG. 5 is an explanatory diagram for describing reference of adjacent PUs in inter prediction processing.
  • two PUs, P10 and P11 are set in the current CU.
  • P11 which is a PU is a current PU.
  • the motion vectors set in the left adjacent blocks N A0 and N A1 and the upper adjacent blocks N B0 , N B1 and N B2 are referred to as predicted motion vector candidates. Is done. Therefore, the inter prediction process for P11, which is the PU, is executed after waiting for the end of the inter prediction process for the upper and left adjacent blocks.
  • FIG. 6 is an explanatory diagram for explaining reference to adjacent PUs in the intra prediction process.
  • PU P21 is the current PU.
  • Pixel PX11 is a pixel belonging to PU P11.
  • the pixels q0 to q6 are reference pixels belonging to the upper adjacent PU
  • the pixels r1 to r6 are reference pixels belonging to the left adjacent PU.
  • the prediction pixel value of the pixel PX11 in intra DC prediction is equal to the average of the pixel values of the reference pixels q1, q2, q3, q4, r1, r2, r3, and r4.
  • the reference relationship between blocks described with reference to FIGS. 5 and 6 is also a factor of an increase in the performance requirement of the encoder when one block is divided into more blocks.
  • the processing circuit clock may become tight as a result of the inability to start processing of the current block until the end of processing of adjacent blocks.
  • the number of accesses to the buffer that holds the pixel value of the adjacent block can depend on the number of times the reference pixel is used.
  • Mode selection By the way, in the AVC and HEVC encoding schemes, selection of an appropriate prediction mode is important to achieve higher encoding efficiency.
  • JM Job Model
  • JM JM
  • High Complexity Mode Low Complexity Mode.
  • a cost function value for each prediction mode Mode is calculated, and a prediction mode that minimizes the cost function value is selected as the optimum mode for the block or macroblock.
  • is the entire set of candidate modes for encoding the block or macroblock
  • D is the difference energy between the decoded image and the input image when encoded in the prediction mode.
  • is a Lagrange undetermined multiplier given as a function of the quantization parameter.
  • R is the total code amount when encoding is performed in this mode, including orthogonal transform coefficients.
  • D is the difference energy between the predicted image and the input image, unlike the case of High Complexity Mode.
  • Qp2Quant QP
  • HeaderBit is a code amount related to information belonging to Header, such as a motion vector and mode, which does not include an orthogonal transform coefficient.
  • the motion compensation processing in HEVC can perform motion compensation processing with 1/4 pixel accuracy for luminance signals and 1/8 pixel accuracy for color difference signals.
  • a 6-tap filter is used for the luminance signal and the color difference signal is subjected to motion compensation by linear interpolation
  • the luminance signal is 8 or 7 taps
  • the color difference signal is 4 Motion compensation is performed by a tap filter. That is, in HEVC, in addition to the tap length being longer than AVC, the calculation accuracy is improved to 16 bits.
  • a horizontal and vertical product-sum operation is performed instead of performing a two-stage process such as performing a horizontal product-sum operation and performing a rounding process, and performing a vertical product-sum operation and performing a rounding process. Thereafter, the rounding process is performed only once, thereby reducing calculation errors and realizing higher encoding efficiency.
  • asymmetric division in addition to the motion compensation partition by symmetrical division (single CU is divided into PU shapes of equal size vertically or horizontally), asymmetric division (single CU is not vertically or horizontally It is also possible to use a motion compensation partition by dividing it into PU shapes of equal size, thereby further improving the coding efficiency.
  • FIG. 7 is a diagram illustrating a difference in intra prediction between AVC and HEVC.
  • HEVC in order to use the correlation between adjacent pixels to improve the compression rate, intra prediction encoding using decoded pixel values is performed.
  • prediction is performed in square TU units, and there are four sizes of 4 ⁇ 4, 8 ⁇ 8, 16 ⁇ 16, and 32 ⁇ 32.
  • HEVC in-screen prediction is improved in various ways compared to AVC in-screen prediction as follows.
  • the prediction efficiency is improved by noise removal, and the prediction efficiency is increased particularly in a place far from the reference pixels.
  • a special filtering process for enhancing the visual quality of gradation area coding is performed depending on conditions.
  • the AVC was 9 directions, whereas in HEVC, the 33 directions and the direction prediction can be specified more finely, and it is possible to predict with high efficiency even at subtle angles. is there.
  • the AVC intra-screen prediction block sizes were 4x4, 8x8, and 16x16, but HEVC also has 32x32 in addition to these.
  • the type of prediction is common to all block sizes.
  • an intra prediction mode number (predModeIntra) numbered from 0 to 34 is given for each PU by combining two non-directional predictions and 33 different directional predictions.
  • the TU is a square of the same size or smaller than the PU, and encoding / decoding and intra prediction are performed in units of TU.
  • the same predModeIntra is used for each TU in the PU.
  • Planar prediction predicted pixel values are generated smoothly using four reference pixel values.
  • the predicted pixel value of Planar prediction is expressed by the following equation (3).
  • FIG. 8 is a diagram for explaining Planar prediction.
  • p [N] [-1] is not at (N, y) but at (N + 1, y)
  • p [-1] [N] is ( The average of the values (o) obtained by linearly interpolating horizontally and vertically at the position (x, y) is regarded as an interpolation value.
  • the prediction image is created on the least square plane, but in the HEVC Planar prediction, the prediction image is a curved surface.
  • the predicted image is generated by filling the TU with an average value (dcVal) of reference pixels (2N) indicated by black circles in FIG.
  • the predicted pixel value of DC prediction is expressed by the following formula (4).
  • the pixels at the upper and left edges of the TU are the nearest reference images (black circles connected to the predicted pixels indicated by white circles in FIG. 9 by broken lines).
  • the change in the pixel value in the direction of the broken line can be reduced.
  • a prediction image is created with the reference pixel average value in the AVC DC prediction, but in the HEVC DC prediction, a process of making the part adjacent to the reference pixel familiar is added. It has been. In addition, it is deVal as it is except the edge.
  • FIG. 10 is a diagram illustrating predModeIntra and a reference direction.
  • predModeIntra 10
  • 13 refer to the slope of -9/32
  • the change in the x direction is -32
  • the change in the y direction is In the case of 22
  • it is a reference for the slope of 32/13 because the change in the x direction is -13 and the change in the y direction is -32).
  • the same coordinate system as in FIG. 9 is used.
  • the reference direction slope is 32/13, so if you move -3 in the y direction to the line with the reference pixel, it will be 13 in the x-axis direction.
  • / 32 * 3 39/32 shifts.
  • the pixel value at a position 25/32 away from (1, -1) and 7/32 away from (2, -1) (dotted circle in FIG. 11) is virtually obtained. End up.
  • this value is obtained by internal division calculation according to the distance from the reference pixel. That is, the following formula (6) is the predicted value in the screen at the position (3, 2). If the reference destination is an integer pixel position, the internal division calculation is not performed, and the reference pixel value at that position becomes the predicted value as it is.
  • HEVC has a very large number of prediction modes for AVC, and the amount of calculation has increased due to improvements to improve coding efficiency. Therefore, if the costs of all modes are calculated using the above-described equations (1) and (2), the amount of calculation becomes enormous, and for example, it can be used as an encoder for applications such as low delay and real time. It was difficult.
  • the encoding time can be reduced by simply limiting the number of candidate modes, but the encoding efficiency may be deteriorated.
  • Encoding efficiency is also called compression rate.
  • the encoding efficiency deteriorates, the size of the compressed data becomes large at the same image quality (corresponding to the above distortion amount (difference energy)). In this case, the image quality is degraded. Therefore, it is not desirable for the purpose of improving the image quality and reducing the data size.
  • a prediction mode used when encoding an image is set in a state where the types of prediction modes to be selected are limited according to the picture depth that is information indicating a reference relationship between image pictures. Is done. Then, according to the set prediction mode, the image is encoded for each encoded block obtained by recursively dividing.
  • FIG. 12 is a block diagram illustrating a configuration example of an embodiment of an encoding device to which the present technology is applied.
  • the encoding device 12 includes an A / D conversion unit 31, a screen rearrangement buffer 32, a calculation unit 33, an orthogonal transformation unit 34, a quantization unit 35, a lossless encoding unit 36, an accumulation buffer 37, and an inverse quantization unit. 38, an inverse orthogonal transform unit 39, and an addition unit 40.
  • the encoding device 12 includes a filter 41, a frame memory 44, a switch 45, an intra prediction unit 46, a motion prediction / compensation unit 47, a predicted image selection unit 48, a rate control unit 49, and a mode table setting unit 50.
  • the A / D conversion unit 31 of the encoding device 12 performs A / D conversion on an image in frame units input as an encoding target.
  • the A / D conversion unit 31 outputs an image, which is a digital signal after conversion, to the screen rearrangement buffer 32 for storage.
  • the screen rearrangement buffer 32 rearranges the stored frame-by-frame images in the order for encoding according to the GOP structure.
  • the screen rearrangement buffer 32 outputs the rearranged image to the calculation unit 33, the intra prediction unit 46, the motion prediction / compensation unit 47, and the mode table setting unit 50. Further, the screen rearrangement buffer 32 stores the picture type of the image as information indicating the picture type (including the slice type) of the image and the reference relationship between the images as information on the type of the image. Output.
  • the calculation unit 33 performs encoding by subtracting the prediction image supplied from the prediction image selection unit 48 from the image supplied from the screen rearrangement buffer 32.
  • the calculation unit 33 outputs the image obtained as a result to the orthogonal transform unit 34 as residual information (difference).
  • the calculation unit 33 outputs the image read from the screen rearrangement buffer 32 as it is to the orthogonal transform unit 34 as residual information.
  • the orthogonal transform unit 34 performs orthogonal transform processing on the residual information from the calculation unit 33 in units of TUs.
  • the orthogonal transformation unit 34 supplies the orthogonal transformation processing result after the orthogonal transformation processing to the quantization unit 35.
  • the quantization unit 35 quantizes the orthogonal transformation processing result supplied from the orthogonal transformation unit 34.
  • the quantization unit 35 supplies the quantized value obtained as a result of the quantization to the lossless encoding unit 36.
  • the lossless encoding unit 36 acquires information indicating the optimal intra prediction mode (hereinafter referred to as intra prediction mode information) from the intra prediction unit 46. Further, the lossless encoding unit 36 acquires information indicating the optimal inter prediction mode (hereinafter referred to as inter prediction mode information), a motion vector, information specifying a reference image, and the like from the motion prediction / compensation unit 47. Further, the lossless encoding unit 36 acquires offset filter information regarding the offset filter from the filter 41.
  • the lossless encoding unit 36 performs lossless encoding such as variable length encoding or arithmetic encoding on the quantization value supplied from the quantization unit 35.
  • the lossless encoding unit 36 performs lossless encoding of intra prediction mode information, inter prediction mode information, information specifying a motion vector, a reference image, offset filter information, and the like as encoding information related to encoding. .
  • the lossless encoding unit 36 supplies the encoded information and the quantized value, which are losslessly encoded, to the accumulation buffer 37 as encoded data, and accumulates them.
  • the losslessly encoded information may be header information (for example, a slice header) of a losslessly encoded quantization value.
  • the accumulation buffer 37 temporarily stores the encoded data supplied from the lossless encoding unit 36.
  • the accumulation buffer 37 supplies the stored encoded data to the transmission unit 13 as an encoded stream.
  • the quantized value output from the quantizing unit 35 is also input to the inverse quantizing unit 38.
  • the inverse quantization unit 38 inversely quantizes the quantized value.
  • the inverse quantization unit 38 supplies the orthogonal transform processing result obtained as a result of the dequantization to the inverse orthogonal transform unit 39.
  • the inverse orthogonal transform unit 39 performs an inverse orthogonal transform process on the orthogonal transform processing result supplied from the inverse quantization unit 38 in units of TUs.
  • inverse orthogonal transform for example, there are IDCT (Inverse Discrete Cosine Transform) and IDST (Inverse Discrete Sine Transform).
  • IDCT Inverse Discrete Cosine Transform
  • IDST Inverse Discrete Sine Transform
  • the addition unit 40 adds the residual information supplied from the inverse orthogonal transform unit 39 and the prediction image supplied from the prediction image selection unit 48, and performs decoding.
  • the adder 40 supplies the decoded image to the filter 41 and the frame memory 44.
  • the filter 41 performs a filtering process on the decoded image supplied from the adding unit 40. Specifically, the filter 41 sequentially performs a deblocking filter process and an adaptive offset filter (SAO (Sample-adaptive-offset)) process.
  • the filter 41 supplies the encoded picture after the filter process to the frame memory 44. Also, the filter 41 supplies information indicating the type and offset of the adaptive offset filter processing performed to the lossless encoding unit 36 as offset filter information.
  • the frame memory 44 stores the image supplied from the filter 41 and the image supplied from the adder 40.
  • An image adjacent to a PU (Prediction unit) among the images not subjected to the filter processing accumulated in the frame memory 44 is supplied to the intra prediction unit 46 via the switch 45 as a peripheral image.
  • the filtered image stored in the frame memory 44 is output to the motion prediction / compensation unit 47 via the switch 45 as a reference image.
  • the intra prediction unit 46 performs intra prediction processing for all candidate intra prediction modes using peripheral images read from the frame memory 44 via the switch 45 in units of PUs.
  • the intra prediction unit 46 can be used as indicated by information supplied from the mode table setting unit 50 based on the image read from the screen rearrangement buffer 32 and the predicted image generated as a result of the intra prediction process. A cost function value (details will be described later) is calculated for a certain intra prediction mode. Then, the intra prediction unit 46 determines the intra prediction mode that minimizes the cost function value as the optimal intra prediction mode.
  • the intra prediction unit 46 supplies the predicted image generated in the optimal intra prediction mode and the corresponding cost function value to the predicted image selection unit 48.
  • the intra prediction unit 46 supplies the intra prediction mode information to the lossless encoding unit 36 when the prediction image selection unit 48 is notified of selection of a prediction image generated in the optimal intra prediction mode.
  • the intra prediction mode is a mode representing the PU size, prediction direction, and the like.
  • the motion prediction / compensation unit 47 performs a motion prediction / compensation process in an inter prediction mode that can be used as indicated by the information supplied from the mode table setting unit 50. Specifically, the motion prediction / compensation unit 47 is supplied from the mode table setting unit 50 based on the image supplied from the screen rearrangement buffer 32 and the reference image read from the frame memory 44 via the switch 45. The motion vector in the inter prediction mode that can be used indicated by the information is detected in units of PUs. Then, the motion prediction / compensation unit 47 performs compensation processing on the reference image in units of PUs based on the motion vector, and generates a predicted image.
  • the motion prediction / compensation unit 47 uses the inter prediction mode indicated by the information supplied from the mode table setting unit 50 based on the image supplied from the screen rearrangement buffer 32 and the predicted image. The cost function value is calculated, and the inter prediction mode that minimizes the cost function value is determined as the optimal inter prediction mode. Then, the motion prediction / compensation unit 47 supplies the cost function value of the optimal inter prediction mode and the corresponding prediction image to the prediction image selection unit 48.
  • the motion prediction / compensation unit 47 when notified of the selection of the predicted image generated in the optimal inter prediction mode from the predicted image selection unit 48, specifies the inter prediction mode information, the corresponding motion vector, and the reference image. Are output to the lossless encoding unit 36.
  • the inter prediction mode is a mode that represents the size of the PU and the like.
  • the predicted image selection unit 48 Based on the cost function values supplied from the intra prediction unit 46 and the motion prediction / compensation unit 47, the predicted image selection unit 48 has a smaller corresponding cost function value of the optimal intra prediction mode and the optimal inter prediction mode. Are determined as the optimum prediction mode. Then, the predicted image selection unit 48 supplies the predicted image in the optimal prediction mode to the calculation unit 33 and the addition unit 40. Further, the predicted image selection unit 48 notifies the intra prediction unit 46 or the motion prediction / compensation unit 47 of selection of the predicted image in the optimal prediction mode.
  • the rate control unit 49 controls the quantization operation rate of the quantization unit 35 based on the encoded data stored in the storage buffer 37 so that overflow or underflow does not occur. Further, the rate control unit 49 supplies the quantization parameter Qp to the mode table setting unit 50.
  • the mode table setting unit 50 can use any prediction mode and cannot use any prediction mode according to at least one of picture type and picture depth, statistical information, application, and quantization parameter Qp. Is shown (that is, the type of prediction mode to be selected is limited). In other words, these mode tables represent the correspondence between the above-described information and the prediction mode to be selected in a table format.
  • the mode table setting unit 50 performs a mode table selection process for each CTB, for example. Specifically, the mode table setting unit 50 calculates statistical information from the original image read from the screen rearrangement buffer 32, calculates the calculated statistical information, the picture type and the picture depth from the screen rearrangement buffer 32, and According to the quantization parameter Qp from the rate control unit 49, a mode table to be used is determined from among a plurality of mode tables, and usable prediction modes are determined. The mode table setting unit 50 supplies information on the determined usable prediction modes to the intra prediction unit 46 and the motion prediction / compensation unit 47. For example, if there is one usable prediction mode, the prediction mode of the CTB to be processed is determined thereto. That is, the prediction mode determined by the predicted image selection unit 48 is one of the usable prediction modes determined by the mode table setting unit 50.
  • FIG. 13 is a block diagram illustrating a configuration example of the mode table setting unit 50.
  • 13 is configured to include a statistical information calculation unit 61, a table selection unit 62, and a table storage unit 63.
  • the statistical information calculation unit 61 calculates statistical information from the original image read from the screen rearrangement buffer 32.
  • Statistical information includes, for example, Variance 64 ⁇ 64 and SAD 64 ⁇ 64. These are represented by the equations (10) and (11), respectively.
  • the statistical information is not limited to Variance 64 ⁇ 64 or SAD 64 ⁇ 64, but may be other information as long as it is statistical information that can estimate Complexity and motion.
  • TotalationVariation or MAD Mean Absolute Deviation: mean absolute deviation
  • the unit for obtaining statistical information is 64 ⁇ 64 as an example, but may be calculated in units of 8 ⁇ 8, 16 ⁇ 16, 32 ⁇ 32, or may be an average value in any unit. .
  • Examples of using statistical information include whether the area is a gradation area or a fast edge, depending on whether the picture type is I slice or whether the statistical information is larger or smaller than a predetermined threshold. It is determined whether it is an area or a normal area other than these areas, and a mode table corresponding to each area is selected.
  • the fast edge area refers to an area having a fast-moving edge such as a contour of a person passing by, for example, captured by a surveillance camera.
  • the slice is an I slice and the Variance is less than or equal to the threshold value Th_var_flat, it is determined to be a gradation area.
  • the SAD is not an I slice and the SAD is not less than the threshold Th_sao_low and not more than the threshold Th_sao_high (Th_sad_low ⁇ Th_sad_high) (that is, when there is a certain amount of movement)
  • the variation area is not more than the threshold Th_var_flat.
  • the SAD is not an I slice and the SAD is not less than the threshold Th_sao_low and not more than the threshold Th_sao_high (Th_sad_low ⁇ Th_sad_high) (that is, when there is a certain amount of movement)
  • the Variance is greater than the threshold Th_var_flat and not less than the threshold Th_var_edge_low
  • Th_var_edge_high that is, when there is a certain degree of complexity
  • Th_var_flat ⁇ Th_var_edge_low ⁇ Th_var_edge_high.
  • the SAD is other than the I slice and the SAD is smaller than the threshold Th_sao_low or larger than the threshold Th_sao_high (Th_sad_low ⁇ Th_sad_high), it is determined as a normal area.
  • the threshold Th_var_flat, the threshold Th_sad_low, the threshold Th_sad_high, the threshold Th_var_edge_low, and the threshold Th_var_edge_ are thresholds whose values change according to the quantization parameter Qp. This is a countermeasure for increasing the generation amount when Qp is large, and by doing so, the region is adjusted, so that the increase in generation amount when Qp is large can be suppressed.
  • a table considering the subjective image quality is selected as the corresponding table.
  • a table considering the maximum coding efficiency is selected as the corresponding table.
  • a size larger than 8 ⁇ 8 affects the image quality, so a size larger than 8 ⁇ 8 is not selected.
  • the lower the quantization parameter Qp the higher the importance of the amount of distortion in the calculation of the cost function value.
  • the prediction mode or the intra prediction mode is enabled.
  • the higher the quantization parameter Qp the more important the bit generation amount in calculating the cost function value, so a large inter prediction mode or intra prediction mode such as 64 ⁇ 64 with high coding efficiency can be used. Yes.
  • the encoding efficiency tends to be improved when the 64 ⁇ 64 inter prediction mode or the intra prediction mode is selected.
  • the fine inter prediction mode such as 4 ⁇ 4 and the intra prediction mode are selected similarly. Tend to be subjectively better. Based on this tendency, the table is selected.
  • the statistical information calculation unit 61 supplies the calculated statistical information (Variance 64 ⁇ 64, SAD64 ⁇ 64) to the table selection unit 62.
  • the table selection unit 62 is further supplied with the picture type and picture depth of the image from the screen rearrangement buffer 32 and the quantization parameter Qp from the rate control unit 49.
  • the table selection unit 62 stores a plurality of prediction mode types that are stored in the table storage unit 63 and are limited in accordance with the picture type, picture depth, statistical information, application, Qp, and the like. Among the mode tables, the mode table to be used is determined.
  • the table selection unit 62 acquires usable prediction modes from the determined table (that is, in a state where the types of prediction modes to be selected are limited). Note that the state where use is restricted is a state where the use is not possible, in other words, a state where the number of usable modes is narrowed down from all prediction modes.
  • the table selection unit 62 supplies the acquired information on usable prediction modes to the intra prediction unit 46 and the motion prediction / compensation unit 47.
  • the table storage unit 63 includes a memory and the like, and which prediction mode can be used and which prediction mode cannot be used according to the picture type and picture depth, statistical information, application, and the quantization parameter Qp.
  • a plurality of mode tables are stored (that is, the types of prediction modes to be selected are limited).
  • the picture depth is information indicating a reference relationship between pictures in a picture (GOP structure). Specifically, those in the same situation in the reference relationship are grouped into 1 to 5, for example.
  • the horizontal direction represents the time of the decoding order
  • the rectangle represents the picture
  • I, B, and P in the rectangle are picture types of I picture
  • B It represents a picture or P picture.
  • An arrow from the picture represents a picture to be referenced for performing inter prediction.
  • Picture depth 1 includes I picture and P picture. No reference is made to the I picture of the picture depth 1.
  • the left P picture of picture depth 1 refers to the I picture of picture depth 1.
  • the right P picture in picture depth 1 refers to the left P picture.
  • the picture depth 2 includes a B picture that refers to the picture of the picture depth 1.
  • the B picture on the left side of the picture depth 2 refers to the I picture and the left P picture of the picture depth 1.
  • the B picture on the right side of the picture depth 2 refers to the left P picture and the right P picture of the picture depth 1.
  • the picture depth 3 includes a B picture that refers to the picture of the picture depth 1 in one direction and refers to the B picture of the picture depth 2 in the other direction.
  • the leftmost B picture of the picture depth 3 refers to the I picture of the picture depth 1 and the left B picture of the picture depth 2.
  • the second B picture from the left of the picture depth 3 refers to the left B picture of the picture depth 2 and the left P picture of the picture depth 1.
  • the third B picture from the left of picture depth 3 refers to the left P picture of picture depth 1 and the right B picture of picture depth 2.
  • the fourth B picture from the left in picture depth 3 refers to the right B picture in picture depth 2 and the right P picture in picture depth 1.
  • the B picture of the picture depth 2 refers to the picture of the picture depth 1. Since pictures with the same picture depth have similar reference relations, the conditions for speeding up are also similar, so this is one condition of the mode table.
  • picture depth 1 includes a picture referenced from two pictures, a picture with the same depth and a picture with a lower depth. No reference is made to the I picture of the picture depth 1.
  • the left P picture of picture depth 1 refers to the I picture of picture depth 1.
  • the right P picture in picture depth 1 refers to the left P picture.
  • Picture depth 2 includes P pictures that are referenced only from the lower depth picture.
  • the P picture on the left side of the picture depth 2 refers to the I picture of the picture depth 1.
  • the P picture on the right side of the picture depth 2 refers to the left P picture of the picture depth 1.
  • the picture depth 3 includes a picture that is not referred to by other pictures.
  • the left P picture of picture depth 3 refers to the left P picture of picture depth 2.
  • the P picture on the right side of the picture depth 3 refers to the right P picture of the picture depth 2.
  • FIG. 15 also shows that the reference relationship of pictures with the same picture depth is similar.
  • the PSNR of the I picture affects the quality of the P picture. That is, a good PSNR of an I picture leads to an increase in P prediction performance.
  • improving the quality of the I picture is equivalent to improving the PSNR in equation (1), that is, reducing ⁇ in equation (1).
  • R may be neglected with respect to D in equation (1). That is, the bit rate of I may be higher than that of P.
  • a prediction mode of a small block tends to be selected.
  • the picture depth is a small number such as 1 or 2
  • a prediction mode with a small block size is used, and a mode table is selected that restricts the use of a prediction mode with a large block size.
  • FIG. 16 is a diagram illustrating an example of a mode table.
  • a circle indicates that the mode is usable
  • a cross indicates that the mode is not usable.
  • mode tables for live broadcast Internet distribution applications also referred to as live broadcast Internet distribution
  • mode tables for recording applications for Internet distribution also referred to as recording for Internet distribution
  • a total of nine mode tables are shown, including three types and three types of mode tables for monitoring camera applications (also referred to as monitoring cameras).
  • the picture depth is 1, the picture type is I picture, TV (Total Variation) is 200, Variance is 200, and QP is 30, only the intra 8 ⁇ 8 prediction mode can be used.
  • a mode table is selected. In this case, since the picture type is I picture, it can be used only in the intra mode, so a mode table consisting of one mode is selected in the intra mode.
  • the picture depth is 2
  • the picture type is P picture
  • TV (Total Variation) is 200
  • Variance (dispersion) is 200
  • QP is 30, only the inter 16 ⁇ 16 prediction mode can be used.
  • a mode table is selected.
  • the P picture can be used in both intra and inter modes, but since it is live broadcast Internet distribution, only the inter 16 ⁇ 16 prediction mode is given priority to speed.
  • the picture depth is 2
  • the picture type is P picture
  • TV (Total Variation) is 200
  • Variance is 200
  • QP is 45
  • a mode table is selected. In this case, since the bit rate is lowered (QP is increased), only a large size can be used to reduce the overhead.
  • the processing speed may be slow.
  • high image quality high compression
  • the image quality is high and the processing speed may be low. Accordingly, in all three types of mode tables for recording for Internet distribution, a plurality of prediction modes can be used, and an example in which a cost function is obtained and compared is shown.
  • the picture depth is 1, the picture type is I picture, TV (Total Variation) is 200, Variance is 200, and QP is 25, 64 ⁇ 64, 32 ⁇ 32, 16 ⁇ 16, A mode table that can use 8 ⁇ 8 and 4 ⁇ 4 intra prediction modes is selected.
  • the picture type is I picture, it can be used only in the intra mode, so the mode table composed of the intra mode is selected.
  • the picture depth is 2
  • the picture type is P picture
  • TV (Total Variation) is 200
  • Variance is 200
  • QP is 25, 32x32, 16x16, 8x8,
  • a mode table is selected in which 4 ⁇ 4 intra prediction mode and all inter prediction modes can be used. In this case, since the P picture can be used in both intra and inter modes, both prediction modes can be used.
  • the picture type is B picture
  • TV (Total Variation) is 200
  • Variance is 200
  • QP is 25, 64 ⁇ 64, 32 ⁇ 32, 16 ⁇ 16
  • Intra prediction mode 32x64, 32x32, 32x24, 32x16, 32x8, 24x32, 16x32, 8x32, 16x16, 16x12, 16x8, 16
  • a mode table that can use inter prediction modes of x4, 12x16, 8x16, 4x16, 8x8, 8x4, 4x8, and 4x4 is selected.
  • B pictures have high inter prediction performance because bidirectional prediction can be used. Therefore, in this case, since the performance of intra prediction is relatively inferior, usable intra prediction modes are reduced.
  • images from the surveillance camera are distributed with as low a delay as possible, and only P pictures are used in order to reduce the delay of the image being monitored.
  • the image quality is medium and the processing speed is high.
  • the picture depth is 1, the picture type is I picture, TV (Total Variation) is 200, Variance is 200, and QP is 25, 32x32, 16x16, and 8x8 A mode table in which the intra prediction mode is usable is selected.
  • the picture type is I picture, it can be used only in the intra mode, so the mode table composed of the intra mode is selected.
  • the picture type is P picture
  • TV (Total Variation) is 200
  • Variance is 200
  • QP is 25, 32x32, 16x16, 8x8
  • a mode table is selected in which the intra prediction mode and all inter prediction modes other than 64 ⁇ 64 and 4 ⁇ 4 can be used.
  • the P picture can be used in both intra and inter modes, both prediction modes can be used.
  • the picture type is P picture
  • TV (Total Variation) is 200
  • Variance is 200
  • QP is 25, 16 ⁇ 16 intra prediction mode and 32 ⁇ 64 , 32x32, 32x24, 32x16, 32x8, 24x32, 16x32, 8x32, 16x16, 16x12, 16x8, 16x4, 12x16, 8
  • a mode table that can use inter prediction modes of ⁇ 16, 4 ⁇ 16, 8 ⁇ 8, and 8 ⁇ 4 is selected.
  • the number of prediction modes to be limited can be changed according to the encoding application. Further, the type of prediction mode to be limited is also changed according to the encoding application.
  • the application is a usage purpose or a service form.
  • the application also includes parameters linked to an encoding tool such as the bit stream bit rate, resolution, and image frame.
  • step S61 of FIG. 17 the A / D conversion unit 31 (FIG. 12) of the encoding device 12 performs A / D conversion on the frame unit image input as the encoding target.
  • the A / D conversion unit 31 outputs an image, which is a digital signal after conversion, to the screen rearrangement buffer 32 for storage.
  • step S62 the screen rearrangement buffer 32 rearranges the stored frame images in the display order in the order for encoding according to the GOP structure.
  • the screen rearrangement buffer 32 supplies the rearranged frame-unit images to the calculation unit 33, the intra prediction unit 46, the motion prediction / compensation unit 47, and the mode table setting unit 50. Further, the screen rearrangement buffer 32 outputs the picture type of the image to the mode table setting unit 50.
  • step S63 the mode table setting unit 50 performs a mode table selection process. Details of the mode table selection processing will be described later with reference to FIG. That is, the mode table setting unit 50 calculates statistical information from the original image read from the screen rearrangement buffer 32, calculates the calculated statistical information, the picture type and the picture depth from the screen rearrangement buffer 32, and the rate control unit. According to the quantization parameter Qp from 49, etc., a mode table to be used is determined from among a plurality of mode tables, and usable prediction modes are determined. The mode table setting unit 50 supplies information on the determined usable prediction modes to the intra prediction unit 46 and the motion prediction / compensation unit 47.
  • the intra prediction unit 46 performs intra prediction processing in the usable intra prediction mode indicated by the information supplied from the mode table setting unit 50 in units of PUs. That is, the intra prediction unit 46 can use the information supplied from the mode table setting unit 50 based on the image read from the screen rearrangement buffer 32 and the predicted image generated as a result of the intra prediction process. A cost function value is calculated for the intra prediction mode. Then, the intra prediction unit 46 determines the intra prediction mode that minimizes the cost function value as the optimal intra prediction mode. The intra prediction unit 46 supplies the predicted image generated in the optimal intra prediction mode and the corresponding cost function value to the predicted image selection unit 48.
  • the motion prediction / compensation unit 47 performs motion prediction / compensation processing in the inter prediction mode that can be used, which is indicated by the information supplied from the mode table setting unit 50, in units of PUs in step S65.
  • the motion prediction / compensation unit 47 uses the inter prediction mode that can be used as indicated by the information supplied from the mode table setting unit 50 based on the image supplied from the screen rearrangement buffer 32 and the predicted image. The cost function value is calculated, and the inter prediction mode that minimizes the cost function value is determined as the optimal inter prediction mode. Then, the motion prediction / compensation unit 47 supplies the cost function value of the optimal inter prediction mode and the corresponding prediction image to the prediction image selection unit 48.
  • step S ⁇ b> 66 the predicted image selection unit 48 determines that the cost function value of the optimal intra prediction mode and the optimal inter prediction mode is the minimum based on the cost function values supplied from the intra prediction unit 46 and the motion prediction / compensation unit 47. Is determined as the optimum prediction mode. Then, the predicted image selection unit 48 supplies the predicted image in the optimal prediction mode to the calculation unit 33 and the addition unit 40.
  • step S67 the predicted image selection unit 48 determines whether or not the optimal prediction mode is the optimal inter prediction mode.
  • the predicted image selection unit 48 notifies the motion prediction / compensation unit 47 of selection of the predicted image generated in the optimal inter prediction mode.
  • step S68 the motion prediction / compensation unit 47 supplies the inter prediction mode information, the motion vector, and information specifying the reference image to the lossless encoding unit 36, and the process proceeds to step S70.
  • step S67 when it is determined in step S67 that the optimum prediction mode is not the optimum inter prediction mode, that is, when the optimum prediction mode is the optimum intra prediction mode, the prediction image selection unit 48 performs the prediction generated in the optimum intra prediction mode.
  • the intra prediction unit 46 is notified of the image selection.
  • step S69 the intra prediction unit 46 supplies the intra prediction mode information to the lossless encoding unit 36, and the process proceeds to step S70.
  • step S70 the calculation unit 33 performs encoding by subtracting the prediction image supplied from the prediction image selection unit 48 from the image supplied from the screen rearrangement buffer 32.
  • the computing unit 33 outputs the resulting image to the orthogonal transform unit 34 as residual information.
  • step S71 the orthogonal transform unit 34 performs orthogonal transform processing on the residual information in units of TUs.
  • the orthogonal transformation unit 34 supplies the orthogonal transformation processing result after the orthogonal transformation processing to the quantization unit 35.
  • step S72 the quantization unit 35 quantizes the orthogonal transformation processing result supplied from the orthogonal transformation unit 34.
  • the quantization unit 35 supplies the quantization value obtained as a result of the quantization to the lossless encoding unit 36 and the inverse quantization unit 38.
  • step S73 the inverse quantization unit 38 performs inverse quantization on the quantized value from the quantization unit 35.
  • the inverse quantization unit 38 supplies the orthogonal transform processing result obtained as a result of the dequantization to the inverse orthogonal transform unit 39.
  • step S74 the inverse orthogonal transform unit 39 performs an inverse orthogonal transform process on the orthogonal transform process result supplied from the inverse quantization unit 38 in units of TUs.
  • the inverse orthogonal transform unit 39 supplies residual information obtained as a result of the inverse orthogonal transform process to the addition unit 40.
  • step S75 the addition unit 40 adds the residual information supplied from the inverse orthogonal transform unit 39 and the prediction image supplied from the prediction image selection unit 48, and performs decoding.
  • the adder 40 supplies the decoded image to the filter 41 and the frame memory 44.
  • step S76 the filter 41 performs a deblocking filter process on the decoded image supplied from the adding unit 40.
  • step S77 the filter 41 performs an adaptive offset filter process on the image after the deblocking filter.
  • the filter 41 supplies the resulting image to the frame memory 44. Further, the filter 41 supplies the offset filter information to the lossless encoding unit 36 for each LCU.
  • step S78 the frame memory 44 stores the image supplied from the filter 41 and the image supplied from the adder 40.
  • An image adjacent to the PU among the images not subjected to the filter processing accumulated in the frame memory 44 is supplied to the intra prediction unit 46 through the switch 45 as a peripheral image.
  • the filtered image stored in the frame memory 44 is output to the motion prediction / compensation unit 47 via the switch 45 as a reference image.
  • step S79 the lossless encoding unit 36 losslessly encodes intra prediction mode information, inter prediction mode information, information specifying a motion vector and a reference image, offset filter information, and the like as encoded information.
  • step S80 the lossless encoding unit 36 losslessly encodes the quantization value supplied from the quantization unit 35. Then, the lossless encoding unit 36 generates encoded data from the encoded information that has been losslessly encoded in the process of step S78 and the quantized value that has been losslessly encoded, and supplies the encoded data to the accumulation buffer 37.
  • step S81 the accumulation buffer 37 temporarily accumulates the encoded data supplied from the lossless encoding unit 36.
  • step S82 the rate control unit 49 controls the quantization operation rate of the quantization unit 35 based on the encoded data stored in the storage buffer 37 so that overflow or underflow does not occur. At that time, the rate control unit 49 supplies the quantization parameter Qp to the mode table setting unit 50. Then, the encoding process is terminated.
  • the original image read from the screen rearrangement buffer 32 is supplied to the statistical information calculation unit 61 of the mode table setting unit 50.
  • Information indicating the picture type and the picture depth from the screen rearrangement buffer 32 and the quantization parameter Qp from the rate control unit 49 are supplied to the table selection unit 62 of the mode table setting unit 50.
  • Application information is also supplied from an input unit or the like by a user (not shown) or the like.
  • step S91 the statistical information calculation unit 61 calculates statistical information, for example, Variance 64 ⁇ 64 or Total Variation from the original image read from the screen rearrangement buffer 32.
  • the statistical information calculation unit 61 supplies the calculated statistical information (Variance 64 ⁇ 64, Total Variation) to the table selection unit 62.
  • step S92 the table selection unit 62 selects, for example, the mode table shown in FIG. 16 according to the application, picture type, picture depth, statistical information, and Qp.
  • step S93 the table selection unit 62 selects (acquires) only usable prediction modes from the selected mode table, and sends information indicating the selected prediction modes to the intra prediction unit 94 and the motion prediction / compensation unit 95. Supply. Thereafter, the process ends the mode table selection process and returns to step S63 in FIG.
  • the contents of the mode table may be updated with the application, picture type, picture depth, statistical information, and Qp, and the mode table selected accordingly.
  • the encoding processing amount can be reduced by this technology, so that the time required for encoding can be increased.
  • the cost function for the prediction mode with the low probability of being selected is not calculated, so the image quality is maintained. Deterioration of encoding efficiency can be reduced.
  • the prediction mode to be omitted is determined at the stage of creating the mode table, the degree of speedup that can be expected is determined. For this reason, there is no case where the speed can be increased or decreased depending on conditions such as the speed-up technique called Early termination. This is an effective effect when real-time processing is required.
  • the method according to HEVC is used as the encoding method.
  • the present technology is not limited to this, and other encoding / decoding methods can be applied.
  • the present technology can take a configuration of cloud computing in which one function is shared by a plurality of devices via a network and jointly processed.
  • FIG. 20 is a diagram illustrating a configuration example of an embodiment of a cloud computing system to which the present technology is applied.
  • the cloud computing system 100 is configured by connecting a server 101 to a client 102 via a network 103 such as the Internet.
  • the server 101 includes the encoding device 12 of FIG. 12 and the above-described statistical information and the database 111 of the prediction mode selected in the past.
  • the encoding device 12 includes a mode table setting unit 50 having a function of learning a previously selected prediction mode in FIG. 22 instead of the mode mode table setting unit 50 in FIG.
  • the encoding device 12 (mode table setting unit 50) receives image, picture type, picture depth, Qp, and image statistical information from the client 102 or the like. When receiving the image, the encoding device 12 calculates statistical information using the image uploaded to the server 101 from the client 102 or the like.
  • the encoding device 12 uses the database 111 to calculate the current prediction mode from the previously selected prediction mode, using the image, picture type, picture depth, Qp, and image statistical information calculated or from the client 102. Information on the prediction mode selected and learned by learning through a network or CNN is registered in the database 111.
  • the encoding device 12 selects a prediction mode using the database 111, registers information on the selected prediction mode in the database 111, and learns.
  • the encoding device 12 may provide the information of the selected prediction mode to the client 102, or may encode the image using the selected prediction mode and store it for provision to the client 102. You may make it do.
  • the database 111 stores a previously selected prediction mode such as picture type, picture depth, Qp, and statistical information. For example, the database 111 stores such information in association with a previously selected prediction mode.
  • the client 102 is composed of a mobile terminal, for example.
  • the client 102 transmits captured image information and statistical information calculated based on the image information to the server 101 via the network 103.
  • the client 102 Upon receiving the prediction mode information from the server 101, the client 102 encodes the image information.
  • server 101 is shown, it is composed of a plurality of servers.
  • client 102 is shown, it is composed of a plurality of clients.
  • FIG. 21 is a block diagram illustrating a configuration example of the mode table setting unit 50 of FIG.
  • the mode table setting unit 50 is common to the mode table setting unit 50 of FIG. 13 in that it has the statistical information calculation unit 61 of FIG.
  • the mode table setting unit 50 includes a table selection unit 121 instead of the table selection unit 62, and includes a learning unit 123 and a database 111 instead of the table storage unit 63.
  • the statistical information calculation unit 61 supplies the calculated statistical information to the table selection unit 121.
  • the table selection unit 121 supplies the prediction mode selected by learning by the learning unit 123 to the intra prediction unit 46, the motion prediction / compensation unit 47, or the client 102 as usable prediction mode information.
  • the table selection unit 121 supplies the statistical information, the picture type and the picture depth, and Qp from the statistical information calculation unit 61 to the learning unit 123.
  • the learning unit 123 uses the statistical information, the picture type, the Qp, and the database 111 from the table selection unit 121 to learn the current prediction mode from the previously selected prediction mode using a neural network or CNN, Information on the learned prediction mode is registered in the database 111.
  • the present invention is not limited to the cloud computing system 100.
  • the mode table is not provided, and learning and prediction are performed each time. It is also possible to make it.
  • the present technology for example, the image information (bitstream) compressed by orthogonal transformation such as discrete cosine transformation and motion compensation, such as the HEVC method, satellite broadcasting, cable television, the Internet, or a mobile phone, etc.
  • the present invention can be applied to an image encoding device used when receiving via a network medium.
  • the present disclosure can be applied to an image encoding device used when processing on a storage medium such as an optical, magnetic disk, and flash memory.
  • ⁇ Third 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. 22 is a block diagram showing an example of the hardware configuration of a computer that executes the above-described series of processing by a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input / output interface 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. 23 illustrates a schematic configuration of a television apparatus to which the present technology 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 television device configured as described above is provided with a function of a decoding device (decoding method) for decoding the encoded stream encoded as described above. Accordingly, it is possible to reduce the deterioration of the encoding efficiency.
  • FIG. 24 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 includes the encoding device (encoding method) of the present technology and the decoding device (decoding method) that decodes the encoded stream encoded as described above. Functions are provided. For this reason, the time required for encoding can be increased. In addition, the deterioration of encoding efficiency can be reduced.
  • FIG. 25 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 technology.
  • the decoder 947 is provided with a function of a decoding device (decoding method) for decoding the encoded stream encoded as described above. Accordingly, the time required for encoding can be increased. In addition, the deterioration of encoding efficiency can be reduced.
  • FIG. 26 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.
  • FIG. 27 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. 27 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. 27 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. 28, 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. 28 illustrates an example of a schematic configuration of a video processor 1332 (FIG. 28) to which the present disclosure is applied.
  • the video processor 1332 receives the input of 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. 27) and converts it into digital image data.
  • the first image enlargement / reduction unit 1402 performs format conversion, image enlargement / reduction processing, and the like on the image data.
  • the second image enlargement / reduction unit 1403 performs image enlargement / reduction processing on the image data in accordance with the format of the output destination via the video output processing unit 1404, or is the same as the first image enlargement / reduction unit 1402. Format conversion and image enlargement / reduction processing.
  • the video output processing unit 1404 performs format conversion, conversion to an analog signal, and the like on the image data and outputs the reproduced video signal to, for example, the connectivity 1321 (FIG. 27).
  • 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. 27), 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, converts it into an analog signal, for example, and supplies it as a reproduced audio signal to, for example, the connectivity 1321 (FIG. 28).
  • Multiplexer (MUX) 1412 multiplexes the video stream and the audio stream.
  • the multiplexing method (that is, the format of the bit stream generated by multiplexing) is arbitrary.
  • the multiplexing unit (MUX) 1412 can also add predetermined header information or the like to the bit stream. That is, the multiplexing unit (MUX) 1412 can convert the stream format by multiplexing. For example, the multiplexing unit (MUX) 1412 multiplexes the video stream and the audio stream to convert it into a transport stream that is a bit stream in a transfer format. Further, for example, the multiplexing unit (MUX) 1412 multiplexes the video stream and the audio stream, thereby converting the data into file format data (file data) for recording.
  • the demultiplexing unit (DMUX) 1413 demultiplexes the bit stream in which the video stream and the audio stream are multiplexed by a method corresponding to the multiplexing by the multiplexing unit (MUX) 1412. That is, the demultiplexer (DMUX) 1413 extracts the video stream and the audio stream from the bit stream read from the stream buffer 1414 (separates the video stream and the audio stream). That is, the demultiplexer (DMUX) 1413 can convert the stream format by demultiplexing (inverse conversion of the conversion by the multiplexer (MUX) 1412). For example, the demultiplexing unit (DMUX) 1413 obtains the transport stream supplied from, for example, the connectivity 1321 and the broadband modem 1333 (both in FIG.
  • the demultiplexer (DMUX) 1413 obtains file data read from various recording media by, for example, the connectivity 1321 (FIG. 28) via the stream buffer 1414, and demultiplexes it. It can be converted into a video stream and an audio stream.
  • DMUX demultiplexer
  • the stream buffer 1414 buffers the bit stream.
  • the stream buffer 1414 buffers the transport stream supplied from the multiplexing unit (MUX) 1412 and, for example, at the predetermined timing or based on a request from the outside, for example, the connectivity 1321 or the broadband modem 1333 (whichever Are also supplied to FIG.
  • MUX multiplexing unit
  • the stream buffer 1414 buffers the file data supplied from the multiplexing unit (MUX) 1412 and, for example, connectivity 1321 (FIG. 27) or the like at a predetermined timing or based on an external request or the like. To be recorded on various recording media.
  • MUX multiplexing unit
  • connectivity 1321 FIG. 27
  • 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. 27), and performs reverse processing at a predetermined timing or based on an external request or the like.
  • the data is supplied to a multiplexing unit (DMUX) 1413.
  • DMUX multiplexing unit
  • the stream buffer 1414 buffers file data read from various recording media in the connectivity 1321 (FIG. 27), for example, and performs a 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. 27) 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 from the connectivity 1321 (FIG. 27) or the like to the video processor 1332 is encoded by the audio encoder 1410 and written as an audio stream in the audio ES buffer 1409A.
  • the video stream of the video ES buffer 1408A and the audio stream of the audio ES buffer 1409A are read and multiplexed by the multiplexing unit (MUX) 1412 and converted into a transport stream 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 or the broadband modem 1333 (both of which are shown in FIG. 28).
  • 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. 27) 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.
  • DMUX demultiplexed
  • file data read from various recording media in the connectivity 1321 (FIG. 27) and input to the video processor 1332 is buffered in the stream buffer 1414 and then demultiplexed by the demultiplexer (DMUX) 1413. It becomes. That is, the transport stream or file data input to the video processor 1332 is separated into a video stream and an audio stream by the demultiplexer (DMUX) 1413.
  • the audio stream is supplied to the audio decoder 1411 via the audio ES buffer 1409B and decoded to reproduce the audio signal.
  • the video stream is written to the video ES buffer 1408B, and then sequentially read and decoded by the encoding / decoding engine 1407, and written to the frame memory 1405.
  • the decoded image data is enlarged / reduced by the second image enlargement / reduction unit 1403 and written to the frame memory 1405.
  • the decoded image data is read out to the video output processing unit 1404, format-converted to a predetermined system such as 4: 2: 2Y / Cb / Cr system, and further converted into an analog signal to be converted into a video signal. Is played out.
  • the present 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 embodiment. In this way, the video processor 1332 can obtain the same effects as those described above with reference to FIGS.
  • the present disclosure (that is, the functions of the image encoding device and the image decoding device according to each embodiment described above) may be realized by hardware such as a logic circuit, It may be realized by software such as an embedded program, or may be realized by both of them.
  • FIG. 29 illustrates another example of a schematic configuration of the video processor 1332 (FIG. 27) to which the present disclosure is applied.
  • the video processor 1332 has a function of encoding / decoding video data by a predetermined method.
  • the video processor 1332 includes a control unit 1511, a display interface 1512, a display engine 1513, an image processing engine 1514, and an internal memory 1515.
  • the video processor 1332 includes a codec engine 1516, a memory interface 1517, a multiplexing / demultiplexing unit (MUX DMUX) 1518, a network interface 1519, and a video interface 1520.
  • MUX DMUX multiplexing / demultiplexing unit
  • the eyelid control unit 1511 controls the operation of each processing unit in the video processor 1332 such as the display interface 1512, the display engine 1513, the image processing engine 1514, and the codec engine 1516.
  • the control unit 1511 includes, for example, a main CPU 1531, a sub CPU 1532, and a system controller 1533.
  • the main CPU 1531 executes a program and the like for controlling the operation of each processing unit in the video processor 1332.
  • the main CPU 1531 generates a control signal according to the program and supplies it to each processing unit (that is, controls the operation of each processing unit).
  • the sub CPU 1532 plays an auxiliary role of the main CPU 1531.
  • the sub CPU 1532 executes a child process such as a program executed by the main CPU 1531, a subroutine, or the like.
  • the system controller 1533 controls operations of the main CPU 1531 and the sub CPU 1532 such as designating a program to be executed by the main CPU 1531 and the sub CPU 1532.
  • the display interface 1512 outputs image data to, for example, the connectivity 1321 (FIG. 27) 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. 27) as a reproduced video signal or as image data of the digital data.
  • the display engine 1513 Under the control of the control unit 1511, the display engine 1513 performs various conversion processes such as format conversion, size conversion, color gamut conversion, and the like so as to match the image data with hardware specifications such as a monitor device that displays the image. I do.
  • the eyelid image processing engine 1514 performs predetermined image processing such as filter processing for improving image quality on the image data under the control of the control unit 1511.
  • the internal memory 1515 is a memory provided inside the video processor 1332 that is shared by the display engine 1513, the image processing engine 1514, and the codec engine 1516.
  • the internal memory 1515 is used, for example, for data exchange performed between the display engine 1513, the image processing engine 1514, and the codec engine 1516.
  • the internal memory 1515 stores data supplied from the display engine 1513, the image processing engine 1514, or the codec engine 1516, and stores the data as needed (eg, upon request). This is supplied to the image processing engine 1514 or the codec engine 1516.
  • the internal memory 1515 may be realized by any storage device, but is generally used for storing a small amount of data such as image data or parameters in units of blocks. It is desirable to realize a semiconductor memory having a relatively small capacity but a high response speed (for example, as compared with the external memory 1312) such as “Static Random Access Memory”.
  • the codec engine 1516 performs processing related to encoding and decoding of image data.
  • the encoding / decoding scheme supported by the codec engine 1516 is arbitrary, and the number thereof may be one or plural.
  • the codec engine 1516 may be provided with codec functions of a plurality of encoding / decoding schemes, and may be configured to perform encoding of image data or decoding of encoded data using one selected from them.
  • the codec engine 1516 includes, for example, MPEG-2 video 1541, AVC / H.2641542, HEVC / H.2651543, HEVC / H.265 (Scalable) 1544, as function blocks for processing related to the codec.
  • HEVC / H.265 (Multi-view) 1545 and MPEG-DASH 1551 are included.
  • “MPEG-2” Video 1541 is a functional block that encodes and decodes image data in the MPEG-2 format.
  • AVC / H.2641542 is a functional block that encodes and decodes image data using the AVC method.
  • HEVC / H.2651543 is a functional block that encodes and decodes image data using the HEVC method.
  • HEVC / H.265 (Scalable) 1544 is a functional block that performs scalable encoding and scalable decoding of image data using the HEVC method.
  • HEVC / H.265 (Multi-view) 1545 is a functional block that multi-view encodes or multi-view decodes image data using the HEVC method.
  • MPEG-DASH 1551 is a functional block that transmits and receives image data in the MPEG-DASH (MPEG-Dynamic Adaptive Streaming over HTTP) method.
  • MPEG-DASH is a technology for streaming video using HTTP (HyperText Transfer Protocol), and selects and transmits appropriate data from multiple encoded data with different resolutions prepared in advance in segments. This is one of the features.
  • MPEG-DASH 1551 generates a stream compliant with the standard, controls transmission of the stream, and the like.
  • MPEG-2 Video 1541 to HEVC / H.265 (Multi-view) 1545 described above are used. Is used.
  • the memory interface 1517 is an interface for the external memory 1312. Data supplied from the image processing engine 1514 or the codec engine 1516 is supplied to the external memory 1312 via the memory interface 1517. The data read from the external memory 1312 is supplied to the video processor 1332 (the image processing engine 1514 or the codec engine 1516) via the memory interface 1517.
  • a multiplexing / demultiplexing unit (MUX DMUX) 1518 multiplexes and demultiplexes various data related to images such as a bit stream of encoded data, image data, and a video signal.
  • This multiplexing / demultiplexing method is arbitrary.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 can not only combine a plurality of data into one but also add predetermined header information or the like to the data.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 not only divides one data into a plurality of data but also adds predetermined header information or the like to each divided data. it can.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 can convert the data format by multiplexing / demultiplexing.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 multiplexes the bitstream, thereby transporting the transport stream, which is a bit stream in a transfer format, or data in a file format for recording (file data).
  • the transport stream which is a bit stream in a transfer format, or data in a file format for recording (file data).
  • file data file format for recording
  • the network interface 1519 is an interface for a broadband modem 1333, connectivity 1321 (both in FIG. 27), and the like.
  • the video interface 1520 is an interface for, for example, the connectivity 1321 and the camera 1322 (both are FIG. 27).
  • the transport stream is transmitted to the multiplexing / demultiplexing unit (MUX DMUX via the network interface 1519).
  • MUX DMUX multiplexing / demultiplexing unit
  • the codec engine 1516 the image data obtained by decoding by the codec engine 1516 is subjected to predetermined image processing by the image processing engine 1514, subjected to predetermined conversion by the display engine 1513, and connected to, for example, the connectivity 1321 (see FIG. 27), 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. 27) via the interface 1520 and recorded on various recording media.
  • the file data of the encoded data obtained by encoding the image data read from the recording medium (not shown) by the connectivity 1321 (FIG. 27) or the like is multiplexed / demultiplexed via the video interface 1520. Is supplied to a unit (MUX DMUX) 1518, demultiplexed, and decoded by the codec engine 1516. Image data obtained by decoding by the codec engine 1516 is subjected to predetermined image processing by the image processing engine 1514, subjected to predetermined conversion by the display engine 1513, and, for example, connectivity 1321 via the display interface 1512 (FIG. 27). And the image is displayed on the monitor.
  • MUX DMUX MUX DMUX
  • 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 other devices (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 embodiment. Further, for example, by the codec engine 1516 doing this, the video processor 1332 can obtain the same effects as those described above with reference to FIGS.
  • the present disclosure (that is, the functions of the image encoding device and the image decoding device according to each of the embodiments described above) may be realized by hardware such as a logic circuit, or an embedded program. It may be realized by software such as the above, or may be realized by both of them.
  • the configuration of the video processor 1332 is arbitrary and may be other than the two examples described above.
  • the video processor 1332 may be configured as one semiconductor chip, but may be configured as a plurality of semiconductor chips. For example, a three-dimensional stacked LSI in which a plurality of semiconductors are stacked may be used. Further, it may be realized by a plurality of LSIs.
  • the video set 1300 can be incorporated into various devices that process image data.
  • the video set 1300 can be incorporated in the television device 900 (FIG. 23), the mobile phone 920 (FIG. 24), the recording / reproducing device 940 (FIG. 25), the imaging device 960 (FIG. 26), or the like.
  • the device can obtain the same effects as those described above with reference to FIGS.
  • 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 21 can be obtained.
  • any configuration including the video processor 1332 can be incorporated into various devices that process image data, as in the case of the video set 1300.
  • a video processor 1332 a processor indicated by a dotted line 1341, a video module 1311, or a video unit 1361, a television device 900 (FIG. 23), a mobile phone 920 (FIG. 24), a recording / playback device 940 (FIG. 25), It can be incorporated in an imaging device 960 (FIG. 26) or the like.
  • the apparatus can obtain the same effects as those described above with reference to FIGS. 1 to 21 as in the case of the video set 1300. .
  • 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 be applied to an encoding device and a decoding device of an encoding method other than the HEVC method.
  • the present disclosure also relates to a case where an encoded stream is received via a network medium such as satellite broadcasting, cable TV, the Internet, or a mobile phone, or is processed on a storage medium such as an optical, magnetic disk, or flash memory.
  • a network medium such as satellite broadcasting, cable TV, the Internet, or a mobile phone
  • a storage medium such as an optical, magnetic disk, or flash memory.
  • the present invention can be applied to an encoding device and a decoding device used in the above.
  • 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 jointly processed.
  • each step described in the above flowchart can be executed by one device or can be shared by a plurality of devices.
  • the plurality of processes included in the one step can be executed by being shared by a plurality of apparatuses in addition to being executed by one apparatus.
  • this technique can also take the following structures.
  • a setting unit that sets a prediction mode used when encoding an image in a state where the types of prediction modes to be selected are limited according to a picture depth indicating a reference relationship between pictures of the image;
  • An image encoding apparatus comprising: an encoding unit that encodes the image for each encoded block recursively divided according to the prediction mode set by the setting unit.
  • the setting unit sets a prediction mode used when encoding an image in a state where a prediction mode having a small block size is selected.
  • the setting unit sets a prediction mode used when encoding an image in a state where the intra prediction mode is limited.
  • the setting unit sets a prediction mode used when encoding an image in a state where a prediction mode to be selected is limited according to a picture type of the image.
  • the image encoding device according to any one of the above.
  • the setting unit sets a prediction mode used when an image is encoded in a state where an intra prediction mode is a selection target.
  • Image coding apparatus When the picture type of the image is an I picture, the setting unit sets a prediction mode used when an image is encoded in a state where an intra prediction mode is a selection target.
  • the setting unit sets a prediction mode used when the image is encoded in a state where the inter prediction mode is a selection target.
  • Image coding apparatus (7)
  • the setting unit sets a prediction mode used when encoding an image in a state in which a prediction mode to be selected is limited according to a quantization parameter used when encoding the image.
  • the image encoding device according to any one of 1) to (6).
  • the setting unit when increasing the quantization parameter, sets a prediction mode used when encoding an image in a state where a prediction mode having a large block size is selected. The image encoding device described.
  • a learning unit that learns a pattern of a prediction mode to be limited according to the prediction mode set by the setting unit, The image encoding device according to any one of (1) to (14), wherein the setting unit sets a prediction mode according to a pattern learned by the learning unit.
  • the learning unit learns a pattern of a prediction mode to be limited according to a picture depth of the image or a picture type of the image.
  • An image encoding device is In the state where the type of prediction mode to be selected is limited according to the picture depth indicating the reference relationship between pictures of the image, the prediction mode used when encoding the image is set, An image coding method for coding the image for each coded block recursively divided according to a set prediction mode.
  • 12 encoding device 32 screen rearrangement buffer, 46 intra prediction unit, 47 motion prediction / compensation unit, 49 rate control unit, 50 mode table setting unit, 61 statistical information calculation unit, 62 table selection unit, 63 table storage unit, 100 cloud computing, 101 server, 102 client, 111 database, 121 table selection unit, 123 registration unit

Landscapes

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

Abstract

 本開示は、画質を維持しつつ、符号化速度を改善することができるようにする画像符号化装置および方法に関する。 統計情報算出部は、算出した統計情報をテーブル選択部に供給する。テーブル選択部には、さらに、画面並べ替えバッファからの画像のピクチャタイプおよびピクチャデプスと、レート制御部からの量子化パラメータQpが供給される。テーブル選択部は、ピクチャタイプ、ピクチャデプス、統計情報、アプリケーション、Qpなどに応じて、テーブル記憶部に記憶されている、選択対象となる予測モードの種類が制限された状態にある複数のモードテーブルのうち、使用するモードテーブルを決定する。本開示は、例えば、符号化を行う画像処理装置に適用することができる。

Description

画像符号化装置および方法
 本開示は画像符号化装置および方法に関し、特に、画質を維持しつつ、符号化速度を改善することができるようにした画像符号化装置および方法に関する。
 HEVC(High Efficiency Video Coding)は、符号化効率を考慮した様々なエンコードツールを有している。その1つに多種多彩な予測モードが挙げられる。
 その予測モードを決めるとき、一般に、符号化装置は、ビット発生量に重み係数(量子化パラメータQpに依存している)をかけたものと歪み量を足したものを予測モードのコストとし、コストが最も小さいものを最適な予測モードと考えて選択している。
 なお、例えば、特許文献1においては、H.264及びMPEG-4 Part10(Advanced Video Coding、以下 AVCと記す)の場合の予測モード選択に対する演算量削減が提案されている。
特開2009-21927号公報
 しかしながら、AVCと比べて非常に多くの予測モードを用いて符号化する場合、全ての予測モードのコストを計算すると、計算量が膨大になってしまい、例えば、低遅延やリアルタイムといった用途のエンコーダとして使用することが困難であった。
 本開示は、このような状況に鑑みてなされたものであり、画質を維持しつつ、符号化速度を改善することができるものである。
 本開示の一側面の画像符号化装置は、画像のピクチャ間の参照関係を示すピクチャデプスに応じて選択対象となる予測モードの種類が制限された状態で、画像を符号化する際に用いる予測モードを設定する設定部と、前記設定部により設定された予測モードに従って、前記画像を再帰的に分割された符号化ブロック毎に符号化する符号化部とを備える。
 前記設定部は、前記ピクチャデプスが小さい値である場合、ブロックサイズが小さい予測モードが選択対象とされた状態で、画像を符号化する際に用いる予測モードを設定することができる。
 前記設定部は、前記ピクチャデプスが3以上の場合、イントラ予測モードが制限された状態で、画像を符号化する際に用いる予測モードを設定することができる。
 前記設定部は、前記画像のピクチャタイプに応じて選択対象となる予測モードが制限された状態で、画像を符号化する際に用いる予測モードを設定することができる。
 前記設定部は、前記画像のピクチャタイプがIピクチャの場合、イントラ予測モードが選択対象とされた状態で、画像を符号化する際に用いる予測モードを設定することができる。
 前記設定部は、前記画像のピクチャタイプがBピクチャの場合、インター予測モードが選択対象とされた状態で、画像を符号化する際に用いる予測モードを設定することができる。
 前記設定部は、画像を符号化する際に用いる量子化パラメータに応じて選択対象となる予測モードが制限された状態で、画像を符号化する際に用いる予測モードを設定することができる。
 前記設定部は、前記量子化パラメータを大きくする場合、ブロックサイズが大きい予測モードが選択対象とされた状態で、画像を符号化する際に用いる予測モードを設定することができる。
 前記設定部は、前記画像の統計情報に応じて、前記ピクチャデプスと選択対象となる予測モードとの対応関係を変更することができる。
 前記設定部は、符号化ブロックを再帰的分割する際の起点となるCTB(Coding Tree Block)毎に、前記ピクチャデプスと選択対象となる予測モードとの対応関係を変更することができる。
 前記画像の統計情報は、前記画像の分散情報または動き情報である。
 前記設定部は、アプリケーションに応じて、前記ピクチャデプスと選択対象となる予測モードとの対応関係を変更することができる。
 前記設定部は、前記アプリケーションに応じて、選択対象となる予測モードの数を変更することができる。
 前記設定部は、前記アプリケーションに応じて、選択対象となる予測モードの種類を変更することができる。
 前記ピクチャデプスと選択対象となる予測モードとの対応関係をテーブル形式で記憶するメモリをさらに備え、前記設定部は、前記メモリに記憶されたテーブルを用いて、予測モードを設定する。
 前記設定部により設定された予測モードに応じて、制限する予測モードのパターンを学習する学習部をさらに備え、前記設定部は、前記学習部により学習されたパターンに従って、予測モードを設定する。
 前記学習部は、前記画像のピクチャデプスまたは前記画像のピクチャタイプに応じて、制限する予測モードのパターンを学習する。
 本開示の一側面の画像符号化方法は、画像符号化装置が、画像のピクチャ間の参照関係を示すピクチャデプスに応じて選択対象となる予測モードの種類が制限された状態で、画像を符号化する際に用いる予測モードを設定し、設定された予測モードに従って、前記画像を再帰的に分割された符号化ブロック毎に符号化する。
  本開示の一側面においては、画像のピクチャ間の参照関係を示すピクチャデプスに応じて選択対象となる予測モードの種類が制限された状態で、画像を符号化する際に用いる予測モードが設定される。そして、設定された予測モードに従って、前記画像を再帰的に分割された符号化ブロック毎に符号化される。
 なお、上述の画像符号化装置は、独立した画像処理装置であっても良いし、1つの画像符号化装置を構成している内部ブロックであってもよい。
 本開示の一側面によれば、画像を符号化することができる。特に、画質を維持しつつ、符号化速度を改善することができる。
 なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
HEVCにおけるCUについての再帰的なブロック分割の概要を説明するための説明図である。 図1に示したCUへのPUの設定について説明するための説明図である。 図1に示したCUへのTUの設定について説明するための説明図である。 CU/PUの走査順について説明するための説明図である。 インター予測処理における隣接PUの参照について説明するための説明図である。 イントラ予測処理における隣接PUの参照について説明するための説明図である。 AVCとHEVCとの画面内予測の違いを示す図である。 Planar予測を説明する図である。 直流(DC)予測を説明する図である。 predModeIntraと参照方向を示す図である。 predModeIntra=22の場合の予測例を示す図である。 本技術を適用した符号化装置の一実施の形態の構成例を示すブロック図である。 モードテーブル設定部の構成例を示すブロック図である。 ピクチャデプスについて説明する図である。 ピクチャデプスについて説明する図である。 モードテーブルの例を示す図である。 符号化処理を説明するフローチャートである。 符号化処理を説明するフローチャートである。 モードテーブル選択処理の詳細を説明するフローチャートである。 クラウドコンピューティングシステムの一実施の形態の構成例を示す図である。 モードテーブル設定部の他の構成例を示すブロック図である。 コンピュータのハードウエアの構成例を示すブロック図である。 本開示を適用したテレビジョン装置の概略構成例を示す図である。 本開示を適用した携帯電話機の概略構成例を示す図である。 本開示を適用した記録再生装置の概略構成例を示す図である。 本開示を適用した撮像装置の概略構成例を示す図である。 本開示を適用したビデオセットの概略的な構成の一例を示している。 本開示を適用したビデオプロセッサの概略的な構成の一例を示している。 本開示を適用したビデオプロセッサの概略的な構成の他の例を示している。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 0.概要
 1.第1の実施の形態(符号化装置)
 2.第2の実施の形態(ネットワーク)
 3.第3の実施の形態(コンピュータ)
 4.第4の実施の形態(テレビジョン装置)
 5.第5の実施の形態(携帯電話機)
 6.第6の実施の形態(記録再生装置)
  7.第7の実施の形態(撮像装置)
  8.第8の実施の形態(実施のその他の例)
 <概要>
 (符号化方式)
 以下においては、HEVC(High Efficiency Video Coding)方式の画像符号化・復号に適用する場合を例に、本技術を説明する。
 (ブロック分割)
 MPEG2又はH.264/AVC(以下、AVCと称する)などの旧来の画像符号化方式では、符号化処理は、マクロブロックと呼ばれる処理単位で実行される。マクロブロックは、16×16画素の均一なサイズを有するブロックである。これに対し、HEVCでは、符号化処理は、符号化単位(CU:Coding Unit)と呼ばれる処理単位で実行される。CUは、最大符号化単位(LCU:Largest Coding Unit)を再帰的に分割することにより形成される、可変的なサイズを有するブロックである。選択可能なCUの最大サイズは、64×64画素である。選択可能なCUの最小サイズは、8×8画素である。最小サイズのCUは、(SCU:Smallest Coding Unit)と呼ばれる。
 このように、可変的なサイズを有するCUが採用される結果、HEVCでは、画像の内容に応じて画質及び符号化効率を適応的に調整することが可能である。予測符号化のための予測処理は、予測単位(PU:Prediction Unit)と呼ばれる処理単位で実行される。PUは、CUをいくつかの分割パターンのうちの1つで分割することにより形成される。さらに、直交変換処理は、変換単位(TU:Transform Unit)と呼ばれる処理単位で実行される。TUは、CU又はPUをある深さまで分割することにより形成される。
 (再帰的なブロックの分割)
 図1は、HEVCにおけるCUについての再帰的なブロック分割の概要を説明するための説明図である。CUのブロック分割は、1つのブロックの4(=2×2)個のサブブロックへの分割を再帰的に繰り返すことにより行われ、結果として四分木(Quad-Tree)状のツリー構造が形成される。1つの四分木の全体をCTB(Coding Tree Block)といい、CTBに対応する論理的な単位をCTU(Coding Tree Unit)という。
 図1の上部には、一例として、64×64画素のサイズを有するCUであるC01が示されている。C01の分割の深さは、ゼロに等しい。これは、C01がCTUのルートでありLCUに相当することを意味する。LCUサイズは、SPS(Sequence Parameter Set)又はPPS(Picture Parameter Set)において符号化されるパラメータにより指定され得る。CUであるC02は、C01から分割される4つのCUのうちの1つであり、32×32画素のサイズを有する。C02の分割の深さは、1に等しい。CUであるC03は、C02から分割される4つのCUのうちの1つであり、16×16画素のサイズを有する。C03の分割の深さは、2に等しい。CUであるC04は、C03から分割される4つのCUのうちの1つであり、8×8画素のサイズを有する。C04の分割の深さは、3に等しい。このように、CUは、符号化される画像を再帰的に分割することにより形成される。分割の深さは、可変的である。例えば、青空のような平坦な画像領域には、より大きいサイズの(即ち、深さが小さい)CUが設定され得る。一方、多くのエッジを含む急峻な画像領域には、より小さいサイズの(即ち、深さが大きい)CUが設定され得る。そして、設定されたCUの各々が、符号化処理の処理単位となる。
 (CUへのPUの設定)
 PUは、イントラ予測及びインター予測を含む予測処理の処理単位である。PUは、CUをいくつかの分割パターンのうちの1つで分割することにより形成される。図2は、図1に示したCUへのPUの設定について説明するための説明図である。図2の右には、2N×2N、2N×N、N×2N、N×N、2N×nU、2N×nD、nL×2N及びnR×2Nという、8種類の分割パターンが示されている。これら分割パターンのうち、イントラ予測では、2N×2N及びN×Nの2種類が選択可能である(N×NはSCUでのみ選択可能)。一方、インター予測では、非対称動き分割が有効化されている場合に、8種類の分割パターンの全てが選択可能である。
 (CUへのTUの設定)
 TUは、直交変換処理の処理単位である。TUは、CU(イントラCUについては、CU内の各PU)をある深さまで分割することにより形成される。図3は、図1に示したCUへのTUの設定について説明するための説明図である。図3の右には、C02に設定され得る1つ以上のTUが示されている。例えば、TUであるT01は、32×32画素のサイズを有し、そのTU分割の深さはゼロに等しい。TUであるT02は、16×16画素のサイズを有し、そのTU分割の深さは1に等しい。TUであるT03は、8×8画素のサイズを有し、そのTU分割の深さは2に等しい。
 上述したCU、PU及びTUといったブロックを画像に設定するためにどのようなブロック分割を行うかは、典型的には、符号化効率を左右するコストの比較に基づいて決定される。エンコーダは、例えば1つの2M×2M画素のCUと、4つのM×M画素のCUとの間でコストを比較し、4つのM×M画素のCUを設定した方が符号化効率が高いならば、2M×2M画素のCUを4つのM×M画素のCUへと分割することを決定する。
 しかしながら、HEVCにおいて選択可能なブロックサイズの種類は、旧来の画像符号化方式と比較すると格段に多い。選択可能なブロックサイズの種類が多いということは、最適なブロックサイズを探索するためにコストを比較すべきブロックサイズの組合せが多いことを意味する。対照的に、AVCにおける(符号化処理の処理単位である)マクロブロックのブロックサイズは16×16画素に限定されていた。AVCにおける予測ブロックのブロックサイズは可変的であったが、そのサイズの上限は16×16画素であった。AVCにおける変換ブロックのブロックサイズは、4×4画素又は8×8画素であった。HEVCにおける選択可能なブロックサイズの種類の増加は、限られた時間内でより多くの情報をより速く処理しなければならないという要件をエンコーダに課し、エンコーダの実装コストを増加させる。
 (CU/PUの走査順)
 画像を符号化する際、画像(又はスライス、タイル)内に格子状に設定されるCTB(又はLCU)が、ラスタスキャン順に走査される。1つのCTBの中では、CUは、四分木を左から右、上から下に辿るように走査される。カレントブロックを処理する際、上及び左の隣接ブロックの情報が入力情報として利用される。図4は、CU/PUの走査順について説明するための説明図である。図4の左上には、1つのCTBに含まれ得る4つのCUである、C10、C11、C12及びC13が示されている。各CUの枠内の数字は、処理の順序を表現している。符号化処理は、左上のCUであるC10、右上のCUであるC11、左下のCUであるC12、右下のCUであるC13の順で実行される。図4の右には、CUであるC11に設定され得るインター予測のための1つ以上のPUが示されている。図4の下には、CUであるC12に設定され得るイントラ予測のための1つ以上のPUが示されている。これらPUの枠内の数字に示したように、PUもまた、左から右、上から下に辿るように走査される。1つのブロックがより多くのサブブロックに分割されると、直列的に走査されるべきサブブロックの数が増加する結果、処理回路のクロックがタイトになり、メモリアクセスの回数も増大する。よって、こうしたより小さいブロックへのブロック分割もまた、エンコーダの性能要件の上昇の原因となり得る。
 (隣接ブロックの参照)
 HEVCのインター予測は、適応動きベクトル予測(AMVP:Adaptive Motion Vector Prediction)と呼ばれる仕組みを有する。AMVPでは、動きベクトル情報の符号量を削減するために、カレントPUの動きベクトル情報が、隣接PUの動きベクトル情報に基づいて予測符号化される。図5は、インター予測処理における隣接PUの参照について説明するための説明図である。図5の例において、カレントCUに2つのPUである、P10、P11が設定されている。PUであるP11は、カレントPUである。PUであるP11についてのインター予測処理のAMVPでは、左の隣接ブロックNA0及びNA1並びに上の隣接ブロックNB0、NB1及びNB2に設定された動きベクトルが、予測動きベクトルの候補として参照される。従って、PUであるP11についてのインター予測処理は、これら上及び左の隣接ブロックについてのインター予測処理の終了を待ってから実行されることになる。
 HEVCのイントラ予測では、カレントPUの予測画素値が、隣接PUの参照画素値を用いて計算される。図6は、イントラ予測処理における隣接PUの参照について説明するための説明図である。図6の例において、PU P21がカレントPUである。画素PX11は、PU P11に属する画素である。一方、画素q0乃至q6は上の隣接PUに属する参照画素であり、画素r1乃至r6は左の隣接PUに属する参照画素である。例えば、イントラDC予測における画素PX11の予測画素値は、参照画素q1、q2、q3、q4、r1、r2、r3及びr4の画素値の平均に等しい。
 図5及び図6を用いて説明したブロック間の参照関係もまた、1つのブロックがより多くのブロックに分割された場合のエンコーダの性能要件の上昇の要因である。例えば、隣接ブロックの処理の終了までカレントブロックの処理を開始できない結果として、処理回路のクロックはタイトになり得る。また、隣接ブロックの画素値を保持するバッファへのアクセスの回数は、参照画素が利用される回数に依存し得る。
 (モード選択)
 ところで、AVCそしてHEVC符号化方式において、より高い符号化効率を達成するには、適切な予測モードの選択が重要である。
 かかる選択方式の例として、JM (Joint Model) と呼ばれるAVCの参照ソフトウエア (http://iphome.hhi.de/suehring/tml/index.htm において公開されている) に実装されている方法を挙げることが出来る。
 JMにおいては、以下に述べる、High Complexity Modeと、Low Complexity Modeの2通りのモード判定方法を選択することが可能である。どちらも、それぞれの予測モードModeに関するコスト関数値を算出し、これを最小にする予測モードを当該ブロック乃至マクロブロックに対する最適モードとして選択する。
 High Complexity Modeにおけるコスト関数は、以下の式(1)のように示される。
Figure JPOXMLDOC01-appb-I000001
 ここで、Ωは、当該ブロック乃至マクロブロックを符号化するための候補モードの全体集合、Dは、当該予測モードで符号化した場合の、復号画像と入力画像の差分エネルギーである。λは、量子化パラメータの関数として与えられるLagrange未定乗数である。Rは、直交変換係数を含んだ、当該モードで符号化した場合の総符号量である。
 つまり、High Complexity Modeでの符号化を行うには、上記パラメータD及びRを算出するため、全ての候補モードにより、一度、仮エンコード処理を行う必要があり、より高い演算量を要する。
 Low Complexity Modeにおけるコスト関数は、以下の式(2)のように示される。
Figure JPOXMLDOC01-appb-I000002
 ここで、Dは、High Complexity Modeの場合と異なり、予測画像と入力画像の差分エネルギーとなる。Qp2Quant(QP)は、量子化パラメータQpの関数として与えられ、HeaderBitは、直交変換係数を含まない、動きベクトルや、モードといった、Headerに属する情報に関する符号量である。
 すなわち、Low Complexity Modeにおいては、それぞれの候補モードに関して、予測処理を行う必要があるが、復号画像までは必要ないため、符号化処理まで行う必要はない。このため、High Complexity Modeより低い演算量での実現が可能である。
 (画面間予測)
 HEVCにおける動き補償処理は、AVCと同様に、輝度信号は1/4画素精度、色差信号は1/8画素精度の動き補償処理をすることが可能である。
 ただし、AVCにおいては、輝度信号に6タップのフィルタを用い、色差信号は線形内挿による動き補償を行うのに対し、HEVCにおいては、輝度信号には8または7タップの、色差信号には4タップのフィルタによって動き補償が行われる。すなわち、HEVCにおいては、AVCと比して、タップ長が長くなっていることに加え、演算精度が16ビットに向上されている。
 さらに、水平方向の積和演算を行って丸め処理を行い、垂直方向の積和演算を行って丸め処理を行うといった2段階の処理を行うのではなく、水平方向と垂直方向の積和演算を行った後、1度だけ丸め処理を行うことによって、演算誤差を減少させ、より高い符号化効率を実現させている。
 また、HEVCにおいては、対称分割(単一のCUを、上下もしくは左右に均等な大きさのPU形状に分割)による動き補償パーティションに加え、非対称分割(単一のCUを、上下もしくは左右に不均等な大きさのPU形状に分割)による動き補償パーティションを用いることも可能であり、これによって、さらに符号化効率を向上させている。
 (画面内予測)
 図7は、AVCとHEVCとの画面内予測の違いを示す図である。HEVCにおいては、近接画素間の相関関係を利用し圧縮率を向上させるため、復号済みの画素値を用いた画面内予測符号化が行われる。画面内予測の場合、予測は正方形のTU単位で行われ、4×4、8×8、16×16、32×32の4サイズがある。HEVCの画面内予測は、AVCの画面内予測と比して、次のようにさまざまに改良されている。
 まず、被符号化ブロックに隣接する参照画素に、条件によりフィルタをかけるため、雑音除去によって予測効率が高まり、とくに参照画素から遠い場所での予測効率が高まっている。また、上記フィルタ処理において、グラデーション領域符号化の視覚的な品質を高めるための特別なフィルタ処理が条件によって施される。
 方向性予測は、AVCが9方向であったのに対して、HEVCにおいては、33方向と、方向性予測がより細かく指定できるようになっており、微妙な角度でも高い効率で予測か可能である。
 また、HEVCにおいては、AVCにもあったDC予測、水平・垂直予測がそれぞれ改良されており、AVCのPlane予測に代わる、より高性能なPlanar予測が導入されている。
 AVCの画面内予測ブロックサイズは、4×4、8×8、16×16であったが、HEVCは、これらに加えて、32×32もある。また、全ブロックサイズで予測の種類が共通である。
 以上のように、HEVCにおいては、PU毎に2通りの非方向性予測と33通りの方向性予測をまとめて0乃至34と番号付けされた画面内予測モード番号(predModeIntra)が与えられる。TUは、PUと同じか、より小さいサイズの正方形となり、符号化・復号、画面内予測はTU単位に行われる。PU内の各TUでは、同一のpredModeIntraが用いられる。
 次に、3種類の画面内予測処理について説明する。なお、以降、TU内で生成される予測画素値をpreSamples[x][y]と記す。
 1.Planar予測(predModeIntra=0の場合)
 Planar予測においては、予測画素値が、4個の参照画素値を使って滑らかに生成される。Planar予測の予測画素値は、次の式(3)で表わされる。
Figure JPOXMLDOC01-appb-M000003
 図8は、Planar予測を説明する図である。Planar予測においては、p[N][-1]が(N,y)でなく、(N+1,y)の位置にあるかのように、また、p[-1][N]が(x,N-1)の位置にあるかのように見立て、(x,y)の位置で、水平/垂直にそれぞれ線形補間した値(○)の平均が補間値となる。
 すなわち、AVCのplane予測では、最小二乗平面で予測画像が作られたが、HEVCのPlanar予測では、予測画像は曲面となる。
 2.直流(DC)予測(predModeIntra=1の場合)
 予測画像は、図9の黒丸で示される参照画素(2N個)の平均値(dcVal)でTU内を埋め尽くすことで生成される。DC予測の予測画素値は、次の式(4)で表わされる。
Figure JPOXMLDOC01-appb-M000004
 ただし、輝度信号でTUサイズ(N)が32未満の場合、TUの上縁・左縁の画素については、最近傍の参照画像(図9の白丸で示される予測画素と破線で繋がれた黒丸で示される参照画素)との重み付き平均をとることで、破線方向の画素値変化を低減させることができる。
 すなわち、次の式(5)に示されるように、AVCのDC予測では参照画素平均値で予測画像が作られたが、HEVCのDC予測では、参照画素に隣接する部分を馴染ませる処理が加えられている。
Figure JPOXMLDOC01-appb-M000005
 
 なお、縁以外はdeValそのままである。
 3.方向性予測(predModeIntra=2乃至34の場合)
 ・参照方向の傾き
 図10は、predModeIntraと参照方向を示す図である。図10の矢印が、方向性予測(predModeIntra=2乃至34の33通り)における画素値参照方向を表している。矢印が指している先の数字をみると参照方向の傾きがわかる。例えば、predModeIntra=10の場合は水平方向(y方向の変化が0であるため)の参照、13の場合は-9/32の傾きの参照(x方向の変化が-32、y方向の変化が-9であるため)、22の場合は32/13の傾きの参照(x方向の変化が-13、y方向の変化が-32であるため)になる。
 ・内分値による予測
 図11は、predModeIntra=22の場合の予測例を示す図である。なお、図11においては、図9の場合と同じ座標系が用いられている。predModeIntra=22の場合の(3,2)の位置を求めるには、参照方向の傾きが32/13であるので、参照画素のあるラインまでy方向に-3移動すると、x軸方向には13/32*3=39/32ずれてしまう。すなわち、実際には、(1,-1)から25/32、(2,-1)から7/32離れたところ(図11の破線の丸)の画素値を仮想的に求めることになってしまう。
 HEVCにおいては、この値を参照画素からの距離に応じた内分計算により求める。すなわち、次の式(6)が(3,2)の位置の画面内予測値となる。なお、参照先が整数画素位置であれば、内分計算は行われず、その位置の参照画素値がそのまま予測値となる。
Figure JPOXMLDOC01-appb-M000006
 ・invAngleを使った間引き転写と予測
 図11において、(0,2)の位置の予測値を求める場合、AVCでは、左の参照画素列から三角の位置の画素値を求めるが、HEVCでは、補間値計算に先立って、参照画素が一直線(この場合(predModeIntra=22>18)水平。predModeIntraが18未満のときは垂直)に並ぶように指定されるinvAngle(inverse angle parameter,図10の矢印が指す数字(-2乃至32の整数)の逆数に8192(=213)をかけ整数に丸めたもの)という値を使った間引き転写が行われる。この間引き転写は、次の式(7)で表わされる。
Figure JPOXMLDOC01-appb-M000007
 predModeIntra=22の場合、invAngleは-630であるので、次の式(8)のように間引き転写がなされる。
Figure JPOXMLDOC01-appb-M000008
 その後、次に式(9)に示されるように、上述の(3,2)の場合とまったく同様に補間値が求められる。
Figure JPOXMLDOC01-appb-M000009
 ・予測値の例外処理
 さらに、輝度信号でN<32の場合、以下の例外的な予測が行われる。
 predModeIntra=10(水平方向参照)の場合は予測画像上端の一行を、
predSamples[x][0]=Clip(p[-1][0]+((p[x][-1]-p[-1][-1])>>1))(x=0..N-1)
と、predModeIntra=26(垂直方向参照)の場合は左端の一行を、
predSamples[0][y]=Clip(p[0][-1]+((p[-1][y]-p[-1][-1])>>1))(y=0..N-1)
と予測します。なお、Clip()は、引数を輝度信号の取り得る値(8ビット画像であれば0乃至255)にクリッピングする(上下限内におさめる)関数である。
 以上のように、HEVCは、AVCに対しても非常に多くの予測モードがあり、さらに、符号化効率向上のための改良により計算量も増えている。したがって、上述した式(1)や式(2)を用いて、全てのモードのコストを計算すると、計算量が膨大になってしまい、例えば、低遅延やリアルタイムといった用途のエンコーダとして使用することが困難であった。
 単純に候補となるモードの数を限定するということでエンコード時間を減らすことができるが、符号化効率が悪化してしまう恐れがある。符号化効率とは圧縮率とも呼ばれ、符号化効率が悪化すると、同じ画質(上記の歪み量(差分エネルギ)に相当)では、圧縮されたデータのサイズが大きくなり、同じデータのサイズであれば、画質が低下してしまう。したがって、画質がよく、データのサイズを小さくしたいという目的から望ましくはない。
 そこで、本技術においては、画像ピクチャ間の参照関係を示す情報であるピクチャデプスに応じて選択対象となる予測モードの種類が制限された状態で、画像を符号化する際に用いる予測モードが設定される。そして、設定された予測モードに従って、画像が再帰的に分割された符号化ブロック毎に符号化される。
  次に、以上のような本技術について、具体的な装置への適用例について説明する。
 <第1の実施の形態>
 (符号化装置の一実施の形態の構成例)
 図12は、本技術を適用した符号化装置の一実施の形態の構成例を示すブロック図である。
 図12の符号化装置12は、A/D変換部31、画面並べ替えバッファ32、演算部33、直交変換部34、量子化部35、可逆符号化部36、蓄積バッファ37、逆量子化部38、逆直交変換部39、および加算部40を有する。また、符号化装置12は、フィルタ41、フレームメモリ44、スイッチ45、イントラ予測部46、動き予測・補償部47、予測画像選択部48、レート制御部49、およびモードテーブル設定部50を有する。
 符号化装置12のA/D変換部31は、符号化対象として入力されたフレーム単位の画像をA/D変換する。A/D変換部31は、変換後のデジタル信号である画像を画面並べ替えバッファ32に出力して記憶させる。
 画面並べ替えバッファ32は、記憶した表示の順番のフレーム単位の画像を、GOP構造に応じて、符号化のための順番に並べ替える。画面並べ替えバッファ32は、並べ替え後の画像を、演算部33、イントラ予測部46、動き予測・補償部47、およびモードテーブル設定部50に出力する。また、画面並べ替えバッファ32は、画像の種類の情報として、画像のピクチャタイプ(スライスタイプも含む)と、画像間の参照関係を示す情報として、画像のピクチャデプスを、モードテーブル設定部50に出力する。
 演算部33は、画面並べ替えバッファ32から供給される画像から、予測画像選択部48から供給される予測画像を減算することにより符号化を行う。演算部33は、その結果得られる画像を、残差情報(差分)として直交変換部34に出力する。なお、予測画像選択部48から予測画像が供給されない場合、演算部33は、画面並べ替えバッファ32から読み出された画像をそのまま残差情報として直交変換部34に出力する。
 直交変換部34は、TU単位で、演算部33からの残差情報に対して直交変換処理を行う。直交変換部34は、直交変換処理後の直交変換処理結果を量子化部35に供給する。
 量子化部35は、直交変換部34から供給される直交変換処理結果を量子化する。量子化部35は、量子化の結果得られる量子化値を可逆符号化部36に供給する。
 可逆符号化部36は、最適イントラ予測モードを示す情報(以下、イントラ予測モード情報という)をイントラ予測部46から取得する。また、可逆符号化部36は、最適インター予測モードを示す情報(以下、インター予測モード情報という)、動きベクトル、参照画像を特定する情報などを動き予測・補償部47から取得する。また、可逆符号化部36は、フィルタ41からオフセットフィルタに関するオフセットフィルタ情報を取得する。
 可逆符号化部36は、量子化部35から供給される量子化値に対して、可変長符号化や算術符号化などの可逆符号化を行う。
 また、可逆符号化部36は、イントラ予測モード情報、または、インター予測モード情報、動きベクトル、および参照画像を特定する情報、並びにオフセットフィルタ情報などを、符号化に関する符号化情報として可逆符号化する。可逆符号化部36は、可逆符号化された符号化情報と量子化値を、符号化データとして蓄積バッファ37に供給し、蓄積させる。
 なお、可逆符号化された符号化情報は、可逆符号化された量子化値のヘッダ情報(例えばスライスヘッダ)とされてもよい。
 蓄積バッファ37は、可逆符号化部36から供給される符号化データを、一時的に記憶する。また、蓄積バッファ37は、記憶している符号化データを、符号化ストリームとして伝送部13に供給する。
 また、量子化部35より出力された量子化値は、逆量子化部38にも入力される。逆量子化部38は、量子化値を逆量子化する。逆量子化部38は、逆量化の結果得られる直交変換処理結果を逆直交変換部39に供給する。
 逆直交変換部39は、TU単位で、逆量子化部38から供給される直交変換処理結果に対して逆直交変換処理を行う。逆直交変換の方式としては、例えば、IDCT(逆離散コサイン変換)とIDST(逆離散サイン変換)がある。逆直交変換部39は、逆直交変換処理の結果得られる残差情報を加算部40に供給する。
 加算部40は、逆直交変換部39から供給される残差情報と、予測画像選択部48から供給される予測画像を加算し、復号を行う。加算部40は、復号された画像をフィルタ41とフレームメモリ44に供給する。
 フィルタ41は、加算部40から供給される復号された画像に対して、フィルタ処理を行う。具体的には、フィルタ41は、デブロックフィルタ処理と適応オフセットフィルタ(SAO(Sample adaptive offset))処理を順に行う。フィルタ41は、フィルタ処理後の符号化済みのピクチャをフレームメモリ44に供給する。また、フィルタ41は、行われた適応オフセットフィルタ処理の種類とオフセットを示す情報を、オフセットフィルタ情報として可逆符号化部36に供給する。
 フレームメモリ44は、フィルタ41から供給される画像と、加算部40から供給される画像を蓄積する。フレームメモリ44に蓄積されたフィルタ処理が行われていない画像のうちのPU(Prediction Unit)に隣接する画像は、周辺画像としてスイッチ45を介してイントラ予測部46に供給される。一方、フレームメモリ44に蓄積されたフィルタ処理が行われた画像は、参照画像としてスイッチ45を介して動き予測・補償部47に出力される。
 イントラ予測部46は、PU単位で、フレームメモリ44からスイッチ45を介して読み出された周辺画像を用いて、候補となる全てのイントラ予測モードのイントラ予測処理を行う。
 また、イントラ予測部46は、画面並べ替えバッファ32から読み出された画像と、イントラ予測処理の結果生成される予測画像とに基づき、モードテーブル設定部50から供給される情報が示す使用可能であるイントラ予測モードに対してコスト関数値(詳細は後述する)を算出する。そして、イントラ予測部46は、コスト関数値が最小となるイントラ予測モードを、最適イントラ予測モードに決定する。
 イントラ予測部46は、最適イントラ予測モードで生成された予測画像、および、対応するコスト関数値を、予測画像選択部48に供給する。イントラ予測部46は、予測画像選択部48から最適イントラ予測モードで生成された予測画像の選択が通知された場合、イントラ予測モード情報を可逆符号化部36に供給する。なお、イントラ予測モードとはPUのサイズ、予測方向などを表すモードである。
 動き予測・補償部47は、モードテーブル設定部50から供給される情報が示す使用可能であるインター予測モードの動き予測・補償処理を行う。具体的には、動き予測・補償部47は、画面並べ替えバッファ32から供給される画像と、フレームメモリ44からスイッチ45を介して読み出される参照画像に基づいて、モードテーブル設定部50から供給される情報が示す使用可能であるインター予測モードの動きベクトルをPU単位で検出する。そして、動き予測・補償部47は、その動きベクトルに基づいてPU単位で参照画像に補償処理を施し、予測画像を生成する。
 このとき、動き予測・補償部47は、画面並べ替えバッファ32から供給される画像と予測画像とに基づいて、モードテーブル設定部50から供給される情報が示す使用可能であるインター予測モードに対してコスト関数値を算出し、コスト関数値が最小となるインター予測モードを最適インター予測モードに決定する。そして、動き予測・補償部47は、最適インター予測モードのコスト関数値と、対応する予測画像を予測画像選択部48に供給する。また、動き予測・補償部47は、予測画像選択部48から最適インター予測モードで生成された予測画像の選択が通知された場合、インター予測モード情報、対応する動きベクトル、参照画像を特定する情報などを可逆符号化部36に出力する。なお、インター予測モードとは、PUのサイズなどを表すモードである。
 予測画像選択部48は、イントラ予測部46および動き予測・補償部47から供給されるコスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの、対応するコスト関数値が小さい方を、最適予測モードに決定する。そして、予測画像選択部48は、最適予測モードの予測画像を、演算部33および加算部40に供給する。また、予測画像選択部48は、最適予測モードの予測画像の選択をイントラ予測部46または動き予測・補償部47に通知する。
 レート制御部49は、蓄積バッファ37に蓄積された符号化データに基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部35の量子化動作のレートを制御する。また、レート制御部49は、量子化パラメータQpを、モードテーブル設定部50に供給する。
 モードテーブル設定部50は、ピクチャタイプおよびピクチャデプス、統計情報、アプリケーション、並びに、量子化パラメータQpなどの少なくとも1つに応じて、どの予測モードが使用可能で、どの予測モードが使用不可能であるかが示されている(すなわち、選択対象となる予測モードの種類が制限されている状態である)複数のモードテーブルを有している。換言するに、これらのモードテーブルは、上述した情報と、選択対象となる予測モードとの対応関係をテーブル形式で表わしたものである。
 モードテーブル設定部50は、例えば、CTB毎に、モードテーブル選択処理を行う。具体的には、モードテーブル設定部50は、画面並べ替えバッファ32から読み出された原画像から統計情報を算出し、算出した統計情報、画面並べ替えバッファ32からのピクチャタイプおよびピクチャデプス、並びにレート制御部49からの量子化パラメータQpなどに応じて、複数のモードテーブルのうち、使用するモードテーブルを決定し、使用可能な予測モードを決定する。モードテーブル設定部50は、決定した使用可能な予測モードの情報を、イントラ予測部46および動き予測・補償部47に供給する。例えば、使用可能な予測モードが1つであれば、処理対象のCTBの予測モードは、それに決定される。すなわち、予測画像選択部48で決定される予測モードは、モードテーブル設定部50が決定した使用可能な予測モードのいずれかである。
 図13は、モードテーブル設定部50の構成例を示すブロック図である。
 図13のモードテーブル設定部50は、統計情報算出部61、テーブル選択部62、およびテーブル記憶部63を含むように構成されている。
 統計情報算出部61は、画面並べ替えバッファ32から読み出された原画像から統計情報を算出する。統計情報としては、例えば、Variance64×64やSAD64×64がある。これらは、それぞれ、式(10)と式(11)で表わされる。
Figure JPOXMLDOC01-appb-M000010
Figure JPOXMLDOC01-appb-M000011
 ここで、統計情報としては、Variance64×64やSAD64×64に限らず、Complexityや動きを推定可能な統計情報であるならば他の情報でもよい。例えば、Complexityであれば、Total VariationやMAD(Mean Absolute Deviation : 平均絶対偏差)でもよい。また、統計情報を求める単位も一例として64×64を用いたが、8×8、16×16、32×32単位で算出してもよいし、さらに、いずれかの単位での平均値でもよい。
 なお、統計情報を用いた例としては、ピクチャタイプがIスライスであるか否か、または、統計情報が所定の閾値より大きいか小さいかなどに応じて、その領域が、グラデーションエリアか、ファストエッジエリアか、それら以外のノーマルエリアかが判定され、各エリアに対応するモードテーブルが選択される。なお、ファストエッジエリアとは、例えば、監視カメラなどで撮像される、例えば、通り過ぎる人の輪郭などの早い動きのエッジがあるエリアのことをいう。
 具体的には、Iスライスであって、Varianceが閾値Th_var_flat以下の場合、グラデーションエリアであると判定される。
 また、Iスライス以外であって、SADが、閾値Th_sao_low以上、かつ、閾値Th_sao_high(Th_sad_low<Th_sad_high)以下の場合(すなわち、ある程度の動きがある場合)で、Varianceが閾値Th_var_flat以下の場合、グラデーションエリアであると判定される。
 Iスライス以外であって、SADが、閾値Th_sao_low以上、かつ、閾値Th_sao_high(Th_sad_low<Th_sad_high)以下の場合(すなわち、ある程度の動きがある場合)で、Varianceが閾値Th_var_flatより大きく、閾値Th_var_edge_low以上であり、閾値Th_var_edge_highである場合(すなわち、ある程度の複雑さがある場合)、ファストエッジエリアであると判定される。なお、Th_var_flat<Th_var_edge_low<Th_var_edge_highである。
 それ以外の場合、ノーマルエリアであると判定される。すなわち、Iスライスであって、Varianceが閾値Th_var_flatより大きい場合、ノーマルエリアであると判定される。Iスライス以外であって、SADが、閾値Th_sao_low以上、かつ、閾値Th_sao_high(Th_sad_low<Th_sad_high)以下の場合(すなわち、ある程度の動きがある場合)で、Varianceが閾値Th_var_flatより大きいが、閾値Th_var_edge_low以下、または、閾値Th_var_edge_high以上である場合、ノーマルエリアであると判定される。
 また、Iスライス以外であって、SADが、閾値Th_sao_lowより小さいか、または、閾値Th_sao_high(Th_sad_low<Th_sad_high)より大きい場合も、ノーマルエリアであると判定される。
 なお、閾値Th_var_flat、閾値Th_sad_low、閾値Th_sad_high、閾値Th_var_edge_low、閾値Th_var_edge_は、量子化パラメータQpに応じて値が変わる閾値である。これは、Qpが大きい場合に発生量増分対策であり、このようにすることで、領域が調整されるので、Qpが大きい場合の発生量増分を抑えることができる。
 そして、グラデーションエリアの場合とファストエッジエリアの場合、対応するテーブルとして、例えば、主観画質を考慮したテーブルが選択される。それら以外のノーマルエリアの場合、対応するテーブルとして、符号化効率最大値化を考慮したテーブルが選択される。
 なお、例えば、主観画質を考慮して作成されたモードテーブルは、8×8より大きいサイズを選択すると画質に影響がでてしまうので、8×8より大きいサイズは選択されない。符号化効率最大値化を考慮したテーブルにおいては、例えば、量子化パラメータQpが低いほど、コスト関数値の計算における歪み量の重要度が高いので、一般的に歪み量の小さい4×4のインター予測モードまたはイントラ予測モードが使用可能とされている。一方、量子化パラメータQpが高いほど、コスト関数値の計算におけるビット発生量の重要度が高いので、符号化効率の高い64×64などの大きなインター予測モードまたはイントラ予測モードが使用可能とされている。
 また、一般に平坦部では、64×64のインター予測モードやイントラ予測モードを選択した方が、符号化効率がよくなる傾向がある。これに対して、同じ平坦部でも滑らかなグラデーションエリアにおいては、また、人物や物体の輪郭などエッジのあるファストエッジエリアについても同様に4×4などの細かいインター予測モードやイントラ予測モードを選択した方が主観上よくなる傾向がある。このような傾向があることに基づいて、テーブルの選択が行われている。
 統計情報算出部61は、算出した統計情報(Variance64×64、SAD64×64)をテーブル選択部62に供給する。テーブル選択部62には、さらに、画面並べ替えバッファ32からの画像のピクチャタイプおよびピクチャデプスと、レート制御部49からの量子化パラメータQpが供給される。
 テーブル選択部62は、ピクチャタイプ、ピクチャデプス、統計情報、アプリケーション、Qpなどに応じて、テーブル記憶部63に記憶されている、選択対象となる予測モードの種類が制限された状態にある複数のモードテーブルのうち、使用するモードテーブルを決定する。
 そして、テーブル選択部62は、決定したテーブルから(すなわち、選択対象となる予測モードの種類が制限された状態で)、使用可能な予測モードを取得する。なお、使用が制限された状態とは、すなわち使用不可能な状態であり、換言するに、全予測モードから、使用可能なモードの数を絞り込んだ状態である。テーブル選択部62は、取得した使用可能な予測モードの情報を、イントラ予測部46と動き予測・補償部47に供給する。
 テーブル記憶部63は、メモリなどで構成され、ピクチャタイプおよびピクチャデプス、統計情報、アプリケーション、並びに、量子化パラメータQpに応じて、どの予測モードが使用可能で、どの予測モードが使用不可能であるかが示されている(すなわち、選択対象となる予測モードの種類が制限されている状態である)複数のモードテーブルを記憶している。
 次に、図14および図15を参照して、ピクチャデプスについて説明する。動画像のエンコードには、インター予測が用いられる。インター予測においては、エンコード済みのピクチャを用いて、現時のエンコード対象のブロックが予測される。そのため、エンコードするピクチャの順序と参照関係が重要になる。ピクチャデプスは、画像のピクチャ間(GOP構造)の参照関係を示す情報であり、詳しくは、参照関係において、同じ状況にあるものを、例えば、1乃至5にグルーピングするものである。
 図14および図15の例においては、横方向がデコード順序の時間を表しており、長方形は、ピクチャを表しており、長方形の中のI,B,Pは、ピクチャタイプが、Iピクチャ、Bピクチャ、Pピクチャであることを表している。また、ピクチャから出ている矢印は、インター予測を行うために参照するピクチャを表している。
 ピクチャデプス1には、IピクチャとPピクチャが含まれている。ピクチャデプス1のIピクチャは何も参照しない。ピクチャデプス1の左のPピクチャは、ピクチャデプス1のIピクチャを参照している。ピクチャデプス1の右のPピクチャは、左のPピクチャを参照している。
 ピクチャデプス2には、ピクチャデプス1のピクチャを参照するBピクチャが含まれている。ピクチャデプス2の左側のBピクチャは、ピクチャデプス1のIピクチャと左のPピクチャを参照している。ピクチャデプス2の右側のBピクチャは、ピクチャデプス1の左のPピクチャと右のPピクチャを参照している。
 ピクチャデプス3には、1方向は、ピクチャデプス1のピクチャを参照し、他の1方向はピクチャデプス2のBピクチャを参照するBピクチャが含まれている。ピクチャデプス3の一番左のBピクチャは、ピクチャデプス1のIピクチャと、ピクチャデプス2の左側のBピクチャを参照している。ピクチャデプス3の左から2番目のBピクチャは、ピクチャデプス2の左側のBピクチャと、ピクチャデプス1の左のPピクチャとを参照している。
 ピクチャデプス3の左から3番目のBピクチャは、ピクチャデプス1の左のPピクチャとピクチャデプス2の右側のBピクチャとを参照している。ピクチャデプス3の左から4番目のBピクチャは、ピクチャデプス2の右側のBピクチャと、ピクチャデプス1の右のPピクチャとを参照している。
 すなわち、図14の例において、ピクチャデプス2のBピクチャは、ピクチャデプス1のピクチャを参照することが示されている。ピクチャデプスが同じピクチャは参照関係が似ているため、高速化するための条件も似ていることからモードテーブルの1つの条件となっている。
 図15の例においては、ピクチャデプス1には、同じデプスのピクチャと、下のデプスのピクチャとの2つのピクチャから参照すされるピクチャが含まれている。ピクチャデプス1のIピクチャは何も参照しない。ピクチャデプス1の左のPピクチャは、ピクチャデプス1のIピクチャを参照している。ピクチャデプス1の右のPピクチャは、左のPピクチャを参照している。
 ピクチャデプス2には、下のデプスのピクチャだけから参照されるPピクチャが含まれている。ピクチャデプス2の左側のPピクチャは、ピクチャデプス1のIピクチャを参照している。ピクチャデプス2の右側のPピクチャは、ピクチャデプス1の左のPピクチャを参照している。
 ピクチャデプス3には、他のピクチャから参照されないピクチャが含まれている。ピクチャデプス3の左側のPピクチャは、ピクチャデプス2の左のPピクチャを参照している。ピクチャデプス3の右側のPピクチャは、ピクチャデプス2の右のPピクチャを参照している。
 図15の例の場合も、同じピクチャデプスのピクチャの参照関係は似ていることがわかる。
 なお、ここで、図14および図15のピクチャデプスと、式(1)のλのとの関係について説明する。Pピクチャの品質に対しては、IピクチャのPSNRが影響を与える。つまり、IピクチャのPSNRがよいということは、Pの予測性能をあげることに結び付く。
 I,P,Pが同じ品質であるよりも、ビットストリームの割り振りを変えて、Iの品質をよくして、Pの品質をだんだん悪くしていったほうが、ピクチャ全体の平均的な性能がよくなる傾向がある。
 すなわち、Iピクチャの品質をよくするということは、式(1)におけるPSNRをよくする、すなわち、式(1)におけるλを小さくしていることと同意である。これは、式(1)において、Dに対して、Rを軽視してもよいということである。すなわち、PよりもIの方のビットレートを高くしてもよいということであり、このような条件におけるコスト関数の計算の結果においては、小さなブロックの予測モードが選ばれやすい傾向がある。
 したがって、ピクチャデプスが1や2という小さな数字の場合、一般的に、小さいブロックサイズの予測モードが使われ、大きなブロックサイズの予測モードは使用が制限されるようなモードテーブルが選択される。
 (モードテーブルの例)
 図16は、モードテーブルの例を示す図である。図16の例において、イントラ予測の候補としては、64×64、32×32、16×16、8×8、4×4の予測モードがあり、インター予測の候補としては、64×64、64×32、32×64、32×32、32×24、32×16、32×8、24×32、16×32、8×32、16×16、16×12、16×8、16×4、12×16、8×16、4×16、8×8、8×4、4×8、4×4の予測モードがある。また、図16の例において、丸は使用可能なモードであることを示し、バツは使用不可能なモードであることを示している。
 図16の例においては、上から順に、生放送インターネット配信アプリケーション用(生放送用インターネット配信とも称する)のモードテーブルが3種類と、インターネット配信向け録画アプリケーション用(インターネット配信向け録画とも称する)のモードテーブルが3種類と、監視カメラアプリケーション用(監視カメラとも称する)のモードテーブルが3種類の合計9種類のモードテーブルが示されている。
 生放送インターネット配信においては、持ち運びが簡単な機材で撮影しながらエンコードしてインターネットを介してコンテンツ配信を行うものであるため、画質を犠牲にして処理速度を上げる(すなわち、処理量を減らす)必要がある。式(1)のコスト関数を計算する予測モードを極力少なくする。
 具体的には、生放送インターネット配信の場合、画質は低く、処理速度の高速化が必要である。したがって、生放送インターネット配信の3種類のモードテーブルは、どれも、予測モード1種類のみが使用可能である例が示されている。
 まず、ピクチャデプスが1で、ピクチャタイプがIピクチャで、TV(Total Variation)が200で、Variance(分散)が200で、QPが30の場合、イントラ8×8予測モードのみが使用可能であるモードテーブルが選択される。なお、この場合、ピクチャタイプがIピクチャであるので、イントラモードでしか使えないので、イントラモードで1つのモードからなるモードテーブルが選択される。
 また、ピクチャデプスが2で、ピクチャタイプがPピクチャで、TV(Total Variation)が200で、Variance(分散)が200で、QPが30の場合、インター16×16予測モードのみが使用可能であるモードテーブルが選択される。なお、この場合、Pピクチャは、イントラまたはインター両モードで使用できるが、生放送インターネット配信であるので、速度を優先して、インター16×16予測モードのみとしている。
 さらに、ピクチャデプスが2で、ピクチャタイプがPピクチャで、TV(Total Variation)が200で、Variance(分散)が200で、QPが45の場合、インター32×32予測モードのみが使用可能であるモードテーブルが選択される。なお、この場合、ビットレートを低くしている(QPを大きくしている)ので、オーバヘッドを小さくするために大きいサイズだけが使用可能とされている。
 次に、インターネット配信向け録画の場合、一度録画したものをインターネットを介して配信するものであり、一度HDDなどの記憶部に録画して蓄えられるため、処理速度は遅くてもよい。一方、インターネットで配信するので、高画質(高圧縮)が求められる。
 具体的には、インターネット配信向け録画の場合、画質は高く、処理速度は低速でよい。したがって、インターネット配信向け録画の3種類のモードテーブルは、どれも、予測モードが複数使用可能であり、コスト関数を求め比較して用いる例が示されている。
 まず、ピクチャデプスが1で、ピクチャタイプがIピクチャで、TV(Total Variation)が200で、Variance(分散)が200で、QPが25の場合、64×64、32×32、16×16、8×8、4×4のイントラ予測モードが使用可能であるモードテーブルが選択される。なお、この場合、ピクチャタイプがIピクチャであるので、イントラモードでしか使えないので、イントラモードからなるモードテーブルが選択されている。
 また、ピクチャデプスが2で、ピクチャタイプがPピクチャで、TV(Total Variation)が200で、Variance(分散)が200で、QPが25の場合、32×32、16×16、8×8、4×4のイントラ予測モードと、すべてのインター予測モードが使用可能であるモードテーブルが選択される。なお、この場合、Pピクチャは、イントラまたはインター両モードで使用できるので、どちらの予測モードも使用可能とされている。
 さらに、ピクチャデプスが3で、ピクチャタイプがBピクチャで、TV(Total Variation)が200で、Variance(分散)が200で、QPが25の場合、64×64、32×32、16×16のイントラ予測モードと、32×64、32×32、32×24、32×16、32×8、24×32、16×32、8×32、16×16、16×12、16×8、16×4、12×16、8×16、4×16、8×8、8×4、4×8、4×4のインター予測モードが使用可能であるモードテーブルが選択される。なお、Bピクチャは、双方向予測が使えるので、インター予測の性能が高い。したがって、この場合、相対的にイントラ予測の性能が劣るため、使用可能なイントラ予測モードを減らしている。
 最後に、監視カメラの場合、監視カメラの画像をなるべく低遅延で配信するものであり、監視中の画像の遅れが少なくするためにPピクチャだけを用いるようにする。具体的には、監視カメラの場合、画質は中程度で、処理速度は高速が望まれる。
 まず、ピクチャデプスが1で、ピクチャタイプがIピクチャで、TV(Total Variation)が200で、Variance(分散)が200で、QPが25の場合、32×32、16×16、8×8のイントラ予測モードが使用可能であるモードテーブルが選択される。なお、この場合、ピクチャタイプがIピクチャであるので、イントラモードでしか使えないので、イントラモードからなるモードテーブルが選択されている。
 また、ピクチャデプスが2で、ピクチャタイプがPピクチャで、TV(Total Variation)が200で、Variance(分散)が200で、QPが25の場合、32×32、16×16、8×8のイントラ予測モードと、64×64と4×4以外のすべてのインター予測モードが使用可能であるモードテーブルが選択される。なお、この場合、Pピクチャは、イントラまたはインター両モードで使用できるので、どちらの予測モードも使用可能とされている。
 さらに、ピクチャデプスが3で、ピクチャタイプがPピクチャで、TV(Total Variation)が200で、Variance(分散)が200で、QPが25の場合、16×16のイントラ予測モードと、32×64、32×32、32×24、32×16、32×8、24×32、16×32、8×32、16×16、16×12、16×8、16×4、12×16、8×16、4×16、8×8、8×4のインター予測モードが使用可能であるモードテーブルが選択される。ピクチャデプスが2から3になると、参照されることが少なくなるので、速度を優先して、イントラ予測モードの一部を使用しないように制限させる。
 なお、上述したモードテーブルにおいて、制限する予測モードの数は、符号化のアプリケーションに応じて変更することができる。また、制限する予測モードの種類も、符号化のアプリケーションに応じて変更される。ここで、アプリケーションとは、使用目的や使用サービスの形態である。また、アプリケーションには、ビットストリームのビットレート、解像度、画枠などの符号化ツールにリンクするパラメータも含まれる。
 (符号化装置の処理の説明)
 図17および図18は、図12の符号化装置12の符号化処理を説明するフローチャートである。
 図17のステップS61において、符号化装置12のA/D変換部31(図12)は、符号化対象として入力されたフレーム単位の画像をA/D変換する。A/D変換部31は、変換後のデジタル信号である画像を画面並べ替えバッファ32に出力して記憶させる。
 ステップS62において、画面並べ替えバッファ32は、記憶した表示の順番のフレームの画像を、GOP構造に応じて、符号化のための順番に並べ替える。画面並べ替えバッファ32は、並べ替え後のフレーム単位の画像を、演算部33、イントラ予測部46、動き予測・補償部47、およびモードテーブル設定部50に供給する。また、画面並べ替えバッファ32は、画像のピクチャタイプを、モードテーブル設定部50に出力する。
 ステップS63において、モードテーブル設定部50は、モードテーブル選択処理を行う。モードテーブル選択処理の詳細は、図19を参照して後述される。すなわち、モードテーブル設定部50は、画面並べ替えバッファ32から読み出された原画像から統計情報を算出し、算出した統計情報、画面並べ替えバッファ32からのピクチャタイプやピクチャデプス、およびレート制御部49からの量子化パラメータQpなどに応じて、複数のモードテーブルのうち、使用するモードテーブルを決定し、使用可能な予測モードを決定する。モードテーブル設定部50は、決定した使用可能な予測モードの情報を、イントラ予測部46および動き予測・補償部47に供給する。
 ステップS64において、イントラ予測部46は、PU単位で、モードテーブル設定部50から供給される情報が示す使用可能であるイントラ予測モードのイントラ予測処理を行う。すなわち、イントラ予測部46は、画面並べ替えバッファ32から読み出された画像と、イントラ予測処理の結果生成される予測画像とに基づいて、モードテーブル設定部50から供給される情報が示す使用可能であるイントラ予測モードに対してコスト関数値を算出する。そして、イントラ予測部46は、コスト関数値が最小となるイントラ予測モードを、最適イントラ予測モードに決定する。イントラ予測部46は、最適イントラ予測モードで生成された予測画像、および、対応するコスト関数値を、予測画像選択部48に供給する。
 また、動き予測・補償部47は、ステップS65においてPU単位で、モードテーブル設定部50から供給される情報が示す使用可能であるインター予測モードの動き予測・補償処理を行う。また、動き予測・補償部47は、画面並べ替えバッファ32から供給される画像と予測画像とに基づいて、モードテーブル設定部50から供給される情報が示す使用可能であるインター予測モードに対してコスト関数値を算出し、コスト関数値が最小となるインター予測モードを最適インター予測モードに決定する。そして、動き予測・補償部47は、最適インター予測モードのコスト関数値と、対応する予測画像を予測画像選択部48に供給する。
 ステップS66において、予測画像選択部48は、イントラ予測部46および動き予測・補償部47から供給されるコスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちのコスト関数値が最小となる方を、最適予測モードに決定する。そして、予測画像選択部48は、最適予測モードの予測画像を、演算部33および加算部40に供給する。
 ステップS67において、予測画像選択部48は、最適予測モードが最適インター予測モードであるかどうかを判定する。ステップS67で最適予測モードが最適インター予測モードであると判定された場合、予測画像選択部48は、最適インター予測モードで生成された予測画像の選択を動き予測・補償部47に通知する。
 そして、ステップS68において、動き予測・補償部47は、インター予測モード情報、動きベクトル、および参照画像を特定する情報を可逆符号化部36に供給し、処理をステップS70に進める。
 一方、ステップS67で最適予測モードが最適インター予測モードではないと判定された場合、即ち最適予測モードが最適イントラ予測モードである場合、予測画像選択部48は、最適イントラ予測モードで生成された予測画像の選択をイントラ予測部46に通知する。そして、ステップS69において、イントラ予測部46は、イントラ予測モード情報を可逆符号化部36に供給し、処理をステップS70に進める。
 ステップS70において、演算部33は、画面並べ替えバッファ32から供給される画像から、予測画像選択部48から供給される予測画像を減算することにより符号化を行う。演算部33は、その結果得られる画像を、残差情報として直交変換部34に出力する。
 ステップS71において、直交変換部34は、TU単位で、残差情報に対して直交変換処理を行う。直交変換部34は、直交変換処理後の直交変換処理結果を量子化部35に供給する。
 ステップS72において、量子化部35は、直交変換部34から供給される直交変換処理結果を量子化する。量子化部35は、量子化の結果得られる量子化値を可逆符号化部36と逆量子化部38に供給する。
 ステップS73において、逆量子化部38は、量子化部35からの量子化値に対して逆量子化を行う。逆量子化部38は、逆量化の結果得られる直交変換処理結果を逆直交変換部39に供給する。
 ステップS74において、逆直交変換部39は、TU単位で、逆量子化部38から供給される直交変換処理結果に対して逆直交変換処理を行う。逆直交変換部39は、逆直交変換処理の結果得られる残差情報を加算部40に供給する。
 ステップS75において、加算部40は、逆直交変換部39から供給される残差情報と、予測画像選択部48から供給される予測画像を加算し、復号を行う。加算部40は、復号された画像をフィルタ41とフレームメモリ44に供給する。
 ステップS76において、フィルタ41は、加算部40から供給される復号された画像に対して、デブロッキングフィルタ処理を行う。
 ステップS77において、フィルタ41は、デブロッキングフィルタ後の画像に対して、適応オフセットフィルタ処理を行う。フィルタ41は、その結果得られる画像をフレームメモリ44に供給する。また、フィルタ41は、LCUごとに、オフセットフィルタ情報を可逆符号化部36に供給する。
 ステップS78において、フレームメモリ44は、フィルタ41から供給される画像と加算部40から供給される画像を蓄積する。フレームメモリ44に蓄積されたフィルタ処理が行われていない画像のうちのPUに隣接する画像は、周辺画像としてスイッチ45を介してイントラ予測部46に供給される。一方、フレームメモリ44に蓄積されたフィルタ処理が行われた画像は、参照画像としてスイッチ45を介して動き予測・補償部47に出力される。
 ステップS79において、可逆符号化部36は、イントラ予測モード情報、または、インター予測モード情報、動きベクトル、および参照画像を特定する情報、並びにオフセットフィルタ情報などを、符号化情報として可逆符号化する。
 ステップS80において、可逆符号化部36は、量子化部35から供給される量子化値を可逆符号化する。そして、可逆符号化部36は、ステップS78の処理で可逆符号化された符号化情報と可逆符号化された量子化値から、符号化データを生成し、蓄積バッファ37に供給する。
 ステップS81において、蓄積バッファ37は、可逆符号化部36から供給される符号化データを、一時的に蓄積する。
 ステップS82において、レート制御部49は、蓄積バッファ37に蓄積された符号化データに基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部35の量子化動作のレートを制御する。その際、レート制御部49は、量子化パラメータQpを、モードテーブル設定部50に供給する。そして、符号化処理は終了される。
 次に、図19のフローチャートを参照して、図17のステップS63のモードテーブル選択処理の詳細を説明する。なお、この処理は、例えば、CTB単位で行われる。
 モードテーブル設定部50の統計情報算出部61には、画面並べ替えバッファ32から読み出された原画像が供給される。モードテーブル設定部50のテーブル選択部62には、画面並べ替えバッファ32からのピクチャタイプとピクチャデプスを示す情報と、レート制御部49からの量子化パラメータQpが供給される。また、アプリケーションの情報も、図示せぬ利用者などにより入力部などから供給される。
 統計情報算出部61は、ステップS91において、画面並べ替えバッファ32から読み出された原画像から統計情報、例えば、Variance64×64やTotal Variationを算出する。統計情報算出部61は、算出した統計情報(Variance64×64、Total Variation)をテーブル選択部62に供給する。
 テーブル選択部62は、ステップS92において、アプリケーション、ピクチャタイプ、ピクチャデプス、統計情報、およびQpに応じて、例えば、図16に示されたモードテーブルを選択する。そして、テーブル選択部62は、ステップS93において、選択されたモードテーブルから、使用可能な予測モードだけを選択(取得)し、それを示す情報を、イントラ予測部94および動き予測・補償部95に供給する。その後、処理は、モードテーブル選択処理は終了し、図17のステップS63に戻る。
 なお、図19のステップS93の後に、アプリケーション、ピクチャタイプ、ピクチャデプス、統計情報、およびQpと、それらに応じて選択されたモードテーブルによりモードテーブルの内容が更新されるようにしてもよい。
 以上のように、本技術により、エンコードの処理量を減らすことができるため、エンコードにかかる時間を高速化できる。
 単純に予測モードを削減するのではなく、ピクチャデプス、ピクチャタイプ、TV、Variance、Qpなどに依存して、選択される確率の低い予測モードについてのコスト関数を計算しないので、画像品質は維持し、符号化効率の悪化を軽減することができる。
 また、モードテーブルを作成した段階で省略(制限)する予想モードが確定しているため、期待できる高速化の程度が決められる。そのため、Early terminationと呼ばれる高速化テクニックのような条件によって高速化ができる場合とできない場合があるようなことが起こらない。これは、リアルタイム処理が要求される場合には、有効な効果である。
 なお、予めテーブルを用意してある場合、基本的に動画像の内容に依存する部分は、適切なテーブルになっていない。この場合、エンコードの途中でテーブルを更新することで、その動画像に向いた高速化が可能になる。ただし、この場合には、テーブルを更新するために行う処理中は高速化ができない。
 以上においては、符号化方式としてHEVCに準じた方式を用いるようにした。ただし、本技術はこれに限らず、その他の符号化方式/復号方式を適用することができる。
 なお、上記説明においては、モードテーブルを作成しておき、その中から選択する例を説明したが、モードテーブルを持たずに、原画像の統計情報と過去選択された予測モードから、現状の予測モードを学習し、予測モードを予測するようにしてもよい。その際、例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 <第2の実施の形態>
 (本技術を適用したクラウドコンピューティングの構成例)
 図20は、本技術を適用したクラウドコンピューティングシステムの一実施の形態の構成例を示す図である。
 図20に示されるように、クラウドコンピューティングシステム100は、サーバ101が、クライアント102と、インターネットなどのネットワーク103を介して接続されて構成される。
 サーバ101は、図12の符号化装置12、および上述した統計情報と過去選択された予測モードのデータベース111を備えている。符号化装置12は、図13のモードモードテーブル設定部50の代わりに、図22の過去選択された予測モードを学習する機能を有するモードテーブル設定部50を備える。
 符号化装置12(モードテーブル設定部50)は、クライアント102などから画像、ピクチャタイプ、ピクチャデプス、Qpおよび画像の統計情報を受ける。画像を受けた場合、符号化装置12は、クライアント102などからサーバ101にアップされた画像を用いて、統計情報を算出する。
 符号化装置12は、算出した、またはクライアント102からの画像、ピクチャタイプ、ピクチャデプス、Qpおよび画像の統計情報と、データベース111を用いて、過去選択された予測モードから現状の予測モードを、ニューラルネットワークやCNNなどで学習することで選択し、学習した予測モードの情報を、データベース111に登録する。
 あるいは、符号化装置12は、クライアント102からの統計情報を受けると、データベース111を用いて、予測モードを選択し、選択した予測モードの情報を、データベース111に登録し、学習していく。
 学習後、符号化装置12は、選択した予測モードの情報を、クライアント102に提供してもよいし、あるいは、選択した予測モードを用いて、画像を符号化し、クライアント102に提供するために蓄積するようにしてもよい。
 データベース111は、ピクチャタイプ、ピクチャデプス、Qp、および統計情報となど過去選択された予測モードとを記憶している。データベース111は、例えば、それらの情報と過去選択された予測モードとを対応付けて記憶している。
 クライアント102は、例えば、携帯端末などで構成される。クライアント102は、撮像した画像情報や画像情報に基づいて算出された統計情報を、ネットワーク103を介して、サーバ101に送信する。サーバ101から予測モードの情報を受けると、クライアント102は、画像情報を符号化する。
 なお、図20の例において、サーバ101が1台しか示されていないが、複数台で構成される。同様に、クライアント102も1台しか示されていないが、複数台で構成される。
 図21は、図20のモードテーブル設定部50の構成例を示すブロック図である。
 モードテーブル設定部50は、図13の統計情報算出部61を有している点が、図13のモードテーブル設定部50と共通している。モードテーブル設定部50は、テーブル選択部62の代わりに、テーブル選択部121を備え、テーブル記憶部63の代わりに、学習部123およびデータベース111を備えている点が異なっている。
 統計情報算出部61は、算出した統計情報を、テーブル選択部121に供給する。テーブル選択部121は、学習部123により学習することで選択された予測モードを、使用可能な予測モードの情報として、イントラ予測部46や動き予測補償部47、または、クライアント102に供給する。また、テーブル選択部121は、統計情報算出部61からの統計情報、ピクチャタイプおよびピクチャデプス、並びにQpを学習部123に供給する。
 学習部123は、テーブル選択部121からの統計情報、ピクチャタイプ、Qp、並びに、データベース111などを用いて、過去選択された予測モードから現状の予測モードを、ニューラルネットワークやCNNなどで学習し、学習した予測モードの情報を、データベース111に登録する。
 以上のように、クラウドコンピューティングシステム100には限定されないが、クラウドコンピューティングシステム100のように、大量のマシーンパワーが見込める環境であれば、モードテーブルを持たず、その都度学習し、予測するようにすることも可能である。
 なお、本技術は、例えば、HEVC方式等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置に適用することができる。また、本開示は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置に適用することができる。
 <第3の実施の形態>
 (本開示を適用したコンピュータの説明)
 上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
 図22は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 コンピュータにおいて、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に、あらかじめインストールしておくことができる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 <第4の実施の形態>
 (テレビジョン装置の構成例)
 図23は、本技術を適用したテレビジョン装置の概略構成を例示している。テレビジョン装置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が設けられている。
 このように構成されたテレビジョン装置では、上述したように符号化された符号化ストリームを復号する復号装置(復号方法)の機能が設けられる。したがって、符号化効率の悪化を軽減することができる。
 <第5の実施の形態>
 (携帯電話機の構成例)
 図24は、本開示を適用した携帯電話機の概略構成を例示している。携帯電話機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に、本技術の符号化装置(符号化方法)と、上述したように符号化された符号化ストリームを復号する復号装置(復号方法)の機能が設けられる。このため、エンコードにかかる時間を高速化できる。また、符号化効率の悪化を軽減することができる。
 <第6の実施の形態>
 (記録再生装置の構成例)
 図25は、本開示を適用した記録再生装置の概略構成を例示している。記録再生装置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に、上述したように符号化された符号化ストリームを復号する復号装置(復号方法)の機能が設けられる。したがって、エンコードにかかる時間を高速化できる。また、符号化効率の悪化を軽減することができる。
 <第7の実施の形態>
 (撮像装置の構成例)
 図26は、本開示を適用した撮像装置の概略構成を例示している。撮像装置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に本願の符号化装置(符号化方法)と、上述したように符号化された符号化ストリームを復号する復号装置(復号方法)の機能が設けられる。したがって、エンコードにかかる時間を高速化できる。また、符号化効率の悪化を軽減することができる。
 <第8の実施の形態>
 (実施のその他の例)
  以上において本開示を適用する装置やシステム等の例を説明したが、本開示は、これに限らず、このような装置またはシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。
 (ビデオセットの構成例)
  本開示をセットとして実施する場合の例について、図27を参照して説明する。図27は、本開示を適用したビデオセットの概略的な構成の一例を示している。
  近年、電子機器の多機能化が進んでおり、その開発や製造において、その一部の構成を販売や提供等として実施する場合、1機能を有する構成として実施を行う場合だけでなく、関連する機能を有する複数の構成を組み合わせ、複数の機能を有する1セットとして実施を行う場合も多く見られるようになってきた。
  図27に示されるビデオセット1300は、このような多機能化された構成であり、画像の符号化や復号(いずれか一方でもよいし、両方でも良い)に関する機能を有するデバイスに、その機能に関連するその他の機能を有するデバイスを組み合わせたものである。
  図27に示されるように、ビデオセット1300は、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、およびフロントエンドモジュール1314等のモジュール群と、コネクティビティ1321、カメラ1322、およびセンサ1323等の関連する機能を有するデバイスとを有する。
  モジュールは、互いに関連するいくつかの部品的機能をまとめ、まとまりのある機能を持った部品としたものである。具体的な物理的構成は任意であるが、例えば、それぞれ機能を有する複数のプロセッサ、抵抗やコンデンサ等の電子回路素子、その他のデバイス等を配線基板等に配置して一体化したものが考えられる。また、モジュールに他のモジュールやプロセッサ等を組み合わせて新たなモジュールとすることも考えられる。
  図27の例の場合、ビデオモジュール1311は、画像処理に関する機能を有する構成を組み合わせたものであり、アプリケーションプロセッサ、ビデオプロセッサ、ブロードバンドモデム1333、およびRFモジュール1334を有する。
  プロセッサは、所定の機能を有する構成をSoC(System On a Chip)により半導体チップに集積したものであり、例えばシステムLSI(Large Scale Integration)等と称されるものもある。この所定の機能を有する構成は、論理回路(ハードウエア構成)であってもよいし、CPU、ROM、RAM等と、それらを用いて実行されるプログラム(ソフトウエア構成)であってもよいし、その両方を組み合わせたものであってもよい。例えば、プロセッサが、論理回路とCPU、ROM、RAM等とを有し、機能の一部を論理回路(ハードウエア構成)により実現し、その他の機能をCPUにおいて実行されるプログラム(ソフトウエア構成)により実現するようにしてもよい。
  図27のアプリケーションプロセッサ1331は、画像処理に関するアプリケーションを実行するプロセッサである。このアプリケーションプロセッサ1331において実行されるアプリケーションは、所定の機能を実現するために、演算処理を行うだけでなく、例えばビデオプロセッサ1332等、ビデオモジュール1311内外の構成を必要に応じて制御することもできる。
  ビデオプロセッサ1332は、画像の符号化・復号(その一方若しくは両方)に関する機能を有するプロセッサである。
  ブロードバンドモデム1333は、インターネットや公衆電話回線網等の広帯域の回線を介して行われる有線若しくは無線(またはその両方)の広帯域通信に関する処理を行うプロセッサ(若しくはモジュール)である。例えば、ブロードバンドモデム1333は、送信するデータ(デジタル信号)をデジタル変調する等してアナログ信号に変換したり、受信したアナログ信号を復調してデータ(デジタル信号)に変換したりする。例えば、ブロードバンドモデム1333は、ビデオプロセッサ1332が処理する画像データや画像データが符号化されたストリーム、アプリケーションプログラム、設定データ等、任意の情報をデジタル変調・復調することができる。
  RFモジュール1334は、アンテナを介して送受信されるRF(Radio Frequency)信号に対して、周波数変換、変復調、増幅、フィルタ処理等を行うモジュールである。例えば、RFモジュール1334は、ブロードバンドモデム1333により生成されたベースバンド信号に対して周波数変換等を行ってRF信号を生成する。また、例えば、RFモジュール1334は、フロントエンドモジュール1314を介して受信されたRF信号に対して周波数変換等を行ってベースバンド信号を生成する。
  なお、図27において点線1341に示されるように、アプリケーションプロセッサ1331とビデオプロセッサ1332を、一体化し、1つのプロセッサとして構成されるようにしてもよい。
  外部メモリ1312は、ビデオモジュール1311の外部に設けられた、ビデオモジュール1311により利用される記憶デバイスを有するモジュールである。この外部メモリ1312の記憶デバイスは、どのような物理構成により実現するようにしてもよいが、一般的にフレーム単位の画像データのような大容量のデータの格納に利用されることが多いので、例えばDRAM(Dynamic Random Access Memory)のような比較的安価で大容量の半導体メモリにより実現するのが望ましい。
  パワーマネージメントモジュール1313は、ビデオモジュール1311(ビデオモジュール1311内の各構成)への電力供給を管理し、制御する。
  フロントエンドモジュール1314は、RFモジュール1334に対してフロントエンド機能(アンテナ側の送受信端の回路)を提供するモジュールである。図28に示されるように、フロントエンドモジュール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は、本開示を適用したセットとして実施することができる。
 (ビデオプロセッサの構成例)
  図28は、本開示を適用したビデオプロセッサ1332(図28)の概略的な構成の一例を示している。
  図28の例の場合、ビデオプロセッサ1332は、ビデオ信号およびオーディオ信号の入力を受けてこれらを所定の方式で符号化する機能と、符号化されたビデオデータおよびオーディオデータを復号し、ビデオ信号およびオーディオ信号を再生出力する機能とを有する。
  図28に示されるように、ビデオプロセッサ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(図27)等から入力されたビデオ信号を取得し、デジタル画像データに変換する。第1画像拡大縮小部1402は、画像データに対してフォーマット変換や画像の拡大縮小処理等を行う。第2画像拡大縮小部1403は、画像データに対して、ビデオ出力処理部1404を介して出力する先でのフォーマットに応じて画像の拡大縮小処理を行ったり、第1画像拡大縮小部1402と同様のフォーマット変換や画像の拡大縮小処理等を行ったりする。ビデオ出力処理部1404は、画像データに対して、フォーマット変換やアナログ信号への変換等を行って、再生されたビデオ信号として例えばコネクティビティ1321(図27)等に出力する。
  フレームメモリ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(図27)等から入力されたオーディオ信号を例えばデジタル変換し、例えばMPEGオーディオ方式やAC3(AudioCode number 3)方式等の所定の方式で符号化する。オーディオエンコーダ1410は、オーディオ信号が符号化されたデータであるオーディオストリームをオーディオESバッファ1409Aに順次書き込む。オーディオデコーダ1411は、オーディオESバッファ1409Bから供給されたオーディオストリームを復号し、例えばアナログ信号への変換等を行って、再生されたオーディオ信号として例えばコネクティビティ1321(図28)等に供給する。
  多重化部(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等(いずれも図28)から供給されたトランスポートストリームを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。また、例えば、逆多重化部(DMUX)1413は、例えばコネクティビティ1321により(図28)各種記録媒体から読み出されたファイルデータを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。
  ストリームバッファ1414は、ビットストリームをバッファリングする。例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図28)等に供給する。
  また、例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ1321(図27)等に供給し、各種記録媒体に記録させる。
  さらに、ストリームバッファ1414は、例えばコネクティビティ1321やブロードバンドモデム1333等(いずれも図27)を介して取得したトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
  また、ストリームバッファ1414は、例えばコネクティビティ1321(図27)等において各種記録媒体から読み出されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
  次に、このような構成のビデオプロセッサ1332の動作の例について説明する。例えば、コネクティビティ1321(図27)等からビデオプロセッサ1332に入力されたビデオ信号は、ビデオ入力処理部1401において4:2:2Y/Cb/Cr方式等の所定の方式のデジタル画像データに変換され、フレームメモリ1405に順次書き込まれる。このデジタル画像データは、第1画像拡大縮小部1402または第2画像拡大縮小部1403に読み出されて、4:2:0Y/Cb/Cr方式等の所定の方式へのフォーマット変換および拡大縮小処理が行われ、再びフレームメモリ1405に書き込まれる。この画像データは、エンコード・デコードエンジン1407によって符号化され、ビデオストリームとしてビデオESバッファ1408Aに書き込まれる。
  また、コネクティビティ1321(図27)等からビデオプロセッサ1332に入力されたオーディオ信号は、オーディオエンコーダ1410によって符号化され、オーディオストリームとして、オーディオESバッファ1409Aに書き込まれる。
  ビデオESバッファ1408Aのビデオストリームと、オーディオESバッファ1409Aのオーディオストリームは、多重化部(MUX)1412に読み出されて多重化され、トランスポートストリーム若しくはファイルデータ等に変換される。多重化部(MUX)1412により生成されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図28)等を介して外部ネットワークに出力される。また、多重化部(MUX)1412により生成されたファイルデータは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321(図27)等に出力され、各種記録媒体に記録される。
  また、例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図27)等を介して外部ネットワークからビデオプロセッサ1332に入力されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、逆多重化部(DMUX)1413により逆多重化される。また、例えばコネクティビティ1321(図27)等において各種記録媒体から読み出され、ビデオプロセッサ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実施の形態に係る符号化装置や復号装置の機能を有するようにすればよい。このようにすることにより、ビデオプロセッサ1332は、図1乃至図21を参照して上述した効果と同様の効果を得ることができる。
  なお、エンコード・デコードエンジン1407において、本開示(すなわち、上述した各実施形態に係る画像符号化装置や画像復号装置の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
 (ビデオプロセッサの他の構成例)
  図29は、本開示を適用したビデオプロセッサ1332(図27)の概略的な構成の他の例を示している。図29の例の場合、ビデオプロセッサ1332は、ビデオデータを所定の方式で符号化・復号する機能を有する。
  より具体的には、図29に示されるように、ビデオプロセッサ1332は、制御部1511、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、および内部メモリ1515を有する。また、ビデオプロセッサ1332は、コーデックエンジン1516、メモリインタフェース1517、多重化・逆多重化部(MUX DMUX)1518、ネットワークインタフェース1519、およびビデオインタフェース1520を有する。
  制御部1511は、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516等、ビデオプロセッサ1332内の各処理部の動作を制御する。
  図29に示されるように、制御部1511は、例えば、メインCPU1531、サブCPU1532、およびシステムコントローラ1533を有する。メインCPU1531は、ビデオプロセッサ1332内の各処理部の動作を制御するためのプログラム等を実行する。メインCPU1531は、そのプログラム等に従って制御信号を生成し、各処理部に供給する(つまり、各処理部の動作を制御する)。サブCPU1532は、メインCPU1531の補助的な役割を果たす。例えば、サブCPU1532は、メインCPU1531が実行するプログラム等の子プロセスやサブルーチン等を実行する。システムコントローラ1533は、メインCPU1531およびサブCPU1532が実行するプログラムを指定する等、メインCPU1531およびサブCPU1532の動作を制御する。
  ディスプレイインタフェース1512は、制御部1511の制御の下、画像データを例えばコネクティビティ1321(図27)等に出力する。例えば、ディスプレイインタフェース1512は、デジタルデータの画像データをアナログ信号に変換し、再生されたビデオ信号として、またはデジタルデータの画像データのまま、コネクティビティ1321(図27)のモニタ装置等に出力する。
  ディスプレイエンジン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は、複数の符号化・復号方式のコーデック機能を備え、その中から選択されたもので画像データの符号化若しくは符号化データの復号を行うようにしてもよい。
  図29に示される例において、コーデックエンジン1516は、コーデックに関する処理の機能ブロックとして、例えば、MPEG-2 Video1541、AVC/H.2641542、HEVC/H.2651543、HEVC/H.265(Scalable)1544、HEVC/H.265(Multi-view)1545、およびMPEG-DASH1551を有する。
  MPEG-2 Video1541は、画像データをMPEG-2方式で符号化したり復号したりする機能ブロックである。AVC/H.2641542は、画像データをAVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.2651543は、画像データをHEVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.265(Scalable)1544は、画像データをHEVC方式でスケーラブル符号化したりスケーラブル復号したりする機能ブロックである。HEVC/H.265(Multi-view)1545は、画像データをHEVC方式で多視点符号化したり多視点復号したりする機能ブロックである。
  MPEG-DASH1551は、画像データをMPEG-DASH(MPEG-Dynamic Adaptive Streaming over HTTP)方式で送受信する機能ブロックである。MPEG-DASHは、HTTP(HyperText Transfer Protocol)を使ってビデオのストリーミングを行う技術であり、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択し伝送することを特徴の1つとする。MPEG-DASH1551は、規格に準拠するストリームの生成やそのストリームの伝送制御等を行い、画像データの符号化・復号については、上述したMPEG-2 Video1541乃至HEVC/H.265(Multi-view)1545を利用する。
  メモリインタフェース1517は、外部メモリ1312用のインタフェースである。画像処理エンジン1514やコーデックエンジン1516から供給されるデータは、メモリインタフェース1517を介して外部メモリ1312に供給される。また、外部メモリ1312から読み出されたデータは、メモリインタフェース1517を介してビデオプロセッサ1332(画像処理エンジン1514若しくはコーデックエンジン1516)に供給される。
  多重化・逆多重化部(MUX DMUX)1518は、符号化データのビットストリーム、画像データ、ビデオ信号等、画像に関する各種データの多重化や逆多重化を行う。この多重化・逆多重化の方法は任意である。例えば、多重化の際に、多重化・逆多重化部(MUX DMUX)1518は、複数のデータを1つにまとめるだけでなく、所定のヘッダ情報等をそのデータに付加することもできる。また、逆多重化の際に、多重化・逆多重化部(MUX DMUX)1518は、1つのデータを複数に分割するだけでなく、分割した各データに所定のヘッダ情報等を付加することもできる。つまり、多重化・逆多重化部(MUX DMUX)1518は、多重化・逆多重化によりデータのフォーマットを変換することができる。例えば、多重化・逆多重化部(MUX DMUX)1518は、ビットストリームを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームや、記録用のファイルフォーマットのデータ(ファイルデータ)に変換することができる。もちろん、逆多重化によりその逆変換も可能である。
  ネットワークインタフェース1519は、例えばブロードバンドモデム1333やコネクティビティ1321(いずれも図27)等向けのインタフェースである。ビデオインタフェース1520は、例えばコネクティビティ1321やカメラ1322(いずれも図27)等向けのインタフェースである。
  次に、このようなビデオプロセッサ1332の動作の例について説明する。例えば、コネクティビティ1321やブロードバンドモデム1333(いずれも図27)等を介して外部ネットワークからトランスポートストリームを受信すると、そのトランスポートストリームは、ネットワークインタフェース1519を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、例えば、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321(図27)等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてファイルデータに変換され、ビデオインタフェース1520を介して例えばコネクティビティ1321(図27)等に出力され、各種記録媒体に記録される。
  さらに、例えば、コネクティビティ1321(図27)等により図示せぬ記録媒体から読み出された、画像データが符号化された符号化データのファイルデータは、ビデオインタフェース1520を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321(図27)等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてトランスポートストリームに変換され、ネットワークインタフェース1519を介して例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図27)等に供給され図示せぬ他の装置に伝送される。
  なお、ビデオプロセッサ1332内の各処理部の間での画像データやその他のデータの授受は、例えば、内部メモリ1515や外部メモリ1312を利用して行われる。また、パワーマネージメントモジュール1313は、例えば制御部1511への電力供給を制御する。
  このように構成されるビデオプロセッサ1332に本開示を適用する場合、コーデックエンジン1516に、上述した各実施形態に係る本開示を適用すればよい。つまり、例えば、コーデックエンジン1516が、第1実施の形態に係る符号化装置や復号装置を実現する機能ブロックを有するようにすればよい。さらに、例えば、コーデックエンジン1516が、このようにすることにより、ビデオプロセッサ1332は、図1乃至図21を参照して上述した効果と同様の効果を得ることができる。
  なお、コーデックエンジン1516において、本開示(すなわち、上述した各実施形態に係る画像符号化装置や画像復号装置の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
  以上にビデオプロセッサ1332の構成を2例示したが、ビデオプロセッサ1332の構成は任意であり、上述した2例以外のものであってもよい。また、このビデオプロセッサ1332は、1つの半導体チップとして構成されるようにしてもよいが、複数の半導体チップとして構成されるようにしてもよい。例えば、複数の半導体を積層する3次元積層LSIとしてもよい。また、複数のLSIにより実現されるようにしてもよい。
 (装置への適用例)
  ビデオセット1300は、画像データを処理する各種装置に組み込むことができる。例えば、ビデオセット1300は、テレビジョン装置900(図23)、携帯電話機920(図24)、記録再生装置940(図25)、撮像装置960(図26)等に組み込むことができる。ビデオセット1300を組み込むことにより、その装置は、図1乃至図21を参照して上述した効果と同様の効果を得ることができる。
  なお、上述したビデオセット1300の各構成の一部であっても、ビデオプロセッサ1332を含むものであれば、本開示を適用した構成として実施することができる。例えば、ビデオプロセッサ1332のみを本開示を適用したビデオプロセッサとして実施することができる。また、例えば、上述したように点線1341により示されるプロセッサやビデオモジュール1311等を本開示を適用したプロセッサやモジュール等として実施することができる。さらに、例えば、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、およびフロントエンドモジュール1314を組み合わせ、本開示を適用したビデオユニット1361として実施することもできる。いずれの構成の場合であっても、図1乃至図21を参照して上述した効果と同様の効果を得ることができる。
  つまり、ビデオプロセッサ1332を含むものであればどのような構成であっても、ビデオセット1300の場合と同様に、画像データを処理する各種装置に組み込むことができる。例えば、ビデオプロセッサ1332、点線1341により示されるプロセッサ、ビデオモジュール1311、または、ビデオユニット1361を、テレビジョン装置900(図23)、携帯電話機920(図24)、記録再生装置940(図25)、撮像装置960(図26)等に組み込むことができる。そして、本開示を適用したいずれかの構成を組み込むことにより、その装置は、ビデオセット1300の場合と同様に、図1乃至図21を参照して上述した効果と同様の効果を得ることができる。
 また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
 本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、本開示は、HEVC方式以外の符号化方式の符号化装置や復号装置にも適用することができる。
 また、本開示は、符号化ストリームを、衛星放送、ケーブルTV、インターネット、携帯電話などのネットワークメディアを介して受信する際、または光、磁気ディスク、フラッシュメモリのような記憶メディア上で処理する際に用いられる符号化装置や復号装置に適用することができる。
 さらに、本開示は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
  以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 なお、本技術は以下のような構成も取ることができる。
 (1) 画像のピクチャ間の参照関係を示すピクチャデプスに応じて選択対象となる予測モードの種類が制限された状態で、画像を符号化する際に用いる予測モードを設定する設定部と、
 前記設定部により設定された予測モードに従って、前記画像を再帰的に分割された符号化ブロック毎に符号化する符号化部と
 を備える画像符号化装置。
 (2)  前記設定部は、前記ピクチャデプスが小さい値である場合、ブロックサイズが小さい予測モードが選択対象とされた状態で、画像を符号化する際に用いる予測モードを設定する
 前記(1)に記載の画像符号化装置。
 (3) 前記設定部は、前記ピクチャデプスが3以上の場合、イントラ予測モードが制限された状態で、画像を符号化する際に用いる予測モードを設定する
 前記(1)または(2)に記載の画像符号化装置。
 (4) 前記設定部は、前記画像のピクチャタイプに応じて選択対象となる予測モードが制限された状態で、画像を符号化する際に用いる予測モードを設定する
 前記(1)乃至(3)のいずれかに記載の画像符号化装置。
 (5) 前記設定部は、前記画像のピクチャタイプがIピクチャの場合、イントラ予測モードが選択対象とされた状態で、画像を符号化する際に用いる予測モードを設定する
 前記(4)に記載の画像符号化装置。
 (6) 前記設定部は、前記画像のピクチャタイプがBピクチャの場合、インター予測モードが選択対象とされた状態で、画像を符号化する際に用いる予測モードを設定する
 前記(4)に記載の画像符号化装置。
 (7) 前記設定部は、画像を符号化する際に用いる量子化パラメータに応じて選択対象となる予測モードが制限された状態で、画像を符号化する際に用いる予測モードを設定する
 前記(1)乃至(6)のいずれかに記載の画像符号化装置。
 (8) 前記設定部は、前記量子化パラメータを大きくする場合、ブロックサイズが大きい予測モードが選択対象とされた状態で、画像を符号化する際に用いる予測モードを設定する
 前記(7)に記載の画像符号化装置。
 (9) 前記設定部は、前記画像の統計情報に応じて、前記量子化パラメータと選択対象となる予測モードとの対応関係を変更する
 前記(1)乃至(8)のいずれかに記載の画像符号化装置。
 (10) 前記設定部は、符号化ブロックを再帰的分割する際の起点となるCTB(Coding Tree Block)毎に、前記量子化パラメータと選択対象となる予測モードとの対応関係を変更する
 前記(9)に記載の画像符号化装置。
 (11) 前記画像の統計情報は、前記画像の分散情報または動き情報である
 前記(9)または(10)に記載の画像符号化装置。
 (12) 前記設定部は、アプリケーションに応じて、前記量子化パラメータと選択対象となる予測モードとの対応関係を変更する
 前記(7)乃至(9)のいずれかに記載の画像符号化装置。
 (13) 前記設定部は、前記アプリケーションに応じて、選択対象となる予測モードの数を変更する
 前記(12)に記載の画像符号化装置。
 (14) 前記設定部は、前記アプリケーションに応じて、選択対象となる予測モードの種類を変更する
 前記(12)または(13)に記載の画像符号化装置。
 (15) 前記ピクチャデプスと選択対象となる予測モードとの対応関係をテーブル形式で記憶するメモリを
 さらに備え、
 前記設定部は、前記メモリに記憶されたテーブルを用いて、予測モードを設定する
 前記(1)乃至(14)のいずれかに記載の画像符号化装置。
 (16) 前記設定部により設定された予測モードに応じて、制限する予測モードのパターンを学習する学習部を
 さらに備え、
 前記設定部は、前記学習部により学習されたパターンに従って、予測モードを設定する
 前記(1)乃至(14)のいずれかに記載の画像符号化装置。
 (17) 前記学習部は、前記画像のピクチャデプスまたは前記画像のピクチャタイプに応じて、制限する予測モードのパターンを学習する
 前記(16)に記載の画像符号化装置。
 (18) 画像符号化装置が、
 画像のピクチャ間の参照関係を示すピクチャデプスに応じて選択対象となる予測モードの種類が制限された状態で、画像を符号化する際に用いる予測モードを設定し、
 設定された予測モードに従って、前記画像を再帰的に分割された符号化ブロック毎に符号化する
 画像符号化方法。
 12 符号化装置, 32 画面並べ替えバッファ, 46 イントラ予測部, 47 動き予測・補償部, 49 レート制御部, 50 モードテーブル設定部, 61 統計情報算出部, 62 テーブル選択部, 63 テーブル記憶部, 100 クラウドコンピューティング, 101 サーバ, 102 クライアント, 111 データベース, 121 テーブル選択部, 123 登録部

Claims (18)

  1.  画像のピクチャ間の参照関係を示すピクチャデプスに応じて選択対象となる予測モードの種類が制限された状態で、画像を符号化する際に用いる予測モードを設定する設定部と、
     前記設定部により設定された予測モードに従って、前記画像を再帰的に分割された符号化ブロック毎に符号化する符号化部と
     を備える画像符号化装置。
  2.  前記設定部は、前記ピクチャデプスが小さい値である場合、ブロックサイズが小さい予測モードが選択対象とされた状態で、画像を符号化する際に用いる予測モードを設定する
     請求項1に記載の画像符号化装置。
  3.  前記設定部は、前記ピクチャデプスが3以上の場合、イントラ予測モードが制限された状態で、画像を符号化する際に用いる予測モードを設定する
     請求項2に記載の画像符号化装置。
  4.  前記設定部は、前記画像のピクチャタイプに応じて選択対象となる予測モードが制限された状態で、画像を符号化する際に用いる予測モードを設定する
     請求項1に記載の画像符号化装置。
  5.  前記設定部は、前記画像のピクチャタイプがIピクチャの場合、イントラ予測モードが選択対象とされた状態で、画像を符号化する際に用いる予測モードを設定する
     請求項4に記載の画像符号化装置。
  6.  前記設定部は、前記画像のピクチャタイプがBピクチャの場合、インター予測モードが選択対象とされた状態で、画像を符号化する際に用いる予測モードを設定する
     請求項4に記載の画像符号化装置。
  7.  前記設定部は、画像を符号化する際に用いる量子化パラメータに応じて選択対象となる予測モードが制限された状態で、画像を符号化する際に用いる予測モードを設定する
     請求項1に記載の画像符号化装置。
  8.  前記設定部は、前記量子化パラメータを大きくする場合、ブロックサイズが大きい予測モードが選択対象とされた状態で、画像を符号化する際に用いる予測モードを設定する
     請求項7に記載の画像符号化装置。
  9.  前記設定部は、前記画像の統計情報に応じて、前記ピクチャデプスと選択対象となる予測モードとの対応関係を変更する
     請求項1に記載の画像符号化装置。
  10.  前記設定部は、符号化ブロックを再帰的分割する際の起点となるCTB(Coding Tree Block)毎に、前記ピクチャデプスと選択対象となる予測モードとの対応関係を変更する
     請求項9に記載の画像符号化装置。
  11.  前記画像の統計情報は、前記画像の分散情報または動き情報である
     請求項9に記載の画像符号化装置。
  12.  前記設定部は、アプリケーションに応じて、前記ピクチャデプスと選択対象となる予測モードとの対応関係を変更する
     請求項9に記載の画像符号化装置。
  13.  前記設定部は、前記アプリケーションに応じて、選択対象となる予測モードの数を変更する
     請求項12に記載の画像符号化装置。
  14.  前記設定部は、前記アプリケーションに応じて、選択対象となる予測モードの種類を変更する
     請求項12に記載の画像符号化装置。
  15.  前記ピクチャデプスと選択対象となる予測モードとの対応関係をテーブル形式で記憶するメモリを
     さらに備え、
     前記設定部は、前記メモリに記憶されたテーブルを用いて、予測モードを設定する
     請求項1に記載の画像符号化装置。
  16.  前記設定部により設定された予測モードに応じて、制限する予測モードのパターンを学習する学習部を
     さらに備え、
     前記設定部は、前記学習部により学習されたパターンに従って、予測モードを設定する
     請求項1に記載の画像符号化装置。
  17.  前記学習部は、前記画像のピクチャデプスまたは前記画像のピクチャタイプに応じて、制限する予測モードのパターンを学習する
     請求項16に記載の画像符号化装置。
  18.  画像符号化装置が、
     画像のピクチャ間の参照関係を示すピクチャデプスに応じて選択対象となる予測モードの種類が制限された状態で、画像を符号化する際に用いる予測モードを設定し、
     設定された予測モードに従って、前記画像を再帰的に分割された符号化ブロック毎に符号化する
     画像符号化方法。
PCT/JP2016/055042 2015-03-04 2016-02-22 画像符号化装置および方法 WO2016140090A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/551,830 US10893276B2 (en) 2015-03-04 2016-02-22 Image encoding device and method
JP2017503424A JP6648753B2 (ja) 2015-03-04 2016-02-22 画像符号化装置および方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015042248 2015-03-04
JP2015-042248 2015-03-04

Publications (1)

Publication Number Publication Date
WO2016140090A1 true WO2016140090A1 (ja) 2016-09-09

Family

ID=56848989

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/055042 WO2016140090A1 (ja) 2015-03-04 2016-02-22 画像符号化装置および方法

Country Status (3)

Country Link
US (1) US10893276B2 (ja)
JP (1) JP6648753B2 (ja)
WO (1) WO2016140090A1 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017028337A (ja) * 2015-07-15 2017-02-02 日本電信電話株式会社 映像符号化装置及び映像符号化プログラム
WO2019069950A1 (ja) * 2017-10-06 2019-04-11 シャープ株式会社 画像符号化装置及び画像復号装置
GB2567862A (en) * 2017-10-27 2019-05-01 Sony Corp Image data encoding and decoding
WO2019117645A1 (ko) * 2017-12-14 2019-06-20 한국전자통신연구원 예측 네트워크를 사용하는 영상의 부호화 및 복호화를 위한 방법 및 장치
KR20190071611A (ko) * 2017-12-14 2019-06-24 한국전자통신연구원 예측 네트워크를 사용하는 영상의 부호화 및 복호화를 위한 방법 및 장치
KR20190113226A (ko) * 2018-03-28 2019-10-08 현대모비스 주식회사 실시간 3차원 지도 구축 장치 및 방법
KR20200068624A (ko) * 2018-03-28 2020-06-15 현대모비스 주식회사 3차원 지도 구축에 있어 3차원 거리정보의 실시간 업데이트 장치 및 방법
JP2021523586A (ja) * 2018-03-25 2021-09-02 ビー1、インスティテュート、オブ、イメージ、テクノロジー、インコーポレイテッドB1 Institute Of Image Technology, Inc. 映像符号化/復号化方法及び装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019059107A1 (ja) * 2017-09-20 2019-03-28 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010047099A1 (ja) * 2008-10-22 2010-04-29 日本電信電話株式会社 スケーラブル動画像符号化方法、スケーラブル動画像符号化装置、スケーラブル動画像符号化プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2011029962A (ja) * 2009-07-27 2011-02-10 Nippon Telegr & Teleph Corp <Ntt> スケーラブル動画像符号化方法、スケーラブル動画像符号化装置およびスケーラブル動画像符号化プログラム
JP2012160991A (ja) * 2011-02-02 2012-08-23 Sony Corp 画像処理装置および方法、並びに、プログラム
JP2014204207A (ja) * 2013-04-02 2014-10-27 日本電信電話株式会社 ブロックサイズ決定方法、映像符号化装置、及びプログラム
WO2014192244A1 (en) * 2013-05-31 2014-12-04 Sony Corporation Image processing device, image processing method, and program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4650461B2 (ja) 2007-07-13 2011-03-16 ソニー株式会社 符号化装置、符号化方法、プログラム、及び記録媒体
KR101452860B1 (ko) * 2009-08-17 2014-10-23 삼성전자주식회사 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010047099A1 (ja) * 2008-10-22 2010-04-29 日本電信電話株式会社 スケーラブル動画像符号化方法、スケーラブル動画像符号化装置、スケーラブル動画像符号化プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2011029962A (ja) * 2009-07-27 2011-02-10 Nippon Telegr & Teleph Corp <Ntt> スケーラブル動画像符号化方法、スケーラブル動画像符号化装置およびスケーラブル動画像符号化プログラム
JP2012160991A (ja) * 2011-02-02 2012-08-23 Sony Corp 画像処理装置および方法、並びに、プログラム
JP2014204207A (ja) * 2013-04-02 2014-10-27 日本電信電話株式会社 ブロックサイズ決定方法、映像符号化装置、及びプログラム
WO2014192244A1 (en) * 2013-05-31 2014-12-04 Sony Corporation Image processing device, image processing method, and program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HUNG-CHIH LIN ET AL.: "Layer-Adaptive Mode Decision and Motion Search for Scalable Video Coding with Combined Coarse Granular Scalability (CGS) and Temporal Scalability", IEEE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING (ICIP 2007, vol. 2, September 2007 (2007-09-01), pages II-289 - II-292 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017028337A (ja) * 2015-07-15 2017-02-02 日本電信電話株式会社 映像符号化装置及び映像符号化プログラム
WO2019069950A1 (ja) * 2017-10-06 2019-04-11 シャープ株式会社 画像符号化装置及び画像復号装置
GB2567862A (en) * 2017-10-27 2019-05-01 Sony Corp Image data encoding and decoding
WO2019117645A1 (ko) * 2017-12-14 2019-06-20 한국전자통신연구원 예측 네트워크를 사용하는 영상의 부호화 및 복호화를 위한 방법 및 장치
KR20190071611A (ko) * 2017-12-14 2019-06-24 한국전자통신연구원 예측 네트워크를 사용하는 영상의 부호화 및 복호화를 위한 방법 및 장치
KR102675048B1 (ko) * 2017-12-14 2024-06-12 한국전자통신연구원 예측 네트워크를 사용하는 영상의 부호화 및 복호화를 위한 방법 및 장치
KR20230018505A (ko) * 2017-12-14 2023-02-07 한국전자통신연구원 예측 네트워크를 사용하는 영상의 부호화 및 복호화를 위한 방법 및 장치
KR102262554B1 (ko) * 2017-12-14 2021-06-09 한국전자통신연구원 예측 네트워크를 사용하는 영상의 부호화 및 복호화를 위한 방법 및 장치
US11166014B2 (en) 2017-12-14 2021-11-02 Electronics And Telecommunications Research Institute Image encoding and decoding method and device using prediction network
JP2021523586A (ja) * 2018-03-25 2021-09-02 ビー1、インスティテュート、オブ、イメージ、テクノロジー、インコーポレイテッドB1 Institute Of Image Technology, Inc. 映像符号化/復号化方法及び装置
US11956425B2 (en) 2018-03-25 2024-04-09 B1 Institute Of Image Technology, Inc. Image encoding/decoding method and device
KR102275695B1 (ko) * 2018-03-28 2021-07-09 현대모비스 주식회사 3차원 지도 구축에 있어 3차원 거리정보의 실시간 업데이트 장치 및 방법
KR20200068624A (ko) * 2018-03-28 2020-06-15 현대모비스 주식회사 3차원 지도 구축에 있어 3차원 거리정보의 실시간 업데이트 장치 및 방법
KR102508960B1 (ko) 2018-03-28 2023-03-14 현대모비스 주식회사 실시간 3차원 지도 구축 장치 및 방법
KR20190113226A (ko) * 2018-03-28 2019-10-08 현대모비스 주식회사 실시간 3차원 지도 구축 장치 및 방법

Also Published As

Publication number Publication date
JP6648753B2 (ja) 2020-02-14
US20180035117A1 (en) 2018-02-01
JPWO2016140090A1 (ja) 2017-12-14
US10893276B2 (en) 2021-01-12

Similar Documents

Publication Publication Date Title
JP6780761B2 (ja) 画像符号化装置および方法
JP6868786B2 (ja) 画像処理装置および方法
JP6648753B2 (ja) 画像符号化装置および方法
JP6741126B2 (ja) 画像復号装置および方法
WO2016125604A1 (ja) 画像符号化装置および方法
KR102242722B1 (ko) 디코딩 디바이스, 디코딩 방법, 인코딩 디바이스, 및 인코딩 방법
WO2018123444A1 (ja) 画像処理装置及び画像処理方法
WO2012005099A1 (ja) 画像処理装置及び画像処理方法
WO2015053115A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
WO2016194721A1 (ja) 画像処理装置および画像処理方法
CN110999288A (zh) 图像处理器和图像处理方法
WO2018131523A1 (ja) 画像処理装置および画像処理方法
WO2015137145A1 (ja) 画像符号化装置および方法、並びに画像復号装置および方法
WO2015053116A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
KR102338669B1 (ko) 화상 처리 장치 및 방법, 및 기록 매체
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: 16758784

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017503424

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16758784

Country of ref document: EP

Kind code of ref document: A1