WO2014156708A1 - 画像復号装置および方法 - Google Patents

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

Info

Publication number
WO2014156708A1
WO2014156708A1 PCT/JP2014/056831 JP2014056831W WO2014156708A1 WO 2014156708 A1 WO2014156708 A1 WO 2014156708A1 JP 2014056831 W JP2014056831 W JP 2014056831W WO 2014156708 A1 WO2014156708 A1 WO 2014156708A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
unit
decoding
data
encoding
Prior art date
Application number
PCT/JP2014/056831
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 US14/774,768 priority Critical patent/US9930353B2/en
Publication of WO2014156708A1 publication Critical patent/WO2014156708A1/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Definitions

  • the present disclosure relates to an image decoding apparatus and method, and more particularly to an image decoding apparatus and method capable of suppressing an increase in decoding load.
  • MPEG2 International Organization for Standardization
  • IEC International Electrotechnical Commission 13818-2
  • MPEG2 is defined as a general-purpose image coding system, and includes both interlaced scanning images and sequential scanning images, as well as standard resolution images and A standard that covers high-definition images.
  • MPEG2 is widely used in a wide range of applications for professional use and consumer use. For example, in the case of a standard resolution interlaced scanned image having 720 ⁇ 480 pixels, a code amount (bit rate) of 4 Mbps to 8 Mbps is assigned by using the MPEG2 compression method.
  • a code amount (bit rate) of 18 Mbps to 22 Mbps is assigned by using the MPEG2 compression method. Thereby, a high compression rate and good image quality can be realized.
  • MPEG2 was mainly intended for high-quality encoding suitable for broadcasting, but did not support encoding methods with a lower code amount (bit rate) than MPEG1, that is, a higher compression rate.
  • bit rate code amount
  • MPEG4 encoding system has been standardized accordingly.
  • the standard was approved as an international standard in December 1998 as ISO / IEC 14496-2.
  • H.26L International Telecommunication Union Telecommunication Standardization Sector
  • Q6 / 16 VCEG Video Coding Expert Group
  • H.26L is known to achieve higher encoding efficiency than the conventional encoding schemes such as MPEG2 and MPEG4, although a large amount of calculation is required for encoding and decoding.
  • Joint ⁇ ⁇ ⁇ ⁇ Model of Enhanced-Compression Video Coding has been implemented based on this H.26L and incorporating functions not supported by H.26L to achieve higher coding efficiency. It was broken.
  • HEVC High Efficiency Video Video Coding
  • JCTVC Joint Collaboration Collaboration Team Video Coding
  • ISO / IEC ISO / IEC
  • the standardization of the encoding method called is being advanced.
  • CommitteeCommitdraft which is a draft version specification, was issued in January 2013 (see Non-Patent Document 1, for example).
  • information transmitted from the encoding side to the decoding side includes not only syntax for I slices but also syntax elements for P slices and B slices, that is, , Syntax elements related to processing between screens are included.
  • decoding processing encoded data is losslessly decoded for each tile, and prediction and conversion processing are performed for each tile.
  • the processing time of lossless decoding depends on the amount of data, but prediction and conversion processing are substantially constant without being greatly affected by the amount of data. Therefore, in order to absorb fluctuations in the processing time of lossless decoding, it is necessary to store the decoding result in the memory before the prediction or conversion process.
  • JCTVC-L1003_v4 Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO / IEC JTC 1 / SC 29 / WG 11 12th Meeting: Geneva, CH, 14-23 Jan. 2013
  • a filtering process such as a deblocking filter on the decoded image data obtained by the prediction / conversion process is executed in the order of raster scanning of the entire picture for each block such as a macroblock or a coding unit that divides the tile into a plurality of blocks.
  • the processing order of filter processing is different from that of lossless decoding, conversion processing, and the like. Therefore, it is necessary to store the data in the memory and rearrange it before the filtering process. Therefore, the number of accesses to the memory increases and the load may increase.
  • This disclosure has been made in view of such a situation, and is intended to suppress an increase in decoding load.
  • the encoded data encoded using the block that divides the region into a plurality of processing units is decoded for each region.
  • a decoding unit; a rearrangement unit that rearranges the decoding result of the encoded data for each block obtained by the decoding unit for each region in order of raster scan of the entire picture; and a raster scan of the entire picture by the rearrangement unit It is an image decoding apparatus provided with the conversion part which converts the decoding result for every said block rearranged in order, and produces
  • the area may be a tile or a slice.
  • the rearrangement unit includes a storage unit that stores the decoding result, stores the decoding result for each block obtained by the decoding unit for each region in the storage unit, and stores the decoding result for each block from the storage unit.
  • a storage unit that stores the decoding result, stores the decoding result for each block obtained by the decoding unit for each region in the storage unit, and stores the decoding result for each block from the storage unit.
  • the storage unit can allocate a fixed-length area to the block and store the decoding result of each block at an address corresponding to the position of the block in the picture.
  • the storage unit can sequentially store the decoding result of each block and manage the start address of the decoding result of each block.
  • the storage unit can sequentially store the decoding result of each block and manage the start address of the decoding result of each block at the left end of the area.
  • a filter unit for sequentially filtering the decoded image data for each block generated by the conversion unit may be provided.
  • the filter process may be a deblock filter process.
  • the encoded data is obtained by encoding difference image data that is difference image data between an image of the image data and a predicted image, and the decoding unit decodes the encoded data, thereby
  • the difference image data is obtained as a decoding result, and the conversion unit generates the prediction image, and adds the generated prediction image to the difference image of the difference image data, thereby converting the difference image data into the decoded image.
  • the encoded data is obtained by encoding coefficient data obtained by orthogonally transforming the difference image data, and the decoding unit decodes the encoded data to obtain the coefficient as the decoding result.
  • the data is obtained, and the transform unit performs inverse orthogonal transform on the coefficient data to generate the difference image data, generates the predicted image, and generates the generated predicted image into the difference image of the generated difference image data.
  • the coefficient image data can be converted into the decoded image data.
  • the encoded data is obtained by encoding quantized coefficient data obtained by quantizing the coefficient data, and the decoding unit decodes the encoded data to obtain the decoding result as the decoding result.
  • the transform unit dequantizes the quantized coefficient data to generate the coefficient data, and inverse orthogonal transform the generated coefficient data to generate the difference image data,
  • the quantized coefficient image data can be converted into the decoded image data by generating the predicted image and adding the generated predicted image to the difference image of the generated difference image data.
  • the decoding unit can reversibly decode the encoded data.
  • the decoding unit can perform variable length decoding on the encoded data.
  • the decoding unit can arithmetically decode the encoded data.
  • the image data is encoded for each predetermined area for dividing a picture into a plurality of areas, and encoded data encoded using a block for dividing the area into a plurality of processing units for each area.
  • the decoding result of the encoded data for each block obtained by decoding is rearranged in the raster scan order for the entire picture, and the decoding result for each block rearranged in the raster scan order for the entire picture is converted.
  • image data is decoded for each predetermined region for dividing a picture into a plurality of regions, and encoded data encoded with a block for dividing the region into a plurality of processing units is decoded for each region,
  • the decoding result of the encoded data for each block obtained for each area is rearranged in the raster scan order of the entire picture, and the decoding result of each block rearranged in the raster scan order of the entire picture is converted into decoded image data. Is generated.
  • an image can be decoded.
  • an increase in decoding load can be suppressed.
  • FIG. 20 is a block diagram illustrating a main configuration example of a computer. It is a block diagram which shows an example of a schematic structure of a television apparatus. It is a block diagram which shows an example of a schematic structure of a mobile telephone. It is a block diagram which shows an example of a schematic structure of a recording / reproducing apparatus. It is a block diagram which shows an example of a schematic structure of an imaging device. It is a block diagram which shows an example of scalable encoding utilization. It is a block diagram which shows the other example of scalable encoding utilization. It is a block diagram which shows the further another example of scalable encoding utilization.
  • ⁇ Coding unit> In AVC (Advanced Video Coding), a hierarchical structure is defined by macroblocks and sub-macroblocks. However, a macro block of 16 ⁇ 16 pixels is not optimal for a large image frame such as UHD (Ultra High Definition; 4000 ⁇ 2000 pixels), which is a target of the next generation encoding method.
  • UHD Ultra High Definition
  • a coding unit (Coding Unit)) is defined.
  • CU also called Coding Tree Block (CTB)
  • CTB Coding Tree Block
  • AVC macroblock is fixed to a size of 16 ⁇ 16 pixels, whereas the HEVC CU size is not fixed, and is specified in the image compression information in each sequence.
  • the maximum size (LCU (Largest Coding Unit)) and the minimum size (SCU (Smallest Coding Unit)) are specified.
  • the LCU size may be 64x64 and the maximum hierarchical depth may be 5.
  • the value of split_flag is “1”
  • a CU having a size of 2N ⁇ 2N is divided into CUs having a size of NxN that is one level below.
  • the CU is divided into prediction units (Prediction Units (PU)) that are regions (partial regions of images in units of pictures) that are processing units of intra or inter prediction, and are regions that are processing units of orthogonal transformation It is divided into transform units (Transform Unit (TU)), which is (a partial area of an image in units of pictures).
  • Prediction Units PU
  • transform Unit Transform Unit
  • any of 4x4, 8x8, 16x16, and 32x32 can be used as a unit of orthogonal transform processing.
  • a macroblock in AVC corresponds to an LCU
  • a block (subblock) corresponds to a CU.
  • a motion compensation block in AVC can be considered to correspond to a PU.
  • the size of the LCU of the highest hierarchy is generally set larger than the AVC macroblock, for example, 64 ⁇ 64 pixels.
  • the LCU also includes a macroblock in AVC
  • the CU also includes a block (sub-block) in AVC.
  • “block” used in the following description indicates an arbitrary partial area in the picture, and its size, shape, characteristics, and the like are not limited. That is, the “block” includes an arbitrary area (processing unit) such as a TU, PU, SCU, CU, LCU, sub-block, macroblock, or slice. Of course, other partial areas (processing units) are also included. When it is necessary to limit the size, processing unit, etc., it will be described as appropriate.
  • CTU Coding Tree Unit
  • CTB Coding Tree Block
  • CU Coding ⁇ Unit
  • CB Coding ⁇ ⁇ ⁇ ⁇ Block
  • ⁇ Mode selection> By the way, in an encoding scheme such as AVC or HEVC, selection of an appropriate prediction mode is important in order to achieve higher encoding efficiency.
  • JM Job Model
  • JM JM
  • a high complexity mode High Complexity Mode
  • a low complexity mode Low Complexity Mode
  • the cost function in the high-complexity mode is shown as the following formula (1).
  • is a whole set of candidate modes for encoding the current block
  • D is a 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 a total code amount when encoding is performed in the prediction mode, including orthogonal transform coefficients.
  • D is the difference energy between the predicted image and the input image, unlike the case of the high complexity mode.
  • QP2Quant QP
  • HeaderBit is a code amount related to information belonging to the header (Header) such as a motion vector and a mode that does not include an orthogonal transform coefficient.
  • a slice is an area that divides a picture into a plurality of units as a unit for performing encoding processing in the order of raster scanning, as in the case of AVC.
  • slice division is possible only in LCU units.
  • FIG. 2 is not an example of a tile (Tile) defined in HEVC.
  • a tile is an area that divides the picture in units of LCUs as in the above-described slice.
  • a slice is an area that divides a picture so that each LCU is processed in the raster scan order
  • a tile is an area that divides a picture into arbitrary rectangles as shown in FIG. .
  • the entire square indicates a picture
  • the small square in the square indicates an LCU.
  • LCU groups with different patterns indicate tiles.
  • a slice composed of 4 LCUs x 4 LCUs in the upper left shown by a diagonal pattern is the first tile (Tile # 1) of this picture.
  • the tile composed of 4 L ⁇ 4 LCUs in the upper right shown in white is the second tile (Tile # 2) of this picture.
  • the tile composed of 4 LCUs by 4 LCUs in the lower left shown in gray is the third tile (Tile # 3) of this picture.
  • a tile composed of 4 LCUs by 4 LCUs in the lower right shown by the mesh pattern is the fourth tile (Tile # 4) of this picture.
  • the number of tiles and LCUs formed in the picture and the way of dividing the tiles are arbitrary, and are not limited to the example of FIG.
  • each LCU is processed in raster scan order.
  • Such a tile has a feature that the length of the boundary is shorter than that of the slice, so that a decrease in encoding efficiency due to screen division is small.
  • slices and tiles divided as described above do not have dependency relationships such as prediction and CABAC in encoding / decoding, and thus can be processed independently of each other. That is, for example, data of each slice (or tile) can be processed in parallel using different CPUs (Central Processing Units) (or different cores).
  • CPUs Central Processing Units
  • FIG. 3 shows an example of the flow of processing when decoding the encoded data of a picture divided into four tiles as in the example of FIG. In FIG. 3, the processing of each tile is indicated by an arrow.
  • variable length decoding is used as an example of lossless decoding.
  • variable length decoding process (VLC ⁇ ⁇ ⁇ ⁇ decode) for each of tile # 1 to tile # 4 is sequentially executed as indicated by arrows 11 to 14.
  • a tile that has been subjected to variable-length decoding processing is being executed.
  • each process (hereinafter, also referred to as a conversion / prediction process) executed after the variable-length decoding process, such as an inverse orthogonal transform process or a prediction process, is executed.
  • a conversion / prediction process executed after the variable-length decoding process, such as an inverse orthogonal transform process or a prediction process
  • the tile # 1 conversion / prediction process (arrow 15) is set to other tiles (tile # 2 to tile # 4 as soon as the variable length decoding process (arrow 11) of tile # 1 is completed. ) Is executed without waiting for the end of the variable length decoding process.
  • the conversion / prediction processing of tile # 2 (arrow 16) is performed as soon as variable length decoding processing of tile # 2 (arrow 12) is completed, and variable length decoding processing of other tiles (tile # 3 and tile # 4). It is executed without waiting for the end of.
  • the conversion / prediction processing for tile # 3 (arrow 17) waits for the completion of variable-length decoding processing for another tile (tile # 4) as soon as variable-length decoding processing for tile # 3 (arrow 13) is completed. Without being executed.
  • the tile # 4 conversion / prediction process (arrow 18) is executed as soon as the variable length decoding process (arrow 14) for tile # 4 is completed.
  • variable length decoding depends on the amount of data, that is, the degree of image compression. In general, since the data amount (code amount) is not uniform among the tiles in the picture, the variable length decoding processing time of each tile is not constant as in the example of FIG.
  • the processing time of the conversion / prediction process is substantially constant regardless of the data amount. That is, the processing time of the conversion / prediction processing for each tile is substantially constant as in the example of FIG. Therefore, there is a possibility that a waiting time may occur in the conversion / prediction process as between the arrow 15 and the arrow 16 in the example of FIG.
  • variable length decoding result in order to absorb such variations in the processing time of variable length decoding, it is necessary to store the variable length decoding result in the memory. For example, as shown in the example of FIG. 4, it is necessary to start the conversion / prediction process after the variable length decoding result for one screen is stored in this memory. That is, as shown in FIG. 4, after performing variable length decoding processing (arrows 21 to 24) of all tiles (tile # 1 to tile # 4) in the picture, conversion of all tiles in the picture is performed. It was necessary to perform the prediction process (arrow 25 to arrow 28).
  • a filter process such as a deblocking filter is performed.
  • decoded image data in units of LCUs arranged in an array form is shown on the left side of FIG. 5A.
  • each tile is processed in the raster scan order.
  • decoded image data in units of LCUs that form an LCU array over the entire picture is processed in the raster scan order of the entire LCU array (the entire picture), as shown on the right side of FIG. Is done. That is, it is necessary to rearrange the decoded image data in units of LCUs before the filtering process.
  • decoded image data in units of LCUs obtained for each tile are sequentially stored in a memory, read out in raster scan order, and filtered in the order of reading. do it.
  • a memory capacity of about a half screen and a delay of about a half screen are required for rearrangement.
  • variable length decoding VLC decoding
  • conversion / prediction processing are executed for each tile in the raster scan order for each tile, and filter processing (Deblock filter) is performed on the entire picture in raster scan order.
  • variable length decoding processing (arrow 51 to arrow 54) of all tiles (tile # 1 to tile # 4) in the picture is executed, and after the processing is finished, the picture
  • conversion / prediction processing (arrows 55 to 58) of all the tiles is executed, and after the processing is completed, the filtering processing (arrow 59) of all the tiles in the picture is executed.
  • the memory capacity required for the decoding process and the processing delay of the decoding process may increase.
  • the data is stored in the memory 62 after the variable length (VLC) decoding process 61, and the variable length (VLC) decoding process 61 of all tiles is completed. Thereafter, the data in the memory 62 is read and used for the orthogonal transform process 63. Then, the processing result data is stored again in the memory 62, read out (rearranged) in the raster scan order of the entire picture, and used for the deblock filter processing 64.
  • VLC variable length
  • VLC variable length
  • the conversion / prediction process is performed in the raster scan order of the entire picture. That is, the variable-length decoding results obtained for each tile are rearranged in the raster scan order of the entire picture and converted in that order to generate decoded image data.
  • variable length decoding (VLC ⁇ ⁇ ⁇ decode) is executed for each tile on the data of each LCU, and conversion / prediction processing and filtering processing are performed.
  • (Deblock filter) is performed in the raster scan order of the entire picture.
  • the prediction process and inverse conversion process of the conversion / prediction process use correlation with adjacent image blocks in the screen, correlation in the time axis direction, etc., but are independent of the variable-length decoding process order. ing. Therefore, the conversion / prediction process can be executed in a different order from the decoding process.
  • variable length decoding processing (arrow 71 to arrow 74) of all tiles (tile # 1 to tile # 4) in the picture is executed. Thereafter, conversion / prediction processing (arrow 75) for tile # 1 and tile # 2 and conversion / prediction processing (arrow 76) for tile # 3 and tile # 4 are executed.
  • the filtering process is performed in the same order as the conversion / prediction process, the obtained conversion / prediction process result can be sequentially executed. That is, the filtering process can be executed substantially in parallel with the conversion / prediction process as long as the conversion / prediction process is not overtaken.
  • the filter processing may be executed in the same order after several LCUs behind the conversion / prediction processing executed in the raster scan order.
  • the filter processing (arrow 77) of tile # 1 and tile # 2 is executed substantially in parallel with the conversion / prediction processing (arrow 75) of tile # 1 and tile # 2, and tile # 3
  • the filter process (arrow 78) for tile # 3 and tile # 4 can be executed substantially in parallel with the conversion / prediction process (arrow 76) for tile # 4.
  • variable length decoding (VLC decode) is executed for each tile on the data of each LCU, and conversion / prediction processing and filter processing (Deblock filter) are performed on the entire picture raster. It can be performed in the scan order.
  • VLC decode variable length decoding
  • Deblock filter conversion / prediction processing and filter processing
  • the filtering process can be executed substantially in parallel with the conversion / prediction process as long as the conversion / prediction process is not overtaken. That is, in the case of the example of FIG. 9, as shown in FIG. 9B, the filters of the tiles # 1 to # 4 are substantially parallel to the conversion / prediction processing (arrow 85) of the tiles # 1 to # 4. Processing (arrow 86) can be performed.
  • the decoding result is stored in the memory 92 in order to suppress variation in processing time, but the decoding result is stored in this memory.
  • the above-described rearrangement is performed using (buffering). That is, the data of each LCU accumulated in the memory 92 is read out in the raster scan order of the entire picture and supplied to the orthogonal transform processing 93.
  • the orthogonal transform process 93 and the deblock filter process 94 process the data of each LCU in the supply order (that is, the raster scan order of the entire picture). Therefore, it is not necessary to store the orthogonal transform processing result in the memory 92.
  • variable length decoding result is data for each LCU, and includes, for example, various parameters such as a mode used for compression, a motion vector, a coefficient level that is a result of converting a prediction residual, and the like. Of course, information other than these may be included.
  • variable length decoding result may be stored in the memory 92 in any way as long as it can be read out in the raster scan order of the entire picture.
  • the storage area 92A of the memory 92 For example, as shown in FIG. 11, in the storage area 92A of the memory 92, a fixed length area is assigned to each LCU, and the variable length decoding result of each LCU is stored at an address corresponding to the position of the LCU in the picture. You may make it do.
  • the memory address where the desired variable length decoding result of the LCU is stored can be easily obtained from the screen coordinates of the LCU. That is, in this case, data management is easy, and processing when data is rearranged and read is facilitated.
  • the variable length decoding result of each LCU is sequentially stored, and the head address of the variable length decoding result of each LCU is separately managed by the management information 92B. You may do it.
  • the management information 92B it is possible to specify the memory address in which the variable length decoding result of the desired LCU is stored. In this way, the entire memory area can be used as the data area, and compared to the example of FIG. 11, the generation of unused areas can be suppressed, and the memory utilization efficiency can be improved. .
  • a picture is divided into 2 ⁇ 2 tiles, and the number of LCUs in the horizontal direction of each tile is 6.
  • the variable length decoding result of each LCU is sequentially stored, and the start address of the decoding result of each LCU at the left end of each tile is separately managed by the management information 92B. May be.
  • FIG. 13B only the tile # 1 is described, but the tile # 2 to the tile # 4 are also managed in the same manner.
  • the management information 92B it is possible to specify the memory address where the variable length decoding result of each leftmost LCU of each tile is stored. That is, by reading from the memory address managed by the management information 92B to the next memory address, it is possible to read data for one LCU line of one tile (one row of the LCU array). That is, for example, by reading data of a desired 1 LCU line of tile # 1, and subsequently reading data of 1 LCU line at the same position of tile # 2, data of 1 LCU line of the entire picture can be read. That is, by using the memory address managed by the management information 92B as a reference, the variable-length decoding result of each LCU can be read for each LCU line of the entire picture (that is, in the raster scan order of the entire picture).
  • the entire memory area can be used as the data area, and compared to the example of FIG. 11, the generation of unused areas can be suppressed, and the memory utilization efficiency can be improved. . Further, the information amount of the management information 92B can be reduced as compared with the example of FIG. That is, the memory utilization efficiency can be improved.
  • the data management method of the memory 92 is not limited to these examples.
  • a tile is used as an example of a region into which a picture is divided.
  • this region is not limited to a tile.
  • it may be a slice or another data unit. The same applies to the following.
  • FIG. 14 is a block diagram illustrating an example of a configuration of an image encoding device that is an aspect of the image processing device.
  • the image encoding device 100 illustrated in FIG. 14 encodes moving image image data using, for example, HEVC prediction processing or prediction processing based on the HEVC prediction processing.
  • the image encoding device 100 includes an A / D conversion unit 101, a screen rearrangement buffer 102, a calculation unit 103, an orthogonal transformation unit 104, a quantization unit 105, a lossless encoding unit 106, and a storage buffer 107. , An inverse quantization unit 108, and an inverse orthogonal transform unit 109.
  • the image encoding device 100 includes a calculation unit 110, a loop filter 111, a frame memory 112, an intra prediction unit 113, an inter prediction unit 114, a predicted image selection unit 115, and a rate control unit 116.
  • the A / D converter 101 performs A / D conversion on the image data (analog data) of the input image input to the image encoding device 100.
  • the A / D conversion unit 101 supplies the converted image data (digital data) to the screen rearrangement buffer 102.
  • the screen rearrangement buffer 102 stores the frame image data of the input images supplied in the display order in that order.
  • the screen rearrangement buffer 102 rearranges the order of the frames of the input image in the encoding order according to GOP (Group Of Picture). That is, the screen rearrangement buffer 102 reads the image data of each frame stored in the display order in the encoding order.
  • the screen rearrangement buffer 102 supplies the read image data to the calculation unit 103.
  • the screen rearrangement buffer 102 also supplies the read image data to the intra prediction unit 113 and the inter prediction unit 114. That is, the image data of each frame is supplied to the calculation unit 103, the intra prediction unit 113, and the inter prediction unit 114 in the encoding order.
  • the calculation unit 103 receives the image data of the input image read from the screen rearrangement buffer 102 and the image data of the prediction image supplied from the intra prediction unit 113 or the inter prediction unit 114 via the prediction image selection unit 115.
  • the image data of the difference image obtained by subtracting the prediction image from the input image is generated.
  • the calculation unit 103 generates a difference image between the input image and the prediction image generated by the intra prediction unit 113.
  • the calculation unit 103 generates a difference image between the input image and the prediction image generated by the inter prediction unit 114.
  • the calculation unit 103 outputs the generated image data of the difference image to the orthogonal transform unit 104.
  • the orthogonal transform unit 104 performs orthogonal transform such as discrete cosine transform and Karhunen-Loeve transform on the image data of the difference image supplied from the computation unit 103.
  • the orthogonal transform unit 104 supplies the obtained transform coefficient to the quantization unit 105.
  • the quantization unit 105 quantizes the transform coefficient supplied from the orthogonal transform unit 104.
  • the quantization unit 105 sets a quantization parameter based on the information regarding the target value of the code amount supplied from the rate control unit 116, and performs the quantization.
  • the quantization unit 105 supplies the transform coefficient thus quantized to the lossless encoding unit 106.
  • the lossless encoding unit 106 encodes the transform coefficient quantized by the quantization unit 105 using an arbitrary encoding method, and generates encoded data. Since the coefficient data is quantized under the control of the rate control unit 116, the data amount (code amount) of the encoded data becomes the target value set by the rate control unit 116 (or approximates the target value). To do).
  • the lossless encoding unit 106 acquires information indicating the mode of intra prediction from the intra prediction unit 113, and acquires information indicating the mode of inter prediction, difference motion vector information, and the like from the inter prediction unit 114.
  • the lossless encoding unit 106 encodes these various types of information using an arbitrary encoding method, and sets (multiplexes) the information as part of the header information of the encoded data.
  • the lossless encoding unit 106 supplies the obtained encoded data to the accumulation buffer 107 for accumulation.
  • Examples of the encoding method performed by the lossless encoding unit 106 include variable length encoding and arithmetic encoding.
  • Examples of variable length coding include H.264.
  • CAVLC Context-Adaptive Variable Length Coding
  • Examples of arithmetic coding include CABAC (Context-Adaptive Binary Arithmetic Coding).
  • the cocoon accumulation buffer 107 temporarily holds the encoded data supplied from the lossless encoding unit 106.
  • the accumulation buffer 107 outputs the stored encoded data to the outside of the image encoding device 100 at a predetermined timing. That is, the accumulation buffer 107 is also a transmission unit that transmits encoded data.
  • the transform coefficient quantized by the quantization unit 105 is also supplied to the inverse quantization unit 108.
  • the inverse quantization unit 108 inversely quantizes the quantized transform coefficient by a method corresponding to the quantization by the quantization unit 105.
  • the inverse quantization unit 108 supplies the obtained transform coefficient to the inverse orthogonal transform unit 109.
  • the inverse orthogonal transform unit 109 performs inverse orthogonal transform on the transform coefficient supplied from the inverse quantization unit 108 by a method corresponding to the orthogonal transform processing by the orthogonal transform unit 104.
  • the image data of the difference image is restored by this inverse orthogonal transform.
  • the inverse orthogonal transform unit 109 supplies the restored image data of the difference image to the calculation unit 110 as an inverse orthogonal transform result.
  • the computing unit 110 uses the inverse orthogonal transform result supplied from the inverse orthogonal transform unit 109 and the image data of the predicted image supplied from the intra prediction unit 113 or the inter prediction unit 114 via the predicted image selection unit 115. Then, image data of an image obtained by adding the restored difference image and the predicted image is generated. That is, an image reconstructed locally (hereinafter referred to as a reconstructed image) is obtained by this addition process.
  • the calculation unit 110 supplies the image data of the reconstructed image to the loop filter 111 or the intra prediction unit 113.
  • the loop filter 111 includes a deblock filter, an adaptive loop filter, and the like, and appropriately performs filter processing on the image data of the reconstructed image supplied from the calculation unit 110.
  • the loop filter 111 removes block distortion of the reconstructed image by performing deblocking filter processing on the image data of the reconstructed image.
  • the loop filter 111 performs loop filter processing on the deblock filter processing result (image data of the reconstructed image from which block distortion has been removed) using a Wiener filter.
  • the image quality of the reconstructed image is improved.
  • the loop filter 111 may further perform other arbitrary filter processing on the reconstructed image. Further, the loop filter 111 can supply information such as filter coefficients used for the filter processing to the lossless encoding unit 106 and encode it as necessary.
  • the loop filter 111 supplies image data of the reconstructed image (hereinafter referred to as a decoded image) filtered as described above to the frame memory 112.
  • the frame memory 112 stores image data of supplied decoded images. Further, the frame memory 112 supplies the stored decoded image data to the inter prediction unit 114 as a reference image at a predetermined timing.
  • the intra prediction unit 113 performs a prediction process on the current picture that is the image of the processing target frame, and generates a predicted image.
  • the intra prediction unit 113 performs this prediction processing for each predetermined block (using blocks as processing units). That is, the intra prediction unit 113 generates a predicted image of the current block that is the processing target of the current picture.
  • the intra prediction unit 113 performs prediction processing (intra-screen prediction (also referred to as intra prediction)) using the reconstructed image supplied as a reference image from the calculation unit 110. That is, the intra prediction unit 113 generates a predicted image using pixel values around the current block included in the reconstructed image.
  • the peripheral pixel value used for this intra prediction is the pixel value of the pixel processed in the past of the current picture.
  • a plurality of methods also referred to as intra prediction modes
  • the intra prediction unit 113 performs the intra prediction in the plurality of intra prediction modes prepared in advance.
  • the intra prediction unit 113 generates predicted images in all candidate intra prediction modes, evaluates the cost function value of each predicted image using the input image supplied from the screen rearrangement buffer 102, and selects the optimum mode. select. When the intra prediction unit 113 selects the optimal intra prediction mode, the intra prediction unit 113 supplies the predicted image generated in the optimal mode to the predicted image selection unit 115.
  • the intra prediction unit 113 supplies the intra prediction mode information indicating the adopted intra prediction mode and the like to the lossless encoding unit 106 as appropriate, and encodes the information.
  • the inter prediction unit 114 performs prediction processing on the current picture and generates a predicted image.
  • the inter prediction unit 114 performs this prediction processing for each predetermined block (using blocks as processing units). That is, the inter prediction unit 114 generates a prediction image of the current block that is the processing target of the current picture.
  • the inter prediction unit 114 performs prediction processing using the image data of the input image supplied from the screen rearrangement buffer 102 and the image data of the decoded image supplied as a reference image from the frame memory 112.
  • This decoded image is an image of a frame processed before the current picture (another picture that is not the current picture). That is, the inter prediction unit 114 performs prediction processing (inter-screen prediction (also referred to as inter prediction)) that generates a prediction image using an image of another picture.
  • This inter prediction consists of motion prediction and motion compensation. More specifically, the inter prediction unit 114 performs motion prediction on the current block using the input image and the reference image, and detects a motion vector. Then, the inter prediction unit 114 performs a motion compensation process according to the detected motion vector using the reference image, and generates a prediction image (inter prediction image information) of the current block.
  • a plurality of methods also referred to as inter prediction modes
  • inter prediction modes are prepared in advance as candidates for the inter prediction (that is, how to generate a predicted image). The inter prediction unit 114 performs such inter prediction in a plurality of inter prediction modes prepared in advance.
  • Inter prediction unit 114 generates a prediction image in all candidate inter prediction modes.
  • the inter prediction unit 114 evaluates the cost function value of each predicted image using the input image supplied from the screen rearrangement buffer 102, information on the generated difference motion vector, and the like, and selects an optimal mode.
  • the inter prediction unit 114 supplies a predicted image generated in the optimal mode to the predicted image selection unit 115.
  • the inter prediction unit 114 supplies information indicating the employed inter prediction mode, information necessary for performing processing in the inter prediction mode, and the like to the lossless encoding unit 106 when decoding encoded data.
  • the necessary information includes, for example, information on the generated differential motion vector, a flag indicating an index of the motion vector predictor as motion vector predictor information, and the like.
  • the predicted image selection unit 115 selects a supply source of the predicted image supplied to the calculation unit 103 or the calculation unit 110.
  • the prediction image selection unit 115 selects the intra prediction unit 113 as a supply source of the prediction image, and supplies the prediction image supplied from the intra prediction unit 113 to the calculation unit 103 and the calculation unit 110.
  • the prediction image selection unit 115 selects the inter prediction unit 114 as a supply source of the prediction image, and calculates the prediction image supplied from the inter prediction unit 114 as the calculation unit 103 or the calculation unit 110. To supply.
  • the rate control unit 116 controls the quantization operation rate of the quantization unit 105 based on the code amount of the encoded data accumulated in the accumulation buffer 107 so that overflow or underflow does not occur.
  • the A / D conversion unit 101 When the encoding process is started, the A / D conversion unit 101 performs A / D conversion on the input image in step S101 of FIG.
  • step S102 the screen rearrangement buffer 102 stores the image that has been A / D converted in step S101, and performs rearrangement from the display order of each picture to the encoding order.
  • step S103 the intra prediction unit 113 performs an intra prediction process in the intra prediction mode.
  • step S104 the inter prediction unit 114 performs inter prediction processing for performing motion prediction and motion compensation in the inter prediction mode.
  • step S105 the predicted image selection unit 115 selects a predicted image based on the cost function value or the like. That is, the predicted image selection unit 115 selects either the predicted image generated by the intra prediction in step S103 or the predicted image generated by the inter prediction in step S104.
  • step S106 the calculation unit 103 calculates a difference between the input image whose frame order is rearranged by the process of step S102 and the predicted image selected by the process of step S105. That is, the calculation unit 103 generates image data of a difference image between the input image and the predicted image.
  • the image data of the difference image obtained in this way is reduced in data amount compared to the original image data. Therefore, the data amount can be compressed as compared with the case where the image is encoded as it is.
  • step S107 the orthogonal transform unit 104 orthogonally transforms the image data of the difference image generated by the process in step S106.
  • step S108 the quantization unit 105 quantizes the orthogonal transform coefficient obtained by the process in step S107, using the quantization parameter calculated by the rate control unit 116.
  • step S109 the inverse quantization unit 108 inversely quantizes the quantized coefficient (also referred to as a quantization coefficient) generated by the process in step S108 with characteristics corresponding to the characteristics of the quantization unit 105.
  • the quantized coefficient also referred to as a quantization coefficient
  • step S110 the inverse orthogonal transform unit 109 performs inverse orthogonal transform on the orthogonal transform coefficient obtained by the process in step S109.
  • step S111 the calculation unit 110 generates the image data of the reconstructed image by adding the predicted image selected by the process of step S105 to the difference image restored by the process of step S110.
  • step S112 the loop filter 111 performs a loop filter process on the image data of the reconstructed image generated by the process in step S111. Thereby, block distortion and the like of the reconstructed image are removed.
  • step S113 the frame memory 112 stores the decoded image obtained by the process in step S112.
  • step S114 the lossless encoding unit 106 encodes the quantized coefficient obtained by the process in step S108. That is, lossless encoding such as variable length encoding or arithmetic encoding is performed on the data corresponding to the difference image.
  • the lossless encoding unit 106 encodes information regarding the prediction mode of the prediction image selected by the process of step S105, and adds the encoded information to the encoded data obtained by encoding the difference image.
  • the lossless encoding unit 106 also encodes the optimal intra prediction mode information supplied from the intra prediction unit 113 or the information corresponding to the optimal inter prediction mode supplied from the inter prediction unit 114, and the like into encoded data. Append.
  • the lossless encoding unit 106 sets syntax elements such as various null units, encodes them, and adds them to the encoded data.
  • step S115 the accumulation buffer 107 accumulates the encoded data obtained by the process in step S113.
  • the encoded data stored in the storage buffer 107 is appropriately read and transmitted to the decoding side via a transmission path or a recording medium.
  • step S116 the rate control unit 116 determines that no overflow or underflow occurs based on the code amount (generated code amount) of the encoded data accumulated in the accumulation buffer 107 by the process in step S115. Controls the rate of quantization operation. Further, the rate control unit 116 supplies information regarding the quantization parameter to the quantization unit 105. When the process of step S116 ends, the encoding process ends.
  • FIG. 16 is a block diagram illustrating a main configuration example of an image decoding apparatus corresponding to the image encoding apparatus 100 in FIG. 14, which is an aspect of an image processing apparatus to which the present technology is applied.
  • the image decoding device 300 shown in FIG. 16 decodes the encoded data generated by the image encoding device 100 by a decoding method corresponding to the encoding method.
  • the image decoding apparatus 300 includes a storage buffer 301, a lossless decoding unit 302, an inverse quantization unit 303, an inverse orthogonal transform unit 304, a calculation unit 305, a loop filter 306, a screen rearrangement buffer 307, and a D A / A converter 308 is included. Further, the image decoding apparatus 300 includes a frame memory 309, an intra prediction unit 310, an inter prediction unit 311 and a predicted image selection unit 312. Furthermore, the image decoding device 300 includes a rearrangement buffer 321.
  • Accumulation buffer 301 is also a receiving unit that receives transmitted encoded data.
  • the accumulation buffer 301 receives and accumulates the transmitted encoded data, and supplies the encoded data to the lossless decoding unit 302 at a predetermined timing. Information necessary for decoding such as prediction mode information is added to the encoded data.
  • the lossless decoding unit 302 decodes the information supplied from the accumulation buffer 301 and encoded by the lossless encoding unit 106 with a decoding method (for example, variable length decoding, arithmetic decoding, etc.) corresponding to the encoding method. .
  • the lossless decoding unit 302 supplies the quantized coefficient data of the difference image obtained by decoding to the inverse quantization unit 303 via the rearrangement buffer 321.
  • the lossless decoding unit 302 determines whether the intra prediction mode is selected as the optimal prediction mode or the inter prediction mode, and the information about the optimal prediction mode is intra-predicted via the rearrangement buffer 321.
  • the data is supplied to the mode determined to be selected. That is, for example, when the intra prediction mode is selected as the optimal prediction mode on the encoding side, information regarding the optimal prediction mode is supplied to the intra prediction unit 310.
  • the inter prediction mode is selected as the optimal prediction mode on the encoding side
  • information regarding the optimal prediction mode is supplied to the inter prediction unit 311.
  • the lossless decoding unit 302 supplies information necessary for inverse quantization, such as a quantization matrix and a quantization parameter, to the inverse quantization unit 303 via the rearrangement buffer 321.
  • Various data decoded from the lossless decoding unit 302 as described above are supplied to the bag rearrangement buffer 321.
  • image data is encoded for each tile when the picture is divided into tiles.
  • the rearrangement buffer 321 is supplied with data for each LCU for each tile.
  • the rearrangement buffer 321 rearranges the data of each LCU supplied for each tile in the raster scan order of the entire picture, and supplies it to the inverse quantization unit 303, the intra prediction unit 310, the inter prediction unit 311, and the like.
  • the rearrangement buffer 321 has a storage area such as the memory 92 (the storage area 92A) of FIG. 10, and stores these data supplied from the lossless decoding unit 302 in the storage area.
  • the rearrangement buffer 321 reads the stored data of each LCU in the raster scan order of the entire picture, and supplies the data to the inverse quantization unit 303, the intra prediction unit 310, the inter prediction unit 311 and the like in that order.
  • the configuration of the rearrangement buffer 321 and the method for realizing the rearrangement of LCU data are arbitrary, and the configuration of the rearrangement buffer 321 has a configuration other than that described above. Rearrangement in which the raster scans are rearranged may be realized.
  • the inverse quantization unit 303 inversely quantizes the quantized coefficient data that has been rearranged by the rearrangement buffer 321 using a method corresponding to the quantization method of the quantization unit 105.
  • the inverse quantization unit 303 is a processing unit similar to the inverse quantization unit 108.
  • the inverse quantization unit 303 supplies the obtained coefficient data to the inverse orthogonal transform unit 304.
  • the inverse orthogonal transform unit 304 performs inverse orthogonal transform on the orthogonal transform coefficient supplied from the inverse quantization unit 303 by a method corresponding to the orthogonal transform method of the orthogonal transform unit 104 as necessary.
  • the inverse orthogonal transform unit 304 is a processing unit similar to the inverse orthogonal transform unit 109.
  • the image data of the difference image is restored by this inverse orthogonal transform process.
  • the restored image data of the difference image corresponds to the image data of the difference image before being orthogonally transformed in the image encoding device.
  • the restored image data of the difference image obtained by the inverse orthogonal transform process of the inverse orthogonal transform unit 304 is also referred to as decoded residual data.
  • the inverse orthogonal transform unit 304 supplies the decoded residual data to the calculation unit 305.
  • the image data of the predicted image is supplied to the calculation unit 305 from the intra prediction unit 310 or the inter prediction unit 311 via the predicted image selection unit 312.
  • the calculating unit 305 obtains image data of a reconstructed image obtained by adding the difference image and the predicted image, using the decoded residual data and the image data of the predicted image. This reconstructed image corresponds to the input image before the predicted image is subtracted by the calculation unit 103.
  • the calculation unit 305 supplies the reconstructed image to the loop filter 306 and the intra prediction unit 310.
  • the loop filter 306 appropriately performs loop filter processing including deblock filter processing and adaptive loop filter processing on the supplied reconstructed image to generate a decoded image. For example, the loop filter 306 removes block distortion by performing deblocking filter processing on the reconstructed image. Further, for example, the loop filter 306 improves the image quality by performing loop filter processing on the deblock filter processing result (reconstructed image from which block distortion has been removed) using a Wiener filter. I do.
  • the type of filter processing performed by the loop filter 306 is arbitrary, and filter processing other than that described above may be performed. Further, the loop filter 306 may perform filter processing using the filter coefficient supplied from the image encoding device.
  • the loop filter 306 supplies the decoded image as the filter processing result to the screen rearrangement buffer 307 and the frame memory 309.
  • the screen rearrangement buffer 307 rearranges the frame order of the decoded image. That is, the screen rearrangement buffer 307 rearranges the images of the frames rearranged in the encoding order by the screen rearrangement buffer 102 in the original display order. That is, the screen rearrangement buffer 307 stores the image data of the decoded images of the frames supplied in the encoding order in that order, and reads the image data of the decoded images of the frames stored in the encoding order in the order of display. / A converter 308.
  • the D / A conversion unit 308 performs D / A conversion on the decoded image (digital data) of each frame supplied from the screen rearrangement buffer 307, and outputs the analog image data to a display (not shown) for display.
  • the frame memory 309 stores the supplied decoded image, and stores the stored decoded image as a reference image in the inter prediction unit 311 at a predetermined timing or based on an external request from the inter prediction unit 311 or the like. Supply.
  • the intra prediction unit 310 acquires, via the rearrangement buffer 321, information indicating the intra prediction mode obtained by decoding the header information in the lossless decoding unit 302. That is, the intra prediction unit 310 acquires information indicating the intra prediction mode that has been rearranged by the rearrangement buffer 321.
  • the intra prediction unit 310 performs intra prediction in the intra prediction mode (optimum intra prediction mode) used in the intra prediction unit 113, and generates a predicted image. At that time, the intra prediction unit 310 performs intra prediction using the image data of the reconstructed image supplied from the calculation unit 305. That is, the intra prediction unit 310 uses this reconstructed image as a reference image (neighboring pixels). The intra prediction unit 310 supplies the generated predicted image to the predicted image selection unit 312.
  • the inter prediction unit 311 acquires information (optimum prediction mode information, reference image information, etc.) obtained by decoding the header information in the lossless decoding unit 302 via the rearrangement buffer 321. That is, the inter prediction unit 311 acquires optimal prediction mode information, reference image information, and the like that have been rearranged by the rearrangement buffer 321.
  • the inter prediction unit 311 performs inter prediction using the reference image acquired from the frame memory 309 in the inter prediction mode (optimum inter prediction mode) used in the inter prediction unit 114 indicated by the optimal prediction mode information, and performs prediction. Generate an image.
  • the predicted image selection unit 312 supplies the prediction image from the intra prediction unit 310 or the prediction image from the inter prediction unit 311 to the calculation unit 305. Then, the arithmetic unit 305 adds the predicted image and the decoded residual data (difference image information) from the inverse orthogonal transform unit 304 to obtain a reconstructed image.
  • the rearrangement buffer 321 rearranges the data of each LCU in the raster scan order of the entire picture, so that the inverse quantization unit 303, the inverse orthogonal transform unit 304, the calculation unit 305, the loop filter 306, and the intra prediction unit
  • Each processing unit such as 310 and the inter prediction unit 311 can execute each process on the data of each LCU in the order of raster scan of the entire picture.
  • the image decoding apparatus 300 can suppress an increase in memory capacity necessary for the decoding process, an increase in processing delay of the decoding process, an increase in the number of memory accesses, and the like, as in the examples of FIGS. That is, the image decoding apparatus 300 can suppress an increase in decoding load.
  • step S301 the accumulation buffer 301 accumulates the transmitted bit stream (encoded data).
  • step S302 the lossless decoding unit 302 decodes the bit stream (encoded data) supplied from the accumulation buffer 301. That is, image data such as an I picture, a P picture, and a B picture encoded by the lossless encoding unit 106 is decoded. At this time, various information other than the image data included in the bit stream such as header information is also decoded.
  • the rearrangement buffer 321 rearranges the LCU data obtained for each tile by the processing in step S302 in the raster scan order of the entire picture.
  • the rearrangement buffer 321 stores the data of each LCU obtained for each tile by the processing in step S302 in a built-in storage area, and performs rearrangement by reading out the entire picture in the raster scan order.
  • step S304 the inverse quantization unit 303 inversely quantizes the quantized coefficients rearranged by the process in step S303.
  • step S305 the inverse orthogonal transform unit 304 performs inverse orthogonal transform on the coefficient inversely quantized in step S304.
  • the intra prediction unit 310 or the inter prediction unit 311 performs a prediction process to generate a predicted image. That is, the prediction process is performed in the prediction mode determined in the lossless decoding unit 302 and applied at the time of encoding. More specifically, for example, when intra prediction is applied at the time of encoding, the intra prediction unit 310 generates a prediction image in the intra prediction mode optimized at the time of encoding. Further, for example, when inter prediction is applied at the time of encoding, the inter prediction unit 311 generates a prediction image in the inter prediction mode that is optimized at the time of encoding.
  • step S307 the calculation unit 305 adds the predicted image generated in step S306 to the difference image obtained by the inverse orthogonal transform in step S305. Thereby, image data of the reconstructed image is obtained.
  • step S308 the loop filter 306 appropriately performs a loop filter process including a deblock filter process and an adaptive loop filter process on the image data of the reconstructed image obtained by the process in step S307.
  • step S309 the screen rearrangement buffer 307 rearranges each frame of the reconstructed image filtered in step S308. That is, the order of frames rearranged at the time of encoding is rearranged in the original display order.
  • step S310 the D / A conversion unit 308 performs D / A conversion on the image in which the frame order is rearranged in step S309. This image is output to a display (not shown), and the image is displayed.
  • step S311 the frame memory 309 stores the image filtered in step S308.
  • step S311 When the process of step S311 is finished, the decoding process is finished.
  • the image decoding apparatus 300 can suppress an increase in decoding load.
  • FIG. 18 shows an example of a multi-view image encoding method.
  • the multi-viewpoint image includes images of a plurality of viewpoints (views). Multiple views of this multi-viewpoint image are encoded using the base view that encodes and decodes using only the image of its own view without using the image of the other view, and the image of the other view.
  • -It consists of a non-base view that performs decoding. For the non-base view, an image of the base view may be used, or an image of another non-base view may be used.
  • each view image is encoded / decoded.
  • the method described above in the second embodiment is applied to the decoding of each view. You may do it. By doing in this way, the increase in the decoding load of each view can be suppressed.
  • the flags and parameters used in the method described in the first embodiment and the second embodiment may be shared. By doing in this way, transmission of redundant information can be suppressed and the amount of information to be transmitted (code amount) can be reduced (that is, reduction in encoding efficiency can be suppressed).
  • a sequence parameter set, a picture parameter set, a syntax element of a slice header, and the like may be shared in encoding / decoding of each view.
  • FIG. 19 is a diagram illustrating a multi-view image encoding apparatus that performs the multi-view image encoding described above.
  • the multi-view image encoding device 600 includes an encoding unit 601, an encoding unit 602, and a multiplexing unit 603.
  • the cocoon encoding unit 601 encodes the base view image and generates a base view image encoded stream.
  • the encoding unit 602 encodes the non-base view image and generates a non-base view image encoded stream.
  • the multiplexing unit 603 multiplexes the base view image encoded stream generated by the encoding unit 601 and the non-base view image encoded stream generated by the encoding unit 602 to generate a multi-view image encoded stream. To do.
  • the image encoding device 100 (FIG. 14) can be applied to the encoding unit 601 and the encoding unit 602 of the multi-view image encoding device 600.
  • the encoding unit 601 and the encoding unit 602 can perform encoding using the same flag and parameter (that is, the flag and parameter can be shared), encoding efficiency can be reduced. Can be suppressed.
  • FIG. 20 is a diagram illustrating a multi-view image decoding apparatus that performs the above-described multi-view image decoding.
  • the multi-view image decoding device 610 includes a demultiplexing unit 611, a decoding unit 612, and a decoding unit 613.
  • the demultiplexing unit 611 demultiplexes the multi-view image encoded stream in which the base view image encoded stream and the non-base view image encoded stream are multiplexed, and the base view image encoded stream and the non-base view image The encoded stream is extracted.
  • the decoding unit 612 decodes the base view image encoded stream extracted by the demultiplexing unit 611 to obtain a base view image.
  • the decoding unit 613 decodes the non-base view image encoded stream extracted by the demultiplexing unit 611 to obtain a non-base view image.
  • the image decoding device 300 (FIG. 16) can be applied to the decoding unit 612 and the decoding unit 613 of the multi-view image decoding device 610. That is, in decoding for each view, the encoded data is losslessly decoded for each tile, and the block data obtained for each tile is rearranged in the raster scan order of the entire picture, and conversion processing, prediction processing, etc. for each block data in that order. The subsequent processing can be performed.
  • the decoding unit 612 and the decoding unit 613 can perform decoding using the same flag and parameter (that is, the flag and parameter can be shared), the reduction in encoding efficiency is suppressed. be able to.
  • FIG. 21 shows an example of a hierarchical image encoding method.
  • Hierarchical image coding is a method in which image data is divided into a plurality of layers (hierarchized) so as to have a scalability function with respect to a predetermined parameter, and is encoded for each layer.
  • the hierarchical image encoding (scalable decoding) is decoding corresponding to the hierarchical image encoding.
  • the hierarchized image includes images of a plurality of hierarchies (layers) having different predetermined parameter values.
  • a plurality of layers of this hierarchical image are encoded / decoded using only the image of the own layer without using the image of the other layer, and encoded / decoded using the image of the other layer.
  • It consists of a non-base layer (also called enhancement layer) that performs decoding.
  • the non-base layer an image of the base layer may be used, or an image of another non-base layer may be used.
  • the non-base layer is composed of difference image data (difference data) between its own image and an image of another layer so that redundancy is reduced.
  • difference image data difference data
  • an image with lower quality than the original image can be obtained using only the base layer data.
  • an original image that is, a high-quality image
  • image compression information of only the base layer (base layer) is transmitted, and a moving image with low spatiotemporal resolution or poor image quality is played
  • base layer For terminals with high processing power, such as televisions and personal computers, in addition to the base layer (base layer), image enhancement information of the enhancement layer (enhancement layer) is transmitted.
  • Image compression information corresponding to the capabilities of the terminal and the network can be transmitted from the server without performing transcoding processing, such as playing a moving image with high image quality.
  • the image of each layer is encoded / decoded.
  • the method described in the second embodiment is applied to the decoding of each layer. You may make it do. By doing in this way, the increase in the decoding load of each layer can be suppressed.
  • the flags and parameters used in the methods described in the first embodiment and the second embodiment may be shared. By doing in this way, transmission of redundant information can be suppressed and the amount of information to be transmitted (code amount) can be reduced (that is, reduction in encoding efficiency can be suppressed).
  • a sequence parameter set, a picture parameter set, a syntax element of a slice header, and the like may be shared in encoding / decoding of each layer.
  • parameters having a scalability function are arbitrary.
  • the spatial resolution as shown in FIG. 22 may be used as the parameter (spatial scalability).
  • the resolution of the image is different for each layer. That is, as shown in FIG. 22, each picture is synthesized with a base layer having a spatially lower resolution than the original image and the base layer image, so that the original image (original spatial resolution) is obtained. Layered into two layers.
  • this number of hierarchies is an example, and the number of hierarchies can be hierarchized.
  • temporal resolution as shown in FIG. 23 may be applied (temporal scalability).
  • the frame rate is different for each layer.
  • layers are layered into layers having different frame rates, and by adding a high frame rate layer to a low frame rate layer, a higher frame rate moving image is obtained.
  • the original moving image original frame rate
  • This number of hierarchies is an example, and can be hierarchized to an arbitrary number of hierarchies.
  • a signal-to-noise ratio (SNR (Signal to Noise ratio)) may be applied (SNR ⁇ ⁇ scalability) as a parameter for providing such scalability.
  • SNR Signal-to-noise ratio
  • the SN ratio is different for each layer. That is, as shown in FIG. 24, each picture has a base layer having a lower SNR than the original image and two layers of enhancement layers from which the original image (original SNR) can be obtained by combining with the base layer image. Is layered.
  • the base layer image compression information information related to the low PSNR image is transmitted, and the enhancement layer (enhancement layer) image compression information is added to this to reconstruct a high PSNR image. It is possible.
  • this number of hierarchies is an example, and the number of hierarchies can be hierarchized.
  • the base layer (base layer) consists of 8-bit (bit) images, and by adding an enhancement layer (enhancement layer) to this, the bit depth scalability (bit-depth ⁇ ⁇ ⁇ scalability) from which a 10-bit (bit) image can be obtained is there.
  • base layer (base ⁇ ⁇ layer) consists of component images in 4: 2: 0 format, and by adding the enhancement layer (enhancement layer) to this, chroma scalability (chroma) scalability).
  • FIG. 25 is a diagram illustrating a hierarchical image encoding apparatus that performs the above-described hierarchical image encoding.
  • the hierarchical image encoding device 620 includes an encoding unit 621, an encoding unit 622, and a multiplexing unit 623.
  • the cocoon encoding unit 621 encodes the base layer image and generates a base layer image encoded stream.
  • the encoding unit 622 encodes the non-base layer image and generates a non-base layer image encoded stream.
  • the multiplexing unit 623 multiplexes the base layer image encoded stream generated by the encoding unit 621 and the non-base layer image encoded stream generated by the encoding unit 622 to generate a hierarchical image encoded stream. .
  • the image encoding device 100 (FIG. 14) can be applied to the encoding unit 621 and the encoding unit 622 of the hierarchical image encoding device 620.
  • the encoding unit 621 and the encoding unit 622 can control the filtering process of intra prediction using the same flag and parameter (that is, the flag and the parameter can be shared). Thus, a reduction in encoding efficiency can be suppressed.
  • FIG. 26 is a diagram illustrating a hierarchical image decoding apparatus that performs the hierarchical image decoding described above.
  • the hierarchical image decoding device 630 includes a demultiplexing unit 631, a decoding unit 632, and a decoding unit 633.
  • the demultiplexing unit 631 demultiplexes the hierarchical image encoded stream in which the base layer image encoded stream and the non-base layer image encoded stream are multiplexed, and the base layer image encoded stream and the non-base layer image code Stream.
  • the decoding unit 632 decodes the base layer image encoded stream extracted by the demultiplexing unit 631 to obtain a base layer image.
  • the decoding unit 633 decodes the non-base layer image encoded stream extracted by the demultiplexing unit 631 to obtain a non-base layer image.
  • the image decoding device 300 (FIG. 16) can be applied to the decoding unit 632 and the decoding unit 633 of the hierarchical image decoding device 630. That is, in decoding for each layer, the encoded data is losslessly decoded for each tile, and the obtained block data for each tile is rearranged in the raster scan order of the entire picture, and conversion processing, prediction processing, etc. for each block data in that order. The subsequent processing can be performed.
  • the decoding unit 612 and the decoding unit 613 can perform decoding using the same flag and parameter (that is, the flag and parameter can be shared), the reduction in encoding efficiency is suppressed. be able to.
  • the application range of the present technology can be applied to any image decoding apparatus that decodes encoded data of image data.
  • the present technology is disclosed in, for example, MPEG, H.264, and the like.
  • image information compressed by orthogonal transformation such as discrete cosine transformation and motion compensation, such as 26x
  • network media such as satellite broadcasting, cable television, the Internet, or mobile phones.
  • the present invention can be applied to an image encoding device and an image decoding device used in the above.
  • the present technology can be applied to an image encoding device and an image decoding device that are used when processing on a storage medium such as an optical, magnetic disk, and flash memory.
  • the series of processes described above can be executed by hardware or can be executed by software.
  • a program constituting the software is installed in the computer.
  • the computer includes, for example, a general-purpose personal computer that can execute various functions by installing a computer incorporated in dedicated hardware and various programs.
  • FIG. 27 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 810 is also connected to the bus 804.
  • An input unit 811, an output unit 812, a storage unit 813, a communication unit 814, and a drive 815 are connected to the input / output interface 810.
  • the bag input unit 811 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
  • the output unit 812 includes, for example, a display, a speaker, an output terminal, and the like.
  • the storage unit 813 includes, for example, a hard disk, a RAM disk, a nonvolatile memory, and the like.
  • the communication unit 814 includes a network interface, for example.
  • the drive 815 drives a removable medium 821 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 801 loads the program stored in the storage unit 813 into the RAM 803 via the input / output interface 810 and the bus 804 and executes the program, for example. Is performed.
  • the RAM 803 also appropriately stores data necessary for the CPU 801 to execute various processes.
  • the program executed by the computer (CPU 801) can be recorded and applied to, for example, a removable medium 821 as a package medium or the like.
  • the program can be 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 813 via the input / output interface 810 by attaching the removable medium 821 to the drive 815.
  • the program can be received by the communication unit 814 via a wired or wireless transmission medium and installed in the storage unit 813.
  • the program can be installed in the ROM 802 or the storage unit 813 in advance.
  • the program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
  • the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but may be performed in parallel or It also includes processes that are executed individually.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Accordingly, a plurality of devices housed in separate housings and connected via a network and a single device housing a plurality of modules in one housing are all systems. .
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units). Conversely, the configurations described above as a plurality of devices (or processing units) may be combined into a single device (or processing unit). Of course, a configuration other than that described above may be added to the configuration of each device (or each processing unit). Furthermore, if the configuration and operation of the entire system are substantially the same, a part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or other processing unit). .
  • the present technology can take a configuration of cloud computing in which one function is shared by a plurality of devices via a network and is jointly processed.
  • each step described in the above flowchart can be executed by one apparatus or can be shared by a plurality of apparatuses.
  • 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.
  • An image encoding device and an image decoding device include a transmitter or a receiver in optical broadcasting, satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication, etc.
  • the present invention can be applied to various electronic devices such as a recording device that records an image on a medium such as a magnetic disk and a flash memory, or a playback device that reproduces an image from these storage media.
  • a recording device that records an image on a medium such as a magnetic disk and a flash memory
  • a playback device that reproduces an image from these storage media.
  • FIG. 28 shows an example of a schematic configuration of a television apparatus to which the above-described embodiment is applied.
  • the television apparatus 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a speaker 908, an external interface (I / F) unit 909, and a control unit. 910, a user interface (I / F) unit 911, and a bus 912.
  • the tuner 902 extracts a signal of a desired channel from a broadcast signal received via the antenna 901, and demodulates the extracted signal. Then, the tuner 902 outputs the encoded bit stream obtained by the demodulation to the demultiplexer 903. That is, the tuner 902 has a role as a transmission unit in the television device 900 that receives an encoded stream in which an image is encoded.
  • the demultiplexer 903 separates the video stream and audio stream of the viewing target program from the encoded bit stream, and outputs each separated stream to the decoder 904. Further, the demultiplexer 903 extracts auxiliary data such as EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 910. Note that the demultiplexer 903 may perform descrambling when the encoded bit stream is scrambled.
  • EPG Electronic Program Guide
  • the decoder 904 decodes the video stream and audio stream input from the demultiplexer 903. Then, the decoder 904 outputs the video data generated by the decoding process to the video signal processing unit 905. In addition, the decoder 904 outputs audio data generated by the decoding process to the audio signal processing unit 907.
  • the video signal processing unit 905 reproduces the video data input from the decoder 904 and causes the display unit 906 to display the video.
  • the video signal processing unit 905 may cause the display unit 906 to display an application screen supplied via a network.
  • the video signal processing unit 905 may perform additional processing such as noise removal on the video data according to the setting.
  • the video signal processing unit 905 may generate a GUI (Graphical User Interface) image such as a menu, a button, or a cursor, and superimpose the generated image on the output image.
  • GUI Graphic User Interface
  • the display unit 906 is driven by a drive signal supplied from the video signal processing unit 905, and displays an image on a video screen of a display device (for example, a liquid crystal display, a plasma display, or an OELD (Organic ElectroLuminescence Display) (organic EL display)). Or an image is displayed.
  • a display device for example, a liquid crystal display, a plasma display, or an OELD (Organic ElectroLuminescence Display) (organic EL display)). Or an image is displayed.
  • the audio signal processing unit 907 performs reproduction processing such as D / A conversion and amplification on the audio data input from the decoder 904, and outputs audio from the speaker 908.
  • the audio signal processing unit 907 may perform additional processing such as noise removal on the audio data.
  • the external interface unit 909 is an interface for connecting the television device 900 to an external device or a network.
  • a video stream or an audio stream received via the external interface unit 909 may be decoded by the decoder 904. That is, the external interface unit 909 also has a role as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded.
  • the bag control unit 910 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, EPG data, data acquired via a network, and the like.
  • the program stored in the memory is read and executed by the CPU when the television apparatus 900 is activated.
  • the CPU controls the operation of the television device 900 according to an operation signal input from the user interface unit 911 by executing the program.
  • the user interface unit 911 is connected to the control unit 910.
  • the user interface unit 911 includes, for example, buttons and switches for the user to operate the television device 900, a remote control signal receiving unit, and the like.
  • the user interface unit 911 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 910.
  • the bus 912 connects the tuner 902, the demultiplexer 903, the decoder 904, the video signal processing unit 905, the audio signal processing unit 907, the external interface unit 909, and the control unit 910 to each other.
  • the decoder 904 has the function of the image decoding apparatus 300 (FIG. 16) according to the above-described embodiment. Accordingly, an increase in load can be suppressed when the television device 900 decodes an image.
  • FIG. 29 shows an example of a schematic configuration of a mobile phone to which the above-described embodiment is applied.
  • a cellular phone 920 includes an antenna 921, a communication unit 922, an audio codec 923, a speaker 924, a microphone 925, a camera unit 926, an image processing unit 927, a demultiplexing unit 928, a recording / reproducing unit 929, a display unit 930, a control unit 931, an operation A portion 932 and a bus 933.
  • the cage antenna 921 is connected to the communication unit 922.
  • the speaker 924 and the microphone 925 are connected to the audio codec 923.
  • the operation unit 932 is connected to the control unit 931.
  • the bus 933 connects the communication unit 922, the audio codec 923, the camera unit 926, the image processing unit 927, the demultiplexing unit 928, the recording / reproducing unit 929, the display unit 930, and the control unit 931 to each other.
  • the mobile phone 920 has various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode, and is used for sending and receiving voice signals, sending and receiving e-mail or image data, taking images, and recording data. Perform the action.
  • the analog voice signal generated by the microphone 925 is supplied to the voice codec 923.
  • the audio codec 923 converts an analog audio signal into audio data, A / D converts the compressed audio data, and compresses it. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922.
  • the communication unit 922 encodes and modulates the audio data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921. In addition, the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to generate audio data, and outputs the generated audio data to the audio codec 923.
  • the audio codec 923 decompresses the audio data and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • control unit 931 in the data communication mode, for example, the control unit 931 generates character data constituting an e-mail in response to an operation by the user via the operation unit 932. In addition, the control unit 931 causes the display unit 930 to display characters. In addition, the control unit 931 generates e-mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated e-mail data to the communication unit 922.
  • the communication unit 922 encodes and modulates email data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921. In addition, the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to restore the email data, and outputs the restored email data to the control unit 931.
  • the control unit 931 displays the content of the electronic mail on the display unit 930 and stores the electronic mail data in the storage medium of the recording / reproducing unit 929.
  • the recording / reproducing unit 929 has a readable / writable arbitrary storage medium.
  • the storage medium may be a built-in storage medium such as a RAM or a flash memory, or an externally mounted type such as a hard disk, magnetic disk, magneto-optical disk, optical disk, USB (Universal Serial Bus) memory, or memory card. It may be a storage medium.
  • the camera unit 926 images a subject to generate image data, and outputs the generated image data to the image processing unit 927.
  • the image processing unit 927 encodes the image data input from the camera unit 926 and stores the encoded stream in the storage medium of the recording / playback unit 929.
  • the demultiplexing unit 928 multiplexes the video stream encoded by the image processing unit 927 and the audio stream input from the audio codec 923, and the multiplexed stream is the communication unit 922. Output to.
  • the communication unit 922 encodes and modulates the stream and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • These transmission signal and reception signal may include an encoded bit stream.
  • the communication unit 922 demodulates and decodes the received signal to restore the stream, and outputs the restored stream to the demultiplexing unit 928.
  • the demultiplexing unit 928 separates the video stream and the audio stream from the input stream, and outputs the video stream to the image processing unit 927 and the audio stream to the audio codec 923.
  • the image processing unit 927 decodes the video stream and generates video data.
  • the video data is supplied to the display unit 930, and a series of images is displayed on the display unit 930.
  • the audio codec 923 decompresses the audio stream and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the image processing unit 927 has the function of the image decoding device 300 (FIG. 16) according to the above-described embodiment. Thereby, an increase in load can be suppressed when the mobile phone 920 decodes an image.
  • FIG. 30 shows an example of a schematic configuration of a recording / reproducing apparatus to which the above-described embodiment is applied.
  • the recording / reproducing device 940 encodes audio data and video data of a received broadcast program and records the encoded data on a recording medium.
  • the recording / reproducing device 940 may encode audio data and video data acquired from another device and record them on a recording medium, for example.
  • the recording / reproducing device 940 reproduces data recorded on the recording medium on a monitor and a speaker, for example, in accordance with a user instruction. At this time, the recording / reproducing device 940 decodes the audio data and the video data.
  • the recording / reproducing apparatus 940 includes a tuner 941, an external interface (I / F) unit 942, an encoder 943, an HDD (Hard Disk Drive) 944, a disk drive 945, a selector 946, a decoder 947, an OSD (On-Screen Display) 948, and a control. Part 949 and a user interface (I / F) part 950.
  • I / F external interface
  • Tuner 941 extracts a signal of a desired channel from a broadcast signal received via an antenna (not shown), and demodulates the extracted signal. Then, the tuner 941 outputs the encoded bit stream obtained by the demodulation to the selector 946. That is, the tuner 941 serves as a transmission unit in the recording / reproducing apparatus 940.
  • the external interface unit 942 is an interface for connecting the recording / reproducing device 940 to an external device or a network.
  • the external interface unit 942 may be, for example, an IEEE1394 interface, a network interface, a USB interface, or a flash memory interface.
  • video data and audio data received via the external interface unit 942 are input to the encoder 943. That is, the external interface unit 942 has a role as a transmission unit in the recording / reproducing apparatus 940.
  • Encoder 943 encodes video data and audio data when video data and audio data input from external interface unit 942 are not encoded. Then, the encoder 943 outputs the encoded bit stream to the selector 946.
  • the HDD 944 records an encoded bit stream in which content data such as video and audio are compressed, various programs, and other data on an internal hard disk. Further, the HDD 944 reads out these data from the hard disk when reproducing video and audio.
  • the disk drive 945 records and reads data to and from the mounted recording medium.
  • the recording medium mounted on the disk drive 945 is, for example, a DVD disk (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD + R, DVD + RW, etc.) or a Blu-ray (registered trademark) disk. It may be.
  • the selector 946 selects an encoded bit stream input from the tuner 941 or the encoder 943 when recording video and audio, and outputs the selected encoded bit stream to the HDD 944 or the disk drive 945. In addition, the selector 946 outputs the encoded bit stream input from the HDD 944 or the disk drive 945 to the decoder 947 during video and audio reproduction.
  • the decoder 947 decodes the encoded bit stream and generates video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD 948. The decoder 947 outputs the generated audio data to an external speaker.
  • the OSD 948 reproduces the video data input from the decoder 947 and displays the video. Further, the OSD 948 may superimpose a GUI image such as a menu, a button, or a cursor on the video to be displayed.
  • a GUI image such as a menu, a button, or a cursor
  • the bag control unit 949 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the recording / reproducing apparatus 940 is activated, for example.
  • the CPU executes the program to control the operation of the recording / reproducing device 940 in accordance with, for example, an operation signal input from the user interface unit 950.
  • the user interface unit 950 is connected to the control unit 949.
  • the user interface unit 950 includes, for example, buttons and switches for the user to operate the recording / reproducing device 940, a remote control signal receiving unit, and the like.
  • the user interface unit 950 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 949.
  • the decoder 947 has the function of the image decoding apparatus 300 (FIG. 16) according to the above-described embodiment. Thereby, an increase in load can be suppressed when the recording / reproducing apparatus 940 decodes an image.
  • FIG. 31 illustrates an example of a schematic configuration of an imaging apparatus to which the above-described embodiment is applied.
  • the imaging device 960 images a subject to generate an image, encodes the image data, and records it on a recording medium.
  • the imaging device 960 includes an optical block 961, an imaging unit 962, a signal processing unit 963, an image processing unit 964, a display unit 965, an external interface (I / F) unit 966, a memory 967, a media drive 968, an OSD 969, a control unit 970, A user interface (I / F) unit 971 and a bus 972 are provided.
  • the optical block 961 is connected to the imaging unit 962.
  • the imaging unit 962 is connected to the signal processing unit 963.
  • the display unit 965 is connected to the image processing unit 964.
  • the user interface unit 971 is connected to the control unit 970.
  • the bus 972 connects the image processing unit 964, the external interface unit 966, the memory 967, the media drive 968, the OSD 969, and the control unit 970 to each other.
  • the optical block 961 includes a focus lens and a diaphragm mechanism.
  • the optical block 961 forms an optical image of the subject on the imaging surface of the imaging unit 962.
  • the imaging unit 962 includes an image sensor such as a CCD (Charge-Coupled Device) or a CMOS (Complementary Metal-Oxide Semiconductor), and converts an optical image formed on the imaging surface into an image signal as an electrical signal by photoelectric conversion. Then, the imaging unit 962 outputs the image signal to the signal processing unit 963.
  • CCD Charge-Coupled Device
  • CMOS Complementary Metal-Oxide Semiconductor
  • the eyelid signal processing unit 963 performs various camera signal processing such as knee correction, gamma correction, and color correction on the image signal input from the imaging unit 962.
  • the signal processing unit 963 outputs the image data after the camera signal processing to the image processing unit 964.
  • the haze image processing unit 964 encodes the image data input from the signal processing unit 963 to generate encoded data. Then, the image processing unit 964 outputs the generated encoded data to the external interface unit 966 or the media drive 968. In addition, the image processing unit 964 decodes encoded data input from the external interface unit 966 or the media drive 968 to generate image data. Then, the image processing unit 964 outputs the generated image data to the display unit 965. In addition, the image processing unit 964 may display the image by outputting the image data input from the signal processing unit 963 to the display unit 965. Further, the image processing unit 964 may superimpose display data acquired from the OSD 969 on an image output to the display unit 965.
  • the OSD 969 generates a GUI image such as a menu, a button, or a cursor, for example, and outputs the generated image to the image processing unit 964.
  • the external interface unit 966 is configured as a USB input / output terminal, for example.
  • the external interface unit 966 connects the imaging device 960 and a printer, for example, when printing an image.
  • a drive is connected to the external interface unit 966 as necessary.
  • a removable medium such as a magnetic disk or an optical disk is attached to the drive, and a program read from the removable medium can be installed in the imaging device 960.
  • the external interface unit 966 may be configured as a network interface connected to a network such as a LAN or the Internet. That is, the external interface unit 966 has a role as a transmission unit in the imaging device 960.
  • the recording medium loaded in the media drive 968 may be any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
  • a recording medium may be fixedly mounted on the media drive 968, and a non-portable storage unit such as an internal hard disk drive or an SSD (Solid State Drive) may be configured.
  • the bag control unit 970 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the imaging device 960 is activated, for example.
  • the CPU controls the operation of the imaging device 960 according to an operation signal input from the user interface unit 971 by executing the program.
  • the user interface unit 971 is connected to the control unit 970.
  • the user interface unit 971 includes, for example, buttons and switches for the user to operate the imaging device 960.
  • the user interface unit 971 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 970.
  • the image processing unit 964 has the function of the image decoding device 300 (FIG. 16) according to the above-described embodiment according to the above-described embodiment. Thereby, an increase in load can be suppressed when the image capturing apparatus 960 decodes an image.
  • Scalable encoding is used for selection of data to be transmitted, as in the example shown in FIG.
  • the distribution server 1002 reads the scalable encoded data stored in the scalable encoded data storage unit 1001, and via the network 1003, the personal computer 1004, the AV device 1005, the tablet This is distributed to the terminal device such as the device 1006 and the mobile phone 1007.
  • the distribution server 1002 selects and transmits encoded data of appropriate quality according to the capability of the terminal device, the communication environment, and the like. Even if the distribution server 1002 transmits high-quality data unnecessarily, a high-quality image is not always obtained in the terminal device, which may cause a delay or an overflow. Moreover, there is a possibility that the communication band is unnecessarily occupied or the load on the terminal device is unnecessarily increased. On the other hand, even if the distribution server 1002 transmits unnecessarily low quality data, there is a possibility that an image with sufficient image quality cannot be obtained in the terminal device. Therefore, the distribution server 1002 appropriately reads and transmits the scalable encoded data stored in the scalable encoded data storage unit 1001 as encoded data having an appropriate quality with respect to the capability and communication environment of the terminal device. .
  • the scalable encoded data storage unit 1001 stores scalable encoded data (BL + EL) 1011 encoded in a scalable manner.
  • the scalable encoded data (BL + EL) 1011 is encoded data including both a base layer and an enhancement layer, and is a data that can be decoded to obtain both a base layer image and an enhancement layer image. It is.
  • Distribution server 1002 selects an appropriate layer according to the capability of the terminal device that transmits data, the communication environment, and the like, and reads the data of that layer. For example, the distribution server 1002 reads high-quality scalable encoded data (BL + EL) 1011 from the scalable encoded data storage unit 1001 and transmits it to the personal computer 1004 and the tablet device 1006 with high processing capability as they are. . On the other hand, for example, the distribution server 1002 extracts base layer data from the scalable encoded data (BL + EL) 1011 for the AV device 1005 and the cellular phone 1007 having a low processing capability, and performs scalable encoding. Although it is data of the same content as the data (BL + EL) 1011, it is transmitted as scalable encoded data (BL) 1012 having a lower quality than the scalable encoded data (BL + EL) 1011.
  • BL scalable encoded data
  • scalable encoded data By using scalable encoded data in this way, the amount of data can be easily adjusted, so that the occurrence of delays and overflows can be suppressed, and unnecessary increases in the load on terminal devices and communication media can be suppressed. be able to.
  • scalable encoded data (BL + EL) 1011 since scalable encoded data (BL + EL) 1011 has reduced redundancy between layers, the amount of data can be reduced as compared with the case where encoded data of each layer is used as individual data. . Therefore, the storage area of the scalable encoded data storage unit 1001 can be used more efficiently.
  • the hardware performance of the terminal device varies depending on the device.
  • the application which a terminal device performs is also various, the capability of the software is also various.
  • the network 1003 serving as a communication medium can be applied to any communication network including wired, wireless, or both, such as the Internet and a LAN (Local Area Network), and has various data transmission capabilities. Furthermore, there is a risk of change due to other communications.
  • the distribution server 1002 communicates with the terminal device that is the data transmission destination before starting data transmission, and the hardware performance of the terminal device, the performance of the application (software) executed by the terminal device, etc. Information regarding the capability of the terminal device and information regarding the communication environment such as the available bandwidth of the network 1003 may be obtained. The distribution server 1002 may select an appropriate layer based on the information obtained here.
  • the layer extraction may be performed by the terminal device.
  • the personal computer 1004 may decode the transmitted scalable encoded data (BL + EL) 1011 and display a base layer image or an enhancement layer image. Further, for example, the personal computer 1004 extracts the base layer scalable encoded data (BL) 1012 from the transmitted scalable encoded data (BL + EL) 1011 and stores it or transfers it to another device. The base layer image may be displayed after decoding.
  • the data transmission system 1000 may be any system as long as it transmits a scalable encoded data to a terminal device by selecting an appropriate layer according to the capability of the terminal device or a communication environment. Can be applied to the system.
  • the present technology is applied in the same manner as the application to the hierarchical encoding / decoding described above with reference to FIGS. Effects similar to those described above with reference to FIGS. 21 to 26 can be obtained.
  • scalable coding is used for transmission via a plurality of communication media, for example, as in the example shown in FIG.
  • a broadcasting station 1101 transmits base layer scalable encoded data (BL) 1121 by terrestrial broadcasting 1111. Also, the broadcast station 1101 transmits enhancement layer scalable encoded data (EL) 1122 via an arbitrary network 1112 including a wired or wireless communication network or both (for example, packetized transmission).
  • BL base layer scalable encoded data
  • EL enhancement layer scalable encoded data
  • Terminal device 1102 has a reception function of terrestrial broadcast 1111 broadcasted by broadcast station 1101 and receives base layer scalable encoded data (BL) 1121 transmitted via terrestrial broadcast 1111.
  • the terminal apparatus 1102 further has a communication function for performing communication via the network 1112, and receives enhancement layer scalable encoded data (EL) 1122 transmitted via the network 1112.
  • BL base layer scalable encoded data
  • EL enhancement layer scalable encoded data
  • the terminal device 1102 decodes the base layer scalable encoded data (BL) 1121 acquired via the terrestrial broadcast 1111 according to, for example, a user instruction, and obtains or stores a base layer image. Or transmit to other devices.
  • BL base layer scalable encoded data
  • the terminal device 1102 for example, in response to a user instruction, the base layer scalable encoded data (BL) 1121 acquired via the terrestrial broadcast 1111 and the enhancement layer scalable encoded acquired via the network 1112 Data (EL) 1122 is combined to obtain scalable encoded data (BL + EL), or decoded to obtain an enhancement layer image, stored, or transmitted to another device.
  • BL base layer scalable encoded data
  • EL enhancement layer scalable encoded acquired via the network 1112 Data
  • the scalable encoded data can be transmitted via, for example, different communication media for each layer. Therefore, the load can be distributed, and the occurrence of delay and overflow can be suppressed.
  • a communication medium used for transmission may be selected for each layer.
  • scalable encoded data (BL) 1121 of a base layer having a relatively large amount of data is transmitted via a communication medium having a wide bandwidth
  • scalable encoded data (EL) 1122 having a relatively small amount of data is transmitted. You may make it transmit via a communication medium with a narrow bandwidth.
  • the communication medium for transmitting the enhancement layer scalable encoded data (EL) 1122 is switched between the network 1112 and the terrestrial broadcast 1111 according to the available bandwidth of the network 1112. May be.
  • the number of layers is arbitrary, and the number of communication media used for transmission is also arbitrary.
  • the number of terminal devices 1102 serving as data distribution destinations is also arbitrary.
  • broadcasting from the broadcasting station 1101 has been described as an example, but the usage example is not limited to this.
  • the data transmission system 1100 can be applied to any system as long as it is a system that divides scalable encoded data into a plurality of layers and transmits them through a plurality of lines.
  • the present technology is applied in the same manner as the application to the hierarchical encoding / decoding described above with reference to FIGS. Effects similar to those described above with reference to FIGS. 21 to 26 can be obtained.
  • scalable encoding is used for storing encoded data as in the example shown in FIG. 34, for example.
  • the imaging device 1201 performs scalable coding on image data obtained by imaging the subject 1211, and obtains scalable coded data (BL + EL) 1221 as a scalable coded data storage device 1202. To supply.
  • the scalable encoded data storage device 1202 stores the scalable encoded data (BL + EL) 1221 supplied from the imaging device 1201 with quality according to the situation. For example, in the normal case, the scalable encoded data storage device 1202 extracts base layer data from the scalable encoded data (BL + EL) 1221, and the base layer scalable encoded data ( BL) 1222. On the other hand, for example, in the case of attention, the scalable encoded data storage device 1202 stores scalable encoded data (BL + EL) 1221 with high quality and a large amount of data.
  • the scalable encoded data storage device 1202 can store an image with high image quality only when necessary, so that an increase in the amount of data can be achieved while suppressing a reduction in the value of the image due to image quality degradation. And the use efficiency of the storage area can be improved.
  • the imaging device 1201 is a surveillance camera.
  • the monitoring target for example, an intruder
  • the content of the captured image is likely to be unimportant, so reduction of the data amount is given priority, and the image data (scalable coding) Data) is stored in low quality.
  • the image quality is given priority and the image data (scalable) (Encoded data) is stored with high quality.
  • the imaging apparatus 1201 may make a determination, and the determination result may be transmitted to the scalable encoded data storage device 1202.
  • the criterion for determining whether the time is normal or noting is arbitrary, and the content of the image as the criterion is arbitrary. Of course, conditions other than the contents of the image can also be used as the criterion. For example, it may be switched according to the volume or waveform of the recorded sound, may be switched at every predetermined time, or may be switched by an external instruction such as a user instruction.
  • the number of states is arbitrary, for example, normal, slightly attention, attention, very attention, etc.
  • three or more states may be switched.
  • the upper limit number of states to be switched depends on the number of layers of scalable encoded data.
  • the imaging apparatus 1201 may determine the number of layers for scalable coding according to the state. For example, in a normal case, the imaging apparatus 1201 may generate base layer scalable encoded data (BL) 1222 with low quality and a small amount of data, and supply the scalable encoded data storage apparatus 1202 to the scalable encoded data storage apparatus 1202. For example, when attention is paid, the imaging device 1201 generates scalable encoded data (BL + EL) 1221 having a high quality and a large amount of data, and supplies the scalable encoded data storage device 1202 to the scalable encoded data storage device 1202. May be.
  • BL base layer scalable encoded data
  • BL + EL scalable encoded data
  • the surveillance camera has been described as an example.
  • the use of the imaging system 1200 is arbitrary and is not limited to the surveillance camera.
  • the present technology is applied in the same manner as the application to the hierarchical encoding / decoding described above with reference to FIGS. 26, the same effect as described above can be obtained.
  • the present technology can also be applied to HTTP streaming such as MPEGASHDASH, for example, by selecting an appropriate piece of data from a plurality of encoded data with different resolutions prepared in advance. Can do. That is, information regarding encoding and decoding can be shared among a plurality of such encoded data.
  • the method for transmitting such information is not limited to such an example.
  • these pieces of information may be transmitted or recorded as separate data associated with the encoded bitstream without being multiplexed into the encoded bitstream.
  • the term “associate” means that an image (which may be a part of an image such as a slice or a block) included in the bitstream and information corresponding to the image can be linked at the time of decoding. Means. That is, information may be transmitted on a transmission path different from that of the image (or bit stream).
  • Information may be recorded on a recording medium (or another recording area of the same recording medium) different from the image (or bit stream). Furthermore, the information and the image (or bit stream) may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part of the frame.
  • this technique can also take the following structures.
  • a decoding unit that decodes, for each region, image data encoded for each predetermined region that divides a picture into a plurality of blocks, the block that divides the region into a plurality of processing units.
  • a rearrangement unit that rearranges the decoding result of the encoded data for each block obtained by the decoding unit for each area in the raster scan order of the entire picture;
  • An image decoding apparatus comprising: a conversion unit that converts the decoding results for each block rearranged in the raster scan order of the entire picture by the rearrangement unit to generate decoded image data.
  • (2) The image decoding device according to any one of (1), (3) to (14), wherein the region is a tile or a slice.
  • the rearrangement unit includes a storage unit that stores the decoding result, stores the decoding result for each block obtained by the decoding unit for each area in the storage unit, and stores the decoding result from the storage unit.
  • the image decoding apparatus according to any one of (1), (2), and (4) to (14), wherein the decoding results for each block are rearranged by reading out the decoding results for each block in the order of raster scan of the entire picture. .
  • the storage unit allocates a fixed-length area to the block, and stores the decoding result of each block at an address corresponding to the position of the block in the picture (1) to (3), (5
  • the image decoding device according to any one of (14) to (14).
  • the storage unit sequentially stores the decoding result of each block, and manages the start address of the decoding result of each block.
  • the storage unit sequentially stores the decoding result of each block and manages the start address of the decoding result of each block at the left end of the area.
  • (1) to (5), (7) to (14) The image decoding device according to any one of the above.
  • (7) The image according to any one of (1) to (6) and (8) to (14), further including a filter unit that sequentially filters the decoded image data for each block generated by the conversion unit. Decoding device.
  • the image decoding device according to any one of (1) to (7) and (9) to (14), wherein the filtering process is a deblocking filtering process.
  • the encoded data is obtained by encoding difference image data that is difference image data between an image of the image data and a predicted image.
  • the decoding unit obtains the difference image data as the decoding result by decoding the encoded data,
  • the conversion unit generates the predicted image, and adds the generated predicted image to the difference image of the difference image data, thereby converting the difference image data into the decoded image data.
  • (1) to (8) The image decoding device according to any one of (10) to (14).
  • the encoded data is obtained by encoding coefficient data obtained by orthogonally transforming the difference image data.
  • the decoding unit obtains the coefficient data as the decoding result by decoding the encoded data
  • the transform unit performs inverse orthogonal transform on the coefficient data to generate the difference image data, generates the predicted image, and adds the generated predicted image to the difference image of the generated difference image data
  • the image decoding device according to any one of (1) to (9) and (11) to (14), wherein the coefficient image data is converted into the decoded image data.
  • the encoded data is obtained by encoding quantized coefficient data obtained by quantizing the coefficient data.
  • the decoding unit obtains the quantized coefficient data as the decoding result by decoding the encoded data
  • the transform unit generates the coefficient data by dequantizing the quantized coefficient data, generates the difference image data by performing inverse orthogonal transform on the generated coefficient data, generates the prediction image, and generates
  • the quantized coefficient image data is converted into the decoded image data by adding the predicted image to the difference image of the generated difference image data.
  • the encoded data encoded with the block that divides the area into a plurality of units as a processing unit is decoded for each of the areas; Rearranging the decoding results of the encoded data for each block obtained for each region in the raster scan order of the entire picture, An image decoding method for generating decoded image data by converting a decoding result for each block rearranged in the raster scan order of the entire picture.

Landscapes

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

Abstract

本開示は、復号の負荷の増大を抑制することができるようにする画像復号装置および方法に関する。 画像データが、ピクチャを複数に分割する所定の領域毎に、領域を複数に分割するブロックを処理単位として符号化された符号化データを、領域毎に復号する復号部と、復号部により領域毎に得られるブロック毎の符号化データの復号結果を、ピクチャ全体のラスタスキャン順に並べ替える並べ替え部と、並べ替え部によりピクチャ全体のラスタスキャン順に並べ替えられたブロック毎の復号結果を変換して復号画像データを生成する変換部とを備える。本開示は、例えば、画像復号装置に適用することができる。

Description

画像復号装置および方法
  本開示は画像復号装置および方法に関し、特に、復号の負荷の増大を抑制することができるようにした画像復号装置および方法に関する。
  近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送や蓄積を目的とし、画像情報特有の冗長性を利用して離散コサイン変換等の直交変換と動き補償とにより圧縮する符号化方式を採用して画像を圧縮符号化する装置が普及しつつある。この符号化方式には、例えば、MPEG(Moving Picture Experts Group)などがある。
  特に、MPEG2(ISO(International Organization for Standardization)/IEC(International Electrotechnical Commission) 13818-2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準規格である。現在、MPEG2は、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに広く用いられている。例えば、720x480画素を持つ標準解像度の飛び越し走査画像であれば、MPEG2圧縮方式を用いることにより、4Mbps乃至8Mbpsの符号量(ビットレート)が割り当てられる。また、例えば、1920x1088画素を持つ高解像度の飛び越し走査画像であれば、MPEG2圧縮方式を用いることにより、18Mbps乃至22 Mbpsの符号量(ビットレート)が割り当てられる。これにより、高い圧縮率と良好な画質を実現することができる。
  MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量(ビットレート)、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及等により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC 14496-2としてその規格が国際標準に承認された。
  更に、近年、当初テレビ会議用の画像符号化を目的として、H.26L (ITU-T(International Telecommunication Union Telecommunication Standardization Sector) Q6/16 VCEG(Video Coding Expert Group))という標準の規格化が進められた。H.26LはMPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、MPEG4の活動の一環として、このH.26Lをベースに、H.26Lではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われた。
  標準化のスケジュールとしては、2003年3月にはH.264及びMPEG-4 Part10 (AVC(Advanced Video Coding)とも称する)という名の元に国際標準となった。
  さらに、このH.264/AVCの拡張として、RGBや4:2:2、4:4:4といった、業務用に必要な符号化ツールや、MPEG-2で規定されていた8x8DCTや量子化マトリクスをも含んだFRExt (Fidelity Range Extension) の標準化が2005年2月に完了した。これにより、H.264/AVCを用いて、映画に含まれるフィルムノイズをも良好に表現することが可能な符号化方式となって、Blu-Ray Disc(商標)等の幅広いアプリケーションに用いられる運びとなった。
  しかしながら、昨今、ハイビジョン画像の4倍の、4000x2000画素程度の画像(4K画像とも称する)を圧縮したい、あるいは、インターネットのような、限られた伝送容量の環境において、ハイビジョン画像を配信したいといった、更なる高圧縮率符号化に対するニーズが高まっている。このため、先述の、ITU-T傘下のVCEGにおいて、符号化効率の改善に関する検討が継続され行なわれている。
  そこで、現在、AVCより更なる符号化効率の向上を目的として、ITU-Tと、ISO/IECの共同の標準化団体であるJCTVC(Joint Collaboration Team - Video Coding)により、HEVC(High Efficiency Video Coding)と呼ばれる符号化方式の標準化が進められている。HEVC規格については、2013年1月にドラフト版仕様であるCommittee draftが発行されている(例えば、非特許文献1参照)。
  HEVCの場合、一般的に、符号化側から復号側に伝送される情報には、Iスライスのためのシンタクス(syntax)だけでなく、PスライスやBスライスのためのシンタクス(syntax)要素、すなわち、画面間の処理に関するシンタクス要素が含まれている。
  ところで、このAVCやHEVCでは、1ピクチャを複数のタイル(Tile)に分割し、このタイル毎に符号化・復号を行う方法がある。この場合、可逆符号化・可逆復号、予測、直交変換・逆直交変換、量子化・逆量子化等の処理は、このタイル毎に(他のタイルに依存せずに)実行される。
  したがって、例えば復号処理においては、符号化データは、タイル毎に可逆復号され、タイル毎に予測や変換処理が行われる。ここで、可逆復号の処理時間はデータ量に依存するが、予測や変換処理はデータ量に大きな影響を受けず略一定となる。そのため、可逆復号の処理時間の変動を吸収するために、予測や変換処理の前に、復号結果をメモリに蓄積する必要があった。
Benjamin Bross, Woo-Jin Han, Gary J. Sullivan, Jens-Rainer Ohm, Gary J. Sullivan, Ye-Kui Wang, Thomas Wiegand, " High Efficiency Video Coding (HEVC) text specification draft 10 (for FDIS & Consent)", JCTVC-L1003_v4, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 12th Meeting: Geneva, CH, 14-23 Jan. 2013
  しかしながら、予測・変換処理されて得られた復号画像データに対するデブロックフィルタ等のフィルタ処理は、そのタイルを複数に分割するマクロブロックやコーディングユニット等のブロック毎に、ピクチャ全体のラスタスキャン順に実行される。つまり、フィルタ処理は、可逆復号や変換処理等と処理順が異なる。そのため、フィルタ処理の前にも、データをメモリに蓄積し、並べ替える必要があった。したがって、メモリへのアクセス回数が増大し、負荷が増大する恐れがあった。
  本開示は、このような状況に鑑みてなされたものであり、復号の負荷の増大を抑制することができるようにするものである。
  本技術の一側面は、画像データが、ピクチャを複数に分割する所定の領域毎に、前記領域を複数に分割するブロックを処理単位として符号化された符号化データを、前記領域毎に復号する復号部と、前記復号部により前記領域毎に得られる前記ブロック毎の前記符号化データの復号結果を、ピクチャ全体のラスタスキャン順に並べ替える並べ替え部と、前記並べ替え部によりピクチャ全体のラスタスキャン順に並べ替えられた前記ブロック毎の復号結果を変換して復号画像データを生成する変換部とを備える画像復号装置である。
  前記領域は、タイルまたはスライスであるようにすることができる。
  前記並べ替え部は、前記復号結果を記憶する記憶部を有し、前記復号部により前記領域毎に得られた前記ブロック毎の復号結果を前記記憶部に記憶し、前記記憶部から前記ブロック毎の復号結果をピクチャ全体のラスタスキャン順に読み出すことにより、前記ブロック毎の復号結果を並べ替えることができる。
  前記記憶部は、前記ブロックに対して固定長領域を割り当て、各ブロックの前記復号結果を、前記ブロックのピクチャにおける位置に対応したアドレスに記憶することができる。
  前記記憶部は、各ブロックの前記復号結果を順次記憶し、各ブロックの復号結果の先頭アドレスを管理することができる。
  前記記憶部は、各ブロックの前記復号結果を順次記憶し、前記領域の左端の各ブロックの復号結果の先頭アドレスを管理することができる。
  前記変換部により生成された前記ブロック毎の復号画像データを、順次フィルタ処理するフィルタ部をさらに備えることができる。
  前記フィルタ処理は、デブロックフィルタ処理であるようにすることができる。
  前記符号化データは、前記画像データの画像と予測画像との差分画像のデータである差分画像データが符号化されたものであり、前記復号部は、前記符号化データを復号することにより、前記復号結果として前記差分画像データを得て、前記変換部は、前記予測画像を生成し、生成した前記予測画像を前記差分画像データの差分画像に加算することにより、前記差分画像データを前記復号画像データに変換することができる。
  前記符号化データは、前記差分画像データが直交変換されて得られた係数データが符号化されたものであり、前記復号部は、前記符号化データを復号することにより、前記復号結果として前記係数データを得て、前記変換部は、前記係数データを逆直交変換して前記差分画像データを生成し、前記予測画像を生成し、生成した前記予測画像を生成した前記差分画像データの差分画像に加算することにより、前記係数画像データを前記復号画像データに変換することができる。
  前記符号化データは、前記係数データが量子化されて得られた量子化係数データが符号化されたものであり、前記復号部は、前記符号化データを復号することにより、前記復号結果として前記量子化係数データを得て、前記変換部は、前記量子化係数データを逆量子化して前記係数データを生成し、生成された前記係数データを逆直交変換して前記差分画像データを生成し、前記予測画像を生成し、生成した前記予測画像を生成した前記差分画像データの差分画像に加算することにより、前記量子化係数画像データを前記復号画像データに変換することができる。
  前記復号部は、前記符号化データを可逆復号することができる。
  前記復号部は、前記符号化データを可変長復号することができる。
  前記復号部は、前記符号化データを算術復号することができる。
  本技術の一側面は、また、画像データが、ピクチャを複数に分割する所定の領域毎に、前記領域を複数に分割するブロックを処理単位として符号化された符号化データを、前記領域毎に復号し、前記領域毎に得られる前記ブロック毎の前記符号化データの復号結果を、ピクチャ全体のラスタスキャン順に並べ替え、ピクチャ全体のラスタスキャン順に並べ替えられた前記ブロック毎の復号結果を変換して復号画像データを生成する画像復号方法である。
  本技術の一側面においては、画像データが、ピクチャを複数に分割する所定の領域毎に、領域を複数に分割するブロックを処理単位として符号化された符号化データが、領域毎に復号され、その領域毎に得られるブロック毎の符号化データの復号結果が、ピクチャ全体のラスタスキャン順に並べ替えられ、そのピクチャ全体のラスタスキャン順に並べ替えられたブロック毎の復号結果が変換されて復号画像データが生成される。
  本開示によれば、画像を復号することができる。特に、復号の負荷の増大を抑制することができる。
コーディングユニットの構成例を説明する図である。 タイル(Tile)の例を説明する図である。 復号処理および変換・予測処理の実行の様子の例を示す図である。 復号処理および変換・予測処理の実行の様子の、他の例を示す図である。 復号処理、変換・予測処理、並びにフィルタ処理の実行の様子の例を示す図である。 復号処理、変換・予測処理、並びにフィルタ処理の実行の様子の、他の例を示す図である。 メモリの利用例を説明する図である。 復号処理、変換・予測処理、並びにフィルタ処理の実行の様子の、さらに他の例を示す図である。 復号処理、変換・予測処理、並びにフィルタ処理の実行の様子の、さらに他の例を示す図である。 メモリの他の利用例を説明する図である。 メモリのデータ管理の例を説明する図である。 メモリのデータ管理の他の例を説明する図である。 メモリのデータ管理のさらに他の例を説明する図である。 画像符号化装置の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 画像復号装置の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 多視点画像符号化方式の例を示す図である。 本技術を適用した多視点画像符号化装置の主な構成例を示す図である。 本技術を適用した多視点画像復号装置の主な構成例を示す図である。 階層画像符号化方式の例を示す図である。 スペーシャルなスケーラブル符号化の例を説明する図である。 テンポラルなスケーラブル符号化の例を説明する図である。 信号雑音比のスケーラブル符号化の例を説明する図である。 本技術を適用した階層画像符号化装置の主な構成例を示す図である。 本技術を適用した階層画像復号装置の主な構成例を示す図である。 コンピュータの主な構成例を示すブロック図である。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。 スケーラブル符号化利用の一例を示すブロック図である。 スケーラブル符号化利用の他の例を示すブロック図である。 スケーラブル符号化利用のさらに他の例を示すブロック図である。
  以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
  1.概要
  2.第1の実施の形態(画像符号化装置)
  3.第2の実施の形態(画像復号装置)
  4.第3の実施の形態(多視点画像符号化・多視点画像復号装置)
  5.第4の実施の形態(階層画像符号化・階層画像復号装置)
  6.第5の実施の形態(コンピュータ)
  7.応用例
  8.スケーラブル符号化の応用例
  <1.概要>
    <符号化方式>
  以下においては、HEVC(High Efficiency Video Coding)方式の画像符号化・復号に適用する場合を例に、本技術を説明する。
    <コーディングユニット>
  AVC(Advanced Video Coding)においては、マクロブロックとサブマクロブロックによる階層構造が規定されている。しかしながら、16x16画素のマクロブロックでは、次世代符号化方式の対象となるような、UHD(Ultra High Definition;4000x2000画素)といった大きな画枠に対して最適ではない。
  これに対して、HEVCにおいては、図1に示されるように、コーディングユニット(CU(Coding Unit))が規定されている。
  CUは、Coding Tree Block(CTB)とも呼ばれ、AVCにおけるマクロブロックと同様の役割を果たす、ピクチャ単位の画像の部分領域である。AVCのマクロブロックは、16x16画素の大きさに固定されているのに対し、HEVCのCUの大きさは固定されておらず、それぞれのシーケンスにおいて、画像圧縮情報中において指定されることになる。
  例えば、出力となる符号化データに含まれるシーケンスパラメータセット(SPS(Sequence Parameter Set))において、CUの最大サイズ(LCU(Largest Coding Unit))と最小サイズ(SCU(Smallest Coding Unit))が規定される。
  それぞれのLCU内においては、SCUのサイズを下回らない範囲で、split_flag=1とすることにより、より小さなサイズのCUに分割することができる。例えば、LCUの大きさが64x64であり、最大階層深度が5となるようにしてもよい。例えば、図1のように、2Nx2Nの大きさのCUは、split_flagの値が「1」である時、1つ下の階層となる、NxNの大きさのCUに分割される。
  更に、CUは、イントラ若しくはインター予測の処理単位となる領域(ピクチャ単位の画像の部分領域)であるプレディクションユニット(Prediction Unit(PU))に分割され、また、直交変換の処理単位となる領域(ピクチャ単位の画像の部分領域)である、トランスフォームユニット(Transform Unit(TU))に分割される。HEVCにおいては、4x4、8x8、16x16、および32x32のいずれかのサイズを直交変換の処理単位とすることができる。
  以上のHEVCのように、CUを定義し、そのCUを単位として各種処理を行うような符号化方式の場合、AVCにおけるマクロブロックはLCUに相当し、ブロック(サブブロック)はCUに相当すると考えることができる。また、AVCにおける動き補償ブロックは、PUに相当すると考えることができる。ただし、CUは、階層構造を有するので、その最上位階層のLCUのサイズは、例えば64x64画素のように、AVCのマクロブロックより大きく設定されることが一般的である。
  よって、以下、LCUは、AVCにおけるマクロブロックをも含むものとし、CUは、AVCにおけるブロック(サブブロック)をも含むものとする。つまり、以下の説明に用いる「ブロック」は、ピクチャ内の任意の部分領域を示し、その大きさ、形状、および特性等は限定されない。つまり、「ブロック」には、例えば、TU、PU、SCU、CU、LCU、サブブロック、マクロブロック、またはスライス等任意の領域(処理単位)が含まれる。もちろん、これら以外の部分領域(処理単位)も含まれる。サイズや処理単位等を限定する必要がある場合は、適宜説明する。
  また、本明細書において、CTU(Coding Tree Unit)は、LCU(最大数のCU)のCTB(Coding Tree Block)と、そのLCUベース(レベル)で処理するときのパラメータを含む単位であるとする。また、CTUを構成するCU(Coding Unit)は、CB(Coding Block)と、そのCUベース(レベル)で処理するときのパラメータを含む単位であるとする。
    <モード選択>
  ところで、AVCやHEVCのような符号化方式において、より高い符号化効率を達成するには、適切な予測モードの選択が重要である。
  かかる選択方式の例として、JM (Joint Model) と呼ばれるH.264/MPEG-4 AVCの参照ソフトウエア (http://iphome.hhi.de/suehring/tml/index.htm において公開されている) に実装されている方法を挙げることが出来る。
  JMにおいては、以下に述べる、ハイコンプレクシティモード(High Complexity Mode)と、ローコンプレクシティモード(Low Complexity Mode)の2通りのモード判定方法を選択することが可能である。どちらも、それぞれの予測モードに関するコスト関数値を算出し、これを最小にする予測モードを処理対象であるカレントブロックに対する最適モードとして選択する。
  ハイコンプレクシティモードにおけるコスト関数は、以下の式(1)のように示される。
Figure JPOXMLDOC01-appb-M000001
  ここで、Ωは、カレントブロックを符号化するための候補モードの全体集合、Dは、当該予測モードで符号化した場合の、復号画像と入力画像の差分エネルギーである。λは、量子化パラメータの関数として与えられるLagrange未定乗数である。Rは、直交変換係数を含んだ、当該予測モードで符号化した場合の総符号量である。
  つまり、ハイコンプレクシティモードでの符号化を行うには、上記パラメータD及びRを算出するため、全ての候補モードにより、一度、仮エンコード処理を行う必要があり、より高い演算量を要する。
  ローコンプレクシティモードにおけるコスト関数は、以下の式(2)のように示される。
Figure JPOXMLDOC01-appb-M000002
  ここで、Dは、ハイコンプレクシティモードの場合と異なり、予測画像と入力画像の差分エネルギーとなる。QP2Quant(QP)は、量子化パラメータQPの関数として与えられ、HeaderBitは、直交変換係数を含まない、動きベクトルや、モードといった、ヘッダ(Header)に属する情報に関する符号量である。
  すなわち、ローコンプレクシティモードにおいては、それぞれの候補モードに関して、予測処理を行う必要があるが、復号画像までは必要ないため、符号化処理まで行う必要はない。このため、ハイコンプレクシティモードより低い演算量での実現が可能である。
    <領域分割>
  ところで、HEVCにおいては、AVCにおいても規定されていたスライス(Slice)に加え、タイル(Tile)やウェーブフロントパラレルプロセッシング(Wavefront Parallel Processing)による並列処理を行うことが可能である。
  HEVCの場合も、スライスは、AVCの場合と同様に、ラスタスキャン順に符号化処理を行う単位として、ピクチャ内を複数に分割する領域である。但し、HEVCにおいては、スライス分割はLCU単位でのみ可能である。
  図2は、HEVCにおいて定められているタイル(Tile)の例を示すずである。タイルは、上述したスライスと同様に、LCUを単位としてピクチャ内を分割する領域である。ただし、スライスは、各LCUがラスタスキャン順に処理されるようにピクチャを分割する領域であるのに対し、タイルは、図2に示されるように、ピクチャを、任意の矩形に分割する領域である。
  図2において、全体の四角はピクチャを示し、その中の小さな四角はLCUを示している。また、模様分けされたLCUのグループがタイルを示している。例えば、斜線模様で示される左上の縦4個x横4個のLCUからなるスライスは、このピクチャの1番目のタイル(Tile#1)である。また、白地で示される右上の縦4個x横4個のLCUからなるタイルは、このピクチャの2番目のタイル(Tile#2)である。さらに、グレー地で示される左下の縦4個x横4個のLCUからなるタイルは、このピクチャの3番目のタイル(Tile#3)である。また、網目模様で示される右下の縦4個x横4個のLCUからなるタイルは、このピクチャの4番目のタイル(Tile#4)である。もちろん、ピクチャに形成されるタイルやLCUの数、並びに、タイル分割の仕方は、任意であり、図2の例に限定されない。
  以上のように形成されるそれぞれのタイル内で、各LCUは、ラスタスキャン順に処理される。このようなタイルは、スライスに比べて境界の長さが短くて済むため、画面分割による符号化効率の低下が少なくて済むという特徴を有する。
  なお、以上のように分割されたそれぞれのスライスやタイルは、符号化・復号における予測やCABAC等の依存関係が存在しないため、互いに独立に処理を行うことが可能である。つまり、例えば、各スライス(またはタイル)のデータを、互いに異なるCPU(Central Processing Unit)(若しくは互いに異なるコア)を用いて、並列に処理することができる。
    <復号処理>
  ところで、HEVC等のデコーダにおいては、可逆復号、逆量子化、逆直交変換、予測処理(イントラ予測若しくはインター予測)等の処理が順次行われる。図2の例のように4つのタイルに分割されたピクチャの符号化データを復号する場合の、処理の流れの例を図3に示す。図3においては、各タイルの処理は矢印で示される。なお、ここでは、可逆復号の例として可変長復号を用いる。
  図3に示されるように、タイル#1乃至タイル#4のそれぞれに対する可変長復号処理(VLC decode)は、矢印11乃至矢印14のように順次実行される。ここで、例えば、互いに独立に処理を実行するCPUが複数存在する場合や、CPUが、互いに独立に処理を実行するコアを複数有する場合、可変長復号処理が終了したタイルについては、実行中のその他のタイルの可変長復号処理と並行して、例えば逆直交変換処理や予測処理等の、可変長復号処理の後に実行される各処理(以下において、変換・予測処理とも称する)を実行することができる。
  例えば、図3の例の場合、タイル#1の変換・予測処理(矢印15)は、タイル#1の可変長復号処理(矢印11)が終了次第、他のタイル(タイル#2乃至タイル#4)の可変長復号処理の終了を待たずに実行される。同様に、タイル#2の変換・予測処理(矢印16)は、タイル#2の可変長復号処理(矢印12)が終了次第、他のタイル(タイル#3およびタイル#4)の可変長復号処理の終了を待たずに、実行される。同様に、タイル#3の変換・予測処理(矢印17)は、タイル#3の可変長復号処理(矢印13)が終了次第、他のタイル(タイル#4)の可変長復号処理の終了を待たずに、実行される。タイル#4の変換・予測処理(矢印18)は、タイル#4の可変長復号処理(矢印14)が終了次第、実行される。
  可変長復号の処理時間は、データ量すなわち画像圧縮の程度に依存する。一般的に、ピクチャ内の各タイルでデータ量(符号量)は一様でないので、各タイルの可変長復号の処理時間も、図3の例のように一定にはならない。
  これに対して、変換・予測処理の処理時間は、データ量に依らず略一定である。つまり、各タイルの変換・予測処理の処理時間も、図3の例のように略一定となる。したがって、図3の例の矢印15と矢印16の間のように、変換・予測処理において待ち時間が発生する恐れがある。
  そこで、このような可変長復号の処理時間のバラつきを吸収するために、可変長復号結果をメモリに蓄積する必要があった。例えば、図4の例のように、このメモリに1画面分の可変長復号結果を蓄積させてから、変換・予測処理を開始するようにする必要があった。つまり、図4に示されるように、ピクチャ内の全てのタイル(タイル#1乃至タイル#4)の可変長復号処理(矢印21乃至矢印24)を行ってから、ピクチャ内の全てのタイルの変換・予測処理(矢印25乃至矢印28)を行うようにする必要があった。
  ところで、変換・予測処理の後には、デブロックフィルタ等のフィルタ処理が行われる。上述したように、可変長復号と変換・予測処理では、ピクチャ全体にアレイ状に並ぶ(ピクチャ全体にLCUアレイを形成する)LCU単位の復号画像データは、図5のAの左側に示されるように、タイル毎にラスタスキャン順に処理される。これに対して、このフィルタ処理では、ピクチャ全体にLCUアレイを形成するLCU単位の復号画像データは、図5のAの右側に示されるように、LCUアレイ全体(ピクチャ全体)のラスタスキャン順に処理される。つまり、フィルタ処理の前にLCU単位の復号画像データの並べ替えが必要になる。
  そこで、可変長復号と変換・予測処理の処理結果として、タイル毎に得られるLCU単位の復号画像データを順次メモリに蓄積し、それをラスタスキャン順に読み出し、その読み出した順にフィルタ処理を施すようにすればよい。
  図5の例の場合、図5のAの右側に示されるように、タイル#1とタイル#2の可変長復号(VLC decode)と変換・予測処理が終了した時点で、タイル#1とタイル#2のフィルタ処理(Deblock filter)を開始することができる。したがって、図5のBに示されるように、ピクチャ内の全てのタイル(タイル#1乃至タイル#4)の可変長復号処理(矢印31乃至矢印34)を行ってから、ピクチャ内の全てのタイルの変換・予測処理(矢印35乃至矢印38)を行い、タイル#2の変換・予測処理(矢印36)終了次第、他のタイル(タイル#3およびタイル#4)の変換・予測処理の終了を待たずに、タイル#1およびタイル#2のフィルタ処理(矢印39)を実行することができる。タイル#3およびタイル#4のフィルタ処理(矢印40)は、タイル#4の変換・予測処理(矢印38)終了次第、実行することができる。
  したがって、この例の場合、並べ替えの為に、約2分の1画面程度のメモリ容量と約2分の1画面程度の遅延が必要になる。
  また、タイルの並びは、例えば図6のAに示されるような並びも考えられる。この例の場合も、図5の例の場合と同様に、各LCUのデータに対して、可変長復号(VLC decode)と変換・予測処理はタイル毎にラスタスキャン順に実行され、フィルタ処理(Deblock filter)はピクチャ全体でラスタスキャン順に実行される。
  したがって、この場合、図6のAの右側に示されるように、全てのタイルの可変長復号と変換・予測処理が終了してからでないと、フィルタ処理を開始することができない。つまり、図6のBに示されるように、ピクチャ内の全てのタイル(タイル#1乃至タイル#4)の可変長復号処理(矢印51乃至矢印54)が実行され、その処理が終了後、ピクチャ内の全てのタイルの変換・予測処理(矢印55乃至矢印58)が実行され、その処理が終了後、ピクチャ内の全てのタイルのフィルタ処理(矢印59)が実行される。
  したがって、この例の場合、並べ替えの為に、約1画面程度のメモリ容量と約1画面程度の遅延が必要であった。
  以上のように、復号処理に必要なメモリ容量、および、復号処理の処理遅延が増大する恐れがあった。
  また、このような復号処理において、データは、図7に示されるように、可変長(VLC)復号処理61の後メモリ62に蓄積され、全てのタイルの可変長(VLC)復号処理61が終了後、メモリ62のデータが読み出され、直交変換処理63に使用される。そして、その処理結果のデータは、再び、メモリ62に蓄積され、ピクチャ全体のラスタスキャン順に(並べ替えて)読み出され、デブロックフィルタ処理64に使用される。
  このように、データをメモリ62に複数回書き込み、読み出す必要があった。そのためメモリアクセス数が増大する恐れがあった。
  以上のように、メモリ容量、処理遅延、メモリアクセス数等の、復号の負荷が増大する恐れがあった。
    <並べ替え>
  そこで、変換・予測処理をピクチャ全体のラスタスキャン順に行うようにする。つまり、タイル毎に得られる可変長復号結果を、ピクチャ全体のラスタスキャン順に並べ替え、その順に変換して復号画像データを生成するようにする。
  例えば、図5の例のタイルの場合、図8のAに示されるように、各LCUのデータに対して、可変長復号(VLC decode)をタイル毎に実行し、変換・予測処理とフィルタ処理(Deblock filter)をピクチャ全体のラスタスキャン順に行うようにする。
  変換・予測処理の予測処理や逆変換処理は、画面内で隣接する画像ブロックとの相関、および時間軸方向の相関等を用いているが、可変長復号処理順とは関係が無く互いに独立している。そのため、変換・予測処理は、復号処理と異なる順序で実行することができる。
  ただし、上述したように、可変長復号の処理時間のバラつきを吸収するために、変換・予測処理は、全てのタイルについて可変長復号が終了してから開始される。したがって、図8の例の場合、図8のBに示されるように、ピクチャ内の全てのタイル(タイル#1乃至タイル#4)の可変長復号処理(矢印71乃至矢印74)が実行された後、タイル#1およびタイル#2の変換・予測処理(矢印75)と、タイル#3およびタイル#4の変換・予測処理(矢印76)が実行される。
  ただし、フィルタ処理は、変換・予測処理と同順になるので、得られた変換・予測処理結果に対して、順次実行することができる。つまり、フィルタ処理は、変換・予測処理を追い越さない範囲で、変換・予測処理と略並行して実行することができる。例えば、ラスタスキャン順に実行される変換・予測処理より数LCU遅れて、同順にフィルタ処理を実行するようにしてもよい。
  図8の例の場合、タイル#1およびタイル#2の変換・予測処理(矢印75)と略並行して、タイル#1およびタイル#2のフィルタ処理(矢印77)が実行され、タイル#3およびタイル#4の変換・予測処理(矢印76)と略並行して、タイル#3およびタイル#4のフィルタ処理(矢印78)が実行されるようにすることができる。
  したがって復号処理の処理遅延の増大を抑制することができる。また、並べ替えのためのメモリ容量が不要であるので、復号処理に必要なメモリ容量の増大を抑制することができる。
  図6の例の場合も同様にすることができる。つまり、図9のAに示されるように、各LCUのデータに対して、可変長復号(VLC decode)をタイル毎に実行し、変換・予測処理とフィルタ処理(Deblock filter)をピクチャ全体のラスタスキャン順に行うようにすることができる。
  図9の例の場合、図9のBに示されるように、ピクチャ内の全てのタイル(タイル#1乃至タイル#4)の可変長復号処理(矢印81乃至矢印84)が実行された後、タイル#1乃至タイル#4の変換・予測処理(矢印85)が実行される。
  そしてこの場合も、フィルタ処理は、変換・予測処理を追い越さない範囲で、変換・予測処理と略並行して実行することができる。つまり、図9の例の場合、図9のBに示されるように、タイル#1乃至タイル#4の変換・予測処理(矢印85)と略並行して、タイル#1乃至タイル#4のフィルタ処理(矢印86)が実行されるようにすることができる。
  したがって、この場合も、復号処理の処理遅延の増大を抑制することができる。また、並べ替えのためのメモリ容量が不要であるので、復号処理に必要なメモリ容量の増大を抑制することができる。
  なお、図10に示されるように、可変長(VLC)復号処理91の後に、その復号結果が、処理時間のバラツキ抑制のためにメモリ92に蓄積されるが、このメモリへの復号結果の蓄積(バッファリング)を利用して、上述した並べ替えを行う。つまり、メモリ92に蓄積された各LCUのデータが、ピクチャ全体のラスタスキャン順に読み出され、直交変換処理93に供給されるようにする。直交変換処理93およびデブロックフィルタ処理94は、その供給順(すなわち、ピクチャ全体のラスタスキャン順)に各LCUのデータを処理する。したがって、直交変換処理結果をメモリ92に蓄積する必要がなくなる。このように、直交変換処理の前にデータの並べ替えを行い、ピクチャ全体のラスタスキャン順に直交変換処理されるようにすることにより、メモリアクセス数の増大を抑制することができる。また、従来も行われていた復号結果のメモリ92への蓄積を利用して並べ替えを行うので、この並べ替えのために、新たな処理やメモリ容量を必要としない。したがって、復号処理に必要なメモリ容量、および、復号処理の処理遅延の増大を抑制することができる。
    <メモリのデータ管理>
  次に、図10の例のメモリ92による可変長復号結果のデータの管理方法について説明する。なお、この可変長復号結果は、LCU毎のデータであり、例えば、圧縮に使用したモードなどの各種パラメータ、動きベクタ、予測残差を変換した結果である係数レベル等が含まれる。もちろん、これら以外の情報が含まれていてもよい。
  この可変長復号結果は、ピクチャ全体のラスタスキャン順に読み出すことが可能であれば、どのようにメモリ92に記憶されるようにしてもよい。
  例えば、図11に示されるように、メモリ92の記憶領域92Aにおいて、各LCUに対して固定長領域を割り当て、各LCUの可変長復号結果を、ピクチャにおけるそのLCUの位置に対応したアドレスに記憶するようにしてもよい。この場合、所望のLCUの可変長復号結果が格納されるメモリアドレスを、そのLCUの画面座標から容易に求めることができる。つまり、この場合、データの管理が容易であり、データを並べ替えて読み出す際の処理が容易になる。
  また、例えば、図12に示されるように、メモリ92の記憶領域92Aにおいて、各LCUの可変長復号結果を順次記憶し、各LCUの可変長復号結果の先頭アドレスを管理情報92Bにより別途管理するようにしてもよい。この場合、管理情報92Bを参照することにより、所望のLCUの可変長復号結果が格納されるメモリアドレスを特定することができる。このようにすることにより、メモリ領域全てをデータ領域として使うことができ、図11の例の場合と比べて、使用されない領域の発生を抑制することができ、メモリ利用効率を向上させることができる。
  また、例えば、図13のAに示されるように、ピクチャが縦2×横2のタイルに分割され、各タイルの水平方向のLCU数が6であるとする。この場合、例えば、図13のBに示されるように、各LCUの可変長復号結果を順次記憶し、各タイルの左端の各LCUの復号結果の先頭アドレスを管理情報92Bにより別途管理するようにしてもよい。なお、図13のBにおいては、タイル#1についてのみ説明しているが、タイル#2乃至タイル#4についても、それぞれ、同様に管理するようにする。
  この場合、管理情報92Bを参照することにより、各タイルの各左端のLCUの可変長復号結果が格納されるメモリアドレスを特定することができる。つまり、この管理情報92Bにより管理されるメモリアドレスから次のメモリアドレスまで読み出すことにより、1タイルの1LCUライン分(LCUアレイの1行分)のデータを読み出すことができる。すなわち、例えば、タイル#1の所望の1LCUラインのデータを読み出し、続けて、タイル#2の同位置の1LCUラインのデータを読み出すことにより、ピクチャ全体の1LCUラインのデータを読み出すことができる。つまり、この管理情報92Bにより管理されるメモリアドレスを基準にすることにより、各LCUの可変長復号結果を、ピクチャ全体の1LCUライン毎に(すなわちピクチャ全体のラスタスキャン順に)読み出すことができる。
  このようにすることにより、メモリ領域全てをデータ領域として使うことができ、図11の例の場合と比べて、使用されない領域の発生を抑制することができ、メモリ利用効率を向上させることができる。また、図12の例の場合と比べて、管理情報92Bの情報量を低減させることができる。すなわち、メモリ利用効率を向上させることができる。
  もちろん、メモリ92のデータ管理の方法は、これらの例に限らない。
    <領域>
  なお、以上においては、ピクチャを分割する領域の例としてタイルを用いて説明したが、この領域は、タイルに限定されない。例えば、スライスであってもよいし、その他のデータ単位であってもよい。以下においても同様である。
  次に、以上のような本技術について、具体的な装置への適用例について説明する。
  <2.第1の実施の形態>
    <画像符号化装置>
  図14は、画像処理装置の一態様である画像符号化装置の構成の一例を示すブロック図である。図14に示される画像符号化装置100は、例えば、HEVCの予測処理、またはそれに準ずる方式の予測処理を用いて動画像の画像データを符号化する。
  図14に示されるように画像符号化装置100は、A/D変換部101、画面並べ替えバッファ102、演算部103、直交変換部104、量子化部105、可逆符号化部106、蓄積バッファ107、逆量子化部108、および逆直交変換部109を有する。また、画像符号化装置100は、演算部110、ループフィルタ111、フレームメモリ112、イントラ予測部113、インター予測部114、予測画像選択部115、およびレート制御部116を有する。
  A/D変換部101は、画像符号化装置100に入力された、入力画像の画像データ(アナログデータ)をA/D変換する。A/D変換部101は、変換後の画像データ(デジタルデータ)を、画面並べ替えバッファ102に供給する。
  画面並べ替えバッファ102は、表示順に供給される入力画像の各フレーム画像データをその順に記憶する。画面並べ替えバッファ102は、その入力画像のフレームの順番を、GOP(Group Of Picture)に応じて、符号化順に並べ替える。つまり画面並べ替えバッファ102は、表示順に記憶した各フレームの画像データを、符号化順に読み出す。画面並べ替えバッファ102は、読み出した画像データを演算部103に供給する。また、画面並べ替えバッファ102は、読み出した画像データを、イントラ予測部113およびインター予測部114にも供給する。つまり、演算部103、イントラ予測部113、およびインター予測部114には、符号化順に各フレームの画像データが供給される。
  演算部103は、画面並べ替えバッファ102から読み出された入力画像の画像データと、予測画像選択部115を介してイントラ予測部113若しくはインター予測部114から供給された予測画像の画像データとを用いて、入力画像から予測画像を減算した差分画像の画像データを生成する。例えば、イントラ符号化が行われる画像の場合、演算部103は、入力画像と、イントラ予測部113により生成された予測画像との差分画像を生成する。また、例えば、インター符号化が行われる画像の場合、演算部103は、入力画像と、インター予測部114により生成された予測画像との差分画像を生成する。演算部103は、生成した差分画像の画像データを直交変換部104に出力する。
  直交変換部104は、演算部103から供給される差分画像の画像データに対して、離散コサイン変換やカルーネン・レーベ変換等の直交変換を施す。直交変換部104は、得られた変換係数を量子化部105に供給する。
  量子化部105は、直交変換部104から供給される変換係数を量子化する。量子化部105は、レート制御部116から供給される符号量の目標値に関する情報に基づいて量子化パラメータを設定し、その量子化を行う。量子化部105は、このように量子化された変換係数を可逆符号化部106に供給する。
  可逆符号化部106は、量子化部105において量子化された変換係数を任意の符号化方式で符号化し、符号化データを生成する。係数データは、レート制御部116の制御の下で量子化されているので、この符号化データのデータ量(符号量)は、レート制御部116が設定した目標値となる(若しくは目標値に近似する)。
  また、可逆符号化部106は、イントラ予測のモードを示す情報などをイントラ予測部113から取得し、インター予測のモードを示す情報や差分動きベクトル情報などをインター予測部114から取得する。可逆符号化部106は、これらの各種情報を任意の符号化方式で符号化し、符号化データのヘッダ情報の一部とする(多重化する)。可逆符号化部106は、得られた符号化データを蓄積バッファ107に供給して蓄積させる。
  可逆符号化部106が行う符号化の符号化方式としては、例えば、可変長符号化または算術符号化等が挙げられる。可変長符号化としては、例えば、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などが挙げられる。算術符号化としては、例えば、CABAC(Context-Adaptive Binary Arithmetic Coding)などが挙げられる。
  蓄積バッファ107は、可逆符号化部106から供給された符号化データを、一時的に保持する。蓄積バッファ107は、所定のタイミングにおいて、保持している符号化データを、画像符号化装置100の外部に出力する。すなわち、蓄積バッファ107は、符号化データを伝送する伝送部でもある。
  また、量子化部105において量子化された変換係数は、逆量子化部108にも供給される。逆量子化部108は、その量子化された変換係数を、量子化部105による量子化に対応する方法で逆量子化する。逆量子化部108は、得られた変換係数を、逆直交変換部109に供給する。
  逆直交変換部109は、逆量子化部108から供給された変換係数を、直交変換部104による直交変換処理に対応する方法で逆直交変換する。この逆直交変換により差分画像の画像データが復元される。逆直交変換部109は、その復元された差分画像の画像データを、逆直交変換結果として、演算部110に供給する。
  演算部110は、逆直交変換部109から供給された逆直交変換結果と、予測画像選択部115を介してイントラ予測部113若しくはインター予測部114から供給された予測画像の画像データとを用いて、復元された差分画像と予測画像とを加算した画像の画像データを生成する。つまり、この加算処理により、局所的に再構成された画像(以下、再構成画像と称する)が得られる。演算部110は、その再構成画像の画像データを、ループフィルタ111またはイントラ予測部113に供給される。
  ループフィルタ111は、デブロックフィルタや適応ループフィルタ等を含み、演算部110から供給される再構成画像の画像データに対して適宜フィルタ処理を行う。例えば、ループフィルタ111は、再構成画像の画像データに対してデブロックフィルタ処理を行うことにより、再構成画像のブロック歪を除去する。また、例えば、ループフィルタ111は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた再構成画像の画像データ)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより、再構成画像の画質改善を行う。
  なお、ループフィルタ111が、再構成画像に対してさらに、他の任意のフィルタ処理を行うようにしてもよい。また、ループフィルタ111は、必要に応じて、フィルタ処理に用いたフィルタ係数等の情報を可逆符号化部106に供給し、それを符号化させるようにすることもできる。
  ループフィルタ111は、以上のようにフィルタ処理された再構成画像(以下、復号画像と称する)の画像データを、フレームメモリ112に供給する。
  フレームメモリ112は、供給される復号画像の画像データを記憶する。また、フレームメモリ112は、所定のタイミングにおいて、記憶している復号画像の画像データを、参照画像としてインター予測部114に供給する。
  イントラ予測部113は、処理対象のフレームの画像であるカレントピクチャについて、予測処理を行い、予測画像を生成する。イントラ予測部113は、この予測処理を、所定のブロック毎に(ブロックを処理単位として)行う。つまり、イントラ予測部113は、カレントピクチャの、処理対象であるカレントブロックの予測画像を生成する。その際、イントラ予測部113は、演算部110から参照画像として供給される再構成画像を用いて予測処理(画面内予測(イントラ予測とも称する))を行う。つまり、イントラ予測部113は、再構成画像に含まれる、カレントブロックの周辺の画素値を用いて予測画像を生成する。このイントラ予測に利用される周辺画素値は、カレントピクチャの、過去に処理された画素の画素値である。このイントラ予測には(すなわち、予測画像の生成の仕方には)、複数の方法(イントラ予測モードとも称する)が、候補として予め用意されている。イントラ予測部113は、この予め用意された複数のイントラ予測モードでこのイントラ予測を行う。
  イントラ予測部113は、候補となる全てのイントラ予測モードで予測画像を生成し、画面並べ替えバッファ102から供給される入力画像を用いて各予測画像のコスト関数値を評価し、最適なモードを選択する。イントラ予測部113は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部115に供給する。
  また、上述したように、イントラ予測部113は、採用されたイントラ予測モードを示すイントラ予測モード情報等を、適宜可逆符号化部106に供給し、符号化させる。
  インター予測部114は、カレントピクチャについて、予測処理を行い、予測画像を生成する。インター予測部114は、この予測処理を、所定のブロック毎に(ブロックを処理単位として)行う。つまり、インター予測部114は、カレントピクチャの、処理対象であるカレントブロックの予測画像を生成する。その際、インター予測部114は、画面並べ替えバッファ102から供給される入力画像の画像データと、フレームメモリ112から参照画像として供給される復号画像の画像データとを用いて、予測処理を行う。この復号画像は、カレントピクチャより前に処理されたフレームの画像(カレントピクチャでない他のピクチャ)である。つまり、インター予測部114は、他のピクチャの画像を用いて予測画像を生成する予測処理(画面間予測(インター予測とも称する))を行う。
  このインター予測は、動き予測と動き補償よりなる。より具体的には、インター予測部114は、入力画像と参照画像を用いて、カレントブロックについて動き予測を行い、動きベクトルを検出する。そして、インター予測部114は、参照画像を用いて、検出された動きベクトルに応じて動き補償処理を行い、カレントブロックの予測画像(インター予測画像情報)を生成する。このインター予測には(すなわち、予測画像の生成の仕方には)、複数の方法(インター予測モードとも称する)が、候補として予め用意されている。インター予測部114は、この予め用意された複数のインター予測モードでこのようなインター予測を行う。
  インター予測部114は、候補となる全てのインター予測モードで予測画像を生成する。インター予測部114は、画面並べ替えバッファ102から供給される入力画像と、生成した差分動きベクトルの情報などを用いて、各予測画像のコスト関数値を評価し、最適なモードを選択する。インター予測部114は、最適なインター予測モードを選択すると、その最適なモードで生成された予測画像を予測画像選択部115に供給する。
  インター予測部114は、採用されたインター予測モードを示す情報や、符号化データを復号する際に、そのインター予測モードで処理を行うために必要な情報等を可逆符号化部106に供給し、符号化させる。必要な情報としては、例えば、生成された差分動きベクトルの情報や、予測動きベクトル情報として予測動きベクトルのインデックスを示すフラグなどがある。
  予測画像選択部115は、演算部103や演算部110に供給する予測画像の供給元を選択する。例えば、イントラ符号化の場合、予測画像選択部115は、予測画像の供給元としてイントラ予測部113を選択し、そのイントラ予測部113から供給される予測画像を演算部103や演算部110に供給する。また、例えば、インター符号化の場合、予測画像選択部115は、予測画像の供給元としてインター予測部114を選択し、そのインター予測部114から供給される予測画像を演算部103や演算部110に供給する。
  レート制御部116は、蓄積バッファ107に蓄積された符号化データの符号量に基づいて、オーバフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
    <符号化処理の流れ>
  次に、図14に示される画像符号化装置100により実行される符号化処理の流れの例を、図15のフローチャートを参照して説明する。
  符号化処理が開始されると、図15のステップS101において、A/D変換部101は、入力画像をA/D変換する。
  ステップS102において、画面並べ替えバッファ102は、ステップS101においてA/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
  ステップS103において、イントラ予測部113は、イントラ予測モードのイントラ予測処理を行う。
  ステップS104において、インター予測部114は、インター予測モードでの動き予測や動き補償を行うインター予測処理を行う。
  ステップS105において、予測画像選択部115は、コスト関数値等に基づいて、予測画像を選択する。つまり、予測画像選択部115は、ステップS103のイントラ予測により生成された予測画像と、ステップS104のインター予測により生成された予測画像のいずれか一方を選択する。
  ステップS106において、演算部103は、ステップS102の処理によりフレーム順を並び替えられた入力画像と、ステップS105の処理により選択された予測画像との差分を演算する。つまり、演算部103は、入力画像と予測画像との差分画像の画像データを生成する。このようにして求められた差分画像の画像データは、元の画像データに比べてデータ量が低減される。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
  ステップS107において、直交変換部104は、ステップS106の処理により生成された差分画像の画像データを直交変換する。
  ステップS108において、量子化部105は、レート制御部116により算出された量子化パラメータを用いて、ステップS107の処理により得られた直交変換係数を量子化する。
  ステップS109において、逆量子化部108は、ステップS108の処理により生成された量子化された係数(量子化係数とも称する)を、量子化部105の特性に対応する特性で逆量子化する。
  ステップS110において、逆直交変換部109は、ステップS109の処理により得られた直交変換係数を逆直交変換する。
  ステップS111において、演算部110は、ステップS110の処理により復元された差分画像に、ステップS105の処理により選択された予測画像を加算することにより、再構成画像の画像データを生成する。
  ステップS112においてループフィルタ111は、ステップS111の処理により生成された再構成画像の画像データにループフィルタ処理を行う。これにより、再構成画像のブロック歪み等が除去される。
  ステップS113において、フレームメモリ112は、ステップS112の処理により得られた復号画像を記憶する。
  ステップS114において、可逆符号化部106は、ステップS108の処理により得られた、量子化された係数を符号化する。すなわち、差分画像に対応するデータに対して、可変長符号化や算術符号化等の可逆符号化が行われる。
  また、このとき、可逆符号化部106は、ステップS105の処理により選択された予測画像の予測モードに関する情報を符号化し、差分画像を符号化して得られる符号化データに付加する。つまり、可逆符号化部106は、イントラ予測部113から供給される最適イントラ予測モード情報、または、インター予測部114から供給される最適インター予測モードに応じた情報なども符号化し、符号化データに付加する。
  さらに、可逆符号化部106は、各種ナルユニット等のシンタクス要素も設定し、符号化し、符号化データに付加する。
  ステップS115において蓄積バッファ107は、ステップS113の処理により得られた符号化データを蓄積する。蓄積バッファ107に蓄積された符号化データは、適宜読み出され、伝送路や記録媒体を介して復号側に伝送される。
  ステップS116においてレート制御部116は、ステップS115の処理により蓄積バッファ107に蓄積された符号化データの符号量(発生符号量)に基づいて、オーバフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。また、レート制御部116は、量子化パラメータに関する情報を、量子化部105に供給する。ステップS116の処理が終了すると、符号化処理が終了する。
  なお、上述したように、ピクチャがタイル分割される場合、ステップS103乃至ステップS111の各処理や、ステップS114乃至ステップS116の各処理は、そのタイル毎に独立して実行される。
  <3.第2の実施の形態>
    <画像復号装置>
  次に、以上のように符号化された符号化データの復号について説明する。図16は、本技術を適用した画像処理装置の一態様である、図14の画像符号化装置100に対応する画像復号装置の主な構成例を示すブロック図である。
  図16に示される画像復号装置300は、画像符号化装置100が生成した符号化データを、その符号化方法に対応する復号方法で復号する。
  図16に示されるように画像復号装置300は、蓄積バッファ301、可逆復号部302、逆量子化部303、逆直交変換部304、演算部305、ループフィルタ306、画面並べ替えバッファ307、およびD/A変換部308を有する。また、画像復号装置300は、フレームメモリ309、イントラ予測部310、インター予測部311、および予測画像選択部312を有する。さらに、画像復号装置300は、並べ替えバッファ321を有する。
  蓄積バッファ301は、伝送されてきた符号化データを受け取る受け取り部でもある。蓄積バッファ301は、伝送されてきた符号化データを受け取って、蓄積し、所定のタイミングにおいてその符号化データを可逆復号部302に供給する。符号化データには、予測モード情報などの復号に必要な情報が付加されている。可逆復号部302は、蓄積バッファ301より供給された、可逆符号化部106により符号化された情報を、その符号化方式に対応する復号方式(例えば、可変長復号、算術復号等)で復号する。可逆復号部302は、復号して得られた差分画像の量子化された係数データを、並べ替えバッファ321を介して逆量子化部303に供給する。
  また、可逆復号部302は、最適な予測モードにイントラ予測モードが選択されたかインター予測モードが選択されたかを判定し、その最適な予測モードに関する情報を、並べ替えバッファ321を介して、イントラ予測部310およびインター予測部311の内、選択されたと判定したモードの方に供給する。つまり、例えば、符号化側において最適な予測モードとしてイントラ予測モードが選択された場合、その最適な予測モードに関する情報がイントラ予測部310に供給される。また、例えば、符号化側において最適な予測モードとしてインター予測モードが選択された場合、その最適な予測モードに関する情報がインター予測部311に供給される。
  さらに、可逆復号部302は、例えば、量子化行列や量子化パラメータ等の、逆量子化に必要な情報を、並べ替えバッファ321を介して逆量子化部303に供給する。
  並べ替えバッファ321には、上述したように可逆復号部302から復号された各種データが供給される。上述したように、符号化側において、画像データは、ピクチャがタイル分割される場合、そのタイル毎に符号化される。画像復号装置300に入力される符号化データがこのようなタイル分割された画像データの符号化データであるとすると、並べ替えバッファ321には、LCU毎のデータがタイル毎に供給される。
  並べ替えバッファ321は、このタイル毎に供給される各LCUのデータを、ピクチャ全体のラスタスキャン順に並べ替え、逆量子化部303、イントラ予測部310、インター予測部311等に供給する。
  例えば、並べ替えバッファ321は、図10のメモリ92(の記憶領域92A)のような記憶領域を有し、可逆復号部302から供給されるこれらのデータをその記憶領域に記憶する。そして、並べ替えバッファ321は、その記憶された各LCUのデータを、ピクチャ全体のラスタスキャン順に読み出し、その順で、逆量子化部303、イントラ予測部310、インター予測部311等に供給する。
  なお、並べ替えバッファ321の構成、および、LCUのデータの並べ替えの実現方法は任意であり、上述した以外の構成を有し、上述した以外の方法で、タイル毎のLCUのデータをピクチャ全体のラスタスキャン順に並べ替える並べ替えを実現するようにしてもよい。
  逆量子化部303は、並べ替えバッファ321により並べ替えが行われた、量子化された係数データを、量子化部105の量子化方式に対応する方式で逆量子化する。なお、この逆量子化部303は、逆量子化部108と同様の処理部である。
  逆量子化部303は、得られた係数データを逆直交変換部304に供給する。
  逆直交変換部304は、逆量子化部303から供給される直交変換係数を、必要に応じて、直交変換部104の直交変換方式に対応する方式で逆直交変換する。なお、この逆直交変換部304は、逆直交変換部109と同様の処理部である。
  この逆直交変換処理により差分画像の画像データが復元される。この復元された差分画像の画像データは、画像符号化装置において直交変換される前の差分画像の画像データに対応する。以下においては、この、逆直交変換部304の逆直交変換処理により得られた、復元された差分画像の画像データを、復号残差データとも称する。逆直交変換部304は、この復号残差データを、演算部305に供給する。また、演算部305には、予測画像選択部312を介して、イントラ予測部310若しくはインター予測部311から予測画像の画像データが供給される。
  演算部305は、この復号残差データと予測画像の画像データとを用いて、差分画像と予測画像とを加算した再構成画像の画像データを得る。この再構成画像は、演算部103により予測画像が減算される前の入力画像に対応する。演算部305は、その再構成画像をループフィルタ306およびイントラ予測部310に供給する。
  ループフィルタ306は、供給された再構成画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜施して復号画像を生成する。例えば、ループフィルタ306は、再構成画像に対してデブロックフィルタ処理を行うことにより、ブロック歪を除去する。また、例えば、ループフィルタ306は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた再構成画像)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより画質改善を行う。
  なお、ループフィルタ306が行うフィルタ処理の種類は任意であり、上述した以外のフィルタ処理を行ってもよい。また、ループフィルタ306が、画像符号化装置から供給されたフィルタ係数を用いてフィルタ処理を行うようにしてもよい。
  ループフィルタ306は、フィルタ処理結果である復号画像を画面並べ替えバッファ307およびフレームメモリ309に供給する。
  画面並べ替えバッファ307は、復号画像についてフレームの順番の並べ替えを行う。すなわち、画面並べ替えバッファ307は、画面並べ替えバッファ102により符号化順に並べ替えられた各フレームの画像を、元の表示順に並べ替える。つまり、画面並べ替えバッファ307は、符号化順に供給される各フレームの復号画像の画像データを、その順に記憶し、符号化順に記憶した各フレームの復号画像の画像データを、表示順に読み出してD/A変換部308に供給する。D/A変換部308は、画面並べ替えバッファ307から供給された各フレームの復号画像(デジタルデータ)をD/A変換し、アナログデータとして、図示せぬディスプレイに出力し、表示させる。
  フレームメモリ309は、供給される復号画像を記憶し、所定のタイミングにおいて、若しくは、インター予測部311等の外部の要求に基づいて、記憶している復号画像を参照画像として、インター予測部311に供給する。
  イントラ予測部310は、可逆復号部302においてヘッダ情報を復号して得られたイントラ予測モードを示す情報等を、並べ替えバッファ321を介して取得する。つまり、イントラ予測部310は、並べ替えバッファ321により並べ替えが行われた、イントラ予測モードを示す情報等を取得する。
  イントラ予測部310は、イントラ予測部113において用いられたイントラ予測モード(最適イントラ予測モード)でイントラ予測を行い、予測画像を生成する。その際、イントラ予測部310は、演算部305から供給される再構成画像の画像データを用いてイントラ予測を行う。すなわち、イントラ予測部310は、この再構成画像を参照画像(周辺画素)として利用する。イントラ予測部310は、生成した予測画像を予測画像選択部312に供給する。
  インター予測部311は、可逆復号部302においてヘッダ情報を復号して得られた情報(最適予測モード情報、参照画像情報等)を、並べ替えバッファ321を介して取得する。つまり、インター予測部311は、並べ替えバッファ321により並べ替えが行われた、最適予測モード情報、参照画像情報等を取得する。
  インター予測部311は、その最適予測モード情報が示す、インター予測部114において用いられたインター予測モード(最適インター予測モード)で、フレームメモリ309から取得した参照画像を用いてインター予測を行い、予測画像を生成する。
  予測画像選択部312は、イントラ予測部310からの予測画像またはインター予測部311からの予測画像を、演算部305に供給する。そして、演算部305においては、その予測画像と逆直交変換部304からの復号残差データ(差分画像情報)とが加算されて再構成画像が得られる。
  以上のように、並べ替えバッファ321が、各LCUのデータをピクチャ全体のラスタスキャン順に並べ替えることにより、逆量子化部303、逆直交変換部304、演算部305、ループフィルタ306、イントラ予測部310、インター予測部311等の各処理部は、各LCUのデータに対するそれぞれの処理を、ピクチャ全体のラスタスキャン順に実行することができる。
  したがって、画像復号装置300は、図8乃至図10の例のように、復号処理に必要なメモリ容量の増大、復号処理の処理遅延の増大、メモリアクセス数の増大等を抑制することができる。つまり、画像復号装置300は、復号の負荷の増大を抑制することができる。
    <復号処理の流れ>
  次に、図17のフローチャートを参照して、以上のような画像復号装置300により実行される復号処理の流れの例を説明する。
  復号処理が開始されると、ステップS301において、蓄積バッファ301は、伝送されてきたビットストリーム(符号化データ)を蓄積する。ステップS302において、可逆復号部302は、蓄積バッファ301から供給されるビットストリーム(符号化データ)を復号する。すなわち、可逆符号化部106により符号化されたIピクチャ、Pピクチャ、並びにBピクチャ等の画像データが復号される。このとき、ヘッダ情報などのビットストリームに含められた画像データ以外の各種情報も復号される。
  ステップS303において、並べ替えバッファ321は、ステップS302の処理によりタイル毎に得られるLCUのデータを、ピクチャ全体のラスタスキャン順に並べ替える。例えば、並べ替えバッファ321は、ステップS302の処理によりタイル毎に得られる各LCUのデータを内蔵する記憶領域に記憶し、ピクチャ全体のラスタスキャン順に読み出すことにより、並べ替えを行う。
  ステップS304において、逆量子化部303は、ステップS303の処理により並べ替えられた、量子化された係数を逆量子化する。
  ステップS305において、逆直交変換部304は、ステップS304において逆量子化された係数を逆直交変換する。
  ステップS306において、イントラ予測部310若しくはインター予測部311は、予測処理を行い、予測画像を生成する。つまり、可逆復号部302において判定された、符号化の際に適用された予測モードで予測処理が行われる。より具体的には、例えば、符号化の際にイントラ予測が適用された場合、イントラ予測部310が、符号化の際に最適とされたイントラ予測モードで予測画像を生成する。また、例えば、符号化の際にインター予測が適用された場合、インター予測部311が、符号化の際に最適とされたインター予測モードで予測画像を生成する。
  ステップS307において、演算部305は、ステップS305において逆直交変換されて得られた差分画像に、ステップS306において生成された予測画像を加算する。これにより再構成画像の画像データが得られる。
  ステップS308において、ループフィルタ306は、ステップS307の処理により得られた再構成画像の画像データに対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜行う。
  ステップS309において、画面並べ替えバッファ307は、ステップS308においてフィルタ処理された再構成画像の各フレームの並べ替えを行う。すなわち、符号化の際に並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
  ステップS310において、D/A変換部308は、ステップS309においてフレームの順序が並べ替えられた画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
  ステップS311において、フレームメモリ309は、ステップS308においてフィルタ処理された画像を記憶する。
  ステップS311の処理が終了すると、復号処理が終了する。
  以上のように各処理を実行することにより、画像復号装置300は、復号の負荷の増大を抑制することができる。
  <4.第3の実施の形態>
    <多視点画像符号化・多視点画像復号への適用>
  上述した一連の処理は、多視点画像符号化・多視点画像復号に適用することができる。図18は、多視点画像符号化方式の一例を示す。
  図18に示されるように、多視点画像は、複数の視点(ビュー(view))の画像を含む。この多視点画像の複数のビューは、他のビューの画像を利用せずに自身のビューの画像のみを用いて符号化・復号を行うベースビューと、他のビューの画像を利用して符号化・復号を行うノンベースビューとによりなる。ノンベースビューは、ベースビューの画像を利用するようにしても良いし、他のノンベースビューの画像を利用するようにしてもよい。
  図18のような多視点画像を符号化・復号する場合、各ビューの画像を符号化・復号するが、この各ビューの復号に対して、第2の実施の形態において上述した方法を適用するようにしてもよい。このようにすることにより、各ビューの復号の負荷の増大を抑制することができる。
  さらに、各ビューの符号化・復号において、第1の実施の形態および第2の実施の形態において上述した方法において使用されるフラグやパラメータを共有するようにしてもよい。このようにすることにより、冗長な情報の伝送を抑制し、伝送する情報量(符号量)を低減することができる(つまり、符号化効率の低減を抑制することができる)。
  より具体的には、例えば、シーケンスパラメータセット、ピクチャパラメータセット、スライスヘッダのシンタクス要素等を、各ビューの符号化・復号において共有するようにしてもよい。
  もちろん、これら以外の必要な情報も、各ビューの符号化・復号において共有するようにしてもよい。
    <多視点画像符号化装置>
  図19は、上述した多視点画像符号化を行う多視点画像符号化装置を示す図である。図19に示されるように、多視点画像符号化装置600は、符号化部601、符号化部602、および多重化部603を有する。
  符号化部601は、ベースビュー画像を符号化し、ベースビュー画像符号化ストリームを生成する。符号化部602は、ノンベースビュー画像を符号化し、ノンベースビュー画像符号化ストリームを生成する。多重化部603は、符号化部601において生成されたベースビュー画像符号化ストリームと、符号化部602において生成されたノンベースビュー画像符号化ストリームとを多重化し、多視点画像符号化ストリームを生成する。
  この多視点画像符号化装置600の符号化部601および符号化部602に対して、画像符号化装置100(図14)を適用することができる。また、符号化部601および符号化部602は、互いに同一のフラグやパラメータを用いて、符号化を行うことができる(すなわち、フラグやパラメータを共有することができる)ので、符号化効率の低減を抑制することができる。
    <多視点画像復号装置>
  図20は、上述した多視点画像復号を行う多視点画像復号装置を示す図である。図20に示されるように、多視点画像復号装置610は、逆多重化部611、復号部612、および復号部613を有する。
  逆多重化部611は、ベースビュー画像符号化ストリームとノンベースビュー画像符号化ストリームとが多重化された多視点画像符号化ストリームを逆多重化し、ベースビュー画像符号化ストリームと、ノンベースビュー画像符号化ストリームとを抽出する。復号部612は、逆多重化部611により抽出されたベースビュー画像符号化ストリームを復号し、ベースビュー画像を得る。復号部613は、逆多重化部611により抽出されたノンベースビュー画像符号化ストリームを復号し、ノンベースビュー画像を得る。
  この多視点画像復号装置610の復号部612および復号部613に対して、画像復号装置300(図16)を適用することができる。つまり、各ビューに対する復号において、符号化データをタイル毎に可逆復号し、得られたタイル毎のブロックデータをピクチャ全体のラスタスキャン順に並べ替え、その順で各ブロックデータに対する変換処理や予測処理等、それ以降の処理を行うことができる。また、復号部612および復号部613は、互いに同一のフラグやパラメータを用いて、復号を行うことができる(すなわち、フラグやパラメータを共有することができる)ので、符号化効率の低減を抑制することができる。
  <5.第4の実施の形態>
    <階層画像符号化・階層画像復号への適用>
  上述した一連の処理は、階層画像符号化・階層画像復号(スケーラブル符号化・スケーラブル復号)に適用することができる。図21は、階層画像符号化方式の一例を示す。
  階層画像符号化(スケーラブル符号化)は、画像データを、所定のパラメータについてスケーラビリティ(scalability)機能を有するように、画像を複数レイヤ化(階層化)し、レイヤ毎に符号化するものである。階層画像復号は、その階層画像符号化(スケーラブル復号)は、その階層画像符号化に対応する復号である。
  図21に示されるように、画像の階層化においては、スケーラビリティ機能を有する所定のパラメータを基準として1の画像が複数の画像(レイヤ)に分割される。つまり、階層化された画像(階層画像)は、その所定のパラメータの値が互いに異なる複数の階層(レイヤ)の画像を含む。この階層画像の複数のレイヤは、他のレイヤの画像を利用せずに自身のレイヤの画像のみを用いて符号化・復号を行うベースレイヤと、他のレイヤの画像を利用して符号化・復号を行うノンベースレイヤ(エンハンスメントレイヤとも称する)とによりなる。ノンベースレイヤは、ベースレイヤの画像を利用するようにしても良いし、他のノンベースレイヤの画像を利用するようにしてもよい。
  一般的に、ノンベースレイヤは、冗長性が低減されるように、自身の画像と、他のレイヤの画像との差分画像のデータ(差分データ)により構成される。例えば、1の画像をベースレイヤとノンベースレイヤ(エンハンスメントレイヤとも称する)に2階層化した場合、ベースレイヤのデータのみで元の画像よりも低品質な画像が得られ、ベースレイヤのデータとノンベースレイヤのデータを合成することで、元の画像(すなわち高品質な画像)が得られる。
  このように画像を階層化することにより、状況に応じて多様な品質の画像を容易に得ることができる。例えば携帯電話のような、処理能力の低い端末に対しては、ベースレイヤ(base layer)のみの画像圧縮情報を伝送し、空間時間解像度の低い、或いは、画質の良くない動画像を再生し、テレビやパーソナルコンピュータのような、処理能力の高い端末に対しては、ベースレイヤ(base layer)に加えて、エンハンスメントレイヤ(enhancement layer)の画像圧縮情報を伝送し、空間時間解像度の高い、或いは、画質の高い動画像を再生するといったように、トランスコード処理を行うことなく、端末やネットワークの能力に応じた画像圧縮情報を、サーバから送信することが可能となる。
  図21の例のような階層画像を符号化・復号する場合、各レイヤの画像を符号化・復号するが、この各レイヤの復号に対して、第2の実施の形態において上述した方法を適用するようにしてもよい。このようにすることにより、各レイヤの復号の負荷の増大を抑制することができる。
  さらに、各レイヤの符号化・復号において、第1の実施の形態および第2の実施の形態において上述した方法において使用されるフラグやパラメータを共有するようにしてもよい。このようにすることにより、冗長な情報の伝送を抑制し、伝送する情報量(符号量)を低減することができる(つまり、符号化効率の低減を抑制することができる)。
  より具体的には、例えば、シーケンスパラメータセット、ピクチャパラメータセット、スライスヘッダのシンタクス要素等を、各レイヤの符号化・復号において共有するようにしてもよい。
  もちろん、これら以外の必要な情報も、各レイヤの符号化・復号において共有するようにしてもよい。
    <スケーラブルなパラメータ>
  このような階層画像符号化・階層画像復号(スケーラブル符号化・スケーラブル復号)において、スケーラビリティ(scalability)機能を有するパラメータは、任意である。例えば、図22に示されるような空間解像度をそのパラメータとしてもよい(spatial scalability)。このスペーシャルスケーラビリティ(spatial scalability)の場合、レイヤ毎に画像の解像度が異なる。つまり、図22に示されるように、各ピクチャが、元の画像より空間的に低解像度のベースレイヤと、ベースレイヤの画像と合成することにより元の画像(元の空間解像度)が得られるエンハンスメントレイヤの2階層に階層化される。もちろん、この階層数は一例であり、任意の階層数に階層化することができる。
  また、このようなスケーラビリティ性を持たせるパラメータとして、他には、例えば、図23に示されるような、時間解像度を適用しても良い(temporal scalability)。このテンポラルスケーラビリティ(temporal scalability)の場合、レイヤ毎にフレームレートが異なる。つまり、この場合、図23に示されるように、互いに異なるフレームレートのレイヤに階層化されており、低フレームレートのレイヤに、高フレームレートのレイヤを加えることで、より高フレームレートの動画像を得ることができ、全てのレイヤを加えることで、元の動画像(元のフレームレート)を得ることができる。この階層数は一例であり、任意の階層数に階層化することができる。
  さらに、このようなスケーラビリティ性を持たせるパラメータとして、例えば、信号雑音比(SNR(Signal to Noise ratio))を適用しても良い(SNR scalability)。このSNRスケーラビリティ(SNR scalability)の場合、レイヤ毎にSN比が異なる。つまり、図24に示されるように、各ピクチャが、元の画像よりSNRの低いベースレイヤと、ベースレイヤの画像と合成することにより元の画像(元のSNR)が得られるエンハンスメントレイヤの2階層に階層化される。すなわち、ベースレイヤ(base layer)画像圧縮情報においては、低PSNRの画像に関する情報が伝送されており、これに、エンハンスメントレイヤ(enhancement layer)画像圧縮情報を加えることで、高PSNR画像を再構築することが可能である。もちろん、この階層数は一例であり、任意の階層数に階層化することができる。
  スケーラビリティ性を持たせるパラメータは、上述した例以外であっても、もちろんよい。例えば、ベースレイヤ(base layer)が8ビット(bit)画像よりなり、これにエンハンスメントレイヤ(enhancement layer)を加えることにより、10ビット(bit)画像が得られるビット深度スケーラビリティ(bit-depth scalability)がある。
  また、ベースレイヤ(base layer)が4:2:0フォーマットのコンポーネント画像よりなり、これにエンハンスメントレイヤ(enhancement layer)を加えることにより、4:2:2フォーマットのコンポーネント画像が得られるクロマスケーラビリティ(chroma scalability)がある。
    <階層画像符号化装置>
  図25は、上述した階層画像符号化を行う階層画像符号化装置を示す図である。図25に示されるように、階層画像符号化装置620は、符号化部621、符号化部622、および多重化部623を有する。
  符号化部621は、ベースレイヤ画像を符号化し、ベースレイヤ画像符号化ストリームを生成する。符号化部622は、ノンベースレイヤ画像を符号化し、ノンベースレイヤ画像符号化ストリームを生成する。多重化部623は、符号化部621において生成されたベースレイヤ画像符号化ストリームと、符号化部622において生成されたノンベースレイヤ画像符号化ストリームとを多重化し、階層画像符号化ストリームを生成する。
  この階層画像符号化装置620の符号化部621および符号化部622に対して、画像符号化装置100(図14)を適用することができる。また、符号化部621および符号化部622は、互いに同一のフラグやパラメータを用いて、イントラ予測のフィルタ処理の制御等を行うことができる(すなわち、フラグやパラメータを共有することができる)ので、符号化効率の低減を抑制することができる。
    <階層画像復号装置>
  図26は、上述した階層画像復号を行う階層画像復号装置を示す図である。図26に示されるように、階層画像復号装置630は、逆多重化部631、復号部632、および復号部633を有する。
  逆多重化部631は、ベースレイヤ画像符号化ストリームとノンベースレイヤ画像符号化ストリームとが多重化された階層画像符号化ストリームを逆多重化し、ベースレイヤ画像符号化ストリームと、ノンベースレイヤ画像符号化ストリームとを抽出する。復号部632は、逆多重化部631により抽出されたベースレイヤ画像符号化ストリームを復号し、ベースレイヤ画像を得る。復号部633は、逆多重化部631により抽出されたノンベースレイヤ画像符号化ストリームを復号し、ノンベースレイヤ画像を得る。
  この階層画像復号装置630の復号部632および復号部633に対して、画像復号装置300(図16)を適用することができる。つまり、各レイヤに対する復号において、符号化データをタイル毎に可逆復号し、得られたタイル毎のブロックデータをピクチャ全体のラスタスキャン順に並べ替え、その順で各ブロックデータに対する変換処理や予測処理等、それ以降の処理を行うことができる。また、復号部612および復号部613は、互いに同一のフラグやパラメータを用いて、復号を行うことができる(すなわち、フラグやパラメータを共有することができる)ので、符号化効率の低減を抑制することができる。
  以上のように、本技術の適用範囲は、画像データの符号化データを復号するあらゆる画像復号装置に適用することができる。
  また、本技術は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本技術は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。
  <6.第5の実施の形態>
    <コンピュータ>
  上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
  図27は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
  図27に示されるコンピュータ800において、CPU(Central Processing Unit)801、ROM(Read Only Memory)802、RAM(Random Access Memory)803は、バス804を介して相互に接続されている。
  バス804にはまた、入出力インタフェース810も接続されている。入出力インタフェース810には、入力部811、出力部812、記憶部813、通信部814、およびドライブ815が接続されている。
  入力部811は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部812は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部813は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部814は、例えば、ネットワークインタフェースよりなる。ドライブ815は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア821を駆動する。
  以上のように構成されるコンピュータでは、CPU801が、例えば、記憶部813に記憶されているプログラムを、入出力インタフェース810およびバス804を介して、RAM803にロードして実行することにより、上述した一連の処理が行われる。RAM803にはまた、CPU801が各種の処理を実行する上において必要なデータなども適宜記憶される。
  コンピュータ(CPU801)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア821に記録して適用することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
  コンピュータでは、プログラムは、リムーバブルメディア821をドライブ815に装着することにより、入出力インタフェース810を介して、記憶部813にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部814で受信し、記憶部813にインストールすることができる。その他、プログラムは、ROM802や記憶部813に、あらかじめインストールしておくことができる。
  なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
  また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
  また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
  また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
  以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
  例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
  また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
  さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
  上述した実施形態に係る画像符号化装置及び画像復号装置は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
  <7.応用例>
    <第1の応用例:テレビジョン受像機>
  図28は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース(I/F)部909、制御部910、ユーザインタフェース(I/F)部911、及びバス912を備える。
  チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
  デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
  デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
  映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
  表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD(Organic ElectroLuminescence Display)(有機ELディスプレイ)など)の映像面上に映像又は画像を表示する。
  音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
  外部インタフェース部909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース部909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース部909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
  制御部910は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
  ユーザインタフェース部911は、制御部910と接続される。ユーザインタフェース部911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
  バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース部909及び制御部910を相互に接続する。
  このように構成されたテレビジョン装置900において、デコーダ904は、上述した実施形態に係る画像復号装置300(図16)の機能を有する。それにより、テレビジョン装置900での画像の復号に際して、負荷の増大を抑制することができる。
    <第2の応用例:携帯電話機>
  図29は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
  アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
  携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
  音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
  また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929の記憶媒体に記憶させる。
  記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB(Universal Serial Bus)メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
  また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記録再生部929の記憶媒体に記憶させる。
  また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
  このように構成された携帯電話機920において、画像処理部927は、上述した実施形態に係る画像復号装置300(図16)の機能を有する。それにより、携帯電話機920での画像の復号に際して、負荷の増大を抑制することができる。
    <第3の応用例:記録再生装置>
  図30は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号する。
  記録再生装置940は、チューナ941、外部インタフェース(I/F)部942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、及びユーザインタフェース(I/F)部950を備える。
  チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送部としての役割を有する。
  外部インタフェース部942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース部942は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース部942を介して受信される映像データ及び音声データは、エンコーダ943へ入力される。即ち、外部インタフェース部942は、記録再生装置940における伝送部としての役割を有する。
  エンコーダ943は、外部インタフェース部942から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
  HDD944は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラムおよびその他のデータを内部のハードディスクに記録する。また、HDD944は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
  ディスクドライブ945は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVDディスク(DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等)又はBlu-ray(登録商標)ディスクなどであってよい。
  セレクタ946は、映像及び音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
  デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ947は、生成した音声データを外部のスピーカへ出力する。
  OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
  制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
  ユーザインタフェース部950は、制御部949と接続される。ユーザインタフェース部950は、例えば、ユーザが記録再生装置940を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
  このように構成された記録再生装置940において、デコーダ947は、上述した実施形態に係る、画像復号装置300(図16)の機能を有する。それにより、記録再生装置940での画像の復号に際して、負荷の増大を抑制することができる。
    <第4の応用例:撮像装置>
  図31は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
  撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース(I/F)部966、メモリ967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース(I/F)部971、及びバス972を備える。
  光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース部971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース部966、メモリ967、メディアドライブ968、OSD969、及び制御部970を相互に接続する。
  光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
  信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
  画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース部966又はメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース部966又はメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
  OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
  外部インタフェース部966は、例えばUSB入出力端子として構成される。外部インタフェース部966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース部966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース部966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース部966は、撮像装置960における伝送部としての役割を有する。
  メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
  制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部971から入力される操作信号に応じて、撮像装置960の動作を制御する。
  ユーザインタフェース部971は、制御部970と接続される。ユーザインタフェース部971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース部971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
  このように構成された撮像装置960において、画像処理部964は、上述した実施形態に係る上述した実施形態に係る画像復号装置300(図16)の機能を有する。それにより、撮像装置960での画像の復号に際して、負荷の増大を抑制することができる。
  <8.スケーラブル符号化の応用例>
    <第1のシステム>
  次に、スケーラブル符号化(階層(画像)符号化)されたスケーラブル符号化データの具体的な利用例について説明する。スケーラブル符号化は、例えば、図32に示される例のように、伝送するデータの選択のために利用される。
  図32に示されるデータ伝送システム1000において、配信サーバ1002は、スケーラブル符号化データ記憶部1001に記憶されているスケーラブル符号化データを読み出し、ネットワーク1003を介して、パーソナルコンピュータ1004、AV機器1005、タブレットデバイス1006、および携帯電話機1007等の端末装置に配信する。
  その際、配信サーバ1002は、端末装置の能力や通信環境等に応じて、適切な品質の符号化データを選択して伝送する。配信サーバ1002が不要に高品質なデータを伝送しても、端末装置において高画質な画像を得られるとは限らず、遅延やオーバフローの発生要因となる恐れがある。また、不要に通信帯域を占有したり、端末装置の負荷を不要に増大させたりしてしまう恐れもある。逆に、配信サーバ1002が不要に低品質なデータを伝送しても、端末装置において十分な画質の画像を得ることができない恐れがある。そのため、配信サーバ1002は、スケーラブル符号化データ記憶部1001に記憶されているスケーラブル符号化データを、適宜、端末装置の能力や通信環境等に対して適切な品質の符号化データとして読み出し、伝送する。
  例えば、スケーラブル符号化データ記憶部1001は、スケーラブルに符号化されたスケーラブル符号化データ(BL+EL)1011を記憶するとする。このスケーラブル符号化データ(BL+EL)1011は、ベースレイヤとエンハンスメントレイヤの両方を含む符号化データであり、復号することにより、ベースレイヤの画像およびエンハンスメントレイヤの画像の両方を得ることができるデータである。
  配信サーバ1002は、データを伝送する端末装置の能力や通信環境等に応じて、適切なレイヤを選択し、そのレイヤのデータを読み出す。例えば、配信サーバ1002は、処理能力の高いパーソナルコンピュータ1004やタブレットデバイス1006に対しては、高品質なスケーラブル符号化データ(BL+EL)1011をスケーラブル符号化データ記憶部1001から読み出し、そのまま伝送する。これに対して、例えば、配信サーバ1002は、処理能力の低いAV機器1005や携帯電話機1007に対しては、スケーラブル符号化データ(BL+EL)1011からベースレイヤのデータを抽出し、スケーラブル符号化データ(BL+EL)1011と同じコンテンツのデータであるが、スケーラブル符号化データ(BL+EL)1011よりも低品質なスケーラブル符号化データ(BL)1012として伝送する。
  このようにスケーラブル符号化データを用いることにより、データ量を容易に調整することができるので、遅延やオーバフローの発生を抑制したり、端末装置や通信媒体の負荷の不要な増大を抑制したりすることができる。また、スケーラブル符号化データ(BL+EL)1011は、レイヤ間の冗長性が低減されているので、各レイヤの符号化データを個別のデータとする場合よりもそのデータ量を低減させることができる。したがって、スケーラブル符号化データ記憶部1001の記憶領域をより効率よく使用することができる。
  なお、パーソナルコンピュータ1004乃至携帯電話機1007のように、端末装置には様々な装置を適用することができるので、端末装置のハードウエアの性能は、装置によって異なる。また、端末装置が実行するアプリケーションも様々であるので、そのソフトウエアの能力も様々である。さらに、通信媒体となるネットワーク1003も、例えばインターネットやLAN(Local Area Network)等、有線若しくは無線、またはその両方を含むあらゆる通信回線網を適用することができ、そのデータ伝送能力は様々である。さらに、他の通信等によっても変化する恐れがある。
  そこで、配信サーバ1002は、データ伝送を開始する前に、データの伝送先となる端末装置と通信を行い、端末装置のハードウエア性能や、端末装置が実行するアプリケーション(ソフトウエア)の性能等といった端末装置の能力に関する情報、並びに、ネットワーク1003の利用可能帯域幅等の通信環境に関する情報を得るようにしてもよい。そして、配信サーバ1002が、ここで得た情報を基に、適切なレイヤを選択するようにしてもよい。
  なお、レイヤの抽出は、端末装置において行うようにしてもよい。例えば、パーソナルコンピュータ1004が、伝送されたスケーラブル符号化データ(BL+EL)1011を復号し、ベースレイヤの画像を表示しても良いし、エンハンスメントレイヤの画像を表示しても良い。また、例えば、パーソナルコンピュータ1004が、伝送されたスケーラブル符号化データ(BL+EL)1011から、ベースレイヤのスケーラブル符号化データ(BL)1012を抽出し、記憶したり、他の装置に転送したり、復号してベースレイヤの画像を表示したりするようにしてもよい。
  もちろん、スケーラブル符号化データ記憶部1001、配信サーバ1002、ネットワーク1003、および端末装置の数はいずれも任意である。また、以上においては、配信サーバ1002がデータを端末装置に伝送する例について説明したが、利用例はこれに限定されない。データ伝送システム1000は、スケーラブル符号化された符号化データを端末装置に伝送する際、端末装置の能力や通信環境等に応じて、適切なレイヤを選択して伝送するシステムであれば、任意のシステムに適用することができる。
  そして、以上のような図32のようなデータ伝送システム1000においても、図21乃至図26を参照して上述した階層符号化・階層復号への適用と同様に本技術を適用することにより、図21乃至図26を参照して上述した効果と同様の効果を得ることができる。
    <第2のシステム>
  また、スケーラブル符号化は、例えば、図33に示される例のように、複数の通信媒体を介する伝送のために利用される。
  図33に示されるデータ伝送システム1100において、放送局1101は、地上波放送1111により、ベースレイヤのスケーラブル符号化データ(BL)1121を伝送する。また、放送局1101は、有線若しくは無線またはその両方の通信網よりなる任意のネットワーク1112を介して、エンハンスメントレイヤのスケーラブル符号化データ(EL)1122を伝送する(例えばパケット化して伝送する)。
  端末装置1102は、放送局1101が放送する地上波放送1111の受信機能を有し、この地上波放送1111を介して伝送されるベースレイヤのスケーラブル符号化データ(BL)1121を受け取る。また、端末装置1102は、ネットワーク1112を介した通信を行う通信機能をさらに有し、このネットワーク1112を介して伝送されるエンハンスメントレイヤのスケーラブル符号化データ(EL)1122を受け取る。
  端末装置1102は、例えばユーザ指示等に応じて、地上波放送1111を介して取得したベースレイヤのスケーラブル符号化データ(BL)1121を、復号してベースレイヤの画像を得たり、記憶したり、他の装置に伝送したりする。
  また、端末装置1102は、例えばユーザ指示等に応じて、地上波放送1111を介して取得したベースレイヤのスケーラブル符号化データ(BL)1121と、ネットワーク1112を介して取得したエンハンスメントレイヤのスケーラブル符号化データ(EL)1122とを合成して、スケーラブル符号化データ(BL+EL)を得たり、それを復号してエンハンスメントレイヤの画像を得たり、記憶したり、他の装置に伝送したりする。
  以上のように、スケーラブル符号化データは、例えばレイヤ毎に異なる通信媒体を介して伝送させることができる。したがって、負荷を分散させることができ、遅延やオーバフローの発生を抑制することができる。
  また、状況に応じて、伝送に使用する通信媒体を、レイヤ毎に選択することができるようにしてもよい。例えば、データ量が比較的多いベースレイヤのスケーラブル符号化データ(BL)1121を帯域幅の広い通信媒体を介して伝送させ、データ量が比較的少ないエンハンスメントレイヤのスケーラブル符号化データ(EL)1122を帯域幅の狭い通信媒体を介して伝送させるようにしてもよい。また、例えば、エンハンスメントレイヤのスケーラブル符号化データ(EL)1122を伝送する通信媒体を、ネットワーク1112とするか、地上波放送1111とするかを、ネットワーク1112の利用可能帯域幅に応じて切り替えるようにしてもよい。もちろん、任意のレイヤのデータについて同様である。
  このように制御することにより、データ伝送における負荷の増大を、より抑制することができる。
  もちろん、レイヤ数は任意であり、伝送に利用する通信媒体の数も任意である。また、データ配信先となる端末装置1102の数も任意である。さらに、以上においては、放送局1101からの放送を例に説明したが、利用例はこれに限定されない。データ伝送システム1100は、スケーラブル符号化された符号化データを、レイヤを単位として複数に分割し、複数の回線を介して伝送するシステムであれば、任意のシステムに適用することができる。
  そして、以上のような図33のようなデータ伝送システム1100においても、図21乃至図26を参照して上述した階層符号化・階層復号への適用と同様に本技術を適用することにより、図21乃至図26を参照して上述した効果と同様の効果を得ることができる。
    <第3のシステム>
  また、スケーラブル符号化は、例えば、図34に示される例のように、符号化データの記憶に利用される。
  図34に示される撮像システム1200において、撮像装置1201は、被写体1211を撮像して得られた画像データをスケーラブル符号化し、スケーラブル符号化データ(BL+EL)1221として、スケーラブル符号化データ記憶装置1202に供給する。
  スケーラブル符号化データ記憶装置1202は、撮像装置1201から供給されるスケーラブル符号化データ(BL+EL)1221を、状況に応じた品質で記憶する。例えば、通常時の場合、スケーラブル符号化データ記憶装置1202は、スケーラブル符号化データ(BL+EL)1221からベースレイヤのデータを抽出し、低品質でデータ量の少ないベースレイヤのスケーラブル符号化データ(BL)1222として記憶する。これに対して、例えば、注目時の場合、スケーラブル符号化データ記憶装置1202は、高品質でデータ量の多いスケーラブル符号化データ(BL+EL)1221のまま記憶する。
  このようにすることにより、スケーラブル符号化データ記憶装置1202は、必要な場合のみ、画像を高画質に保存することができるので、画質劣化による画像の価値の低減を抑制しながら、データ量の増大を抑制することができ、記憶領域の利用効率を向上させることができる。
  例えば、撮像装置1201が監視カメラであるとする。撮像画像に監視対象(例えば侵入者)が写っていない場合(通常時の場合)、撮像画像の内容は重要でない可能性が高いので、データ量の低減が優先され、その画像データ(スケーラブル符号化データ)は、低品質に記憶される。これに対して、撮像画像に監視対象が被写体1211として写っている場合(注目時の場合)、その撮像画像の内容は重要である可能性が高いので、画質が優先され、その画像データ(スケーラブル符号化データ)は、高品質に記憶される。
  なお、通常時であるか注目時であるかは、例えば、スケーラブル符号化データ記憶装置1202が、画像を解析することにより判定しても良い。また、撮像装置1201が判定し、その判定結果をスケーラブル符号化データ記憶装置1202に伝送するようにしてもよい。
  なお、通常時であるか注目時であるかの判定基準は任意であり、判定基準とする画像の内容は任意である。もちろん、画像の内容以外の条件を判定基準とすることもできる。例えば、収録した音声の大きさや波形等に応じて切り替えるようにしてもよいし、所定の時間毎に切り替えるようにしてもよいし、ユーザ指示等の外部からの指示によって切り替えるようにしてもよい。
  また、以上においては、通常時と注目時の2つの状態を切り替える例を説明したが、状態の数は任意であり、例えば、通常時、やや注目時、注目時、非常に注目時等のように、3つ以上の状態を切り替えるようにしてもよい。ただし、この切り替える状態の上限数は、スケーラブル符号化データのレイヤ数に依存する。
  また、撮像装置1201が、スケーラブル符号化のレイヤ数を、状態に応じて決定するようにしてもよい。例えば、通常時の場合、撮像装置1201が、低品質でデータ量の少ないベースレイヤのスケーラブル符号化データ(BL)1222を生成し、スケーラブル符号化データ記憶装置1202に供給するようにしてもよい。また、例えば、注目時の場合、撮像装置1201が、高品質でデータ量の多いベースレイヤのスケーラブル符号化データ(BL+EL)1221を生成し、スケーラブル符号化データ記憶装置1202に供給するようにしてもよい。
  以上においては、監視カメラを例に説明したが、この撮像システム1200の用途は任意であり、監視カメラに限定されない。
  そして、以上の図34のような撮像システム1200においても、図21乃至図26を参照して上述した階層符号化・階層復号への適用と同様に本技術を適用することにより、図21乃至図26を参照して上述した効果と同様の効果を得ることができる。
  なお、本技術は、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択して使用する、例えばMPEG DASH等のようなHTTPストリーミングにも適用することができる。つまり、このような複数の符号化データ間で、符号化や復号に関する情報を共有することもできる。
  また、本明細書では、各種情報が、符号化ストリームに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
  以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
  なお、本技術は以下のような構成も取ることができる。
  (1)  画像データが、ピクチャを複数に分割する所定の領域毎に、前記領域を複数に分割するブロックを処理単位として符号化された符号化データを、前記領域毎に復号する復号部と、
  前記復号部により前記領域毎に得られる前記ブロック毎の前記符号化データの復号結果を、ピクチャ全体のラスタスキャン順に並べ替える並べ替え部と、
  前記並べ替え部によりピクチャ全体のラスタスキャン順に並べ替えられた前記ブロック毎の復号結果を変換して復号画像データを生成する変換部と
  を備える画像復号装置。
  (2)  前記領域は、タイルまたはスライスである
  (1)、(3)乃至(14)のいずれかに記載の画像復号装置。
  (3)  前記並べ替え部は、前記復号結果を記憶する記憶部を有し、前記復号部により前記領域毎に得られた前記ブロック毎の復号結果を前記記憶部に記憶し、前記記憶部から前記ブロック毎の復号結果をピクチャ全体のラスタスキャン順に読み出すことにより、前記ブロック毎の復号結果を並べ替える
  (1)、(2)、(4)乃至(14)のいずれかに記載の画像復号装置。
  (4)  前記記憶部は、前記ブロックに対して固定長領域を割り当て、各ブロックの前記復号結果を、前記ブロックのピクチャにおける位置に対応したアドレスに記憶する
  (1)乃至(3)、(5)乃至(14)のいずれかに記載の画像復号装置。
  (5)  前記記憶部は、各ブロックの前記復号結果を順次記憶し、各ブロックの復号結果の先頭アドレスを管理する
  (1)乃至(4)、(6)乃至(14)のいずれかに記載の画像復号装置。
  (6)  前記記憶部は、各ブロックの前記復号結果を順次記憶し、前記領域の左端の各ブロックの復号結果の先頭アドレスを管理する
  (1)乃至(5)、(7)乃至(14)のいずれかに記載の画像復号装置。
  (7)  前記変換部により生成された前記ブロック毎の復号画像データを、順次フィルタ処理するフィルタ部をさらに備える
  (1)乃至(6)、(8)乃至(14)のいずれかに記載の画像復号装置。
  (8)  前記フィルタ処理は、デブロックフィルタ処理である
  (1)乃至(7)、(9)乃至(14)のいずれかに記載の画像復号装置。
  (9)  前記符号化データは、前記画像データの画像と予測画像との差分画像のデータである差分画像データが符号化されたものであり、
  前記復号部は、前記符号化データを復号することにより、前記復号結果として前記差分画像データを得て、
  前記変換部は、前記予測画像を生成し、生成した前記予測画像を前記差分画像データの差分画像に加算することにより、前記差分画像データを前記復号画像データに変換する
  (1)乃至(8)、(10)乃至(14)のいずれかに記載の画像復号装置。
  (10)  前記符号化データは、前記差分画像データが直交変換されて得られた係数データが符号化されたものであり、
  前記復号部は、前記符号化データを復号することにより、前記復号結果として前記係数データを得て、
  前記変換部は、前記係数データを逆直交変換して前記差分画像データを生成し、前記予測画像を生成し、生成した前記予測画像を生成した前記差分画像データの差分画像に加算することにより、前記係数画像データを前記復号画像データに変換する
  (1)乃至(9)、(11)乃至(14)のいずれかに記載の画像復号装置。
  (11)  前記符号化データは、前記係数データが量子化されて得られた量子化係数データが符号化されたものであり、
  前記復号部は、前記符号化データを復号することにより、前記復号結果として前記量子化係数データを得て、
  前記変換部は、前記量子化係数データを逆量子化して前記係数データを生成し、生成された前記係数データを逆直交変換して前記差分画像データを生成し、前記予測画像を生成し、生成した前記予測画像を生成した前記差分画像データの差分画像に加算することにより、前記量子化係数画像データを前記復号画像データに変換する
  (1)乃至(10)、(12)乃至(14)のいずれかに記載の画像復号装置。
  (12)  前記復号部は、前記符号化データを可逆復号する
  (1)乃至(11)、(13)、(14)のいずれかに記載の画像復号装置。
  (13)  前記復号部は、前記符号化データを可変長復号する
  (1)乃至(12)、(14)のいずれかに記載の画像復号装置。
  (14)  前記復号部は、前記符号化データを算術復号する
  (1)乃至(13)のいずれかに記載の画像復号装置。
  (15)  画像データが、ピクチャを複数に分割する所定の領域毎に、前記領域を複数に分割するブロックを処理単位として符号化された符号化データを、前記領域毎に復号し、
  前記領域毎に得られる前記ブロック毎の前記符号化データの復号結果を、ピクチャ全体のラスタスキャン順に並べ替え、
  ピクチャ全体のラスタスキャン順に並べ替えられた前記ブロック毎の復号結果を変換して復号画像データを生成する
  画像復号方法。
  100  画像符号化装置,  300  画像復号装置,  301  蓄積バッファ,  302  可逆復号部,  303  逆量子化部,  304  逆直交変換部,  305  演算部,  306  ループフィルタ,  307  画面並べ替えバッファ,  308  D/A変換部,  309  フレームメモリ,  310  イントラ予測部,  311  インター予測部,  312  予測画像選択部,  321  並べ替えバッファ

Claims (15)

  1.   画像データが、ピクチャを複数に分割する所定の領域毎に、前記領域を複数に分割するブロックを処理単位として符号化された符号化データを、前記領域毎に復号する復号部と、
      前記復号部により前記領域毎に得られる前記ブロック毎の前記符号化データの復号結果を、ピクチャ全体のラスタスキャン順に並べ替える並べ替え部と、
      前記並べ替え部によりピクチャ全体のラスタスキャン順に並べ替えられた前記ブロック毎の復号結果を変換して復号画像データを生成する変換部と
      を備える画像復号装置。
  2.   前記領域は、タイルまたはスライスである
      請求項1に記載の画像復号装置。
  3.   前記並べ替え部は、前記復号結果を記憶する記憶部を有し、前記復号部により前記領域毎に得られた前記ブロック毎の復号結果を前記記憶部に記憶し、前記記憶部から前記ブロック毎の復号結果をピクチャ全体のラスタスキャン順に読み出すことにより、前記ブロック毎の復号結果を並べ替える
      請求項1に記載の画像復号装置。
  4.   前記記憶部は、前記ブロックに対して固定長領域を割り当て、各ブロックの前記復号結果を、前記ブロックのピクチャにおける位置に対応したアドレスに記憶する
      請求項3に記載の画像復号装置。
  5.   前記記憶部は、各ブロックの前記復号結果を順次記憶し、各ブロックの復号結果の先頭アドレスを管理する
      請求項3に記載の画像復号装置。
  6.   前記記憶部は、各ブロックの前記復号結果を順次記憶し、前記領域の左端の各ブロックの復号結果の先頭アドレスを管理する
      請求項3に記載の画像復号装置。
  7.   前記変換部により生成された前記ブロック毎の復号画像データを、順次フィルタ処理するフィルタ部をさらに備える
      請求項1に記載の画像復号装置。
  8.   前記フィルタ処理は、デブロックフィルタ処理である
      請求項7に記載の画像復号装置。
  9.   前記符号化データは、前記画像データの画像と予測画像との差分画像のデータである差分画像データが符号化されたものであり、
      前記復号部は、前記符号化データを復号することにより、前記復号結果として前記差分画像データを得て、
      前記変換部は、前記予測画像を生成し、生成した前記予測画像を前記差分画像データの差分画像に加算することにより、前記差分画像データを前記復号画像データに変換する
      請求項1に記載の画像復号装置。
  10.   前記符号化データは、前記差分画像データが直交変換されて得られた係数データが符号化されたものであり、
      前記復号部は、前記符号化データを復号することにより、前記復号結果として前記係数データを得て、
      前記変換部は、前記係数データを逆直交変換して前記差分画像データを生成し、前記予測画像を生成し、生成した前記予測画像を生成した前記差分画像データの差分画像に加算することにより、前記係数画像データを前記復号画像データに変換する
      請求項9に記載の画像復号装置。
  11.   前記符号化データは、前記係数データが量子化されて得られた量子化係数データが符号化されたものであり、
      前記復号部は、前記符号化データを復号することにより、前記復号結果として前記量子化係数データを得て、
      前記変換部は、前記量子化係数データを逆量子化して前記係数データを生成し、生成された前記係数データを逆直交変換して前記差分画像データを生成し、前記予測画像を生成し、生成した前記予測画像を生成した前記差分画像データの差分画像に加算することにより、前記量子化係数画像データを前記復号画像データに変換する
      請求項10に記載の画像復号装置。
  12.   前記復号部は、前記符号化データを可逆復号する
      請求項1に記載の画像復号装置。
  13.   前記復号部は、前記符号化データを可変長復号する
      請求項12に記載の画像復号装置。
  14.   前記復号部は、前記符号化データを算術復号する
      請求項12に記載の画像復号装置。
  15.   画像データが、ピクチャを複数に分割する所定の領域毎に、前記領域を複数に分割するブロックを処理単位として符号化された符号化データを、前記領域毎に復号し、
      前記領域毎に得られる前記ブロック毎の前記符号化データの復号結果を、ピクチャ全体のラスタスキャン順に並べ替え、
      ピクチャ全体のラスタスキャン順に並べ替えられた前記ブロック毎の復号結果を変換して復号画像データを生成する
      画像復号方法。
PCT/JP2014/056831 2013-03-29 2014-03-14 画像復号装置および方法 WO2014156708A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/774,768 US9930353B2 (en) 2013-03-29 2014-03-14 Image decoding device and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013074759 2013-03-29
JP2013-074759 2013-03-29

Publications (1)

Publication Number Publication Date
WO2014156708A1 true WO2014156708A1 (ja) 2014-10-02

Family

ID=51623690

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/056831 WO2014156708A1 (ja) 2013-03-29 2014-03-14 画像復号装置および方法

Country Status (2)

Country Link
US (1) US9930353B2 (ja)
WO (1) WO2014156708A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015012410A (ja) * 2013-06-28 2015-01-19 ルネサスエレクトロニクス株式会社 画像復号装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5914962B2 (ja) * 2010-04-09 2016-05-11 ソニー株式会社 画像処理装置および方法、プログラム、並びに、記録媒体
WO2014156708A1 (ja) * 2013-03-29 2014-10-02 ソニー株式会社 画像復号装置および方法
US20180278948A1 (en) * 2017-03-23 2018-09-27 Qualcomm Incorporated Tile-based processing for video coding
CN118200565A (zh) * 2018-12-07 2024-06-14 松下电器(美国)知识产权公司 编码装置、解码装置和非暂时性的计算机可读介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006279574A (ja) * 2005-03-29 2006-10-12 Sanyo Electric Co Ltd 復号装置と方法
US20130070849A1 (en) * 2008-08-31 2013-03-21 Netlogic Microsystems, Inc. Method and Device for Reordering Video Information

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003046952A (ja) * 2001-08-02 2003-02-14 Matsushita Electric Ind Co Ltd 画像復号装置、コンピュータ読取可能な記録媒体、プログラム
US7236177B2 (en) * 2001-12-04 2007-06-26 Qualcomm Incorporated Processing digital video data
US7421130B2 (en) * 2004-06-25 2008-09-02 Seiko Epson Corporation Method and apparatus for storing image data using an MCU buffer
US7804435B2 (en) * 2006-08-31 2010-09-28 Ati Technologies Ulc Video decoder with reduced power consumption and method thereof
JP5347849B2 (ja) * 2009-09-01 2013-11-20 ソニー株式会社 画像符号化装置、画像受信装置、画像符号化方法及び画像受信方法
US9300976B2 (en) * 2011-01-14 2016-03-29 Cisco Technology, Inc. Video encoder/decoder, method and computer program product that process tiles of video data
TWI455593B (zh) * 2011-05-20 2014-10-01 Alpha Imaging Technology Corp 像素資料壓縮/解壓縮方法
US8774540B2 (en) * 2012-04-20 2014-07-08 Broadcom Corporation Tile support in decoders
US9270994B2 (en) * 2012-06-29 2016-02-23 Cisco Technology, Inc. Video encoder/decoder, method and computer program product that process tiles of video data
WO2014156708A1 (ja) * 2013-03-29 2014-10-02 ソニー株式会社 画像復号装置および方法
US9736488B2 (en) * 2013-11-27 2017-08-15 Nxp Usa, Inc. Decoding for high efficiency video transcoding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006279574A (ja) * 2005-03-29 2006-10-12 Sanyo Electric Co Ltd 復号装置と方法
US20130070849A1 (en) * 2008-08-31 2013-03-21 Netlogic Microsystems, Inc. Method and Device for Reordering Video Information

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HENDRY ET AL.: "AHG 4: Asynchronous Tile Output", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, DOCUMENT: JCTVC-J0206, July 2012 (2012-07-01), Retrieved from the Internet <URL:http://phenix.it-sudparis.eu/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J0206-v1.zip> [retrieved on 20140520] *
SULLIVAN, G.J. ET AL.: "Video Compression - From Concepts to the H.264/AVC Standard", PROCEEDINGS OF THE IEEE, vol. 93, no. 1, January 2005 (2005-01-01), pages 18 - 31 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015012410A (ja) * 2013-06-28 2015-01-19 ルネサスエレクトロニクス株式会社 画像復号装置
US9800874B2 (en) 2013-06-28 2017-10-24 Renesas Electronics Corporation Image decoding apparatus executing successive tile decoding and filtering around tile boundary

Also Published As

Publication number Publication date
US20160044323A1 (en) 2016-02-11
US9930353B2 (en) 2018-03-27

Similar Documents

Publication Publication Date Title
JP6780761B2 (ja) 画像符号化装置および方法
US10142634B2 (en) Image processing apparatus and method
WO2014002896A1 (ja) 符号化装置および符号化方法、復号装置および復号方法
US20230055659A1 (en) Image processing device and method using adaptive offset filter in units of largest coding unit
JP6287035B2 (ja) 復号装置および復号方法
WO2014050676A1 (ja) 画像処理装置および方法
WO2013137047A1 (ja) 画像処理装置および方法
WO2014050731A1 (ja) 画像処理装置および方法
WO2015098561A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
WO2016147836A1 (ja) 画像処理装置および方法
WO2013108688A1 (ja) 画像処理装置および方法
WO2014156708A1 (ja) 画像復号装置および方法
WO2014103764A1 (ja) 画像処理装置および方法
JP6477930B2 (ja) 符号化装置および符号化方法
WO2014141899A1 (ja) 画像処理装置および方法
WO2014002900A1 (ja) 画像処理装置および画像処理方法
WO2015098563A1 (ja) 画像符号化装置および方法、並びに画像復号装置および方法
WO2014156707A1 (ja) 画像符号化装置および方法、並びに、画像復号装置および方法
WO2014141964A1 (ja) 画像処理装置および方法
WO2014156705A1 (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: 14774377

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14774768

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14774377

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP